summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authordante <dante@NetBSD.org>2000-04-30 18:52:14 +0000
committerdante <dante@NetBSD.org>2000-04-30 18:52:14 +0000
commit1dbea6c0f9735fa208f0d09565b34a62b9aa1648 (patch)
tree208fff6023ba39553a7400a52e6590e2b4583c6c /sys/dev
parentff84aeb762c982848b553b64400dae8f193ee77e (diff)
Add new microcode for all of the supported boards.
Fix minor glitches. Add preliminary support for ASB-3940U3W host adapters; it might work w/ autotermination on. ASB-3940U3W support is not yet tested due to lack of board.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/adw.c56
-rw-r--r--sys/dev/ic/adw.h9
-rw-r--r--sys/dev/ic/adwlib.c1304
-rw-r--r--sys/dev/ic/adwlib.h315
-rw-r--r--sys/dev/ic/adwmcode.c1678
-rw-r--r--sys/dev/ic/adwmcode.h6
-rw-r--r--sys/dev/pci/adw_pci.c28
7 files changed, 2462 insertions, 934 deletions
diff --git a/sys/dev/ic/adw.c b/sys/dev/ic/adw.c
index 86cf1c5057c..2520f8880ad 100644
--- a/sys/dev/ic/adw.c
+++ b/sys/dev/ic/adw.c
@@ -1,4 +1,4 @@
-/* $NetBSD: adw.c,v 1.15 2000/03/23 07:01:28 thorpej Exp $ */
+/* $NetBSD: adw.c,v 1.16 2000/04/30 18:52:15 dante Exp $ */
/*
* Generic driver for the Advanced Systems Inc. SCSI controllers
@@ -535,9 +535,22 @@ adw_init(sc)
} else {
AdvResetChip(sc->sc_iot, sc->sc_ioh);
- warn_code = (sc->chip_type == ADV_CHIP_ASC3550)?
- AdvInitFrom3550EEP(sc) :
- AdvInitFrom38C0800EEP(sc);
+ switch(sc->chip_type) {
+ case ADV_CHIP_ASC3550:
+ warn_code = AdvInitFrom3550EEP(sc);
+ break;
+
+ case ADV_CHIP_ASC38C0800:
+ warn_code = AdvInitFrom38C0800EEP(sc);
+ break;
+
+ case ADV_CHIP_ASC38C1600:
+ warn_code = AdvInitFrom38C1600EEP(sc);
+ break;
+
+ default:
+ return -1;
+ }
if (warn_code & ASC_WARN_EEPROM_CHKSUM)
printf("%s: Bad checksum found. "
@@ -552,7 +565,7 @@ adw_init(sc)
sc->isr_callback = (ADW_CALLBACK) adw_isr_callback;
sc->async_callback = (ADW_CALLBACK) adw_async_callback;
- return (0);
+ return 0;
}
@@ -612,11 +625,25 @@ adw_attach(sc)
/*
- * Initialize the ASC3550.
+ * Initialize the adapter
*/
- error = (sc->chip_type == ADV_CHIP_ASC3550)?
- AdvInitAsc3550Driver(sc) :
- AdvInitAsc38C0800Driver(sc);
+ switch(sc->chip_type) {
+ case ADV_CHIP_ASC3550:
+ error = AdvInitAsc3550Driver(sc);
+ break;
+
+ case ADV_CHIP_ASC38C0800:
+ error = AdvInitAsc38C0800Driver(sc);
+ break;
+
+ case ADV_CHIP_ASC38C1600:
+ error = AdvInitAsc38C1600Driver(sc);
+ break;
+
+ default:
+ return;
+ }
+
switch (error) {
case ASC_IERR_MCODE_CHKSUM:
panic("%s: Microcode checksum error",
@@ -837,8 +864,13 @@ adw_build_req(xs, ccb, flags)
/*
* Set CDB length and copy it to the request structure.
+ * For wide boards a CDB length maximum of 16 bytes
+ * is supported.
*/
- bcopy(xs->cmd, &scsiqp->cdb, scsiqp->cdb_len = xs->cmdlen);
+ bcopy(xs->cmd, &scsiqp->cdb, ((scsiqp->cdb_len = xs->cmdlen) <= 12)?
+ xs->cmdlen : 12 );
+ if(xs->cmdlen > 12)
+ bcopy(&(xs->cmd[12]), &scsiqp->cdb16, xs->cmdlen - 12);
scsiqp->target_id = sc_link->scsipi_scsi.target;
scsiqp->target_lun = sc_link->scsipi_scsi.lun;
@@ -981,9 +1013,11 @@ adw_intr(arg)
*/
if ((xs = TAILQ_FIRST(&sc->sc_queue)) != NULL)
(void) adw_scsi_cmd(xs);
+
+ return (1);
}
- return (1);
+ return (0);
}
diff --git a/sys/dev/ic/adw.h b/sys/dev/ic/adw.h
index a7654c543d8..ea3c0565792 100644
--- a/sys/dev/ic/adw.h
+++ b/sys/dev/ic/adw.h
@@ -1,4 +1,4 @@
-/* $NetBSD: adw.h,v 1.5 2000/02/03 20:29:15 dante Exp $ */
+/* $NetBSD: adw.h,v 1.6 2000/04/30 18:52:15 dante Exp $ */
/*
* Generic driver definitions and exported functions for the Advanced
@@ -80,10 +80,11 @@ typedef struct adw_carrier ADW_CARRIER;
/*
* Mask used to eliminate low 4 bits of carrier 'next_vpa' field.
*/
-#define ASC_NEXT_VPA_MASK 0xFFFFFFF0
+#define ASC_NEXT_VPA_MASK 0xFFFFFFF0
-#define ASC_RQ_DONE 0x00000001
-#define ASC_CQ_STOPPER 0x00000000
+#define ASC_RQ_DONE 0x00000001
+#define ASC_RQ_GOOD 0x00000002
+#define ASC_CQ_STOPPER 0x00000000
#define ASC_GET_CARRP(carrp) ((carrp) & ASC_NEXT_VPA_MASK)
diff --git a/sys/dev/ic/adwlib.c b/sys/dev/ic/adwlib.c
index 51015a6ed98..38634730abf 100644
--- a/sys/dev/ic/adwlib.c
+++ b/sys/dev/ic/adwlib.c
@@ -1,4 +1,4 @@
-/* $NetBSD: adwlib.c,v 1.9 2000/02/04 16:23:14 dante Exp $ */
+/* $NetBSD: adwlib.c,v 1.10 2000/04/30 18:52:15 dante Exp $ */
/*
* Low level routines for the Advanced Systems Inc. SCSI controllers chips
@@ -42,7 +42,7 @@
/*
* advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
*
- * Copyright (c) 1995-1999 Advanced System Products, Inc.
+ * Copyright (c) 1995-2000 Advanced System Products, Inc.
* All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -83,12 +83,16 @@ static u_int16_t AdvGet3550EEPConfig __P((bus_space_tag_t, bus_space_handle_t,
ADW_EEP_3550_CONFIG *));
static u_int16_t AdvGet38C0800EEPConfig __P((bus_space_tag_t, bus_space_handle_t,
ADW_EEP_38C0800_CONFIG *));
+static u_int16_t AdvGet38C1600EEPConfig __P((bus_space_tag_t, bus_space_handle_t,
+ ADW_EEP_38C1600_CONFIG *));
static u_int16_t AdvReadEEPWord __P((bus_space_tag_t, bus_space_handle_t, int));
static void AdvWaitEEPCmd __P((bus_space_tag_t, bus_space_handle_t));
static void AdvSet3550EEPConfig __P((bus_space_tag_t, bus_space_handle_t,
ADW_EEP_3550_CONFIG *));
static void AdvSet38C0800EEPConfig __P((bus_space_tag_t, bus_space_handle_t,
ADW_EEP_38C0800_CONFIG *));
+static void AdvSet38C1600EEPConfig __P((bus_space_tag_t, bus_space_handle_t,
+ ADW_EEP_38C1600_CONFIG *));
static void AdvInquiryHandling __P((ADW_SOFTC *, ADW_SCSI_REQ_Q *));
static void AdvSleepMilliSecond __P((u_int32_t));
@@ -206,6 +210,71 @@ Default_38C0800_EEPROM_Config = {
0 /* 63 reserved */
};
+static ADW_EEP_38C1600_CONFIG
+Default_38C1600_EEPROM_Config = {
+ ADW_EEPROM_BIOS_ENABLE, /* 00 cfg_lsw */
+ 0x0000, /* 01 cfg_msw */
+ 0xFFFF, /* 02 disc_enable */
+ 0xFFFF, /* 03 wdtr_able */
+ 0x5555, /* 04 sdtr_speed1 */
+ 0xFFFF, /* 05 start_motor */
+ 0xFFFF, /* 06 tagqng_able */
+ 0xFFFF, /* 07 bios_scan */
+ 0, /* 08 scam_tolerant */
+ 7, /* 09 adapter_scsi_id */
+ 0, /* bios_boot_delay */
+ 3, /* 10 scsi_reset_delay */
+ 0, /* bios_id_lun */
+ 0, /* 11 termination_se */
+ 0, /* termination_lvd */
+ 0xFFE7, /* 12 bios_ctrl */
+ 0x5555, /* 13 sdtr_speed2 */
+ 0x5555, /* 14 sdtr_speed3 */
+ ASC_DEF_MAX_HOST_QNG, /* 15 max_host_qng */
+ ASC_DEF_MAX_DVC_QNG, /* max_dvc_qng */
+ 0, /* 16 dvc_cntl */
+ 0x5555, /* 17 sdtr_speed4 */
+ 0, /* 18 serial_number_word1 */
+ 0, /* 19 serial_number_word2 */
+ 0, /* 20 serial_number_word3 */
+ 0, /* 21 check_sum */
+ { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, /* 22-29 oem_name[16] */
+ 0, /* 30 dvc_err_code */
+ 0, /* 31 adv_err_code */
+ 0, /* 32 adv_err_addr */
+ 0, /* 33 saved_dvc_err_code */
+ 0, /* 34 saved_adv_err_code */
+ 0, /* 35 saved_adv_err_addr */
+ 0, /* 36 reserved */
+ 0, /* 37 reserved */
+ 0, /* 38 reserved */
+ 0, /* 39 reserved */
+ 0, /* 40 reserved */
+ 0, /* 41 reserved */
+ 0, /* 42 reserved */
+ 0, /* 43 reserved */
+ 0, /* 44 reserved */
+ 0, /* 45 reserved */
+ 0, /* 46 reserved */
+ 0, /* 47 reserved */
+ 0, /* 48 reserved */
+ 0, /* 49 reserved */
+ 0, /* 50 reserved */
+ 0, /* 51 reserved */
+ 0, /* 52 reserved */
+ 0, /* 53 reserved */
+ 0, /* 54 reserved */
+ 0, /* 55 reserved */
+ 0, /* 56 cisptr_lsw */
+ 0, /* 57 cisprt_msw */
+ PCI_VENDOR_ADVSYS, /* 58 subsysvid */
+ PCI_PRODUCT_ADVSYS_U3W, /* 59 subsysid */
+ 0, /* 60 reserved */
+ 0, /* 61 reserved */
+ 0, /* 62 reserved */
+ 0 /* 63 reserved */
+};
+
/*
* Initialize the ASC3550.
*
@@ -247,7 +316,7 @@ ADW_SOFTC *sc;
* that a chip reset does not clear RISC LRAM.
*/
for (i = 0; i < ASC_MC_BIOSLEN/2; i++) {
- ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_BIOSMEM + (2*i), bios_mem[i]);
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_BIOSMEM+(2*i), bios_mem[i]);
}
/*
@@ -314,7 +383,7 @@ ADW_SOFTC *sc;
word++;
} else {
ADW_WRITE_WORD_AUTO_INC_LRAM(iot, ioh, (((u_int16_t)
- adv_asc3550_mcode[(adv_asc3550_mcode[i] * 2) + 1] <<8) |
+ adv_asc3550_mcode[(adv_asc3550_mcode[i] * 2) + 1] <<8)|
adv_asc3550_mcode[adv_asc3550_mcode[i] * 2]));
word++;
}
@@ -389,11 +458,6 @@ ADW_SOFTC *sc;
* to ignore DMA parity errors.
*/
if (sc->cfg.control_flag & CONTROL_FLAG_IGNORE_PERR) {
- /*
- * Note: Don't remove the use of a temporary variable in
- * the following code, otherwise some C compiler
- * might turn the following lines into a no-op.
- */
ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
word |= CONTROL_FLAG_IGNORE_PERR;
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
@@ -488,8 +552,8 @@ ADW_SOFTC *sc;
* after it is started below.
*/
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_DEFAULT_SCSI_CFG0,
- ADW_PARITY_EN | ADW_SEL_TMO_LONG | ADW_OUR_ID_EN |
- sc->chip_scsi_id);
+ ADW_PARITY_EN | ADW_QUEUE_128 | ADW_SEL_TMO_LONG |
+ ADW_OUR_ID_EN | sc->chip_scsi_id);
/*
* Determine SCSI_CFG1 Microcode Default Value.
@@ -505,7 +569,7 @@ ADW_SOFTC *sc;
* If all three connectors are in use, return an error.
*/
if ((scsi_cfg1 & CABLE_ILLEGAL_A) == 0 ||
- (scsi_cfg1 & CABLE_ILLEGAL_B) == 0) {
+ (scsi_cfg1 & CABLE_ILLEGAL_B) == 0) {
return ASC_IERR_ILLEGAL_CONNECTION;
}
@@ -537,15 +601,19 @@ ADW_SOFTC *sc;
*/
if (sc->cfg.termination == 0) {
/*
- * The software always controls termination by setting TERM_CTL_SEL.
- * If TERM_CTL_SEL were set to 0, the hardware would set termination.
+ * The software always controls termination by setting
+ * TERM_CTL_SEL.
+ * If TERM_CTL_SEL were set to 0, the hardware would set
+ * termination.
*/
sc->cfg.termination |= ADW_TERM_CTL_SEL;
switch(scsi_cfg1 & ADW_CABLE_DETECT) {
/* TERM_CTL_H: on, TERM_CTL_L: on */
- case 0x3: case 0x7: case 0xB: case 0xD: case 0xE: case 0xF:
- sc->cfg.termination |= (ADW_TERM_CTL_H | ADW_TERM_CTL_L);
+ case 0x3: case 0x7: case 0xB:
+ case 0xD: case 0xE: case 0xF:
+ sc->cfg.termination |=
+ (ADW_TERM_CTL_H | ADW_TERM_CTL_L);
break;
/* TERM_CTL_H: on, TERM_CTL_L: off */
@@ -655,11 +723,6 @@ ADW_SOFTC *sc;
ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_INTR_ENABLES,
(ADW_INTR_ENABLE_HOST_INTR | ADW_INTR_ENABLE_GLOBAL_INTR));
- /*
- * Note: Don't remove the use of a temporary variable in
- * the following code, otherwise some C compiler
- * might turn the following lines into a no-op.
- */
ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CODE_BEGIN_ADDR, word);
ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_PC, word);
@@ -954,11 +1017,6 @@ ADW_SOFTC *sc;
* to ignore DMA parity errors.
*/
if (sc->cfg.control_flag & CONTROL_FLAG_IGNORE_PERR) {
- /*
- * Note: Don't remove the use of a temporary variable in
- * the following code, otherwise some C compiler
- * might turn the following lines into a no-op.
- */
ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
word |= CONTROL_FLAG_IGNORE_PERR;
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
@@ -1014,8 +1072,8 @@ ADW_SOFTC *sc;
* after it is started below.
*/
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_DEFAULT_SCSI_CFG0,
- ADW_PARITY_EN | ADW_SEL_TMO_LONG | ADW_OUR_ID_EN |
- sc->chip_scsi_id);
+ ADW_PARITY_EN | ADW_QUEUE_128 | ADW_SEL_TMO_LONG |
+ ADW_OUR_ID_EN | sc->chip_scsi_id);
/*
* Determine SCSI_CFG1 Microcode Default Value.
@@ -1214,8 +1272,542 @@ ADW_SOFTC *sc;
/*
* Restore per TID negotiated values.
*/
- ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_WDTR_ABLE, wdtr_able);
- ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_ABLE, sdtr_able);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_WDTR_ABLE,
+ wdtr_able);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_ABLE,
+ sdtr_able);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_TAGQNG_ABLE,
+ tagqng_able);
+ for (tid = 0; tid <= ADW_MAX_TID; tid++) {
+ ADW_WRITE_BYTE_LRAM(iot, ioh,
+ ASC_MC_NUMBER_OF_MAX_CMD + tid,
+ max_cmd[tid]);
+ }
+ } else {
+ if (AdvResetCCB(sc) != ADW_TRUE) {
+ warn_code = ASC_WARN_BUSRESET_ERROR;
+ }
+ }
+ }
+
+ return warn_code;
+}
+
+
+/*
+ * Initialize the ASC-38C1600.
+ *
+ * On failure set the ASC_DVC_VAR field 'err_code' and return ADV_ERROR.
+ *
+ * For a non-fatal error return a warning code. If there are no warnings
+ * then 0 is returned.
+ */
+int
+AdvInitAsc38C1600Driver(sc)
+ADW_SOFTC *sc;
+{
+ bus_space_tag_t iot = sc->sc_iot;
+ bus_space_handle_t ioh = sc->sc_ioh;
+ u_int16_t warn_code;
+ u_int32_t sum;
+ int begin_addr;
+ int end_addr;
+ u_int16_t code_sum;
+ int word;
+ int i, j;
+ int adv_asc38C1600_expanded_size;
+ u_int16_t scsi_cfg1;
+ u_int8_t byte;
+ u_int8_t tid;
+ u_int16_t bios_mem[ASC_MC_BIOSLEN/2]; /* BIOS RISC Memory
+ 0x40-0x8F. */
+ u_int16_t wdtr_able, sdtr_able, ppr_able, tagqng_able;
+ u_int8_t max_cmd[ADW_MAX_TID + 1];
+
+
+ warn_code = 0;
+
+
+ /*
+ * Save the RISC memory BIOS region before writing the microcode.
+ * The BIOS may already be loaded and using its RISC LRAM region
+ * so its region must be saved and restored.
+ *
+ * Note: This code makes the assumption, which is currently true,
+ * that a chip reset does not clear RISC LRAM.
+ */
+ for (i = 0; i < ASC_MC_BIOSLEN/2; i++) {
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_BIOSMEM + (2 * i), bios_mem[i]);
+ }
+
+ /*
+ * Save current per TID negotiated values.
+ */
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_WDTR_ABLE, wdtr_able);
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_SDTR_ABLE, sdtr_able);
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_PPR_ABLE, ppr_able);
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_TAGQNG_ABLE, tagqng_able);
+ for (tid = 0; tid <= ADW_MAX_TID; tid++) {
+ ADW_READ_BYTE_LRAM(iot, ioh, ASC_MC_NUMBER_OF_MAX_CMD + tid,
+ max_cmd[tid]);
+ }
+
+ /*
+ * RAM BIST (RAM Built-In Self Test)
+ *
+ * Address : I/O base + offset 0x38h register (byte).
+ * Function: Bit 7-6(RW) : RAM mode
+ * Normal Mode : 0x00
+ * Pre-test Mode : 0x40
+ * RAM Test Mode : 0x80
+ * Bit 5 : unused
+ * Bit 4(RO) : Done bit
+ * Bit 3-0(RO) : Status
+ * Host Error : 0x08
+ * Int_RAM Error : 0x04
+ * RISC Error : 0x02
+ * SCSI Error : 0x01
+ * No Error : 0x00
+ *
+ * Note: RAM BIST code should be put right here, before loading the
+ * microcode and after saving the RISC memory BIOS region.
+ */
+
+ /*
+ * LRAM Pre-test
+ *
+ * Write PRE_TEST_MODE (0x40) to register and wait for 10 milliseconds.
+ * If Done bit not set or low nibble not PRE_TEST_VALUE (0x05), return
+ * an error. Reset to NORMAL_MODE (0x00) and do again. If cannot reset
+ * to NORMAL_MODE, return an error too.
+ */
+ for (i = 0; i < 2; i++) {
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_RAM_BIST, PRE_TEST_MODE);
+ AdvSleepMilliSecond(10); /* Wait for 10ms before reading back. */
+ byte = ADW_READ_BYTE_REGISTER(iot, ioh, IOPB_RAM_BIST);
+ if ((byte & RAM_TEST_DONE) == 0 || (byte & 0x0F) !=
+ PRE_TEST_VALUE) {
+ return ASC_IERR_BIST_PRE_TEST;
+ }
+
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_RAM_BIST, NORMAL_MODE);
+ AdvSleepMilliSecond(10); /* Wait for 10ms before reading back. */
+ if (ADW_READ_BYTE_REGISTER(iot, ioh, IOPB_RAM_BIST)
+ != NORMAL_VALUE) {
+ return ASC_IERR_BIST_PRE_TEST;
+ }
+ }
+
+ /*
+ * LRAM Test - It takes about 1.5 ms to run through the test.
+ *
+ * Write RAM_TEST_MODE (0x80) to register and wait for 10 milliseconds.
+ * If Done bit not set or Status not 0, save register byte, set the
+ * err_code, and return an error.
+ */
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_RAM_BIST, RAM_TEST_MODE);
+ AdvSleepMilliSecond(10); /* Wait for 10ms before checking status. */
+
+ byte = ADW_READ_BYTE_REGISTER(iot, ioh, IOPB_RAM_BIST);
+ if ((byte & RAM_TEST_DONE) == 0 || (byte & RAM_TEST_STATUS) != 0) {
+ /* Get here if Done bit not set or Status not 0. */
+ return ASC_IERR_BIST_RAM_TEST;
+ }
+
+ /* We need to reset back to normal mode after LRAM test passes. */
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_RAM_BIST, NORMAL_MODE);
+
+
+ /*
+ * Load the Microcode
+ *
+ * Write the microcode image to RISC memory starting at address 0.
+ *
+ */
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_RAM_ADDR, 0);
+
+ /* Assume the following compressed format of the microcode buffer:
+ *
+ * 254 word (508 byte) table indexed by byte code followed
+ * by the following byte codes:
+ *
+ * 1-Byte Code:
+ * 00: Emit word 0 in table.
+ * 01: Emit word 1 in table.
+ * .
+ * FD: Emit word 253 in table.
+ *
+ * Multi-Byte Code:
+ * FE WW WW: (3 byte code) Word to emit is the next word WW WW.
+ * FF BB WW WW: (4 byte code) Emit BB count times next word WW WW.
+ */
+ word = 0;
+ for (i = 253 * 2; i < adv_asc38C1600_mcode_size; i++) {
+ if (adv_asc38C1600_mcode[i] == 0xff) {
+ for (j = 0; j < adv_asc38C1600_mcode[i + 1]; j++) {
+ ADW_WRITE_WORD_AUTO_INC_LRAM(iot, ioh,
+ (((u_int16_t)
+ adv_asc38C1600_mcode[i + 3] << 8) |
+ adv_asc38C1600_mcode[i + 2]));
+ word++;
+ }
+ i += 3;
+ } else if (adv_asc38C1600_mcode[i] == 0xfe) {
+ ADW_WRITE_WORD_AUTO_INC_LRAM(iot, ioh, (((u_int16_t)
+ adv_asc38C1600_mcode[i + 2] << 8) |
+ adv_asc38C1600_mcode[i + 1]));
+ i += 2;
+ word++;
+ } else {
+ ADW_WRITE_WORD_AUTO_INC_LRAM(iot, ioh, (((u_int16_t)
+ adv_asc38C1600_mcode[(adv_asc38C1600_mcode[i] * 2) + 1] << 8) |
+ adv_asc38C1600_mcode[adv_asc38C1600_mcode[i] * 2]));
+ word++;
+ }
+ }
+
+ /*
+ * Set 'word' for later use to clear the rest of memory and save
+ * the expanded mcode size.
+ */
+ word *= 2;
+ adv_asc38C1600_expanded_size = word;
+
+ /*
+ * Clear the rest of ASC-38C0800 Internal RAM (16KB).
+ */
+ for (; word < ADV_38C1600_MEMSIZE; word += 2) {
+ ADW_WRITE_WORD_AUTO_INC_LRAM(iot, ioh, 0);
+ }
+
+ /*
+ * Verify the microcode checksum.
+ */
+ sum = 0;
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_RAM_ADDR, 0);
+
+ for (word = 0; word < adv_asc38C1600_expanded_size; word += 2) {
+ sum += ADW_READ_WORD_AUTO_INC_LRAM(iot, ioh);
+ }
+
+ if (sum != adv_asc38C1600_mcode_chksum) {
+ return ASC_IERR_MCODE_CHKSUM;
+ }
+
+ /*
+ * Restore the RISC memory BIOS region.
+ */
+ for (i = 0; i < ASC_MC_BIOSLEN/2; i++) {
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_BIOSMEM + (2 * i),
+ bios_mem[i]);
+ }
+
+ /*
+ * Calculate and write the microcode code checksum to the microcode
+ * code checksum location ASC_MC_CODE_CHK_SUM (0x2C).
+ */
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CODE_BEGIN_ADDR, begin_addr);
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CODE_END_ADDR, end_addr);
+ code_sum = 0;
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_RAM_ADDR, begin_addr);
+ for (word = begin_addr; word < end_addr; word += 2) {
+ code_sum += ADW_READ_WORD_AUTO_INC_LRAM(iot, ioh);
+ }
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_CODE_CHK_SUM, code_sum);
+
+ /*
+ * Read microcode version and date.
+ */
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_VERSION_DATE,
+ sc->cfg.mcode_date);
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_VERSION_NUM,
+ sc->cfg.mcode_version);
+
+ /*
+ * Set the chip type to indicate the ASC38C1600.
+ */
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_CHIP_TYPE, ADV_CHIP_ASC38C1600);
+
+ /*
+ * Write 1 to bit 14 'DIS_TERM_DRV' in the SCSI_CFG1 register.
+ * When DIS_TERM_DRV set to 1, C_DET[3:0] will reflect current
+ * cable detection and then we are able to read C_DET[3:0].
+ *
+ * Note: We will reset DIS_TERM_DRV to 0 in the 'Set SCSI_CFG1
+ * Microcode Default Value' section below.
+ */
+ scsi_cfg1 = ADW_READ_WORD_REGISTER(iot, ioh, IOPW_SCSI_CFG1);
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_SCSI_CFG1,
+ scsi_cfg1 | ADW_DIS_TERM_DRV);
+
+ /*
+ * If the PCI Configuration Command Register "Parity Error Response
+ * Control" Bit was clear (0), then set the microcode variable
+ * 'control_flag' CONTROL_FLAG_IGNORE_PERR flag to tell the microcode
+ * to ignore DMA parity errors.
+ */
+ if (sc->cfg.control_flag & CONTROL_FLAG_IGNORE_PERR) {
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
+ word |= CONTROL_FLAG_IGNORE_PERR;
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
+ }
+
+ /*
+ * If the BIOS control flag AIPP (Asynchronous Information
+ * Phase Protection) disable bit is not set, then set the firmware
+ * 'control_flag' CONTROL_FLAG_ENABLE_AIPP bit to enable
+ * AIPP checking and encoding.
+ */
+ if ((sc->bios_ctrl & BIOS_CTRL_AIPP_DIS) == 0) {
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
+ word |= CONTROL_FLAG_ENABLE_AIPP;
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_CONTROL_FLAG, word);
+ }
+
+ /*
+ * For ASC-38C1600 use DMA_CFG0 default values: FIFO_THRESH_80B [6:4],
+ * and START_CTL_TH [3:2].
+ */
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_DMA_CFG0,
+ FIFO_THRESH_80B | START_CTL_TH | READ_CMD_MRM);
+
+ /*
+ * Microcode operating variables for WDTR, SDTR, and command tag
+ * queuing will be set in AdvInquiryHandling() based on what a
+ * device reports it is capable of in Inquiry byte 7.
+ *
+ * If SCSI Bus Resets have been disabled, then directly set
+ * SDTR and WDTR from the EEPROM configuration. This will allow
+ * the BIOS and warm boot to work without a SCSI bus hang on
+ * the Inquiry caused by host and target mismatched DTR values.
+ * Without the SCSI Bus Reset, before an Inquiry a device can't
+ * be assumed to be in Asynchronous, Narrow mode.
+ */
+ if ((sc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) == 0) {
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_WDTR_ABLE, sc->wdtr_able);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_ABLE, sc->sdtr_able);
+ }
+
+ /*
+ * Set microcode operating variables for DISC and SDTR_SPEED1,
+ * SDTR_SPEED2, SDTR_SPEED3, and SDTR_SPEED4 based on the EEPROM
+ * configuration values.
+ *
+ * The SDTR per TID bitmask overrides the SDTR_SPEED1, SDTR_SPEED2,
+ * SDTR_SPEED3, and SDTR_SPEED4 values so it is safe to set them
+ * without determining here whether the device supports SDTR.
+ */
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_DISC_ENABLE, sc->cfg.disc_enable);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_SPEED1, sc->sdtr_speed1);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_SPEED2, sc->sdtr_speed2);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_SPEED3, sc->sdtr_speed3);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_SPEED4, sc->sdtr_speed4);
+
+ /*
+ * Set SCSI_CFG0 Microcode Default Value.
+ *
+ * The microcode will set the SCSI_CFG0 register using this value
+ * after it is started below.
+ */
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_DEFAULT_SCSI_CFG0,
+ ADW_PARITY_EN | ADW_QUEUE_128 | ADW_SEL_TMO_LONG |
+ ADW_OUR_ID_EN | sc->chip_scsi_id);
+
+ /*
+ * Calculate SCSI_CFG1 Microcode Default Value.
+ *
+ * The microcode will set the SCSI_CFG1 register using this value
+ * after it is started below.
+ *
+ * Each ASC-38C1600 function has only two cable detect bits.
+ * The bus mode override bits are in IOPB_SOFT_OVER_WR.
+ */
+ scsi_cfg1 = ADW_READ_WORD_REGISTER(iot, ioh, IOPW_SCSI_CFG1);
+
+ /*
+ * If the cable is reversed all of the SCSI_CTRL register signals
+ * will be set. Check for and return an error if this condition is
+ * found.
+ */
+ if ((ADW_READ_WORD_REGISTER(iot, ioh, IOPW_SCSI_CTRL) & 0x3F07) ==
+ 0x3F07) {
+ return ASC_IERR_REVERSED_CABLE;
+ }
+
+ /*
+ * Each ASC-38C1600 function has two connectors. Only an HVD device
+ * can not be connected to either connector. An LVD device or SE device
+ * may be connected to either connecor. If an SE device is connected,
+ * then at most Ultra speed (20 Mhz) can be used on both connectors.
+ *
+ * If an HVD device is attached, return an error.
+ */
+ if (scsi_cfg1 & ADW_HVD) {
+ return ASC_IERR_HVD_DEVICE;
+ }
+
+ /*
+ * Each function in the ASC-38C1600 uses only the SE cable detect and
+ * termination because there are two connectors for each function. Each
+ * function may use either LVD or SE mode. Corresponding the SE automatic
+ * termination control EEPROM bits are used for each function. Each
+ * function has its own EEPROM. If SE automatic control is enabled for
+ * the function, then set the termination value based on a table listed
+ * in a_condor.h.
+ *
+ * If manual termination is specified in the EEPROM for the function,
+ * then 'termination' was set-up in AscInitFrom38C1600EEPROM() and is
+ * ready to be 'ored' into SCSI_CFG1.
+ */
+ if ((sc->cfg.termination & ADW_TERM_SE) == 0) {
+ /* SE automatic termination control is enabled. */
+ switch(scsi_cfg1 & ADW_C_DET_SE) {
+ /* TERM_SE_HI: on, TERM_SE_LO: on */
+ case 0x1: case 0x2: case 0x3:
+ sc->cfg.termination |= ADW_TERM_SE;
+ break;
+
+ case 0x0:
+ /* !!!!TODO!!!! */
+// if (ASC_PCI_ID2FUNC(asc_dvc->cfg->pci_slot_info) == 0) {
+ /* Function 0 - TERM_SE_HI: off, TERM_SE_LO: off */
+// }
+// else
+// {
+ /* Function 1 - TERM_SE_HI: on, TERM_SE_LO: off */
+ sc->cfg.termination |= ADW_TERM_SE_HI;
+// }
+ break;
+ }
+ }
+
+ /*
+ * Clear any set TERM_SE bits.
+ */
+ scsi_cfg1 &= ~ADW_TERM_SE;
+
+ /*
+ * Invert the TERM_SE bits and then set 'scsi_cfg1'.
+ */
+ scsi_cfg1 |= (~sc->cfg.termination & ADW_TERM_SE);
+
+ /*
+ * Clear Big Endian and Terminator Polarity bits and set possibly
+ * modified termination control bits in the Microcode SCSI_CFG1
+ * Register Value.
+ */
+ scsi_cfg1 &= (~ADW_BIG_ENDIAN & ~ADW_DIS_TERM_DRV & ~ADW_TERM_POL);
+
+ /*
+ * Set SCSI_CFG1 Microcode Default Value
+ *
+ * Set possibly modified termination control bits in the Microcode
+ * SCSI_CFG1 Register Value.
+ *
+ * The microcode will set the SCSI_CFG1 register using this value
+ * after it is started below.
+ */
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_DEFAULT_SCSI_CFG1, scsi_cfg1);
+
+ /*
+ * Set MEM_CFG Microcode Default Value
+ *
+ * The microcode will set the MEM_CFG register using this value
+ * after it is started below.
+ *
+ * MEM_CFG may be accessed as a word or byte, but only bits 0-7
+ * are defined.
+ *
+ * ASC-38C1600 has 32KB internal memory.
+ */
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_DEFAULT_MEM_CFG,
+ ADW_BIOS_EN | ADW_RAM_SZ_32KB);
+
+ /*
+ * Set SEL_MASK Microcode Default Value
+ *
+ * The microcode will set the SEL_MASK register using this value
+ * after it is started below.
+ */
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_DEFAULT_SEL_MASK,
+ ADW_TID_TO_TIDMASK(sc->chip_scsi_id));
+
+ /*
+ * Set-up the Host->RISC Initiator Command Queue (ICQ).
+ */
+
+ if ((sc->icq_sp = sc->carr_freelist) == NULL) {
+ return ASC_IERR_NO_CARRIER;
+ }
+ sc->carr_freelist = adw_carrier_phys_kv(sc,
+ ASC_GET_CARRP(sc->icq_sp->next_vpa));
+
+ /*
+ * The first command issued will be placed in the stopper carrier.
+ */
+ sc->icq_sp->next_vpa = ASC_CQ_STOPPER;
+
+ /*
+ * Set RISC ICQ physical address start value. Initialize the
+ * COMMA register to the same value otherwise the RISC will
+ * prematurely detect a command is available.
+ */
+ ADW_WRITE_DWORD_LRAM(iot, ioh, ASC_MC_ICQ, sc->icq_sp->carr_pa);
+ ADW_WRITE_DWORD_REGISTER(iot, ioh, IOPDW_COMMA, sc->icq_sp->carr_pa);
+
+ /*
+ * Set-up the RISC->Host Initiator Response Queue (IRQ).
+ */
+ if ((sc->irq_sp = sc->carr_freelist) == NULL) {
+ return ASC_IERR_NO_CARRIER;
+ }
+ sc->carr_freelist = adw_carrier_phys_kv(sc,
+ ASC_GET_CARRP(sc->irq_sp->next_vpa));
+
+ /*
+ * The first command completed by the RISC will be placed in
+ * the stopper.
+ *
+ * Note: Set 'next_vpa' to ASC_CQ_STOPPER. When the request is
+ * completed the RISC will set the ASC_RQ_STOPPER bit.
+ */
+ sc->irq_sp->next_vpa = ASC_CQ_STOPPER;
+
+ /*
+ * Set RISC IRQ physical address start value.
+ */
+ ADW_WRITE_DWORD_LRAM(iot, ioh, ASC_MC_IRQ, sc->irq_sp->carr_pa);
+ sc->carr_pending_cnt = 0;
+
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_INTR_ENABLES,
+ (ADW_INTR_ENABLE_HOST_INTR | ADW_INTR_ENABLE_GLOBAL_INTR));
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_CODE_BEGIN_ADDR, word);
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_PC, word);
+
+ /* finally, finally, gentlemen, start your engine */
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_RISC_CSR, ADW_RISC_CSR_RUN);
+
+ /*
+ * Reset the SCSI Bus if the EEPROM indicates that SCSI Bus
+ * Resets should be performed. The RISC has to be running
+ * to issue a SCSI Bus Reset.
+ */
+ if (sc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) {
+ /*
+ * If the BIOS Signature is present in memory, restore the
+ * per TID microcode operating variables.
+ */
+ if (bios_mem[(ASC_MC_BIOS_SIGNATURE - ASC_MC_BIOSMEM)/2] ==
+ 0x55AA) {
+ /*
+ * Restore per TID negotiated values.
+ */
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_WDTR_ABLE,
+ wdtr_able);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_ABLE,
+ sdtr_able);
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_PPR_ABLE,
+ ppr_able);
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_TAGQNG_ABLE,
tagqng_able);
for (tid = 0; tid <= ADW_MAX_TID; tid++) {
@@ -1263,6 +1855,8 @@ ADW_SOFTC *sc;
* Read the board's EEPROM configuration.
*
* Set default values if a bad checksum is found.
+ *
+ * XXX - Don't handle big-endian access to EEPROM yet.
*/
if (AdvGet3550EEPConfig(iot, ioh, &eep_config) != eep_config.check_sum){
warn_code |= ASC_WARN_EEPROM_CHKSUM;
@@ -1292,8 +1886,8 @@ ADW_SOFTC *sc;
AdvSet3550EEPConfig(iot, ioh, &eep_config);
}
/*
- * Set sc_VAR and sc_CFG variables from the
- * EEPROM configuration that was read.
+ * Set sc and sc->cfg variables from the EEPROM configuration
+ * that was read.
*
* This is the mapping of EEPROM fields to Adv Library fields.
*/
@@ -1364,29 +1958,22 @@ ADW_SOFTC *sc;
* value check that a legal value is set and set the ADV_DVC_CFG
* 'termination' field appropriately.
*/
- if (eep_config.termination == 0) {
- sc->cfg.termination = 0; /* auto termination */
- } else {
- /* Enable manual control with low off / high off. */
- if (eep_config.termination == 1) {
- sc->cfg.termination = ADW_TERM_CTL_SEL;
-
- /* Enable manual control with low off / high on. */
- } else if (eep_config.termination == 2) {
- sc->cfg.termination = ADW_TERM_CTL_SEL | ADW_TERM_CTL_H;
+ sc->cfg.termination = 0; /* auto termination */
+ switch(eep_config.termination) {
+ case 3:
/* Enable manual control with low on / high on. */
- } else if (eep_config.termination == 3) {
- sc->cfg.termination = ADW_TERM_CTL_SEL |
- ADW_TERM_CTL_H | ADW_TERM_CTL_L;
- } else {
- /*
- * The EEPROM 'termination' field contains a bad value. Use
- * automatic termination instead.
- */
- sc->cfg.termination = 0;
- warn_code |= ASC_WARN_EEPROM_TERMINATION;
- }
+ sc->cfg.termination |= ADW_TERM_CTL_L;
+ case 2:
+ /* Enable manual control with low off / high on. */
+ sc->cfg.termination |= ADW_TERM_CTL_H;
+ case 1:
+ /* Enable manual control with low off / high off. */
+ sc->cfg.termination |= ADW_TERM_CTL_SEL;
+ case 0:
+ break;
+ default:
+ warn_code |= ASC_WARN_EEPROM_TERMINATION;
}
return warn_code;
@@ -1547,57 +2134,305 @@ ADW_SOFTC *sc;
* value check that a legal value is set and set the ADV_DVC_CFG
* 'termination' field appropriately.
*/
- if (eep_config.termination_se == 0) {
- termination = 0; /* auto termination for SE */
- } else {
- /* Enable manual control with low off / high off. */
- if (eep_config.termination_se == 1) {
- termination = 0;
+ switch(eep_config.termination_se) {
+ case 0:
+ /* auto termination for SE */
+ termination = 0;
+ break;
+ case 1:
+ /* Enable manual control with low off / high off. */
+ termination = 0;
+ break;
+ case 2:
/* Enable manual control with low off / high on. */
- } else if (eep_config.termination_se == 2) {
- termination = ADW_TERM_SE_HI;
-
+ termination = ADW_TERM_SE_HI;
+ break;
+ case 3:
/* Enable manual control with low on / high on. */
- } else if (eep_config.termination_se == 3) {
- termination = ADW_TERM_SE;
- } else {
- /*
- * The EEPROM 'termination_se' field contains
- * a bad value.
- * Use automatic termination instead.
- */
- termination = 0;
- warn_code |= ASC_WARN_EEPROM_TERMINATION;
- }
+ termination = ADW_TERM_SE;
+ break;
+ default:
+ /*
+ * The EEPROM 'termination_se' field contains a bad value.
+ * Use automatic termination instead.
+ */
+ termination = 0;
+ warn_code |= ASC_WARN_EEPROM_TERMINATION;
}
- if (eep_config.termination_lvd == 0) {
+ switch(eep_config.termination_lvd) {
+ case 0:
/* auto termination for LVD */
sc->cfg.termination = termination;
- } else
- {
+ break;
+ case 1:
/* Enable manual control with low off / high off. */
- if (eep_config.termination_lvd == 1) {
- sc->cfg.termination = termination;
-
+ sc->cfg.termination = termination;
+ break;
+ case 2:
/* Enable manual control with low off / high on. */
- } else if (eep_config.termination_lvd == 2) {
- sc->cfg.termination = termination | ADW_TERM_LVD_HI;
-
+ sc->cfg.termination = termination | ADW_TERM_LVD_HI;
+ break;
+ case 3:
/* Enable manual control with low on / high on. */
- } else if (eep_config.termination_lvd == 3) {
- sc->cfg.termination = termination | ADW_TERM_LVD;
+ sc->cfg.termination = termination | ADW_TERM_LVD;
+ break;
+ default:
+ /*
+ * The EEPROM 'termination_lvd' field contains a bad value.
+ * Use automatic termination instead.
+ */
+ sc->cfg.termination = termination;
+ warn_code |= ASC_WARN_EEPROM_TERMINATION;
+ }
+
+ return warn_code;
+}
+
+
+/*
+ * Read the board's EEPROM configuration. Set fields in ASC_DVC_VAR and
+ * ASC_DVC_CFG based on the EEPROM settings. The chip is stopped while
+ * all of this is done.
+ *
+ * On failure set the ASC_DVC_VAR field 'err_code' and return ADV_ERROR.
+ *
+ * For a non-fatal error return a warning code. If there are no warnings
+ * then 0 is returned.
+ *
+ * Note: Chip is stopped on entry.
+ */
+int
+AdvInitFrom38C1600EEP(sc)
+ADW_SOFTC *sc;
+{
+ bus_space_tag_t iot = sc->sc_iot;
+ bus_space_handle_t ioh = sc->sc_ioh;
+ u_int16_t warn_code;
+ ADW_EEP_38C1600_CONFIG eep_config;
+ int i;
+ u_int8_t tid, termination;
+ u_int16_t sdtr_speed = 0;
+
+
+ warn_code = 0;
+
+ /*
+ * Read the board's EEPROM configuration.
+ *
+ * Set default values if a bad checksum is found.
+ */
+ if (AdvGet38C1600EEPConfig(iot, ioh, &eep_config) !=
+ eep_config.check_sum) {
+ warn_code |= ASC_WARN_EEPROM_CHKSUM;
+
+ /*
+ * Set EEPROM default values.
+ */
+ for (i = 0; i < sizeof(ADW_EEP_38C1600_CONFIG); i++) {
+ /* !!!!TODO!!!! */
+// if (i == 1 && ASC_PCI_ID2FUNC(sc->cfg.pci_slot_info) != 0) {
+ if (i == 1 ) {
+ /*
+ * Set Function 1 EEPROM Word 0 MSB
+ *
+ * Clear the BIOS_ENABLE (bit 14) and INTAB (bit 11)
+ * EEPROM bits.
+ *
+ * Disable Bit 14 (BIOS_ENABLE) to fix SPARC Ultra 60 and
+ * old Mac system booting problem. The Expansion ROM must
+ * be disabled in Function 1 for these systems.
+ *
+ */
+ *((u_int8_t *) &eep_config + i) =
+ ((*((u_int8_t *) &Default_38C1600_EEPROM_Config + i)) &
+ (~(((ADW_EEPROM_BIOS_ENABLE | ADW_EEPROM_INTAB) >> 8) &
+ 0xFF)));
+
+ /*
+ * Set the INTAB (bit 11) if the GPIO 0 input
+ * indicates the Function 1 interrupt line is
+ * wired to INTA.
+ *
+ * Set/Clear Bit 11 (INTAB) from the GPIO bit 0 input:
+ * 1 - Function 1 interrupt line wired to INT A.
+ * 0 - Function 1 interrupt line wired to INT B.
+ *
+ * Note: Adapter boards always have Function 0
+ * wired to INTA.
+ * Put all 5 GPIO bits in input mode and then
+ * read their input values.
+ */
+ ADW_WRITE_BYTE_REGISTER(iot, ioh,
+ IOPB_GPIO_CNTL, 0);
+ if (ADW_READ_BYTE_REGISTER(iot, ioh,
+ IOPB_GPIO_DATA) & 0x01) {
+ /* Function 1 interrupt wired to INTA;
+ Set EEPROM bit. */
+ *((u_int8_t *) &eep_config + i) |=
+ ((ADW_EEPROM_INTAB >> 8) &0xFF);
+ }
+ } else {
+ *((u_int8_t *)&eep_config + i) =
+ *((u_int8_t *)&Default_38C1600_EEPROM_Config+i);
+ }
+ }
+
+ /*
+ * Assume the 6 byte board serial number that was read
+ * from EEPROM is correct even if the EEPROM checksum
+ * failed.
+ */
+ eep_config.serial_number_word3 =
+ AdvReadEEPWord(iot, ioh, ASC_EEP_DVC_CFG_END - 1);
+
+ eep_config.serial_number_word2 =
+ AdvReadEEPWord(iot, ioh, ASC_EEP_DVC_CFG_END - 2);
+
+ eep_config.serial_number_word1 =
+ AdvReadEEPWord(iot, ioh, ASC_EEP_DVC_CFG_END - 3);
+
+ AdvSet38C1600EEPConfig(iot, ioh, &eep_config);
+ }
+
+ /*
+ * Set ASC_DVC_VAR and ASC_DVC_CFG variables from the
+ * EEPROM configuration that was read.
+ *
+ * This is the mapping of EEPROM fields to Adv Library fields.
+ */
+ sc->wdtr_able = eep_config.wdtr_able;
+ sc->sdtr_speed1 = eep_config.sdtr_speed1;
+ sc->sdtr_speed2 = eep_config.sdtr_speed2;
+ sc->sdtr_speed3 = eep_config.sdtr_speed3;
+ sc->sdtr_speed4 = eep_config.sdtr_speed4;
+ sc->ppr_able = 0;
+ sc->tagqng_able = eep_config.tagqng_able;
+ sc->cfg.disc_enable = eep_config.disc_enable;
+ sc->max_host_qng = eep_config.max_host_qng;
+ sc->max_dvc_qng = eep_config.max_dvc_qng;
+ sc->chip_scsi_id = (eep_config.adapter_scsi_id & ADW_MAX_TID);
+ sc->start_motor = eep_config.start_motor;
+ sc->scsi_reset_wait = eep_config.scsi_reset_delay;
+ sc->bios_ctrl = eep_config.bios_ctrl;
+ sc->no_scam = eep_config.scam_tolerant;
+
+ /*
+ * For every Target ID if any of its 'sdtr_speed[1234]' bits
+ * are set, then set an 'sdtr_able' bit for it.
+ */
+ sc->sdtr_able = 0;
+ for (tid = 0; tid <= ADW_MAX_TID; tid++) {
+ if (tid == 0) {
+ sdtr_speed = sc->sdtr_speed1;
+ } else if (tid == 4) {
+ sdtr_speed = sc->sdtr_speed2;
+ } else if (tid == 8) {
+ sdtr_speed = sc->sdtr_speed3;
+ } else if (tid == 12) {
+ sdtr_speed = sc->sdtr_speed4;
+ }
+ if (sdtr_speed & ADW_MAX_TID) {
+ sc->sdtr_able |= (1 << tid);
+ }
+ sdtr_speed >>= 4;
+ }
+
+ /*
+ * Set the host maximum queuing (max. 253, min. 16) and the per device
+ * maximum queuing (max. 63, min. 4).
+ */
+ if (eep_config.max_host_qng > ASC_DEF_MAX_HOST_QNG) {
+ eep_config.max_host_qng = ASC_DEF_MAX_HOST_QNG;
+ } else if (eep_config.max_host_qng < ASC_DEF_MIN_HOST_QNG) {
+ /* If the value is zero, assume it is uninitialized. */
+ if (eep_config.max_host_qng == 0) {
+ eep_config.max_host_qng = ASC_DEF_MAX_HOST_QNG;
} else {
- /*
- * The EEPROM 'termination_lvd' field contains a bad value.
- * Use automatic termination instead.
- */
- sc->cfg.termination = termination;
- warn_code |= ASC_WARN_EEPROM_TERMINATION;
+ eep_config.max_host_qng = ASC_DEF_MIN_HOST_QNG;
+ }
+ }
+
+ if (eep_config.max_dvc_qng > ASC_DEF_MAX_DVC_QNG) {
+ eep_config.max_dvc_qng = ASC_DEF_MAX_DVC_QNG;
+ } else if (eep_config.max_dvc_qng < ASC_DEF_MIN_DVC_QNG) {
+ /* If the value is zero, assume it is uninitialized. */
+ if (eep_config.max_dvc_qng == 0) {
+ eep_config.max_dvc_qng = ASC_DEF_MAX_DVC_QNG;
+ } else {
+ eep_config.max_dvc_qng = ASC_DEF_MIN_DVC_QNG;
}
}
+ /*
+ * If 'max_dvc_qng' is greater than 'max_host_qng', then
+ * set 'max_dvc_qng' to 'max_host_qng'.
+ */
+ if (eep_config.max_dvc_qng > eep_config.max_host_qng) {
+ eep_config.max_dvc_qng = eep_config.max_host_qng;
+ }
+
+ /*
+ * Set ASC_DVC_VAR 'max_host_qng' and ASC_DVC_VAR 'max_dvc_qng'
+ * values based on possibly adjusted EEPROM values.
+ */
+ sc->max_host_qng = eep_config.max_host_qng;
+ sc->max_dvc_qng = eep_config.max_dvc_qng;
+
+ /*
+ * If the EEPROM 'termination' field is set to automatic (0), then set
+ * the ASC_DVC_CFG 'termination' field to automatic also.
+ *
+ * If the termination is specified with a non-zero 'termination'
+ * value check that a legal value is set and set the ASC_DVC_CFG
+ * 'termination' field appropriately.
+ */
+
+ switch(eep_config.termination_se) {
+ case 0: /* auto termination for SE */
+ termination = 0;
+ break;
+ case 1: /* Enable manual control with low off / high off. */
+ termination = 0;
+ break;
+ case 2: /* Enable manual control with low off / high on. */
+ termination = ADW_TERM_SE_HI;
+ break;
+ case 3: /* Enable manual control with low on / high on. */
+ termination = ADW_TERM_SE;
+ break;
+ default:
+ /*
+ * The EEPROM 'termination_se' field contains a bad value.
+ * Use automatic termination instead.
+ */
+ termination = 0;
+ warn_code |= ASC_WARN_EEPROM_TERMINATION;
+ }
+
+ switch(eep_config.termination_lvd) {
+ case 0: /* auto termination for LVD */
+ sc->cfg.termination = termination;
+ break;
+ case 1: /* Enable manual control with low off / high off. */
+ sc->cfg.termination = termination;
+ break;
+ case 2: /* Enable manual control with low off / high on. */
+ sc->cfg.termination = termination | ADW_TERM_LVD_HI;
+ break;
+ case 3: /* Enable manual control with low on / high on. */
+ sc->cfg.termination = termination | ADW_TERM_LVD;
+ break;
+ default:
+ /*
+ * The EEPROM 'termination_lvd' field contains a bad value.
+ * Use automatic termination instead.
+ */
+ sc->cfg.termination = termination;
+ warn_code |= ASC_WARN_EEPROM_TERMINATION;
+ }
+
return warn_code;
}
@@ -1622,8 +2457,8 @@ AdvGet3550EEPConfig(iot, ioh, cfg_buf)
chksum = 0;
for (eep_addr = ASC_EEP_DVC_CFG_BEGIN;
- eep_addr < ASC_EEP_DVC_CFG_END;
- eep_addr++, wbuf++) {
+ eep_addr < ASC_EEP_DVC_CFG_END;
+ eep_addr++, wbuf++) {
wval = AdvReadEEPWord(iot, ioh, eep_addr);
chksum += wval;
*wbuf = wval;
@@ -1661,8 +2496,47 @@ AdvGet38C0800EEPConfig(iot, ioh, cfg_buf)
chksum = 0;
for (eep_addr = ASC_EEP_DVC_CFG_BEGIN;
- eep_addr < ASC_EEP_DVC_CFG_END;
+ eep_addr < ASC_EEP_DVC_CFG_END;
+ eep_addr++, wbuf++) {
+ wval = AdvReadEEPWord(iot, ioh, eep_addr);
+ chksum += wval;
+ *wbuf = wval;
+ }
+
+ *wbuf = AdvReadEEPWord(iot, ioh, eep_addr);
+ wbuf++;
+ for (eep_addr = ASC_EEP_DVC_CTL_BEGIN;
+ eep_addr < ASC_EEP_MAX_WORD_ADDR;
eep_addr++, wbuf++) {
+ *wbuf = AdvReadEEPWord(iot, ioh, eep_addr);
+ }
+
+ return chksum;
+}
+
+
+/*
+ * Read EEPROM configuration into the specified buffer.
+ *
+ * Return a checksum based on the EEPROM configuration read.
+ */
+static u_int16_t
+AdvGet38C1600EEPConfig(iot, ioh, cfg_buf)
+ bus_space_tag_t iot;
+ bus_space_handle_t ioh;
+ ADW_EEP_38C1600_CONFIG *cfg_buf;
+{
+ u_int16_t wval, chksum;
+ u_int16_t *wbuf;
+ int eep_addr;
+
+
+ wbuf = (u_int16_t *) cfg_buf;
+ chksum = 0;
+
+ for (eep_addr = ASC_EEP_DVC_CFG_BEGIN;
+ eep_addr < ASC_EEP_DVC_CFG_END;
+ eep_addr++, wbuf++) {
wval = AdvReadEEPWord(iot, ioh, eep_addr);
chksum += wval;
*wbuf = wval;
@@ -1841,6 +2715,66 @@ AdvSet38C0800EEPConfig(iot, ioh, cfg_buf)
/*
+ * Write the EEPROM from 'cfg_buf'.
+ */
+static void
+AdvSet38C1600EEPConfig(iot, ioh, cfg_buf)
+ bus_space_tag_t iot;
+ bus_space_handle_t ioh;
+ ADW_EEP_38C1600_CONFIG *cfg_buf;
+{
+ u_int16_t *wbuf;
+ u_int16_t addr, chksum;
+
+
+ wbuf = (u_int16_t *) cfg_buf;
+ chksum = 0;
+
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_CMD, ASC_EEP_CMD_WRITE_ABLE);
+ AdvWaitEEPCmd(iot, ioh);
+
+ /*
+ * Write EEPROM from word 0 to word 20
+ */
+ for (addr = ASC_EEP_DVC_CFG_BEGIN;
+ addr < ASC_EEP_DVC_CFG_END; addr++, wbuf++) {
+ chksum += *wbuf;
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_DATA, *wbuf);
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_CMD,
+ ASC_EEP_CMD_WRITE | addr);
+ AdvWaitEEPCmd(iot, ioh);
+ AdvSleepMilliSecond(ASC_EEP_DELAY_MS);
+ }
+
+ /*
+ * Write EEPROM checksum at word 21
+ */
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_DATA, chksum);
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_CMD,
+ ASC_EEP_CMD_WRITE | addr);
+ AdvWaitEEPCmd(iot, ioh);
+ wbuf++; /* skip over check_sum */
+
+ /*
+ * Write EEPROM OEM name at words 22 to 29
+ */
+ for (addr = ASC_EEP_DVC_CTL_BEGIN;
+ addr < ASC_EEP_MAX_WORD_ADDR; addr++, wbuf++) {
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_DATA, *wbuf);
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_CMD,
+ ASC_EEP_CMD_WRITE | addr);
+ AdvWaitEEPCmd(iot, ioh);
+ }
+
+ ADW_WRITE_WORD_REGISTER(iot, ioh, IOPW_EE_CMD,
+ ASC_EEP_CMD_WRITE_DISABLE);
+ AdvWaitEEPCmd(iot, ioh);
+
+ return;
+}
+
+
+/*
* AdvExeScsiQueue() - Send a request to the RISC microcode program.
*
* Allocate a carrier structure, point the carrier to the ADW_SCSI_REQ_Q,
@@ -1867,9 +2801,7 @@ ADW_SCSI_REQ_Q *scsiq;
ADW_CCB *ccb;
long req_size;
u_int32_t req_paddr;
- ADW_CARRIER *new_carrp/*, *ccb_carr;
- int i*/;
-
+ ADW_CARRIER *new_carrp;
/*
* The ADW_SCSI_REQ_Q 'target_id' field should never exceed ADW_MAX_TID.
@@ -1880,8 +2812,12 @@ ADW_SCSI_REQ_Q *scsiq;
return ADW_ERROR;
}
+ /*
+ * Begin of CRITICAL SECTION: Must be protected within splbio/splx pair
+ */
+
ccb = adw_ccb_phys_kv(sc, scsiq->ccb_ptr);
- ccb->carr_list = sc->icq_sp;
+// ccb->carr_list = sc->icq_sp;
/*
* Allocate a carrier ensuring at least one carrier always
@@ -1933,52 +2869,46 @@ ADW_SCSI_REQ_Q *scsiq;
* Set the host adapter stopper pointer to point to the new carrier.
*/
sc->icq_sp = new_carrp;
-
-/* ccb_carr = ccb->carr_list;
- while(ccb_carr != ASC_CQ_STOPPER) {
- bus_dmamap_load(sc->sc_dmat, ccb_carr->dmamap_xfer,
- ccb_carr, ADW_CARRIER_SIZE,
- NULL, BUS_DMA_NOWAIT);
- bus_dmamap_sync(sc->sc_dmat, ccb_carr->dmamap_xfer, 0,
- ccb_carr->dmamap_xfer->dm_mapsize,
- BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
- ccb_carr = adw_carrier_phys_kv(sc,
- ASC_GET_CARRP(ccb_carr->next_vpa));
- }
-
- ccb_carr = sc->irq_sp;
- for(i=0; i<2 && ccb_carr != ASC_CQ_STOPPER; i++) {
- bus_dmamap_load(sc->sc_dmat, ccb_carr->dmamap_xfer,
- ccb_carr, ADW_CARRIER_SIZE,
- NULL, BUS_DMA_NOWAIT);
- bus_dmamap_sync(sc->sc_dmat, ccb_carr->dmamap_xfer, 0,
- ccb_carr->dmamap_xfer->dm_mapsize,
- BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
- ccb_carr = adw_carrier_phys_kv(sc,
- ASC_GET_CARRP(ccb_carr->next_vpa));
- }
-*/
+/*
bus_dmamap_load(sc->sc_dmat, sc->sc_control->dmamap_xfer,
- sc->sc_control->carriers, ADW_CARRIER_SIZE * ADW_MAX_CARRIER,
+ sc->sc_control->carriers,
+ ADW_CARRIER_SIZE * ADW_MAX_CARRIER,
NULL, BUS_DMA_NOWAIT);
bus_dmamap_sync(sc->sc_dmat, sc->sc_control->dmamap_xfer, 0,
sc->sc_control->dmamap_xfer->dm_mapsize,
BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
-
- /*
- * Tickle the RISC to tell it to read its Command Queue Head pointer.
- */
- ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_TICKLE, ADV_TICKLE_A);
- if (sc->chip_type == ADV_CHIP_ASC3550)
+*/
+ if (sc->chip_type == ADV_CHIP_ASC3550 ||
+ sc->chip_type == ADV_CHIP_ASC38C0800)
{
/*
- * Clear the tickle value. In the ASC-3550 the RISC flag
- * command 'clr_tickle_a' does not work unless the host
- * value is cleared.
+ * Tickle the RISC to tell it to read its Command Queue Head
+ * pointer.
*/
- ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_TICKLE, ADV_TICKLE_NOP);
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_TICKLE, ADV_TICKLE_A);
+ if (sc->chip_type == ADV_CHIP_ASC3550)
+ {
+ /*
+ * Clear the tickle value. In the ASC-3550 the RISC flag
+ * command 'clr_tickle_a' does not work unless the host
+ * value is cleared.
+ */
+ ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_TICKLE,
+ ADV_TICKLE_NOP);
+ }
+ } else if (sc->chip_type == ADV_CHIP_ASC38C1600) {
+ /*
+ * Notify the RISC a carrier is ready by writing the physical
+ * address of the new carrier stopper to the COMMA register.
+ */
+ ADW_WRITE_DWORD_REGISTER(iot, ioh, IOPDW_COMMA,
+ new_carrp->carr_pa);
}
+ /*
+ * End of CRITICAL SECTION: Must be protected within splbio/splx pair
+ */
+
return ADW_SUCCESS;
}
@@ -2063,7 +2993,7 @@ ADW_SOFTC *sc;
bus_space_tag_t iot = sc->sc_iot;
bus_space_handle_t ioh = sc->sc_ioh;
int status;
- u_int16_t wdtr_able, sdtr_able, tagqng_able;
+ u_int16_t wdtr_able, sdtr_able, ppr_able, tagqng_able;
u_int8_t tid, max_cmd[ADW_MAX_TID + 1];
u_int16_t bios_sig;
@@ -2073,6 +3003,9 @@ ADW_SOFTC *sc;
*/
ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_WDTR_ABLE, wdtr_able);
ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_SDTR_ABLE, sdtr_able);
+ if (sc->chip_type == ADV_CHIP_ASC38C1600) {
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_PPR_ABLE, ppr_able);
+ }
ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_TAGQNG_ABLE, tagqng_able);
for (tid = 0; tid <= ADW_MAX_TID; tid++)
{
@@ -2103,7 +3036,9 @@ ADW_SOFTC *sc;
* Reset Adv Library error code, if any, and try
* re-initializing the chip.
*/
- if (sc->chip_type == ADV_CHIP_ASC38C0800) {
+ if (sc->chip_type == ADV_CHIP_ASC38C1600) {
+ status = AdvInitAsc38C1600Driver(sc);
+ } else if (sc->chip_type == ADV_CHIP_ASC38C0800) {
status = AdvInitAsc38C0800Driver(sc);
} else {
status = AdvInitAsc3550Driver(sc);
@@ -2126,6 +3061,9 @@ ADW_SOFTC *sc;
*/
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_WDTR_ABLE, wdtr_able);
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_SDTR_ABLE, sdtr_able);
+ if (sc->chip_type == ADV_CHIP_ASC38C1600) {
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_PPR_ABLE, ppr_able);
+ }
ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_TAGQNG_ABLE, tagqng_able);
for (tid = 0; tid <= ADW_MAX_TID; tid++) {
ADW_WRITE_BYTE_LRAM(iot, ioh, ASC_MC_NUMBER_OF_MAX_CMD + tid,
@@ -2167,7 +3105,6 @@ ADW_SOFTC *sc;
u_int32_t irq_next_pa;
ADW_SCSI_REQ_Q *scsiq;
ADW_CCB *ccb;
-// int i;
/* Reading the register clears the interrupt. */
@@ -2183,16 +3120,6 @@ ADW_SOFTC *sc;
BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
bus_dmamap_unload(sc->sc_dmat, sc->sc_control->dmamap_xfer);
-/* ccb_carr = sc->irq_sp;
- for(i=0; i<2 && ccb_carr != ASC_CQ_STOPPER; i++) {
- bus_dmamap_sync(sc->sc_dmat, ccb_carr->dmamap_xfer, 0,
- ccb_carr->dmamap_xfer->dm_mapsize,
- BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
- bus_dmamap_unload(sc->sc_dmat, ccb_carr->dmamap_xfer);
- ccb_carr = adw_carrier_phys_kv(sc,
- ASC_GET_CARRP(ccb_carr->next_vpa));
- }
-*/
/*
* Notify the driver of an asynchronous microcode condition by
* calling the ADV_DVC_VAR.async_callback function. The function
@@ -2202,12 +3129,18 @@ ADW_SOFTC *sc;
u_int8_t intrb_code;
ADW_READ_BYTE_LRAM(iot, ioh, ASC_MC_INTRB_CODE, intrb_code);
- if (intrb_code == ADV_ASYNC_CARRIER_READY_FAILURE &&
- sc->carr_pending_cnt != 0) {
- ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_TICKLE, ADV_TICKLE_A);
- if (sc->chip_type == ADV_CHIP_ASC3550) {
- ADW_WRITE_BYTE_REGISTER(iot, ioh, IOPB_TICKLE, ADV_TICKLE_NOP);
- }
+
+ if (sc->chip_type == ADV_CHIP_ASC3550 ||
+ sc->chip_type == ADV_CHIP_ASC38C0800) {
+ if (intrb_code == ADV_ASYNC_CARRIER_READY_FAILURE &&
+ sc->carr_pending_cnt != 0) {
+ ADW_WRITE_BYTE_REGISTER(iot, ioh,
+ IOPB_TICKLE, ADV_TICKLE_A);
+ if (sc->chip_type == ADV_CHIP_ASC3550) {
+ ADW_WRITE_BYTE_REGISTER(iot, ioh,
+ IOPB_TICKLE, ADV_TICKLE_NOP);
+ }
+ }
}
if (sc->async_callback != 0) {
@@ -2221,33 +3154,30 @@ ADW_SOFTC *sc;
while (((irq_next_pa = sc->irq_sp->next_vpa) & ASC_RQ_DONE) != 0)
{
/*
- * Get a pointer to the newly completed ADW_SCSI_REQ_Q structure.
+ * Get a pointer to the newly completed ADW_SCSI_REQ_Q
+ * structure.
* The RISC will have set 'areq_vpa' to a virtual address.
*
* The firmware will have copied the ASC_SCSI_REQ_Q.ccb_ptr
- * field to the carrier ADV_CARR_T.areq_vpa field. The conversion
- * below complements the conversion of ASC_SCSI_REQ_Q.scsiq_ptr'
- * in AdvExeScsiQueue().
+ * field to the carrier ADV_CARR_T.areq_vpa field.
+ * The conversion below complements the conversion of
+ * ASC_SCSI_REQ_Q.scsiq_ptr' in AdvExeScsiQueue().
*/
ccb = adw_ccb_phys_kv(sc, sc->irq_sp->areq_vpa);
scsiq = &ccb->scsiq;
scsiq->ccb_ptr = sc->irq_sp->areq_vpa;
-/* ccb_carr = ccb->carr_list;
- while(ccb_carr != ASC_CQ_STOPPER) {
- bus_dmamap_sync(sc->sc_dmat, ccb_carr->dmamap_xfer, 0,
- ccb_carr->dmamap_xfer->dm_mapsize,
- BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
- bus_dmamap_unload(sc->sc_dmat, ccb_carr->dmamap_xfer);
- ccb_carr = adw_carrier_phys_kv(sc,
- ASC_GET_CARRP(ccb_carr->next_vpa));
+ /*
+ * Request finished with good status and the queue was not
+ * DMAed to host memory by the firmware. Set all status fields
+ * to indicate good status.
+ */
+ if ((irq_next_pa & ASC_RQ_GOOD) != 0) {
+ scsiq->done_status = QD_NO_ERROR;
+ scsiq->host_status = scsiq->scsi_status = 0;
+ scsiq->data_cnt = 0L;
}
- bus_dmamap_sync(sc->sc_dmat, sc->irq_sp->dmamap_xfer, 0,
- sc->irq_sp->dmamap_xfer->dm_mapsize,
- BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
- bus_dmamap_unload(sc->sc_dmat, sc->irq_sp->dmamap_xfer);
-*/
/*
* Advance the stopper pointer to the next carrier
* ignoring the lower four bits. Free the previous
@@ -2277,8 +3207,8 @@ ADW_SOFTC *sc;
* command information for the device.
*/
if (scsiq->done_status == QD_NO_ERROR &&
- scsiq->cdb[0] == INQUIRY &&
- scsiq->target_lun == 0) {
+ scsiq->cdb[0] == INQUIRY &&
+ scsiq->target_lun == 0) {
AdvInquiryHandling(sc, scsiq);
}
@@ -2306,7 +3236,7 @@ ADW_SOFTC *sc;
* Command completion is polled for once per microsecond.
*
* The function can be called from anywhere including an interrupt handler.
- * But the function is not re-entrant, so it uses the DvcEnter/LeaveCritical()
+ * But the function is not re-entrant, so it uses the splbio/splx()
* functions to prevent reentrancy.
*
* Return Values:
@@ -2323,8 +3253,9 @@ u_int32_t idle_cmd_parameter;
bus_space_tag_t iot = sc->sc_iot;
bus_space_handle_t ioh = sc->sc_ioh;
int result;
- u_int32_t i, j;
+ u_int32_t i, j, s;
+ s = splbio();
/*
* Clear the idle command status which is set by the microcode
@@ -2363,12 +3294,14 @@ u_int32_t idle_cmd_parameter;
for (j = 0; j < SCSI_US_PER_MSEC; j++) {
ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_IDLE_CMD_STATUS, result);
if (result != 0) {
+ splx(s);
return result;
}
AdvDelayMicroSecond(1);
}
}
+ splx(s);
return ADW_ERROR;
}
@@ -2497,6 +3430,31 @@ ADW_SCSI_REQ_Q *scsiq;
cfg_word);
}
}
+ /*
+ * If the Inquiry data included enough space for the SPI-3
+ * Clocking field, then check if DT mode is supported.
+ */
+ if (sc->chip_type == ADV_CHIP_ASC38C1600 &&
+ (scsiq->cdb[4] >= 57 ||
+ (scsiq->cdb[4] - scsiq->data_cnt) >= 57)) {
+ /*
+ * PPR (Parallel Protocol Request) Capable
+ *
+ * If the device supports DT mode, then it must be
+ * PPR capable.
+ * The PPR message will be used in place of the SDTR
+ * and WDTR messages to negotiate synchronous speed
+ * and offset, transfer width, and protocol options.
+ */
+ if (inq->Clocking & INQ_CLOCKING_DT_ONLY)
+ {
+ ADW_READ_WORD_LRAM(iot, ioh, ASC_MC_PPR_ABLE,
+ sc->ppr_able);
+ sc->ppr_able |= tidmask;
+ ADW_WRITE_WORD_LRAM(iot, ioh, ASC_MC_PPR_ABLE,
+ sc->ppr_able);
+ }
+ }
/*
* If the EEPROM enabled Tag Queuing for the device and the
diff --git a/sys/dev/ic/adwlib.h b/sys/dev/ic/adwlib.h
index 0dfe5948621..692e15c871e 100644
--- a/sys/dev/ic/adwlib.h
+++ b/sys/dev/ic/adwlib.h
@@ -1,4 +1,4 @@
-/* $NetBSD: adwlib.h,v 1.7 2000/02/03 20:29:16 dante Exp $ */
+/* $NetBSD: adwlib.h,v 1.8 2000/04/30 18:52:15 dante Exp $ */
/*
* Definitions for low level routines and data structures
@@ -42,10 +42,10 @@
*/
/*
* advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
- *
- * Copyright (c) 1995-1996 Advanced System Products, Inc.
+ *
+ * Copyright (c) 1995-2000 Advanced System Products, Inc.
* All Rights Reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that redistributions of source
* code retain the above copyright notice and this comment without
@@ -61,7 +61,7 @@
*/
#define ADW_LIB_VERSION_MAJOR 5
-#define ADW_LIB_VERSION_MINOR 2
+#define ADW_LIB_VERSION_MINOR 8
/*
* Define Adv Reset Hold Time grater than 25 uSec.
@@ -100,8 +100,7 @@
* this field may be set, but later if a device is found to be incapable
* of the feature, the field is cleared.
*
- * Default values are maintained in a_init.c in the structure
- * Default_EEPROM_Config.
+ * Default values are maintained in the structure Default_EEPROM_Config.
*/
#define ADV_EEPROM_BIG_ENDIAN 0x8000 /* EEPROM Bit 15 */
#define ADV_EEPROM_BIOS_ENABLE 0x4000 /* EEPROM Bit 14 */
@@ -113,6 +112,19 @@
#define ADV_EEPROM_TERM_POL 0x2000 /* EEPROM Bit 13 */
#define ADV_EEPROM_CIS_LD 0x2000 /* EEPROM Bit 13 */
+/*
+ * ASC38C1600 Bit 11
+ *
+ * If EEPROM Bit 11 is 0 for Function 0, then Function 0 will specify
+ * INT A in the PCI Configuration Space Int Pin field. If it is 1, then
+ * Function 0 will specify INT B.
+ *
+ * If EEPROM Bit 11 is 0 for Function 1, then Function 1 will specify
+ * INT B in the PCI Configuration Space Int Pin field. If it is 1, then
+ * Function 1 will specify INT A.
+ */
+#define ADW_EEPROM_INTAB 0x0800 /* EEPROM Bit 11 */
+
typedef struct adw_eep_3550_config
{
/* Word Offset, Description */
@@ -121,7 +133,7 @@ typedef struct adw_eep_3550_config
/* bit 13 set - Term Polarity Control */
/* bit 14 set - BIOS Enable */
/* bit 15 set - Big Endian Mode */
- u_int16_t cfg_msw; /* 01 unused */
+ u_int16_t cfg_msw; /* 01 unused */
u_int16_t disc_enable; /* 02 disconnect enable */
u_int16_t wdtr_able; /* 03 Wide DTR able */
u_int16_t sdtr_able; /* 04 Synchronous DTR able */
@@ -138,7 +150,7 @@ typedef struct adw_eep_3550_config
/* high nibble is lun */
/* low nibble is scsi id */
- u_int8_t termination; /* 11 0 - automatic */
+ u_int8_t termination; /* 11 0 - automatic */
/* 1 - low off / high off */
/* 2 - low off / high on */
/* 3 - low on / high on */
@@ -147,22 +159,22 @@ typedef struct adw_eep_3550_config
u_int8_t reserved1; /* reserved byte (not used) */
u_int16_t bios_ctrl; /* 12 BIOS control bits */
- /* bit 0 set: BIOS don't act as initiator. */
- /* bit 1 set: BIOS > 1 GB support */
- /* bit 2 set: BIOS > 2 Disk Support */
- /* bit 3 set: BIOS don't support removables */
- /* bit 4 set: BIOS support bootable CD */
- /* bit 5 set: */
- /* bit 6 set: BIOS support multiple LUNs */
- /* bit 7 set: BIOS display of message */
- /* bit 8 set: */
- /* bit 9 set: Reset SCSI bus during init. */
- /* bit 10 set: */
- /* bit 11 set: No verbose initialization. */
- /* bit 12 set: SCSI parity enabled */
- /* bit 13 set: */
- /* bit 14 set: */
- /* bit 15 set: */
+ /* bit 0 BIOS don't act as initiator. */
+ /* bit 1 BIOS > 1 GB support */
+ /* bit 2 BIOS > 2 Disk Support */
+ /* bit 3 BIOS don't support removables */
+ /* bit 4 BIOS support bootable CD */
+ /* bit 5 BIOS scan enabled */
+ /* bit 6 BIOS support multiple LUNs */
+ /* bit 7 BIOS display of message */
+ /* bit 8 SCAM disabled */
+ /* bit 9 Reset SCSI bus during init. */
+ /* bit 10 */
+ /* bit 11 No verbose initialization. */
+ /* bit 12 SCSI parity enabled */
+ /* bit 13 */
+ /* bit 14 */
+ /* bit 15 */
u_int16_t ultra_able; /* 13 ULTRA speed able */
u_int16_t reserved2; /* 14 reserved */
u_int8_t max_host_qng; /* 15 maximum host queuing */
@@ -177,9 +189,9 @@ typedef struct adw_eep_3550_config
u_int16_t dvc_err_code; /* 30 last device driver error code */
u_int16_t adv_err_code; /* 31 last uc and Adv Lib error code */
u_int16_t adv_err_addr; /* 32 last uc error address */
- u_int16_t saved_dvc_err_code; /* 33 saved last dev. driver error code */
+ u_int16_t saved_dvc_err_code; /* 33 saved last dev. driver error code */
u_int16_t saved_adv_err_code; /* 34 saved last uc and Adv Lib error code */
- u_int16_t saved_adv_err_addr; /* 35 saved last uc error address */
+ u_int16_t saved_adv_err_addr; /* 35 saved last uc error address */
u_int16_t num_of_err; /* 36 number of error */
} ADW_EEP_3550_CONFIG;
@@ -191,7 +203,7 @@ typedef struct adw_eep_38C0800_config
/* bit 13 set - Load CIS */
/* bit 14 set - BIOS Enable */
/* bit 15 set - Big Endian Mode */
- u_int16_t cfg_msw; /* 01 unused */
+ u_int16_t cfg_msw; /* 01 unused */
u_int16_t disc_enable; /* 02 disconnect enable */
u_int16_t wdtr_able; /* 03 Wide DTR able */
u_int16_t sdtr_speed1; /* 04 SDTR Speed TID 0-3 */
@@ -221,29 +233,29 @@ typedef struct adw_eep_38C0800_config
/* There is no low on / high off */
u_int16_t bios_ctrl; /* 12 BIOS control bits */
- /* bit 0 set: BIOS don't act as initiator. */
- /* bit 1 set: BIOS > 1 GB support */
- /* bit 2 set: BIOS > 2 Disk Support */
- /* bit 3 set: BIOS don't support removables */
- /* bit 4 set: BIOS support bootable CD */
- /* bit 5 set: BIOS scan enabled */
- /* bit 6 set: BIOS support multiple LUNs */
- /* bit 7 set: BIOS display of message */
- /* bit 8 set: */
- /* bit 9 set: Reset SCSI bus during init. */
- /* bit 10 set: */
- /* bit 11 set: No verbose initialization. */
- /* bit 12 set: SCSI parity enabled */
- /* bit 13 set: */
- /* bit 14 set: */
- /* bit 15 set: */
+ /* bit 0 BIOS don't act as initiator. */
+ /* bit 1 BIOS > 1 GB support */
+ /* bit 2 BIOS > 2 Disk Support */
+ /* bit 3 BIOS don't support removables */
+ /* bit 4 BIOS support bootable CD */
+ /* bit 5 BIOS scan enabled */
+ /* bit 6 BIOS support multiple LUNs */
+ /* bit 7 BIOS display of message */
+ /* bit 8 SCAM disabled */
+ /* bit 9 Reset SCSI bus during init. */
+ /* bit 10 */
+ /* bit 11 No verbose initialization. */
+ /* bit 12 SCSI parity enabled */
+ /* bit 13 */
+ /* bit 14 */
+ /* bit 15 */
u_int16_t sdtr_speed2; /* 13 SDTR speed TID 4-7 */
u_int16_t sdtr_speed3; /* 14 SDTR speed TID 8-11 */
u_int8_t max_host_qng; /* 15 maximum host queueing */
u_int8_t max_dvc_qng; /* maximum per device queuing */
u_int16_t dvc_cntl; /* 16 control bit for driver */
u_int16_t sdtr_speed4; /* 17 SDTR speed 4 TID 12-15 */
- u_int16_t serial_number_word1; /* 18 Board serial number word 1 */
+ u_int16_t serial_number_word1; /* 18 Board serial number word 1 */
u_int16_t serial_number_word2; /* 19 Board serial number word 2 */
u_int16_t serial_number_word3; /* 20 Board serial number word 3 */
u_int16_t check_sum; /* 21 EEP check sum */
@@ -251,39 +263,143 @@ typedef struct adw_eep_38C0800_config
u_int16_t dvc_err_code; /* 30 last device driver error code */
u_int16_t adv_err_code; /* 31 last uc and Adv Lib error code */
u_int16_t adv_err_addr; /* 32 last uc error address */
- u_int16_t saved_dvc_err_code; /* 33 saved last dev. driver error code */
+ u_int16_t saved_dvc_err_code; /* 33 saved last dev. driver error code */
u_int16_t saved_adv_err_code; /* 34 saved last uc and Adv Lib error code */
- u_int16_t saved_adv_err_addr; /* 35 saved last uc error address */
+ u_int16_t saved_adv_err_addr; /* 35 saved last uc error address */
u_int16_t reserved36; /* 36 reserved */
u_int16_t reserved37; /* 37 reserved */
- u_int16_t reserved38; /* 38 reserved */
- u_int16_t reserved39; /* 39 reserved */
- u_int16_t reserved40; /* 40 reserved */
- u_int16_t reserved41; /* 41 reserved */
- u_int16_t reserved42; /* 42 reserved */
- u_int16_t reserved43; /* 43 reserved */
- u_int16_t reserved44; /* 44 reserved */
- u_int16_t reserved45; /* 45 reserved */
- u_int16_t reserved46; /* 46 reserved */
- u_int16_t reserved47; /* 47 reserved */
- u_int16_t reserved48; /* 48 reserved */
- u_int16_t reserved49; /* 49 reserved */
- u_int16_t reserved50; /* 50 reserved */
- u_int16_t reserved51; /* 51 reserved */
- u_int16_t reserved52; /* 52 reserved */
- u_int16_t reserved53; /* 53 reserved */
- u_int16_t reserved54; /* 54 reserved */
- u_int16_t reserved55; /* 55 reserved */
- u_int16_t cisptr_lsw; /* 56 CIS PTR LSW */
- u_int16_t cisprt_msw; /* 57 CIS PTR MSW */
+ u_int16_t reserved38; /* 38 reserved */
+ u_int16_t reserved39; /* 39 reserved */
+ u_int16_t reserved40; /* 40 reserved */
+ u_int16_t reserved41; /* 41 reserved */
+ u_int16_t reserved42; /* 42 reserved */
+ u_int16_t reserved43; /* 43 reserved */
+ u_int16_t reserved44; /* 44 reserved */
+ u_int16_t reserved45; /* 45 reserved */
+ u_int16_t reserved46; /* 46 reserved */
+ u_int16_t reserved47; /* 47 reserved */
+ u_int16_t reserved48; /* 48 reserved */
+ u_int16_t reserved49; /* 49 reserved */
+ u_int16_t reserved50; /* 50 reserved */
+ u_int16_t reserved51; /* 51 reserved */
+ u_int16_t reserved52; /* 52 reserved */
+ u_int16_t reserved53; /* 53 reserved */
+ u_int16_t reserved54; /* 54 reserved */
+ u_int16_t reserved55; /* 55 reserved */
+ u_int16_t cisptr_lsw; /* 56 CIS PTR LSW */
+ u_int16_t cisprt_msw; /* 57 CIS PTR MSW */
u_int16_t subsysvid; /* 58 SubSystem Vendor ID */
u_int16_t subsysid; /* 59 SubSystem ID */
- u_int16_t reserved60; /* 60 reserved */
- u_int16_t reserved61; /* 61 reserved */
- u_int16_t reserved62; /* 62 reserved */
- u_int16_t reserved63; /* 63 reserved */
+ u_int16_t reserved60; /* 60 reserved */
+ u_int16_t reserved61; /* 61 reserved */
+ u_int16_t reserved62; /* 62 reserved */
+ u_int16_t reserved63; /* 63 reserved */
} ADW_EEP_38C0800_CONFIG;
+typedef struct adw_eep_38C1600_config
+{
+ /* Word Offset, Description */
+
+ u_int16_t cfg_lsw; /* 00 power up initialization */
+ /* bit 11 set - Func. 0 INTB, Func. 1 INTA */
+ /* clear - Func. 0 INTA, Func. 1 INTB */
+ /* bit 13 set - Load CIS */
+ /* bit 14 set - BIOS Enable */
+ /* bit 15 set - Big Endian Mode */
+ u_int16_t cfg_msw; /* 01 unused */
+ u_int16_t disc_enable; /* 02 disconnect enable */
+ u_int16_t wdtr_able; /* 03 Wide DTR able */
+ u_int16_t sdtr_speed1; /* 04 SDTR Speed TID 0-3 */
+ u_int16_t start_motor; /* 05 send start up motor */
+ u_int16_t tagqng_able; /* 06 tag queuing able */
+ u_int16_t bios_scan; /* 07 BIOS device control */
+ u_int16_t scam_tolerant; /* 08 no scam */
+
+ u_int8_t adapter_scsi_id; /* 09 Host Adapter ID */
+ u_int8_t bios_boot_delay; /* power up wait */
+
+ u_int8_t scsi_reset_delay; /* 10 reset delay */
+ u_int8_t bios_id_lun; /* first boot device scsi id & lun */
+ /* high nibble is lun */
+ /* low nibble is scsi id */
+
+ u_int8_t termination_se; /* 11 0 - automatic */
+ /* 1 - low off / high off */
+ /* 2 - low off / high on */
+ /* 3 - low on / high on */
+ /* There is no low on / high off */
+
+ u_int8_t termination_lvd; /* 11 0 - automatic */
+ /* 1 - low off / high off */
+ /* 2 - low off / high on */
+ /* 3 - low on / high on */
+ /* There is no low on / high off */
+
+ u_int16_t bios_ctrl; /* 12 BIOS control bits */
+ /* bit 0 BIOS don't act as initiator. */
+ /* bit 1 BIOS > 1 GB support */
+ /* bit 2 BIOS > 2 Disk Support */
+ /* bit 3 BIOS don't support removables */
+ /* bit 4 BIOS support bootable CD */
+ /* bit 5 BIOS scan enabled */
+ /* bit 6 BIOS support multiple LUNs */
+ /* bit 7 BIOS display of message */
+ /* bit 8 SCAM disabled */
+ /* bit 9 Reset SCSI bus during init. */
+ /* bit 10 Basic Integrity Checking disabled */
+ /* bit 11 No verbose initialization. */
+ /* bit 12 SCSI parity enabled */
+ /* bit 13 AIPP (Asyn. Info. Ph. Prot.) dis. */
+ /* bit 14 */
+ /* bit 15 */
+ u_int16_t sdtr_speed2; /* 13 SDTR speed TID 4-7 */
+ u_int16_t sdtr_speed3; /* 14 SDTR speed TID 8-11 */
+ u_int8_t max_host_qng; /* 15 maximum host queueing */
+ u_int8_t max_dvc_qng; /* maximum per device queuing */
+ u_int16_t dvc_cntl; /* 16 control bit for driver */
+ u_int16_t sdtr_speed4; /* 17 SDTR speed 4 TID 12-15 */
+ u_int16_t serial_number_word1; /* 18 Board serial number word 1 */
+ u_int16_t serial_number_word2; /* 19 Board serial number word 2 */
+ u_int16_t serial_number_word3; /* 20 Board serial number word 3 */
+ u_int16_t check_sum; /* 21 EEP check sum */
+ u_int8_t oem_name[16]; /* 22 OEM name */
+ u_int16_t dvc_err_code; /* 30 last device driver error code */
+ u_int16_t adv_err_code; /* 31 last uc and Adv Lib error code */
+ u_int16_t adv_err_addr; /* 32 last uc error address */
+ u_int16_t saved_dvc_err_code; /* 33 saved last dev. driver error code */
+ u_int16_t saved_adv_err_code; /* 34 saved last uc and Adv Lib error code */
+ u_int16_t saved_adv_err_addr; /* 35 saved last uc error address */
+ u_int16_t reserved36; /* 36 reserved */
+ u_int16_t reserved37; /* 37 reserved */
+ u_int16_t reserved38; /* 38 reserved */
+ u_int16_t reserved39; /* 39 reserved */
+ u_int16_t reserved40; /* 40 reserved */
+ u_int16_t reserved41; /* 41 reserved */
+ u_int16_t reserved42; /* 42 reserved */
+ u_int16_t reserved43; /* 43 reserved */
+ u_int16_t reserved44; /* 44 reserved */
+ u_int16_t reserved45; /* 45 reserved */
+ u_int16_t reserved46; /* 46 reserved */
+ u_int16_t reserved47; /* 47 reserved */
+ u_int16_t reserved48; /* 48 reserved */
+ u_int16_t reserved49; /* 49 reserved */
+ u_int16_t reserved50; /* 50 reserved */
+ u_int16_t reserved51; /* 51 reserved */
+ u_int16_t reserved52; /* 52 reserved */
+ u_int16_t reserved53; /* 53 reserved */
+ u_int16_t reserved54; /* 54 reserved */
+ u_int16_t reserved55; /* 55 reserved */
+ u_int16_t cisptr_lsw; /* 56 CIS PTR LSW */
+ u_int16_t cisprt_msw; /* 57 CIS PTR MSW */
+ u_int16_t subsysvid; /* 58 SubSystem Vendor ID */
+ u_int16_t subsysid; /* 59 SubSystem ID */
+ u_int16_t reserved60; /* 60 reserved */
+ u_int16_t reserved61; /* 61 reserved */
+ u_int16_t reserved62; /* 62 reserved */
+ u_int16_t reserved63; /* 63 reserved */
+} ADW_EEP_38C1600_CONFIG;
+
+
/*
* EEPROM Commands
*/
@@ -310,6 +426,7 @@ typedef struct adw_eep_38C0800_config
#define BIOS_CTRL_RESET_SCSI_BUS 0x0200
#define BIOS_CTRL_INIT_VERBOSE 0x0800
#define BIOS_CTRL_SCSI_PARITY 0x1000
+#define BIOS_CTRL_AIPP_DIS 0x2000
#define ADV_3550_MEMSIZE 0x2000 /* 8 KB Internal Memory */
#define ADV_3550_IOLEN 0x40 /* I/O Port Range in bytes */
@@ -317,7 +434,7 @@ typedef struct adw_eep_38C0800_config
#define ADV_38C0800_MEMSIZE 0x4000 /* 16 KB Internal Memory */
#define ADV_38C0800_IOLEN 0x100 /* I/O Port Range in bytes */
-#define ADV_38C1600_MEMSIZE 0x4000 /* 16 KB Internal Memory */
+#define ADV_38C1600_MEMSIZE 0x8000 /* 32 KB Internal Memory */
#define ADV_38C1600_IOLEN 0x100 /* I/O Port Range 256 bytes */
#define ADV_38C1600_MEMLEN 0x1000 /* Memory Range 4KB bytes */
@@ -531,6 +648,14 @@ typedef struct adw_eep_38C0800_config
/*
* Addendum for ASC-38C0800 Chip
+ *
+ * The ASC-38C1600 Chip uses the same definitions except that the
+ * bus mode override bits [12:10] have been moved to byte register
+ * offset 0xE (IOPB_SOFT_OVER_WR) bits [12:10]. The [12:10] bits in
+ * SCSI_CFG1 are read-only and always available. Bit 14 (DIS_TERM_DRV)
+ * is not needed. The [12:10] bits in IOPB_SOFT_OVER_WR are write-only.
+ * Also each ASC-38C1600 function or channel uses only cable bits [5:4]
+ * and [1:0]. Bits [14], [7:6], [3:2] are unused.
*/
#define ADW_DIS_TERM_DRV 0x4000 /* 1: Read c_det[3:0], 0: cannot read */
#define ADW_HVD_LVD_SE 0x1C00 /* Device Detect Bits */
@@ -639,6 +764,33 @@ typedef struct adw_eep_38C0800_config
#define PRE_TEST_VALUE 0x05
#define NORMAL_VALUE 0x00
+/*
+ * ASC38C1600 Definitions
+ *
+ * IOPB_PCI_INT_CFG Bit Field Definitions
+ */
+
+#define INTAB_LD 0x80 /* Value loaded from EEPROM Bit 11. */
+
+/*
+ * Bit 1 can be set to change the interrupt for the Function to operate in
+ * Totem Pole mode. By default Bit 1 is 0 and the interrupt operates in
+ * Open Drain mode. Both functions of the ASC38C1600 must be set to the same
+ * mode, otherwise the operating mode is undefined.
+ */
+#define TOTEMPOLE 0x02
+
+/*
+ * Bit 0 can be used to change the Int Pin for the Function. The value is
+ * 0 by default for both Functions with Function 0 using INT A and Function
+ * B using INT B. For Function 0 if set, INT B is used. For Function 1 if set,
+ * INT A is used.
+ *
+ * EEPROM Word 0 Bit 11 for each Function may change the initial Int Pin
+ * value specified in the PCI Configuration Space.
+ */
+#define INTAB 0x01
+
/*
* Adv Library Status Definitions
@@ -722,6 +874,7 @@ typedef struct adw_eep_38C0800_config
#define ASC_MC_CAM_MODE_MASK 0x015E /* CAM mode TID bitmask. */
#define ASC_MC_ICQ 0x0160
#define ASC_MC_IRQ 0x0164
+#define ASC_MC_PPR_ABLE 0x017A
/*
* BIOS LRAM variable absolute offsets.
@@ -738,6 +891,7 @@ typedef struct adw_eep_38C0800_config
* and handled by the microcode.
*/
#define CONTROL_FLAG_IGNORE_PERR 0x0001 /* Ignore DMA Parity Errors */
+#define CONTROL_FLAG_ENABLE_AIPP 0x0002 /* Enabled AIPP checking. */
/*
* ASC_MC_DEVICE_HSHK_CFG_TABLE microcode table or HSHK_CFG register format
@@ -871,6 +1025,7 @@ typedef struct adw_softc {
u_int16_t sdtr_speed3; /* EEPROM SDTR Speed for TID 8-11 */
u_int16_t sdtr_speed4; /* EEPROM SDTR Speed for TID 12-15 */
u_int16_t tagqng_able; /* try tagged queuing with a device */
+ u_int16_t ppr_able; /* PPR message capable per TID bitmask. */
u_int16_t start_motor; /* start motor command allowed */
u_int8_t max_dvc_qng; /* maximum number of tagged commands per device */
u_int8_t scsi_reset_wait; /* delay in seconds after scsi bus reset */
@@ -913,16 +1068,16 @@ typedef struct adw_scsi_req_q {
u_int32_t carr_pa; /* Carrier p-address */
u_int8_t mflag; /* Adv Library flag field. */
u_int8_t sense_len; /* Auto-sense length. uCode sets to residual. */
- u_int8_t cdb_len; /* SCSI CDB length. */
+ u_int8_t cdb_len; /* SCSI CDB length. Must <= 16 bytes. */
u_int8_t scsi_cntl;
u_int8_t done_status; /* Completion status. */
u_int8_t scsi_status; /* SCSI status byte. (see below) */
u_int8_t host_status; /* Ucode host status. */
u_int8_t sg_working_ix; /* Ucode working SG variable. */
- u_int8_t cdb[12]; /* SCSI command block. */
+ u_int8_t cdb[12]; /* SCSI CDB bytes 0-11. */
u_int32_t sg_real_addr; /* SG list physical address. */
u_int32_t scsiq_rptr; /* Iternal pointer to ADW_SCSI_REQ_Q */
- u_int32_t sg_working_data_cnt;
+ u_int8_t cdb16[4]; /* SCSI CDB bytes 12-15. */
u_int32_t ccb_ptr; /* CCB Physical Address */
u_int32_t carr_va; /* Carrier v-address (unused) */
/*
@@ -988,6 +1143,10 @@ typedef struct adw_scsi_req_q {
#define ADW_WRITE_WORD_REGISTER(iot, ioh, reg_off, word) \
bus_space_write_2((iot), (ioh), (reg_off), (word))
+/* Write double word (4 bytes) to a register. */
+#define ADW_WRITE_DWORD_REGISTER(iot, ioh, reg_off, dword) \
+ bus_space_write_4((iot), (ioh), (reg_off), (dword))
+
/* Read byte from LRAM. */
#define ADW_READ_BYTE_LRAM(iot, ioh, addr, byte) \
do { \
@@ -1143,6 +1302,10 @@ do { \
* SCSI Iquiry structure
*/
+#define INQ_CLOCKING_ST_ONLY 0x0
+#define INQ_CLOCKING_DT_ONLY 0x1
+#define INQ_CLOCKING_ST_AND_DT 0x3
+
typedef struct {
u_int8_t peri_dvc_type : 5; /* peripheral device type */
u_int8_t peri_qualifier : 3; /* peripheral qualifier */
@@ -1253,8 +1416,10 @@ typedef struct asc_req_sense {
int AdvInitAsc3550Driver __P((ADW_SOFTC *));
int AdvInitAsc38C0800Driver __P((ADW_SOFTC *));
+int AdvInitAsc38C1600Driver __P((ADW_SOFTC *));
int AdvInitFrom3550EEP __P((ADW_SOFTC *));
int AdvInitFrom38C0800EEP __P((ADW_SOFTC *));
+int AdvInitFrom38C1600EEP __P((ADW_SOFTC *));
int AdvExeScsiQueue __P((ADW_SOFTC *, ADW_SCSI_REQ_Q *));
int AdvISR __P((ADW_SOFTC *));
void AdvResetChip __P((bus_space_tag_t, bus_space_handle_t));
diff --git a/sys/dev/ic/adwmcode.c b/sys/dev/ic/adwmcode.c
index 0f534808caf..a7fbe3f1738 100644
--- a/sys/dev/ic/adwmcode.c
+++ b/sys/dev/ic/adwmcode.c
@@ -1,4 +1,4 @@
-/* $NetBSD: adwmcode.c,v 1.2 2000/02/03 20:29:16 dante Exp $ */
+/* $NetBSD: adwmcode.c,v 1.3 2000/04/30 18:52:15 dante Exp $ */
/*
* Generic driver definitions and exported functions for the Advanced
@@ -43,7 +43,7 @@
/*
* advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
*
- * Copyright (c) 1995-1998 Advanced System Products, Inc.
+ * Copyright (c) 1995-2000 Advanced System Products, Inc.
* All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -62,683 +62,1039 @@
* This code is loaded into Lram during initializzation procedure.
*/
u_int8_t adv_asc3550_mcode[] = {
- 0x00, 0x00, 0x00, 0xf2, 0x00, 0xf0, 0x00, 0x16, 0x00, 0xfc, 0x48, 0xe4, 0x01, 0x00, 0x18, 0xe4,
- 0x00, 0xf6, 0x01, 0xf6, 0x18, 0x80, 0x48, 0x19, 0x02, 0x00, 0xff, 0xff, 0x03, 0xf6, 0x00, 0xfa,
- 0xff, 0x00, 0x82, 0xe7, 0x01, 0xfa, 0x9e, 0xe7, 0x09, 0xe7, 0x3a, 0x0e, 0x00, 0xea, 0x01, 0xe6,
- 0x55, 0xf0, 0x03, 0x00, 0x08, 0x00, 0x18, 0xf4, 0x3e, 0x01, 0x3e, 0x57, 0x04, 0x00, 0x85, 0xf0,
- 0x00, 0xe6, 0x00, 0xec, 0x1e, 0xf0, 0x32, 0xf0, 0x34, 0x19, 0x86, 0xf0, 0xd0, 0x01, 0xd5, 0xf0,
- 0xde, 0x0c, 0x98, 0x57, 0xbc, 0x00, 0x0c, 0x1c, 0x0e, 0x13, 0x38, 0x54, 0xb1, 0xf0, 0xb4, 0x00,
- 0x01, 0xfc, 0x03, 0xfc, 0xd8, 0x0c, 0x00, 0x57, 0x01, 0xf0, 0x02, 0x13, 0x03, 0xe6, 0x10, 0x00,
- 0x18, 0x40, 0x3e, 0x1c, 0x6c, 0x01, 0x6e, 0x01, 0xbd, 0x00, 0xe0, 0x00, 0x02, 0x48, 0x02, 0x80,
- 0x08, 0x12, 0x30, 0xe4, 0x3c, 0x00, 0x4e, 0x01, 0x64, 0x12, 0x80, 0x00, 0x9c, 0x15, 0xbb, 0x00,
- 0x00, 0x4e, 0x01, 0x01, 0x01, 0xea, 0x04, 0x12, 0x9e, 0x0f, 0xb6, 0x00, 0xb9, 0x54, 0xe2, 0x0f,
- 0x00, 0x80, 0x06, 0xf7, 0x10, 0x44, 0x24, 0x01, 0x28, 0x01, 0x32, 0x00, 0x3c, 0x01, 0x3c, 0x56,
- 0x3e, 0x00, 0x4b, 0xe4, 0x4c, 0x1c, 0x68, 0x01, 0x6a, 0x01, 0x70, 0x01, 0x72, 0x01, 0x74, 0x01,
- 0x76, 0x01, 0x78, 0x01, 0xe2, 0x0c, 0x00, 0x01, 0x02, 0xee, 0x02, 0xfc, 0x03, 0x58, 0x03, 0xf7,
- 0x04, 0x80, 0x05, 0xfc, 0x08, 0x44, 0x09, 0xf0, 0x0f, 0x00, 0x1b, 0x80, 0x20, 0x01, 0x38, 0x1c,
- 0x40, 0x00, 0x40, 0x15, 0x4b, 0xf4, 0x4e, 0x1c, 0x5b, 0xf0, 0x5d, 0xf0, 0xaa, 0x00, 0xbb, 0x55,
- 0xbe, 0x00, 0xc0, 0x00, 0xe0, 0x08, 0xe0, 0x14, 0xec, 0x0f, 0x00, 0x4c, 0x00, 0xdc, 0x02, 0x4a,
- 0x05, 0x00, 0x05, 0xf0, 0x05, 0xf8, 0x06, 0x13, 0x08, 0x13, 0x0c, 0x00, 0x0e, 0x47, 0x0e, 0xf7,
- 0x19, 0x00, 0x20, 0x00, 0x2a, 0x01, 0x30, 0x0e, 0x32, 0x1c, 0x36, 0x00, 0x45, 0x5a, 0x59, 0xf0,
- 0x62, 0x0a, 0x69, 0x08, 0x72, 0x0b, 0x83, 0x59, 0xb8, 0xf0, 0xbd, 0x56, 0xcc, 0x12, 0xec, 0x17,
- 0xee, 0x0f, 0xf0, 0x00, 0xf8, 0x17, 0x01, 0x48, 0x02, 0xfa, 0x03, 0xfa, 0x04, 0x10, 0x04, 0xea,
- 0x04, 0xf6, 0x04, 0xfc, 0x05, 0x80, 0x05, 0xe6, 0x06, 0x00, 0x06, 0x12, 0x0a, 0x10, 0x0b, 0xf0,
- 0x0c, 0x10, 0x0c, 0xf0, 0x12, 0x10, 0x26, 0x0e, 0x30, 0x1c, 0x33, 0x00, 0x34, 0x00, 0x38, 0x44,
- 0x40, 0x5c, 0x4a, 0xe4, 0x62, 0x1a, 0x68, 0x08, 0x68, 0x54, 0x83, 0x55, 0x83, 0x5a, 0x8c, 0x14,
- 0x8e, 0x0a, 0x90, 0x14, 0x91, 0x44, 0xa4, 0x00, 0xb0, 0x57, 0xb5, 0x00, 0xba, 0x00, 0xce, 0x45,
- 0xd0, 0x00, 0xd8, 0x16, 0xe1, 0x00, 0xe7, 0x00, 0x00, 0x54, 0x01, 0x58, 0x02, 0x10, 0x02, 0xe6,
- 0x03, 0xa1, 0x04, 0x13, 0x06, 0x83, 0x06, 0xf0, 0x07, 0x00, 0x0a, 0x00, 0x0a, 0x12, 0x0a, 0xf0,
- 0x0c, 0x04, 0x0c, 0x12, 0x0c, 0x90, 0x10, 0x10, 0x10, 0x13, 0x12, 0x1c, 0x17, 0x00, 0x19, 0xe4,
- 0x1a, 0x10, 0x1c, 0x00, 0x1c, 0x12, 0x1d, 0xf7, 0x1e, 0x13, 0x20, 0x1c, 0x20, 0xe7, 0x22, 0x01,
- 0x26, 0x01, 0x2a, 0x12, 0x30, 0xe7, 0x34, 0x1c, 0x36, 0x1c, 0x38, 0x12, 0x41, 0x58, 0x43, 0x48,
- 0x44, 0x55, 0x46, 0x1c, 0x4c, 0x0e, 0x4e, 0xe4, 0x52, 0x14, 0x5c, 0xf0, 0x72, 0x02, 0x74, 0x03,
- 0x77, 0x57, 0x89, 0x48, 0x8e, 0x90, 0x99, 0x00, 0x9b, 0x00, 0x9c, 0x32, 0x9e, 0x00, 0xa8, 0x00,
- 0xb9, 0x00, 0xba, 0x06, 0xbc, 0x12, 0xbf, 0x57, 0xc0, 0x01, 0xfe, 0x9c, 0xf0, 0x26, 0x02, 0xfe,
- 0x00, 0x0d, 0xff, 0x10, 0x00, 0x00, 0xfe, 0xc2, 0x01, 0xfe, 0x56, 0x19, 0x00, 0xfc, 0xfe, 0x80,
- 0x01, 0xff, 0x03, 0x00, 0x00, 0xfe, 0x6a, 0x13, 0xfe, 0x05, 0x05, 0xff, 0x40, 0x00, 0x00, 0x0d,
- 0xff, 0x09, 0x00, 0x00, 0xff, 0x08, 0x01, 0x01, 0xff, 0x10, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00,
- 0xff, 0x10, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0xfe, 0x78, 0x56, 0xfe, 0x34, 0x12, 0xff, 0x21,
- 0x00, 0x00, 0xfe, 0x04, 0xf7, 0xfc, 0x2b, 0x51, 0x0c, 0x01, 0xfe, 0xea, 0x0e, 0xfe, 0x04, 0xf7,
- 0xfc, 0x51, 0x0c, 0x1d, 0x2b, 0xfe, 0x3d, 0xf0, 0xfe, 0xf8, 0x01, 0xfe, 0x20, 0xf0, 0xd0, 0x04,
- 0x56, 0x4b, 0x02, 0xfe, 0x1c, 0x0d, 0x01, 0xfe, 0x7c, 0x0d, 0xfe, 0xe9, 0x12, 0x02, 0xfe, 0x04,
- 0x03, 0xfe, 0x28, 0x1c, 0x04, 0xfe, 0xa6, 0x00, 0xfe, 0xdd, 0x12, 0x4e, 0x12, 0xfe, 0xa6, 0x00,
- 0xc5, 0xfe, 0x48, 0xf0, 0xfe, 0x7c, 0x02, 0xfe, 0x49, 0xf0, 0xfe, 0x96, 0x02, 0xfe, 0x4a, 0xf0,
- 0xfe, 0xb4, 0x02, 0xfe, 0x46, 0xf0, 0xfe, 0x46, 0x02, 0xfe, 0x47, 0xf0, 0xfe, 0x4c, 0x02, 0xfe,
- 0x43, 0xf0, 0xfe, 0x3a, 0x02, 0xfe, 0x44, 0xf0, 0xfe, 0x3e, 0x02, 0xfe, 0x45, 0xf0, 0xfe, 0x42,
- 0x02, 0x09, 0x0c, 0x9e, 0x09, 0x06, 0x12, 0xbb, 0x02, 0x26, 0xfe, 0x00, 0x1c, 0xfe, 0xf1, 0x10,
- 0xfe, 0x02, 0x1c, 0xfe, 0xed, 0x10, 0xfe, 0x1e, 0x1c, 0xfe, 0xe9, 0x10, 0x01, 0xfe, 0x4c, 0x17,
- 0xfe, 0xe7, 0x10, 0xfe, 0x06, 0xfc, 0xf7, 0x0e, 0x78, 0x01, 0xab, 0x02, 0x26, 0x17, 0x55, 0x4a,
- 0xbd, 0x01, 0xfe, 0x60, 0x0f, 0x0e, 0x78, 0x01, 0x8b, 0xfe, 0xbd, 0x10, 0x0e, 0x78, 0x01, 0x8b,
- 0xfe, 0xad, 0x10, 0xfe, 0x16, 0x1c, 0xfe, 0x58, 0x1c, 0x09, 0x06, 0x12, 0xbb, 0x2b, 0x22, 0x26,
- 0xfe, 0x3d, 0xf0, 0xfe, 0xf8, 0x01, 0x27, 0xfe, 0x8a, 0x02, 0xfe, 0x5a, 0x1c, 0xd5, 0xfe, 0x14,
- 0x1c, 0x17, 0xfe, 0x30, 0x00, 0x4a, 0xbd, 0x01, 0xfe, 0x50, 0x0f, 0x09, 0x06, 0x12, 0xbb, 0x02,
- 0xfe, 0xc2, 0x01, 0x21, 0x2a, 0x05, 0x10, 0x35, 0xfe, 0x69, 0x10, 0x09, 0x06, 0x12, 0xbb, 0xfe,
- 0x04, 0xec, 0x2a, 0x08, 0x2a, 0x09, 0x3c, 0x1d, 0x01, 0x46, 0x7f, 0xfe, 0x05, 0xf6, 0xf7, 0x01,
- 0xfe, 0x76, 0x16, 0x0a, 0x41, 0x89, 0x38, 0x11, 0x47, 0x1d, 0xca, 0x08, 0x1c, 0x09, 0x43, 0x01,
- 0x71, 0x02, 0x26, 0x0e, 0x3d, 0x01, 0x15, 0x05, 0x10, 0x2c, 0x08, 0x1c, 0x09, 0x43, 0x01, 0x7b,
- 0xfe, 0x28, 0x10, 0x0e, 0xc0, 0x01, 0x15, 0xe6, 0x0e, 0x79, 0x01, 0x15, 0xfe, 0x49, 0x54, 0x74,
- 0xfe, 0x12, 0x03, 0x08, 0x1c, 0x09, 0x43, 0x01, 0x71, 0x02, 0x26, 0x2b, 0x7f, 0xfe, 0x02, 0xe8,
- 0x2f, 0xfb, 0xfe, 0x9e, 0x43, 0xf0, 0xfe, 0x07, 0x4b, 0xfe, 0x20, 0xf0, 0xd0, 0xfe, 0x40, 0x1c,
- 0x22, 0xef, 0xfe, 0x26, 0xf0, 0xfe, 0x70, 0x03, 0xfe, 0xa0, 0xf0, 0xfe, 0x5e, 0x03, 0xfe, 0x11,
- 0xf0, 0xd0, 0xfe, 0x0e, 0x10, 0xfe, 0x9f, 0xf0, 0xfe, 0x7e, 0x03, 0xe9, 0x13, 0xfe, 0x11, 0x00,
- 0x02, 0x62, 0x2b, 0xfe, 0x48, 0x1c, 0xe9, 0x22, 0xef, 0x34, 0xef, 0xfe, 0x82, 0xf0, 0xfe, 0x84,
- 0x03, 0x2d, 0x21, 0xbe, 0x6a, 0x16, 0xbe, 0x0e, 0x79, 0x01, 0x15, 0x6a, 0x7d, 0x08, 0x1c, 0x09,
- 0x43, 0x01, 0x46, 0x11, 0x3d, 0x08, 0x3d, 0x09, 0x99, 0x01, 0x71, 0xf5, 0x11, 0xfe, 0xe4, 0x00,
- 0x2e, 0xfe, 0xca, 0x03, 0x22, 0x32, 0x1f, 0xfe, 0xda, 0x03, 0x01, 0x4c, 0xcb, 0xfe, 0xea, 0x03,
- 0x6b, 0x92, 0xcf, 0xfe, 0xaa, 0x06, 0x02, 0x28, 0x04, 0x78, 0x29, 0x18, 0xfe, 0x1c, 0x05, 0x17,
- 0x85, 0x01, 0x44, 0x01, 0x97, 0x01, 0x9a, 0x34, 0xfe, 0x5c, 0x02, 0x02, 0xee, 0xe9, 0x2b, 0x51,
- 0x19, 0xfe, 0x67, 0x1b, 0xfb, 0xf0, 0xfe, 0x48, 0x1c, 0x8c, 0x01, 0xfa, 0xac, 0xfe, 0x96, 0xf0,
- 0xfe, 0x24, 0x04, 0x2e, 0xfe, 0x28, 0x04, 0x34, 0x26, 0x0e, 0x3d, 0x01, 0x15, 0x05, 0x10, 0x18,
- 0xfe, 0x08, 0x05, 0x3e, 0x90, 0x9f, 0x2f, 0x82, 0x6e, 0x22, 0x32, 0x1f, 0x28, 0x04, 0x78, 0x29,
- 0xfe, 0x10, 0x12, 0x17, 0x85, 0x01, 0x44, 0x34, 0xfe, 0x5c, 0x02, 0x02, 0xee, 0x31, 0xfe, 0xa0,
- 0x00, 0xfe, 0x9b, 0x57, 0xfe, 0x5e, 0x12, 0x0a, 0x07, 0x06, 0xfe, 0x56, 0x12, 0x23, 0x24, 0x91,
- 0x01, 0x0b, 0x82, 0x6e, 0x1f, 0xfe, 0xd8, 0x04, 0x23, 0x24, 0x91, 0x01, 0x0b, 0x1f, 0x28, 0x23,
- 0x24, 0xb3, 0xfe, 0x4c, 0x44, 0xfe, 0x32, 0x12, 0x57, 0xfe, 0x44, 0x48, 0x08, 0xd6, 0xfe, 0x4c,
- 0x54, 0x74, 0xfe, 0x08, 0x05, 0x7f, 0x9f, 0x2f, 0xfe, 0x06, 0x80, 0xfe, 0x48, 0x47, 0xfe, 0x48,
- 0x13, 0x3f, 0x05, 0xfe, 0xcc, 0x00, 0xfe, 0x40, 0x13, 0x0a, 0x07, 0x06, 0xe5, 0xfe, 0x06, 0x10,
- 0x23, 0x24, 0xb3, 0x0a, 0x07, 0x37, 0xda, 0x17, 0xa4, 0x0a, 0x07, 0x06, 0x4b, 0x17, 0xfe, 0x0d,
- 0x00, 0x01, 0x44, 0x34, 0xfe, 0xc0, 0x0c, 0x02, 0x28, 0x39, 0x11, 0xfe, 0xe6, 0x00, 0xfe, 0x1c,
- 0x90, 0xb0, 0x03, 0x17, 0xa4, 0x01, 0x44, 0x34, 0x26, 0x22, 0x26, 0x02, 0xfe, 0x10, 0x05, 0xfe,
- 0x42, 0x5b, 0x51, 0x19, 0xfe, 0x46, 0x59, 0xfb, 0xf0, 0x17, 0x45, 0xfe, 0x07, 0x80, 0xfe, 0x31,
- 0x44, 0x0a, 0x07, 0x0c, 0xfe, 0x78, 0x13, 0xfe, 0x20, 0x80, 0x05, 0x19, 0xfe, 0x70, 0x12, 0x6d,
- 0x07, 0x06, 0xfe, 0x60, 0x13, 0x04, 0xfe, 0xa2, 0x00, 0x29, 0x18, 0xfe, 0xa8, 0x05, 0xfe, 0x31,
- 0xe4, 0x70, 0x6d, 0x07, 0x0c, 0xfe, 0x4a, 0x13, 0x04, 0xfe, 0xa0, 0x00, 0x29, 0xfe, 0x42, 0x12,
- 0x5a, 0x2e, 0xfe, 0x68, 0x05, 0x22, 0x32, 0xf1, 0x01, 0x0b, 0x25, 0xfe, 0xc0, 0x05, 0x11, 0xfe,
- 0xe3, 0x00, 0x2d, 0x6d, 0xfe, 0x4a, 0xf0, 0xfe, 0x92, 0x05, 0xfe, 0x49, 0xf0, 0xfe, 0x8c, 0x05,
- 0xa8, 0x20, 0xfe, 0x21, 0x00, 0xa6, 0x20, 0xfe, 0x22, 0x00, 0x9e, 0x20, 0x89, 0xfe, 0x09, 0x48,
- 0x01, 0x0b, 0x25, 0xfe, 0xc0, 0x05, 0xfe, 0xe2, 0x08, 0x6d, 0x07, 0xd9, 0x4b, 0x01, 0x96, 0x20,
- 0x06, 0x16, 0xe0, 0x4a, 0xfe, 0x27, 0x01, 0x0a, 0x07, 0x37, 0xe1, 0x4e, 0x01, 0xb9, 0x17, 0xa4,
- 0x0a, 0x07, 0x06, 0x4b, 0x17, 0xfe, 0x0d, 0x00, 0x01, 0x44, 0x01, 0x97, 0x01, 0x9a, 0x34, 0xfe,
- 0xc0, 0x0c, 0x02, 0x28, 0x04, 0xfe, 0x9c, 0x00, 0x29, 0xfe, 0x3e, 0x12, 0x04, 0x53, 0x29, 0xfe,
- 0x36, 0x13, 0x4e, 0x01, 0xb9, 0x25, 0xfe, 0x38, 0x06, 0x0e, 0x06, 0x6d, 0x07, 0x1a, 0xfe, 0x02,
- 0x12, 0x77, 0x01, 0xfe, 0x26, 0x14, 0x1f, 0xfe, 0x2e, 0x06, 0x11, 0xc2, 0x01, 0x4c, 0x11, 0xfe,
- 0xe5, 0x00, 0x04, 0x53, 0xbc, 0x0f, 0x53, 0x04, 0xf6, 0x29, 0xfe, 0x62, 0x12, 0x04, 0x4d, 0x29,
- 0xfe, 0x5a, 0x13, 0x01, 0xfe, 0x9e, 0x18, 0x01, 0xfe, 0xf0, 0x18, 0xe7, 0xa3, 0x1a, 0x08, 0x63,
- 0xff, 0x02, 0x00, 0x57, 0x66, 0x7e, 0x1b, 0x50, 0xc9, 0xa3, 0x6c, 0x4e, 0x01, 0xb9, 0x25, 0xfe,
- 0xa2, 0x06, 0x6d, 0x07, 0x1e, 0xa5, 0x95, 0x0e, 0x55, 0x01, 0xfe, 0x54, 0x14, 0x1f, 0xfe, 0x98,
- 0x06, 0x11, 0xc2, 0x01, 0x4c, 0x11, 0xfe, 0xe5, 0x00, 0x04, 0x4d, 0xbc, 0x0f, 0x4d, 0x09, 0x06,
- 0x01, 0xb9, 0xf5, 0x73, 0x8c, 0x01, 0xfa, 0xac, 0x11, 0xfe, 0xe2, 0x00, 0x2e, 0xf9, 0x22, 0x32,
- 0xcf, 0xfe, 0xd6, 0x06, 0x81, 0xfe, 0x74, 0x07, 0xcb, 0xfe, 0x7c, 0x07, 0x6b, 0x92, 0x02, 0x28,
- 0x0a, 0x07, 0x0c, 0xfe, 0x2e, 0x12, 0x14, 0x19, 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b, 0x14, 0x00,
- 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b, 0xfe, 0x99, 0xa4, 0x01, 0x0b, 0x14, 0x00, 0x02, 0xfe, 0x4c,
- 0x08, 0x68, 0x07, 0x1e, 0xe5, 0x0a, 0x07, 0x1e, 0xfe, 0x30, 0x13, 0x14, 0xfe, 0x1b, 0x00, 0x01,
- 0x0b, 0x14, 0x00, 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b, 0x14, 0x06, 0x01,
- 0x0b, 0x14, 0x00, 0x02, 0xfe, 0x2a, 0x0b, 0x77, 0xfe, 0x9a, 0x81, 0x67, 0x89, 0xfe, 0x09, 0x6f,
- 0xfe, 0x93, 0x45, 0x18, 0xfe, 0x84, 0x07, 0x2e, 0xfe, 0x5c, 0x07, 0x22, 0x32, 0xcf, 0xfe, 0x54,
- 0x07, 0x6b, 0x92, 0x81, 0xfe, 0x74, 0x07, 0x02, 0x28, 0x01, 0x4c, 0x02, 0xf9, 0x14, 0x1a, 0x02,
- 0xf9, 0xfe, 0x9c, 0xf7, 0xfe, 0xec, 0x07, 0xfe, 0x2c, 0x90, 0xfe, 0xae, 0x90, 0x75, 0xfe, 0xd2,
- 0x07, 0x0f, 0x5d, 0x12, 0x5e, 0x0a, 0x41, 0x70, 0x38, 0x01, 0xfe, 0x34, 0x18, 0x05, 0x10, 0x83,
- 0xfe, 0x83, 0xe7, 0x88, 0xa6, 0xfe, 0x03, 0x40, 0x0a, 0x41, 0x45, 0x38, 0x01, 0xc1, 0xaf, 0xfe,
- 0x1f, 0x40, 0x16, 0x61, 0x01, 0xfe, 0xde, 0x12, 0xfe, 0x08, 0x50, 0xfe, 0x8a, 0x50, 0xfe, 0x34,
- 0x51, 0xfe, 0xb6, 0x51, 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90, 0x0f, 0x5b, 0x12, 0x5c, 0xd2, 0xf2,
- 0x0f, 0x3a, 0x12, 0x3b, 0xfe, 0x60, 0x10, 0x0a, 0x07, 0x70, 0xe1, 0xfe, 0x2c, 0x90, 0xfe, 0xae,
- 0x90, 0x0f, 0x5d, 0x12, 0x5e, 0x0a, 0x07, 0x45, 0xc9, 0x01, 0xc1, 0xfe, 0x1f, 0x80, 0x16, 0x61,
- 0xfe, 0x34, 0x90, 0xfe, 0xb6, 0x90, 0x0f, 0x5f, 0x12, 0x60, 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90,
- 0x0f, 0x5b, 0x12, 0x5c, 0xa2, 0x07, 0x45, 0x2c, 0xd2, 0xf2, 0x0f, 0x3a, 0x12, 0x3b, 0xa8, 0xfe,
- 0x28, 0x90, 0xfe, 0xaa, 0x90, 0x0f, 0x3a, 0x12, 0x3b, 0x0f, 0x42, 0x12, 0x58, 0x0a, 0x41, 0x1a,
- 0x38, 0x2b, 0x08, 0x80, 0x2e, 0xfe, 0x62, 0x08, 0xfe, 0x9e, 0xf0, 0xfe, 0x76, 0x08, 0x9b, 0x18,
- 0x32, 0x2b, 0x52, 0xfe, 0xed, 0x10, 0xa7, 0xfe, 0x9a, 0x08, 0xa9, 0xfe, 0xb6, 0x08, 0x81, 0xfe,
- 0x8e, 0x08, 0xcb, 0xfe, 0x94, 0x08, 0x6b, 0x92, 0x02, 0x28, 0x01, 0x4c, 0xfe, 0xc9, 0x10, 0x14,
- 0x1a, 0xfe, 0xc9, 0x10, 0x68, 0x07, 0x06, 0xfe, 0x10, 0x12, 0x68, 0x07, 0x0c, 0x40, 0x0a, 0x07,
- 0x0c, 0xfe, 0x7e, 0x12, 0xfe, 0x2e, 0x1c, 0xaa, 0x68, 0x07, 0x06, 0x40, 0x68, 0x07, 0x0c, 0xfe,
- 0x6a, 0x12, 0xfe, 0x2c, 0x1c, 0xa2, 0x07, 0x45, 0xd4, 0xa2, 0x41, 0x45, 0xfe, 0x05, 0x40, 0xd2,
- 0xf2, 0xfe, 0x28, 0x50, 0xfe, 0xaa, 0x50, 0xfe, 0xaa, 0xf0, 0xfe, 0x4e, 0x09, 0xfe, 0xac, 0xf0,
- 0xfe, 0xee, 0x08, 0xfe, 0x92, 0x10, 0xe3, 0xfe, 0xf3, 0x10, 0xfe, 0xad, 0xf0, 0xfe, 0xfa, 0x08,
- 0x02, 0xfe, 0x5c, 0x0a, 0xe4, 0xfe, 0xe7, 0x10, 0xfe, 0x2b, 0xf0, 0xb8, 0xfe, 0x6b, 0x18, 0x1b,
- 0xfe, 0x00, 0xfe, 0xda, 0xc5, 0xfe, 0xd2, 0xf0, 0xb8, 0xfe, 0x76, 0x18, 0x1b, 0x19, 0x18, 0xb8,
- 0x04, 0xdf, 0x1b, 0x06, 0x18, 0xb8, 0xa7, 0x7a, 0xa9, 0x7a, 0xe3, 0xe4, 0xfe, 0xb1, 0x10, 0x8c,
- 0x5a, 0x39, 0x17, 0xa4, 0x01, 0x44, 0x13, 0xfe, 0x35, 0x00, 0x34, 0x62, 0x13, 0x8d, 0x02, 0x62,
- 0xfe, 0x74, 0x18, 0x1b, 0xfe, 0x00, 0xf8, 0x18, 0x7a, 0x51, 0x1e, 0x01, 0xfe, 0x7c, 0x0d, 0xd1,
- 0x08, 0x1c, 0x09, 0x43, 0x01, 0x71, 0x21, 0x2f, 0x3e, 0x51, 0x19, 0x02, 0x7a, 0xfe, 0x98, 0x80,
- 0xd7, 0x0c, 0x27, 0xfe, 0x3e, 0x0a, 0x0a, 0x07, 0x70, 0xfe, 0x82, 0x12, 0x0a, 0x07, 0x1a, 0xfe,
- 0x66, 0x13, 0x21, 0x61, 0x6a, 0xc8, 0xfe, 0x83, 0x80, 0xfe, 0xc8, 0x44, 0xfe, 0x2e, 0x13, 0xfe,
- 0x04, 0x91, 0xfe, 0x86, 0x91, 0x64, 0x2f, 0xfe, 0x40, 0x59, 0xfe, 0xc1, 0x59, 0x75, 0xfe, 0xea,
- 0x08, 0x04, 0x5d, 0x30, 0x5e, 0x0f, 0xae, 0x12, 0x8d, 0x9c, 0x5d, 0x9d, 0x5e, 0x01, 0xc1, 0xaf,
- 0x64, 0x2f, 0x16, 0x61, 0xa1, 0x42, 0x69, 0x58, 0x65, 0x5f, 0x31, 0x60, 0xe8, 0xfe, 0xe5, 0x55,
- 0xfe, 0x04, 0xfa, 0x42, 0xfe, 0x05, 0xfa, 0x58, 0x01, 0xfe, 0xde, 0x12, 0xfe, 0x36, 0x10, 0x2d,
- 0x0f, 0xae, 0x0f, 0x8d, 0x65, 0x5f, 0x31, 0x60, 0xaa, 0x0a, 0x07, 0x1a, 0x18, 0xfe, 0xea, 0x08,
- 0x65, 0x3a, 0x31, 0x3b, 0x0a, 0x07, 0xfe, 0xf7, 0x00, 0x38, 0x04, 0x5b, 0x30, 0x5c, 0xfe, 0x10,
- 0x58, 0xfe, 0x91, 0x58, 0xfe, 0x14, 0x59, 0xfe, 0x95, 0x59, 0x02, 0x7a, 0x0a, 0x07, 0x1a, 0x18,
- 0xfe, 0xea, 0x08, 0x0a, 0x07, 0xfe, 0xf7, 0x00, 0x38, 0xfe, 0x3a, 0x55, 0xfe, 0x19, 0x81, 0x77,
- 0xfe, 0x10, 0x90, 0xfe, 0x92, 0x90, 0xfe, 0xd7, 0x10, 0x3f, 0x05, 0xc3, 0x18, 0xfe, 0xf6, 0x08,
- 0x11, 0xc3, 0xfe, 0x98, 0x80, 0xd7, 0x0c, 0xfe, 0x14, 0x13, 0x04, 0x3a, 0x30, 0x3b, 0x75, 0xfe,
- 0xf6, 0x08, 0xfe, 0x0c, 0x58, 0xfe, 0x8d, 0x58, 0x02, 0x7a, 0x2d, 0x4e, 0xfe, 0x19, 0x80, 0xfe,
- 0xf1, 0x10, 0x0a, 0x07, 0x0c, 0xa5, 0xfe, 0x6c, 0x19, 0xfe, 0x19, 0x41, 0xfe, 0x8e, 0x10, 0xfe,
- 0x6c, 0x19, 0x9c, 0x3a, 0xfe, 0xed, 0x19, 0x9d, 0x3b, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0xfe,
- 0x6b, 0x18, 0x1b, 0xfe, 0x00, 0xff, 0x35, 0xfe, 0x74, 0x10, 0xc5, 0xfe, 0xd2, 0xf0, 0xfe, 0xd6,
- 0x0a, 0xfe, 0x76, 0x18, 0x1b, 0x19, 0xce, 0x04, 0xdf, 0x1b, 0x06, 0x84, 0x13, 0xfe, 0x16, 0x00,
- 0x02, 0x62, 0xfe, 0xd1, 0xf0, 0xfe, 0xe8, 0x0a, 0x17, 0x80, 0x01, 0x44, 0x13, 0xd6, 0xfe, 0x42,
- 0x10, 0xfe, 0xce, 0xf0, 0xfe, 0xee, 0x0a, 0xfe, 0x3c, 0x10, 0xfe, 0xcd, 0xf0, 0xfe, 0xfa, 0x0a,
- 0x13, 0xfe, 0x22, 0x00, 0x02, 0x62, 0xfe, 0xcb, 0xf0, 0xfe, 0x06, 0x0b, 0x13, 0xfe, 0x24, 0x00,
- 0x02, 0x62, 0xfe, 0xd0, 0xf0, 0xfe, 0x10, 0x0b, 0x13, 0x88, 0xd8, 0xfe, 0xcf, 0xf0, 0xfe, 0x1a,
- 0x0b, 0x13, 0x89, 0xd3, 0xfe, 0xcc, 0xf0, 0xfe, 0x2a, 0x0b, 0xfe, 0x84, 0x80, 0xd7, 0x1a, 0x4b,
- 0x13, 0xfe, 0x12, 0x00, 0x2b, 0x08, 0x80, 0x2e, 0xfe, 0x30, 0x0b, 0xfe, 0x9e, 0xf0, 0xfe, 0x44,
- 0x0b, 0x9b, 0x18, 0x32, 0x2b, 0x52, 0xfe, 0xed, 0x10, 0xa7, 0x28, 0xa9, 0x28, 0x2b, 0xf5, 0x2e,
- 0xfe, 0x50, 0x0b, 0x22, 0x32, 0x81, 0xfe, 0x6c, 0x0b, 0x6b, 0x92, 0xa7, 0xfe, 0xec, 0x07, 0xa9,
- 0xfe, 0xec, 0x07, 0x02, 0x28, 0x01, 0x4c, 0xfe, 0xdb, 0x10, 0x11, 0xfe, 0xe8, 0x00, 0xe3, 0xe4,
- 0x8c, 0x82, 0x6e, 0xfe, 0x89, 0xf0, 0x28, 0x23, 0x24, 0xfe, 0xe9, 0x09, 0x01, 0x0b, 0x82, 0x6e,
- 0x1f, 0x28, 0x23, 0x24, 0x91, 0x34, 0xfe, 0xa8, 0x0b, 0x22, 0x32, 0x02, 0xfe, 0x9c, 0x0b, 0x9b,
- 0x40, 0x13, 0xfe, 0x42, 0x00, 0x02, 0x62, 0xa0, 0x06, 0xfe, 0x81, 0x49, 0x96, 0x0a, 0x07, 0x0c,
- 0xfe, 0x5a, 0x13, 0x13, 0x00, 0x59, 0x0c, 0xfe, 0x6a, 0x12, 0x59, 0xfe, 0x28, 0x00, 0x27, 0xfe,
- 0xee, 0x0c, 0x0e, 0x79, 0x01, 0x15, 0x05, 0x00, 0x84, 0x36, 0xfe, 0x28, 0x00, 0x02, 0xfe, 0xee,
- 0x0c, 0x01, 0x97, 0x01, 0x9a, 0x0e, 0xc0, 0x01, 0xfe, 0x44, 0x0e, 0xb2, 0x08, 0x3d, 0x09, 0x99,
- 0x01, 0x46, 0x11, 0x47, 0x08, 0x1c, 0x09, 0x43, 0x01, 0x7b, 0x02, 0x26, 0x13, 0xfe, 0x44, 0x00,
- 0x59, 0x0c, 0xa5, 0x36, 0x0c, 0xfe, 0xc0, 0x10, 0x01, 0x96, 0x36, 0x0c, 0xfe, 0xb6, 0x10, 0x01,
- 0x96, 0xfe, 0x19, 0x82, 0xfe, 0x34, 0x46, 0xfe, 0x0a, 0x13, 0x36, 0x0c, 0x13, 0xfe, 0x43, 0x00,
- 0xfe, 0xa2, 0x10, 0x0a, 0x41, 0x0c, 0x38, 0x01, 0x97, 0x01, 0x9a, 0xb2, 0x08, 0x3d, 0x09, 0x99,
- 0x01, 0x46, 0x11, 0x47, 0x08, 0x1c, 0x09, 0x43, 0x01, 0x7b, 0x51, 0x0c, 0xb2, 0x1d, 0xca, 0x02,
- 0xfe, 0x48, 0x03, 0x0a, 0x07, 0x0c, 0xce, 0x36, 0x0c, 0x13, 0x00, 0xfe, 0x54, 0x10, 0x68, 0x07,
- 0x1e, 0xfe, 0x50, 0x12, 0x0a, 0x07, 0x1e, 0xfe, 0x48, 0x13, 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0,
- 0xfe, 0xac, 0x0c, 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0xb2, 0x0c, 0x0a, 0x41, 0x1e, 0x38,
- 0xfe, 0x95, 0x10, 0x13, 0xfe, 0x15, 0x00, 0xfe, 0x04, 0xe6, 0x0c, 0x77, 0xfe, 0x26, 0x10, 0x13,
- 0xfe, 0x13, 0x00, 0xd3, 0x13, 0xfe, 0x47, 0x00, 0xa6, 0x13, 0xfe, 0x41, 0x00, 0x9e, 0x13, 0xfe,
- 0x24, 0x00, 0x04, 0x78, 0x29, 0x27, 0xee, 0x77, 0xfe, 0x04, 0xe6, 0x1e, 0xfe, 0x9d, 0x41, 0xfe,
- 0x1c, 0x42, 0xb2, 0x01, 0xea, 0x02, 0x26, 0xd5, 0x17, 0x0c, 0x4a, 0xf4, 0xdd, 0x17, 0xfe, 0x31,
- 0x00, 0x4a, 0xbd, 0x01, 0xfe, 0x50, 0x0f, 0x02, 0xfe, 0xc2, 0x01, 0x1d, 0xfe, 0x06, 0xec, 0xf8,
- 0x86, 0x36, 0x37, 0xbf, 0x35, 0x1d, 0xfe, 0x06, 0xea, 0xf8, 0xfe, 0x47, 0x4b, 0x95, 0xfe, 0x75,
- 0x57, 0x04, 0x56, 0xfe, 0x98, 0x56, 0xfe, 0x28, 0x12, 0x0e, 0x79, 0xfe, 0xf4, 0x14, 0x4e, 0xe6,
- 0x0e, 0xc0, 0xfe, 0xea, 0x14, 0xfe, 0x49, 0x54, 0x8f, 0xfe, 0x62, 0x0d, 0x0e, 0x1c, 0xfe, 0xde,
- 0x14, 0xfe, 0x44, 0x48, 0x02, 0xfe, 0x48, 0x03, 0x0e, 0x56, 0xfe, 0xc8, 0x14, 0x86, 0x36, 0x37,
- 0xbf, 0x35, 0x1d, 0xfe, 0xce, 0x47, 0xfe, 0xbd, 0x13, 0x02, 0x26, 0x21, 0x2a, 0x05, 0x10, 0xfe,
- 0x78, 0x12, 0x2d, 0x16, 0x55, 0x16, 0xad, 0x21, 0x47, 0x4e, 0x4a, 0x47, 0x9b, 0xfe, 0x0c, 0x13,
- 0xfe, 0xbc, 0xf0, 0xfe, 0xfe, 0x0d, 0x08, 0x06, 0x16, 0x55, 0x01, 0xfe, 0x06, 0x16, 0x04, 0xfe,
- 0x38, 0x01, 0x30, 0xfe, 0x3a, 0x01, 0x75, 0xfe, 0x02, 0x0e, 0x04, 0xfe, 0x38, 0x01, 0x1b, 0xfe,
- 0xf0, 0xff, 0x0f, 0xfe, 0x60, 0x01, 0x04, 0xfe, 0x3a, 0x01, 0x0f, 0xfe, 0x62, 0x01, 0x20, 0x06,
- 0x16, 0x47, 0xfe, 0x04, 0xec, 0x2a, 0x08, 0x2a, 0x09, 0x3c, 0x1d, 0x01, 0x46, 0x7f, 0xfe, 0x05,
- 0xf6, 0xfe, 0x34, 0x01, 0x01, 0xfe, 0x76, 0x16, 0x11, 0x47, 0xca, 0x08, 0x06, 0x03, 0x2d, 0x03,
- 0x21, 0x55, 0xfe, 0xf7, 0x12, 0x21, 0xad, 0x6a, 0x16, 0xad, 0x05, 0x80, 0xfe, 0x93, 0x13, 0xfe,
- 0x24, 0x1c, 0x17, 0x19, 0x4a, 0xf4, 0xdd, 0xfe, 0xd9, 0x10, 0x93, 0xfe, 0x03, 0xdc, 0xfe, 0x73,
- 0x57, 0xfe, 0x80, 0x5d, 0x03, 0x93, 0xfe, 0x03, 0xdc, 0xfe, 0x5b, 0x57, 0xfe, 0x80, 0x5d, 0x03,
- 0xfe, 0x03, 0x57, 0x93, 0x2d, 0xfe, 0x00, 0xcc, 0x03, 0xfe, 0x03, 0x57, 0x93, 0x7d, 0x03, 0x01,
- 0xfe, 0xae, 0x16, 0x3f, 0x05, 0x47, 0xfe, 0x0a, 0x13, 0x08, 0x1c, 0x09, 0x43, 0xd3, 0x01, 0x97,
- 0x01, 0x9a, 0x08, 0x3d, 0x09, 0x99, 0x01, 0x46, 0x11, 0xfe, 0xe9, 0x00, 0x0a, 0x07, 0x89, 0xfe,
- 0x52, 0x13, 0x01, 0xfe, 0x38, 0x16, 0xfe, 0x1e, 0x1c, 0xfe, 0x14, 0x90, 0x0f, 0xfe, 0x64, 0x01,
- 0xfe, 0x16, 0x90, 0x0f, 0xfe, 0x66, 0x01, 0x0a, 0x07, 0x45, 0xe5, 0xfe, 0x03, 0x80, 0x52, 0x3e,
- 0x11, 0x76, 0x08, 0x2a, 0x09, 0x3c, 0x1d, 0x90, 0x01, 0x71, 0xfe, 0x62, 0x08, 0x6a, 0x3e, 0x11,
- 0x76, 0x08, 0x2a, 0x09, 0x3c, 0x1d, 0x90, 0x01, 0x71, 0x64, 0x2f, 0x11, 0x76, 0x08, 0x2a, 0x09,
- 0x3c, 0x1d, 0x90, 0x01, 0x7b, 0x03, 0xfe, 0x08, 0x1c, 0x04, 0xfe, 0xac, 0x00, 0xfe, 0x06, 0x58,
- 0x04, 0xfe, 0xae, 0x00, 0xfe, 0x07, 0x58, 0x04, 0xfe, 0xb0, 0x00, 0xfe, 0x08, 0x58, 0x04, 0xfe,
- 0xb2, 0x00, 0xfe, 0x09, 0x58, 0xfe, 0x0a, 0x1c, 0x20, 0x6c, 0x16, 0xf8, 0x2d, 0x0f, 0x53, 0x0f,
- 0x4d, 0x20, 0x10, 0x16, 0x2a, 0x16, 0x3c, 0x57, 0xa0, 0xd6, 0x08, 0x2a, 0x09, 0x3c, 0x1d, 0x01,
- 0x7b, 0x7f, 0x11, 0x76, 0xfe, 0x14, 0x56, 0xfe, 0xd6, 0xf0, 0xfe, 0x2a, 0x0f, 0xd5, 0x8c, 0xfe,
- 0x14, 0x1c, 0xfe, 0x10, 0x1c, 0xfe, 0x18, 0x1c, 0x03, 0x1d, 0xfe, 0x0c, 0x14, 0x86, 0xfe, 0x07,
- 0xe6, 0x37, 0xfe, 0xce, 0x47, 0xfe, 0xf5, 0x13, 0x03, 0x01, 0x96, 0x0e, 0x3d, 0x01, 0x15, 0x05,
- 0x10, 0x2c, 0x0e, 0x1c, 0x01, 0x15, 0x05, 0x10, 0xda, 0xfe, 0x44, 0x58, 0x3e, 0xfe, 0x01, 0xec,
- 0xbd, 0xfe, 0x9e, 0x40, 0xfe, 0x9d, 0xe7, 0x00, 0xfe, 0x9c, 0xe7, 0x1e, 0x9f, 0x2f, 0x01, 0xea,
- 0xfe, 0xc9, 0x10, 0x03, 0x2b, 0x82, 0x6e, 0x23, 0x24, 0xb3, 0x05, 0x1e, 0xfe, 0x48, 0x12, 0x05,
- 0x0c, 0xfe, 0x4c, 0x12, 0x05, 0x19, 0xfe, 0x30, 0x12, 0x05, 0xcc, 0x18, 0xfe, 0xf4, 0x10, 0x05,
- 0xfe, 0x23, 0x00, 0x18, 0xfe, 0x00, 0x11, 0x05, 0x06, 0x18, 0xfe, 0x5e, 0x11, 0x05, 0x1a, 0xfe,
- 0x12, 0x12, 0x05, 0x00, 0x18, 0x28, 0x17, 0xcc, 0x01, 0x44, 0xc6, 0x39, 0x01, 0x0b, 0x81, 0x4c,
- 0x03, 0x39, 0x11, 0xfe, 0xcc, 0x00, 0x02, 0x26, 0x39, 0x3f, 0x05, 0xc3, 0xfe, 0xe3, 0x13, 0x65,
- 0x3a, 0x31, 0x3b, 0x75, 0xfe, 0xb2, 0x10, 0x0a, 0x07, 0x70, 0xfe, 0x72, 0x12, 0xa1, 0x42, 0x69,
- 0x58, 0xe8, 0xfe, 0xe5, 0x55, 0x8f, 0xfe, 0x7c, 0x10, 0x21, 0x61, 0xfe, 0x26, 0x13, 0x04, 0xae,
- 0x30, 0x8d, 0x75, 0xfe, 0xd2, 0x0c, 0x0f, 0x5d, 0x12, 0x5e, 0x2d, 0x0f, 0xae, 0x0f, 0x8d, 0x01,
- 0xc1, 0x20, 0x6c, 0x52, 0x16, 0x61, 0x01, 0xfe, 0xde, 0x12, 0xa1, 0x42, 0x69, 0x58, 0xfe, 0x04,
- 0x55, 0xfe, 0xa5, 0x55, 0xfe, 0x04, 0xfa, 0x42, 0xfe, 0x05, 0xfa, 0x58, 0xfe, 0x91, 0x10, 0x04,
- 0x5f, 0x30, 0x60, 0xfe, 0x40, 0x56, 0xfe, 0xe1, 0x56, 0x0f, 0x5f, 0x12, 0x60, 0xa8, 0xa1, 0x42,
- 0x69, 0x58, 0xe8, 0xfe, 0xe5, 0x55, 0x04, 0x5b, 0x30, 0x5c, 0xfe, 0x00, 0x56, 0xfe, 0xa1, 0x56,
- 0x0f, 0x5b, 0x12, 0x5c, 0x0a, 0x07, 0x70, 0xfe, 0x1e, 0x12, 0x21, 0x61, 0xfe, 0x1f, 0x40, 0x04,
- 0x5d, 0x30, 0x5e, 0xfe, 0x2c, 0x50, 0xfe, 0xae, 0x50, 0x04, 0x5f, 0x30, 0x60, 0xfe, 0x34, 0x50,
- 0xfe, 0xb6, 0x50, 0x04, 0x5b, 0x30, 0x5c, 0xfe, 0x08, 0x50, 0xfe, 0x8a, 0x50, 0x04, 0x3a, 0x30,
- 0x3b, 0xfe, 0x28, 0x50, 0xfe, 0xaa, 0x50, 0x02, 0x98, 0x20, 0x06, 0x16, 0xf3, 0x02, 0x7c, 0x39,
- 0x01, 0x0b, 0x1f, 0x4f, 0x23, 0x24, 0xb3, 0x05, 0x06, 0x27, 0x4f, 0x3f, 0x05, 0xc3, 0x27, 0x7c,
- 0x01, 0xfa, 0x1b, 0x50, 0x18, 0x4f, 0x0a, 0x07, 0x0c, 0xdc, 0x65, 0x3a, 0x31, 0x3b, 0xfe, 0x0a,
- 0x55, 0x35, 0xfe, 0x8b, 0x55, 0x9c, 0x3a, 0x9d, 0x3b, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0x02,
- 0x7c, 0xfe, 0x19, 0x81, 0xfe, 0x0a, 0x45, 0xfe, 0x19, 0x41, 0x02, 0x7c, 0x39, 0x01, 0x0b, 0x1f,
- 0xfe, 0xf6, 0x0f, 0x23, 0x24, 0xfe, 0xe9, 0x09, 0x59, 0x19, 0xfe, 0x94, 0x12, 0x59, 0x0c, 0x4b,
- 0x02, 0x4f, 0x2e, 0xfe, 0x7e, 0x11, 0x22, 0x32, 0x1f, 0xfe, 0xf6, 0x0f, 0x23, 0x24, 0x91, 0x05,
- 0x19, 0x27, 0x4f, 0x01, 0x0b, 0x1f, 0xfe, 0xf6, 0x0f, 0x23, 0x24, 0xfe, 0xe8, 0x09, 0x57, 0x04,
- 0xfe, 0x9c, 0x00, 0x29, 0x35, 0xfe, 0xbb, 0x45, 0x59, 0x00, 0x40, 0x36, 0x06, 0xa0, 0x50, 0xfe,
- 0xc0, 0x14, 0xfe, 0xf8, 0x14, 0xac, 0x3f, 0x05, 0xc2, 0xfe, 0x16, 0x13, 0x04, 0xf6, 0x29, 0xce,
- 0x04, 0x4d, 0x29, 0x35, 0x5a, 0x02, 0x7c, 0xfe, 0xc0, 0x5d, 0xfe, 0xe4, 0x14, 0xfe, 0x03, 0x17,
- 0x04, 0x53, 0xbc, 0x0f, 0x53, 0x5a, 0x39, 0x01, 0x0b, 0x25, 0x98, 0x01, 0xfe, 0x26, 0x14, 0x02,
- 0x98, 0x2e, 0x40, 0x22, 0x32, 0x1f, 0x4f, 0x23, 0x24, 0x91, 0x05, 0x06, 0x27, 0x4f, 0xfe, 0xf6,
- 0x14, 0xfe, 0x42, 0x58, 0xfe, 0x70, 0x14, 0xfe, 0x92, 0x14, 0xac, 0xfe, 0x4a, 0xf4, 0x0c, 0x18,
- 0x4f, 0xfe, 0x4a, 0xf4, 0x06, 0xd1, 0x3f, 0x05, 0xc2, 0xc9, 0x02, 0x7c, 0x04, 0x4d, 0xbc, 0x0f,
- 0x4d, 0x5a, 0x39, 0x01, 0x0b, 0x25, 0x98, 0x01, 0xfe, 0x54, 0x14, 0x02, 0x98, 0x25, 0xfe, 0x70,
- 0x12, 0x73, 0xf1, 0x73, 0x03, 0x34, 0xfe, 0x6c, 0x12, 0x6b, 0xfe, 0x6c, 0x12, 0x5a, 0x39, 0x01,
- 0x0b, 0xfe, 0xe3, 0x10, 0x08, 0x63, 0xff, 0x02, 0x00, 0x57, 0x66, 0x7e, 0x1b, 0xfe, 0xff, 0x7f,
- 0xfe, 0x30, 0x56, 0xfe, 0x00, 0x5c, 0x03, 0x08, 0x63, 0xff, 0x02, 0x00, 0x57, 0x66, 0x7e, 0x1b,
- 0x50, 0xfe, 0x30, 0x56, 0xfe, 0x00, 0x5c, 0x03, 0x08, 0x63, 0xff, 0x02, 0x00, 0x57, 0x66, 0x7e,
- 0x03, 0x08, 0x63, 0xff, 0x02, 0x00, 0x57, 0x66, 0x7e, 0xfe, 0x0b, 0x58, 0x03, 0x0e, 0x53, 0x01,
- 0x8b, 0x0e, 0x4d, 0x01, 0x8b, 0x03, 0xc8, 0x1b, 0x10, 0xff, 0x03, 0x00, 0x54, 0xfe, 0x00, 0xf4,
- 0x1a, 0x66, 0xfe, 0x00, 0x7d, 0xfe, 0x01, 0x7d, 0xfe, 0x02, 0x7d, 0xfe, 0x03, 0x7c, 0x64, 0x2f,
- 0x0f, 0x5b, 0x12, 0x5c, 0x9c, 0x5f, 0x9d, 0x60, 0x03, 0xfe, 0x62, 0x18, 0xfe, 0x82, 0x5a, 0xfe,
- 0xe1, 0x1a, 0xb6, 0xfe, 0x02, 0x58, 0x03, 0x01, 0xfe, 0x9e, 0x18, 0xfe, 0x42, 0x48, 0x77, 0x57,
- 0x95, 0x01, 0x0b, 0x1f, 0xfe, 0x1e, 0x14, 0x23, 0x24, 0xfe, 0xe9, 0x09, 0xfe, 0xc1, 0x59, 0x01,
- 0x0b, 0x1f, 0xfe, 0x1e, 0x14, 0x23, 0x24, 0xfe, 0xe8, 0x0a, 0x04, 0xf6, 0x29, 0xfe, 0xc4, 0x12,
- 0x2d, 0xb1, 0x1e, 0xdc, 0x59, 0xcd, 0x74, 0xfe, 0x6c, 0x13, 0x4b, 0x08, 0x06, 0x09, 0xcd, 0xa0,
- 0xfe, 0x00, 0x10, 0xfe, 0x78, 0x10, 0xff, 0x02, 0x83, 0x55, 0xa6, 0xff, 0x02, 0x83, 0x55, 0xb1,
- 0x19, 0xfe, 0x12, 0x13, 0x72, 0xfe, 0x30, 0x00, 0x8f, 0xfe, 0xc6, 0x13, 0x09, 0x85, 0x08, 0x06,
- 0xfe, 0x56, 0x10, 0xb1, 0x0c, 0xfe, 0x16, 0x13, 0x72, 0xfe, 0x64, 0x00, 0x8f, 0xfe, 0xc6, 0x13,
- 0x0e, 0xfe, 0x64, 0x00, 0x09, 0x88, 0x08, 0x06, 0xfe, 0x28, 0x10, 0xb1, 0x06, 0xfe, 0x60, 0x13,
- 0x72, 0xfe, 0xc8, 0x00, 0x8f, 0xfe, 0xc6, 0x13, 0x0e, 0xfe, 0xc8, 0x00, 0x09, 0x55, 0x08, 0x06,
- 0xa8, 0x72, 0xfe, 0x90, 0x01, 0xed, 0xfe, 0xd2, 0x13, 0x95, 0xaa, 0xfe, 0x43, 0xf4, 0xad, 0xfe,
- 0x56, 0xf0, 0xfe, 0xe4, 0x13, 0xfe, 0x04, 0xf4, 0x63, 0xfe, 0x43, 0xf4, 0x88, 0xfe, 0xf3, 0x10,
- 0xb0, 0x01, 0xfe, 0xae, 0x12, 0x1b, 0x50, 0xd4, 0xfe, 0x00, 0x17, 0xfe, 0x4d, 0xe4, 0x6c, 0xed,
- 0xfe, 0x18, 0x14, 0xa3, 0x6c, 0xfe, 0x14, 0x10, 0xfe, 0x00, 0x17, 0xfe, 0x4d, 0xe4, 0x1a, 0xed,
- 0xfe, 0x18, 0x14, 0xa3, 0x1a, 0x9e, 0x57, 0x95, 0x08, 0x06, 0xfe, 0xb4, 0x56, 0xfe, 0xc3, 0x58,
- 0x03, 0x57, 0x08, 0x0c, 0x03, 0x14, 0x06, 0x01, 0x0b, 0x25, 0xec, 0x14, 0x0c, 0x01, 0x0b, 0x25,
- 0xec, 0x14, 0x19, 0x01, 0x0b, 0x25, 0xec, 0x73, 0xfe, 0x89, 0x49, 0x01, 0x0b, 0x03, 0x14, 0x06,
- 0x01, 0x0b, 0x25, 0xb7, 0x14, 0x19, 0x01, 0x0b, 0x25, 0xb7, 0x14, 0x06, 0x01, 0x0b, 0x25, 0xb7,
- 0xfe, 0x89, 0x49, 0x01, 0x0b, 0x25, 0xb7, 0x73, 0xfe, 0x89, 0x4a, 0x01, 0x0b, 0x03, 0x57, 0x03,
- 0x21, 0xe0, 0x05, 0x06, 0xfe, 0x44, 0x13, 0xaf, 0x16, 0xe0, 0xfe, 0x49, 0xf4, 0x00, 0x4b, 0x73,
- 0xc6, 0x5a, 0xfe, 0x01, 0xec, 0xfe, 0x27, 0x01, 0xf1, 0x01, 0x0b, 0x3f, 0x05, 0xfe, 0xe3, 0x00,
- 0xfe, 0x20, 0x13, 0x1f, 0xfe, 0xd6, 0x14, 0x2d, 0x16, 0xf3, 0x01, 0x4c, 0x21, 0xf3, 0x05, 0x06,
- 0x40, 0x0a, 0x41, 0x06, 0x38, 0x03, 0x0f, 0x54, 0x12, 0x8a, 0xfe, 0x43, 0x58, 0x01, 0x15, 0x05,
- 0x10, 0xfe, 0x1e, 0x12, 0x48, 0xe7, 0x8e, 0x01, 0x2c, 0xfe, 0x90, 0x4d, 0xde, 0x10, 0xfe, 0xc5,
- 0x59, 0x01, 0x2c, 0xfe, 0x8d, 0x56, 0xb6, 0x48, 0x03, 0x48, 0x31, 0x8a, 0x01, 0x15, 0x48, 0x8e,
- 0x01, 0x2c, 0xe2, 0x10, 0xde, 0x10, 0x31, 0x54, 0x72, 0x1c, 0x84, 0x0e, 0x56, 0x01, 0xab, 0x03,
- 0x0f, 0x54, 0x12, 0x8a, 0xfe, 0xc3, 0x58, 0x01, 0x15, 0x05, 0x10, 0xfe, 0x1a, 0x12, 0x48, 0xe7,
- 0x8e, 0x01, 0x2c, 0xe2, 0x10, 0xfe, 0x80, 0x4d, 0xfe, 0xc5, 0x59, 0x01, 0x2c, 0x48, 0x03, 0x48,
- 0x31, 0x54, 0x01, 0x15, 0x48, 0x8e, 0x01, 0x2c, 0xe2, 0x10, 0xde, 0x10, 0x31, 0x54, 0x72, 0x1c,
- 0x84, 0x0e, 0x56, 0x01, 0xab, 0x03, 0x0f, 0x54, 0x12, 0x8a, 0xfe, 0x43, 0x58, 0x01, 0x15, 0xfe,
- 0x42, 0x48, 0x8e, 0x01, 0x2c, 0xfe, 0xc0, 0x5a, 0xb0, 0xfe, 0x00, 0xcd, 0xfe, 0x01, 0xcc, 0xfe,
- 0x4a, 0x46, 0xdc, 0x93, 0x7d, 0x05, 0x10, 0xfe, 0x2e, 0x13, 0x69, 0x54, 0xfe, 0x4d, 0xf4, 0x1c,
- 0xfe, 0x1c, 0x13, 0x0e, 0x56, 0x01, 0x8b, 0xaa, 0xfe, 0x40, 0x4c, 0xfe, 0xc5, 0x58, 0x01, 0x2c,
- 0xfe, 0x00, 0x07, 0x7d, 0x05, 0x10, 0x84, 0x69, 0x8a, 0xfe, 0x05, 0x57, 0xfe, 0x08, 0x10, 0xfe,
- 0x45, 0x58, 0x01, 0x2c, 0xfe, 0x8d, 0x56, 0xb6, 0xfe, 0x80, 0x4c, 0xfe, 0x05, 0x17, 0x03, 0x09,
- 0x10, 0x6f, 0x67, 0xfe, 0x60, 0x01, 0xfe, 0x18, 0xdf, 0xfe, 0x19, 0xde, 0xfe, 0x24, 0x1c, 0xdb,
- 0x37, 0x94, 0xfe, 0x1a, 0x16, 0x01, 0xfe, 0x28, 0x17, 0xfe, 0x0c, 0x13, 0x87, 0x37, 0x67, 0xfe,
- 0x2c, 0x01, 0xfe, 0x2f, 0x19, 0x03, 0xba, 0x27, 0xfe, 0x0a, 0x16, 0xfe, 0xe2, 0x10, 0x09, 0x10,
- 0x6f, 0x04, 0xfe, 0x64, 0x01, 0xfe, 0x00, 0xf4, 0x1a, 0xfe, 0x18, 0x58, 0x04, 0xfe, 0x66, 0x01,
- 0xfe, 0x19, 0x58, 0x87, 0x1a, 0xfe, 0x3c, 0x90, 0xfe, 0x30, 0xf4, 0x06, 0xfe, 0x3c, 0x50, 0x67,
- 0xfe, 0x38, 0x00, 0xfe, 0x0f, 0x79, 0xfe, 0x1c, 0xf7, 0x1a, 0x94, 0xfe, 0x64, 0x16, 0xfe, 0xbe,
- 0x14, 0x35, 0x03, 0xba, 0x27, 0xfe, 0x3c, 0x16, 0xfe, 0xa4, 0x10, 0x09, 0x10, 0x6f, 0xb6, 0xfe,
- 0x18, 0xdf, 0xfe, 0x19, 0xdf, 0xdb, 0x42, 0x94, 0xfe, 0x86, 0x16, 0xfe, 0x9c, 0x14, 0xfe, 0x18,
- 0x13, 0x87, 0x42, 0x67, 0x1e, 0xfe, 0xaf, 0x19, 0xfe, 0x98, 0xe7, 0x00, 0xa2, 0x07, 0xfe, 0x7f,
- 0x00, 0xfe, 0x05, 0x40, 0x03, 0xba, 0x27, 0xfe, 0x7a, 0x16, 0xfe, 0x6c, 0x10, 0x09, 0x10, 0x6f,
- 0xfe, 0x30, 0xbc, 0xfe, 0xb2, 0xbc, 0x87, 0xd9, 0x67, 0x1e, 0xfe, 0x0f, 0x79, 0xfe, 0x1c, 0xf7,
- 0xd9, 0x94, 0xfe, 0xc6, 0x16, 0xfe, 0x5c, 0x14, 0x35, 0x03, 0xba, 0x27, 0xfe, 0xb2, 0x16, 0xfe,
- 0x42, 0x10, 0xfe, 0x02, 0xf6, 0x10, 0x6f, 0xfe, 0x18, 0xfe, 0x5d, 0xfe, 0x19, 0xfe, 0x5e, 0xc8,
- 0xdb, 0x45, 0x94, 0xfe, 0xec, 0x16, 0xfe, 0x36, 0x14, 0xfe, 0x1c, 0x13, 0x87, 0x45, 0x4e, 0xfe,
- 0x83, 0x58, 0xfe, 0xaf, 0x19, 0xfe, 0x80, 0xe7, 0x10, 0xfe, 0x81, 0xe7, 0x10, 0x11, 0xfe, 0xdd,
- 0x00, 0x64, 0x2f, 0x03, 0x64, 0x2f, 0xfe, 0x12, 0x45, 0x27, 0xfe, 0xdc, 0x16, 0x17, 0x06, 0x4a,
- 0xf4, 0xdd, 0x02, 0x26, 0xfe, 0x39, 0xf0, 0xfe, 0x30, 0x17, 0x2d, 0x03, 0xfe, 0x7e, 0x18, 0x1b,
- 0x19, 0x83, 0x08, 0x0d, 0x03, 0x6f, 0x04, 0xdf, 0x1b, 0x06, 0xfe, 0xef, 0x12, 0xfe, 0xe1, 0x10,
- 0x1d, 0x0e, 0x1c, 0x01, 0x15, 0x05, 0x10, 0x40, 0x3e, 0xfe, 0x78, 0x14, 0xfe, 0x34, 0x12, 0x50,
- 0x86, 0x36, 0x37, 0xbf, 0xfe, 0xe9, 0x13, 0x1d, 0x0e, 0x3d, 0x01, 0x15, 0x05, 0x10, 0x40, 0x3e,
- 0xfe, 0x56, 0x14, 0xe1, 0x50, 0x86, 0x36, 0x37, 0xbf, 0xfe, 0xe9, 0x13, 0x09, 0x0c, 0x03, 0xfe,
- 0x9c, 0xe7, 0x0c, 0x13, 0xfe, 0x15, 0x00, 0x90, 0x9f, 0x2f, 0x01, 0xea, 0x09, 0x06, 0x03, 0x0a,
- 0x41, 0x37, 0x38, 0x08, 0x3d, 0x09, 0x99, 0x01, 0x46, 0x11, 0x47, 0x08, 0x1c, 0x09, 0x43, 0x01,
- 0x7b, 0x09, 0x06, 0x03, 0xfe, 0x38, 0x90, 0xfe, 0xba, 0x90, 0x65, 0xf7, 0x31, 0x76, 0xfe, 0x48,
- 0x55, 0x35, 0xfe, 0xc9, 0x55, 0x03, 0x21, 0xbe, 0x52, 0x16, 0xbe, 0x03, 0x0e, 0xc0, 0x01, 0x15,
- 0xe6, 0x0e, 0x79, 0x01, 0x15, 0xfe, 0x49, 0x44, 0x27, 0xfe, 0x26, 0x18, 0x0e, 0x1c, 0x01, 0x15,
- 0x05, 0x10, 0x40, 0x0e, 0x56, 0x01, 0xab, 0x0e, 0x79, 0x01, 0x15, 0x52, 0x7d, 0x03, 0xfe, 0x40,
- 0x5e, 0xfe, 0xe2, 0x08, 0xfe, 0xc0, 0x4c, 0x21, 0x3c, 0x05, 0x10, 0xfe, 0x52, 0x12, 0x3e, 0x05,
- 0x00, 0xfe, 0x18, 0x12, 0xfe, 0xe1, 0x18, 0xfe, 0x19, 0xf4, 0xfe, 0x7f, 0x00, 0xd4, 0xfe, 0xe2,
- 0x08, 0x52, 0x3e, 0x3f, 0x05, 0x76, 0xa5, 0xfe, 0x82, 0x48, 0xfe, 0x01, 0x80, 0xfe, 0xd7, 0x10,
- 0xfe, 0xc4, 0x48, 0x08, 0x2a, 0x09, 0x3c, 0xfe, 0x40, 0x5f, 0x1d, 0x01, 0x46, 0x11, 0xfe, 0xdd,
- 0x00, 0xfe, 0x14, 0x46, 0x08, 0x2a, 0x09, 0x3c, 0x01, 0x46, 0x11, 0xfe, 0xdd, 0x00, 0xfe, 0x40,
- 0x4a, 0x6a, 0xfe, 0x06, 0x17, 0xfe, 0x01, 0x07, 0xfe, 0x82, 0x48, 0xfe, 0x04, 0x17, 0x03, 0xeb,
- 0x19, 0x74, 0xfe, 0xae, 0x18, 0x04, 0xfe, 0x90, 0x00, 0xfe, 0x3a, 0x45, 0xfe, 0x2c, 0x10, 0xeb,
- 0xcc, 0x74, 0xfe, 0xc0, 0x18, 0x04, 0xfe, 0x92, 0x00, 0xc7, 0x1e, 0xd8, 0xeb, 0xfe, 0x0b, 0x00,
- 0x74, 0xfe, 0xd2, 0x18, 0x04, 0xfe, 0x94, 0x00, 0xc7, 0x1a, 0xfe, 0x08, 0x10, 0x04, 0xfe, 0x96,
- 0x00, 0xc7, 0x85, 0xfe, 0x4e, 0x45, 0xd1, 0xfe, 0x0a, 0x45, 0xff, 0x04, 0x68, 0x54, 0xfe, 0xf1,
- 0x10, 0x1b, 0x6c, 0x03, 0x05, 0x80, 0xfe, 0x5a, 0xf0, 0xfe, 0xfe, 0x18, 0x20, 0xfe, 0x09, 0x00,
- 0xfe, 0x34, 0x10, 0x05, 0x1e, 0xfe, 0x5a, 0xf0, 0xfe, 0x0c, 0x19, 0x20, 0xcd, 0xfe, 0x26, 0x10,
- 0x05, 0x19, 0x83, 0x20, 0x85, 0xd8, 0x05, 0x0c, 0x83, 0x20, 0x88, 0xfe, 0x0e, 0x10, 0x05, 0x06,
- 0x83, 0x20, 0x55, 0xc6, 0xaf, 0x03, 0x17, 0xfe, 0x09, 0x00, 0x01, 0x44, 0x2e, 0xfe, 0x3c, 0x19,
- 0x04, 0x6e, 0xb0, 0x03, 0x22, 0xfe, 0x54, 0x19, 0xfe, 0x14, 0xf0, 0x0b, 0x2e, 0xfe, 0x50, 0x19,
- 0x03, 0xff, 0x15, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x16, 0x00, 0xf0, 0x00, 0xfc, 0x01, 0x00, 0x48, 0xe4, 0x58, 0x18,
+ 0x03, 0xf6, 0x18, 0xe4, 0x02, 0x00, 0x18, 0x80, 0x00, 0xfa, 0xff, 0xff, 0x9e, 0xe7, 0xff, 0x00,
+ 0xcc, 0x0d, 0x82, 0xe7, 0x00, 0xf6, 0x00, 0xea, 0x09, 0xe7, 0x01, 0xf6, 0x08, 0x00, 0x01, 0xe6,
+ 0x55, 0xf0, 0x01, 0xfa, 0x03, 0x00, 0x18, 0xf4, 0x04, 0x00, 0x00, 0xec, 0x85, 0xf0, 0xbc, 0x00,
+ 0xd5, 0xf0, 0x70, 0x0c, 0x38, 0x54, 0x00, 0xe6, 0x1e, 0xf0, 0x86, 0xf0, 0xb4, 0x00, 0x98, 0x57,
+ 0xd0, 0x01, 0x0c, 0x1c, 0x3e, 0x1c, 0x10, 0x00, 0xbb, 0x00, 0x44, 0x18, 0x02, 0x80, 0x32, 0xf0,
+ 0x01, 0xfc, 0x6a, 0x0c, 0x64, 0x12, 0x02, 0x13, 0x18, 0x40, 0x00, 0x57, 0x3c, 0x00, 0xc0, 0x00,
+ 0x6c, 0x01, 0x6e, 0x01, 0x04, 0x12, 0x00, 0x80, 0x03, 0xe6, 0x01, 0xea, 0xb6, 0x00, 0x01, 0x01,
+ 0x3e, 0x01, 0x78, 0x0f, 0xc0, 0x0f, 0xb9, 0x54, 0x3e, 0x57, 0x03, 0x58, 0x1b, 0x80, 0x30, 0xe4,
+ 0x4b, 0xe4, 0x0d, 0x00, 0x20, 0x00, 0x32, 0x00, 0x3e, 0x00, 0x80, 0x00, 0x24, 0x01, 0x3c, 0x01,
+ 0x68, 0x01, 0x6a, 0x01, 0x70, 0x01, 0x72, 0x01, 0x74, 0x01, 0x76, 0x01, 0x78, 0x01, 0x62, 0x0a,
+ 0x74, 0x0c, 0x08, 0x12, 0x06, 0x13, 0x4c, 0x1c, 0x02, 0x4a, 0xbb, 0x55, 0x3c, 0x56, 0x02, 0xee,
+ 0x5b, 0xf0, 0xb1, 0xf0, 0x03, 0xf7, 0x06, 0xf7, 0x03, 0xfc, 0x05, 0x00, 0x0c, 0x00, 0x0f, 0x00,
+ 0x40, 0x00, 0xbe, 0x00, 0x00, 0x01, 0x94, 0x08, 0xca, 0x0f, 0x02, 0x15, 0x32, 0x1c, 0x38, 0x1c,
+ 0x4e, 0x1c, 0x10, 0x44, 0x02, 0x48, 0x00, 0x4c, 0x04, 0x80, 0x04, 0xea, 0x5d, 0xf0, 0x04, 0xf6,
+ 0x02, 0xfc, 0x34, 0x00, 0x36, 0x00, 0x98, 0x00, 0xcc, 0x00, 0x20, 0x01, 0x4e, 0x01, 0x32, 0x0b,
+ 0xc2, 0x0d, 0xcc, 0x0f, 0x0c, 0x10, 0x0a, 0x12, 0x04, 0x13, 0x30, 0x1c, 0x00, 0x4e, 0xbd, 0x56,
+ 0x00, 0xdc, 0x4a, 0xe4, 0x05, 0xf0, 0x09, 0xf0, 0x59, 0xf0, 0xa7, 0xf0, 0xb8, 0xf0, 0x0e, 0xf7,
+ 0x06, 0x00, 0x19, 0x00, 0x33, 0x00, 0xa4, 0x00, 0xb5, 0x00, 0xba, 0x00, 0xd0, 0x00, 0xe1, 0x00,
+ 0xe7, 0x00, 0x3a, 0x0a, 0xb8, 0x0d, 0x02, 0x10, 0x04, 0x10, 0x0a, 0x10, 0xce, 0x12, 0xde, 0x12,
+ 0x0a, 0x13, 0x12, 0x13, 0x20, 0x13, 0xae, 0x14, 0xb2, 0x14, 0x4a, 0x16, 0x34, 0x1c, 0x36, 0x1c,
+ 0x08, 0x44, 0x38, 0x44, 0x91, 0x44, 0x48, 0x46, 0x01, 0x48, 0x68, 0x54, 0x83, 0x55, 0xb0, 0x57,
+ 0x01, 0x58, 0x83, 0x59, 0x06, 0x83, 0x05, 0xe6, 0x0b, 0xf0, 0x0c, 0xf0, 0x5c, 0xf0, 0x4b, 0xf4,
+ 0x04, 0xf8, 0x05, 0xf8, 0x02, 0xfa, 0x03, 0xfa, 0x04, 0xfc, 0x05, 0xfc, 0x07, 0x00, 0x0a, 0x00,
+ 0x1c, 0x00, 0x9b, 0x00, 0x9e, 0x00, 0xa8, 0x00, 0xaa, 0x00, 0xb9, 0x00, 0xe0, 0x00, 0x22, 0x01,
+ 0x26, 0x01, 0x79, 0x01, 0xc0, 0x01, 0xc2, 0x01, 0x70, 0x02, 0x56, 0x03, 0xd2, 0x03, 0xce, 0x04,
+ 0xcc, 0x07, 0x68, 0x08, 0x69, 0x08, 0x9e, 0x08, 0xe9, 0x09, 0xea, 0x0a, 0xde, 0x0d, 0xd4, 0x0f,
+ 0x00, 0x10, 0x0e, 0x10, 0x1a, 0x10, 0xed, 0x10, 0xf1, 0x10, 0x06, 0x12, 0x68, 0x12, 0xf0, 0x12,
+ 0x16, 0x13, 0x1e, 0x13, 0xe0, 0x13, 0x74, 0x14, 0x28, 0x15, 0x60, 0x17, 0x6c, 0x17, 0x6b, 0x18,
+ 0x12, 0x1c, 0x20, 0x1c, 0x46, 0x1c, 0x9c, 0x32, 0x00, 0x40, 0x0a, 0x45, 0x0e, 0x47, 0x48, 0x47,
+ 0x41, 0x48, 0x89, 0x48, 0x80, 0x4c, 0x00, 0x54, 0x44, 0x55, 0xe5, 0x55, 0x14, 0x56, 0x77, 0x57,
+ 0xbf, 0x57, 0x40, 0x5c, 0x06, 0x80, 0x03, 0xa1, 0x00, 0xcc, 0xfe, 0x9c, 0xf0, 0x28, 0x03, 0xfe,
+ 0x9a, 0x0c, 0xff, 0x10, 0x00, 0x00, 0xcb, 0xfe, 0x66, 0x18, 0x00, 0xca, 0xfe, 0x80, 0x01, 0xff,
+ 0x03, 0x00, 0x00, 0xfe, 0x2e, 0x14, 0xfe, 0x08, 0x05, 0xff, 0x38, 0x00, 0x00, 0xfe, 0x57, 0x24,
+ 0x00, 0xfe, 0x48, 0x00, 0x4d, 0xff, 0x04, 0x00, 0x00, 0x0f, 0xff, 0x09, 0x00, 0x00, 0xff, 0x08,
+ 0x01, 0x01, 0xff, 0x08, 0xff, 0xff, 0xff, 0x27, 0x00, 0x00, 0xff, 0x10, 0xff, 0xff, 0xff, 0x0f,
+ 0x00, 0x00, 0xfe, 0x78, 0x56, 0xfe, 0x34, 0x12, 0xff, 0x21, 0x00, 0x00, 0xfe, 0x04, 0xf7, 0xca,
+ 0x29, 0x63, 0x0a, 0x01, 0xfe, 0x6c, 0x0e, 0xfe, 0x04, 0xf7, 0xca, 0x63, 0x0a, 0x44, 0x29, 0xfe,
+ 0x3d, 0xf0, 0xfe, 0xf6, 0x01, 0xfe, 0x20, 0xf0, 0xce, 0x04, 0x4f, 0x3a, 0x03, 0xfe, 0xb6, 0x0c,
+ 0x01, 0xfe, 0x16, 0x0d, 0xfe, 0xe9, 0x12, 0xfe, 0xfc, 0x10, 0xfe, 0x28, 0x1c, 0x04, 0xfe, 0xa6,
+ 0x00, 0xfe, 0xdf, 0x12, 0x43, 0x19, 0xfe, 0xa6, 0x00, 0xb0, 0xfe, 0x48, 0xf0, 0xfe, 0x7a, 0x02,
+ 0xfe, 0x49, 0xf0, 0xfe, 0x94, 0x02, 0xfe, 0x4a, 0xf0, 0xfe, 0xb2, 0x02, 0xfe, 0x46, 0xf0, 0xfe,
+ 0x44, 0x02, 0xfe, 0x47, 0xf0, 0xfe, 0x4a, 0x02, 0xfe, 0x43, 0xf0, 0xfe, 0x38, 0x02, 0xfe, 0x44,
+ 0xf0, 0xfe, 0x3c, 0x02, 0xfe, 0x45, 0xf0, 0xfe, 0x40, 0x02, 0x15, 0x0a, 0x9c, 0x15, 0x05, 0x19,
+ 0x93, 0x03, 0x28, 0xfe, 0x00, 0x1c, 0xdc, 0xfe, 0x02, 0x1c, 0xdb, 0xfe, 0x1e, 0x1c, 0xfe, 0xe9,
+ 0x10, 0x01, 0xfe, 0xbe, 0x16, 0xfe, 0xe7, 0x10, 0xfe, 0x06, 0xfc, 0xc3, 0x08, 0x69, 0x01, 0x9a,
+ 0x03, 0x28, 0x17, 0x4b, 0x3d, 0x94, 0x01, 0xfe, 0x02, 0x0f, 0x08, 0x69, 0x01, 0x80, 0xfe, 0xbd,
+ 0x10, 0x08, 0x69, 0x01, 0x80, 0xfe, 0xad, 0x10, 0xfe, 0x16, 0x1c, 0xfe, 0x58, 0x1c, 0x15, 0x05,
+ 0x19, 0x93, 0x29, 0x24, 0x28, 0xfe, 0x3d, 0xf0, 0xfe, 0xf6, 0x01, 0x20, 0xfe, 0x88, 0x02, 0xfe,
+ 0x5a, 0x1c, 0xe8, 0xfe, 0x14, 0x1c, 0x17, 0xfe, 0x30, 0x00, 0x3d, 0x94, 0x01, 0xfe, 0xf2, 0x0e,
+ 0x15, 0x05, 0x19, 0x93, 0x03, 0xcb, 0x1d, 0x1f, 0x06, 0x0f, 0x33, 0xfe, 0x69, 0x10, 0x15, 0x05,
+ 0x19, 0x93, 0xfe, 0x04, 0xec, 0x1f, 0x5c, 0x3b, 0x13, 0x1f, 0xfe, 0x05, 0xf6, 0xc3, 0x01, 0xfe,
+ 0xf0, 0x15, 0x0b, 0x47, 0x4a, 0x34, 0x11, 0x2c, 0x44, 0xb2, 0x01, 0xe4, 0x03, 0x28, 0x08, 0x37,
+ 0x01, 0x10, 0x06, 0x00, 0x5a, 0x01, 0x6d, 0xfe, 0x20, 0x10, 0x08, 0x96, 0x01, 0x10, 0xfe, 0x41,
+ 0x58, 0x08, 0x37, 0x01, 0x10, 0xfe, 0x49, 0x54, 0x60, 0xfe, 0x00, 0x03, 0x01, 0xe4, 0x03, 0x28,
+ 0x29, 0x5c, 0xfe, 0x02, 0xe8, 0x26, 0xf8, 0xfe, 0x9e, 0x43, 0xf7, 0xfe, 0x27, 0xf0, 0xfe, 0xdc,
+ 0x01, 0xfe, 0x07, 0x4b, 0xfe, 0x20, 0xf0, 0xce, 0xfe, 0x40, 0x1c, 0x24, 0xcd, 0xfe, 0x26, 0xf0,
+ 0xfe, 0x52, 0x03, 0xfe, 0xa0, 0xf0, 0xfe, 0x40, 0x03, 0xfe, 0x11, 0xf0, 0xce, 0xd9, 0xfe, 0x9f,
+ 0xf0, 0xfe, 0x60, 0x03, 0xea, 0x0e, 0xfe, 0x11, 0x00, 0x03, 0x58, 0x29, 0xfe, 0x48, 0x1c, 0xea,
+ 0x22, 0x1d, 0x95, 0xa8, 0x13, 0x95, 0x08, 0x37, 0x01, 0x10, 0xa8, 0x73, 0x01, 0xfe, 0x5a, 0x15,
+ 0x11, 0xc6, 0x24, 0xcd, 0xfe, 0x01, 0xf0, 0xcd, 0xfe, 0x82, 0xf0, 0xfe, 0x86, 0x03, 0xeb, 0x11,
+ 0xfe, 0xe4, 0x00, 0x61, 0xfe, 0x98, 0x03, 0x24, 0x31, 0x1e, 0xfe, 0xa8, 0x03, 0x01, 0x41, 0xfe,
+ 0x06, 0xf0, 0xfe, 0xb8, 0x03, 0x8b, 0x7f, 0xfe, 0x0a, 0xf0, 0xfe, 0x5e, 0x06, 0x03, 0x21, 0x04,
+ 0x69, 0x27, 0x18, 0xfe, 0xda, 0x04, 0x17, 0x66, 0x01, 0x32, 0x8d, 0xfe, 0x5a, 0x02, 0x03, 0xcc,
+ 0xea, 0x29, 0x63, 0x1a, 0xfe, 0x67, 0x1b, 0xf8, 0xf7, 0xfe, 0x48, 0x1c, 0x6e, 0x01, 0x9e, 0x85,
+ 0x08, 0x37, 0x01, 0x10, 0x06, 0x00, 0x18, 0xcf, 0x08, 0xc6, 0x01, 0x10, 0x72, 0x5e, 0x57, 0x75,
+ 0x26, 0x04, 0x69, 0x27, 0xfe, 0x10, 0x12, 0x17, 0x66, 0x01, 0x32, 0x8d, 0xfe, 0x5a, 0x02, 0x03,
+ 0xcc, 0xb8, 0x7b, 0xb9, 0x7d, 0x24, 0x21, 0x61, 0xfe, 0x30, 0x04, 0x1e, 0xfe, 0x2c, 0x04, 0x64,
+ 0xfe, 0xa0, 0x00, 0xfe, 0x9b, 0x57, 0xfe, 0x46, 0x12, 0x2a, 0xff, 0x02, 0x00, 0x10, 0x01, 0x07,
+ 0x1e, 0xfe, 0xc4, 0x04, 0x2a, 0x01, 0x07, 0x1e, 0x21, 0x2f, 0x2d, 0xd1, 0xfe, 0x4c, 0x44, 0xfe,
+ 0x3c, 0x12, 0x5e, 0xfe, 0x44, 0x48, 0x12, 0x49, 0xfe, 0x4c, 0x54, 0x60, 0xcf, 0x5c, 0x75, 0x26,
+ 0xfa, 0xef, 0xfe, 0x52, 0x13, 0x2e, 0x06, 0x7c, 0xfe, 0x4a, 0x13, 0xfe, 0x18, 0x10, 0x12, 0x49,
+ 0xfe, 0x4c, 0x54, 0x60, 0xcf, 0xfa, 0xef, 0xfe, 0x38, 0x13, 0x2e, 0x06, 0x7c, 0xfe, 0x30, 0x13,
+ 0x0b, 0x09, 0x2b, 0xfe, 0x1c, 0x12, 0x17, 0x90, 0x0b, 0x09, 0x05, 0x3a, 0x17, 0x49, 0x01, 0x32,
+ 0x8d, 0xfe, 0x52, 0x0c, 0x03, 0x21, 0x2a, 0x11, 0xfe, 0xe6, 0x00, 0xfe, 0x1c, 0x90, 0xf9, 0x02,
+ 0x17, 0x90, 0x01, 0x32, 0x03, 0x28, 0xfe, 0x42, 0x5b, 0x63, 0x1a, 0xfe, 0x46, 0x59, 0xf8, 0xf7,
+ 0xfe, 0x87, 0x80, 0xfe, 0x31, 0xe4, 0x4d, 0x0b, 0x09, 0x0a, 0xfe, 0x78, 0x13, 0xfe, 0x20, 0x80,
+ 0x06, 0x1a, 0xfe, 0x70, 0x12, 0x46, 0x09, 0x05, 0xfe, 0x60, 0x13, 0x04, 0xfe, 0xa2, 0x00, 0x27,
+ 0x18, 0xfe, 0x64, 0x05, 0xfe, 0x31, 0xe4, 0x68, 0x46, 0x09, 0x0a, 0xfe, 0x4a, 0x13, 0x04, 0xfe,
+ 0xa0, 0x00, 0x27, 0xfe, 0x42, 0x12, 0x5b, 0x01, 0x07, 0x24, 0x31, 0xf1, 0x01, 0x07, 0x25, 0xfe,
+ 0x7c, 0x05, 0x11, 0xfe, 0xe3, 0x00, 0x22, 0x46, 0xfe, 0x4a, 0xf0, 0xfe, 0x4e, 0x05, 0xfe, 0x49,
+ 0xf0, 0xfe, 0x48, 0x05, 0x82, 0x23, 0xfe, 0x21, 0x00, 0x9d, 0x23, 0xfe, 0x22, 0x00, 0x9c, 0x23,
+ 0x4a, 0xfe, 0x09, 0x48, 0x01, 0x07, 0x25, 0xfe, 0x7c, 0x05, 0xfe, 0xe2, 0x08, 0x46, 0x09, 0xc0,
+ 0x3a, 0x01, 0x9f, 0x23, 0x05, 0x13, 0xc8, 0x3d, 0xfe, 0x27, 0x01, 0x0b, 0x09, 0x2b, 0xfe, 0x22,
+ 0x12, 0x43, 0x01, 0xa4, 0x17, 0x90, 0x0b, 0x09, 0x05, 0x3a, 0x17, 0x49, 0x01, 0x32, 0x8d, 0xfe,
+ 0x52, 0x0c, 0x03, 0x21, 0x04, 0xfe, 0x9c, 0x00, 0x27, 0xfe, 0x3e, 0x12, 0x04, 0x4e, 0x27, 0xfe,
+ 0x36, 0x13, 0x43, 0x01, 0xa4, 0x25, 0xfe, 0xec, 0x05, 0x08, 0x05, 0x46, 0x09, 0x16, 0xfe, 0x02,
+ 0x12, 0x5d, 0x01, 0xfe, 0x48, 0x14, 0x1e, 0xfe, 0xe2, 0x05, 0x11, 0x97, 0x01, 0x41, 0x11, 0xfe,
+ 0xe5, 0x00, 0x04, 0x4e, 0xaf, 0x0c, 0x4e, 0x04, 0xc2, 0x27, 0xfe, 0x62, 0x12, 0x04, 0x3e, 0x27,
+ 0xfe, 0x5a, 0x13, 0x01, 0xfe, 0xae, 0x17, 0x01, 0xfe, 0x00, 0x18, 0xfe, 0x43, 0x48, 0xb3, 0x16,
+ 0x12, 0x6a, 0xff, 0x02, 0x00, 0x57, 0x45, 0x88, 0x1b, 0x3b, 0x84, 0xb3, 0x67, 0x43, 0x01, 0xa4,
+ 0x25, 0xfe, 0x56, 0x06, 0x46, 0x09, 0x1c, 0xdd, 0x87, 0x08, 0x4b, 0x01, 0xfe, 0x76, 0x14, 0x1e,
+ 0xfe, 0x4c, 0x06, 0x11, 0x97, 0x01, 0x41, 0x11, 0xfe, 0xe5, 0x00, 0x04, 0x3e, 0xaf, 0x0c, 0x3e,
+ 0x15, 0x05, 0x01, 0xa4, 0xeb, 0x70, 0x6e, 0x01, 0x9e, 0x85, 0x11, 0xfe, 0xe2, 0x00, 0x01, 0x07,
+ 0x24, 0x31, 0xfe, 0x0a, 0xf0, 0xfe, 0x8a, 0x06, 0x8a, 0xfe, 0x40, 0x07, 0xfe, 0x06, 0xf0, 0xfe,
+ 0x48, 0x07, 0x8b, 0x7f, 0x03, 0x21, 0x0b, 0x09, 0x0a, 0xfe, 0x2e, 0x12, 0x14, 0x1a, 0x01, 0x07,
+ 0x14, 0x00, 0x01, 0x07, 0x14, 0x00, 0x01, 0x07, 0x14, 0x00, 0x01, 0x07, 0xfe, 0x99, 0xa4, 0x01,
+ 0x07, 0x14, 0x00, 0x03, 0xfe, 0x16, 0x08, 0x74, 0x09, 0x1c, 0xfe, 0x38, 0x12, 0x0b, 0x09, 0x1c,
+ 0xfe, 0x30, 0x13, 0x14, 0xfe, 0x1b, 0x00, 0x01, 0x07, 0x14, 0x00, 0x01, 0x07, 0x14, 0x00, 0x01,
+ 0x07, 0x14, 0x00, 0x01, 0x07, 0x14, 0x05, 0x01, 0x07, 0x14, 0x00, 0x03, 0xd5, 0x62, 0x4a, 0xfe,
+ 0x3a, 0x55, 0x5d, 0xfe, 0x9a, 0x81, 0x48, 0x2b, 0xb6, 0xfe, 0x16, 0x07, 0x08, 0x2b, 0xfe, 0x09,
+ 0x6f, 0xed, 0xfe, 0xca, 0x45, 0xfe, 0x32, 0x12, 0x89, 0x66, 0x84, 0x62, 0x79, 0x01, 0x07, 0x24,
+ 0x31, 0xfe, 0x0a, 0xf0, 0xfe, 0x16, 0x07, 0x8b, 0x7f, 0x8a, 0xfe, 0x40, 0x07, 0x03, 0x21, 0x01,
+ 0x41, 0x03, 0xfe, 0x6e, 0x06, 0x14, 0x16, 0x03, 0xfe, 0x6e, 0x06, 0xfe, 0x9c, 0xf7, 0xd0, 0xfe,
+ 0x2c, 0x90, 0xfe, 0xae, 0x90, 0x76, 0xfe, 0xae, 0x07, 0x0c, 0x52, 0x19, 0x53, 0x0b, 0x47, 0x68,
+ 0x34, 0x1d, 0x1f, 0x06, 0x0f, 0xfe, 0x0e, 0x12, 0x72, 0xfe, 0x80, 0x80, 0x3d, 0x1f, 0x5f, 0x26,
+ 0xfe, 0x06, 0x10, 0xfe, 0x83, 0xe7, 0xfe, 0x0e, 0x00, 0x9d, 0xfe, 0x03, 0x40, 0x0b, 0x47, 0x4d,
+ 0x34, 0x01, 0xa5, 0xa9, 0xfe, 0x1f, 0x40, 0x13, 0x56, 0x01, 0xdf, 0xfe, 0x08, 0x50, 0xfe, 0x8a,
+ 0x50, 0xfe, 0x44, 0x51, 0xfe, 0xc6, 0x51, 0x82, 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90, 0x0c, 0x50,
+ 0x19, 0x51, 0xfe, 0x0c, 0x90, 0xfe, 0x8e, 0x90, 0xfe, 0x40, 0x50, 0xfe, 0xc2, 0x50, 0x0c, 0x38,
+ 0x19, 0x39, 0xfe, 0x4a, 0x10, 0x0b, 0x09, 0x68, 0xfe, 0x2a, 0x12, 0xfe, 0x2c, 0x90, 0xfe, 0xae,
+ 0x90, 0x0c, 0x52, 0x19, 0x53, 0x0b, 0x09, 0x4d, 0x84, 0x01, 0xa5, 0xfe, 0x1f, 0x80, 0x13, 0x56,
+ 0xfe, 0x44, 0x90, 0xfe, 0xc6, 0x90, 0x0c, 0x54, 0x19, 0x55, 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90,
+ 0x0c, 0x50, 0x19, 0x51, 0xfe, 0x40, 0x90, 0xfe, 0xc2, 0x90, 0x0c, 0x38, 0x19, 0x39, 0x0c, 0x36,
+ 0x19, 0x4c, 0x0b, 0x47, 0x16, 0x34, 0x29, 0x12, 0x65, 0x61, 0xfe, 0x2c, 0x08, 0xfe, 0x9e, 0xf0,
+ 0xfe, 0x40, 0x08, 0xac, 0x18, 0x31, 0x29, 0x71, 0xdb, 0xb4, 0xfe, 0x64, 0x08, 0xb5, 0xfe, 0x82,
+ 0x08, 0x8a, 0xfe, 0x58, 0x08, 0xfe, 0x06, 0xf0, 0xfe, 0x5e, 0x08, 0x8b, 0x7f, 0x03, 0x21, 0x01,
+ 0x41, 0xfe, 0xc9, 0x10, 0x14, 0x16, 0xfe, 0xc9, 0x10, 0x74, 0x09, 0x05, 0xfe, 0x10, 0x12, 0x74,
+ 0x09, 0x0a, 0x59, 0x0b, 0x09, 0x0a, 0xde, 0xfe, 0x2e, 0x1c, 0x03, 0xfe, 0x08, 0x0a, 0x74, 0x09,
+ 0x05, 0x59, 0x74, 0x09, 0x0a, 0xfe, 0x52, 0x12, 0xfe, 0x2c, 0x1c, 0xfe, 0xaa, 0xf0, 0xfe, 0x02,
+ 0x09, 0xfe, 0xac, 0xf0, 0xfe, 0xa2, 0x08, 0xfe, 0x8a, 0x10, 0xa6, 0xfe, 0xf3, 0x10, 0xfe, 0xad,
+ 0xf0, 0xfe, 0xae, 0x08, 0x03, 0xfe, 0x08, 0x0a, 0xa7, 0xfe, 0xe7, 0x10, 0xfe, 0x2b, 0xf0, 0x99,
+ 0xe7, 0x1b, 0xfe, 0x00, 0xfe, 0xfe, 0x1c, 0x12, 0xb0, 0xfe, 0xd2, 0xf0, 0x99, 0xfe, 0x76, 0x18,
+ 0x1b, 0x1a, 0x18, 0x99, 0x04, 0xc7, 0x1b, 0x05, 0x18, 0x99, 0xb4, 0x6b, 0xb5, 0x6b, 0xa6, 0xa7,
+ 0xfe, 0xb1, 0x10, 0x6e, 0x5b, 0x2a, 0x17, 0x90, 0x01, 0x32, 0x0e, 0xfe, 0x35, 0x00, 0xfe, 0x01,
+ 0xf0, 0x58, 0x0e, 0x7a, 0x03, 0x58, 0xfe, 0x74, 0x18, 0x1b, 0xfe, 0x00, 0xf8, 0x18, 0x6b, 0x63,
+ 0x1c, 0x01, 0xfe, 0x16, 0x0d, 0x3a, 0x01, 0xe4, 0x1d, 0x26, 0x72, 0x63, 0x1a, 0x03, 0x6b, 0xfe,
+ 0x98, 0x80, 0xfe, 0x19, 0xe4, 0x0a, 0x20, 0xfe, 0xea, 0x09, 0x0b, 0x09, 0x68, 0xfe, 0x82, 0x12,
+ 0x0b, 0x09, 0x16, 0xfe, 0x66, 0x13, 0x1d, 0x56, 0xa8, 0xfb, 0xfe, 0x83, 0x80, 0xfe, 0xc8, 0x44,
+ 0xfe, 0x2e, 0x13, 0xfe, 0x04, 0x91, 0xfe, 0x86, 0x91, 0x5f, 0x26, 0xfe, 0x40, 0x59, 0xfe, 0xc1,
+ 0x59, 0x76, 0xd3, 0x04, 0x52, 0x30, 0x53, 0x0c, 0x79, 0x19, 0x7a, 0xba, 0x52, 0xbb, 0x53, 0x01,
+ 0xa5, 0xa9, 0x5f, 0x26, 0x13, 0x56, 0xbc, 0x36, 0xbd, 0x4c, 0x78, 0x54, 0x64, 0x55, 0xf4, 0xf5,
+ 0xfe, 0x04, 0xfa, 0x36, 0xfe, 0x05, 0xfa, 0x4c, 0x01, 0xdf, 0xfe, 0x36, 0x10, 0x22, 0x0c, 0x79,
+ 0x0c, 0x7a, 0x78, 0x54, 0x64, 0x55, 0xfe, 0x12, 0x10, 0x0b, 0x09, 0x16, 0x18, 0xd3, 0x78, 0x38,
+ 0x64, 0x39, 0x0b, 0x09, 0xfe, 0xf7, 0x00, 0x34, 0x04, 0x50, 0x30, 0x51, 0xfe, 0x10, 0x58, 0xfe,
+ 0x91, 0x58, 0xfe, 0x14, 0x59, 0xfe, 0x95, 0x59, 0x03, 0x6b, 0x0b, 0x09, 0x16, 0x18, 0xd3, 0x0b,
+ 0x09, 0xfe, 0xf7, 0x00, 0x34, 0xfe, 0x3a, 0x55, 0xfe, 0x19, 0x81, 0x5d, 0xfe, 0x10, 0x90, 0xfe,
+ 0x92, 0x90, 0xfe, 0xd7, 0x10, 0x2e, 0x06, 0x98, 0x18, 0xfe, 0xaa, 0x08, 0x11, 0x98, 0xfe, 0x98,
+ 0x80, 0xfe, 0x19, 0xe4, 0x0a, 0xfe, 0x14, 0x13, 0x04, 0x38, 0x30, 0x39, 0x76, 0xfe, 0xaa, 0x08,
+ 0xfe, 0x0c, 0x58, 0xfe, 0x8d, 0x58, 0x03, 0x6b, 0x22, 0x43, 0xfe, 0x19, 0x80, 0xdc, 0x0b, 0x09,
+ 0x0a, 0xfe, 0x1a, 0x12, 0xfe, 0x6c, 0x19, 0xfe, 0x19, 0x41, 0xe7, 0xb0, 0xfe, 0xd1, 0xf0, 0xd5,
+ 0x17, 0x65, 0x01, 0x32, 0x0e, 0xfe, 0x44, 0x00, 0xfe, 0x8e, 0x10, 0xfe, 0x6c, 0x19, 0xba, 0x38,
+ 0xfe, 0xed, 0x19, 0xbb, 0x39, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0xe7, 0x1b, 0xfe, 0x00, 0xff,
+ 0x33, 0xfe, 0x74, 0x10, 0xb0, 0xfe, 0xd2, 0xf0, 0xfe, 0x96, 0x0a, 0xfe, 0x76, 0x18, 0x1b, 0x1a,
+ 0x83, 0x04, 0xc7, 0x1b, 0x05, 0xfe, 0x08, 0x13, 0x0e, 0xfe, 0x16, 0x00, 0x03, 0x58, 0xfe, 0xd1,
+ 0xf0, 0xfe, 0xa8, 0x0a, 0x17, 0x65, 0x01, 0x32, 0x0e, 0xfe, 0x17, 0x00, 0xfe, 0x42, 0x10, 0xfe,
+ 0xce, 0xf0, 0xfe, 0xae, 0x0a, 0xfe, 0x3c, 0x10, 0xfe, 0xcd, 0xf0, 0xfe, 0xba, 0x0a, 0x0e, 0xfe,
+ 0x22, 0x00, 0x03, 0x58, 0xfe, 0xcb, 0xf0, 0xfe, 0xc6, 0x0a, 0x0e, 0xfe, 0x24, 0x00, 0x03, 0x58,
+ 0xfe, 0xd0, 0xf0, 0xfe, 0xd0, 0x0a, 0x0e, 0x91, 0xda, 0xfe, 0xcf, 0xf0, 0xfe, 0xda, 0x0a, 0x0e,
+ 0x4a, 0xfe, 0x10, 0x10, 0xfe, 0xcc, 0xf0, 0xd5, 0xfe, 0x84, 0x80, 0xfe, 0x19, 0xe4, 0x16, 0x3a,
+ 0x0e, 0xfe, 0x12, 0x00, 0x29, 0x12, 0x65, 0x61, 0xfe, 0xf0, 0x0a, 0xfe, 0x9e, 0xf0, 0xfe, 0x04,
+ 0x0b, 0xac, 0x18, 0x31, 0x29, 0x71, 0xdb, 0xb4, 0x21, 0xb5, 0x21, 0x29, 0xeb, 0x61, 0xfe, 0x10,
+ 0x0b, 0x24, 0x31, 0x8a, 0xfe, 0x2c, 0x0b, 0x8b, 0x7f, 0xb4, 0xd0, 0xb5, 0xd0, 0x03, 0x21, 0x01,
+ 0x41, 0xfe, 0xdb, 0x10, 0x11, 0xfe, 0xe8, 0x00, 0xa6, 0xa7, 0x6e, 0xb8, 0x7b, 0xb9, 0x7d, 0xfe,
+ 0x89, 0xf0, 0x21, 0x2f, 0x2d, 0xd4, 0xb8, 0x7b, 0xb9, 0x7d, 0x01, 0x07, 0x1e, 0x21, 0x2f, 0x2d,
+ 0xd2, 0xac, 0x59, 0x0e, 0xfe, 0x42, 0x00, 0x03, 0x58, 0x77, 0x05, 0xfe, 0x81, 0x49, 0xfe, 0xa2,
+ 0x12, 0x0b, 0x09, 0x0a, 0xfe, 0x44, 0x13, 0x0e, 0x00, 0x48, 0x0a, 0xfe, 0x54, 0x12, 0x48, 0xfe,
+ 0x28, 0x00, 0x20, 0xfe, 0x88, 0x0c, 0x08, 0x37, 0x01, 0x10, 0x06, 0x00, 0x5a, 0x3c, 0xfe, 0x28,
+ 0x00, 0xfe, 0xe2, 0x10, 0x01, 0xe5, 0x01, 0xe6, 0x08, 0x96, 0x01, 0xfe, 0xd6, 0x0d, 0x57, 0x11,
+ 0x2c, 0x01, 0x6d, 0x03, 0x28, 0x0e, 0xfe, 0x44, 0x00, 0x48, 0x0a, 0xdd, 0x3c, 0x0a, 0xfe, 0xb4,
+ 0x10, 0x01, 0x9f, 0x3c, 0x0a, 0xfe, 0xaa, 0x10, 0x01, 0x9f, 0xfe, 0x19, 0x82, 0xfe, 0x34, 0x46,
+ 0xa0, 0x3c, 0x0a, 0x0e, 0xfe, 0x43, 0x00, 0xfe, 0x96, 0x10, 0x0b, 0x47, 0x0a, 0x34, 0x01, 0xe5,
+ 0x01, 0xe6, 0x57, 0x11, 0x2c, 0x01, 0x6d, 0x63, 0x0a, 0x57, 0x44, 0xb2, 0x03, 0xfe, 0x26, 0x03,
+ 0x0b, 0x09, 0x0a, 0x83, 0x3c, 0x0a, 0x0e, 0x00, 0xfe, 0x5c, 0x10, 0x74, 0x09, 0x1c, 0xfe, 0x58,
+ 0x12, 0x0b, 0x09, 0x1c, 0xfe, 0x50, 0x13, 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0x3e, 0x0c,
+ 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0x44, 0x0c, 0x0b, 0x47, 0x1c, 0x34, 0xfe, 0xa9, 0x10,
+ 0x0e, 0xfe, 0x15, 0x00, 0xfe, 0x04, 0xe6, 0x0a, 0x5d, 0xfe, 0x2e, 0x10, 0x0e, 0xfe, 0x13, 0x00,
+ 0xfe, 0x10, 0x10, 0x0e, 0xfe, 0x47, 0x00, 0x9d, 0x0e, 0xfe, 0x41, 0x00, 0x9c, 0x0e, 0xfe, 0x24,
+ 0x00, 0x85, 0xa6, 0xa7, 0x6e, 0x04, 0x69, 0x27, 0x20, 0xcc, 0x5d, 0xfe, 0x04, 0xe6, 0x1c, 0xfe,
+ 0x9d, 0x41, 0xfe, 0x1c, 0x42, 0x57, 0x01, 0xd6, 0x03, 0x28, 0xe8, 0x17, 0x0a, 0x3d, 0xc1, 0xe9,
+ 0x17, 0xfe, 0x31, 0x00, 0x3d, 0x94, 0x01, 0xfe, 0xf2, 0x0e, 0x03, 0xcb, 0x44, 0xfe, 0x06, 0xec,
+ 0xc5, 0xee, 0x3c, 0x2b, 0xfe, 0xce, 0x45, 0x33, 0x44, 0xfe, 0x06, 0xea, 0xc5, 0xfe, 0x47, 0x4b,
+ 0x87, 0xfe, 0x75, 0x57, 0x04, 0x4f, 0xfe, 0x98, 0x56, 0xfe, 0x28, 0x12, 0x08, 0x37, 0xfe, 0xec,
+ 0x14, 0x43, 0xfe, 0x41, 0x58, 0x08, 0x96, 0xfe, 0xe2, 0x14, 0xfe, 0x49, 0x54, 0x8c, 0xfe, 0xfc,
+ 0x0c, 0x08, 0x40, 0xfe, 0xd6, 0x14, 0xfe, 0x44, 0x48, 0x03, 0xfe, 0x26, 0x03, 0x08, 0x4f, 0xfe,
+ 0xc0, 0x14, 0xee, 0x3c, 0x2b, 0xfe, 0xce, 0x45, 0x33, 0x44, 0xfe, 0xce, 0x47, 0xfe, 0xbd, 0x13,
+ 0x03, 0x28, 0x1d, 0x1f, 0x06, 0x0f, 0xfe, 0x70, 0x12, 0x22, 0x13, 0x4b, 0x13, 0x92, 0x1d, 0x2c,
+ 0x43, 0x3d, 0x2c, 0xac, 0xfe, 0x0c, 0x13, 0xfe, 0xbc, 0xf0, 0xfe, 0x90, 0x0d, 0x12, 0x05, 0x13,
+ 0x4b, 0x01, 0xfe, 0x80, 0x15, 0x04, 0xfe, 0x38, 0x01, 0x30, 0xfe, 0x3a, 0x01, 0x76, 0xfe, 0x94,
+ 0x0d, 0x04, 0xfe, 0x38, 0x01, 0x1b, 0xfe, 0xf0, 0xff, 0x0c, 0xfe, 0x60, 0x01, 0x04, 0xfe, 0x3a,
+ 0x01, 0x0c, 0xfe, 0x62, 0x01, 0x23, 0x05, 0x13, 0x2c, 0xfe, 0x04, 0xec, 0x1f, 0x5c, 0x3b, 0x13,
+ 0x1f, 0xfe, 0x05, 0xf6, 0xfe, 0x34, 0x01, 0x01, 0xfe, 0xf0, 0x15, 0x11, 0x2c, 0xb2, 0x12, 0x05,
+ 0x02, 0x22, 0x02, 0x1d, 0x4b, 0xfe, 0xf7, 0x12, 0x1d, 0x92, 0xa8, 0x13, 0x92, 0x06, 0x65, 0xfe,
+ 0x9b, 0x13, 0xfe, 0x24, 0x1c, 0x17, 0x1a, 0x3d, 0xc1, 0xe9, 0xfe, 0xd9, 0x10, 0xb1, 0xfe, 0x03,
+ 0xdc, 0xfe, 0x73, 0x57, 0xfe, 0x80, 0x5d, 0x02, 0xb1, 0xfe, 0x03, 0xdc, 0xfe, 0x5b, 0x57, 0xfe,
+ 0x80, 0x5d, 0x02, 0xfe, 0x03, 0x57, 0xb1, 0x22, 0xfc, 0x02, 0xfe, 0x03, 0x57, 0xb1, 0x73, 0x02,
+ 0x0b, 0x09, 0x4a, 0xfe, 0x22, 0x13, 0xfe, 0x1c, 0x80, 0x06, 0x05, 0xfe, 0x1a, 0x13, 0xfe, 0x1e,
+ 0x80, 0xe0, 0xfe, 0x1d, 0x80, 0xa1, 0xfe, 0x0c, 0x90, 0xfe, 0x0e, 0x13, 0xfe, 0x0e, 0x90, 0xa0,
+ 0xfe, 0x3c, 0x90, 0xfe, 0x30, 0xf4, 0x0a, 0xfe, 0x3c, 0x50, 0x9c, 0x01, 0xfe, 0x20, 0x16, 0x2e,
+ 0x06, 0x2c, 0x5a, 0x01, 0xfe, 0x5a, 0x15, 0xfe, 0x08, 0x10, 0x01, 0xe5, 0x01, 0xe6, 0x11, 0xfe,
+ 0xe9, 0x00, 0x0b, 0x09, 0x4a, 0xfe, 0x2c, 0x13, 0x01, 0xfe, 0xb2, 0x15, 0xfe, 0x1e, 0x1c, 0xfe,
+ 0x14, 0x90, 0x0c, 0xfe, 0x64, 0x01, 0xfe, 0x16, 0x90, 0x0c, 0xfe, 0x66, 0x01, 0x0b, 0x09, 0x4d,
+ 0xfe, 0x12, 0x12, 0xfe, 0x03, 0x80, 0x72, 0xfe, 0x01, 0xec, 0x1f, 0xfe, 0x80, 0x40, 0x13, 0x1f,
+ 0x5f, 0x26, 0x11, 0xc4, 0x57, 0x1d, 0x1f, 0xec, 0x75, 0x1f, 0x02, 0xfe, 0x08, 0x1c, 0x04, 0xfe,
+ 0xac, 0x00, 0xfe, 0x06, 0x58, 0x04, 0xfe, 0xae, 0x00, 0xfe, 0x07, 0x58, 0x04, 0xfe, 0xb0, 0x00,
+ 0xfe, 0x08, 0x58, 0x04, 0xfe, 0xb2, 0x00, 0xfe, 0x09, 0x58, 0xfe, 0x0a, 0x1c, 0x23, 0x67, 0x13,
+ 0xc5, 0x22, 0x0c, 0x4e, 0x0c, 0x3e, 0x12, 0x37, 0x45, 0x5d, 0x15, 0x2b, 0xfe, 0x90, 0x4d, 0xfe,
+ 0x91, 0x54, 0x20, 0xfe, 0xa6, 0x0e, 0x3c, 0x0f, 0x12, 0x40, 0x45, 0x15, 0x4a, 0xfe, 0x90, 0x4d,
+ 0xfe, 0x91, 0x54, 0x20, 0xfe, 0xbc, 0x0e, 0x23, 0x0f, 0x13, 0x1f, 0x77, 0x49, 0x5c, 0x1d, 0x1f,
+ 0xec, 0x75, 0x1f, 0x11, 0xc4, 0xf6, 0xfe, 0xd6, 0xf0, 0xfe, 0xd0, 0x0e, 0xe8, 0x6e, 0xfe, 0x14,
+ 0x1c, 0xfe, 0x10, 0x1c, 0xfe, 0x18, 0x1c, 0x02, 0x44, 0xfe, 0x0c, 0x14, 0xee, 0xfe, 0x07, 0xe6,
+ 0x2b, 0xfe, 0xce, 0x47, 0xfe, 0xf5, 0x13, 0x02, 0x01, 0x9f, 0x77, 0x49, 0x5c, 0xfa, 0xef, 0xfe,
+ 0x42, 0x13, 0x2e, 0x06, 0x2c, 0xfe, 0x34, 0x13, 0x08, 0x40, 0x01, 0x10, 0xab, 0xfe, 0x36, 0x12,
+ 0xf0, 0xfe, 0x45, 0x48, 0x01, 0xa2, 0xfc, 0xab, 0xfe, 0xf3, 0x13, 0x3b, 0x73, 0x06, 0x0f, 0xa0,
+ 0x08, 0x7e, 0x01, 0x10, 0xfe, 0x80, 0x5c, 0x01, 0x6d, 0xd9, 0x06, 0x7c, 0x59, 0xf6, 0xfe, 0xd6,
+ 0xf0, 0xfe, 0x0a, 0x0f, 0x02, 0xfe, 0x44, 0x58, 0x72, 0xfe, 0x01, 0xec, 0x94, 0xfe, 0x9e, 0x40,
+ 0xfe, 0x9d, 0xe7, 0x00, 0xfe, 0x9c, 0xe7, 0x1c, 0x75, 0x26, 0x01, 0xd6, 0xfe, 0xdd, 0x10, 0x29,
+ 0xb8, 0x7b, 0xb9, 0x7d, 0x2f, 0x2d, 0xd1, 0x06, 0x1c, 0xfe, 0x48, 0x12, 0x06, 0x0a, 0xfe, 0x56,
+ 0x12, 0x06, 0x1a, 0xfe, 0x30, 0x12, 0x06, 0xbe, 0x18, 0xfe, 0xdc, 0x10, 0x06, 0xfe, 0x23, 0x00,
+ 0x18, 0xfe, 0xe8, 0x10, 0x06, 0x05, 0x18, 0xfe, 0x46, 0x11, 0x06, 0x16, 0xfe, 0x12, 0x12, 0x06,
+ 0x00, 0x18, 0x21, 0x17, 0xbe, 0x01, 0x32, 0x9b, 0x2a, 0x01, 0x07, 0x8a, 0x41, 0x02, 0x2a, 0xfe,
+ 0x62, 0x08, 0x08, 0xc6, 0x01, 0xfe, 0xd6, 0x0d, 0x11, 0x7c, 0x03, 0x28, 0x2a, 0x2e, 0x06, 0x98,
+ 0xfe, 0xd9, 0x13, 0x78, 0x38, 0x64, 0x39, 0x76, 0xfe, 0x9a, 0x10, 0x0b, 0x09, 0x68, 0xfe, 0x72,
+ 0x12, 0xbc, 0x36, 0xbd, 0x4c, 0xf4, 0xf5, 0x8c, 0xfe, 0x64, 0x10, 0x1d, 0x56, 0xfe, 0x26, 0x13,
+ 0x04, 0x79, 0x30, 0x7a, 0x76, 0xfe, 0x64, 0x0c, 0x0c, 0x52, 0x19, 0x53, 0x22, 0x0c, 0x79, 0x0c,
+ 0x7a, 0x01, 0xa5, 0x23, 0x67, 0x71, 0x13, 0x56, 0x01, 0xdf, 0xbc, 0x36, 0xbd, 0x4c, 0xfe, 0x04,
+ 0x55, 0xfe, 0xa5, 0x55, 0xfe, 0x04, 0xfa, 0x36, 0xfe, 0x05, 0xfa, 0x4c, 0xfe, 0x91, 0x10, 0x04,
+ 0x54, 0x30, 0x55, 0xfe, 0x40, 0x56, 0xfe, 0xe1, 0x56, 0x0c, 0x54, 0x19, 0x55, 0x82, 0xbc, 0x36,
+ 0xbd, 0x4c, 0xf4, 0xf5, 0x04, 0x50, 0x30, 0x51, 0xfe, 0x00, 0x56, 0xfe, 0xa1, 0x56, 0x0c, 0x50,
+ 0x19, 0x51, 0x0b, 0x09, 0x68, 0xfe, 0x1e, 0x12, 0x1d, 0x56, 0xfe, 0x1f, 0x40, 0x04, 0x52, 0x30,
+ 0x53, 0xfe, 0x2c, 0x50, 0xfe, 0xae, 0x50, 0x04, 0x54, 0x30, 0x55, 0xfe, 0x44, 0x50, 0xfe, 0xc6,
+ 0x50, 0x04, 0x50, 0x30, 0x51, 0xfe, 0x08, 0x50, 0xfe, 0x8a, 0x50, 0x04, 0x38, 0x30, 0x39, 0xfe,
+ 0x40, 0x50, 0xfe, 0xc2, 0x50, 0x03, 0x81, 0x23, 0x05, 0x13, 0xc9, 0x03, 0x6c, 0x2a, 0x01, 0x07,
+ 0x1e, 0x42, 0x2f, 0x2d, 0xd1, 0x06, 0x05, 0x20, 0x42, 0x2e, 0x06, 0x98, 0x20, 0x6c, 0x01, 0x9e,
+ 0x1b, 0x3b, 0x18, 0x42, 0x0b, 0x09, 0x0a, 0xe1, 0x78, 0x38, 0x64, 0x39, 0xfe, 0x0a, 0x55, 0x33,
+ 0xfe, 0x8b, 0x55, 0xba, 0x38, 0xbb, 0x39, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0x03, 0x6c, 0xfe,
+ 0x19, 0x81, 0xed, 0xfe, 0x19, 0x41, 0x03, 0x6c, 0x2a, 0x01, 0x07, 0x24, 0x31, 0x1e, 0xd7, 0x2f,
+ 0x2d, 0xd4, 0x48, 0x1a, 0xfe, 0xa6, 0x12, 0x48, 0x0a, 0x3a, 0x03, 0x42, 0x01, 0x07, 0x24, 0x31,
+ 0x1e, 0xd7, 0x2f, 0x2d, 0xd2, 0x06, 0x1a, 0x20, 0x42, 0x01, 0x07, 0x1e, 0xd7, 0x2f, 0x2d, 0xfe,
+ 0xe8, 0x09, 0xfe, 0xc2, 0x49, 0x5e, 0x04, 0xfe, 0x9c, 0x00, 0x27, 0x83, 0x46, 0x09, 0x16, 0x33,
+ 0x9b, 0xfe, 0xbb, 0x45, 0x48, 0x00, 0x59, 0x3c, 0x05, 0x77, 0x3b, 0xfe, 0xda, 0x14, 0x01, 0x9e,
+ 0x85, 0xfe, 0x4b, 0x45, 0xe1, 0x2e, 0x06, 0x97, 0xe0, 0x04, 0xc2, 0x27, 0x83, 0x04, 0x3e, 0x27,
+ 0x33, 0x5b, 0x03, 0x6c, 0xfe, 0xc0, 0x5d, 0xfe, 0xf8, 0x14, 0xfe, 0x03, 0x17, 0x04, 0x4e, 0xaf,
+ 0x0c, 0x4e, 0x5b, 0x2a, 0x01, 0x07, 0x25, 0x81, 0x01, 0xfe, 0x48, 0x14, 0x03, 0x81, 0x01, 0x07,
+ 0x24, 0x31, 0x1e, 0x42, 0x2f, 0x2d, 0xd2, 0x06, 0x05, 0x20, 0x42, 0x01, 0xfe, 0x2c, 0x13, 0xfe,
+ 0x42, 0x58, 0xfe, 0x82, 0x14, 0xfe, 0xa4, 0x14, 0x85, 0xfe, 0x4a, 0xf4, 0x0a, 0x18, 0x42, 0xfe,
+ 0x4a, 0xf4, 0x05, 0xfe, 0x0c, 0x12, 0x2e, 0x06, 0x97, 0x84, 0x03, 0x6c, 0x04, 0x3e, 0xaf, 0x0c,
+ 0x3e, 0x5b, 0x2a, 0x01, 0x07, 0x25, 0x81, 0x01, 0xfe, 0x76, 0x14, 0x03, 0x81, 0x12, 0x05, 0x61,
+ 0xde, 0x25, 0xfe, 0x7e, 0x12, 0x70, 0xf1, 0x01, 0x07, 0x22, 0x70, 0x02, 0x8d, 0xfe, 0x7a, 0x12,
+ 0x24, 0xfe, 0x7a, 0x12, 0x1e, 0xde, 0x5b, 0x2a, 0x01, 0x07, 0xfe, 0xd5, 0x10, 0x12, 0x6a, 0xff,
+ 0x02, 0x00, 0x57, 0x45, 0x88, 0x1b, 0xfe, 0xff, 0x7f, 0xfe, 0x30, 0x56, 0xfe, 0x00, 0x5c, 0x02,
+ 0x12, 0x6a, 0xff, 0x02, 0x00, 0x57, 0x45, 0x88, 0x1b, 0x3b, 0xfe, 0x30, 0x56, 0xfe, 0x00, 0x5c,
+ 0x02, 0x12, 0x6a, 0xff, 0x02, 0x00, 0x57, 0x45, 0x88, 0x02, 0x12, 0x6a, 0xff, 0x02, 0x00, 0x57,
+ 0x45, 0x88, 0xfe, 0x0b, 0x58, 0x02, 0x08, 0x4e, 0x01, 0x80, 0x08, 0x3e, 0x01, 0x80, 0x02, 0xfb,
+ 0x1b, 0x0f, 0xff, 0x03, 0x00, 0x54, 0xfe, 0x00, 0xf4, 0x16, 0x45, 0xfe, 0x00, 0x7d, 0xfe, 0x01,
+ 0x7d, 0xfe, 0x02, 0x7d, 0xfe, 0x03, 0x7c, 0x5f, 0x26, 0x0c, 0x50, 0x19, 0x51, 0xba, 0x54, 0xbb,
+ 0x55, 0x02, 0xfe, 0x62, 0x08, 0xfe, 0x82, 0x4a, 0xfe, 0xe1, 0x1a, 0xfe, 0x83, 0x5a, 0x72, 0x02,
+ 0x01, 0xfe, 0xae, 0x17, 0xfe, 0x42, 0x48, 0x5d, 0x5e, 0x87, 0x01, 0x07, 0x1e, 0xfe, 0x40, 0x14,
+ 0x2f, 0x2d, 0xd4, 0x01, 0x07, 0x1e, 0xfe, 0x40, 0x14, 0x2f, 0x2d, 0xfe, 0xe8, 0x0a, 0xfe, 0xc1,
+ 0x59, 0x04, 0xc2, 0x27, 0xfe, 0xcc, 0x12, 0x46, 0x09, 0x1c, 0xfe, 0xc4, 0x13, 0x22, 0x89, 0x1c,
+ 0xe1, 0x48, 0xbf, 0x60, 0xfe, 0x86, 0x13, 0x3a, 0x12, 0x05, 0x15, 0xbf, 0x77, 0xd8, 0xfe, 0x78,
+ 0x10, 0xff, 0x02, 0x83, 0x55, 0x9d, 0xff, 0x02, 0x83, 0x55, 0x89, 0x1a, 0xa1, 0xb7, 0xfe, 0x30,
+ 0x00, 0x8c, 0xe2, 0x15, 0x66, 0x12, 0x05, 0xfe, 0x56, 0x10, 0x89, 0x0a, 0xe0, 0xb7, 0xfe, 0x64,
+ 0x00, 0x8c, 0xe2, 0x08, 0xfe, 0x64, 0x00, 0x15, 0x91, 0x12, 0x05, 0xfe, 0x28, 0x10, 0x89, 0x05,
+ 0xfe, 0x60, 0x13, 0xb7, 0xfe, 0xc8, 0x00, 0x8c, 0xe2, 0x08, 0xfe, 0xc8, 0x00, 0x15, 0x4b, 0x12,
+ 0x05, 0x82, 0xb7, 0xfe, 0x90, 0x01, 0xb6, 0xfe, 0xec, 0x13, 0x87, 0xfe, 0x12, 0x10, 0xfe, 0x43,
+ 0xf4, 0x92, 0xfe, 0x56, 0xf0, 0xfe, 0xfe, 0x13, 0xfe, 0x04, 0xf4, 0x6a, 0xfe, 0x43, 0xf4, 0x91,
+ 0xfe, 0xf3, 0x10, 0xf9, 0x01, 0xfe, 0xc0, 0x12, 0x1b, 0x3b, 0xfe, 0x10, 0x13, 0xfe, 0x00, 0x17,
+ 0xfe, 0x4d, 0xe4, 0x67, 0xb6, 0xfe, 0x3a, 0x14, 0xb3, 0x67, 0xfe, 0x1c, 0x10, 0xfe, 0x00, 0x17,
+ 0xfe, 0x4d, 0xe4, 0x16, 0xb6, 0xfe, 0x3a, 0x14, 0xb3, 0x16, 0x82, 0x5e, 0x22, 0xfe, 0x4d, 0xf4,
+ 0x00, 0xdd, 0x87, 0x12, 0x05, 0xfe, 0xb4, 0x56, 0xfe, 0xc3, 0x58, 0x02, 0x5e, 0x12, 0x0a, 0x02,
+ 0x14, 0x05, 0x01, 0x07, 0x25, 0xe3, 0x14, 0x0a, 0x01, 0x07, 0x25, 0xe3, 0x14, 0x1a, 0x01, 0x07,
+ 0x25, 0xe3, 0x70, 0xfe, 0x89, 0x49, 0x01, 0x07, 0x02, 0x14, 0x05, 0x01, 0x07, 0x25, 0xa3, 0x14,
+ 0x1a, 0x01, 0x07, 0x25, 0xa3, 0x14, 0x05, 0x01, 0x07, 0x25, 0xa3, 0xfe, 0x89, 0x49, 0x01, 0x07,
+ 0x25, 0xa3, 0x70, 0xfe, 0x89, 0x4a, 0x01, 0x07, 0x02, 0x5e, 0x02, 0x1d, 0xc8, 0x06, 0x05, 0xfe,
+ 0x44, 0x13, 0xa9, 0x13, 0xc8, 0xfe, 0x49, 0xf4, 0x00, 0x3a, 0x70, 0x9b, 0x5b, 0xfe, 0x01, 0xec,
+ 0xfe, 0x27, 0x01, 0xf1, 0x01, 0x07, 0x2e, 0x06, 0xfe, 0xe3, 0x00, 0xa2, 0x1e, 0xfe, 0xf8, 0x14,
+ 0x22, 0x13, 0xc9, 0x01, 0x41, 0x1d, 0xc9, 0x06, 0x05, 0x59, 0x0b, 0x47, 0x05, 0x34, 0x02, 0x08,
+ 0x40, 0x01, 0x10, 0xec, 0x86, 0x06, 0x0f, 0xa1, 0x08, 0x7e, 0x01, 0x10, 0x86, 0x08, 0x4f, 0x01,
+ 0x9a, 0x02, 0x08, 0x7e, 0x01, 0x10, 0x86, 0xfe, 0x80, 0xe7, 0x0f, 0x06, 0x0f, 0x83, 0xfe, 0x45,
+ 0x58, 0x01, 0xa2, 0x86, 0x02, 0x08, 0x40, 0x01, 0x10, 0x86, 0x08, 0x4f, 0x01, 0x9a, 0x02, 0x08,
+ 0x40, 0x01, 0x10, 0xfe, 0x80, 0x80, 0xf2, 0xfe, 0x49, 0xe4, 0x0f, 0xa1, 0x08, 0x7e, 0x01, 0x10,
+ 0xf2, 0x08, 0x4f, 0x01, 0x80, 0x02, 0x15, 0x0f, 0x6f, 0x62, 0xfe, 0x60, 0x01, 0xfe, 0x18, 0xdf,
+ 0xfe, 0x19, 0xde, 0xfe, 0x24, 0x1c, 0xfe, 0x1d, 0xf7, 0x2b, 0x8e, 0xfe, 0x94, 0x15, 0x01, 0xfe,
+ 0x9a, 0x16, 0xfe, 0x0c, 0x13, 0x8f, 0x2b, 0x62, 0xfe, 0x2c, 0x01, 0xfe, 0x2f, 0x19, 0x02, 0xaa,
+ 0x20, 0xfe, 0x84, 0x15, 0xfe, 0xda, 0x10, 0x15, 0x0f, 0x6f, 0x04, 0xfe, 0x64, 0x01, 0xfe, 0x00,
+ 0xf4, 0x16, 0xfe, 0x18, 0x58, 0x04, 0xfe, 0x66, 0x01, 0xfe, 0x19, 0x58, 0x8f, 0x16, 0xfe, 0x3c,
+ 0x90, 0xfe, 0x30, 0xf4, 0x05, 0xfe, 0x3c, 0x50, 0x62, 0xfe, 0x38, 0x00, 0xfe, 0x0f, 0x79, 0xfe,
+ 0x1c, 0xf7, 0x16, 0x8e, 0xfe, 0xde, 0x15, 0xfe, 0xb6, 0x14, 0x33, 0x02, 0xaa, 0x20, 0xfe, 0xb6,
+ 0x15, 0xfe, 0x9c, 0x10, 0x15, 0x0f, 0x6f, 0xfe, 0x83, 0x5a, 0xfe, 0x18, 0xdf, 0xfe, 0x19, 0xde,
+ 0xfe, 0x1d, 0xf7, 0x36, 0x8e, 0x02, 0xfe, 0x94, 0x14, 0xfe, 0x10, 0x13, 0x8f, 0x36, 0x62, 0x1c,
+ 0xfe, 0xaf, 0x19, 0xfe, 0x98, 0xe7, 0x00, 0x02, 0xaa, 0x20, 0xfe, 0xf4, 0x15, 0xfe, 0x6c, 0x10,
+ 0x15, 0x0f, 0x6f, 0xfe, 0x30, 0xbc, 0xfe, 0xb2, 0xbc, 0x8f, 0xc0, 0x62, 0x1c, 0xfe, 0x0f, 0x79,
+ 0xfe, 0x1c, 0xf7, 0xc0, 0x8e, 0xfe, 0x38, 0x16, 0xfe, 0x5c, 0x14, 0x33, 0x02, 0xaa, 0x20, 0xfe,
+ 0x24, 0x16, 0xfe, 0x42, 0x10, 0xfe, 0x02, 0xf6, 0x0f, 0x6f, 0xfe, 0x18, 0xfe, 0x52, 0xfe, 0x19,
+ 0xfe, 0x53, 0xfb, 0xfe, 0x1d, 0xf7, 0x4d, 0x8e, 0xfe, 0x5e, 0x16, 0xfe, 0x36, 0x14, 0xfe, 0x1c,
+ 0x13, 0x8f, 0x4d, 0x43, 0xfe, 0x83, 0x58, 0xfe, 0xaf, 0x19, 0xfe, 0x80, 0xe7, 0x0f, 0xfe, 0x81,
+ 0xe7, 0x0f, 0x11, 0xfe, 0xdd, 0x00, 0x5f, 0x26, 0x02, 0x5f, 0x26, 0xfe, 0x12, 0x45, 0x20, 0xfe,
+ 0x4e, 0x16, 0x17, 0x05, 0x3d, 0xc1, 0xe9, 0x03, 0x28, 0xfe, 0x39, 0xf0, 0xfe, 0xa2, 0x16, 0x22,
+ 0x02, 0xfe, 0x7e, 0x18, 0x1b, 0x1a, 0x5a, 0x12, 0x0d, 0x02, 0x6f, 0x04, 0xc7, 0x1b, 0x05, 0xfe,
+ 0xef, 0x12, 0xfe, 0xe1, 0x10, 0x77, 0x49, 0x5c, 0x2e, 0x06, 0x2c, 0xfe, 0x3c, 0x13, 0xfe, 0x7e,
+ 0x14, 0xfe, 0x42, 0x13, 0x44, 0xb2, 0x08, 0x40, 0x01, 0x10, 0xab, 0xfe, 0x3e, 0x12, 0xf0, 0xfe,
+ 0x45, 0x48, 0x01, 0xa2, 0xfc, 0xab, 0xfe, 0xf3, 0x13, 0x3b, 0x73, 0x06, 0x0f, 0xa0, 0x08, 0x7e,
+ 0x01, 0x10, 0xf2, 0x01, 0x6d, 0xfe, 0x16, 0x10, 0x06, 0x7c, 0x84, 0xfe, 0x3c, 0x14, 0xfe, 0x24,
+ 0x12, 0xf6, 0xfe, 0xd6, 0xf0, 0xfe, 0xc2, 0x16, 0x15, 0x0a, 0x02, 0xfe, 0x9c, 0xe7, 0x0a, 0x0e,
+ 0xfe, 0x15, 0x00, 0x57, 0x75, 0x26, 0x01, 0xd6, 0x15, 0x05, 0x02, 0x0b, 0x47, 0x2b, 0x34, 0x11,
+ 0x2c, 0x01, 0x6d, 0x15, 0x05, 0x02, 0xfe, 0x38, 0x90, 0xfe, 0xba, 0x90, 0x78, 0xc3, 0x64, 0xc4,
+ 0xfe, 0x48, 0x55, 0x33, 0xfe, 0xc9, 0x55, 0x02, 0x1d, 0x95, 0x71, 0x13, 0x95, 0x02, 0x08, 0x96,
+ 0x01, 0x10, 0xf0, 0x08, 0x37, 0x01, 0x10, 0xfe, 0x49, 0x44, 0x18, 0xfe, 0x8a, 0x17, 0x71, 0x73,
+ 0x02, 0x08, 0x40, 0x01, 0x10, 0x06, 0x0f, 0x59, 0x08, 0x4f, 0x01, 0x9a, 0x08, 0x37, 0x01, 0x10,
+ 0x71, 0x73, 0x02, 0xfe, 0x4e, 0xe4, 0x1a, 0x60, 0xfe, 0xbe, 0x17, 0x04, 0xfe, 0x90, 0x00, 0xfe,
+ 0x3a, 0x45, 0xfe, 0x2c, 0x10, 0xfe, 0x4e, 0xe4, 0xbe, 0x60, 0xfe, 0xd0, 0x17, 0x04, 0xfe, 0x92,
+ 0x00, 0xfe, 0x02, 0xe6, 0x1c, 0xda, 0xfe, 0x4e, 0xe4, 0xfe, 0x0b, 0x00, 0x60, 0xfe, 0xe2, 0x17,
+ 0x04, 0xfe, 0x94, 0x00, 0xfe, 0x02, 0xe6, 0x16, 0xfe, 0x08, 0x10, 0x04, 0xfe, 0x96, 0x00, 0xfe,
+ 0x02, 0xe6, 0x66, 0xfe, 0x4e, 0x45, 0xfe, 0x0c, 0x12, 0xed, 0xff, 0x04, 0x68, 0x54, 0xdc, 0x1b,
+ 0x67, 0x02, 0x06, 0x65, 0xfe, 0x5a, 0xf0, 0xfe, 0x0e, 0x18, 0x23, 0xfe, 0x09, 0x00, 0xfe, 0x34,
+ 0x10, 0x06, 0x1c, 0xfe, 0x5a, 0xf0, 0xfe, 0x1c, 0x18, 0x23, 0xbf, 0xfe, 0x26, 0x10, 0x06, 0x1a,
+ 0x5a, 0x23, 0x66, 0xda, 0x06, 0x0a, 0x5a, 0x23, 0x91, 0xd9, 0x06, 0x05, 0x5a, 0x23, 0x4b, 0x9b,
+ 0xa9, 0x02, 0x17, 0xfe, 0x09, 0x00, 0x01, 0x32, 0xfe, 0x04, 0xfe, 0x7b, 0x04, 0x7d, 0xf9, 0x02,
+ 0x24, 0xfe, 0x64, 0x18, 0xfe, 0x14, 0xf0, 0x07, 0x61, 0xfe, 0x60, 0x18, 0x02, 0xff, 0x0d, 0x00,
+ 0x00,
};
-u_int16_t adv_asc3550_mcode_size = sizeof(adv_asc3550_mcode); /* 0x13E5 */
+u_int16_t adv_asc3550_mcode_size = sizeof(adv_asc3550_mcode); /* 0x1361 */
/*
* This checksum is used to compare with that one that will be calculated
* at run time.
* This is performed to ensure the uCode is correctly loaded into the Lram.
*/
-u_int32_t adv_asc3550_mcode_chksum = 0x04FFFF0E;
+u_int32_t adv_asc3550_mcode_chksum = 0x04BE1ABDUL; /* Expanded checksum. */
u_int8_t adv_asc38C0800_mcode[] = {
- 0x00, 0x00, 0x00, 0xf2, 0x00, 0xf0, 0x00, 0x16, 0x00, 0xfc, 0x48, 0xe4, 0x01, 0x00, 0x18, 0xe4,
- 0x00, 0xf6, 0x01, 0xf6, 0x18, 0x80, 0x02, 0x00, 0x40, 0x1a, 0x00, 0xfa, 0xff, 0xff, 0x03, 0xf6,
- 0xff, 0x00, 0x82, 0xe7, 0x01, 0xfa, 0x9e, 0xe7, 0x09, 0xe7, 0x1a, 0x0f, 0x00, 0xea, 0x01, 0xe6,
- 0x03, 0x00, 0x55, 0xf0, 0x18, 0xf4, 0x1e, 0xf0, 0x3e, 0x57, 0x04, 0x00, 0x3e, 0x01, 0x85, 0xf0,
- 0x00, 0xe6, 0x03, 0xfc, 0x08, 0x00, 0x2c, 0x1a, 0x32, 0xf0, 0x86, 0xf0, 0xbe, 0x0d, 0xd4, 0x01,
- 0xd5, 0xf0, 0x00, 0xec, 0x01, 0xfc, 0x38, 0x54, 0x98, 0x57, 0xbc, 0x00, 0x0c, 0x1c, 0xb1, 0xf0,
- 0x3c, 0x00, 0xb4, 0x00, 0xb8, 0x0d, 0x00, 0x57, 0x01, 0xf0, 0x02, 0x13, 0x02, 0xfc, 0x03, 0xe6,
- 0x10, 0x00, 0x18, 0x40, 0x3e, 0x1c, 0x44, 0x13, 0x6c, 0x01, 0x6e, 0x01, 0xbd, 0x00, 0xe0, 0x00,
- 0x02, 0x80, 0x30, 0xe4, 0x3e, 0x00, 0x74, 0x01, 0x76, 0x01, 0x7c, 0x16, 0x80, 0x00, 0xb9, 0x54,
- 0xbb, 0x00, 0xee, 0x13, 0x00, 0x4e, 0x01, 0x01, 0x01, 0xea, 0x02, 0x48, 0x02, 0xfa, 0x04, 0x12,
- 0x08, 0x12, 0x3c, 0x56, 0x4e, 0x01, 0x5d, 0xf0, 0x7a, 0x01, 0x7e, 0x10, 0xb6, 0x00, 0xc2, 0x10,
- 0xee, 0x08, 0x00, 0x80, 0x05, 0xfc, 0x10, 0x44, 0x24, 0x01, 0x28, 0x01, 0x32, 0x00, 0x3c, 0x01,
- 0x40, 0x00, 0x4b, 0xe4, 0x4b, 0xf4, 0x4c, 0x1c, 0x68, 0x01, 0x6a, 0x01, 0x70, 0x01, 0x72, 0x01,
- 0x78, 0x01, 0x7c, 0x01, 0xbb, 0x55, 0xc2, 0x0d, 0x00, 0x01, 0x02, 0xee, 0x03, 0x58, 0x03, 0xf7,
- 0x03, 0xfa, 0x04, 0x80, 0x08, 0x44, 0x09, 0xf0, 0x0f, 0x00, 0x1b, 0x80, 0x20, 0x01, 0x38, 0x1c,
- 0x4e, 0x1c, 0x5b, 0xf0, 0x62, 0x0a, 0xaa, 0x00, 0xbe, 0x00, 0xc0, 0x00, 0xc0, 0x15, 0xcc, 0x10,
- 0x00, 0x4c, 0x00, 0xdc, 0x02, 0x4a, 0x04, 0xfc, 0x05, 0x00, 0x05, 0xf0, 0x05, 0xf8, 0x06, 0x13,
- 0x06, 0xf7, 0x08, 0x13, 0x0a, 0x10, 0x0c, 0x00, 0x0e, 0x47, 0x0e, 0xf7, 0x10, 0x0f, 0x20, 0x00,
- 0x20, 0x16, 0x2a, 0x01, 0x32, 0x1c, 0x36, 0x00, 0x42, 0x54, 0x44, 0x55, 0x45, 0x5a, 0x52, 0x0c,
- 0x59, 0xf0, 0x5c, 0xf0, 0x69, 0x08, 0x6e, 0x0b, 0x83, 0x59, 0xb8, 0xf0, 0xbd, 0x56, 0xcc, 0x18,
- 0xce, 0x10, 0xd8, 0x18, 0xf0, 0x00, 0x01, 0x48, 0x04, 0x10, 0x04, 0xea, 0x04, 0xf6, 0x05, 0x80,
- 0x05, 0xe6, 0x06, 0x00, 0x06, 0x0f, 0x06, 0x12, 0x0b, 0xf0, 0x0c, 0x10, 0x0c, 0xf0, 0x10, 0x13,
- 0x12, 0x10, 0x19, 0x00, 0x19, 0xe4, 0x30, 0x1c, 0x33, 0x00, 0x34, 0x00, 0x38, 0x44, 0x40, 0x5c,
- 0x4a, 0xe4, 0x62, 0x1a, 0x68, 0x08, 0x68, 0x54, 0x6c, 0x15, 0x70, 0x15, 0x83, 0x55, 0x83, 0x5a,
- 0x91, 0x44, 0xa4, 0x00, 0xac, 0x13, 0xb0, 0x57, 0xb5, 0x00, 0xb8, 0x17, 0xba, 0x00, 0xce, 0x45,
- 0xd0, 0x00, 0xe1, 0x00, 0xe5, 0x55, 0xe7, 0x00, 0x00, 0x54, 0x01, 0x58, 0x02, 0x10, 0x02, 0xe6,
- 0x03, 0xa1, 0x04, 0x13, 0x06, 0x83, 0x06, 0xf0, 0x07, 0x00, 0x0a, 0x00, 0x0a, 0x12, 0x0a, 0xf0,
- 0x0c, 0x12, 0x0c, 0x13, 0x0c, 0x90, 0x0e, 0x13, 0x10, 0x04, 0x10, 0x10, 0x12, 0x1c, 0x19, 0x81,
- 0x1a, 0x10, 0x1c, 0x00, 0x1c, 0x12, 0x1d, 0xf7, 0x1e, 0x13, 0x20, 0x1c, 0x20, 0xe7, 0x22, 0x01,
- 0x26, 0x01, 0x2a, 0x12, 0x2c, 0x0f, 0x30, 0xe7, 0x32, 0x15, 0x34, 0x1c, 0x36, 0x1c, 0x38, 0x12,
- 0x3a, 0x55, 0x3f, 0x00, 0x41, 0x58, 0x43, 0x48, 0x46, 0x1c, 0x4e, 0xe4, 0x76, 0x02, 0x77, 0x57,
- 0x78, 0x03, 0x89, 0x48, 0x8e, 0x90, 0x98, 0x80, 0x99, 0x00, 0xfe, 0x9c, 0xf0, 0x27, 0x02, 0xfe,
- 0xe0, 0x0d, 0xff, 0x10, 0x00, 0x00, 0xfe, 0xc6, 0x01, 0xfe, 0x56, 0x1a, 0x00, 0xfe, 0xc4, 0x01,
- 0xfe, 0x84, 0x01, 0xff, 0x03, 0x00, 0x00, 0xfe, 0x6a, 0x13, 0xfe, 0x05, 0x05, 0xff, 0x40, 0x00,
- 0x00, 0x0e, 0xff, 0x09, 0x00, 0x00, 0xff, 0x08, 0x01, 0x01, 0xff, 0x10, 0xff, 0xff, 0xff, 0x1f,
- 0x00, 0x00, 0xff, 0x10, 0xff, 0xff, 0xff, 0x11, 0x00, 0x00, 0xfe, 0x78, 0x56, 0xfe, 0x34, 0x12,
- 0xff, 0x21, 0x00, 0x00, 0xfe, 0x04, 0xf7, 0xfe, 0xc4, 0x01, 0x2e, 0x88, 0x0b, 0x01, 0xfe, 0xca,
- 0x0f, 0xfe, 0x04, 0xf7, 0xfe, 0xc4, 0x01, 0x88, 0x0b, 0x1c, 0x2e, 0xfe, 0x3d, 0xf0, 0xfe, 0xfc,
- 0x01, 0xfe, 0x20, 0xf0, 0xdc, 0x04, 0x5f, 0x4f, 0x02, 0xfe, 0xfc, 0x0d, 0x01, 0xfe, 0x5c, 0x0e,
- 0xfe, 0xe9, 0x12, 0x02, 0xfe, 0x08, 0x03, 0xfe, 0x28, 0x1c, 0x04, 0xfe, 0xa6, 0x00, 0xfe, 0xdd,
- 0x12, 0x47, 0x12, 0xfe, 0xa6, 0x00, 0xcd, 0xfe, 0x48, 0xf0, 0xfe, 0x80, 0x02, 0xfe, 0x49, 0xf0,
- 0xfe, 0x9a, 0x02, 0xfe, 0x4a, 0xf0, 0xfe, 0xb8, 0x02, 0xfe, 0x46, 0xf0, 0xfe, 0x4a, 0x02, 0xfe,
- 0x47, 0xf0, 0xfe, 0x50, 0x02, 0xfe, 0x43, 0xf0, 0xfe, 0x3e, 0x02, 0xfe, 0x44, 0xf0, 0xfe, 0x42,
- 0x02, 0xfe, 0x45, 0xf0, 0xfe, 0x46, 0x02, 0x09, 0x0b, 0xa4, 0x09, 0x06, 0x12, 0xc1, 0x02, 0x27,
- 0xfe, 0x00, 0x1c, 0xfe, 0xf1, 0x10, 0xfe, 0x02, 0x1c, 0xfe, 0xed, 0x10, 0xfe, 0x1e, 0x1c, 0xfe,
- 0xe9, 0x10, 0x01, 0xfe, 0x2c, 0x18, 0xfe, 0xe7, 0x10, 0xfe, 0x06, 0xfc, 0xfe, 0xa8, 0x00, 0x0f,
- 0x7c, 0x01, 0xaa, 0x02, 0x27, 0x17, 0x5e, 0x4c, 0xc4, 0x01, 0xfe, 0x40, 0x10, 0x0f, 0x7c, 0x01,
- 0x8e, 0xfe, 0xbd, 0x10, 0x0f, 0x7c, 0x01, 0x8e, 0xfe, 0xad, 0x10, 0xfe, 0x16, 0x1c, 0xfe, 0x58,
- 0x1c, 0x09, 0x06, 0x12, 0xc1, 0x2e, 0x1b, 0x27, 0xfe, 0x3d, 0xf0, 0xfe, 0xfc, 0x01, 0x28, 0xfe,
- 0x8e, 0x02, 0xfe, 0x5a, 0x1c, 0xde, 0xfe, 0x14, 0x1c, 0x17, 0xfe, 0x30, 0x00, 0x4c, 0xc4, 0x01,
- 0xfe, 0x30, 0x10, 0x09, 0x06, 0x12, 0xc1, 0x02, 0xfe, 0xc6, 0x01, 0x29, 0x2d, 0x05, 0x10, 0x35,
- 0xfe, 0x69, 0x10, 0x09, 0x06, 0x12, 0xc1, 0xfe, 0x04, 0xec, 0x2d, 0x08, 0x2d, 0x09, 0x3e, 0x1c,
- 0x01, 0x45, 0x82, 0xfe, 0x05, 0xf6, 0xfe, 0xa8, 0x00, 0x01, 0xfe, 0x56, 0x17, 0x0a, 0x41, 0x8f,
- 0x39, 0x11, 0x48, 0x1c, 0xd2, 0x08, 0x1e, 0x09, 0x52, 0x01, 0x90, 0x02, 0x27, 0x0f, 0x3f, 0x01,
- 0x15, 0x05, 0x10, 0xdb, 0x08, 0x1e, 0x09, 0x52, 0x01, 0x7e, 0xfe, 0x28, 0x10, 0x0f, 0xc8, 0x01,
- 0x15, 0xf2, 0x0f, 0x7d, 0x01, 0x15, 0xfe, 0x49, 0x54, 0x79, 0xfe, 0x16, 0x03, 0x08, 0x1e, 0x09,
- 0x52, 0x01, 0x90, 0x02, 0x27, 0x2e, 0x82, 0xfe, 0x02, 0xe8, 0x31, 0xfe, 0xbf, 0x57, 0xfe, 0x9e,
- 0x43, 0xf7, 0xfe, 0x07, 0x4b, 0xfe, 0x20, 0xf0, 0xdc, 0xfe, 0x40, 0x1c, 0x1b, 0xf8, 0xfe, 0x26,
- 0xf0, 0xfe, 0x74, 0x03, 0xfe, 0xa0, 0xf0, 0xfe, 0x62, 0x03, 0xfe, 0x11, 0xf0, 0xdc, 0xfe, 0x0e,
- 0x10, 0xfe, 0x9f, 0xf0, 0xfe, 0x82, 0x03, 0xf4, 0x13, 0xfe, 0x11, 0x00, 0x02, 0x6b, 0x2e, 0xfe,
- 0x48, 0x1c, 0xf4, 0x1b, 0xf8, 0x34, 0xf8, 0xfe, 0x82, 0xf0, 0xfe, 0x88, 0x03, 0x2b, 0x29, 0xc6,
- 0x72, 0x16, 0xc6, 0x0f, 0x7d, 0x01, 0x15, 0x72, 0x80, 0x08, 0x1e, 0x09, 0x52, 0x01, 0x45, 0x11,
- 0x3f, 0x08, 0x3f, 0x09, 0xa2, 0x01, 0x90, 0xfe, 0x9c, 0x32, 0x11, 0xfe, 0xe4, 0x00, 0x2f, 0xfe,
- 0xce, 0x03, 0x1b, 0x32, 0x1f, 0xfe, 0xde, 0x03, 0x01, 0x55, 0xd3, 0xfe, 0xee, 0x03, 0x73, 0x97,
- 0xd7, 0xfe, 0xae, 0x06, 0x02, 0x26, 0x04, 0x7c, 0x2c, 0x19, 0xfe, 0x20, 0x05, 0x17, 0x8b, 0x01,
- 0x3b, 0x01, 0x9f, 0x01, 0xa1, 0x34, 0xfe, 0x60, 0x02, 0x02, 0xf6, 0xf4, 0x2e, 0x88, 0x18, 0xfe,
- 0x67, 0x1b, 0xfe, 0xbf, 0x57, 0xf7, 0xfe, 0x48, 0x1c, 0x92, 0x01, 0xfe, 0x9c, 0x13, 0xb3, 0xfe,
- 0x96, 0xf0, 0xfe, 0x28, 0x04, 0x2f, 0xfe, 0x2c, 0x04, 0x34, 0x27, 0x0f, 0x3f, 0x01, 0x15, 0x05,
- 0x10, 0x19, 0xfe, 0x0c, 0x05, 0x4d, 0x7a, 0xa5, 0x31, 0x86, 0x76, 0x1b, 0x32, 0x1f, 0x26, 0x04,
- 0x7c, 0x2c, 0xfe, 0x10, 0x12, 0x17, 0x8b, 0x01, 0x3b, 0x34, 0xfe, 0x60, 0x02, 0x02, 0xf6, 0x21,
- 0xfe, 0xa0, 0x00, 0xfe, 0x9b, 0x57, 0xfe, 0x5e, 0x12, 0x0a, 0x07, 0x06, 0xfe, 0x56, 0x12, 0x24,
- 0x23, 0x9a, 0x01, 0x0c, 0x86, 0x76, 0x1f, 0xfe, 0xdc, 0x04, 0x24, 0x23, 0x9a, 0x01, 0x0c, 0x1f,
- 0x26, 0x24, 0x23, 0xba, 0xfe, 0x4c, 0x44, 0xfe, 0x32, 0x12, 0x51, 0xfe, 0x44, 0x48, 0x08, 0xfe,
- 0x93, 0x00, 0xfe, 0x4c, 0x54, 0x79, 0xfe, 0x0c, 0x05, 0x82, 0xa5, 0x31, 0xfe, 0x06, 0x80, 0xfe,
- 0x48, 0x47, 0xfe, 0x48, 0x13, 0x40, 0x05, 0xfe, 0xcc, 0x00, 0xfe, 0x40, 0x13, 0x0a, 0x07, 0x06,
- 0xef, 0xfe, 0x06, 0x10, 0x24, 0x23, 0xba, 0x0a, 0x07, 0x38, 0xe2, 0x17, 0xa9, 0x0a, 0x07, 0x06,
- 0x4f, 0x17, 0xfe, 0x0d, 0x00, 0x01, 0x3b, 0x34, 0xfe, 0xa0, 0x0d, 0x02, 0x26, 0x3a, 0x11, 0xfe,
- 0xe6, 0x00, 0xfe, 0x1c, 0x90, 0xb7, 0x03, 0x17, 0xa9, 0x01, 0x3b, 0x34, 0x27, 0x1b, 0x27, 0x02,
- 0xfe, 0x14, 0x05, 0xfe, 0x42, 0x5b, 0x88, 0x18, 0xfe, 0x46, 0x59, 0xfe, 0xbf, 0x57, 0xf7, 0x17,
- 0x46, 0xfe, 0x07, 0x80, 0xfe, 0x31, 0x44, 0x0a, 0x07, 0x0b, 0xfe, 0x78, 0x13, 0xfe, 0x20, 0x80,
- 0x05, 0x18, 0xfe, 0x70, 0x12, 0x75, 0x07, 0x06, 0xfe, 0x60, 0x13, 0x04, 0xfe, 0xa2, 0x00, 0x2c,
- 0x19, 0xfe, 0xac, 0x05, 0xfe, 0x31, 0xe4, 0x60, 0x75, 0x07, 0x0b, 0xfe, 0x4a, 0x13, 0x04, 0xfe,
- 0xa0, 0x00, 0x2c, 0xfe, 0x42, 0x12, 0x63, 0x2f, 0xfe, 0x6c, 0x05, 0x1b, 0x32, 0xf9, 0x01, 0x0c,
- 0x25, 0xfe, 0xc4, 0x05, 0x11, 0xfe, 0xe3, 0x00, 0x2b, 0x75, 0xfe, 0x4a, 0xf0, 0xfe, 0x96, 0x05,
- 0xfe, 0x49, 0xf0, 0xfe, 0x90, 0x05, 0xad, 0x20, 0xfe, 0x21, 0x00, 0x8a, 0x20, 0xfe, 0x22, 0x00,
- 0xa4, 0x20, 0x8f, 0xfe, 0x09, 0x48, 0x01, 0x0c, 0x25, 0xfe, 0xc4, 0x05, 0xfe, 0xe2, 0x08, 0x75,
- 0x07, 0xe1, 0x4f, 0x01, 0xc2, 0x20, 0x06, 0x16, 0xe8, 0x4c, 0xfe, 0x27, 0x01, 0x0a, 0x07, 0x38,
- 0xe9, 0x47, 0x01, 0xbd, 0x17, 0xa9, 0x0a, 0x07, 0x06, 0x4f, 0x17, 0xfe, 0x0d, 0x00, 0x01, 0x3b,
- 0x01, 0x9f, 0x01, 0xa1, 0x34, 0xfe, 0xa0, 0x0d, 0x02, 0x26, 0x04, 0xfe, 0x9c, 0x00, 0x2c, 0xfe,
- 0x3e, 0x12, 0x04, 0x5c, 0x2c, 0xfe, 0x36, 0x13, 0x47, 0x01, 0xbd, 0x25, 0xfe, 0x3c, 0x06, 0x0f,
- 0x06, 0x75, 0x07, 0x22, 0xfe, 0x02, 0x12, 0x6a, 0x01, 0xfe, 0x06, 0x15, 0x1f, 0xfe, 0x32, 0x06,
- 0x11, 0xc9, 0x01, 0x55, 0x11, 0xfe, 0xe5, 0x00, 0x04, 0x5c, 0xc3, 0x0d, 0x5c, 0x04, 0xfe, 0x9e,
- 0x00, 0x2c, 0xfe, 0x62, 0x12, 0x04, 0x56, 0x2c, 0xfe, 0x5a, 0x13, 0x01, 0xfe, 0x7e, 0x19, 0x01,
- 0xfe, 0xe8, 0x19, 0xf3, 0xa8, 0xf1, 0x08, 0x6c, 0xff, 0x02, 0x00, 0x57, 0x6e, 0x81, 0x1a, 0x59,
- 0xd1, 0xa8, 0x74, 0x47, 0x01, 0xbd, 0x25, 0xfe, 0xa6, 0x06, 0x75, 0x07, 0x1d, 0xab, 0x9e, 0x0f,
- 0x5e, 0x01, 0xfe, 0x34, 0x15, 0x1f, 0xfe, 0x9c, 0x06, 0x11, 0xc9, 0x01, 0x55, 0x11, 0xfe, 0xe5,
- 0x00, 0x04, 0x56, 0xc3, 0x0d, 0x56, 0x09, 0x06, 0x01, 0xbd, 0xfe, 0x9c, 0x32, 0x78, 0x92, 0x01,
- 0xfe, 0x9c, 0x13, 0xb3, 0x11, 0xfe, 0xe2, 0x00, 0x2f, 0xfe, 0xbe, 0x06, 0x1b, 0x32, 0xd7, 0xfe,
- 0xda, 0x06, 0x85, 0xfe, 0x78, 0x07, 0xd3, 0xfe, 0x80, 0x07, 0x73, 0x97, 0x02, 0x26, 0x0a, 0x07,
- 0x0b, 0xfe, 0x2e, 0x12, 0x14, 0x18, 0x01, 0x0c, 0x14, 0x00, 0x01, 0x0c, 0x14, 0x00, 0x01, 0x0c,
- 0x14, 0x00, 0x01, 0x0c, 0xfe, 0x99, 0xa4, 0x01, 0x0c, 0x14, 0x00, 0x02, 0xfe, 0x50, 0x08, 0x71,
- 0x07, 0x1d, 0xef, 0x0a, 0x07, 0x1d, 0xfe, 0x30, 0x13, 0x14, 0xfe, 0x1b, 0x00, 0x01, 0x0c, 0x14,
- 0x00, 0x01, 0x0c, 0x14, 0x00, 0x01, 0x0c, 0x14, 0x00, 0x01, 0x0c, 0x14, 0x06, 0x01, 0x0c, 0x14,
- 0x00, 0x02, 0xfe, 0x0a, 0x0c, 0x6a, 0xfe, 0x9a, 0x81, 0x6f, 0x8f, 0xfe, 0x09, 0x6f, 0xfe, 0x93,
- 0x45, 0x19, 0xfe, 0x88, 0x07, 0x2f, 0xfe, 0x60, 0x07, 0x1b, 0x32, 0xd7, 0xfe, 0x58, 0x07, 0x73,
- 0x97, 0x85, 0xfe, 0x78, 0x07, 0x02, 0x26, 0x01, 0x55, 0x02, 0xfe, 0xbe, 0x06, 0x14, 0x22, 0x02,
- 0xfe, 0xbe, 0x06, 0xfe, 0x9c, 0xf7, 0xfe, 0xf0, 0x07, 0xfe, 0x2c, 0x90, 0xfe, 0xae, 0x90, 0x53,
- 0xfe, 0xd6, 0x07, 0x0d, 0x66, 0x12, 0x67, 0x0a, 0x41, 0x60, 0x39, 0x01, 0xfe, 0x14, 0x19, 0x05,
- 0x10, 0x87, 0xfe, 0x83, 0xe7, 0xfe, 0x95, 0x00, 0x8a, 0xfe, 0x03, 0x40, 0x0a, 0x41, 0x46, 0x39,
- 0x01, 0xc5, 0xb6, 0xfe, 0x1f, 0x40, 0x16, 0x68, 0x01, 0xfe, 0xbe, 0x13, 0xfe, 0x08, 0x50, 0xfe,
- 0x8a, 0x50, 0xfe, 0x34, 0x51, 0xfe, 0xb6, 0x51, 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90, 0x0d, 0x64,
- 0x12, 0x65, 0xda, 0xfa, 0x0d, 0x3c, 0x12, 0x3d, 0xfe, 0x60, 0x10, 0x0a, 0x07, 0x60, 0xe9, 0xfe,
- 0x2c, 0x90, 0xfe, 0xae, 0x90, 0x0d, 0x66, 0x12, 0x67, 0x0a, 0x07, 0x46, 0xd1, 0x01, 0xc5, 0xfe,
- 0x1f, 0x80, 0x16, 0x68, 0xfe, 0x34, 0x90, 0xfe, 0xb6, 0x90, 0x0d, 0x43, 0x12, 0x44, 0xfe, 0x08,
- 0x90, 0xfe, 0x8a, 0x90, 0x0d, 0x64, 0x12, 0x65, 0xa7, 0x07, 0x46, 0xdb, 0xda, 0xfa, 0x0d, 0x3c,
- 0x12, 0x3d, 0xad, 0xfe, 0x28, 0x90, 0xfe, 0xaa, 0x90, 0x0d, 0x3c, 0x12, 0x3d, 0x0d, 0x30, 0x12,
- 0x42, 0x2b, 0x0d, 0x54, 0x0d, 0x69, 0x0a, 0x41, 0x22, 0x39, 0x2e, 0x08, 0x84, 0x2f, 0xfe, 0x70,
- 0x08, 0xfe, 0x9e, 0xf0, 0xfe, 0x84, 0x08, 0xa3, 0x19, 0x32, 0x2e, 0x5b, 0xfe, 0xed, 0x10, 0xac,
- 0xfe, 0xa8, 0x08, 0xae, 0xfe, 0xc4, 0x08, 0x85, 0xfe, 0x9c, 0x08, 0xd3, 0xfe, 0xa2, 0x08, 0x73,
- 0x97, 0x02, 0x26, 0x01, 0x55, 0xfe, 0xc9, 0x10, 0x14, 0x22, 0xfe, 0xc9, 0x10, 0x71, 0x07, 0x06,
- 0xfe, 0x10, 0x12, 0x71, 0x07, 0x0b, 0x50, 0x0a, 0x07, 0x0b, 0xfe, 0xa6, 0x12, 0xfe, 0x2e, 0x1c,
- 0xb0, 0x71, 0x07, 0x06, 0x50, 0x71, 0x07, 0x0b, 0xfe, 0x92, 0x12, 0xfe, 0x2c, 0x1c, 0xa7, 0x07,
- 0x46, 0xaf, 0xa7, 0x41, 0x46, 0xfe, 0x05, 0x40, 0xda, 0xfa, 0xfe, 0x28, 0x50, 0xfe, 0xaa, 0x50,
- 0xfe, 0xaa, 0xf0, 0xfe, 0xf6, 0x09, 0xfe, 0xac, 0xf0, 0xfe, 0x24, 0x09, 0x02, 0xfe, 0x02, 0x0a,
- 0xfe, 0xb7, 0xf0, 0xfe, 0x20, 0x09, 0xfe, 0x02, 0xf6, 0x1d, 0x6a, 0xfe, 0x70, 0x18, 0xfe, 0xf1,
- 0x18, 0xfe, 0x40, 0x55, 0xfe, 0xe1, 0x55, 0xfe, 0x10, 0x58, 0xfe, 0x91, 0x58, 0xfe, 0x14, 0x59,
- 0xfe, 0x95, 0x59, 0x1b, 0x9b, 0xfe, 0x8c, 0xf0, 0xfe, 0x20, 0x09, 0xfe, 0xac, 0xf0, 0xfe, 0x14,
- 0x09, 0xed, 0xfe, 0xcb, 0x10, 0xfe, 0xad, 0xf0, 0xfe, 0x30, 0x09, 0x02, 0xfe, 0x3c, 0x0b, 0xee,
- 0xfe, 0xbf, 0x10, 0xfe, 0x2b, 0xf0, 0x9b, 0xfe, 0x6b, 0x18, 0x1a, 0xfe, 0x00, 0xfe, 0xe2, 0xcd,
- 0xfe, 0xd2, 0xf0, 0x9b, 0xfe, 0x76, 0x18, 0x1a, 0x18, 0x19, 0x9b, 0x04, 0xe7, 0x1a, 0x06, 0x19,
- 0x9b, 0xac, 0x58, 0xae, 0x58, 0xed, 0xee, 0xfe, 0x89, 0x10, 0x92, 0x63, 0x3a, 0x17, 0xa9, 0x01,
- 0x3b, 0x13, 0xfe, 0x35, 0x00, 0x34, 0x6b, 0x13, 0x93, 0x02, 0x6b, 0xfb, 0xb2, 0x0b, 0xfe, 0x1a,
- 0x12, 0x51, 0xfe, 0x19, 0x82, 0xfe, 0x6c, 0x18, 0xfe, 0x44, 0x54, 0xf0, 0xdf, 0xfe, 0x74, 0x18,
- 0x94, 0x95, 0x19, 0xfe, 0xf2, 0x08, 0x02, 0x58, 0x0a, 0x07, 0x60, 0xaf, 0x04, 0x30, 0x2a, 0x42,
- 0x0d, 0x43, 0x12, 0x44, 0x83, 0x30, 0x5a, 0x42, 0xfe, 0x6c, 0x18, 0xfe, 0xed, 0x18, 0xfe, 0x44,
- 0x54, 0xfe, 0xe5, 0x54, 0x36, 0x43, 0x21, 0x44, 0x04, 0x54, 0x2a, 0x69, 0x94, 0xfe, 0xe3, 0x54,
- 0xfe, 0x74, 0x18, 0xfe, 0xf5, 0x18, 0x94, 0xfe, 0xe3, 0x54, 0x95, 0xca, 0x53, 0xfe, 0xf2, 0x08,
- 0x02, 0x58, 0xfe, 0x37, 0xf0, 0xfe, 0xfe, 0x09, 0xfe, 0x8b, 0xf0, 0xfe, 0x84, 0x09, 0x02, 0x58,
- 0xfb, 0xb2, 0x0b, 0x28, 0xfe, 0x1e, 0x0b, 0x36, 0x54, 0x21, 0x69, 0x53, 0x7a, 0x08, 0xfe, 0xc0,
- 0x07, 0x47, 0x62, 0x00, 0xd9, 0xfe, 0x01, 0x59, 0xfe, 0x52, 0xf0, 0xfe, 0x30, 0x0a, 0x94, 0x99,
- 0xfe, 0x48, 0x0a, 0x36, 0x54, 0x94, 0xfe, 0xe3, 0x54, 0x4e, 0x54, 0x70, 0x69, 0xfe, 0x14, 0x58,
- 0xfe, 0x95, 0x58, 0x02, 0x58, 0x36, 0x54, 0x21, 0x69, 0xfe, 0x14, 0x59, 0xfe, 0x95, 0x59, 0xf0,
- 0x4e, 0x54, 0x4e, 0x69, 0x02, 0x58, 0x0a, 0x07, 0x60, 0xfe, 0x82, 0x12, 0x0a, 0x07, 0x22, 0xfe,
- 0x66, 0x13, 0x29, 0x68, 0x72, 0xd0, 0xfe, 0x83, 0x80, 0xfe, 0xc8, 0x44, 0xfe, 0x2e, 0x13, 0xfe,
- 0x04, 0x91, 0xfe, 0x86, 0x91, 0x6d, 0x31, 0xfe, 0x40, 0x59, 0xfe, 0xc1, 0x59, 0x53, 0xfe, 0xfa,
- 0x08, 0x04, 0x66, 0x2a, 0x67, 0x0d, 0xb5, 0x12, 0x93, 0x4e, 0x66, 0x70, 0x67, 0x01, 0xc5, 0xb6,
- 0x6d, 0x31, 0x16, 0x68, 0x83, 0x30, 0x5a, 0x42, 0x36, 0x43, 0x21, 0x44, 0x95, 0xca, 0xfe, 0x04,
- 0xfa, 0x30, 0xfe, 0x05, 0xfa, 0x42, 0x01, 0xfe, 0xbe, 0x13, 0xfe, 0x36, 0x10, 0x2b, 0x0d, 0xb5,
- 0x0d, 0x93, 0x36, 0x43, 0x21, 0x44, 0xb0, 0x0a, 0x07, 0x22, 0x19, 0xfe, 0xfa, 0x08, 0x36, 0x3c,
- 0x21, 0x3d, 0x0a, 0x07, 0xfe, 0xf7, 0x00, 0x39, 0x04, 0x64, 0x2a, 0x65, 0xfe, 0x10, 0x58, 0xfe,
- 0x91, 0x58, 0x4e, 0x54, 0x70, 0x69, 0x02, 0xfe, 0x18, 0x0a, 0x0a, 0x07, 0x22, 0x19, 0xfe, 0xfa,
- 0x08, 0x0a, 0x07, 0xfe, 0xf7, 0x00, 0x39, 0xf0, 0xdf, 0x6a, 0xfe, 0x10, 0x90, 0xfe, 0x92, 0x90,
- 0xfe, 0xd3, 0x10, 0x40, 0x05, 0xcb, 0x19, 0xfe, 0x2c, 0x09, 0x11, 0xcb, 0xfb, 0xb2, 0x0b, 0xfe,
- 0x14, 0x13, 0x04, 0x3c, 0x2a, 0x3d, 0x53, 0xfe, 0x2c, 0x09, 0xfe, 0x0c, 0x58, 0xfe, 0x8d, 0x58,
- 0x02, 0x58, 0x2b, 0x47, 0xfe, 0x19, 0x80, 0xfe, 0xf1, 0x10, 0x0a, 0x07, 0x0b, 0xab, 0xfe, 0x6c,
- 0x19, 0xfe, 0x19, 0x41, 0xfe, 0x8e, 0x10, 0xfe, 0x6c, 0x19, 0x4e, 0x3c, 0xfe, 0xed, 0x19, 0x70,
- 0x3d, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0xfe, 0x6b, 0x18, 0x1a, 0xfe, 0x00, 0xff, 0x35, 0xfe,
- 0x74, 0x10, 0xcd, 0xfe, 0xd2, 0xf0, 0xfe, 0xb6, 0x0b, 0xfe, 0x76, 0x18, 0x1a, 0x18, 0xd6, 0x04,
- 0xe7, 0x1a, 0x06, 0x89, 0x13, 0xfe, 0x16, 0x00, 0x02, 0x6b, 0xfe, 0xd1, 0xf0, 0xfe, 0xc8, 0x0b,
- 0x17, 0x84, 0x01, 0x3b, 0x13, 0xfe, 0x17, 0x00, 0xfe, 0x42, 0x10, 0xfe, 0xce, 0xf0, 0xfe, 0xce,
- 0x0b, 0xfe, 0x3c, 0x10, 0xfe, 0xcd, 0xf0, 0xfe, 0xda, 0x0b, 0x13, 0xfe, 0x22, 0x00, 0x02, 0x6b,
- 0xfe, 0xcb, 0xf0, 0xfe, 0xe6, 0x0b, 0x13, 0xfe, 0x24, 0x00, 0x02, 0x6b, 0xfe, 0xd0, 0xf0, 0xfe,
- 0xf0, 0x0b, 0x13, 0xb1, 0xe0, 0xfe, 0xcf, 0xf0, 0xfe, 0xfa, 0x0b, 0x13, 0x8f, 0xdd, 0xfe, 0xcc,
- 0xf0, 0xfe, 0x0a, 0x0c, 0xfe, 0x84, 0x80, 0xb2, 0x22, 0x4f, 0x13, 0xfe, 0x12, 0x00, 0x2e, 0x08,
- 0x84, 0x2f, 0xfe, 0x10, 0x0c, 0xfe, 0x9e, 0xf0, 0xfe, 0x24, 0x0c, 0xa3, 0x19, 0x32, 0x2e, 0x5b,
- 0xfe, 0xed, 0x10, 0xac, 0x26, 0xae, 0x26, 0x2e, 0xfe, 0x9c, 0x32, 0x2f, 0xfe, 0x30, 0x0c, 0x1b,
- 0x32, 0x85, 0xfe, 0x4c, 0x0c, 0x73, 0x97, 0xac, 0xfe, 0xf0, 0x07, 0xae, 0xfe, 0xf0, 0x07, 0x02,
- 0x26, 0x01, 0x55, 0xfe, 0xdb, 0x10, 0x11, 0xfe, 0xe8, 0x00, 0xed, 0xee, 0x92, 0x86, 0x76, 0xfe,
- 0x89, 0xf0, 0x26, 0x24, 0x23, 0xfe, 0xe9, 0x09, 0x01, 0x0c, 0x86, 0x76, 0x1f, 0x26, 0x24, 0x23,
- 0x9a, 0x34, 0xfe, 0x88, 0x0c, 0x1b, 0x32, 0x02, 0xfe, 0x7c, 0x0c, 0xa3, 0x50, 0x13, 0xfe, 0x42,
- 0x00, 0x02, 0x6b, 0xa6, 0x06, 0xfe, 0x81, 0x49, 0xfe, 0xcc, 0x12, 0x0a, 0x07, 0x0b, 0xfe, 0x5a,
- 0x13, 0x13, 0x00, 0x61, 0x0b, 0xfe, 0x6a, 0x12, 0x61, 0xfe, 0x28, 0x00, 0x28, 0xfe, 0xce, 0x0d,
- 0x0f, 0x7d, 0x01, 0x15, 0x05, 0x00, 0x89, 0x37, 0xfe, 0x28, 0x00, 0x02, 0xfe, 0xce, 0x0d, 0x01,
- 0x9f, 0x01, 0xa1, 0x0f, 0xc8, 0x01, 0xfe, 0x24, 0x0f, 0xb9, 0x08, 0x3f, 0x09, 0xa2, 0x01, 0x45,
- 0x11, 0x48, 0x08, 0x1e, 0x09, 0x52, 0x01, 0x7e, 0x02, 0x27, 0x13, 0xfe, 0x44, 0x00, 0x61, 0x0b,
- 0xab, 0x37, 0x0b, 0xfe, 0xc0, 0x10, 0x01, 0xc2, 0x37, 0x0b, 0xfe, 0xb6, 0x10, 0x01, 0xc2, 0xfe,
- 0x19, 0x82, 0xfe, 0x34, 0x46, 0xfe, 0x0a, 0x13, 0x37, 0x0b, 0x13, 0xfe, 0x43, 0x00, 0xfe, 0xa2,
- 0x10, 0x0a, 0x41, 0x0b, 0x39, 0x01, 0x9f, 0x01, 0xa1, 0xb9, 0x08, 0x3f, 0x09, 0xa2, 0x01, 0x45,
- 0x11, 0x48, 0x08, 0x1e, 0x09, 0x52, 0x01, 0x7e, 0x88, 0x0b, 0xb9, 0x1c, 0xd2, 0x02, 0xfe, 0x4c,
- 0x03, 0x0a, 0x07, 0x0b, 0xd6, 0x37, 0x0b, 0x13, 0x00, 0xfe, 0x54, 0x10, 0x71, 0x07, 0x1d, 0xfe,
- 0x50, 0x12, 0x0a, 0x07, 0x1d, 0xfe, 0x48, 0x13, 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0x8c,
- 0x0d, 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0x92, 0x0d, 0x0a, 0x41, 0x1d, 0x39, 0xfe, 0x95,
- 0x10, 0x13, 0xfe, 0x15, 0x00, 0xfe, 0x04, 0xe6, 0x0b, 0x6a, 0xfe, 0x26, 0x10, 0x13, 0xfe, 0x13,
- 0x00, 0xdd, 0x13, 0xfe, 0x47, 0x00, 0x8a, 0x13, 0xfe, 0x41, 0x00, 0xa4, 0x13, 0xfe, 0x24, 0x00,
- 0x04, 0x7c, 0x2c, 0x28, 0xf6, 0x6a, 0xfe, 0x04, 0xe6, 0x1d, 0xfe, 0x9d, 0x41, 0xfe, 0x1c, 0x42,
- 0xb9, 0x01, 0xea, 0x02, 0x27, 0xde, 0x17, 0x0b, 0x4c, 0xfe, 0x9b, 0x00, 0xe5, 0x17, 0xfe, 0x31,
- 0x00, 0x4c, 0xc4, 0x01, 0xfe, 0x30, 0x10, 0x02, 0xfe, 0xc6, 0x01, 0x1c, 0xfe, 0x06, 0xec, 0xfe,
- 0xb9, 0x00, 0x8c, 0x37, 0x38, 0xc7, 0x35, 0x1c, 0xfe, 0x06, 0xea, 0xfe, 0xb9, 0x00, 0xfe, 0x47,
- 0x4b, 0x9e, 0xfe, 0x75, 0x57, 0x04, 0x5f, 0xfe, 0x98, 0x56, 0xfe, 0x28, 0x12, 0x0f, 0x7d, 0xfe,
- 0xf4, 0x14, 0x47, 0xf2, 0x0f, 0xc8, 0xfe, 0xea, 0x14, 0xfe, 0x49, 0x54, 0x98, 0xfe, 0x42, 0x0e,
- 0x0f, 0x1e, 0xfe, 0xde, 0x14, 0xfe, 0x44, 0x48, 0x02, 0xfe, 0x4c, 0x03, 0x0f, 0x5f, 0xfe, 0xc8,
- 0x14, 0x8c, 0x37, 0x38, 0xc7, 0x35, 0x1c, 0xfe, 0xce, 0x47, 0xfe, 0xbd, 0x13, 0x02, 0x27, 0x29,
- 0x2d, 0x05, 0x10, 0xfe, 0x78, 0x12, 0x2b, 0x16, 0x5e, 0x16, 0xb4, 0x29, 0x48, 0x47, 0x4c, 0x48,
- 0xa3, 0xd9, 0xfe, 0xbc, 0xf0, 0xfe, 0xde, 0x0e, 0x08, 0x06, 0x16, 0x5e, 0x01, 0xfe, 0xe6, 0x16,
- 0x04, 0xfe, 0x38, 0x01, 0x2a, 0xfe, 0x3a, 0x01, 0x53, 0xfe, 0xe2, 0x0e, 0x04, 0xfe, 0x38, 0x01,
- 0x1a, 0xfe, 0xf0, 0xff, 0x0d, 0xfe, 0x60, 0x01, 0x04, 0xfe, 0x3a, 0x01, 0x0d, 0xfe, 0x62, 0x01,
- 0x20, 0x06, 0x16, 0x48, 0xfe, 0x04, 0xec, 0x2d, 0x08, 0x2d, 0x09, 0x3e, 0x1c, 0x01, 0x45, 0x82,
- 0xfe, 0x05, 0xf6, 0xfe, 0x34, 0x01, 0x01, 0xfe, 0x56, 0x17, 0x11, 0x48, 0xd2, 0x08, 0x06, 0x03,
- 0x2b, 0x03, 0x29, 0x5e, 0xfe, 0xf7, 0x12, 0x29, 0xb4, 0x72, 0x16, 0xb4, 0x05, 0x84, 0xfe, 0x93,
- 0x13, 0xfe, 0x24, 0x1c, 0x17, 0x18, 0x4c, 0xfe, 0x9b, 0x00, 0xe5, 0xfe, 0xd9, 0x10, 0x9c, 0xfe,
- 0x03, 0xdc, 0xfe, 0x73, 0x57, 0xfe, 0x80, 0x5d, 0x03, 0x9c, 0xfe, 0x03, 0xdc, 0xfe, 0x5b, 0x57,
- 0xfe, 0x80, 0x5d, 0x03, 0xfe, 0x03, 0x57, 0x9c, 0x2b, 0xfe, 0x00, 0xcc, 0x03, 0xfe, 0x03, 0x57,
- 0x9c, 0x80, 0x03, 0x01, 0xfe, 0x8e, 0x17, 0x40, 0x05, 0x48, 0xfe, 0x0a, 0x13, 0x08, 0x1e, 0x09,
- 0x52, 0xdd, 0x01, 0x9f, 0x01, 0xa1, 0x08, 0x3f, 0x09, 0xa2, 0x01, 0x45, 0x11, 0xfe, 0xe9, 0x00,
- 0x0a, 0x07, 0x8f, 0xfe, 0x52, 0x13, 0x01, 0xfe, 0x18, 0x17, 0xfe, 0x1e, 0x1c, 0xfe, 0x14, 0x90,
- 0x0d, 0xfe, 0x64, 0x01, 0xfe, 0x16, 0x90, 0x0d, 0xfe, 0x66, 0x01, 0x0a, 0x07, 0x46, 0xef, 0xfe,
- 0x03, 0x80, 0x5b, 0x4d, 0x11, 0x7b, 0x08, 0x2d, 0x09, 0x3e, 0x1c, 0x7a, 0x01, 0x90, 0xfe, 0x62,
- 0x08, 0x72, 0x4d, 0x11, 0x7b, 0x08, 0x2d, 0x09, 0x3e, 0x1c, 0x7a, 0x01, 0x90, 0x6d, 0x31, 0x11,
- 0x7b, 0x08, 0x2d, 0x09, 0x3e, 0x1c, 0x7a, 0x01, 0x7e, 0x03, 0xfe, 0x08, 0x1c, 0x04, 0xfe, 0xac,
- 0x00, 0xfe, 0x06, 0x58, 0x04, 0xfe, 0xae, 0x00, 0xfe, 0x07, 0x58, 0x04, 0xfe, 0xb0, 0x00, 0xfe,
- 0x08, 0x58, 0x04, 0xfe, 0xb2, 0x00, 0xfe, 0x09, 0x58, 0xfe, 0x0a, 0x1c, 0x20, 0x74, 0x16, 0xfe,
- 0xb9, 0x00, 0x2b, 0x0d, 0x5c, 0x0d, 0x56, 0x20, 0x10, 0x16, 0x2d, 0x16, 0x3e, 0x51, 0xa6, 0xfe,
- 0x93, 0x00, 0x08, 0x2d, 0x09, 0x3e, 0x1c, 0x01, 0x7e, 0x82, 0x11, 0x7b, 0xfe, 0x14, 0x56, 0xfe,
- 0xd6, 0xf0, 0x8a, 0xde, 0x92, 0xfe, 0x14, 0x1c, 0xfe, 0x10, 0x1c, 0xfe, 0x18, 0x1c, 0x03, 0x1c,
- 0xfe, 0x0c, 0x14, 0x8c, 0xfe, 0x07, 0xe6, 0x38, 0xfe, 0xce, 0x47, 0xfe, 0xf5, 0x13, 0x03, 0x01,
- 0xc2, 0x0f, 0x3f, 0x01, 0x15, 0x05, 0x10, 0xdb, 0x0f, 0x1e, 0x01, 0x15, 0x05, 0x10, 0xe2, 0xfe,
- 0x44, 0x58, 0x4d, 0xfe, 0x01, 0xec, 0xc4, 0xfe, 0x9e, 0x40, 0xfe, 0x9d, 0xe7, 0x00, 0xfe, 0x9c,
- 0xe7, 0x1d, 0xa5, 0x31, 0x01, 0xea, 0xfe, 0xc9, 0x10, 0x03, 0x2e, 0x86, 0x76, 0x24, 0x23, 0xba,
- 0x05, 0x1d, 0xfe, 0x48, 0x12, 0x05, 0x0b, 0xfe, 0x4c, 0x12, 0x05, 0x18, 0xfe, 0x30, 0x12, 0x05,
- 0xd4, 0x19, 0xfe, 0xd4, 0x11, 0x05, 0xfe, 0x23, 0x00, 0x19, 0xfe, 0xe0, 0x11, 0x05, 0x06, 0x19,
- 0xfe, 0x3e, 0x12, 0x05, 0x22, 0xfe, 0x12, 0x12, 0x05, 0x00, 0x19, 0x26, 0x17, 0xd4, 0x01, 0x3b,
- 0xce, 0x3a, 0x01, 0x0c, 0x85, 0x55, 0x03, 0x3a, 0x11, 0xfe, 0xcc, 0x00, 0x02, 0x27, 0x3a, 0x40,
- 0x05, 0xcb, 0xfe, 0xe3, 0x13, 0x36, 0x3c, 0x21, 0x3d, 0x53, 0xfe, 0x92, 0x11, 0x0a, 0x07, 0x60,
- 0xfe, 0x72, 0x12, 0x83, 0x30, 0x5a, 0x42, 0x95, 0xca, 0x98, 0xfe, 0x5c, 0x11, 0x29, 0x68, 0xfe,
- 0x26, 0x13, 0x04, 0xb5, 0x2a, 0x93, 0x53, 0xfe, 0xb2, 0x0d, 0x0d, 0x66, 0x12, 0x67, 0x2b, 0x0d,
- 0xb5, 0x0d, 0x93, 0x01, 0xc5, 0x20, 0x74, 0x5b, 0x16, 0x68, 0x01, 0xfe, 0xbe, 0x13, 0x83, 0x30,
- 0x5a, 0x42, 0xfe, 0x04, 0x55, 0xfe, 0xa5, 0x55, 0xfe, 0x04, 0xfa, 0x30, 0xfe, 0x05, 0xfa, 0x42,
- 0xfe, 0x91, 0x10, 0x04, 0x43, 0x2a, 0x44, 0xfe, 0x40, 0x56, 0xfe, 0xe1, 0x56, 0x0d, 0x43, 0x12,
- 0x44, 0xad, 0x83, 0x30, 0x5a, 0x42, 0x95, 0xca, 0x04, 0x64, 0x2a, 0x65, 0xfe, 0x00, 0x56, 0xfe,
- 0xa1, 0x56, 0x0d, 0x64, 0x12, 0x65, 0x0a, 0x07, 0x60, 0xfe, 0x1e, 0x12, 0x29, 0x68, 0xfe, 0x1f,
- 0x40, 0x04, 0x66, 0x2a, 0x67, 0xfe, 0x2c, 0x50, 0xfe, 0xae, 0x50, 0x04, 0x43, 0x2a, 0x44, 0xfe,
- 0x34, 0x50, 0xfe, 0xb6, 0x50, 0x04, 0x64, 0x2a, 0x65, 0xfe, 0x08, 0x50, 0xfe, 0x8a, 0x50, 0x04,
- 0x3c, 0x2a, 0x3d, 0xfe, 0x28, 0x50, 0xfe, 0xaa, 0x50, 0x02, 0xa0, 0x20, 0x06, 0x16, 0xfc, 0x02,
- 0x7f, 0x3a, 0x01, 0x0c, 0x1f, 0x57, 0x24, 0x23, 0xba, 0x05, 0x06, 0x28, 0x57, 0x40, 0x05, 0xcb,
- 0x28, 0x7f, 0x01, 0xfe, 0x9c, 0x13, 0x1a, 0x59, 0x19, 0x57, 0x0a, 0x07, 0x0b, 0xe4, 0x36, 0x3c,
- 0x21, 0x3d, 0xfe, 0x0a, 0x55, 0x35, 0xfe, 0x8b, 0x55, 0x4e, 0x3c, 0x70, 0x3d, 0xfe, 0x0c, 0x51,
- 0xfe, 0x8e, 0x51, 0x02, 0x7f, 0xdf, 0xfe, 0x0a, 0x45, 0xfe, 0x19, 0x41, 0x02, 0x7f, 0x3a, 0x01,
- 0x0c, 0x1f, 0xfe, 0xd6, 0x10, 0x24, 0x23, 0xfe, 0xe9, 0x09, 0x61, 0x18, 0xfe, 0x94, 0x12, 0x61,
- 0x0b, 0x4f, 0x02, 0x57, 0x2f, 0xfe, 0x5e, 0x12, 0x1b, 0x32, 0x1f, 0xfe, 0xd6, 0x10, 0x24, 0x23,
- 0x9a, 0x05, 0x18, 0x28, 0x57, 0x01, 0x0c, 0x1f, 0xfe, 0xd6, 0x10, 0x24, 0x23, 0xfe, 0xe8, 0x09,
- 0x51, 0x04, 0xfe, 0x9c, 0x00, 0x2c, 0x35, 0xfe, 0xbb, 0x45, 0x61, 0x00, 0x50, 0x37, 0x06, 0xa6,
- 0x59, 0xfe, 0xc0, 0x14, 0xfe, 0xf8, 0x14, 0xb3, 0x40, 0x05, 0xc9, 0xfe, 0x16, 0x13, 0x04, 0xfe,
- 0x9e, 0x00, 0x2c, 0xd6, 0x04, 0x56, 0x2c, 0x35, 0x63, 0x02, 0x7f, 0xfe, 0xc0, 0x5d, 0xfe, 0xe4,
- 0x14, 0xfe, 0x03, 0x17, 0x04, 0x5c, 0xc3, 0x0d, 0x5c, 0x63, 0x3a, 0x01, 0x0c, 0x25, 0xa0, 0x01,
- 0xfe, 0x06, 0x15, 0x02, 0xa0, 0x2f, 0xfe, 0xe8, 0x12, 0x1b, 0x32, 0x1f, 0x57, 0x24, 0x23, 0x9a,
- 0x05, 0x06, 0x28, 0x57, 0xfe, 0xf6, 0x14, 0xfe, 0x42, 0x58, 0xfe, 0x70, 0x14, 0xfe, 0x92, 0x14,
- 0xb3, 0xfe, 0x4a, 0xf4, 0x0b, 0x19, 0x57, 0xfe, 0x4a, 0xf4, 0x06, 0xd8, 0x40, 0x05, 0xc9, 0xd1,
- 0x02, 0x7f, 0x04, 0x56, 0xc3, 0x0d, 0x56, 0x63, 0x3a, 0x01, 0x0c, 0x25, 0xa0, 0x01, 0xfe, 0x34,
- 0x15, 0x02, 0xa0, 0x25, 0xfe, 0x50, 0x13, 0x78, 0xf9, 0x78, 0x03, 0x34, 0xfe, 0x4c, 0x13, 0x73,
- 0xfe, 0x4c, 0x13, 0x63, 0x3a, 0x01, 0x0c, 0xfe, 0xe3, 0x10, 0x08, 0x6c, 0xff, 0x02, 0x00, 0x57,
- 0x6e, 0x81, 0x1a, 0xfe, 0xff, 0x7f, 0xfe, 0x30, 0x56, 0xfe, 0x00, 0x5c, 0x03, 0x08, 0x6c, 0xff,
- 0x02, 0x00, 0x57, 0x6e, 0x81, 0x1a, 0x59, 0xfe, 0x30, 0x56, 0xfe, 0x00, 0x5c, 0x03, 0x08, 0x6c,
- 0xff, 0x02, 0x00, 0x57, 0x6e, 0x81, 0x03, 0x08, 0x6c, 0xff, 0x02, 0x00, 0x57, 0x6e, 0x81, 0xfe,
- 0x0b, 0x58, 0x03, 0x0f, 0x5c, 0x01, 0x8e, 0x0f, 0x56, 0x01, 0x8e, 0x03, 0xd0, 0x1a, 0x10, 0xff,
- 0x03, 0x00, 0x54, 0xfe, 0x00, 0xf4, 0x22, 0x6e, 0xfe, 0x00, 0x7d, 0xfe, 0x01, 0x7d, 0xfe, 0x02,
- 0x7d, 0xfe, 0x03, 0x7c, 0x6d, 0x31, 0x0d, 0x64, 0x12, 0x65, 0x4e, 0x43, 0x70, 0x44, 0x03, 0xfe,
- 0x62, 0x18, 0xfe, 0x82, 0x5a, 0xfe, 0xe1, 0x1a, 0xbf, 0xfe, 0x02, 0x58, 0x03, 0x01, 0xfe, 0x7e,
- 0x19, 0xfe, 0x42, 0x48, 0x6a, 0x51, 0x9e, 0x01, 0x0c, 0x1f, 0xfe, 0xfe, 0x14, 0x24, 0x23, 0xfe,
- 0xe9, 0x09, 0xfe, 0xc1, 0x59, 0x01, 0x0c, 0x1f, 0xfe, 0xfe, 0x14, 0x24, 0x23, 0xfe, 0xe8, 0x0a,
- 0x04, 0xfe, 0x9e, 0x00, 0x2c, 0xfe, 0xc4, 0x12, 0x2b, 0xb8, 0x1d, 0xe4, 0x61, 0xd5, 0x79, 0xfe,
- 0x4c, 0x14, 0x4f, 0x08, 0x06, 0x09, 0xd5, 0xa6, 0xfe, 0x00, 0x10, 0xfe, 0x78, 0x10, 0xff, 0x02,
- 0x83, 0x55, 0x8a, 0xff, 0x02, 0x83, 0x55, 0xb8, 0x18, 0xfe, 0x12, 0x13, 0x62, 0xfe, 0x30, 0x00,
- 0x98, 0xfe, 0xa6, 0x14, 0x09, 0x8b, 0x08, 0x06, 0xfe, 0x56, 0x10, 0xb8, 0x0b, 0xfe, 0x16, 0x13,
- 0x62, 0xfe, 0x64, 0x00, 0x98, 0xfe, 0xa6, 0x14, 0x0f, 0xfe, 0x64, 0x00, 0x09, 0xb1, 0x08, 0x06,
- 0xfe, 0x28, 0x10, 0xb8, 0x06, 0xfe, 0x60, 0x13, 0x62, 0xfe, 0xc8, 0x00, 0x98, 0xfe, 0xa6, 0x14,
- 0x0f, 0xfe, 0xc8, 0x00, 0x09, 0x5e, 0x08, 0x06, 0xad, 0x62, 0xfe, 0x90, 0x01, 0x99, 0xfe, 0xb2,
- 0x14, 0x9e, 0xb0, 0xfe, 0x43, 0xf4, 0xb4, 0xfe, 0x56, 0xf0, 0xfe, 0xc4, 0x14, 0xfe, 0x04, 0xf4,
- 0x6c, 0xfe, 0x43, 0xf4, 0xb1, 0xfe, 0xf3, 0x10, 0xb7, 0x01, 0xfe, 0x8e, 0x13, 0x1a, 0x59, 0xaf,
- 0xfe, 0x00, 0x17, 0xfe, 0x4d, 0xe4, 0x74, 0x99, 0xfe, 0xf8, 0x14, 0xa8, 0x74, 0xfe, 0x14, 0x10,
- 0xfe, 0x00, 0x17, 0xfe, 0x4d, 0xe4, 0xf1, 0x99, 0xfe, 0xf8, 0x14, 0xa8, 0xf1, 0xa4, 0x51, 0x9e,
- 0x08, 0x06, 0xfe, 0xb4, 0x56, 0xfe, 0xc3, 0x58, 0x03, 0x51, 0x08, 0x0b, 0x03, 0x14, 0x06, 0x01,
- 0x0c, 0x25, 0xec, 0x14, 0x0b, 0x01, 0x0c, 0x25, 0xec, 0x14, 0x18, 0x01, 0x0c, 0x25, 0xec, 0x78,
- 0xfe, 0x89, 0x49, 0x01, 0x0c, 0x03, 0x14, 0x06, 0x01, 0x0c, 0x25, 0xbc, 0x14, 0x18, 0x01, 0x0c,
- 0x25, 0xbc, 0x14, 0x06, 0x01, 0x0c, 0x25, 0xbc, 0xfe, 0x89, 0x49, 0x01, 0x0c, 0x25, 0xbc, 0x78,
- 0xfe, 0x89, 0x4a, 0x01, 0x0c, 0x03, 0x51, 0x03, 0x29, 0xe8, 0x05, 0x06, 0x3b, 0xb6, 0x16, 0xe8,
- 0xfe, 0x49, 0xf4, 0x00, 0x4f, 0x78, 0xce, 0x63, 0xfe, 0x01, 0xec, 0xfe, 0x27, 0x01, 0xf9, 0x01,
- 0x0c, 0x40, 0x05, 0xfe, 0xe3, 0x00, 0xfe, 0x20, 0x13, 0x1f, 0xfe, 0xb6, 0x15, 0x2b, 0x16, 0xfc,
- 0x01, 0x55, 0x29, 0xfc, 0x05, 0x06, 0x50, 0x0a, 0x41, 0x06, 0x39, 0x03, 0x0d, 0x5d, 0x12, 0x91,
- 0xfe, 0x43, 0x58, 0x01, 0x15, 0x05, 0x10, 0xfe, 0x1e, 0x12, 0x4a, 0xf3, 0x96, 0x01, 0x49, 0xfe,
- 0x90, 0x4d, 0xe6, 0x10, 0xfe, 0xc5, 0x59, 0x01, 0x49, 0xfe, 0x8d, 0x56, 0xbf, 0x4a, 0x03, 0x4a,
- 0x21, 0x91, 0x01, 0x15, 0x4a, 0x96, 0x01, 0x49, 0xeb, 0x10, 0xe6, 0x10, 0x21, 0x5d, 0x62, 0x1e,
- 0x89, 0x0f, 0x5f, 0x01, 0xaa, 0x03, 0x0d, 0x5d, 0x12, 0x91, 0xfe, 0xc3, 0x58, 0x01, 0x15, 0x05,
- 0x10, 0xfe, 0x1a, 0x12, 0x4a, 0xf3, 0x96, 0x01, 0x49, 0xeb, 0x10, 0xfe, 0x80, 0x4d, 0xfe, 0xc5,
- 0x59, 0x01, 0x49, 0x4a, 0x03, 0x4a, 0x21, 0x5d, 0x01, 0x15, 0x4a, 0x96, 0x01, 0x49, 0xeb, 0x10,
- 0xe6, 0x10, 0x21, 0x5d, 0x62, 0x1e, 0x89, 0x0f, 0x5f, 0x01, 0xaa, 0x03, 0x0d, 0x5d, 0x12, 0x91,
- 0xfe, 0x43, 0x58, 0x01, 0x15, 0xfe, 0x42, 0x48, 0x96, 0x01, 0x49, 0xfe, 0xc0, 0x5a, 0xb7, 0xfe,
- 0x00, 0xcd, 0xfe, 0x01, 0xcc, 0xfe, 0x4a, 0x46, 0xe4, 0x9c, 0x80, 0x05, 0x10, 0xfe, 0x2e, 0x13,
- 0x5a, 0x5d, 0xfe, 0x4d, 0xf4, 0x1e, 0xfe, 0x1c, 0x13, 0x0f, 0x5f, 0x01, 0x8e, 0xb0, 0xfe, 0x40,
- 0x4c, 0xfe, 0xc5, 0x58, 0x01, 0x49, 0xfe, 0x00, 0x07, 0x80, 0x05, 0x10, 0x89, 0x5a, 0x91, 0xfe,
- 0x05, 0x57, 0xfe, 0x08, 0x10, 0xfe, 0x45, 0x58, 0x01, 0x49, 0xfe, 0x8d, 0x56, 0xbf, 0xfe, 0x80,
- 0x4c, 0xfe, 0x05, 0x17, 0x03, 0x09, 0x10, 0x77, 0x6f, 0xfe, 0x60, 0x01, 0xfe, 0x18, 0xdf, 0xfe,
- 0x19, 0xde, 0xfe, 0x24, 0x1c, 0xe3, 0x38, 0x9d, 0xfe, 0xfa, 0x16, 0x01, 0xfe, 0x08, 0x18, 0xd9,
- 0x8d, 0x38, 0x6f, 0xfe, 0x2c, 0x01, 0xfe, 0x2f, 0x19, 0x03, 0xc0, 0x28, 0xfe, 0xea, 0x16, 0xfe,
- 0xe2, 0x10, 0x09, 0x10, 0x77, 0x04, 0xfe, 0x64, 0x01, 0xfe, 0x00, 0xf4, 0x22, 0xfe, 0x18, 0x58,
- 0x04, 0xfe, 0x66, 0x01, 0xfe, 0x19, 0x58, 0x8d, 0x22, 0xfe, 0x3c, 0x90, 0xfe, 0x30, 0xf4, 0x06,
- 0xfe, 0x3c, 0x50, 0x6f, 0xfe, 0x38, 0x00, 0xfe, 0x0f, 0x79, 0xfe, 0x1c, 0xf7, 0x22, 0x9d, 0xfe,
- 0x44, 0x17, 0xfe, 0xbe, 0x14, 0x35, 0x03, 0xc0, 0x28, 0xfe, 0x1c, 0x17, 0xfe, 0xa4, 0x10, 0x09,
- 0x10, 0x77, 0xbf, 0xfe, 0x18, 0xdf, 0xfe, 0x19, 0xdf, 0xe3, 0x30, 0x9d, 0xfe, 0x66, 0x17, 0xfe,
- 0x9c, 0x14, 0xfe, 0x18, 0x13, 0x8d, 0x30, 0x6f, 0x1d, 0xfe, 0xaf, 0x19, 0xfe, 0x98, 0xe7, 0x00,
- 0xa7, 0x07, 0xfe, 0x7f, 0x00, 0xfe, 0x05, 0x40, 0x03, 0xc0, 0x28, 0xfe, 0x5a, 0x17, 0xfe, 0x6c,
- 0x10, 0x09, 0x10, 0x77, 0xfe, 0x30, 0xbc, 0xfe, 0xb2, 0xbc, 0x8d, 0xe1, 0x6f, 0x1d, 0xfe, 0x0f,
- 0x79, 0xfe, 0x1c, 0xf7, 0xe1, 0x9d, 0xfe, 0xa6, 0x17, 0xfe, 0x5c, 0x14, 0x35, 0x03, 0xc0, 0x28,
- 0xfe, 0x92, 0x17, 0xfe, 0x42, 0x10, 0xfe, 0x02, 0xf6, 0x10, 0x77, 0xfe, 0x18, 0xfe, 0x66, 0xfe,
- 0x19, 0xfe, 0x67, 0xd0, 0xe3, 0x46, 0x9d, 0xfe, 0xcc, 0x17, 0xfe, 0x36, 0x14, 0xfe, 0x1c, 0x13,
- 0x8d, 0x46, 0x47, 0xfe, 0x83, 0x58, 0xfe, 0xaf, 0x19, 0xfe, 0x80, 0xe7, 0x10, 0xfe, 0x81, 0xe7,
- 0x10, 0x11, 0xfe, 0xdd, 0x00, 0x6d, 0x31, 0x03, 0x6d, 0x31, 0xfe, 0x12, 0x45, 0x28, 0xfe, 0xbc,
- 0x17, 0x17, 0x06, 0x4c, 0xfe, 0x9b, 0x00, 0xe5, 0x02, 0x27, 0xfe, 0x39, 0xf0, 0xfe, 0x10, 0x18,
- 0x2b, 0x03, 0xfe, 0x7e, 0x18, 0x1a, 0x18, 0x87, 0x08, 0x0e, 0x03, 0x77, 0x04, 0xe7, 0x1a, 0x06,
- 0xfe, 0xef, 0x12, 0xfe, 0xe1, 0x10, 0x1c, 0x0f, 0x1e, 0x01, 0x15, 0x05, 0x10, 0x50, 0x4d, 0xfe,
- 0x78, 0x14, 0xfe, 0x34, 0x12, 0x59, 0x8c, 0x37, 0x38, 0xc7, 0xfe, 0xe9, 0x13, 0x1c, 0x0f, 0x3f,
- 0x01, 0x15, 0x05, 0x10, 0x50, 0x4d, 0xfe, 0x56, 0x14, 0xe9, 0x59, 0x8c, 0x37, 0x38, 0xc7, 0xfe,
- 0xe9, 0x13, 0x09, 0x0b, 0x03, 0xfe, 0x9c, 0xe7, 0x0b, 0x13, 0xfe, 0x15, 0x00, 0x7a, 0xa5, 0x31,
- 0x01, 0xea, 0x09, 0x06, 0x03, 0x0a, 0x41, 0x38, 0x39, 0x08, 0x3f, 0x09, 0xa2, 0x01, 0x45, 0x11,
- 0x48, 0x08, 0x1e, 0x09, 0x52, 0x01, 0x7e, 0x09, 0x06, 0x03, 0xfe, 0x38, 0x90, 0xfe, 0xba, 0x90,
- 0x36, 0xfe, 0xa8, 0x00, 0x21, 0x7b, 0xfe, 0x48, 0x55, 0x35, 0xfe, 0xc9, 0x55, 0x03, 0x29, 0xc6,
- 0x5b, 0x16, 0xc6, 0x03, 0x0f, 0xc8, 0x01, 0x15, 0xf2, 0x0f, 0x7d, 0x01, 0x15, 0xfe, 0x49, 0x44,
- 0x28, 0xfe, 0x06, 0x19, 0x0f, 0x1e, 0x01, 0x15, 0x05, 0x10, 0x50, 0x0f, 0x5f, 0x01, 0xaa, 0x0f,
- 0x7d, 0x01, 0x15, 0x5b, 0x80, 0x03, 0xfe, 0x40, 0x5e, 0xfe, 0xe2, 0x08, 0xfe, 0xc0, 0x4c, 0x29,
- 0x3e, 0x05, 0x10, 0xfe, 0x52, 0x12, 0x4d, 0x05, 0x00, 0xfe, 0x18, 0x12, 0xfe, 0xe1, 0x18, 0xfe,
- 0x19, 0xf4, 0xfe, 0x7f, 0x00, 0xaf, 0xfe, 0xe2, 0x08, 0x5b, 0x4d, 0x40, 0x05, 0x7b, 0xab, 0xfe,
- 0x82, 0x48, 0xfe, 0x01, 0x80, 0xfe, 0xd7, 0x10, 0xfe, 0xc4, 0x48, 0x08, 0x2d, 0x09, 0x3e, 0xfe,
- 0x40, 0x5f, 0x1c, 0x01, 0x45, 0x11, 0xfe, 0xdd, 0x00, 0xfe, 0x14, 0x46, 0x08, 0x2d, 0x09, 0x3e,
- 0x01, 0x45, 0x11, 0xfe, 0xdd, 0x00, 0xfe, 0x40, 0x4a, 0x72, 0xfe, 0x06, 0x17, 0xfe, 0x01, 0x07,
- 0xfe, 0x82, 0x48, 0xfe, 0x04, 0x17, 0x03, 0xf5, 0x18, 0x79, 0xfe, 0x8e, 0x19, 0x04, 0xfe, 0x90,
- 0x00, 0xfe, 0x3a, 0x45, 0xfe, 0x2c, 0x10, 0xf5, 0xd4, 0x79, 0xfe, 0xa0, 0x19, 0x04, 0xfe, 0x92,
- 0x00, 0xcf, 0x1d, 0xe0, 0xf5, 0xfe, 0x0b, 0x00, 0x79, 0xfe, 0xb2, 0x19, 0x04, 0xfe, 0x94, 0x00,
- 0xcf, 0x22, 0xfe, 0x08, 0x10, 0x04, 0xfe, 0x96, 0x00, 0xcf, 0x8b, 0xfe, 0x4e, 0x45, 0xd8, 0xfe,
- 0x0a, 0x45, 0xff, 0x04, 0x68, 0x54, 0xfe, 0xf1, 0x10, 0x1a, 0x74, 0xfe, 0x08, 0x1c, 0xfe, 0x67,
- 0x19, 0xfe, 0x0a, 0x1c, 0xfe, 0x1a, 0xf4, 0xfe, 0x00, 0x04, 0xd8, 0xfe, 0x48, 0xf4, 0x18, 0x99,
- 0xfe, 0xe6, 0x19, 0x08, 0x18, 0x03, 0x05, 0x84, 0xfe, 0x5a, 0xf0, 0xfe, 0xf6, 0x19, 0x20, 0xfe,
- 0x09, 0x00, 0xfe, 0x34, 0x10, 0x05, 0x1d, 0xfe, 0x5a, 0xf0, 0xfe, 0x04, 0x1a, 0x20, 0xd5, 0xfe,
- 0x26, 0x10, 0x05, 0x18, 0x87, 0x20, 0x8b, 0xe0, 0x05, 0x0b, 0x87, 0x20, 0xb1, 0xfe, 0x0e, 0x10,
- 0x05, 0x06, 0x87, 0x20, 0x5e, 0xce, 0xb6, 0x03, 0x17, 0xfe, 0x09, 0x00, 0x01, 0x3b, 0x2f, 0xfe,
- 0x34, 0x1a, 0x04, 0x76, 0xb7, 0x03, 0x1b, 0xfe, 0x54, 0x1a, 0xfe, 0x14, 0xf0, 0x0c, 0x2f, 0xfe,
- 0x48, 0x1a, 0x1b, 0xfe, 0x54, 0x1a, 0xfe, 0x82, 0xf0, 0xfe, 0x4c, 0x1a, 0x03, 0xff, 0x15, 0x00,
- 0x00,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x16, 0x01, 0x00, 0x48, 0xe4, 0x03, 0xf6,
+ 0x18, 0xe4, 0x02, 0x00, 0x18, 0x80, 0x68, 0x19, 0x00, 0xfa, 0xff, 0xff, 0x00, 0xf6, 0x9e, 0xe7,
+ 0xff, 0x00, 0xc0, 0x0e, 0x82, 0xe7, 0x00, 0xea, 0x09, 0xe7, 0x01, 0xf6, 0x01, 0xfa, 0x03, 0x00,
+ 0x01, 0xe6, 0x55, 0xf0, 0x04, 0x00, 0x1e, 0xf0, 0x85, 0xf0, 0x18, 0xf4, 0x08, 0x00, 0xbc, 0x00,
+ 0x38, 0x54, 0x00, 0xec, 0xd5, 0xf0, 0x64, 0x0d, 0x00, 0xe6, 0x86, 0xf0, 0xb1, 0xf0, 0x98, 0x57,
+ 0x01, 0xfc, 0xb4, 0x00, 0xd4, 0x01, 0x0c, 0x1c, 0x3e, 0x1c, 0x10, 0x00, 0x3c, 0x00, 0xbb, 0x00,
+ 0x00, 0x10, 0x54, 0x19, 0x02, 0x80, 0x32, 0xf0, 0x5e, 0x0d, 0x02, 0x13, 0x58, 0x13, 0x18, 0x40,
+ 0x00, 0x57, 0x02, 0xfc, 0x03, 0xfc, 0x3e, 0x00, 0xc0, 0x00, 0x6c, 0x01, 0x6e, 0x01, 0x74, 0x01,
+ 0x76, 0x01, 0x6c, 0x10, 0xb4, 0x10, 0xb9, 0x54, 0x00, 0x80, 0x03, 0xe6, 0x01, 0xea, 0xb6, 0x00,
+ 0x01, 0x01, 0x3e, 0x01, 0x7a, 0x01, 0xae, 0x08, 0x04, 0x12, 0xbb, 0x55, 0x3c, 0x56, 0x3e, 0x57,
+ 0x03, 0x58, 0x1b, 0x80, 0x30, 0xe4, 0x4b, 0xe4, 0x5d, 0xf0, 0x02, 0xfa, 0x20, 0x00, 0x32, 0x00,
+ 0x40, 0x00, 0x80, 0x00, 0x24, 0x01, 0x3c, 0x01, 0x68, 0x01, 0x6a, 0x01, 0x70, 0x01, 0x72, 0x01,
+ 0x78, 0x01, 0x7c, 0x01, 0x62, 0x0a, 0x68, 0x0d, 0x08, 0x12, 0x06, 0x13, 0x4c, 0x1c, 0x02, 0x4a,
+ 0x02, 0xee, 0x5b, 0xf0, 0x03, 0xf7, 0x05, 0x00, 0x0c, 0x00, 0x0f, 0x00, 0x47, 0x00, 0xbe, 0x00,
+ 0x00, 0x01, 0xbe, 0x10, 0xfa, 0x15, 0x32, 0x1c, 0x38, 0x1c, 0x4e, 0x1c, 0x10, 0x44, 0x00, 0x4c,
+ 0x04, 0x80, 0x04, 0xea, 0x5c, 0xf0, 0xa7, 0xf0, 0x04, 0xf6, 0x03, 0xfa, 0x34, 0x00, 0x36, 0x00,
+ 0x98, 0x00, 0xcc, 0x00, 0x20, 0x01, 0x4e, 0x01, 0x2e, 0x0b, 0x26, 0x0c, 0xb6, 0x0e, 0x0c, 0x10,
+ 0xc0, 0x10, 0x0a, 0x12, 0x04, 0x13, 0x30, 0x1c, 0x02, 0x48, 0x00, 0x4e, 0x42, 0x54, 0x44, 0x55,
+ 0xbd, 0x56, 0x00, 0xdc, 0x4a, 0xe4, 0x05, 0xf0, 0x09, 0xf0, 0x59, 0xf0, 0xb8, 0xf0, 0x4b, 0xf4,
+ 0x06, 0xf7, 0x0e, 0xf7, 0x04, 0xfc, 0x05, 0xfc, 0x06, 0x00, 0x19, 0x00, 0x33, 0x00, 0xa4, 0x00,
+ 0xb5, 0x00, 0xba, 0x00, 0xd0, 0x00, 0xe1, 0x00, 0xe7, 0x00, 0xac, 0x0e, 0x02, 0x10, 0x04, 0x10,
+ 0x0a, 0x10, 0x0a, 0x13, 0x12, 0x13, 0xc2, 0x13, 0xd2, 0x13, 0xa2, 0x15, 0xa6, 0x15, 0x42, 0x17,
+ 0x34, 0x1c, 0x36, 0x1c, 0x08, 0x44, 0x38, 0x44, 0x91, 0x44, 0x48, 0x46, 0x01, 0x48, 0x68, 0x54,
+ 0x3a, 0x55, 0x83, 0x55, 0xe5, 0x55, 0xb0, 0x57, 0x01, 0x58, 0x83, 0x59, 0x06, 0x83, 0x19, 0xe4,
+ 0x05, 0xe6, 0x0b, 0xf0, 0x0c, 0xf0, 0x04, 0xf8, 0x05, 0xf8, 0x07, 0x00, 0x0a, 0x00, 0x1c, 0x00,
+ 0x3f, 0x00, 0x9b, 0x00, 0x9e, 0x00, 0xa8, 0x00, 0xaa, 0x00, 0xb9, 0x00, 0xe0, 0x00, 0x22, 0x01,
+ 0x26, 0x01, 0x79, 0x01, 0xc4, 0x01, 0xc6, 0x01, 0x74, 0x02, 0x5a, 0x03, 0xd6, 0x03, 0xd2, 0x04,
+ 0x7e, 0x06, 0xdc, 0x07, 0x68, 0x08, 0x69, 0x08, 0xba, 0x08, 0xe9, 0x09, 0xde, 0x0b, 0xd2, 0x0e,
+ 0x0e, 0x10, 0x1a, 0x10, 0xc8, 0x10, 0xed, 0x10, 0xf1, 0x10, 0x06, 0x12, 0x0c, 0x12, 0x0c, 0x13,
+ 0x10, 0x13, 0x16, 0x13, 0x1e, 0x13, 0xe4, 0x13, 0x14, 0x14, 0xd4, 0x14, 0x68, 0x15, 0x58, 0x18,
+ 0x64, 0x18, 0x6b, 0x18, 0x80, 0x19, 0x12, 0x1c, 0x20, 0x1c, 0x46, 0x1c, 0x9c, 0x32, 0x00, 0x40,
+ 0x0a, 0x45, 0x0e, 0x47, 0x48, 0x47, 0x41, 0x48, 0x89, 0x48, 0xfe, 0x9c, 0xf0, 0x2a, 0x02, 0xfe,
+ 0x8e, 0x0d, 0xff, 0x10, 0x00, 0x00, 0xd3, 0xfe, 0x82, 0x19, 0x00, 0xd2, 0xfe, 0x84, 0x01, 0xff,
+ 0x03, 0x00, 0x00, 0xfe, 0x2e, 0x14, 0xfe, 0x08, 0x05, 0xff, 0x38, 0x00, 0x00, 0xfe, 0x57, 0x24,
+ 0x00, 0xfe, 0x4c, 0x00, 0x59, 0xff, 0x04, 0x00, 0x00, 0x10, 0xff, 0x09, 0x00, 0x00, 0xff, 0x08,
+ 0x01, 0x01, 0xff, 0x08, 0xff, 0xff, 0xff, 0x27, 0x00, 0x00, 0xff, 0x10, 0xff, 0xff, 0xff, 0x11,
+ 0x00, 0x00, 0xfe, 0x78, 0x56, 0xfe, 0x34, 0x12, 0xff, 0x21, 0x00, 0x00, 0xfe, 0x04, 0xf7, 0xd2,
+ 0x2b, 0x98, 0x09, 0x01, 0xfe, 0x60, 0x0f, 0xfe, 0x04, 0xf7, 0xd2, 0x98, 0x09, 0x4f, 0x2b, 0xfe,
+ 0x3d, 0xf0, 0xfe, 0xfa, 0x01, 0xfe, 0x20, 0xf0, 0xd6, 0x03, 0x5b, 0x4c, 0x02, 0xfe, 0xaa, 0x0d,
+ 0x01, 0xfe, 0x0a, 0x0e, 0xfe, 0xe9, 0x12, 0xfe, 0xfc, 0x10, 0xfe, 0x28, 0x1c, 0x03, 0xfe, 0xa6,
+ 0x00, 0xfe, 0xdf, 0x12, 0x43, 0x16, 0xfe, 0xa6, 0x00, 0xbc, 0xfe, 0x48, 0xf0, 0xfe, 0x7e, 0x02,
+ 0xfe, 0x49, 0xf0, 0xfe, 0x98, 0x02, 0xfe, 0x4a, 0xf0, 0xfe, 0xb6, 0x02, 0xfe, 0x46, 0xf0, 0xfe,
+ 0x48, 0x02, 0xfe, 0x47, 0xf0, 0xfe, 0x4e, 0x02, 0xfe, 0x43, 0xf0, 0xfe, 0x3c, 0x02, 0xfe, 0x44,
+ 0xf0, 0xfe, 0x40, 0x02, 0xfe, 0x45, 0xf0, 0xfe, 0x44, 0x02, 0x15, 0x09, 0xa7, 0x15, 0x05, 0x16,
+ 0x9f, 0x02, 0x2a, 0xfe, 0x00, 0x1c, 0xe4, 0xfe, 0x02, 0x1c, 0xe3, 0xfe, 0x1e, 0x1c, 0xfe, 0xe9,
+ 0x10, 0x01, 0xfe, 0xb6, 0x17, 0xfe, 0xe7, 0x10, 0xfe, 0x06, 0xfc, 0xcb, 0x07, 0x6f, 0x01, 0xa5,
+ 0x02, 0x2a, 0x18, 0x57, 0x46, 0xa0, 0x01, 0xfe, 0xf6, 0x0f, 0x07, 0x6f, 0x01, 0x86, 0xfe, 0xbd,
+ 0x10, 0x07, 0x6f, 0x01, 0x86, 0xfe, 0xad, 0x10, 0xfe, 0x16, 0x1c, 0xfe, 0x58, 0x1c, 0x15, 0x05,
+ 0x16, 0x9f, 0x2b, 0x1b, 0x2a, 0xfe, 0x3d, 0xf0, 0xfe, 0xfa, 0x01, 0x22, 0xfe, 0x8c, 0x02, 0xfe,
+ 0x5a, 0x1c, 0xf3, 0xfe, 0x14, 0x1c, 0x18, 0xfe, 0x30, 0x00, 0x46, 0xa0, 0x01, 0xfe, 0xe6, 0x0f,
+ 0x15, 0x05, 0x16, 0x9f, 0x02, 0xd3, 0x21, 0x1f, 0x06, 0x10, 0x35, 0xfe, 0x69, 0x10, 0x15, 0x05,
+ 0x16, 0x9f, 0xfe, 0x04, 0xec, 0x1f, 0x67, 0x44, 0x13, 0x1f, 0xfe, 0x05, 0xf6, 0xcb, 0x01, 0xfe,
+ 0xe8, 0x16, 0x0a, 0x52, 0x56, 0x37, 0x12, 0x2f, 0x4f, 0xbe, 0x01, 0xfe, 0x20, 0x16, 0x02, 0x2a,
+ 0x07, 0x3c, 0x01, 0x11, 0x06, 0x00, 0x65, 0x01, 0x72, 0xfe, 0x20, 0x10, 0x07, 0xa2, 0x01, 0x11,
+ 0xfe, 0x41, 0x58, 0x07, 0x3c, 0x01, 0x11, 0xfe, 0x49, 0x54, 0x69, 0xfe, 0x04, 0x03, 0x01, 0xfe,
+ 0x20, 0x16, 0x02, 0x2a, 0x2b, 0x67, 0xfe, 0x02, 0xe8, 0x29, 0xfe, 0xbf, 0x57, 0xfe, 0x9e, 0x43,
+ 0xfe, 0x77, 0x57, 0xfe, 0x27, 0xf0, 0xfe, 0xe0, 0x01, 0xfe, 0x07, 0x4b, 0xfe, 0x20, 0xf0, 0xd6,
+ 0xfe, 0x40, 0x1c, 0x1b, 0xd5, 0xfe, 0x26, 0xf0, 0xfe, 0x56, 0x03, 0xfe, 0xa0, 0xf0, 0xfe, 0x44,
+ 0x03, 0xfe, 0x11, 0xf0, 0xd6, 0xe0, 0xfe, 0x9f, 0xf0, 0xfe, 0x64, 0x03, 0xf5, 0x0f, 0xfe, 0x11,
+ 0x00, 0x02, 0x63, 0x2b, 0xfe, 0x48, 0x1c, 0xf5, 0x20, 0x21, 0xa1, 0xb2, 0x13, 0xa1, 0x07, 0x3c,
+ 0x01, 0x11, 0xb2, 0x77, 0x01, 0xfe, 0x52, 0x16, 0x12, 0xce, 0x1b, 0xd5, 0xfe, 0x01, 0xf0, 0xd5,
+ 0xfe, 0x82, 0xf0, 0xfe, 0x8a, 0x03, 0xf6, 0x12, 0xfe, 0xe4, 0x00, 0x26, 0xfe, 0x9c, 0x03, 0x1b,
+ 0x34, 0x1c, 0xfe, 0xac, 0x03, 0x01, 0x41, 0xfe, 0x06, 0xf0, 0xfe, 0xbc, 0x03, 0x94, 0x85, 0xfe,
+ 0x0a, 0xf0, 0xfe, 0x6e, 0x06, 0x02, 0x23, 0x03, 0x6f, 0x27, 0x19, 0xfe, 0xde, 0x04, 0x18, 0x6c,
+ 0x01, 0x36, 0x7b, 0xfe, 0x5e, 0x02, 0x02, 0xd4, 0xf5, 0x2b, 0x98, 0x17, 0xfe, 0x67, 0x1b, 0xfe,
+ 0xbf, 0x57, 0xfe, 0x77, 0x57, 0xfe, 0x48, 0x1c, 0x73, 0x01, 0xab, 0x8b, 0x07, 0x3c, 0x01, 0x11,
+ 0x06, 0x00, 0x19, 0xd7, 0x07, 0xce, 0x01, 0x11, 0x8c, 0x4e, 0x62, 0x79, 0x29, 0x03, 0x6f, 0x27,
+ 0xfe, 0x10, 0x12, 0x18, 0x6c, 0x01, 0x36, 0x7b, 0xfe, 0x5e, 0x02, 0x02, 0xd4, 0xc3, 0x80, 0xc4,
+ 0x82, 0x1b, 0x23, 0x26, 0xfe, 0x34, 0x04, 0x1c, 0xfe, 0x30, 0x04, 0x3a, 0xfe, 0xa0, 0x00, 0xfe,
+ 0x9b, 0x57, 0xfe, 0x46, 0x12, 0x2c, 0xff, 0x02, 0x00, 0x10, 0x01, 0x0b, 0x1c, 0xfe, 0xc8, 0x04,
+ 0x2c, 0x01, 0x0b, 0x1c, 0x23, 0x33, 0x31, 0xda, 0xfe, 0x4c, 0x44, 0xfe, 0x3c, 0x12, 0x4e, 0xfe,
+ 0x44, 0x48, 0x0e, 0x6e, 0xfe, 0x4c, 0x54, 0x69, 0xd7, 0x67, 0x79, 0x29, 0xfe, 0x06, 0x80, 0xfa,
+ 0xfe, 0x52, 0x13, 0x32, 0x06, 0x81, 0xfe, 0x4a, 0x13, 0xfe, 0x18, 0x10, 0x0e, 0x6e, 0xfe, 0x4c,
+ 0x54, 0x69, 0xd7, 0xfe, 0x06, 0x80, 0xfa, 0xfe, 0x38, 0x13, 0x32, 0x06, 0x81, 0xfe, 0x30, 0x13,
+ 0x0a, 0x08, 0x2d, 0xfe, 0x1c, 0x12, 0x18, 0x9c, 0x0a, 0x08, 0x05, 0x4c, 0x18, 0xfe, 0x0d, 0x00,
+ 0x01, 0x36, 0x7b, 0xfe, 0x46, 0x0d, 0x02, 0x23, 0x2c, 0x12, 0xfe, 0xe6, 0x00, 0xfe, 0x1c, 0x90,
+ 0xfe, 0x40, 0x5c, 0x04, 0x18, 0x9c, 0x01, 0x36, 0x02, 0x2a, 0xfe, 0x42, 0x5b, 0x98, 0x17, 0xfe,
+ 0x46, 0x59, 0xfe, 0xbf, 0x57, 0xfe, 0x77, 0x57, 0xfe, 0x87, 0x80, 0xfe, 0x31, 0xe4, 0x59, 0x0a,
+ 0x08, 0x09, 0xfe, 0x84, 0x13, 0xfe, 0x20, 0x80, 0x06, 0x17, 0xfe, 0x7c, 0x12, 0x51, 0x08, 0x05,
+ 0xfe, 0x6c, 0x13, 0x03, 0xfe, 0xa2, 0x00, 0x27, 0x19, 0xfe, 0x74, 0x05, 0xfe, 0x31, 0xe4, 0x58,
+ 0x51, 0x08, 0x09, 0xfe, 0x56, 0x13, 0x03, 0xfe, 0xa0, 0x00, 0x27, 0xfe, 0x4e, 0x12, 0x66, 0xff,
+ 0x02, 0x00, 0x10, 0x26, 0xfe, 0x2c, 0x05, 0x1b, 0x34, 0xfc, 0xff, 0x02, 0x00, 0x10, 0x26, 0xfe,
+ 0x3a, 0x05, 0x25, 0xfe, 0x8c, 0x05, 0x12, 0xfe, 0xe3, 0x00, 0x20, 0x51, 0xfe, 0x4a, 0xf0, 0xfe,
+ 0x5a, 0x05, 0xfe, 0x49, 0xf0, 0xfe, 0x54, 0x05, 0x87, 0x24, 0xfe, 0x21, 0x00, 0xa8, 0x24, 0xfe,
+ 0x22, 0x00, 0xa7, 0x24, 0x56, 0xfe, 0x09, 0x48, 0xff, 0x02, 0x00, 0x10, 0x26, 0xfe, 0x6a, 0x05,
+ 0x25, 0xfe, 0x8c, 0x05, 0xfe, 0xe2, 0x08, 0x51, 0x08, 0xc7, 0x4c, 0x01, 0xac, 0x24, 0x05, 0x13,
+ 0xd0, 0x46, 0xfe, 0x27, 0x01, 0x0a, 0x08, 0x2d, 0xfe, 0x22, 0x12, 0x43, 0x01, 0xae, 0x18, 0x9c,
+ 0x0a, 0x08, 0x05, 0x4c, 0x18, 0xfe, 0x0d, 0x00, 0x01, 0x36, 0x7b, 0xfe, 0x46, 0x0d, 0x02, 0x23,
+ 0x03, 0xfe, 0x9c, 0x00, 0x27, 0xfe, 0x3e, 0x12, 0x03, 0x5a, 0x27, 0xfe, 0x36, 0x13, 0x43, 0x01,
+ 0xae, 0x25, 0xfe, 0xfc, 0x05, 0x07, 0x05, 0x51, 0x08, 0x1e, 0xfe, 0x02, 0x12, 0x4d, 0x01, 0xfe,
+ 0x3c, 0x15, 0x1c, 0xfe, 0xf2, 0x05, 0x12, 0xa3, 0x01, 0x41, 0x12, 0xfe, 0xe5, 0x00, 0x03, 0x5a,
+ 0xbb, 0x0c, 0x5a, 0x03, 0xca, 0x27, 0xfe, 0x62, 0x12, 0x03, 0x47, 0x27, 0xfe, 0x5a, 0x13, 0x01,
+ 0xfe, 0xa6, 0x18, 0x01, 0xfe, 0x10, 0x19, 0xfe, 0x43, 0x48, 0xc0, 0xc8, 0x0e, 0x70, 0xff, 0x02,
+ 0x00, 0x57, 0x50, 0x91, 0x1d, 0x44, 0x8a, 0xc0, 0x6d, 0x43, 0x01, 0xae, 0x25, 0xfe, 0x66, 0x06,
+ 0x51, 0x08, 0x1a, 0xe5, 0x90, 0x07, 0x57, 0x01, 0xfe, 0x6a, 0x15, 0x1c, 0xfe, 0x5c, 0x06, 0x12,
+ 0xa3, 0x01, 0x41, 0x12, 0xfe, 0xe5, 0x00, 0x03, 0x47, 0xbb, 0x0c, 0x47, 0x15, 0x05, 0x01, 0xae,
+ 0xf6, 0x75, 0x73, 0x01, 0xab, 0x8b, 0x12, 0xfe, 0xe2, 0x00, 0x26, 0xd8, 0x1b, 0x34, 0xfe, 0x0a,
+ 0xf0, 0xfe, 0x9a, 0x06, 0x93, 0xfe, 0x50, 0x07, 0xfe, 0x06, 0xf0, 0xfe, 0x58, 0x07, 0x94, 0x85,
+ 0x02, 0x23, 0x0a, 0x08, 0x09, 0xfe, 0x2e, 0x12, 0x14, 0x17, 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b,
+ 0x14, 0x00, 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b, 0xfe, 0x99, 0xa4, 0x01, 0x0b, 0x14, 0x00, 0x02,
+ 0xfe, 0x26, 0x08, 0x78, 0x08, 0x1a, 0xfe, 0x38, 0x12, 0x0a, 0x08, 0x1a, 0xfe, 0x30, 0x13, 0x14,
+ 0xfe, 0x1b, 0x00, 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b, 0x14, 0x00, 0x01, 0x0b, 0x14, 0x00, 0x01,
+ 0x0b, 0x14, 0x05, 0x01, 0x0b, 0x14, 0x00, 0x02, 0xde, 0x6a, 0x56, 0xb8, 0x4d, 0xfe, 0x9a, 0x81,
+ 0x53, 0x2d, 0x7a, 0xfe, 0x26, 0x07, 0x07, 0x2d, 0xfe, 0x09, 0x6f, 0xf8, 0xfe, 0xca, 0x45, 0xfe,
+ 0x32, 0x12, 0x92, 0x6c, 0x8a, 0x6a, 0x7e, 0x26, 0xfe, 0x38, 0x07, 0x1b, 0x34, 0xfe, 0x0a, 0xf0,
+ 0xfe, 0x26, 0x07, 0x94, 0x85, 0x93, 0xfe, 0x50, 0x07, 0x02, 0x23, 0x01, 0x41, 0x02, 0xd8, 0x14,
+ 0x1e, 0x02, 0xd8, 0xfe, 0x9c, 0xf7, 0xd9, 0xfe, 0x2c, 0x90, 0xfe, 0xae, 0x90, 0x54, 0xfe, 0xbe,
+ 0x07, 0x0c, 0x5e, 0x16, 0x5f, 0x0a, 0x52, 0x58, 0x37, 0x21, 0x1f, 0x06, 0x10, 0xfe, 0x0e, 0x12,
+ 0x8c, 0xfe, 0x80, 0x80, 0x46, 0x1f, 0x68, 0x29, 0xfe, 0x06, 0x10, 0xfe, 0x83, 0xe7, 0xfe, 0x48,
+ 0x00, 0xa8, 0xfe, 0x03, 0x40, 0x0a, 0x52, 0x59, 0x37, 0x01, 0xaf, 0xb3, 0xfe, 0x1f, 0x40, 0x13,
+ 0x60, 0x01, 0xeb, 0xfe, 0x08, 0x50, 0xfe, 0x8a, 0x50, 0xfe, 0x44, 0x51, 0xfe, 0xc6, 0x51, 0x87,
+ 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90, 0x0c, 0x5c, 0x16, 0x5d, 0xfe, 0x0c, 0x90, 0xfe, 0x8e, 0x90,
+ 0xfe, 0x40, 0x50, 0xfe, 0xc2, 0x50, 0x0c, 0x3d, 0x16, 0x3e, 0xfe, 0x4a, 0x10, 0x0a, 0x08, 0x58,
+ 0xfe, 0x2a, 0x12, 0xfe, 0x2c, 0x90, 0xfe, 0xae, 0x90, 0x0c, 0x5e, 0x16, 0x5f, 0x0a, 0x08, 0x59,
+ 0x8a, 0x01, 0xaf, 0xfe, 0x1f, 0x80, 0x13, 0x60, 0xfe, 0x44, 0x90, 0xfe, 0xc6, 0x90, 0x0c, 0x3f,
+ 0x16, 0x40, 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90, 0x0c, 0x5c, 0x16, 0x5d, 0xfe, 0x40, 0x90, 0xfe,
+ 0xc2, 0x90, 0x0c, 0x3d, 0x16, 0x3e, 0x0c, 0x2e, 0x16, 0x3b, 0x20, 0x0c, 0x4a, 0x0c, 0x61, 0x0a,
+ 0x52, 0x1e, 0x37, 0x2b, 0x0e, 0x6b, 0x26, 0xfe, 0x46, 0x08, 0xfe, 0x9e, 0xf0, 0xfe, 0x5a, 0x08,
+ 0xb6, 0x19, 0x34, 0x2b, 0x76, 0xe3, 0xc1, 0xfe, 0x7e, 0x08, 0xc2, 0xfe, 0x9c, 0x08, 0x93, 0xfe,
+ 0x72, 0x08, 0xfe, 0x06, 0xf0, 0xfe, 0x78, 0x08, 0x94, 0x85, 0x02, 0x23, 0x01, 0x41, 0xfe, 0xc9,
+ 0x10, 0x14, 0x1e, 0xfe, 0xc9, 0x10, 0x78, 0x08, 0x05, 0xfe, 0x10, 0x12, 0x78, 0x08, 0x09, 0x64,
+ 0x0a, 0x08, 0x09, 0xfe, 0x90, 0x12, 0xfe, 0x2e, 0x1c, 0x02, 0xfe, 0xfc, 0x0a, 0x78, 0x08, 0x05,
+ 0x64, 0x78, 0x08, 0x09, 0xfe, 0x7a, 0x12, 0xfe, 0x2c, 0x1c, 0xfe, 0xaa, 0xf0, 0xfe, 0xb6, 0x09,
+ 0xfe, 0xac, 0xf0, 0xfe, 0xe4, 0x08, 0x02, 0xfe, 0xc2, 0x09, 0xfe, 0xb7, 0xf0, 0xfe, 0xe0, 0x08,
+ 0xfe, 0x02, 0xf6, 0x1a, 0x4d, 0xfe, 0x70, 0x18, 0xfe, 0xf1, 0x18, 0xfe, 0x40, 0x55, 0xfe, 0xe1,
+ 0x55, 0xfe, 0x10, 0x58, 0xfe, 0x91, 0x58, 0xfe, 0x14, 0x59, 0xfe, 0x95, 0x59, 0x1b, 0x84, 0xfe,
+ 0x8c, 0xf0, 0xfe, 0xe0, 0x08, 0xfe, 0xac, 0xf0, 0xfe, 0xd4, 0x08, 0xb0, 0xfe, 0xcb, 0x10, 0xfe,
+ 0xad, 0xf0, 0xfe, 0xf0, 0x08, 0x02, 0xfe, 0xfc, 0x0a, 0xb1, 0xfe, 0xbf, 0x10, 0xfe, 0x2b, 0xf0,
+ 0x84, 0xf1, 0x1d, 0xfe, 0x00, 0xfe, 0xfe, 0x1c, 0x12, 0xbc, 0xfe, 0xd2, 0xf0, 0x84, 0xfe, 0x76,
+ 0x18, 0x1d, 0x17, 0x19, 0x84, 0x03, 0xcf, 0x1d, 0x05, 0x19, 0x84, 0xc1, 0x4b, 0xc2, 0x4b, 0xb0,
+ 0xb1, 0xfe, 0x89, 0x10, 0x73, 0x66, 0x2c, 0x18, 0x9c, 0x01, 0x36, 0x0f, 0xfe, 0x35, 0x00, 0xfe,
+ 0x01, 0xf0, 0x63, 0x0f, 0x7f, 0x02, 0x63, 0xfe, 0x98, 0x80, 0xbf, 0x09, 0xfe, 0x1a, 0x12, 0x4e,
+ 0xfe, 0x19, 0x82, 0xfe, 0x6c, 0x18, 0xfe, 0x44, 0x54, 0xb8, 0xfe, 0x19, 0x81, 0xfe, 0x74, 0x18,
+ 0x8e, 0x8f, 0x19, 0xfe, 0xb2, 0x08, 0x02, 0x4b, 0x0a, 0x08, 0x58, 0xe8, 0x03, 0x2e, 0x28, 0x3b,
+ 0x0c, 0x3f, 0x16, 0x40, 0x9a, 0x2e, 0x9b, 0x3b, 0xfe, 0x6c, 0x18, 0xfe, 0xed, 0x18, 0xfe, 0x44,
+ 0x54, 0xfe, 0xe5, 0x54, 0x39, 0x3f, 0x3a, 0x40, 0x03, 0x4a, 0x28, 0x61, 0x8e, 0xfe, 0xe3, 0x54,
+ 0xfe, 0x74, 0x18, 0xfe, 0xf5, 0x18, 0x8e, 0xfe, 0xe3, 0x54, 0x8f, 0xba, 0x54, 0xfe, 0xb2, 0x08,
+ 0x02, 0x4b, 0xfe, 0x37, 0xf0, 0xfe, 0xbe, 0x09, 0xfe, 0x8b, 0xf0, 0xfe, 0x44, 0x09, 0x02, 0x4b,
+ 0xfe, 0x98, 0x80, 0xbf, 0x09, 0x22, 0xfe, 0xde, 0x0a, 0x39, 0x4a, 0x3a, 0x61, 0x54, 0xfe, 0x22,
+ 0x0a, 0x0e, 0xfe, 0xc0, 0x07, 0x43, 0x97, 0x00, 0xe7, 0xfe, 0x01, 0x59, 0xfe, 0x52, 0xf0, 0xfe,
+ 0xf0, 0x09, 0x8e, 0x7a, 0xfe, 0x08, 0x0a, 0x39, 0x4a, 0x8e, 0xfe, 0xe3, 0x54, 0x55, 0x4a, 0x7d,
+ 0x61, 0xfe, 0x14, 0x58, 0xfe, 0x95, 0x58, 0x02, 0x4b, 0x39, 0x4a, 0x3a, 0x61, 0xfe, 0x14, 0x59,
+ 0xfe, 0x95, 0x59, 0xb8, 0x55, 0x4a, 0x55, 0x61, 0x02, 0x4b, 0x0a, 0x08, 0x58, 0xfe, 0x82, 0x12,
+ 0x0a, 0x08, 0x1e, 0xfe, 0x66, 0x13, 0x21, 0x60, 0xb2, 0xfe, 0x03, 0xa1, 0xfe, 0x83, 0x80, 0xfe,
+ 0xc8, 0x44, 0xfe, 0x2e, 0x13, 0xfe, 0x04, 0x91, 0xfe, 0x86, 0x91, 0x68, 0x29, 0xfe, 0x40, 0x59,
+ 0xfe, 0xc1, 0x59, 0x54, 0xdc, 0x03, 0x5e, 0x28, 0x5f, 0x0c, 0x7e, 0x16, 0x7f, 0x55, 0x5e, 0x7d,
+ 0x5f, 0x01, 0xaf, 0xb3, 0x68, 0x29, 0x13, 0x60, 0x9a, 0x2e, 0x9b, 0x3b, 0x39, 0x3f, 0x3a, 0x40,
+ 0x8f, 0xba, 0xfe, 0x04, 0xfa, 0x2e, 0xfe, 0x05, 0xfa, 0x3b, 0x01, 0xeb, 0xfe, 0x36, 0x10, 0x20,
+ 0x0c, 0x7e, 0x0c, 0x7f, 0x39, 0x3f, 0x3a, 0x40, 0xfe, 0x12, 0x10, 0x0a, 0x08, 0x1e, 0x19, 0xdc,
+ 0x39, 0x3d, 0x3a, 0x3e, 0x0a, 0x08, 0xfe, 0xf7, 0x00, 0x37, 0x03, 0x5c, 0x28, 0x5d, 0xfe, 0x10,
+ 0x58, 0xfe, 0x91, 0x58, 0x55, 0x4a, 0x7d, 0x61, 0x02, 0xfe, 0xd8, 0x09, 0x0a, 0x08, 0x1e, 0x19,
+ 0xdc, 0x0a, 0x08, 0xfe, 0xf7, 0x00, 0x37, 0xb8, 0xfe, 0x19, 0x81, 0x4d, 0xfe, 0x10, 0x90, 0xfe,
+ 0x92, 0x90, 0xfe, 0xd3, 0x10, 0x32, 0x06, 0xa4, 0x19, 0xfe, 0xec, 0x08, 0x12, 0xa4, 0xfe, 0x98,
+ 0x80, 0xbf, 0x09, 0xfe, 0x14, 0x13, 0x03, 0x3d, 0x28, 0x3e, 0x54, 0xfe, 0xec, 0x08, 0xfe, 0x0c,
+ 0x58, 0xfe, 0x8d, 0x58, 0x02, 0x4b, 0x20, 0x43, 0xfe, 0x19, 0x80, 0xe4, 0x0a, 0x08, 0x09, 0xfe,
+ 0x1a, 0x12, 0xfe, 0x6c, 0x19, 0xfe, 0x19, 0x41, 0xf1, 0xbc, 0xfe, 0xd1, 0xf0, 0xde, 0x18, 0x6b,
+ 0x01, 0x36, 0x0f, 0xfe, 0x44, 0x00, 0xfe, 0x8e, 0x10, 0xfe, 0x6c, 0x19, 0x55, 0x3d, 0xfe, 0xed,
+ 0x19, 0x7d, 0x3e, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0xf1, 0x1d, 0xfe, 0x00, 0xff, 0x35, 0xfe,
+ 0x74, 0x10, 0xbc, 0xfe, 0xd2, 0xf0, 0xfe, 0x8a, 0x0b, 0xfe, 0x76, 0x18, 0x1d, 0x17, 0x89, 0x03,
+ 0xcf, 0x1d, 0x05, 0xfe, 0x08, 0x13, 0x0f, 0xfe, 0x16, 0x00, 0x02, 0x63, 0xfe, 0xd1, 0xf0, 0xfe,
+ 0x9c, 0x0b, 0x18, 0x6b, 0x01, 0x36, 0x0f, 0xfe, 0x17, 0x00, 0xfe, 0x42, 0x10, 0xfe, 0xce, 0xf0,
+ 0xfe, 0xa2, 0x0b, 0xfe, 0x3c, 0x10, 0xfe, 0xcd, 0xf0, 0xfe, 0xae, 0x0b, 0x0f, 0xfe, 0x22, 0x00,
+ 0x02, 0x63, 0xfe, 0xcb, 0xf0, 0xfe, 0xba, 0x0b, 0x0f, 0xfe, 0x24, 0x00, 0x02, 0x63, 0xfe, 0xd0,
+ 0xf0, 0xfe, 0xc4, 0x0b, 0x0f, 0x9d, 0xe1, 0xfe, 0xcf, 0xf0, 0xfe, 0xce, 0x0b, 0x0f, 0x56, 0xfe,
+ 0x10, 0x10, 0xfe, 0xcc, 0xf0, 0xde, 0xfe, 0x84, 0x80, 0xbf, 0x1e, 0x4c, 0x0f, 0xfe, 0x12, 0x00,
+ 0x2b, 0x0e, 0x6b, 0x26, 0xfe, 0xe4, 0x0b, 0xfe, 0x9e, 0xf0, 0xfe, 0xf8, 0x0b, 0xb6, 0x19, 0x34,
+ 0x2b, 0x76, 0xe3, 0xc1, 0x23, 0xc2, 0x23, 0x2b, 0xf6, 0x26, 0xfe, 0x04, 0x0c, 0x1b, 0x34, 0x93,
+ 0xfe, 0x20, 0x0c, 0x94, 0x85, 0xc1, 0xd9, 0xc2, 0xd9, 0x02, 0x23, 0x01, 0x41, 0xfe, 0xdb, 0x10,
+ 0x12, 0xfe, 0xe8, 0x00, 0xb0, 0xb1, 0x73, 0xc3, 0x80, 0xc4, 0x82, 0xfe, 0x89, 0xf0, 0x23, 0x33,
+ 0x31, 0xdd, 0xc3, 0x80, 0xc4, 0x82, 0x26, 0xfe, 0x4a, 0x0c, 0x1c, 0x23, 0x33, 0x31, 0xdb, 0xb6,
+ 0x64, 0x0f, 0xfe, 0x42, 0x00, 0x02, 0x63, 0x7c, 0x05, 0xfe, 0x81, 0x49, 0xfe, 0xa2, 0x12, 0x0a,
+ 0x08, 0x09, 0xfe, 0x44, 0x13, 0x0f, 0x00, 0x53, 0x09, 0xfe, 0x54, 0x12, 0x53, 0xfe, 0x28, 0x00,
+ 0x22, 0xfe, 0x7c, 0x0d, 0x07, 0x3c, 0x01, 0x11, 0x06, 0x00, 0x65, 0x45, 0xfe, 0x28, 0x00, 0xfe,
+ 0xe2, 0x10, 0x01, 0xef, 0x01, 0xf0, 0x07, 0xa2, 0x01, 0xfe, 0xca, 0x0e, 0x62, 0x12, 0x2f, 0x01,
+ 0x72, 0x02, 0x2a, 0x0f, 0xfe, 0x44, 0x00, 0x53, 0x09, 0xe5, 0x45, 0x09, 0x42, 0x01, 0xac, 0x45,
+ 0x09, 0xfe, 0xaa, 0x10, 0x01, 0xac, 0xfe, 0x19, 0x82, 0xfe, 0x34, 0x46, 0xa9, 0x45, 0x09, 0x0f,
+ 0xfe, 0x43, 0x00, 0xfe, 0x96, 0x10, 0x0a, 0x52, 0x09, 0x37, 0x01, 0xef, 0x01, 0xf0, 0x62, 0x12,
+ 0x2f, 0x01, 0x72, 0x98, 0x09, 0x62, 0x4f, 0xbe, 0x02, 0xfe, 0x2a, 0x03, 0x0a, 0x08, 0x09, 0x89,
+ 0x45, 0x09, 0x0f, 0x00, 0xfe, 0x5c, 0x10, 0x78, 0x08, 0x1a, 0xfe, 0x58, 0x12, 0x0a, 0x08, 0x1a,
+ 0xfe, 0x50, 0x13, 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0x32, 0x0d, 0xfe, 0x1c, 0x1c, 0xfe,
+ 0x9d, 0xf0, 0xfe, 0x38, 0x0d, 0x0a, 0x52, 0x1a, 0x37, 0xfe, 0xa9, 0x10, 0x0f, 0xfe, 0x15, 0x00,
+ 0xfe, 0x04, 0xe6, 0x09, 0x4d, 0xfe, 0x2e, 0x10, 0x0f, 0xfe, 0x13, 0x00, 0xfe, 0x10, 0x10, 0x0f,
+ 0x6e, 0xa8, 0x0f, 0xfe, 0x41, 0x00, 0xa7, 0x0f, 0xfe, 0x24, 0x00, 0x8b, 0xb0, 0xb1, 0x73, 0x03,
+ 0x6f, 0x27, 0x22, 0xd4, 0x4d, 0xfe, 0x04, 0xe6, 0x1a, 0xfe, 0x9d, 0x41, 0xfe, 0x1c, 0x42, 0x62,
+ 0x01, 0xdf, 0x02, 0x2a, 0xf3, 0x18, 0x09, 0x46, 0xc9, 0xf4, 0x18, 0xfe, 0x31, 0x00, 0x46, 0xa0,
+ 0x01, 0xfe, 0xe6, 0x0f, 0x02, 0xd3, 0x4f, 0xfe, 0x06, 0xec, 0xcd, 0xf9, 0x45, 0x2d, 0xfe, 0xce,
+ 0x45, 0x35, 0x4f, 0xfe, 0x06, 0xea, 0xcd, 0xfe, 0x47, 0x4b, 0x90, 0xfe, 0x75, 0x57, 0x03, 0x5b,
+ 0xfe, 0x98, 0x56, 0xfe, 0x28, 0x12, 0x07, 0x3c, 0xfe, 0xec, 0x14, 0x43, 0xfe, 0x41, 0x58, 0x07,
+ 0xa2, 0xfe, 0xe2, 0x14, 0xfe, 0x49, 0x54, 0x95, 0xfe, 0xf0, 0x0d, 0x07, 0x49, 0xfe, 0xd6, 0x14,
+ 0xfe, 0x44, 0x48, 0x02, 0xfe, 0x2a, 0x03, 0x07, 0x5b, 0xfe, 0xc0, 0x14, 0xf9, 0x45, 0x2d, 0xfe,
+ 0xce, 0x45, 0x35, 0x4f, 0xfe, 0xce, 0x47, 0xfe, 0xbd, 0x13, 0x02, 0x2a, 0x21, 0x1f, 0x06, 0x10,
+ 0xfe, 0x70, 0x12, 0x20, 0x13, 0x57, 0x13, 0x9e, 0x21, 0x2f, 0x43, 0x46, 0x2f, 0xb6, 0xe7, 0xfe,
+ 0xbc, 0xf0, 0xfe, 0x84, 0x0e, 0x0e, 0x05, 0x13, 0x57, 0x01, 0xfe, 0x78, 0x16, 0x03, 0xfe, 0x38,
+ 0x01, 0x28, 0xfe, 0x3a, 0x01, 0x54, 0xfe, 0x88, 0x0e, 0x03, 0xfe, 0x38, 0x01, 0x1d, 0xfe, 0xf0,
+ 0xff, 0x0c, 0xfe, 0x60, 0x01, 0x03, 0xfe, 0x3a, 0x01, 0x0c, 0xfe, 0x62, 0x01, 0x24, 0x05, 0x13,
+ 0x2f, 0xfe, 0x04, 0xec, 0x1f, 0x67, 0x44, 0x13, 0x1f, 0xfe, 0x05, 0xf6, 0xfe, 0x34, 0x01, 0x01,
+ 0xfe, 0xe8, 0x16, 0x12, 0x2f, 0xbe, 0x0e, 0x05, 0x04, 0x20, 0x04, 0x21, 0x57, 0xfe, 0xf7, 0x12,
+ 0x21, 0x9e, 0xb2, 0x13, 0x9e, 0x06, 0x6b, 0xfe, 0x9b, 0x13, 0xfe, 0x24, 0x1c, 0x18, 0x17, 0x46,
+ 0xc9, 0xf4, 0xfe, 0xd9, 0x10, 0xbd, 0xfe, 0x03, 0xdc, 0xfe, 0x73, 0x57, 0xfe, 0x80, 0x5d, 0x04,
+ 0xbd, 0xfe, 0x03, 0xdc, 0xfe, 0x5b, 0x57, 0xfe, 0x80, 0x5d, 0x04, 0xfe, 0x03, 0x57, 0xbd, 0x20,
+ 0xfe, 0x00, 0xcc, 0x04, 0xfe, 0x03, 0x57, 0xbd, 0x77, 0x04, 0x0a, 0x08, 0x56, 0xfe, 0x22, 0x13,
+ 0xfe, 0x1c, 0x80, 0x06, 0x05, 0xfe, 0x1a, 0x13, 0xfe, 0x1e, 0x80, 0xe9, 0xfe, 0x1d, 0x80, 0xaa,
+ 0xfe, 0x0c, 0x90, 0xfe, 0x0e, 0x13, 0xfe, 0x0e, 0x90, 0xa9, 0xfe, 0x3c, 0x90, 0xfe, 0x30, 0xf4,
+ 0x09, 0xfe, 0x3c, 0x50, 0xa7, 0x01, 0xfe, 0x18, 0x17, 0x32, 0x06, 0x2f, 0x65, 0x01, 0xfe, 0x52,
+ 0x16, 0xfe, 0x08, 0x10, 0x01, 0xef, 0x01, 0xf0, 0x12, 0xfe, 0xe9, 0x00, 0x0a, 0x08, 0x56, 0xfe,
+ 0x2c, 0x13, 0x01, 0xfe, 0xaa, 0x16, 0xfe, 0x1e, 0x1c, 0xfe, 0x14, 0x90, 0x0c, 0xfe, 0x64, 0x01,
+ 0xfe, 0x16, 0x90, 0x0c, 0xfe, 0x66, 0x01, 0x0a, 0x08, 0x59, 0xfe, 0x12, 0x12, 0xfe, 0x03, 0x80,
+ 0x8c, 0xfe, 0x01, 0xec, 0x1f, 0xfe, 0x80, 0x40, 0x13, 0x1f, 0x68, 0x29, 0x12, 0xcc, 0x62, 0x21,
+ 0x1f, 0xf7, 0x79, 0x1f, 0x04, 0xfe, 0x08, 0x1c, 0x03, 0xfe, 0xac, 0x00, 0xfe, 0x06, 0x58, 0x03,
+ 0xfe, 0xae, 0x00, 0xfe, 0x07, 0x58, 0x03, 0xfe, 0xb0, 0x00, 0xfe, 0x08, 0x58, 0x03, 0xfe, 0xb2,
+ 0x00, 0xfe, 0x09, 0x58, 0xfe, 0x0a, 0x1c, 0x24, 0x6d, 0x13, 0xcd, 0x20, 0x0c, 0x5a, 0x0c, 0x47,
+ 0x0e, 0x3c, 0x50, 0x4d, 0x15, 0x2d, 0xfe, 0x90, 0x4d, 0xfe, 0x91, 0x54, 0x22, 0xfe, 0x9a, 0x0f,
+ 0x45, 0x10, 0x0e, 0x49, 0x50, 0x15, 0x56, 0xfe, 0x90, 0x4d, 0xfe, 0x91, 0x54, 0x22, 0xfe, 0xb0,
+ 0x0f, 0x24, 0x10, 0x13, 0x1f, 0x7c, 0x6e, 0x67, 0x21, 0x1f, 0xf7, 0x79, 0x1f, 0x12, 0xcc, 0xfe,
+ 0x14, 0x56, 0xfe, 0xd6, 0xf0, 0xfe, 0xc4, 0x0f, 0xf3, 0x73, 0xfe, 0x14, 0x1c, 0xfe, 0x10, 0x1c,
+ 0xfe, 0x18, 0x1c, 0x04, 0x4f, 0xfe, 0x0c, 0x14, 0xf9, 0xfe, 0x07, 0xe6, 0x2d, 0xfe, 0xce, 0x47,
+ 0xfe, 0xf5, 0x13, 0x04, 0x01, 0xac, 0x7c, 0x6e, 0x67, 0xfe, 0x06, 0x80, 0xfa, 0xfe, 0x42, 0x13,
+ 0x32, 0x06, 0x2f, 0xfe, 0x34, 0x13, 0x07, 0x49, 0x01, 0x11, 0xb5, 0xfe, 0x36, 0x12, 0xfb, 0xfe,
+ 0x45, 0x48, 0x01, 0xec, 0xfe, 0x00, 0xcc, 0xb5, 0xfe, 0xf3, 0x13, 0x44, 0x77, 0x06, 0x10, 0xa9,
+ 0x07, 0x83, 0x01, 0x11, 0xfe, 0x80, 0x5c, 0x01, 0x72, 0xe0, 0x06, 0x81, 0x64, 0xfe, 0x14, 0x56,
+ 0xfe, 0xd6, 0xf0, 0xfe, 0xfe, 0x0f, 0x04, 0xfe, 0x44, 0x58, 0x8c, 0xfe, 0x01, 0xec, 0xa0, 0xfe,
+ 0x9e, 0x40, 0xfe, 0x9d, 0xe7, 0x00, 0xfe, 0x9c, 0xe7, 0x1a, 0x79, 0x29, 0x01, 0xdf, 0xfe, 0xdd,
+ 0x10, 0x2b, 0xc3, 0x80, 0xc4, 0x82, 0x33, 0x31, 0xda, 0x06, 0x1a, 0xfe, 0x48, 0x12, 0x06, 0x09,
+ 0xfe, 0x56, 0x12, 0x06, 0x17, 0xfe, 0x30, 0x12, 0x06, 0xc5, 0x19, 0xfe, 0xd0, 0x11, 0x06, 0xfe,
+ 0x23, 0x00, 0x19, 0xfe, 0xdc, 0x11, 0x06, 0x05, 0x19, 0xfe, 0x3a, 0x12, 0x06, 0x1e, 0xfe, 0x12,
+ 0x12, 0x06, 0x00, 0x19, 0x23, 0x18, 0xc5, 0x01, 0x36, 0xa6, 0x2c, 0x01, 0x0b, 0x93, 0x41, 0x04,
+ 0x2c, 0xfe, 0x62, 0x08, 0x07, 0xce, 0x01, 0xfe, 0xca, 0x0e, 0x12, 0x81, 0x02, 0x2a, 0x2c, 0x32,
+ 0x06, 0xa4, 0xfe, 0xd9, 0x13, 0x39, 0x3d, 0x3a, 0x3e, 0x54, 0xfe, 0x8e, 0x11, 0x0a, 0x08, 0x58,
+ 0xfe, 0x72, 0x12, 0x9a, 0x2e, 0x9b, 0x3b, 0x8f, 0xba, 0x95, 0xfe, 0x58, 0x11, 0x21, 0x60, 0xfe,
+ 0x26, 0x13, 0x03, 0x7e, 0x28, 0x7f, 0x54, 0xfe, 0x58, 0x0d, 0x0c, 0x5e, 0x16, 0x5f, 0x20, 0x0c,
+ 0x7e, 0x0c, 0x7f, 0x01, 0xaf, 0x24, 0x6d, 0x76, 0x13, 0x60, 0x01, 0xeb, 0x9a, 0x2e, 0x9b, 0x3b,
+ 0xfe, 0x04, 0x55, 0xfe, 0xa5, 0x55, 0xfe, 0x04, 0xfa, 0x2e, 0xfe, 0x05, 0xfa, 0x3b, 0xfe, 0x91,
+ 0x10, 0x03, 0x3f, 0x28, 0x40, 0xfe, 0x40, 0x56, 0xfe, 0xe1, 0x56, 0x0c, 0x3f, 0x16, 0x40, 0x87,
+ 0x9a, 0x2e, 0x9b, 0x3b, 0x8f, 0xba, 0x03, 0x5c, 0x28, 0x5d, 0xfe, 0x00, 0x56, 0xfe, 0xa1, 0x56,
+ 0x0c, 0x5c, 0x16, 0x5d, 0x0a, 0x08, 0x58, 0xfe, 0x1e, 0x12, 0x21, 0x60, 0xfe, 0x1f, 0x40, 0x03,
+ 0x5e, 0x28, 0x5f, 0xfe, 0x2c, 0x50, 0xfe, 0xae, 0x50, 0x03, 0x3f, 0x28, 0x40, 0xfe, 0x44, 0x50,
+ 0xfe, 0xc6, 0x50, 0x03, 0x5c, 0x28, 0x5d, 0xfe, 0x08, 0x50, 0xfe, 0x8a, 0x50, 0x03, 0x3d, 0x28,
+ 0x3e, 0xfe, 0x40, 0x50, 0xfe, 0xc2, 0x50, 0x02, 0x88, 0x24, 0x05, 0x13, 0xd1, 0x02, 0x71, 0x2c,
+ 0x01, 0x0b, 0x1c, 0x42, 0x33, 0x31, 0xda, 0x06, 0x05, 0x22, 0x42, 0x32, 0x06, 0xa4, 0x22, 0x71,
+ 0x01, 0xab, 0x1d, 0x44, 0x19, 0x42, 0x0a, 0x08, 0x09, 0xea, 0x39, 0x3d, 0x3a, 0x3e, 0xfe, 0x0a,
+ 0x55, 0x35, 0xfe, 0x8b, 0x55, 0x55, 0x3d, 0x7d, 0x3e, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0x02,
+ 0x71, 0xfe, 0x19, 0x81, 0xf8, 0xfe, 0x19, 0x41, 0x02, 0x71, 0x2c, 0x01, 0x0b, 0x1b, 0x34, 0x1c,
+ 0xe2, 0x33, 0x31, 0xdd, 0x53, 0x17, 0xfe, 0xa6, 0x12, 0x53, 0x09, 0x4c, 0x02, 0x42, 0x01, 0x0b,
+ 0x1b, 0x34, 0x1c, 0xe2, 0x33, 0x31, 0xdb, 0x06, 0x17, 0x22, 0x42, 0x01, 0x0b, 0x1c, 0xe2, 0x33,
+ 0x31, 0xfe, 0xe8, 0x09, 0xfe, 0xc2, 0x49, 0x4e, 0x03, 0xfe, 0x9c, 0x00, 0x27, 0x89, 0x51, 0x08,
+ 0x1e, 0x35, 0xa6, 0xfe, 0xbb, 0x45, 0x53, 0x00, 0x64, 0x45, 0x05, 0x7c, 0x44, 0xfe, 0xda, 0x14,
+ 0x01, 0xab, 0x8b, 0xfe, 0x4b, 0x45, 0xea, 0x32, 0x06, 0xa3, 0xe9, 0x03, 0xca, 0x27, 0x89, 0x03,
+ 0x47, 0x27, 0x35, 0x66, 0x02, 0x71, 0xfe, 0xc0, 0x5d, 0xfe, 0xf8, 0x14, 0xfe, 0x03, 0x17, 0x03,
+ 0x5a, 0xbb, 0x0c, 0x5a, 0x66, 0x2c, 0x01, 0x0b, 0x25, 0x88, 0x01, 0xfe, 0x3c, 0x15, 0x02, 0x88,
+ 0x01, 0x0b, 0x1b, 0x34, 0x1c, 0x42, 0x33, 0x31, 0xdb, 0x06, 0x05, 0x22, 0x42, 0x01, 0xfe, 0x20,
+ 0x14, 0xfe, 0x42, 0x58, 0xfe, 0x82, 0x14, 0xfe, 0xa4, 0x14, 0x8b, 0xfe, 0x4a, 0xf4, 0x09, 0x19,
+ 0x42, 0xfe, 0x4a, 0xf4, 0x05, 0xe6, 0x32, 0x06, 0xa3, 0x8a, 0x02, 0x71, 0x03, 0x47, 0xbb, 0x0c,
+ 0x47, 0x66, 0x2c, 0x01, 0x0b, 0x25, 0x88, 0x01, 0xfe, 0x6a, 0x15, 0x02, 0x88, 0x0e, 0x05, 0x26,
+ 0xfe, 0x5c, 0x13, 0x25, 0xfe, 0x72, 0x13, 0x75, 0xfc, 0x01, 0x0b, 0x20, 0x75, 0x04, 0x7b, 0xfe,
+ 0x6e, 0x13, 0x1b, 0xfe, 0x6e, 0x13, 0x1c, 0xfe, 0x5c, 0x13, 0x66, 0x2c, 0x01, 0x0b, 0xfe, 0xd5,
+ 0x10, 0x0e, 0x70, 0xff, 0x02, 0x00, 0x57, 0x50, 0x91, 0x1d, 0xfe, 0xff, 0x7f, 0xfe, 0x30, 0x56,
+ 0xfe, 0x00, 0x5c, 0x04, 0x0e, 0x70, 0xff, 0x02, 0x00, 0x57, 0x50, 0x91, 0x1d, 0x44, 0xfe, 0x30,
+ 0x56, 0xfe, 0x00, 0x5c, 0x04, 0x0e, 0x70, 0xff, 0x02, 0x00, 0x57, 0x50, 0x91, 0x04, 0x0e, 0x70,
+ 0xff, 0x02, 0x00, 0x57, 0x50, 0x91, 0xfe, 0x0b, 0x58, 0x04, 0x07, 0x5a, 0x01, 0x86, 0x07, 0x47,
+ 0x01, 0x86, 0x04, 0xfe, 0x03, 0xa1, 0x1d, 0x10, 0xff, 0x03, 0x00, 0x54, 0xfe, 0x00, 0xf4, 0x1e,
+ 0x50, 0xfe, 0x00, 0x7d, 0xfe, 0x01, 0x7d, 0xfe, 0x02, 0x7d, 0xfe, 0x03, 0x7c, 0x68, 0x29, 0x0c,
+ 0x5c, 0x16, 0x5d, 0x55, 0x3f, 0x7d, 0x40, 0x04, 0xfe, 0x62, 0x08, 0xfe, 0x82, 0x4a, 0xfe, 0xe1,
+ 0x1a, 0xfe, 0x83, 0x5a, 0x8c, 0x04, 0x01, 0xfe, 0xa6, 0x18, 0xfe, 0x42, 0x48, 0x4d, 0x4e, 0x90,
+ 0x01, 0x0b, 0x1c, 0xfe, 0x34, 0x15, 0x33, 0x31, 0xdd, 0x01, 0x0b, 0x1c, 0xfe, 0x34, 0x15, 0x33,
+ 0x31, 0xfe, 0xe8, 0x0a, 0xfe, 0xc1, 0x59, 0x03, 0xca, 0x27, 0xfe, 0xcc, 0x12, 0x51, 0x08, 0x1a,
+ 0xfe, 0xc4, 0x13, 0x20, 0x92, 0x1a, 0xea, 0x53, 0xc6, 0x69, 0xfe, 0x7a, 0x14, 0x4c, 0x0e, 0x05,
+ 0x15, 0xc6, 0x7c, 0x30, 0xfe, 0x78, 0x10, 0xff, 0x02, 0x83, 0x55, 0xa8, 0xff, 0x02, 0x83, 0x55,
+ 0x92, 0x17, 0xaa, 0x97, 0xfe, 0x30, 0x00, 0x95, 0xed, 0x15, 0x6c, 0x0e, 0x05, 0xfe, 0x56, 0x10,
+ 0x92, 0x09, 0xe9, 0x97, 0xfe, 0x64, 0x00, 0x95, 0xed, 0x07, 0xfe, 0x64, 0x00, 0x15, 0x9d, 0x0e,
+ 0x05, 0xfe, 0x28, 0x10, 0x92, 0x05, 0xfe, 0x60, 0x13, 0x97, 0xfe, 0xc8, 0x00, 0x95, 0xed, 0x07,
+ 0xfe, 0xc8, 0x00, 0x15, 0x57, 0x0e, 0x05, 0x87, 0x97, 0xfe, 0x90, 0x01, 0x7a, 0xfe, 0xe0, 0x14,
+ 0x90, 0xfe, 0x12, 0x10, 0xfe, 0x43, 0xf4, 0x9e, 0xfe, 0x56, 0xf0, 0xfe, 0xf2, 0x14, 0xfe, 0x04,
+ 0xf4, 0x70, 0xfe, 0x43, 0xf4, 0x9d, 0xfe, 0xf3, 0x10, 0xfe, 0x40, 0x5c, 0x01, 0xfe, 0xb4, 0x13,
+ 0x1d, 0x44, 0xe8, 0xfe, 0x00, 0x17, 0xfe, 0x4d, 0xe4, 0x6d, 0x7a, 0xfe, 0x2e, 0x15, 0xc0, 0x6d,
+ 0xfe, 0x1c, 0x10, 0xfe, 0x00, 0x17, 0xfe, 0x4d, 0xe4, 0xc8, 0x7a, 0xfe, 0x2e, 0x15, 0xc0, 0xc8,
+ 0x87, 0x4e, 0x20, 0xfe, 0x4d, 0xf4, 0x00, 0xe5, 0x90, 0x0e, 0x05, 0xfe, 0xb4, 0x56, 0xfe, 0xc3,
+ 0x58, 0x04, 0x4e, 0x0e, 0x09, 0x04, 0x14, 0x05, 0x01, 0x0b, 0x25, 0xee, 0x14, 0x09, 0x01, 0x0b,
+ 0x25, 0xee, 0x14, 0x17, 0x01, 0x0b, 0x25, 0xee, 0x75, 0xfe, 0x89, 0x49, 0x01, 0x0b, 0x04, 0x14,
+ 0x05, 0x01, 0x0b, 0x25, 0xad, 0x14, 0x17, 0x01, 0x0b, 0x25, 0xad, 0x14, 0x05, 0x01, 0x0b, 0x25,
+ 0xad, 0xfe, 0x89, 0x49, 0x01, 0x0b, 0x25, 0xad, 0x75, 0xfe, 0x89, 0x4a, 0x01, 0x0b, 0x04, 0x4e,
+ 0x04, 0x21, 0xd0, 0x06, 0x05, 0xfe, 0x48, 0x13, 0xb3, 0x13, 0xd0, 0xfe, 0x49, 0xf4, 0x00, 0x4c,
+ 0x75, 0xa6, 0x66, 0xfe, 0x01, 0xec, 0xfe, 0x27, 0x01, 0xfc, 0xff, 0x02, 0x00, 0x10, 0x26, 0xfe,
+ 0xcc, 0x15, 0x32, 0x06, 0xfe, 0xe3, 0x00, 0xfe, 0x20, 0x13, 0x1c, 0xfe, 0xf0, 0x15, 0x20, 0x13,
+ 0xd1, 0x01, 0x41, 0x21, 0xd1, 0x06, 0x05, 0x64, 0x0a, 0x52, 0x05, 0x37, 0x04, 0x07, 0x49, 0x01,
+ 0x11, 0xf7, 0x8d, 0x06, 0x10, 0xaa, 0x07, 0x83, 0x01, 0x11, 0x8d, 0x07, 0x5b, 0x01, 0xa5, 0x04,
+ 0x07, 0x83, 0x01, 0x11, 0x8d, 0xfe, 0x80, 0xe7, 0x10, 0x06, 0x10, 0x89, 0xfe, 0x45, 0x58, 0x01,
+ 0xec, 0x8d, 0x04, 0x07, 0x49, 0x01, 0x11, 0x8d, 0x07, 0x5b, 0x01, 0xa5, 0x04, 0x07, 0x49, 0x01,
+ 0x11, 0xfe, 0x80, 0x80, 0xfe, 0x80, 0x4c, 0xfe, 0x49, 0xe4, 0x10, 0xaa, 0x07, 0x83, 0x01, 0x11,
+ 0xfe, 0x80, 0x4c, 0x07, 0x5b, 0x01, 0x86, 0x04, 0x15, 0x10, 0x74, 0x6a, 0xfe, 0x60, 0x01, 0xfe,
+ 0x18, 0xdf, 0xfe, 0x19, 0xde, 0xfe, 0x24, 0x1c, 0xfe, 0x1d, 0xf7, 0x2d, 0x96, 0xfe, 0x8c, 0x16,
+ 0x01, 0xfe, 0x92, 0x17, 0xe7, 0x99, 0x2d, 0x6a, 0xfe, 0x2c, 0x01, 0xfe, 0x2f, 0x19, 0x04, 0xb4,
+ 0x22, 0xfe, 0x7c, 0x16, 0xfe, 0xda, 0x10, 0x15, 0x10, 0x74, 0x03, 0xfe, 0x64, 0x01, 0xfe, 0x00,
+ 0xf4, 0x1e, 0xfe, 0x18, 0x58, 0x03, 0xfe, 0x66, 0x01, 0xfe, 0x19, 0x58, 0x99, 0x1e, 0xfe, 0x3c,
+ 0x90, 0xfe, 0x30, 0xf4, 0x05, 0xfe, 0x3c, 0x50, 0x6a, 0xfe, 0x38, 0x00, 0xfe, 0x0f, 0x79, 0xfe,
+ 0x1c, 0xf7, 0x1e, 0x96, 0xfe, 0xd6, 0x16, 0xfe, 0xb6, 0x14, 0x35, 0x04, 0xb4, 0x22, 0xfe, 0xae,
+ 0x16, 0xfe, 0x9c, 0x10, 0x15, 0x10, 0x74, 0xfe, 0x83, 0x5a, 0xfe, 0x18, 0xdf, 0xfe, 0x19, 0xde,
+ 0xfe, 0x1d, 0xf7, 0x2e, 0x96, 0xfe, 0xf8, 0x16, 0xfe, 0x94, 0x14, 0xe8, 0x99, 0x2e, 0x6a, 0x1a,
+ 0xfe, 0xaf, 0x19, 0xfe, 0x98, 0xe7, 0x00, 0x04, 0xb4, 0x22, 0xfe, 0xec, 0x16, 0x41, 0x15, 0x10,
+ 0x74, 0xfe, 0x30, 0xbc, 0xfe, 0xb2, 0xbc, 0x99, 0xc7, 0x6a, 0x1a, 0xfe, 0x0f, 0x79, 0xfe, 0x1c,
+ 0xf7, 0xc7, 0x96, 0xfe, 0x30, 0x17, 0xfe, 0x5c, 0x14, 0x35, 0x04, 0xb4, 0x22, 0xfe, 0x1c, 0x17,
+ 0xfe, 0x42, 0x10, 0xfe, 0x02, 0xf6, 0x10, 0x74, 0xfe, 0x18, 0xfe, 0x5e, 0xfe, 0x19, 0xfe, 0x5f,
+ 0xfe, 0x03, 0xa1, 0xfe, 0x1d, 0xf7, 0x59, 0x96, 0xfe, 0x56, 0x17, 0xfe, 0x36, 0x14, 0xfe, 0x1c,
+ 0x13, 0x99, 0x59, 0x43, 0xfe, 0x83, 0x58, 0xfe, 0xaf, 0x19, 0xfe, 0x80, 0xe7, 0x10, 0xfe, 0x81,
+ 0xe7, 0x10, 0x12, 0xfe, 0xdd, 0x00, 0x68, 0x29, 0x04, 0x68, 0x29, 0xfe, 0x12, 0x45, 0x22, 0xfe,
+ 0x46, 0x17, 0x18, 0x05, 0x46, 0xc9, 0xf4, 0x02, 0x2a, 0xfe, 0x39, 0xf0, 0xfe, 0x9a, 0x17, 0x20,
+ 0x04, 0xfe, 0x7e, 0x18, 0x1d, 0x17, 0x65, 0x0e, 0x0d, 0x04, 0x74, 0x03, 0xcf, 0x1d, 0x05, 0xfe,
+ 0xef, 0x12, 0xfe, 0xe1, 0x10, 0x7c, 0x6e, 0x67, 0x32, 0x06, 0x2f, 0xfe, 0x3c, 0x13, 0xfe, 0x7e,
+ 0x14, 0xfe, 0x42, 0x13, 0x4f, 0xbe, 0x07, 0x49, 0x01, 0x11, 0xb5, 0xfe, 0x3e, 0x12, 0xfb, 0xfe,
+ 0x45, 0x48, 0x01, 0xec, 0xfe, 0x00, 0xcc, 0xb5, 0xfe, 0xf3, 0x13, 0x44, 0x77, 0x06, 0x10, 0xa9,
+ 0x07, 0x83, 0x01, 0x11, 0xfe, 0x80, 0x4c, 0x01, 0x72, 0xfe, 0x16, 0x10, 0x06, 0x81, 0x8a, 0xfe,
+ 0x3c, 0x14, 0xfe, 0x24, 0x12, 0xfe, 0x14, 0x56, 0xfe, 0xd6, 0xf0, 0xfe, 0xba, 0x17, 0x15, 0x09,
+ 0x04, 0xfe, 0x9c, 0xe7, 0x09, 0x0f, 0xfe, 0x15, 0x00, 0x62, 0x79, 0x29, 0x01, 0xdf, 0x15, 0x05,
+ 0x04, 0x0a, 0x52, 0x2d, 0x37, 0x12, 0x2f, 0x01, 0x72, 0x15, 0x05, 0x04, 0xfe, 0x38, 0x90, 0xfe,
+ 0xba, 0x90, 0x39, 0xcb, 0x3a, 0xcc, 0xfe, 0x48, 0x55, 0x35, 0xfe, 0xc9, 0x55, 0x04, 0x21, 0xa1,
+ 0x76, 0x13, 0xa1, 0x04, 0x07, 0xa2, 0x01, 0x11, 0xfb, 0x07, 0x3c, 0x01, 0x11, 0xfe, 0x49, 0x44,
+ 0x19, 0xfe, 0x82, 0x18, 0x76, 0x77, 0x04, 0x07, 0x49, 0x01, 0x11, 0x06, 0x10, 0x64, 0x07, 0x5b,
+ 0x01, 0xa5, 0x07, 0x3c, 0x01, 0x11, 0x76, 0x77, 0x04, 0xfe, 0x4e, 0xe4, 0x17, 0x69, 0xfe, 0xb6,
+ 0x18, 0x03, 0xfe, 0x90, 0x00, 0xfe, 0x3a, 0x45, 0xfe, 0x2c, 0x10, 0xfe, 0x4e, 0xe4, 0xc5, 0x69,
+ 0xfe, 0xc8, 0x18, 0x03, 0xfe, 0x92, 0x00, 0xfe, 0x02, 0xe6, 0x1a, 0xe1, 0xfe, 0x4e, 0xe4, 0xfe,
+ 0x0b, 0x00, 0x69, 0xfe, 0xda, 0x18, 0x03, 0xfe, 0x94, 0x00, 0xfe, 0x02, 0xe6, 0x1e, 0xfe, 0x08,
+ 0x10, 0x03, 0xfe, 0x96, 0x00, 0xfe, 0x02, 0xe6, 0x6c, 0xfe, 0x4e, 0x45, 0xe6, 0xf8, 0xff, 0x04,
+ 0x68, 0x54, 0xe4, 0x1d, 0x6d, 0xfe, 0x08, 0x1c, 0xfe, 0x67, 0x19, 0xfe, 0x0a, 0x1c, 0xfe, 0x1a,
+ 0xf4, 0xfe, 0x00, 0x04, 0xe6, 0xfe, 0x48, 0xf4, 0x17, 0x7a, 0xfe, 0x0e, 0x19, 0x0e, 0x17, 0x04,
+ 0x06, 0x6b, 0xfe, 0x5a, 0xf0, 0xfe, 0x1e, 0x19, 0x24, 0xfe, 0x09, 0x00, 0xfe, 0x34, 0x10, 0x06,
+ 0x1a, 0xfe, 0x5a, 0xf0, 0xfe, 0x2c, 0x19, 0x24, 0xc6, 0xfe, 0x26, 0x10, 0x06, 0x17, 0x65, 0x24,
+ 0x6c, 0xe1, 0x06, 0x09, 0x65, 0x24, 0x9d, 0xe0, 0x06, 0x05, 0x65, 0x24, 0x57, 0xa6, 0xb3, 0x04,
+ 0x18, 0xfe, 0x09, 0x00, 0x01, 0x36, 0xfe, 0x04, 0xfe, 0x80, 0x03, 0x82, 0xfe, 0x40, 0x5c, 0x04,
+ 0x1b, 0xf2, 0xfe, 0x14, 0xf0, 0x0b, 0x26, 0xfe, 0x70, 0x19, 0x1b, 0xf2, 0x7b, 0xf2, 0xfe, 0x82,
+ 0xf0, 0xfe, 0x74, 0x19, 0x04, 0xff, 0xff, 0x00, 0x00,
+};
+
+u_int16_t adv_asc38C0800_mcode_size = sizeof(adv_asc38C0800_mcode); /* 0x1489 */
+
+/*
+ * This checksum is used to compare with that one that will be calculated
+ * at run time.
+ * This is performed to ensure the uCode is correctly loaded into the Lram.
+ */
+u_int32_t adv_asc38C0800_mcode_chksum = 0x04F62935UL; /* Expanded checksum. */
+
+
+
+u_int8_t adv_asc38C1600_mcode[] = {
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0xfc, 0x00, 0x16, 0x00, 0xf0, 0x01, 0x00, 0xc6, 0x1b, 0x48, 0xe4,
+ 0x18, 0xe4, 0x03, 0xf6, 0x02, 0x00, 0x18, 0x80, 0x00, 0xfa, 0xff, 0xff, 0x04, 0x00, 0x00, 0xf6,
+ 0x09, 0xe7, 0x82, 0xe7, 0x85, 0xf0, 0x86, 0xf0, 0x9e, 0xe7, 0xff, 0x00, 0xac, 0x0e, 0x55, 0xf0,
+ 0x01, 0xf6, 0x03, 0x00, 0x98, 0x57, 0x00, 0xec, 0x18, 0xf4, 0x01, 0xe6, 0x00, 0xea, 0x01, 0xfa,
+ 0x08, 0x00, 0xb2, 0x1b, 0x38, 0x54, 0x32, 0xf0, 0x64, 0x0d, 0x1e, 0xf0, 0xd5, 0xf0, 0xbc, 0x00,
+ 0x4b, 0xe4, 0x00, 0xe6, 0xb1, 0xf0, 0xb4, 0x00, 0x02, 0x13, 0x3e, 0x1c, 0xd8, 0x01, 0x00, 0x10,
+ 0x06, 0x13, 0x0c, 0x1c, 0xb9, 0x54, 0x00, 0x57, 0x00, 0x80, 0x02, 0x80, 0x1b, 0x80, 0x01, 0xfc,
+ 0x10, 0x00, 0xbe, 0x00, 0x5e, 0x0d, 0xa4, 0x10, 0x5c, 0x10, 0xb6, 0x13, 0x18, 0x40, 0xbd, 0x56,
+ 0x03, 0xe6, 0x5c, 0xf0, 0x0f, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x6c, 0x01, 0x6e, 0x01, 0x04, 0x12,
+ 0x04, 0x13, 0xbb, 0x55, 0x3c, 0x56, 0x03, 0x58, 0x01, 0xea, 0x40, 0x00, 0xb6, 0x00, 0xbb, 0x00,
+ 0x00, 0x01, 0x01, 0x01, 0x3e, 0x01, 0x70, 0x09, 0x0a, 0x12, 0x4c, 0x1c, 0x3e, 0x57, 0x30, 0xe4,
+ 0x05, 0xe6, 0x0c, 0x00, 0x3c, 0x00, 0x3e, 0x00, 0x80, 0x00, 0x24, 0x01, 0x3c, 0x01, 0x68, 0x01,
+ 0x6a, 0x01, 0x70, 0x01, 0x72, 0x01, 0x74, 0x01, 0x76, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x62, 0x0a,
+ 0x68, 0x0d, 0x0c, 0x10, 0xae, 0x10, 0xb0, 0x10, 0x08, 0x12, 0x02, 0x18, 0x4e, 0x1c, 0x02, 0x4a,
+ 0x3a, 0x55, 0x4a, 0xe4, 0x02, 0xee, 0x5b, 0xf0, 0x03, 0xf7, 0x06, 0xf7, 0x03, 0xfc, 0x05, 0x00,
+ 0x06, 0x00, 0x3f, 0x00, 0xe1, 0x00, 0xa2, 0x0e, 0x2e, 0x14, 0x04, 0x18, 0x58, 0x18, 0x30, 0x1c,
+ 0x32, 0x1c, 0x38, 0x1c, 0x10, 0x44, 0x02, 0x48, 0x00, 0x4c, 0xb0, 0x57, 0x04, 0x80, 0x4d, 0xe4,
+ 0x04, 0xea, 0x5d, 0xf0, 0xa7, 0xf0, 0x04, 0xf6, 0x02, 0xfc, 0x09, 0x00, 0x19, 0x00, 0x32, 0x00,
+ 0x33, 0x00, 0x34, 0x00, 0x36, 0x00, 0x98, 0x00, 0x9e, 0x00, 0xcc, 0x00, 0x20, 0x01, 0x4e, 0x01,
+ 0x79, 0x01, 0xa0, 0x08, 0x26, 0x0c, 0x02, 0x10, 0x04, 0x10, 0x0c, 0x12, 0x0a, 0x13, 0x5a, 0x14,
+ 0x36, 0x17, 0x00, 0x4e, 0x00, 0x54, 0x00, 0xdc, 0x05, 0xf0, 0x09, 0xf0, 0x59, 0xf0, 0xb8, 0xf0,
+ 0x0e, 0xf7, 0x0a, 0x00, 0x9c, 0x00, 0xa4, 0x00, 0xb5, 0x00, 0xba, 0x00, 0xd0, 0x00, 0xe7, 0x00,
+ 0x69, 0x08, 0xe9, 0x09, 0x1e, 0x0b, 0x98, 0x0e, 0x0a, 0x10, 0x0e, 0x10, 0x12, 0x13, 0xa8, 0x17,
+ 0x7e, 0x18, 0xa0, 0x19, 0x04, 0x1b, 0x34, 0x1c, 0x36, 0x1c, 0x08, 0x44, 0x38, 0x44, 0x91, 0x44,
+ 0x48, 0x46, 0x41, 0x48, 0x89, 0x48, 0x68, 0x54, 0x83, 0x55, 0x01, 0x58, 0x83, 0x59, 0x40, 0x5c,
+ 0x06, 0x83, 0x31, 0xe4, 0x02, 0xe6, 0x07, 0xf0, 0x08, 0xf0, 0x0b, 0xf0, 0x0c, 0xf0, 0x48, 0xf4,
+ 0x4b, 0xf4, 0x04, 0xf8, 0x05, 0xf8, 0x02, 0xfa, 0x03, 0xfa, 0x04, 0xfc, 0x05, 0xfc, 0x07, 0x00,
+ 0x9b, 0x00, 0xa8, 0x00, 0xaa, 0x00, 0xb9, 0x00, 0xe0, 0x00, 0xe5, 0x00, 0x22, 0x01, 0x26, 0x01,
+ 0x60, 0x01, 0x7a, 0x01, 0xc8, 0x01, 0xca, 0x01, 0x78, 0x02, 0x5e, 0x03, 0xda, 0x03, 0xd6, 0x04,
+ 0x42, 0x07, 0x68, 0x08, 0x7a, 0x09, 0xce, 0x0b, 0xbe, 0x0e, 0x06, 0x10, 0x12, 0x10, 0x1a, 0x10,
+ 0xb8, 0x10, 0xed, 0x10, 0xf1, 0x10, 0xf3, 0x10, 0x00, 0x11, 0x06, 0x12, 0x0c, 0x13, 0x0e, 0x13,
+ 0x10, 0x13, 0x16, 0x13, 0x1e, 0x13, 0x74, 0x14, 0xa4, 0x14, 0xfe, 0x9c, 0xf0, 0x2e, 0x04, 0xfe,
+ 0x8e, 0x0d, 0xff, 0x10, 0x00, 0x00, 0xe3, 0xfe, 0xe0, 0x1b, 0x00, 0xe2, 0xfe, 0x88, 0x01, 0xff,
+ 0x03, 0x00, 0x00, 0x7c, 0xfe, 0x08, 0x05, 0xff, 0x38, 0x00, 0x00, 0xfe, 0x57, 0x24, 0x00, 0xfe,
+ 0x50, 0x00, 0x5c, 0xff, 0x04, 0x00, 0x00, 0x15, 0xff, 0x09, 0x00, 0x00, 0xff, 0x08, 0x01, 0x01,
+ 0xff, 0x08, 0xff, 0xff, 0xff, 0x27, 0x00, 0x00, 0xff, 0x10, 0xff, 0xff, 0xff, 0x13, 0x00, 0x00,
+ 0xfe, 0x78, 0x56, 0xfe, 0x34, 0x12, 0xff, 0x21, 0x00, 0x00, 0xfe, 0x04, 0xf7, 0xe2, 0x31, 0x75,
+ 0x0a, 0x01, 0xfe, 0x4c, 0x0f, 0xfe, 0x04, 0xf7, 0xe2, 0x75, 0x0a, 0x56, 0x31, 0xfe, 0x3d, 0xf0,
+ 0xfe, 0xfe, 0x01, 0xfe, 0x20, 0xf0, 0xe6, 0x02, 0x5e, 0x47, 0x04, 0xfe, 0xaa, 0x0d, 0x01, 0xfe,
+ 0x0a, 0x0e, 0xfe, 0xe9, 0x12, 0xfe, 0xfc, 0x10, 0xfe, 0x28, 0x1c, 0x02, 0xfe, 0xa6, 0x00, 0xfe,
+ 0xdf, 0x12, 0x32, 0x1f, 0xfe, 0xa6, 0x00, 0xc5, 0xfe, 0x48, 0xf0, 0xfe, 0x82, 0x02, 0xfe, 0x49,
+ 0xf0, 0xfe, 0x9c, 0x02, 0xfe, 0x4a, 0xf0, 0xfe, 0xba, 0x02, 0xfe, 0x46, 0xf0, 0xfe, 0x4c, 0x02,
+ 0xfe, 0x47, 0xf0, 0xfe, 0x52, 0x02, 0xfe, 0x43, 0xf0, 0xfe, 0x40, 0x02, 0xfe, 0x44, 0xf0, 0xfe,
+ 0x44, 0x02, 0xfe, 0x45, 0xf0, 0xfe, 0x48, 0x02, 0x18, 0x0a, 0x9c, 0x18, 0x05, 0x1f, 0xab, 0x04,
+ 0x2e, 0xfe, 0x00, 0x1c, 0xf2, 0xfe, 0x02, 0x1c, 0xf1, 0xfe, 0x1e, 0x1c, 0xfe, 0xe9, 0x10, 0x01,
+ 0xfe, 0x14, 0x1a, 0xfe, 0xe7, 0x10, 0xfe, 0x06, 0xfc, 0xd9, 0x09, 0x39, 0x01, 0xb3, 0x04, 0x2e,
+ 0x1d, 0x8f, 0x4c, 0xac, 0x01, 0xfe, 0xe6, 0x0f, 0x09, 0x39, 0x01, 0x7b, 0xfe, 0xbd, 0x10, 0x09,
+ 0x39, 0x01, 0x7b, 0xfe, 0xad, 0x10, 0xfe, 0x16, 0x1c, 0xfe, 0x58, 0x1c, 0x18, 0x05, 0x1f, 0xab,
+ 0x31, 0x25, 0x2e, 0xfe, 0x3d, 0xf0, 0xfe, 0xfe, 0x01, 0x26, 0xfe, 0x90, 0x02, 0xfe, 0x5a, 0x1c,
+ 0xfe, 0x12, 0x1c, 0xfe, 0x14, 0x1c, 0x1d, 0xfe, 0x30, 0x00, 0x4c, 0xac, 0x01, 0xfe, 0xd6, 0x0f,
+ 0x18, 0x05, 0x1f, 0xab, 0x04, 0xe3, 0x1b, 0x27, 0x07, 0x15, 0x2c, 0xfe, 0x69, 0x10, 0x18, 0x05,
+ 0x1f, 0xab, 0xfe, 0x04, 0xec, 0x27, 0x6f, 0x34, 0x1e, 0x27, 0xfe, 0x05, 0xf6, 0xd9, 0x01, 0xfe,
+ 0x46, 0x19, 0x0b, 0x57, 0x43, 0x3e, 0x11, 0x4f, 0x56, 0xc8, 0x01, 0xb8, 0x04, 0x2e, 0x09, 0x44,
+ 0x01, 0x16, 0x07, 0x00, 0x30, 0x01, 0x7e, 0xfe, 0x20, 0x10, 0x09, 0xae, 0x01, 0x16, 0xfe, 0x41,
+ 0x58, 0x09, 0x44, 0x01, 0x16, 0xfe, 0x49, 0x54, 0x73, 0xfe, 0x08, 0x03, 0x01, 0xb8, 0x04, 0x2e,
+ 0x31, 0x6f, 0xfe, 0x02, 0xe8, 0x2b, 0xfe, 0xbf, 0x57, 0xfe, 0x9e, 0x43, 0xfe, 0x77, 0x57, 0xfe,
+ 0x27, 0xf0, 0xfe, 0xe4, 0x01, 0xfe, 0x07, 0x4b, 0xfe, 0x20, 0xf0, 0xe6, 0xfe, 0x40, 0x1c, 0x25,
+ 0xe5, 0xfe, 0x26, 0xf0, 0xfe, 0x5a, 0x03, 0xfe, 0xa0, 0xf0, 0xfe, 0x48, 0x03, 0xfe, 0x11, 0xf0,
+ 0xe6, 0xb5, 0xfe, 0x9f, 0xf0, 0xfe, 0x68, 0x03, 0xfe, 0x46, 0x1c, 0x14, 0xfe, 0x11, 0x00, 0x04,
+ 0x68, 0x31, 0xfe, 0x48, 0x1c, 0xfe, 0x46, 0x1c, 0x22, 0x1b, 0xad, 0xbd, 0x1e, 0xad, 0x09, 0x44,
+ 0x01, 0x16, 0xbd, 0x84, 0x01, 0xfe, 0xb0, 0x18, 0x11, 0xdc, 0x25, 0xe5, 0xfe, 0x01, 0xf0, 0xe5,
+ 0xfe, 0x82, 0xf0, 0xfe, 0x8e, 0x03, 0xfe, 0x9c, 0x32, 0x11, 0xfe, 0xe4, 0x00, 0x2a, 0xfe, 0xa0,
+ 0x03, 0x25, 0x3a, 0x12, 0xfe, 0xb0, 0x03, 0x01, 0x3c, 0xfe, 0x06, 0xf0, 0xfe, 0xc0, 0x03, 0xa5,
+ 0x9a, 0xfe, 0x0a, 0xf0, 0xfe, 0x32, 0x07, 0x04, 0x24, 0x02, 0x39, 0x1a, 0x17, 0xfe, 0xe2, 0x04,
+ 0x1d, 0x59, 0x01, 0x3d, 0x8a, 0xfe, 0x62, 0x02, 0x04, 0xe4, 0xfe, 0x46, 0x1c, 0x31, 0x75, 0x19,
+ 0xfe, 0x67, 0x1b, 0xfe, 0xbf, 0x57, 0xfe, 0x77, 0x57, 0xfe, 0x48, 0x1c, 0x80, 0x01, 0x7c, 0x7f,
+ 0x09, 0x44, 0x01, 0x16, 0x07, 0x00, 0x17, 0xe7, 0x09, 0xdc, 0x01, 0x16, 0x83, 0x4a, 0x67, 0x88,
+ 0x2b, 0x02, 0x39, 0x1a, 0xfe, 0x10, 0x12, 0x1d, 0x59, 0x01, 0x3d, 0x8a, 0xfe, 0x62, 0x02, 0x04,
+ 0xe4, 0xd1, 0x93, 0xd2, 0x96, 0x25, 0x24, 0x2a, 0xfe, 0x38, 0x04, 0x12, 0xfe, 0x34, 0x04, 0x76,
+ 0xfe, 0xa0, 0x00, 0xfe, 0x9b, 0x57, 0xfe, 0x46, 0x12, 0x2d, 0xff, 0x02, 0x00, 0x10, 0x01, 0x06,
+ 0x12, 0xfe, 0xcc, 0x04, 0x2d, 0x01, 0x06, 0x12, 0x24, 0x23, 0x21, 0xe9, 0xfe, 0x4c, 0x44, 0xfe,
+ 0x3c, 0x12, 0x4a, 0xfe, 0x44, 0x48, 0x0f, 0x39, 0xfe, 0x4c, 0x54, 0x73, 0xe7, 0x6f, 0x88, 0x2b,
+ 0xfe, 0x06, 0x80, 0xfe, 0x48, 0x47, 0xfe, 0x52, 0x13, 0x35, 0x07, 0x95, 0xfe, 0x4a, 0x13, 0xfe,
+ 0x18, 0x10, 0x0f, 0x39, 0xfe, 0x4c, 0x54, 0x73, 0xe7, 0xfe, 0x06, 0x80, 0xfe, 0x48, 0x47, 0xfe,
+ 0x38, 0x13, 0x35, 0x07, 0x95, 0xfe, 0x30, 0x13, 0x0b, 0x08, 0x38, 0xfe, 0x1c, 0x12, 0x1d, 0x78,
+ 0x0b, 0x08, 0x05, 0x47, 0x1d, 0xfe, 0x0d, 0x00, 0x01, 0x3d, 0x8a, 0xfe, 0x46, 0x0d, 0x04, 0x24,
+ 0x2d, 0x11, 0xfe, 0xe6, 0x00, 0xfe, 0x1c, 0x90, 0xc7, 0x03, 0x1d, 0x78, 0x01, 0x3d, 0x04, 0x2e,
+ 0xfe, 0x42, 0x5b, 0x75, 0x19, 0xfe, 0x46, 0x59, 0xfe, 0xbf, 0x57, 0xfe, 0x77, 0x57, 0xfe, 0x87,
+ 0x80, 0xc9, 0x5c, 0x0b, 0x08, 0x0a, 0xfe, 0x84, 0x13, 0xfe, 0x20, 0x80, 0x07, 0x19, 0xfe, 0x7c,
+ 0x12, 0x36, 0x08, 0x05, 0xfe, 0x6c, 0x13, 0x02, 0xfe, 0xa2, 0x00, 0x1a, 0x17, 0xfe, 0x78, 0x05,
+ 0xc9, 0x4d, 0x36, 0x08, 0x0a, 0xfe, 0x56, 0x13, 0x02, 0xfe, 0xa0, 0x00, 0x1a, 0xfe, 0x4e, 0x12,
+ 0x55, 0xff, 0x02, 0x00, 0x10, 0x2a, 0xfe, 0x30, 0x05, 0x25, 0x3a, 0xc2, 0xff, 0x02, 0x00, 0x10,
+ 0x2a, 0xfe, 0x3e, 0x05, 0x13, 0xfe, 0x90, 0x05, 0x11, 0xfe, 0xe3, 0x00, 0x22, 0x36, 0xfe, 0x4a,
+ 0xf0, 0xfe, 0x5e, 0x05, 0xfe, 0x49, 0xf0, 0xfe, 0x58, 0x05, 0x69, 0x29, 0xfe, 0x21, 0x00, 0xb4,
+ 0x29, 0xfe, 0x22, 0x00, 0x9c, 0x29, 0x43, 0xfe, 0x09, 0x48, 0xff, 0x02, 0x00, 0x10, 0x2a, 0xfe,
+ 0x6e, 0x05, 0x13, 0xfe, 0x90, 0x05, 0xfe, 0xe2, 0x08, 0x36, 0x08, 0xfe, 0x1c, 0x00, 0x47, 0x01,
+ 0x9f, 0x29, 0x05, 0x1e, 0xdf, 0x4c, 0xfe, 0x27, 0x01, 0x0b, 0x08, 0x38, 0xfe, 0x22, 0x12, 0x32,
+ 0x01, 0x7d, 0x1d, 0x78, 0x0b, 0x08, 0x05, 0x47, 0x1d, 0xfe, 0x0d, 0x00, 0x01, 0x3d, 0x8a, 0xfe,
+ 0x46, 0x0d, 0x04, 0x24, 0x02, 0xe1, 0x1a, 0xfe, 0xc6, 0x13, 0x02, 0xaa, 0x1a, 0xfe, 0x3e, 0x12,
+ 0x02, 0x5d, 0x1a, 0xfe, 0x36, 0x13, 0x32, 0x01, 0x7d, 0x13, 0xfe, 0x08, 0x06, 0x09, 0x05, 0x36,
+ 0x08, 0x20, 0xfe, 0x02, 0x12, 0x49, 0x01, 0xfe, 0x42, 0x17, 0x12, 0xfe, 0xfe, 0x05, 0x11, 0x7a,
+ 0x01, 0x3c, 0x11, 0xdd, 0x02, 0x5d, 0x85, 0x0c, 0x5d, 0x02, 0x94, 0x1a, 0xfe, 0x6e, 0x12, 0x02,
+ 0x4e, 0x1a, 0xfe, 0x66, 0x13, 0x01, 0xba, 0x07, 0x0e, 0x41, 0xfe, 0x28, 0x06, 0x29, 0x0e, 0x01,
+ 0xfe, 0x6e, 0x1b, 0xfe, 0x43, 0x48, 0x58, 0x79, 0x0f, 0x50, 0xff, 0x02, 0x00, 0x57, 0x4b, 0xa3,
+ 0x1c, 0x34, 0x48, 0x58, 0x42, 0x32, 0x01, 0x7d, 0x13, 0xfe, 0x7e, 0x06, 0x36, 0x08, 0x0e, 0xf5,
+ 0x3f, 0x09, 0x8f, 0x01, 0xfe, 0x70, 0x17, 0x12, 0xfe, 0x74, 0x06, 0x11, 0x7a, 0x01, 0x3c, 0x11,
+ 0xdd, 0x02, 0x4e, 0x85, 0x0c, 0x4e, 0x18, 0x05, 0x01, 0x7d, 0xfe, 0xaa, 0x10, 0x02, 0x66, 0x1a,
+ 0xfe, 0x9a, 0x13, 0x32, 0x01, 0x7d, 0x02, 0x94, 0x1a, 0xfe, 0x18, 0x12, 0x36, 0x08, 0x0e, 0xf8,
+ 0x01, 0xba, 0x01, 0xfe, 0x6e, 0x1b, 0xfe, 0x43, 0x48, 0x58, 0x79, 0xed, 0x3f, 0x09, 0x8f, 0x02,
+ 0xaa, 0x1a, 0xfe, 0x0e, 0x12, 0x36, 0x08, 0x20, 0x30, 0xfe, 0x02, 0xf6, 0x05, 0x69, 0x70, 0x87,
+ 0x00, 0x47, 0x58, 0x42, 0x32, 0x28, 0x8d, 0x48, 0xc9, 0x0a, 0x13, 0xfe, 0x2a, 0x07, 0x01, 0xfe,
+ 0xac, 0x17, 0x12, 0xfe, 0x20, 0x07, 0x22, 0x1e, 0x98, 0x11, 0x7a, 0x01, 0x3c, 0x11, 0xdd, 0x1b,
+ 0x98, 0x07, 0x05, 0xf7, 0x02, 0xe1, 0xfe, 0x58, 0x57, 0x0c, 0xe1, 0x04, 0xfe, 0xc2, 0x05, 0x02,
+ 0x66, 0x85, 0x0c, 0x66, 0x18, 0x05, 0x01, 0x7d, 0xfe, 0x9c, 0x32, 0x6e, 0x80, 0x01, 0x7c, 0x7f,
+ 0x11, 0xfe, 0xe2, 0x00, 0x2a, 0xe8, 0x25, 0x3a, 0xfe, 0x0a, 0xf0, 0xfe, 0x5e, 0x07, 0xa4, 0xfe,
+ 0x14, 0x08, 0xfe, 0x06, 0xf0, 0xfe, 0x1c, 0x08, 0xa5, 0x9a, 0x04, 0x24, 0x0b, 0x08, 0x0a, 0xfe,
+ 0x2e, 0x12, 0x10, 0x19, 0x01, 0x06, 0x10, 0x00, 0x01, 0x06, 0x10, 0x00, 0x01, 0x06, 0x10, 0x00,
+ 0x01, 0x06, 0xfe, 0x99, 0xa4, 0x01, 0x06, 0x10, 0x00, 0x04, 0xfe, 0xea, 0x08, 0x86, 0x08, 0x0e,
+ 0xfe, 0x38, 0x12, 0x0b, 0x08, 0x0e, 0xfe, 0x30, 0x13, 0x10, 0xfe, 0x1b, 0x00, 0x01, 0x06, 0x10,
+ 0x00, 0x01, 0x06, 0x10, 0x00, 0x01, 0x06, 0x10, 0x00, 0x01, 0x06, 0x10, 0x05, 0x01, 0x06, 0x10,
+ 0x00, 0x04, 0xeb, 0x74, 0x43, 0x70, 0x49, 0xfe, 0x9a, 0x81, 0x28, 0x38, 0x41, 0xfe, 0xea, 0x07,
+ 0x09, 0x38, 0xfe, 0x09, 0x6f, 0xfe, 0x0a, 0x45, 0xfe, 0xca, 0x45, 0xfe, 0x32, 0x12, 0x71, 0x59,
+ 0x48, 0x74, 0x91, 0x2a, 0xfe, 0xfc, 0x07, 0x25, 0x3a, 0xfe, 0x0a, 0xf0, 0xfe, 0xea, 0x07, 0xa5,
+ 0x9a, 0xa4, 0xfe, 0x14, 0x08, 0x04, 0x24, 0x01, 0x3c, 0x04, 0xe8, 0x10, 0x20, 0x04, 0xe8, 0xfe,
+ 0x9c, 0xf7, 0x99, 0xfe, 0x2c, 0x90, 0xfe, 0xae, 0x90, 0x89, 0xfe, 0x82, 0x08, 0x0c, 0x61, 0x1f,
+ 0x62, 0x0b, 0x57, 0x4d, 0x3e, 0x1b, 0x27, 0x07, 0x15, 0xfe, 0x0e, 0x12, 0x83, 0xfe, 0x80, 0x80,
+ 0x4c, 0x27, 0x72, 0x2b, 0xed, 0xfe, 0x83, 0xe7, 0xfe, 0xbf, 0x00, 0xb4, 0xfe, 0x03, 0x40, 0x0b,
+ 0x57, 0x5c, 0x3e, 0x01, 0xb9, 0xbe, 0xfe, 0x1f, 0x40, 0x1e, 0x65, 0x01, 0xfb, 0xfe, 0x08, 0x50,
+ 0xfe, 0x8a, 0x50, 0xfe, 0x44, 0x51, 0xfe, 0xc6, 0x51, 0x69, 0xfe, 0x08, 0x90, 0xfe, 0x8a, 0x90,
+ 0x0c, 0x5f, 0x1f, 0x60, 0xfe, 0x0c, 0x90, 0xfe, 0x8e, 0x90, 0xfe, 0x40, 0x50, 0xfe, 0xc2, 0x50,
+ 0x0c, 0x45, 0x1f, 0x46, 0xfe, 0x4a, 0x10, 0x0b, 0x08, 0x4d, 0xfe, 0x2a, 0x12, 0xfe, 0x2c, 0x90,
+ 0xfe, 0xae, 0x90, 0x0c, 0x61, 0x1f, 0x62, 0x0b, 0x08, 0x5c, 0x48, 0x01, 0xb9, 0xfe, 0x1f, 0x80,
+ 0x1e, 0x65, 0xfe, 0x44, 0x90, 0xfe, 0xc6, 0x90, 0x0c, 0x63, 0x1f, 0x64, 0xfe, 0x08, 0x90, 0xfe,
+ 0x8a, 0x90, 0x0c, 0x5f, 0x1f, 0x60, 0xfe, 0x40, 0x90, 0xfe, 0xc2, 0x90, 0x0c, 0x45, 0x1f, 0x46,
+ 0x0c, 0x5a, 0x1f, 0x5b, 0x0b, 0x57, 0x20, 0x3e, 0x31, 0x0f, 0x77, 0x2a, 0xfe, 0x00, 0x09, 0xfe,
+ 0x9e, 0xf0, 0xfe, 0x14, 0x09, 0xfe, 0x01, 0x48, 0x17, 0x3a, 0x31, 0x82, 0xf1, 0xcd, 0xfe, 0x40,
+ 0x09, 0xce, 0xfe, 0x5e, 0x09, 0xcb, 0xfe, 0x40, 0x09, 0xcc, 0xfe, 0x5e, 0x09, 0xa4, 0xfe, 0x34,
+ 0x09, 0xfe, 0x06, 0xf0, 0xfe, 0x3a, 0x09, 0xa5, 0x9a, 0x04, 0x24, 0x01, 0x3c, 0xfe, 0xc1, 0x10,
+ 0x10, 0x20, 0xfe, 0xc1, 0x10, 0x86, 0x08, 0x05, 0xfe, 0x10, 0x12, 0x86, 0x08, 0x0a, 0x6c, 0x0b,
+ 0x08, 0x0a, 0xfe, 0x70, 0x12, 0xfe, 0x2e, 0x1c, 0x04, 0xfe, 0xec, 0x0a, 0x86, 0x08, 0x05, 0x6c,
+ 0x86, 0x08, 0x0a, 0xfe, 0x5a, 0x12, 0xfe, 0x2c, 0x1c, 0xfe, 0xaa, 0xf0, 0xfe, 0xe6, 0x09, 0xfe,
+ 0xac, 0xf0, 0xfe, 0x7e, 0x09, 0xfe, 0x92, 0x10, 0xbb, 0xf3, 0xfe, 0xad, 0xf0, 0xfe, 0x8a, 0x09,
+ 0x04, 0xfe, 0xec, 0x0a, 0xbc, 0xfe, 0xe7, 0x10, 0xfe, 0x2b, 0xf0, 0xb2, 0xfe, 0x6b, 0x18, 0x1c,
+ 0xfe, 0x00, 0xfe, 0xfe, 0x1c, 0x12, 0xc5, 0xfe, 0xd2, 0xf0, 0xb2, 0xfe, 0x76, 0x18, 0x1c, 0x19,
+ 0x17, 0xb2, 0x02, 0xde, 0x1c, 0x05, 0x17, 0xb2, 0xcd, 0x53, 0xce, 0x53, 0xcb, 0x53, 0xcc, 0x53,
+ 0xbb, 0xbc, 0xfe, 0xa9, 0x10, 0x80, 0x55, 0x2d, 0x1d, 0x78, 0x01, 0x3d, 0x14, 0xfe, 0x35, 0x00,
+ 0xfe, 0x01, 0xf0, 0x68, 0x14, 0x92, 0x04, 0x68, 0xfe, 0x74, 0x18, 0x1c, 0xfe, 0x00, 0xf8, 0x17,
+ 0x53, 0x75, 0x0e, 0x01, 0xfe, 0x0a, 0x0e, 0x47, 0x01, 0xb8, 0x1b, 0x2b, 0x83, 0x75, 0x19, 0x04,
+ 0x53, 0xfe, 0x98, 0x80, 0xfe, 0x19, 0xe4, 0x0a, 0x26, 0xfe, 0xce, 0x0a, 0x0b, 0x08, 0x4d, 0xfe,
+ 0x82, 0x12, 0x0b, 0x08, 0x20, 0xfe, 0x66, 0x13, 0x1b, 0x65, 0xbd, 0xfe, 0x03, 0xa1, 0xfe, 0x83,
+ 0x80, 0xfe, 0xc8, 0x44, 0xfe, 0x2e, 0x13, 0xfe, 0x04, 0x91, 0xfe, 0x86, 0x91, 0x72, 0x2b, 0xfe,
+ 0x40, 0x59, 0xfe, 0xc1, 0x59, 0x89, 0xea, 0x02, 0x61, 0x37, 0x62, 0x0c, 0x91, 0x1f, 0x92, 0xd3,
+ 0x61, 0xd4, 0x62, 0x01, 0xb9, 0xbe, 0x72, 0x2b, 0x1e, 0x65, 0xd5, 0x5a, 0xd6, 0x5b, 0x8c, 0x63,
+ 0x76, 0x64, 0xfe, 0x44, 0x55, 0xfe, 0xe5, 0x55, 0xfe, 0x04, 0xfa, 0x5a, 0xfe, 0x05, 0xfa, 0x5b,
+ 0x01, 0xfb, 0xfe, 0x36, 0x10, 0x22, 0x0c, 0x91, 0x0c, 0x92, 0x8c, 0x63, 0x76, 0x64, 0xee, 0x0b,
+ 0x08, 0x20, 0x17, 0xea, 0x8c, 0x45, 0x76, 0x46, 0x0b, 0x08, 0xfe, 0xf7, 0x00, 0x3e, 0x02, 0x5f,
+ 0x37, 0x60, 0xfe, 0x10, 0x58, 0xfe, 0x91, 0x58, 0xfe, 0x14, 0x59, 0xfe, 0x95, 0x59, 0x04, 0x53,
+ 0x0b, 0x08, 0x20, 0x17, 0xea, 0x0b, 0x08, 0xfe, 0xf7, 0x00, 0x3e, 0x70, 0xfe, 0x19, 0x81, 0x49,
+ 0xfe, 0x10, 0x90, 0xfe, 0x92, 0x90, 0xfe, 0xd7, 0x10, 0x35, 0x07, 0xaf, 0x17, 0xfe, 0x86, 0x09,
+ 0x11, 0xaf, 0xfe, 0x98, 0x80, 0xfe, 0x19, 0xe4, 0x0a, 0xfe, 0x14, 0x13, 0x02, 0x45, 0x37, 0x46,
+ 0x89, 0xfe, 0x86, 0x09, 0xfe, 0x0c, 0x58, 0xfe, 0x8d, 0x58, 0x04, 0x53, 0x22, 0x32, 0xfe, 0x19,
+ 0x80, 0xf2, 0x0b, 0x08, 0x0a, 0xfe, 0x1a, 0x12, 0xfe, 0x6c, 0x19, 0xfe, 0x19, 0x41, 0xfe, 0x6b,
+ 0x18, 0xc5, 0xfe, 0xd1, 0xf0, 0xeb, 0x1d, 0x77, 0x01, 0x3d, 0x14, 0xfe, 0x44, 0x00, 0xfe, 0x8e,
+ 0x10, 0xfe, 0x6c, 0x19, 0xd3, 0x45, 0xfe, 0xed, 0x19, 0xd4, 0x46, 0xfe, 0x0c, 0x51, 0xfe, 0x8e,
+ 0x51, 0xfe, 0x6b, 0x18, 0x1c, 0xfe, 0x00, 0xff, 0x2c, 0xfe, 0x74, 0x10, 0xc5, 0xfe, 0xd2, 0xf0,
+ 0xfe, 0x7a, 0x0b, 0xfe, 0x76, 0x18, 0x1c, 0x19, 0x54, 0x02, 0xde, 0x1c, 0x05, 0xfe, 0x08, 0x13,
+ 0x14, 0xfe, 0x16, 0x00, 0x04, 0x68, 0xfe, 0xd1, 0xf0, 0xfe, 0x8c, 0x0b, 0x1d, 0x77, 0x01, 0x3d,
+ 0x14, 0xfe, 0x17, 0x00, 0xfe, 0x42, 0x10, 0xfe, 0xce, 0xf0, 0xfe, 0x92, 0x0b, 0xfe, 0x3c, 0x10,
+ 0xfe, 0xcd, 0xf0, 0xfe, 0x9e, 0x0b, 0x14, 0xfe, 0x22, 0x00, 0x04, 0x68, 0xfe, 0xcb, 0xf0, 0xfe,
+ 0xaa, 0x0b, 0x14, 0xfe, 0x24, 0x00, 0x04, 0x68, 0xfe, 0xd0, 0xf0, 0xfe, 0xb4, 0x0b, 0x14, 0x8e,
+ 0xef, 0xfe, 0xcf, 0xf0, 0xfe, 0xbe, 0x0b, 0x14, 0x43, 0xfe, 0x10, 0x10, 0xfe, 0xcc, 0xf0, 0xeb,
+ 0xfe, 0x84, 0x80, 0xfe, 0x19, 0xe4, 0x20, 0x47, 0x14, 0xfe, 0x12, 0x00, 0x31, 0x0f, 0x77, 0x2a,
+ 0xfe, 0xd4, 0x0b, 0xfe, 0x9e, 0xf0, 0xfe, 0xe8, 0x0b, 0xfe, 0x01, 0x48, 0x17, 0x3a, 0x31, 0x82,
+ 0xf1, 0xcd, 0x24, 0xce, 0x24, 0xcb, 0x24, 0xcc, 0x24, 0x31, 0xfe, 0x9c, 0x32, 0x2a, 0xfe, 0xfc,
+ 0x0b, 0x25, 0x3a, 0xa4, 0xfe, 0x20, 0x0c, 0xa5, 0x9a, 0xcd, 0x99, 0xce, 0x99, 0xcb, 0x99, 0xcc,
+ 0x99, 0x04, 0x24, 0x01, 0x3c, 0xfe, 0xd3, 0x10, 0x11, 0xfe, 0xe8, 0x00, 0xbb, 0xbc, 0x80, 0xd1,
+ 0x93, 0xd2, 0x96, 0xfe, 0x89, 0xf0, 0x24, 0x23, 0x21, 0xb1, 0xd1, 0x93, 0xd2, 0x96, 0x2a, 0xfe,
+ 0x4a, 0x0c, 0x12, 0x24, 0x23, 0x21, 0xb0, 0xfe, 0x01, 0x48, 0x6c, 0x14, 0xfe, 0x42, 0x00, 0x04,
+ 0x68, 0x8b, 0x05, 0xfe, 0x81, 0x49, 0xfe, 0xa2, 0x12, 0x0b, 0x08, 0x0a, 0xfe, 0x44, 0x13, 0x14,
+ 0x00, 0x28, 0x0a, 0xfe, 0x54, 0x12, 0x28, 0xfe, 0x28, 0x00, 0x26, 0xfe, 0x7c, 0x0d, 0x09, 0x44,
+ 0x01, 0x16, 0x07, 0x00, 0x30, 0x40, 0xfe, 0x28, 0x00, 0xfe, 0xe2, 0x10, 0x01, 0xfe, 0xb6, 0x1a,
+ 0x01, 0xfe, 0xc2, 0x1a, 0x09, 0xae, 0x01, 0xfe, 0xb6, 0x0e, 0x67, 0x11, 0x4f, 0x01, 0x7e, 0x04,
+ 0x2e, 0x14, 0xfe, 0x44, 0x00, 0x28, 0x0a, 0xf5, 0x40, 0x0a, 0xfe, 0xb4, 0x10, 0x01, 0x9f, 0x40,
+ 0x0a, 0xfe, 0xaa, 0x10, 0x01, 0x9f, 0xfe, 0x19, 0x82, 0xfe, 0x34, 0x46, 0x9e, 0x40, 0x0a, 0x14,
+ 0xfe, 0x43, 0x00, 0xfe, 0x96, 0x10, 0x0b, 0x57, 0x0a, 0x3e, 0x01, 0xfe, 0xb6, 0x1a, 0x01, 0xfe,
+ 0xc2, 0x1a, 0x67, 0x11, 0x4f, 0x01, 0x7e, 0x75, 0x0a, 0x67, 0x56, 0xc8, 0x04, 0xfe, 0x2e, 0x03,
+ 0x0b, 0x08, 0x0a, 0x54, 0x40, 0x0a, 0x14, 0x00, 0x3c, 0x86, 0x08, 0x0e, 0xfe, 0x58, 0x12, 0x0b,
+ 0x08, 0x0e, 0xfe, 0x50, 0x13, 0xfe, 0x1c, 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0x32, 0x0d, 0xfe, 0x1c,
+ 0x1c, 0xfe, 0x9d, 0xf0, 0xfe, 0x38, 0x0d, 0x0b, 0x57, 0x0e, 0x3e, 0xfe, 0xa9, 0x10, 0x14, 0xfe,
+ 0x15, 0x00, 0xfe, 0x04, 0xe6, 0x0a, 0x49, 0xfe, 0x2e, 0x10, 0x14, 0xfe, 0x13, 0x00, 0xfe, 0x10,
+ 0x10, 0x14, 0xfe, 0x47, 0x00, 0xb4, 0x14, 0xfe, 0x41, 0x00, 0x9c, 0x14, 0xfe, 0x24, 0x00, 0x7f,
+ 0xbb, 0xbc, 0x80, 0x02, 0x39, 0x1a, 0x26, 0xe4, 0x49, 0xfe, 0x04, 0xe6, 0x0e, 0xfe, 0x9d, 0x41,
+ 0xfe, 0x1c, 0x42, 0x67, 0x01, 0xec, 0x04, 0x2e, 0xfe, 0x12, 0x1c, 0x1d, 0x0a, 0x4c, 0xd8, 0xfe,
+ 0x20, 0x1c, 0x1d, 0xfe, 0x31, 0x00, 0x4c, 0xac, 0x01, 0xfe, 0xd6, 0x0f, 0x04, 0xe3, 0x56, 0xfe,
+ 0x06, 0xec, 0xdb, 0xfe, 0x0e, 0x47, 0x40, 0x38, 0xfe, 0xce, 0x45, 0x2c, 0x56, 0xfe, 0x06, 0xea,
+ 0xdb, 0xfe, 0x47, 0x4b, 0x3f, 0xfe, 0x75, 0x57, 0x02, 0x5e, 0xfe, 0x98, 0x56, 0xfe, 0x28, 0x12,
+ 0x09, 0x44, 0xfe, 0xd8, 0x14, 0x32, 0xfe, 0x41, 0x58, 0x09, 0xae, 0xfe, 0xce, 0x14, 0xfe, 0x49,
+ 0x54, 0xa6, 0xfe, 0xf0, 0x0d, 0x09, 0x52, 0xfe, 0xc2, 0x14, 0xfe, 0x44, 0x48, 0x04, 0xfe, 0x2e,
+ 0x03, 0x09, 0x5e, 0xfe, 0xac, 0x14, 0xfe, 0x0e, 0x47, 0x40, 0x38, 0xfe, 0xce, 0x45, 0x2c, 0x56,
+ 0xfe, 0xce, 0x47, 0xfe, 0xbd, 0x13, 0x04, 0x2e, 0x1b, 0x27, 0x07, 0x15, 0xfe, 0x64, 0x12, 0x22,
+ 0x1e, 0x90, 0xfe, 0x08, 0x1c, 0xfe, 0x7c, 0x19, 0xfe, 0xfd, 0x19, 0xfe, 0x0a, 0x1c, 0x02, 0xe0,
+ 0xfe, 0x48, 0x55, 0x9e, 0x37, 0xfe, 0x62, 0x01, 0xfe, 0xc9, 0x55, 0x2c, 0xfe, 0x44, 0x10, 0x01,
+ 0xfe, 0xd6, 0x18, 0x02, 0xfe, 0x38, 0x01, 0x37, 0xfe, 0x3a, 0x01, 0x89, 0xfe, 0x7c, 0x0e, 0x02,
+ 0xfe, 0x38, 0x01, 0x1c, 0xfe, 0xf0, 0xff, 0x0c, 0xe0, 0x02, 0xfe, 0x3a, 0x01, 0x0c, 0xfe, 0x62,
+ 0x01, 0xfe, 0x04, 0xec, 0x27, 0x6f, 0x34, 0x1e, 0x27, 0xfe, 0x05, 0xf6, 0xfe, 0x34, 0x01, 0x01,
+ 0xfe, 0x46, 0x19, 0x11, 0x4f, 0xc8, 0x0f, 0x05, 0x03, 0x22, 0x03, 0x1b, 0x90, 0xbd, 0x1e, 0x90,
+ 0x07, 0x77, 0xfe, 0xa9, 0x13, 0x1d, 0x19, 0x4c, 0xd8, 0xfe, 0x20, 0x1c, 0xfe, 0xe1, 0x10, 0xc6,
+ 0xfe, 0x03, 0xdc, 0xfe, 0x73, 0x57, 0xfe, 0x80, 0x5d, 0x03, 0xc6, 0xfe, 0x03, 0xdc, 0xfe, 0x5b,
+ 0x57, 0xfe, 0x80, 0x5d, 0x03, 0xfe, 0x03, 0x57, 0xc6, 0x22, 0xfe, 0x00, 0xcc, 0x03, 0xfe, 0x03,
+ 0x57, 0xc6, 0x84, 0x03, 0x0b, 0x08, 0x43, 0xfe, 0x22, 0x13, 0xfe, 0x1c, 0x80, 0x07, 0x05, 0xfe,
+ 0x1a, 0x13, 0xfe, 0x1e, 0x80, 0xf9, 0xfe, 0x1d, 0x80, 0xb6, 0xfe, 0x0c, 0x90, 0xf7, 0xfe, 0x0e,
+ 0x90, 0x9e, 0xfe, 0x3c, 0x90, 0xfe, 0x30, 0xf4, 0x0a, 0xfe, 0x3c, 0x50, 0x9c, 0x01, 0xfe, 0x76,
+ 0x19, 0x35, 0x07, 0x4f, 0x30, 0x01, 0xfe, 0xb0, 0x18, 0xfe, 0x08, 0x10, 0x01, 0xfe, 0xb6, 0x1a,
+ 0x01, 0xfe, 0xc2, 0x1a, 0x11, 0xfe, 0xe9, 0x00, 0x0b, 0x08, 0x43, 0xfe, 0x2c, 0x13, 0x01, 0xfe,
+ 0x08, 0x19, 0xfe, 0x1e, 0x1c, 0xfe, 0x14, 0x90, 0x0c, 0xfe, 0x64, 0x01, 0xfe, 0x16, 0x90, 0x0c,
+ 0xfe, 0x66, 0x01, 0x0b, 0x08, 0x5c, 0xfe, 0x12, 0x12, 0xfe, 0x03, 0x80, 0x83, 0xfe, 0x01, 0xec,
+ 0x27, 0xfe, 0x80, 0x40, 0x1e, 0x27, 0x72, 0x2b, 0x11, 0xda, 0x67, 0x1b, 0x27, 0xfe, 0x00, 0x40,
+ 0x88, 0x27, 0x03, 0xfe, 0x08, 0x1c, 0x02, 0xfe, 0xac, 0x00, 0xfe, 0x06, 0x58, 0x02, 0xfe, 0xae,
+ 0x00, 0xfe, 0x07, 0x58, 0x02, 0xfe, 0xb0, 0x00, 0xfe, 0x08, 0x58, 0x02, 0xfe, 0xb2, 0x00, 0xfe,
+ 0x09, 0x58, 0xfe, 0x0a, 0x1c, 0x29, 0x42, 0x1e, 0xdb, 0x22, 0x0c, 0x5d, 0x0c, 0x4e, 0x0c, 0x66,
+ 0x0f, 0x44, 0x4b, 0x49, 0x18, 0x38, 0xfe, 0x90, 0x4d, 0xfe, 0x91, 0x54, 0x26, 0xfe, 0x8a, 0x0f,
+ 0x40, 0x15, 0x0f, 0x52, 0x4b, 0x18, 0x43, 0xfe, 0x90, 0x4d, 0xfe, 0x91, 0x54, 0x26, 0xfe, 0xa0,
+ 0x0f, 0x29, 0x15, 0x1e, 0x27, 0x8b, 0x39, 0x6f, 0x1b, 0x27, 0xfe, 0x00, 0x40, 0x88, 0x27, 0x11,
+ 0xda, 0xfe, 0x14, 0x56, 0xfe, 0xd6, 0xf0, 0xfe, 0xb4, 0x0f, 0xfe, 0x12, 0x1c, 0x80, 0xfe, 0x14,
+ 0x1c, 0xfe, 0x10, 0x1c, 0xfe, 0x18, 0x1c, 0x03, 0x56, 0xfe, 0x0c, 0x14, 0xfe, 0x0e, 0x47, 0xfe,
+ 0x07, 0xe6, 0x38, 0xfe, 0xce, 0x47, 0xfe, 0xf5, 0x13, 0x03, 0x01, 0x9f, 0x8b, 0x39, 0x6f, 0xfe,
+ 0x06, 0x80, 0xfe, 0x48, 0x47, 0xfe, 0x42, 0x13, 0x35, 0x07, 0x4f, 0xfe, 0x34, 0x13, 0x09, 0x52,
+ 0x01, 0x16, 0xc0, 0xfe, 0x36, 0x12, 0xc1, 0xfe, 0x45, 0x48, 0x01, 0xfc, 0xfe, 0x00, 0xcc, 0xc0,
+ 0xfe, 0xf3, 0x13, 0x34, 0x84, 0x07, 0x15, 0x9e, 0x09, 0x97, 0x01, 0x16, 0xfe, 0x80, 0x5c, 0x01,
+ 0x7e, 0xb5, 0x07, 0x95, 0x6c, 0xfe, 0x14, 0x56, 0xfe, 0xd6, 0xf0, 0xfe, 0xee, 0x0f, 0x03, 0xfe,
+ 0x44, 0x58, 0x83, 0xfe, 0x01, 0xec, 0xac, 0xfe, 0x9e, 0x40, 0xfe, 0x9d, 0xe7, 0x00, 0xfe, 0x9c,
+ 0xe7, 0x0e, 0x88, 0x2b, 0x01, 0xec, 0xfe, 0xdd, 0x10, 0x31, 0xd1, 0x93, 0xd2, 0x96, 0x23, 0x21,
+ 0xe9, 0x07, 0x0e, 0xfe, 0x48, 0x12, 0x07, 0x0a, 0xfe, 0x56, 0x12, 0x07, 0x19, 0xfe, 0x30, 0x12,
+ 0x07, 0xd7, 0x17, 0xfe, 0xc0, 0x11, 0x07, 0xfe, 0x23, 0x00, 0x17, 0xfe, 0xcc, 0x11, 0x07, 0x05,
+ 0x17, 0xfe, 0x2a, 0x12, 0x07, 0x20, 0xfe, 0x12, 0x12, 0x07, 0x00, 0x17, 0x24, 0x1d, 0xd7, 0x01,
+ 0x3d, 0x9b, 0x2d, 0x01, 0x06, 0xa4, 0x3c, 0x03, 0x2d, 0xfe, 0x62, 0x08, 0x09, 0xdc, 0x01, 0xfe,
+ 0xb6, 0x0e, 0x11, 0x95, 0x04, 0x2e, 0x2d, 0x35, 0x07, 0xaf, 0xfe, 0xd9, 0x13, 0x8c, 0x45, 0x76,
+ 0x46, 0x89, 0xfe, 0x7e, 0x11, 0x0b, 0x08, 0x4d, 0xfe, 0x72, 0x12, 0xd5, 0x5a, 0xd6, 0x5b, 0xfe,
+ 0x44, 0x55, 0xfe, 0xe5, 0x55, 0xa6, 0xfe, 0x48, 0x11, 0x1b, 0x65, 0xfe, 0x26, 0x13, 0x02, 0x91,
+ 0x37, 0x92, 0x89, 0xfe, 0x58, 0x0d, 0x0c, 0x61, 0x1f, 0x62, 0x22, 0x0c, 0x91, 0x0c, 0x92, 0x01,
+ 0xb9, 0x29, 0x42, 0x82, 0x1e, 0x65, 0x01, 0xfb, 0xd5, 0x5a, 0xd6, 0x5b, 0xfe, 0x04, 0x55, 0xfe,
+ 0xa5, 0x55, 0xfe, 0x04, 0xfa, 0x5a, 0xfe, 0x05, 0xfa, 0x5b, 0xfe, 0x91, 0x10, 0x02, 0x63, 0x37,
+ 0x64, 0xfe, 0x40, 0x56, 0xfe, 0xe1, 0x56, 0x0c, 0x63, 0x1f, 0x64, 0x69, 0xd5, 0x5a, 0xd6, 0x5b,
+ 0xfe, 0x44, 0x55, 0xfe, 0xe5, 0x55, 0x02, 0x5f, 0x37, 0x60, 0xfe, 0x00, 0x56, 0xfe, 0xa1, 0x56,
+ 0x0c, 0x5f, 0x1f, 0x60, 0x0b, 0x08, 0x4d, 0xfe, 0x1e, 0x12, 0x1b, 0x65, 0xfe, 0x1f, 0x40, 0x02,
+ 0x61, 0x37, 0x62, 0xfe, 0x2c, 0x50, 0xfe, 0xae, 0x50, 0x02, 0x63, 0x37, 0x64, 0xfe, 0x44, 0x50,
+ 0xfe, 0xc6, 0x50, 0x02, 0x5f, 0x37, 0x60, 0xfe, 0x08, 0x50, 0xfe, 0x8a, 0x50, 0x02, 0x45, 0x37,
+ 0x46, 0xfe, 0x40, 0x50, 0xfe, 0xc2, 0x50, 0x04, 0x6b, 0x29, 0x05, 0x1e, 0x98, 0x04, 0x6a, 0x2d,
+ 0x01, 0x06, 0x12, 0x3b, 0x23, 0x21, 0xe9, 0x07, 0x05, 0x26, 0x3b, 0x35, 0x07, 0xaf, 0x26, 0x6a,
+ 0x01, 0x7c, 0x1c, 0x34, 0x17, 0x3b, 0x0b, 0x08, 0x0a, 0xfa, 0x8c, 0x45, 0x76, 0x46, 0xfe, 0x0a,
+ 0x55, 0x2c, 0xfe, 0x8b, 0x55, 0xd3, 0x45, 0xd4, 0x46, 0xfe, 0x0c, 0x51, 0xfe, 0x8e, 0x51, 0x04,
+ 0x6a, 0xfe, 0x19, 0x81, 0xfe, 0x0a, 0x45, 0xfe, 0x19, 0x41, 0x04, 0x6a, 0x2d, 0x01, 0x06, 0x25,
+ 0x3a, 0x12, 0xf0, 0x23, 0x21, 0xb1, 0x28, 0x19, 0xfe, 0xb2, 0x12, 0x28, 0x0a, 0x9d, 0x28, 0x78,
+ 0x17, 0xfe, 0x56, 0x13, 0x04, 0x3b, 0x01, 0x06, 0x25, 0x3a, 0x12, 0xf0, 0x23, 0x21, 0xb0, 0x07,
+ 0x19, 0x26, 0x3b, 0x01, 0x06, 0x12, 0xf0, 0x23, 0x21, 0xfe, 0xe8, 0x09, 0xfe, 0xc2, 0x49, 0x4a,
+ 0x02, 0xaa, 0x1a, 0x54, 0x36, 0x08, 0x20, 0x2c, 0x9b, 0xfe, 0xbb, 0x45, 0x28, 0x00, 0x6c, 0x40,
+ 0x05, 0x8b, 0x34, 0x01, 0xfe, 0xe6, 0x13, 0x01, 0x7c, 0x7f, 0xfe, 0x4b, 0x45, 0xfa, 0x35, 0x07,
+ 0x7a, 0xf9, 0x02, 0x94, 0x1a, 0x54, 0x02, 0x4e, 0x1a, 0x2c, 0x55, 0x04, 0x6a, 0xfe, 0xc0, 0x5d,
+ 0x01, 0x9f, 0xfe, 0x03, 0x17, 0x02, 0x5d, 0x85, 0x0c, 0x5d, 0x55, 0x2d, 0x01, 0x06, 0x13, 0x6b,
+ 0x01, 0xfe, 0x42, 0x17, 0x04, 0x6b, 0x01, 0x06, 0x25, 0x3a, 0x12, 0x3b, 0x23, 0x21, 0xb0, 0x07,
+ 0x05, 0x26, 0x3b, 0x01, 0xfe, 0xb0, 0x14, 0xfe, 0x42, 0x58, 0xfe, 0xe4, 0x14, 0x01, 0x7c, 0x7f,
+ 0xfe, 0x4a, 0xf4, 0x0a, 0x17, 0x3b, 0xfe, 0x4a, 0xf4, 0x05, 0x9d, 0x35, 0x07, 0x7a, 0x48, 0x04,
+ 0x6a, 0x02, 0x4e, 0x85, 0x0c, 0x4e, 0x55, 0x2d, 0x01, 0x06, 0x13, 0x6b, 0x01, 0xfe, 0x70, 0x17,
+ 0x04, 0x6b, 0x01, 0x06, 0x25, 0x3a, 0x12, 0x3b, 0x23, 0x21, 0xb0, 0x07, 0x0e, 0x26, 0x3b, 0x01,
+ 0xfe, 0xd8, 0x15, 0xc7, 0xfe, 0xa8, 0x14, 0xfe, 0xb4, 0x14, 0x7f, 0xfe, 0x00, 0x17, 0xcf, 0x0a,
+ 0x17, 0x3b, 0xcf, 0x05, 0x9d, 0x35, 0x07, 0x7a, 0x48, 0x04, 0x6a, 0x02, 0x66, 0x85, 0x0c, 0x66,
+ 0x55, 0x2d, 0x01, 0x06, 0x13, 0x6b, 0x01, 0xfe, 0xac, 0x17, 0x04, 0x6b, 0x0f, 0x05, 0x2a, 0xfe,
+ 0xba, 0x13, 0x13, 0xfe, 0xd0, 0x13, 0x6e, 0xc2, 0x01, 0x06, 0x22, 0x6e, 0x03, 0x8a, 0xfe, 0xcc,
+ 0x13, 0x25, 0xfe, 0xcc, 0x13, 0x12, 0xfe, 0xba, 0x13, 0x55, 0x2d, 0x01, 0x06, 0xfe, 0xd5, 0x10,
+ 0x0f, 0x50, 0xff, 0x02, 0x00, 0x57, 0x4b, 0xa3, 0x1c, 0xfe, 0xff, 0x7f, 0xfe, 0x30, 0x56, 0xfe,
+ 0x00, 0x5c, 0x03, 0x0f, 0x50, 0xff, 0x02, 0x00, 0x57, 0x4b, 0xa3, 0x1c, 0x34, 0xfe, 0x30, 0x56,
+ 0xfe, 0x00, 0x5c, 0x03, 0x0f, 0x50, 0xff, 0x02, 0x00, 0x57, 0x4b, 0xa3, 0x03, 0x0f, 0x50, 0xff,
+ 0x02, 0x00, 0x57, 0x4b, 0xfe, 0x00, 0x5e, 0x03, 0x0f, 0x50, 0xff, 0x02, 0x00, 0x57, 0x4b, 0xa3,
+ 0xfe, 0xc0, 0x5c, 0xfe, 0x41, 0x58, 0xfe, 0x19, 0xf4, 0xf4, 0xfe, 0x49, 0xf4, 0xf4, 0xf6, 0x32,
+ 0xc1, 0xfe, 0xe9, 0x54, 0x1c, 0xfe, 0x00, 0xff, 0xfe, 0xb0, 0x54, 0xfe, 0x01, 0x17, 0xfe, 0x0b,
+ 0x58, 0x03, 0x09, 0x5d, 0x01, 0x7b, 0x09, 0x4e, 0x01, 0x7b, 0x09, 0x66, 0x01, 0x7b, 0x03, 0xfe,
+ 0x03, 0xa1, 0x1c, 0x15, 0xff, 0x03, 0x00, 0x54, 0xfe, 0x00, 0xf4, 0x20, 0x4b, 0xfe, 0x00, 0x7d,
+ 0xfe, 0x01, 0x7d, 0xfe, 0x02, 0x7d, 0xfe, 0x03, 0x7c, 0x72, 0x2b, 0x0c, 0x5f, 0x1f, 0x60, 0xd3,
+ 0x63, 0xd4, 0x64, 0x03, 0xfe, 0x62, 0x08, 0xfe, 0x82, 0x4a, 0xfe, 0xe1, 0x1a, 0xfe, 0x83, 0x5a,
+ 0x83, 0x03, 0x01, 0xba, 0xfe, 0x42, 0x48, 0x49, 0x4a, 0x3f, 0x01, 0x06, 0x12, 0xfe, 0xd0, 0x15,
+ 0x23, 0x21, 0xb1, 0x01, 0x06, 0x12, 0xfe, 0xd0, 0x15, 0x23, 0x21, 0xfe, 0xe8, 0x0a, 0xfe, 0xc1,
+ 0x59, 0x02, 0x94, 0x1a, 0xfe, 0xd8, 0x12, 0x36, 0x08, 0x0e, 0xfe, 0xd0, 0x13, 0x22, 0x71, 0x0e,
+ 0x41, 0xfe, 0xf8, 0x14, 0xca, 0x0e, 0x71, 0x0e, 0xfa, 0x28, 0xa9, 0x73, 0xfe, 0x16, 0x15, 0x47,
+ 0x0f, 0x05, 0x18, 0xa9, 0x8b, 0x2f, 0xfe, 0x78, 0x10, 0xff, 0x02, 0x83, 0x55, 0xb4, 0xff, 0x02,
+ 0x83, 0x55, 0x71, 0x19, 0xb6, 0xd0, 0xfe, 0x30, 0x00, 0xa6, 0xfe, 0x70, 0x15, 0x18, 0x59, 0x0f,
+ 0x05, 0xfe, 0x56, 0x10, 0x71, 0x0a, 0xf9, 0xd0, 0xfe, 0x64, 0x00, 0xa6, 0xfe, 0x70, 0x15, 0x09,
+ 0xfe, 0x64, 0x00, 0x18, 0x8e, 0x0f, 0x05, 0xfe, 0x28, 0x10, 0x71, 0x05, 0xfe, 0x60, 0x13, 0xd0,
+ 0xfe, 0xc8, 0x00, 0xa6, 0xfe, 0x70, 0x15, 0x09, 0xfe, 0xc8, 0x00, 0x18, 0x8f, 0x0f, 0x05, 0x69,
+ 0xd0, 0xfe, 0x90, 0x01, 0x41, 0xfe, 0x7c, 0x15, 0x3f, 0xee, 0xfe, 0x43, 0xf4, 0x90, 0xfe, 0x56,
+ 0xf0, 0xfe, 0x8e, 0x15, 0xfe, 0x04, 0xf4, 0x50, 0xfe, 0x43, 0xf4, 0x8e, 0xf3, 0xc7, 0x01, 0xfe,
+ 0x12, 0x14, 0x1c, 0x34, 0xf8, 0xfe, 0x00, 0x17, 0x87, 0x42, 0x41, 0xfe, 0xca, 0x15, 0x58, 0x42,
+ 0xfe, 0x1c, 0x10, 0xfe, 0x00, 0x17, 0x87, 0x79, 0x41, 0xfe, 0xca, 0x15, 0x58, 0x79, 0x69, 0x4a,
+ 0x22, 0xfe, 0x4d, 0xf4, 0x00, 0xf5, 0x3f, 0x0f, 0x05, 0xfe, 0xb4, 0x56, 0xfe, 0xc3, 0x58, 0x03,
+ 0x4a, 0x0f, 0x0a, 0x03, 0x4a, 0x32, 0x70, 0x49, 0x3f, 0x01, 0x06, 0x12, 0xa0, 0x23, 0x21, 0xb1,
+ 0xfe, 0x03, 0xea, 0xfe, 0x7e, 0x01, 0x01, 0x06, 0x12, 0xa0, 0x23, 0x21, 0xfe, 0xe9, 0x0a, 0x01,
+ 0x06, 0x12, 0xa0, 0x23, 0x21, 0xfe, 0xe9, 0x0a, 0xfe, 0x05, 0xea, 0xfe, 0x7f, 0x01, 0x01, 0x06,
+ 0x12, 0xa0, 0x23, 0x21, 0xfe, 0x69, 0x09, 0xfe, 0x02, 0xea, 0xfe, 0x80, 0x01, 0x01, 0x06, 0x12,
+ 0xa0, 0x23, 0x21, 0xfe, 0xe8, 0x08, 0x4c, 0xfe, 0x81, 0x01, 0x02, 0xaa, 0x1a, 0x54, 0x36, 0x08,
+ 0x20, 0x2c, 0x9c, 0x70, 0xb5, 0x71, 0x05, 0x30, 0xfe, 0x34, 0xf4, 0x34, 0x9b, 0x70, 0x02, 0x94,
+ 0x1a, 0x54, 0x36, 0x08, 0x0e, 0x2c, 0xed, 0x49, 0x3f, 0xfe, 0x90, 0x10, 0xfe, 0x40, 0x5a, 0x1c,
+ 0x34, 0xf7, 0x87, 0x42, 0x41, 0xfe, 0x96, 0x16, 0x58, 0x42, 0x69, 0x87, 0x79, 0x41, 0xfe, 0x96,
+ 0x16, 0x58, 0x79, 0xfe, 0xb4, 0x56, 0xfe, 0x40, 0x5d, 0x01, 0xba, 0x01, 0xfe, 0x6e, 0x1b, 0xfe,
+ 0x02, 0x17, 0xfe, 0xc8, 0x45, 0xfe, 0x5a, 0xf0, 0xfe, 0xac, 0x16, 0xfe, 0x43, 0x48, 0x28, 0x8d,
+ 0x30, 0xfe, 0x34, 0xf4, 0xf4, 0xfe, 0x40, 0x10, 0x28, 0xa9, 0x30, 0xfe, 0x34, 0xf4, 0x2f, 0xfe,
+ 0x34, 0x10, 0x28, 0xfe, 0x0b, 0x00, 0x30, 0x40, 0x59, 0xfe, 0x28, 0x10, 0xfe, 0xc0, 0x49, 0xff,
+ 0x02, 0x00, 0x54, 0xcf, 0xfe, 0x90, 0x01, 0x41, 0xfe, 0xe6, 0x16, 0x3f, 0xfe, 0x1c, 0xf4, 0x34,
+ 0xee, 0xfe, 0x40, 0xf4, 0x90, 0xfe, 0x56, 0xf0, 0xfe, 0xf8, 0x16, 0xfe, 0x04, 0xf4, 0x50, 0xfe,
+ 0x40, 0xf4, 0x8e, 0xf3, 0x32, 0x28, 0x8d, 0x48, 0xc9, 0x0a, 0x1b, 0xfe, 0x7f, 0x01, 0xfe, 0xc8,
+ 0x46, 0xfe, 0x24, 0x13, 0x87, 0x00, 0x54, 0x22, 0x1b, 0xfe, 0x7e, 0x01, 0xfe, 0xc8, 0x45, 0xfe,
+ 0x14, 0x13, 0x1b, 0xfe, 0x80, 0x01, 0xfe, 0x48, 0x45, 0xf6, 0x1b, 0xfe, 0x81, 0x01, 0xfe, 0xc8,
+ 0x44, 0x48, 0x22, 0x03, 0x0f, 0x05, 0x03, 0x70, 0x3f, 0x4a, 0x0f, 0x0a, 0x03, 0x10, 0x05, 0x01,
+ 0x06, 0x13, 0xfe, 0x6e, 0x17, 0x10, 0x0a, 0x01, 0x06, 0x13, 0xfe, 0x6e, 0x17, 0x10, 0x19, 0x01,
+ 0x06, 0x13, 0xfe, 0x6e, 0x17, 0x6e, 0xfe, 0x89, 0x49, 0x01, 0x06, 0x03, 0x10, 0x05, 0x01, 0x06,
+ 0x13, 0xb7, 0x10, 0x19, 0x01, 0x06, 0x13, 0xb7, 0x10, 0x05, 0x01, 0x06, 0x13, 0xb7, 0xfe, 0x89,
+ 0x49, 0x01, 0x06, 0x13, 0xb7, 0x6e, 0xfe, 0x89, 0x4a, 0x01, 0x06, 0x03, 0x4a, 0x03, 0x10, 0x05,
+ 0x01, 0x06, 0x13, 0x6d, 0x10, 0x78, 0x01, 0x06, 0x13, 0x6d, 0x10, 0x0e, 0x01, 0x06, 0x13, 0x6d,
+ 0xfe, 0x89, 0x49, 0x01, 0x06, 0x13, 0x6d, 0x10, 0x00, 0x01, 0x06, 0x13, 0x6d, 0xfe, 0x89, 0x4a,
+ 0x01, 0x06, 0x13, 0x6d, 0xfe, 0x09, 0x49, 0x01, 0x06, 0x13, 0x6d, 0x6e, 0xc2, 0x01, 0x06, 0x03,
+ 0x1b, 0xdf, 0x07, 0x05, 0xfe, 0x48, 0x13, 0xbe, 0x1e, 0xdf, 0xfe, 0x49, 0xf4, 0x00, 0x47, 0x6e,
+ 0x9b, 0x55, 0xfe, 0x01, 0xec, 0xfe, 0x27, 0x01, 0xc2, 0xff, 0x02, 0x00, 0x10, 0x2a, 0xfe, 0x2a,
+ 0x18, 0x35, 0x07, 0xfe, 0xe3, 0x00, 0xfe, 0x20, 0x13, 0x12, 0xfe, 0x4e, 0x18, 0x22, 0x1e, 0x98,
+ 0x01, 0x3c, 0x1b, 0x98, 0x07, 0x05, 0x6c, 0x0b, 0x57, 0x05, 0x3e, 0x03, 0x09, 0x52, 0x01, 0x16,
+ 0xfe, 0x00, 0x40, 0xa1, 0x07, 0x15, 0xb6, 0x09, 0x97, 0x01, 0x16, 0xa1, 0x09, 0x5e, 0x01, 0xb3,
+ 0x03, 0x09, 0x97, 0x01, 0x16, 0xa1, 0xfe, 0x80, 0xe7, 0x15, 0x07, 0x15, 0x54, 0xfe, 0x45, 0x58,
+ 0x01, 0xfc, 0xa1, 0x03, 0x09, 0x52, 0x01, 0x16, 0xa1, 0x09, 0x5e, 0x01, 0xb3, 0x03, 0x09, 0x52,
+ 0x01, 0x16, 0xfe, 0x80, 0x80, 0xfe, 0x80, 0x4c, 0xfe, 0x49, 0xe4, 0x15, 0xb6, 0x09, 0x97, 0x01,
+ 0x16, 0xfe, 0x80, 0x4c, 0x09, 0x5e, 0x01, 0x7b, 0x03, 0x18, 0x15, 0x81, 0x74, 0xe0, 0xfe, 0x18,
+ 0xdf, 0xfe, 0x19, 0xde, 0xfe, 0x24, 0x1c, 0xfe, 0x1d, 0xf7, 0x38, 0xa7, 0xfe, 0xea, 0x18, 0x01,
+ 0xfe, 0xf0, 0x19, 0xf6, 0xa8, 0x38, 0x74, 0xfe, 0x2c, 0x01, 0xfe, 0x2f, 0x19, 0x03, 0xbf, 0x26,
+ 0xfe, 0xda, 0x18, 0xfe, 0xda, 0x10, 0x18, 0x15, 0x81, 0x02, 0xfe, 0x64, 0x01, 0xfe, 0x00, 0xf4,
+ 0x20, 0xfe, 0x18, 0x58, 0x02, 0xfe, 0x66, 0x01, 0xfe, 0x19, 0x58, 0xa8, 0x20, 0xfe, 0x3c, 0x90,
+ 0xfe, 0x30, 0xf4, 0x05, 0xfe, 0x3c, 0x50, 0x74, 0xfe, 0x38, 0x00, 0xfe, 0x0f, 0x79, 0xfe, 0x1c,
+ 0xf7, 0x20, 0xa7, 0xfe, 0x34, 0x19, 0xfe, 0xb6, 0x14, 0x2c, 0x03, 0xbf, 0x26, 0xfe, 0x0c, 0x19,
+ 0xfe, 0x9c, 0x10, 0x18, 0x15, 0x81, 0xfe, 0x83, 0x5a, 0xfe, 0x18, 0xdf, 0xfe, 0x19, 0xde, 0xfe,
+ 0x1d, 0xf7, 0x4d, 0xa7, 0xfe, 0x56, 0x19, 0xfe, 0x94, 0x14, 0xf8, 0xa8, 0x4d, 0x74, 0x0e, 0xfe,
+ 0xaf, 0x19, 0xfe, 0x98, 0xe7, 0x00, 0x03, 0xbf, 0x26, 0xfe, 0x4a, 0x19, 0xfe, 0x6c, 0x10, 0x18,
+ 0x15, 0x81, 0xfe, 0x30, 0xbc, 0xfe, 0xb2, 0xbc, 0xa8, 0x43, 0x74, 0x0e, 0xfe, 0x0f, 0x79, 0xfe,
+ 0x1c, 0xf7, 0x43, 0xa7, 0xfe, 0x8e, 0x19, 0xfe, 0x5c, 0x14, 0x2c, 0x03, 0xbf, 0x26, 0xfe, 0x7a,
+ 0x19, 0xfe, 0x42, 0x10, 0xfe, 0x02, 0xf6, 0x15, 0x81, 0xfe, 0x18, 0xfe, 0x61, 0xfe, 0x19, 0xfe,
+ 0x62, 0xfe, 0x03, 0xa1, 0xfe, 0x1d, 0xf7, 0x5c, 0xa7, 0xfe, 0xb4, 0x19, 0xfe, 0x36, 0x14, 0xfe,
+ 0x1c, 0x13, 0xa8, 0x5c, 0x32, 0xfe, 0x83, 0x58, 0xfe, 0xaf, 0x19, 0xfe, 0x80, 0xe7, 0x15, 0xfe,
+ 0x81, 0xe7, 0x15, 0x11, 0xfe, 0xdd, 0x00, 0x72, 0x2b, 0x03, 0x72, 0x2b, 0xfe, 0x12, 0x45, 0x26,
+ 0xfe, 0xa4, 0x19, 0x1d, 0x05, 0x4c, 0xd8, 0xfe, 0x20, 0x1c, 0x04, 0x2e, 0xfe, 0x39, 0xf0, 0xfe,
+ 0xf8, 0x19, 0x22, 0x03, 0xb8, 0x1c, 0x19, 0x30, 0x0f, 0x0d, 0x03, 0x81, 0x02, 0xde, 0x1c, 0x05,
+ 0xfe, 0xef, 0x12, 0xfe, 0xe1, 0x10, 0x8b, 0x39, 0x6f, 0x35, 0x07, 0x4f, 0xfe, 0x3c, 0x13, 0xfe,
+ 0x7e, 0x14, 0xfe, 0x42, 0x13, 0x56, 0xc8, 0x09, 0x52, 0x01, 0x16, 0xc0, 0xfe, 0x3e, 0x12, 0xc1,
+ 0xfe, 0x45, 0x48, 0x01, 0xfc, 0xfe, 0x00, 0xcc, 0xc0, 0xfe, 0xf3, 0x13, 0x34, 0x84, 0x07, 0x15,
+ 0x9e, 0x09, 0x97, 0x01, 0x16, 0xfe, 0x80, 0x4c, 0x01, 0x7e, 0xfe, 0x16, 0x10, 0x07, 0x95, 0x48,
+ 0xfe, 0x3c, 0x14, 0xfe, 0x24, 0x12, 0xfe, 0x14, 0x56, 0xfe, 0xd6, 0xf0, 0xfe, 0x18, 0x1a, 0x18,
+ 0x0a, 0x03, 0xfe, 0x9c, 0xe7, 0x0a, 0x14, 0xfe, 0x15, 0x00, 0x67, 0x88, 0x2b, 0x01, 0xec, 0x18,
+ 0x05, 0x03, 0x0b, 0x57, 0x38, 0x3e, 0x11, 0x4f, 0x01, 0x7e, 0x18, 0x05, 0x03, 0xfe, 0x38, 0x90,
+ 0xfe, 0xba, 0x90, 0x8c, 0xd9, 0x76, 0xda, 0xfe, 0x48, 0x55, 0x2c, 0xfe, 0xc9, 0x55, 0x03, 0x1b,
+ 0xad, 0x82, 0x1e, 0xad, 0x03, 0x09, 0xae, 0x01, 0x16, 0xc1, 0x09, 0x44, 0x01, 0x16, 0xfe, 0x49,
+ 0x44, 0x17, 0xfe, 0xe0, 0x1a, 0x82, 0x84, 0x03, 0x09, 0x52, 0x01, 0x16, 0x07, 0x15, 0x6c, 0x09,
+ 0x5e, 0x01, 0xb3, 0x09, 0x44, 0x01, 0x16, 0x82, 0x84, 0x03, 0xfe, 0x4e, 0xe4, 0x19, 0x73, 0xfe,
+ 0x14, 0x1b, 0x02, 0xfe, 0x90, 0x00, 0xfe, 0x3a, 0x45, 0xfe, 0x2c, 0x10, 0xfe, 0x4e, 0xe4, 0xd7,
+ 0x73, 0xfe, 0x26, 0x1b, 0x02, 0xfe, 0x92, 0x00, 0xca, 0x0e, 0xef, 0xfe, 0x4e, 0xe4, 0xfe, 0x0b,
+ 0x00, 0x73, 0xfe, 0x38, 0x1b, 0x02, 0xfe, 0x94, 0x00, 0xca, 0x20, 0xfe, 0x08, 0x10, 0x02, 0xfe,
+ 0x96, 0x00, 0xca, 0x59, 0xfe, 0x4e, 0x45, 0x9d, 0xfe, 0x0a, 0x45, 0xff, 0x04, 0x68, 0x54, 0xf2,
+ 0x1c, 0x42, 0xfe, 0x08, 0x1c, 0xfe, 0x67, 0x19, 0xfe, 0x0a, 0x1c, 0xfe, 0x1a, 0xf4, 0xfe, 0x00,
+ 0x04, 0x9d, 0xcf, 0x19, 0x41, 0xfe, 0x6c, 0x1b, 0x0f, 0x19, 0x03, 0x07, 0x77, 0xfe, 0x5a, 0xf0,
+ 0xfe, 0x7c, 0x1b, 0x29, 0x8d, 0xfe, 0x34, 0x10, 0x07, 0x0e, 0xfe, 0x5a, 0xf0, 0xfe, 0x8a, 0x1b,
+ 0x29, 0xa9, 0xfe, 0x26, 0x10, 0x07, 0x19, 0x30, 0x29, 0x59, 0xef, 0x07, 0x0a, 0x30, 0x29, 0x8e,
+ 0xb5, 0x07, 0x05, 0x30, 0x29, 0x8f, 0x9b, 0xbe, 0x03, 0x1d, 0x8d, 0x01, 0x3d, 0xfe, 0x04, 0xfe,
+ 0x93, 0x02, 0x96, 0xc7, 0x03, 0x25, 0xfe, 0xde, 0x1b, 0xfe, 0x14, 0xf0, 0x06, 0x2a, 0xfe, 0xce,
+ 0x1b, 0x25, 0xfe, 0xde, 0x1b, 0x8a, 0xfe, 0xde, 0x1b, 0xfe, 0x82, 0xf0, 0xfe, 0xd2, 0x1b, 0x03,
+ 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x12, 0x00, 0x00,
};
-u_int16_t adv_asc38C0800_mcode_size = sizeof(adv_asc38C0800_mcode); /* 0x14F1 */
+u_int16_t adv_asc38C1600_mcode_size = sizeof(adv_asc38C1600_mcode); /* 0x164C */
/*
* This checksum is used to compare with that one that will be calculated
* at run time.
* This is performed to ensure the uCode is correctly loaded into the Lram.
*/
-u_int32_t adv_asc38C0800_mcode_chksum = 0x053503A5;
+u_int32_t adv_asc38C1600_mcode_chksum = 0x0572AE4FUL; /* Expanded checksum. */
diff --git a/sys/dev/ic/adwmcode.h b/sys/dev/ic/adwmcode.h
index 61f1d7c1bd0..4aca58a3f6e 100644
--- a/sys/dev/ic/adwmcode.h
+++ b/sys/dev/ic/adwmcode.h
@@ -1,4 +1,4 @@
-/* $NetBSD: adwmcode.h,v 1.2 2000/02/03 20:29:17 dante Exp $ */
+/* $NetBSD: adwmcode.h,v 1.3 2000/04/30 18:52:15 dante Exp $ */
/*
* Generic driver definitions and exported functions for the Advanced
@@ -49,4 +49,8 @@ extern u_int8_t adv_asc38C0800_mcode[];
extern u_int16_t adv_asc38C0800_mcode_size;
extern u_int32_t adv_asc38C0800_mcode_chksum;
+extern u_int8_t adv_asc38C1600_mcode[];
+extern u_int16_t adv_asc38C1600_mcode_size;
+extern u_int32_t adv_asc38C1600_mcode_chksum;
+
#endif /* ADV_MCODE_H */
diff --git a/sys/dev/pci/adw_pci.c b/sys/dev/pci/adw_pci.c
index cadc7384f2f..4e7926605c4 100644
--- a/sys/dev/pci/adw_pci.c
+++ b/sys/dev/pci/adw_pci.c
@@ -1,4 +1,4 @@
-/* $NetBSD: adw_pci.c,v 1.4 2000/02/04 13:16:22 dante Exp $ */
+/* $NetBSD: adw_pci.c,v 1.5 2000/04/30 18:52:14 dante Exp $ */
/*
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -38,12 +38,13 @@
* Device probe and attach routines for the following
* Advanced Systems Inc. SCSI controllers:
*
- * ABP-940UW - Bus-Master PCI Ultra-Wide (240 CDB)
- * ABP-940UW (68) - Bus-Master PCI Ultra-Wide (240 CDB)
- * ABP-940UWD - Bus-Master PCI Ultra-Wide (240 CDB)
- * ABP-970UW - Bus-Master PCI Ultra-Wide (240 CDB)
- * ASB-3940UW - Bus-Master PCI Ultra-Wide (240 CDB)
- * ASB-3940U2W-00 - Bus-Master PCI Ultra2-Wide (240 CDB)
+ * ABP-940UW - Bus-Master PCI Ultra-Wide (253 CDB)
+ * ABP-940UW (68) - Bus-Master PCI Ultra-Wide (253 CDB)
+ * ABP-940UWD - Bus-Master PCI Ultra-Wide (253 CDB)
+ * ABP-970UW - Bus-Master PCI Ultra-Wide (253 CDB)
+ * ASB-3940UW - Bus-Master PCI Ultra-Wide (253 CDB)
+ * ASB-3940U2W-00 - Bus-Master PCI Ultra2-Wide (253 CDB)
+ * ASB-3940U3W-00 - Bus-Master PCI Ultra3-Wide (253 CDB)
*/
#include <sys/types.h>
@@ -102,6 +103,8 @@ adw_pci_match(parent, match, aux)
return (1);
case PCI_PRODUCT_ADVSYS_U2W:
return (1);
+ case PCI_PRODUCT_ADVSYS_U3W:
+ return (1);
}
return 0;
@@ -135,6 +138,11 @@ adw_pci_attach(parent, self, aux)
printf(": AdvanSys ASB-3940U2W SCSI adapter\n");
break;
+ case PCI_PRODUCT_ADVSYS_U3W:
+ sc->chip_type = ADV_CHIP_ASC38C1600;
+ printf(": AdvanSys ASB-3940U3W SCSI adapter\n");
+ break;
+
default:
printf(": unknown model!\n");
return;
@@ -162,7 +170,8 @@ adw_pci_attach(parent, self, aux)
bhlcr = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_BHLC_REG);
if( ((PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_WIDE) ||
- (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_U2W)) &&
+ (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_U2W) ||
+ (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_U3W)) &&
(PCI_LATTIMER(bhlcr) < 0x20)) {
bhlcr &= 0xFFFF00FFUL;
bhlcr |= 0x00002000UL;
@@ -173,7 +182,8 @@ adw_pci_attach(parent, self, aux)
if (((PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_WIDE) ||
- (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_U2W)) &&
+ (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_U2W) ||
+ (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADVSYS_U3W)) &&
(command & PCI_COMMAND_PARITY_ENABLE) == 0) {
sc->cfg.control_flag |= CONTROL_FLAG_IGNORE_PERR;
}