diff options
author | Jianzheng Zhou <jianzheng.zhou@freescale.com> | 2013-10-15 17:32:51 +0800 |
---|---|---|
committer | Jianzheng Zhou <jianzheng.zhou@freescale.com> | 2013-10-15 17:59:49 +0800 |
commit | 5be7e0e0b0f4f1039ecf07aeef7346fe2285e053 (patch) | |
tree | 9eabd020f0549cfc67a3c8e0c666c0cd01714c89 /drivers/net/wireless/rtl8723as/hal | |
parent | e47c5c2627d3b7e0cb429a512842843f0a781e3b (diff) |
ENGR00275869 wifi: update new rtl8723as wifi driver
Base on rtl8723as driver(v4.1.8_9180.20130927_BTCOEX20130528_ver3.3_beta)
still do the following changes for imx6:
1.add imx6 in Makefile.
2.fix suspend/resume issue.Just refactor runtime_pm in suspend.
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
Diffstat (limited to 'drivers/net/wireless/rtl8723as/hal')
60 files changed, 39045 insertions, 40135 deletions
diff --git a/drivers/net/wireless/rtl8723as/hal/HalPwrSeqCmd.c b/drivers/net/wireless/rtl8723as/hal/HalPwrSeqCmd.c index 1a7fc94cb49d..2948242cab68 100755 --- a/drivers/net/wireless/rtl8723as/hal/HalPwrSeqCmd.c +++ b/drivers/net/wireless/rtl8723as/hal/HalPwrSeqCmd.c @@ -1,187 +1,187 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -/*++ -Copyright (c) Realtek Semiconductor Corp. All rights reserved. - -Module Name: - HalPwrSeqCmd.c - -Abstract: - Implement HW Power sequence configuration CMD handling routine for Realtek devices. - -Major Change History: - When Who What - ---------- --------------- ------------------------------- - 2011-10-26 Lucas Modify to be compatible with SD4-CE driver. - 2011-07-07 Roger Create. - ---*/ -#include <HalPwrSeqCmd.h> -#ifdef CONFIG_SDIO_HCI -#include <sdio_ops.h> -#elif defined(CONFIG_GSPI_HCI) -#include <gspi_ops.h> -#endif - -// -// Description: -// This routine deal with the Power Configuration CMDs parsing for RTL8723/RTL8188E Series IC. -// -// Assumption: -// We should follow specific format which was released from HW SD. -// -// 2011.07.07, added by Roger. -// -u8 HalPwrSeqCmdParsing( - PADAPTER padapter, - u8 CutVersion, - u8 FabVersion, - u8 InterfaceType, - WLAN_PWR_CFG PwrSeqCmd[]) -{ - WLAN_PWR_CFG PwrCfgCmd = {0}; - u8 bPollingBit = _FALSE; - u32 AryIdx = 0; - u8 value = 0; - u32 offset = 0; - u32 pollingCount = 0; // polling autoload done. - u32 maxPollingCnt = 5000; - - do { - PwrCfgCmd = PwrSeqCmd[AryIdx]; - - RT_TRACE(_module_hal_init_c_ , _drv_info_, - ("HalPwrSeqCmdParsing: offset(%#x) cut_msk(%#x) fab_msk(%#x) interface_msk(%#x) base(%#x) cmd(%#x) msk(%#x) value(%#x)\n", - GET_PWR_CFG_OFFSET(PwrCfgCmd), - GET_PWR_CFG_CUT_MASK(PwrCfgCmd), - GET_PWR_CFG_FAB_MASK(PwrCfgCmd), - GET_PWR_CFG_INTF_MASK(PwrCfgCmd), - GET_PWR_CFG_BASE(PwrCfgCmd), - GET_PWR_CFG_CMD(PwrCfgCmd), - GET_PWR_CFG_MASK(PwrCfgCmd), - GET_PWR_CFG_VALUE(PwrCfgCmd))); - - //2 Only Handle the command whose FAB, CUT, and Interface are matched - if ((GET_PWR_CFG_FAB_MASK(PwrCfgCmd) & FabVersion) && - (GET_PWR_CFG_CUT_MASK(PwrCfgCmd) & CutVersion) && - (GET_PWR_CFG_INTF_MASK(PwrCfgCmd) & InterfaceType)) - { - switch (GET_PWR_CFG_CMD(PwrCfgCmd)) - { - case PWR_CMD_READ: - RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_READ\n")); - break; - - case PWR_CMD_WRITE: - RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_WRITE\n")); - offset = GET_PWR_CFG_OFFSET(PwrCfgCmd); - -#ifdef CONFIG_SDIO_HCI - // - // <Roger_Notes> We should deal with interface specific address mapping for some interfaces, e.g., SDIO interface - // 2011.07.07. - // - if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO) - { - // Read Back SDIO Local value - value = SdioLocalCmd52Read1Byte(padapter, offset); - - value &= ~(GET_PWR_CFG_MASK(PwrCfgCmd)); - value |= (GET_PWR_CFG_VALUE(PwrCfgCmd) & GET_PWR_CFG_MASK(PwrCfgCmd)); - - // Write Back SDIO Local value - SdioLocalCmd52Write1Byte(padapter, offset, value); - } - else -#endif - { -#ifdef CONFIG_GSPI_HCI - if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO) - offset = SPI_LOCAL_OFFSET | offset; -#endif - // Read the value from system register - value = rtw_read8(padapter, offset); - - value &= ~(GET_PWR_CFG_MASK(PwrCfgCmd)); - value |= (GET_PWR_CFG_VALUE(PwrCfgCmd) & GET_PWR_CFG_MASK(PwrCfgCmd)); - - // Write the value back to sytem register - rtw_write8(padapter, offset, value); - } - break; - - case PWR_CMD_POLLING: - RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_POLLING\n")); - - bPollingBit = _FALSE; - offset = GET_PWR_CFG_OFFSET(PwrCfgCmd); -#ifdef CONFIG_GSPI_HCI - if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO) - offset = SPI_LOCAL_OFFSET | offset; -#endif - do { -#ifdef CONFIG_SDIO_HCI - if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO) - value = SdioLocalCmd52Read1Byte(padapter, offset); - else -#endif - value = rtw_read8(padapter, offset); - - value &= GET_PWR_CFG_MASK(PwrCfgCmd); - if (value == (GET_PWR_CFG_VALUE(PwrCfgCmd) & GET_PWR_CFG_MASK(PwrCfgCmd))) - bPollingBit = _TRUE; - else - rtw_udelay_os(10); - - if (pollingCount++ > maxPollingCnt) { - DBG_871X("Fail to polling Offset[%#x]\n", offset); - return _FALSE; - } - } while (!bPollingBit); - - break; - - case PWR_CMD_DELAY: - RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_DELAY\n")); - if (GET_PWR_CFG_VALUE(PwrCfgCmd) == PWRSEQ_DELAY_US) - rtw_udelay_os(GET_PWR_CFG_OFFSET(PwrCfgCmd)); - else - rtw_udelay_os(GET_PWR_CFG_OFFSET(PwrCfgCmd)*1000); - break; - - case PWR_CMD_END: - // When this command is parsed, end the process - RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_END\n")); - return _TRUE; - break; - - default: - RT_TRACE(_module_hal_init_c_ , _drv_err_, ("HalPwrSeqCmdParsing: Unknown CMD!!\n")); - break; - } - } - - AryIdx++;//Add Array Index - }while(1); - - return _TRUE; -} - - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+/*++
+Copyright (c) Realtek Semiconductor Corp. All rights reserved.
+
+Module Name:
+ HalPwrSeqCmd.c
+
+Abstract:
+ Implement HW Power sequence configuration CMD handling routine for Realtek devices.
+
+Major Change History:
+ When Who What
+ ---------- --------------- -------------------------------
+ 2011-10-26 Lucas Modify to be compatible with SD4-CE driver.
+ 2011-07-07 Roger Create.
+
+--*/
+#include <HalPwrSeqCmd.h>
+#ifdef CONFIG_SDIO_HCI
+#include <sdio_ops.h>
+#elif defined(CONFIG_GSPI_HCI)
+#include <gspi_ops.h>
+#endif
+
+//
+// Description:
+// This routine deal with the Power Configuration CMDs parsing for RTL8723/RTL8188E Series IC.
+//
+// Assumption:
+// We should follow specific format which was released from HW SD.
+//
+// 2011.07.07, added by Roger.
+//
+u8 HalPwrSeqCmdParsing(
+ PADAPTER padapter,
+ u8 CutVersion,
+ u8 FabVersion,
+ u8 InterfaceType,
+ WLAN_PWR_CFG PwrSeqCmd[])
+{
+ WLAN_PWR_CFG PwrCfgCmd = {0};
+ u8 bPollingBit = _FALSE;
+ u32 AryIdx = 0;
+ u8 value = 0;
+ u32 offset = 0;
+ u32 pollingCount = 0; // polling autoload done.
+ u32 maxPollingCnt = 5000;
+
+ do {
+ PwrCfgCmd = PwrSeqCmd[AryIdx];
+
+ RT_TRACE(_module_hal_init_c_ , _drv_info_,
+ ("HalPwrSeqCmdParsing: offset(%#x) cut_msk(%#x) fab_msk(%#x) interface_msk(%#x) base(%#x) cmd(%#x) msk(%#x) value(%#x)\n",
+ GET_PWR_CFG_OFFSET(PwrCfgCmd),
+ GET_PWR_CFG_CUT_MASK(PwrCfgCmd),
+ GET_PWR_CFG_FAB_MASK(PwrCfgCmd),
+ GET_PWR_CFG_INTF_MASK(PwrCfgCmd),
+ GET_PWR_CFG_BASE(PwrCfgCmd),
+ GET_PWR_CFG_CMD(PwrCfgCmd),
+ GET_PWR_CFG_MASK(PwrCfgCmd),
+ GET_PWR_CFG_VALUE(PwrCfgCmd)));
+
+ //2 Only Handle the command whose FAB, CUT, and Interface are matched
+ if ((GET_PWR_CFG_FAB_MASK(PwrCfgCmd) & FabVersion) &&
+ (GET_PWR_CFG_CUT_MASK(PwrCfgCmd) & CutVersion) &&
+ (GET_PWR_CFG_INTF_MASK(PwrCfgCmd) & InterfaceType))
+ {
+ switch (GET_PWR_CFG_CMD(PwrCfgCmd))
+ {
+ case PWR_CMD_READ:
+ RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_READ\n"));
+ break;
+
+ case PWR_CMD_WRITE:
+ RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_WRITE\n"));
+ offset = GET_PWR_CFG_OFFSET(PwrCfgCmd);
+
+#ifdef CONFIG_SDIO_HCI
+ //
+ // <Roger_Notes> We should deal with interface specific address mapping for some interfaces, e.g., SDIO interface
+ // 2011.07.07.
+ //
+ if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO)
+ {
+ // Read Back SDIO Local value
+ value = SdioLocalCmd52Read1Byte(padapter, offset);
+
+ value &= ~(GET_PWR_CFG_MASK(PwrCfgCmd));
+ value |= (GET_PWR_CFG_VALUE(PwrCfgCmd) & GET_PWR_CFG_MASK(PwrCfgCmd));
+
+ // Write Back SDIO Local value
+ SdioLocalCmd52Write1Byte(padapter, offset, value);
+ }
+ else
+#endif
+ {
+#ifdef CONFIG_GSPI_HCI
+ if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO)
+ offset = SPI_LOCAL_OFFSET | offset;
+#endif
+ // Read the value from system register
+ value = rtw_read8(padapter, offset);
+
+ value &= ~(GET_PWR_CFG_MASK(PwrCfgCmd));
+ value |= (GET_PWR_CFG_VALUE(PwrCfgCmd) & GET_PWR_CFG_MASK(PwrCfgCmd));
+
+ // Write the value back to sytem register
+ rtw_write8(padapter, offset, value);
+ }
+ break;
+
+ case PWR_CMD_POLLING:
+ RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_POLLING\n"));
+
+ bPollingBit = _FALSE;
+ offset = GET_PWR_CFG_OFFSET(PwrCfgCmd);
+#ifdef CONFIG_GSPI_HCI
+ if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO)
+ offset = SPI_LOCAL_OFFSET | offset;
+#endif
+ do {
+#ifdef CONFIG_SDIO_HCI
+ if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO)
+ value = SdioLocalCmd52Read1Byte(padapter, offset);
+ else
+#endif
+ value = rtw_read8(padapter, offset);
+
+ value &= GET_PWR_CFG_MASK(PwrCfgCmd);
+ if (value == (GET_PWR_CFG_VALUE(PwrCfgCmd) & GET_PWR_CFG_MASK(PwrCfgCmd)))
+ bPollingBit = _TRUE;
+ else
+ rtw_udelay_os(10);
+
+ if (pollingCount++ > maxPollingCnt) {
+ DBG_871X("Fail to polling Offset[%#x]\n", offset);
+ return _FALSE;
+ }
+ } while (!bPollingBit);
+
+ break;
+
+ case PWR_CMD_DELAY:
+ RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_DELAY\n"));
+ if (GET_PWR_CFG_VALUE(PwrCfgCmd) == PWRSEQ_DELAY_US)
+ rtw_udelay_os(GET_PWR_CFG_OFFSET(PwrCfgCmd));
+ else
+ rtw_udelay_os(GET_PWR_CFG_OFFSET(PwrCfgCmd)*1000);
+ break;
+
+ case PWR_CMD_END:
+ // When this command is parsed, end the process
+ RT_TRACE(_module_hal_init_c_ , _drv_info_, ("HalPwrSeqCmdParsing: PWR_CMD_END\n"));
+ return _TRUE;
+ break;
+
+ default:
+ RT_TRACE(_module_hal_init_c_ , _drv_err_, ("HalPwrSeqCmdParsing: Unknown CMD!!\n"));
+ break;
+ }
+ }
+
+ AryIdx++;//Add Array Index
+ }while(1);
+
+ return _TRUE;
+}
+
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.c index c28dcdfe241d..a6353905bad0 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.c @@ -352,6 +352,16 @@ VOID odm_1R_CCA( IN PDM_ODM_T pDM_Odm ); +VOID +odm_AdaptivityInit( + IN PDM_ODM_T pDM_Odm +); + +VOID +odm_Adaptivity( + IN PDM_ODM_T pDM_Odm, + IN u1Byte IGI +); //END---------BB POWER SAVE-----------------------// //START-----------------PSD-----------------------// @@ -775,6 +785,7 @@ ODM_DMInit( odm_CommonInfoSelfInit(pDM_Odm); odm_CmnInfoInit_Debug(pDM_Odm); odm_DIGInit(pDM_Odm); + odm_AdaptivityInit(pDM_Odm); odm_RateAdaptiveMaskInit(pDM_Odm); if(pDM_Odm->SupportICType & ODM_IC_11AC_SERIES) @@ -835,12 +846,11 @@ ODM_DMWatchdog( //8723A or 8189ES platform //NeilChen--2012--08--24-- //Fix Leave LPS issue - if( (pDM_Odm->Adapter->pwrctrlpriv.pwr_mode != PS_MODE_ACTIVE) &&// in LPS mode + if( (adapter_to_pwrctl(pDM_Odm->Adapter)->pwr_mode != PS_MODE_ACTIVE) &&// in LPS mode ( (pDM_Odm->SupportICType & (ODM_RTL8723A ) )|| - (pDM_Odm->SupportICType & (ODM_RTL8188E) &&((pDM_Odm->SupportInterface == ODM_ITRF_SDIO)) ) - - //&&((pDM_Odm->SupportInterface == ODM_ITRF_SDIO)) + (pDM_Odm->SupportICType & (ODM_RTL8188E) )//&&((pDM_Odm->SupportInterface == ODM_ITRF_SDIO)) ) + ) ) { @@ -860,6 +870,9 @@ ODM_DMWatchdog( if(*(pDM_Odm->pbPowerSaving)==TRUE) return; + + odm_Adaptivity(pDM_Odm, pDM_Odm->DM_DigTable.CurIGValue); + odm_RefreshRateAdaptiveMask(pDM_Odm); @@ -992,13 +1005,6 @@ ODM_CmnInfoInit( } - // - // Tx power tracking BB swing table. - // The base index = 12. +((12-n)/2)dB 13~?? = decrease tx pwr by -((n-12)/2)dB - // - pDM_Odm->BbSwingIdxOfdm = 12; // Set defalut value as index 12. - pDM_Odm->BbSwingIdxOfdmCurrent = 12; - pDM_Odm->BbSwingFlagOfdm = FALSE; } @@ -1744,10 +1750,10 @@ odm_DIGbyRSSI_LPS( CurrentIGI=CurrentIGI+RSSI_OFFSET_DIG; #ifdef CONFIG_LPS - bFwCurrentInPSMode = pAdapter->pwrctrlpriv.bFwCurrentInPSMode; + bFwCurrentInPSMode = adapter_to_pwrctl(pAdapter)->bFwCurrentInPSMode; #endif - //ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG_LPS, ODM_DBG_LOUD, ("odm_DIG()==>\n")); + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("==>pDM_Odm->RSSI_Min=%d ()\n",pDM_Odm->RSSI_Min)); // Using FW PS mode to make IGI if(bFwCurrentInPSMode) @@ -1785,7 +1791,913 @@ odm_DIGbyRSSI_LPS( } #endif +VOID +odm_AdaptivityInit( +IN PDM_ODM_T pDM_Odm +) +{ + if(pDM_Odm->SupportICType == ODM_RTL8723B) + { + pDM_Odm->TH_L2H_ini = 0xf8; // -8 + } + if((pDM_Odm->SupportICType == ODM_RTL8192E)&&(pDM_Odm->SupportInterface == ODM_ITRF_PCIE)) + { + pDM_Odm->TH_L2H_ini = 0xf0; // -16 + } + else + { + pDM_Odm->TH_L2H_ini = 0xf9; // -7 + } + + pDM_Odm->TH_EDCCA_HL_diff = 7; + pDM_Odm->IGI_Base = 0x32; + pDM_Odm->IGI_target = 0x1c; + pDM_Odm->ForceEDCCA = 0; + pDM_Odm->AdapEn_RSSI = 20; + + //Reg524[11]=0 is easily to transmit packets during adaptivity test + + //ODM_SetBBReg(pDM_Odm, 0x524, BIT11, 1);// stop counting if EDCCA is asserted +} + + +VOID +odm_Adaptivity( + IN PDM_ODM_T pDM_Odm, + IN u1Byte IGI +) +{ + s1Byte TH_L2H_dmc, TH_H2L_dmc; + s1Byte TH_L2H, TH_H2L, Diff, IGI_target; + u4Byte value32; + BOOLEAN EDCCA_State = 0; + +#if (DM_ODM_SUPPORT_TYPE == ODM_MP) + PADAPTER pAdapter = pDM_Odm->Adapter; + HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); + BOOLEAN bFwCurrentInPSMode=FALSE; + PMGNT_INFO pMgntInfo = &(pAdapter->MgntInfo); + + pAdapter->HalFunc.GetHwRegHandler(pAdapter, HW_VAR_FW_PSMODE_STATUS, (pu1Byte)(&bFwCurrentInPSMode)); + + // Disable EDCCA mode while under LPS mode, added by Roger, 2012.09.14. + if(bFwCurrentInPSMode) + return; +#endif + + if(!(pDM_Odm->SupportAbility & ODM_BB_ADAPTIVITY)) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("Go to odm_DynamicEDCCA() \n")); + // Add by Neil Chen to enable edcca to MP Platform +#if (DM_ODM_SUPPORT_TYPE == ODM_MP) + // Adjust EDCCA. + if(pDM_Odm->SupportICType & ODM_IC_11N_SERIES) + odm_DynamicEDCCA(pDM_Odm); +#endif + return; + } + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_Adaptivity() =====> \n")); + + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("ForceEDCCA=%d, IGI_Base=0x%x, TH_L2H_ini = %d, TH_EDCCA_HL_diff = %d, AdapEn_RSSI = %d\n", + pDM_Odm->ForceEDCCA, pDM_Odm->IGI_Base, pDM_Odm->TH_L2H_ini, pDM_Odm->TH_EDCCA_HL_diff, pDM_Odm->AdapEn_RSSI)); + + if(pDM_Odm->SupportICType & ODM_IC_11AC_SERIES) + ODM_SetBBReg(pDM_Odm, 0x800, BIT10, 0); //ADC_mask enable + + if((!pDM_Odm->bLinked)||(*pDM_Odm->pChannel > 149)) // Band4 doesn't need adaptivity + { + if(pDM_Odm->SupportICType & ODM_IC_11N_SERIES) + { + ODM_SetBBReg(pDM_Odm,rOFDM0_ECCAThreshold, bMaskByte0, 0x7f); + ODM_SetBBReg(pDM_Odm,rOFDM0_ECCAThreshold, bMaskByte2, 0x7f); + } + else + ODM_SetBBReg(pDM_Odm, rFPGA0_XB_LSSIReadBack, 0xFFFF, (0x7f<<8) | 0x7f); + return; + } + +#if (DM_ODM_SUPPORT_TYPE==ODM_MP) + if(pMgntInfo->IOTPeer == HT_IOT_PEER_BROADCOM) + ODM_Write1Byte(pDM_Odm, REG_TRX_SIFS_OFDM, 0x0a); + else + ODM_Write1Byte(pDM_Odm, REG_TRX_SIFS_OFDM, 0x0e); +#endif + if(!pDM_Odm->ForceEDCCA) + { + if(pDM_Odm->RSSI_Min > pDM_Odm->AdapEn_RSSI) + EDCCA_State = 1; + else if(pDM_Odm->RSSI_Min < (pDM_Odm->AdapEn_RSSI - 5)) + EDCCA_State = 0; + } + else + EDCCA_State = 1; + //if((pDM_Odm->SupportICType & ODM_IC_11AC_SERIES) && (*pDM_Odm->pBandType == BAND_ON_5G)) + //IGI_target = pDM_Odm->IGI_Base; + //else + { + + if(*pDM_Odm->pBandWidth == ODM_BW20M) //CHANNEL_WIDTH_20 + IGI_target = pDM_Odm->IGI_Base; + else if(*pDM_Odm->pBandWidth == ODM_BW40M) + IGI_target = pDM_Odm->IGI_Base + 2; + else if(*pDM_Odm->pBandWidth == ODM_BW80M) + IGI_target = pDM_Odm->IGI_Base + 6; + else + IGI_target = pDM_Odm->IGI_Base; + } + + pDM_Odm->IGI_target = (u1Byte) IGI_target; + + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("BandWidth=%s, IGI_target=0x%x, EDCCA_State=%d\n", + (*pDM_Odm->pBandWidth==ODM_BW80M)?"80M":((*pDM_Odm->pBandWidth==ODM_BW40M)?"40M":"20M"), IGI_target, EDCCA_State)); + + if(EDCCA_State == 1) + { + Diff = IGI_target -(s1Byte)IGI; + TH_L2H_dmc = pDM_Odm->TH_L2H_ini + Diff; + if(TH_L2H_dmc > 10) TH_L2H_dmc = 10; + TH_H2L_dmc = TH_L2H_dmc - pDM_Odm->TH_EDCCA_HL_diff; + } + else + { + TH_L2H_dmc = 0x7f; + TH_H2L_dmc = 0x7f; + } + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("IGI=0x%x, TH_L2H_dmc = %d, TH_H2L_dmc = %d\n", + IGI, TH_L2H_dmc, TH_H2L_dmc)); + + if(pDM_Odm->SupportICType & ODM_IC_11N_SERIES) + { + ODM_SetBBReg(pDM_Odm,rOFDM0_ECCAThreshold, bMaskByte0, (u1Byte)TH_L2H_dmc); + ODM_SetBBReg(pDM_Odm,rOFDM0_ECCAThreshold, bMaskByte2, (u1Byte)TH_H2L_dmc); + } + else + ODM_SetBBReg(pDM_Odm, rFPGA0_XB_LSSIReadBack, 0xFFFF, ((u1Byte)TH_H2L_dmc<<8) | (u1Byte)TH_L2H_dmc); +} + +#if 1 +VOID +odm_DIGInit( + IN PDM_ODM_T pDM_Odm + ) +{ + pDIG_T pDM_DigTable = &pDM_Odm->DM_DigTable; + + //pDM_DigTable->Dig_Enable_Flag = TRUE; + //pDM_DigTable->Dig_Ext_Port_Stage = DIG_EXT_PORT_STAGE_MAX; + pDM_DigTable->CurIGValue = (u1Byte) ODM_GetBBReg(pDM_Odm, ODM_REG(IGI_A,pDM_Odm), ODM_BIT(IGI,pDM_Odm)); + //pDM_DigTable->PreIGValue = 0x0; + //pDM_DigTable->CurSTAConnectState = pDM_DigTable->PreSTAConnectState = DIG_STA_DISCONNECT; + //pDM_DigTable->CurMultiSTAConnectState = DIG_MultiSTA_DISCONNECT; + pDM_DigTable->RssiLowThresh = DM_DIG_THRESH_LOW; + pDM_DigTable->RssiHighThresh = DM_DIG_THRESH_HIGH; + pDM_DigTable->FALowThresh = DM_FALSEALARM_THRESH_LOW; + pDM_DigTable->FAHighThresh = DM_FALSEALARM_THRESH_HIGH; + if(pDM_Odm->BoardType & (ODM_BOARD_EXT_PA|ODM_BOARD_EXT_LNA)) + { + pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC; + pDM_DigTable->rx_gain_range_min = DM_DIG_MIN_NIC; + } + else + { + pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC; + pDM_DigTable->rx_gain_range_min = DM_DIG_MIN_NIC; + } + pDM_DigTable->BackoffVal = DM_DIG_BACKOFF_DEFAULT; + pDM_DigTable->BackoffVal_range_max = DM_DIG_BACKOFF_MAX; + pDM_DigTable->BackoffVal_range_min = DM_DIG_BACKOFF_MIN; + pDM_DigTable->PreCCK_CCAThres = 0xFF; + pDM_DigTable->CurCCK_CCAThres = 0x83; + pDM_DigTable->ForbiddenIGI = DM_DIG_MIN_NIC; + pDM_DigTable->LargeFAHit = 0; + pDM_DigTable->Recover_cnt = 0; + pDM_DigTable->DIG_Dynamic_MIN_0 = DM_DIG_MIN_NIC; + pDM_DigTable->DIG_Dynamic_MIN_1 = DM_DIG_MIN_NIC; + pDM_DigTable->bMediaConnect_0 = FALSE; + pDM_DigTable->bMediaConnect_1 = FALSE; + + //To Initialize pDM_Odm->bDMInitialGainEnable == FALSE to avoid DIG error + pDM_Odm->bDMInitialGainEnable = TRUE; + + //To Initi BT30 IGI + pDM_DigTable->BT30_CurIGI=0x32; + +} + +VOID +odm_DigForBtHsMode( + IN PDM_ODM_T pDM_Odm + ) +{ +#if (DM_ODM_SUPPORT_TYPE == ODM_MP) + pDIG_T pDM_DigTable=&pDM_Odm->DM_DigTable; + u1Byte digForBtHs=0; + u1Byte digUpBound=0x5a; + + if(pDM_Odm->bBtConnectProcess) + { + if(pDM_Odm->SupportICType&(ODM_RTL8723A)) + digForBtHs = 0x28; + else + digForBtHs = 0x22; + } + else + { + // + // Decide DIG value by BT HS RSSI. + // + digForBtHs = pDM_Odm->btHsRssi+4; + + //DIG Bound + if(pDM_Odm->SupportICType&(ODM_RTL8723A)) + digUpBound = 0x3e; + + if(digForBtHs > digUpBound) + digForBtHs = digUpBound; + if(digForBtHs < 0x1c) + digForBtHs = 0x1c; + + // update Current IGI + pDM_DigTable->BT30_CurIGI = digForBtHs; + } + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DigForBtHsMode() : set DigValue=0x%x\n", digForBtHs)); +#endif +} + +VOID +odm_DIG( + IN PDM_ODM_T pDM_Odm + ) +{ + pDIG_T pDM_DigTable = &pDM_Odm->DM_DigTable; + PFALSE_ALARM_STATISTICS pFalseAlmCnt = &pDM_Odm->FalseAlmCnt; + pRXHP_T pRX_HP_Table = &pDM_Odm->DM_RXHP_Table; + u1Byte DIG_Dynamic_MIN; + u1Byte DIG_MaxOfMin; + BOOLEAN FirstConnect, FirstDisConnect; + u1Byte dm_dig_max, dm_dig_min, offset; + u1Byte CurrentIGI = pDM_DigTable->CurIGValue; + u1Byte Adap_IGI_Upper = pDM_Odm->IGI_target + 30 + (u1Byte) pDM_Odm->TH_L2H_ini -(u1Byte) pDM_Odm->TH_EDCCA_HL_diff; + +#if (DM_ODM_SUPPORT_TYPE == ODM_MP) +// This should be moved out of OUTSRC + PADAPTER pAdapter = pDM_Odm->Adapter; +#if OS_WIN_FROM_WIN7(OS_VERSION) + if(IsAPModeExist( pAdapter) && pAdapter->bInHctTest) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: Is AP mode or In HCT Test \n")); + return; + } +#endif +/* + if (pDM_Odm->SupportICType==ODM_RTL8723B) + return; +*/ +#if(BT_30_SUPPORT == 1) + if(pDM_Odm->bBtHsOperation) + { + odm_DigForBtHsMode(pDM_Odm); + } +#endif + if(!(pDM_Odm->SupportICType &(ODM_RTL8723A|ODM_RTL8188E))) + { + if(pRX_HP_Table->RXHP_flag == 1) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: In RXHP Operation \n")); + return; + } + } +#endif +#if (DM_ODM_SUPPORT_TYPE == ODM_CE) +#ifdef CONFIG_SPECIAL_SETTING_FOR_FUNAI_TV + if((pDM_Odm->bLinked) && (pDM_Odm->Adapter->registrypriv.force_igi !=0)) + { + printk("pDM_Odm->RSSI_Min=%d \n",pDM_Odm->RSSI_Min); + ODM_Write_DIG(pDM_Odm,pDM_Odm->Adapter->registrypriv.force_igi); + return; + } +#endif +#endif +#if (DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) + prtl8192cd_priv priv = pDM_Odm->priv; + if (!((priv->up_time > 5) && (priv->up_time % 2)) ) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: Not In DIG Operation Period \n")); + return; + } +#endif + + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG()==>\n")); + //if(!(pDM_Odm->SupportAbility & (ODM_BB_DIG|ODM_BB_FA_CNT))) + if((!(pDM_Odm->SupportAbility&ODM_BB_DIG)) ||(!(pDM_Odm->SupportAbility&ODM_BB_FA_CNT))) + { +#if 0 + if(pDM_Odm->SupportPlatform & (ODM_AP|ODM_ADSL)) + { + if ((pDM_Odm->SupportICType == ODM_RTL8192C) && (pDM_Odm->ExtLNA == 1)) + CurrentIGI = 0x30; //pDM_DigTable->CurIGValue = 0x30; + else + CurrentIGI = 0x20; //pDM_DigTable->CurIGValue = 0x20; + ODM_Write_DIG(pDM_Odm, CurrentIGI);//ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); + } +#endif + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: SupportAbility ODM_BB_DIG or ODM_BB_FA_CNT is disabled\n")); + return; + } + + if(*(pDM_Odm->pbScanInProcess)) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: In Scan Progress \n")); + return; + } + + //add by Neil Chen to avoid PSD is processing + if(pDM_Odm->SupportICType==ODM_RTL8723A) + { + if(pDM_Odm->bDMInitialGainEnable == FALSE) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: PSD is Processing \n")); + return; + } + } + + if(pDM_Odm->SupportICType == ODM_RTL8192D) + { + if(*(pDM_Odm->pMacPhyMode) == ODM_DMSP) + { + if(*(pDM_Odm->pbMasterOfDMSP)) + { + DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_0; + FirstConnect = (pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == FALSE); + FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == TRUE); + } + else + { + DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_1; + FirstConnect = (pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_1 == FALSE); + FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_1 == TRUE); + } + } + else + { + if(*(pDM_Odm->pBandType) == ODM_BAND_5G) + { + DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_0; + FirstConnect = (pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == FALSE); + FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == TRUE); + } + else + { + DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_1; + FirstConnect = (pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_1 == FALSE); + FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_1 == TRUE); + } + } + } + else + { + DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_0; + FirstConnect = (pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == FALSE); + FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == TRUE); + } + + //1 Boundary Decision + if(pDM_Odm->SupportICType & (ODM_RTL8192C) &&(pDM_Odm->BoardType & (ODM_BOARD_EXT_LNA | ODM_BOARD_EXT_PA))) + { + if(pDM_Odm->SupportPlatform & (ODM_AP|ODM_ADSL)) + { + + dm_dig_max = DM_DIG_MAX_AP_HP; + dm_dig_min = DM_DIG_MIN_AP_HP; + } + else + { + dm_dig_max = DM_DIG_MAX_NIC_HP; + dm_dig_min = DM_DIG_MIN_NIC_HP; + } + DIG_MaxOfMin = DM_DIG_MAX_AP_HP; + } + else + { + if(pDM_Odm->SupportPlatform & (ODM_AP|ODM_ADSL)) + { +#if (DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) +#ifdef DFS + if (!priv->pmib->dot11DFSEntry.disable_DFS && + (OPMODE & WIFI_AP_STATE) && + (((pDM_Odm->ControlChannel >= 52) && + (pDM_Odm->ControlChannel <= 64)) || + ((pDM_Odm->ControlChannel >= 100) && + (pDM_Odm->ControlChannel <= 140)))) + dm_dig_max = 0x24; + else +#endif + if (priv->pmib->dot11RFEntry.tx2path) { + if (*(pDM_Odm->pWirelessMode) == ODM_WM_B)//(priv->pmib->dot11BssType.net_work_type == WIRELESS_11B) + dm_dig_max = 0x2A; + else + dm_dig_max = 0x32; + } + else +#endif + dm_dig_max = DM_DIG_MAX_AP; + dm_dig_min = DM_DIG_MIN_AP; + DIG_MaxOfMin = dm_dig_max; + } + else + { + if((pDM_Odm->SupportICType >= ODM_RTL8188E) && (pDM_Odm->SupportPlatform & (ODM_MP|ODM_CE))) + dm_dig_max = 0x5A; + else + dm_dig_max = DM_DIG_MAX_NIC; + + if(pDM_Odm->SupportICType != ODM_RTL8821) + dm_dig_min = DM_DIG_MIN_NIC; + else + dm_dig_min = 0x1C; + + DIG_MaxOfMin = DM_DIG_MAX_AP; + } + } + + + if(pDM_Odm->bLinked) + { + if(pDM_Odm->SupportICType&(ODM_RTL8723A/*|ODM_RTL8821*/)) + { + //2 Upper Bound + if(( pDM_Odm->RSSI_Min + 10) > DM_DIG_MAX_NIC ) + pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC; + else if(( pDM_Odm->RSSI_Min + 10) < DM_DIG_MIN_NIC ) + pDM_DigTable->rx_gain_range_max = DM_DIG_MIN_NIC; + else + pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + 10; + + //BT is Concurrent + + if(pDM_Odm->bBtLimitedDig) + { + if(pDM_Odm->RSSI_Min>10) + { + if((pDM_Odm->RSSI_Min - 10) > DM_DIG_MAX_NIC) + DIG_Dynamic_MIN = DM_DIG_MAX_NIC; + else if((pDM_Odm->RSSI_Min - 10) < DM_DIG_MIN_NIC) + DIG_Dynamic_MIN = DM_DIG_MIN_NIC; + else + DIG_Dynamic_MIN = pDM_Odm->RSSI_Min - 10; + } + else + DIG_Dynamic_MIN=DM_DIG_MIN_NIC; + } + else + { + if((pDM_Odm->RSSI_Min + 20) > dm_dig_max ) + pDM_DigTable->rx_gain_range_max = dm_dig_max; + else if((pDM_Odm->RSSI_Min + 20) < dm_dig_min ) + pDM_DigTable->rx_gain_range_max = dm_dig_min; + else + pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + 20; + + } + } + else + { + if((pDM_Odm->SupportICType & (ODM_RTL8192E|ODM_RTL8723B|ODM_RTL8812|ODM_RTL8821)) && (pDM_Odm->bBtLimitedDig==1)){ + //2 Modify DIG upper bound for 92E, 8723B, 8821 & 8812 BT + if((pDM_Odm->RSSI_Min + 10) > dm_dig_max ) + pDM_DigTable->rx_gain_range_max = dm_dig_max; + else if((pDM_Odm->RSSI_Min + 10) < dm_dig_min ) + pDM_DigTable->rx_gain_range_max = dm_dig_min; + else + pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + 10; + } + else{ + + //2 Modify DIG upper bound + //2013.03.19 Luke: Modified upper bound for Netgear rental house test + if(pDM_Odm->SupportICType != ODM_RTL8821) + offset = 20; + else + offset = 10; + + if((pDM_Odm->RSSI_Min + offset) > dm_dig_max ) + pDM_DigTable->rx_gain_range_max = dm_dig_max; + else if((pDM_Odm->RSSI_Min + offset) < dm_dig_min ) + pDM_DigTable->rx_gain_range_max = dm_dig_min; + else + pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + offset; + + } + + //2 Modify DIG lower bound + /* + if((pFalseAlmCnt->Cnt_all > 500)&&(DIG_Dynamic_MIN < 0x25)) + DIG_Dynamic_MIN++; + else if(((pFalseAlmCnt->Cnt_all < 500)||(pDM_Odm->RSSI_Min < 8))&&(DIG_Dynamic_MIN > dm_dig_min)) + DIG_Dynamic_MIN--; + */ + + + //1 Lower Bound for 88E AntDiv +#if (RTL8188E_SUPPORT == 1) + if((pDM_Odm->SupportICType == ODM_RTL8188E)&&(pDM_Odm->SupportAbility & ODM_BB_ANT_DIV)) + { + if((pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV) ||(pDM_Odm->AntDivType == CGCS_RX_HW_ANTDIV)) + { + DIG_Dynamic_MIN = (u1Byte) pDM_DigTable->AntDiv_RSSI_max; + ODM_RT_TRACE(pDM_Odm,ODM_COMP_ANT_DIV, ODM_DBG_LOUD, ("odm_DIG(): pDM_DigTable->AntDiv_RSSI_max=%d \n",pDM_DigTable->AntDiv_RSSI_max)); + } + } + else +#endif + { + if(pDM_Odm->SupportICType != ODM_RTL8723B) + offset = 0; + else + offset = 12; + + if(pDM_Odm->RSSI_Min - offset < dm_dig_min) + DIG_Dynamic_MIN = dm_dig_min; + else if (pDM_Odm->RSSI_Min - offset > DIG_MaxOfMin) + DIG_Dynamic_MIN = DIG_MaxOfMin; + else + DIG_Dynamic_MIN = pDM_Odm->RSSI_Min - offset; + + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() : bOneEntryOnly=TRUE, DIG_Dynamic_MIN=0x%x\n",DIG_Dynamic_MIN)); + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() : pDM_Odm->RSSI_Min=%d\n",pDM_Odm->RSSI_Min)); + } + + + } + } + else + { + pDM_DigTable->rx_gain_range_max = dm_dig_max; + DIG_Dynamic_MIN = dm_dig_min; + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() : No Link\n")); + } + + //1 Modify DIG lower bound, deal with abnorally large false alarm + if(pFalseAlmCnt->Cnt_all > 10000) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("dm_DIG(): Abnornally false alarm case. \n")); + + if(pDM_DigTable->LargeFAHit != 3) + pDM_DigTable->LargeFAHit++; + if(pDM_DigTable->ForbiddenIGI < CurrentIGI)//if(pDM_DigTable->ForbiddenIGI < pDM_DigTable->CurIGValue) + { + pDM_DigTable->ForbiddenIGI = (u1Byte)CurrentIGI;//pDM_DigTable->ForbiddenIGI = pDM_DigTable->CurIGValue; + pDM_DigTable->LargeFAHit = 1; + } + + if(pDM_DigTable->LargeFAHit >= 3) + { + if((pDM_DigTable->ForbiddenIGI+1) >pDM_DigTable->rx_gain_range_max) + pDM_DigTable->rx_gain_range_min = pDM_DigTable->rx_gain_range_max; + else + pDM_DigTable->rx_gain_range_min = (pDM_DigTable->ForbiddenIGI + 1); + pDM_DigTable->Recover_cnt = 3600; //3600=2hr + } + + } + else + { + //Recovery mechanism for IGI lower bound + if(pDM_DigTable->Recover_cnt != 0) + pDM_DigTable->Recover_cnt --; + else + { + if(pDM_DigTable->LargeFAHit < 3) + { + if((pDM_DigTable->ForbiddenIGI -1) < DIG_Dynamic_MIN) //DM_DIG_MIN) + { + pDM_DigTable->ForbiddenIGI = DIG_Dynamic_MIN; //DM_DIG_MIN; + pDM_DigTable->rx_gain_range_min = DIG_Dynamic_MIN; //DM_DIG_MIN; + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Normal Case: At Lower Bound\n")); + } + else + { + pDM_DigTable->ForbiddenIGI --; + pDM_DigTable->rx_gain_range_min = (pDM_DigTable->ForbiddenIGI + 1); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Normal Case: Approach Lower Bound\n")); + } + } + else + { + pDM_DigTable->LargeFAHit = 0; + } + } + } + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): pDM_DigTable->LargeFAHit=%d\n",pDM_DigTable->LargeFAHit)); + + if((pDM_Odm->SupportPlatform&(ODM_MP|ODM_CE))&&(pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 10)) + pDM_DigTable->rx_gain_range_min = dm_dig_min; + + if(pDM_DigTable->rx_gain_range_min > pDM_DigTable->rx_gain_range_max) + pDM_DigTable->rx_gain_range_min = pDM_DigTable->rx_gain_range_max; + + //1 Adjust initial gain by false alarm + if(pDM_Odm->bLinked) + { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): DIG AfterLink\n")); + if(FirstConnect) + { + if(pDM_Odm->RSSI_Min <= DIG_MaxOfMin) + CurrentIGI = pDM_Odm->RSSI_Min; + else + CurrentIGI = DIG_MaxOfMin; + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("DIG: First Connect\n")); + + //ODM_ConfigBBWithHeaderFile(pDM_Odm, CONFIG_BB_AGC_TAB_DIFF); + } + else + { + if(pDM_Odm->SupportICType == ODM_RTL8192D) + { + if(pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2_92D) + CurrentIGI = CurrentIGI + 4;//pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+2; + else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1_92D) + CurrentIGI = CurrentIGI + 2; //pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+1; + else if(pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0_92D) + CurrentIGI = CurrentIGI - 2;//pDM_DigTable->CurIGValue =pDM_DigTable->PreIGValue-1; + } + else + { + //FA for Combo IC--NeilChen--2012--09--28 + if(pDM_Odm->SupportICType == ODM_RTL8723A) + { + //WLAN and BT ConCurrent + if(pDM_Odm->bBtLimitedDig) + { + if(pFalseAlmCnt->Cnt_all > 0x300) + CurrentIGI = CurrentIGI + 4; + else if (pFalseAlmCnt->Cnt_all > 0x250) + CurrentIGI = CurrentIGI + 2; + else if(pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0) + CurrentIGI = CurrentIGI -2; + } + else //Not Concurrent + { + if(pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2) + CurrentIGI = CurrentIGI + 4;//pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+2; + else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1) + CurrentIGI = CurrentIGI + 2;//pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+1; + else if(pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0) + CurrentIGI = CurrentIGI - 2;//pDM_DigTable->CurIGValue =pDM_DigTable->PreIGValue-1; + } + } + else + { + if(pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2) + CurrentIGI = CurrentIGI + 4;//pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+2; + else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1) + CurrentIGI = CurrentIGI + 2;//pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+1; + else if(pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0) + CurrentIGI = CurrentIGI - 2;//pDM_DigTable->CurIGValue =pDM_DigTable->PreIGValue-1; + + if((pDM_Odm->SupportPlatform&(ODM_MP|ODM_CE))&&(pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 10) + &&(pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH1)) + { + CurrentIGI = pDM_DigTable->rx_gain_range_min; + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Beacon is less than 10 and FA is less than 768, IGI GOES TO 0x1E!!!!!!!!!!!!\n")); + } + } + } + } + } + else + { + //CurrentIGI = pDM_DigTable->rx_gain_range_min;//pDM_DigTable->CurIGValue = pDM_DigTable->rx_gain_range_min + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): DIG BeforeLink\n")); + if(FirstDisConnect) + { + CurrentIGI = pDM_DigTable->rx_gain_range_min; + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): First DisConnect \n")); + } + else + { + //2012.03.30 LukeLee: enable DIG before link but with very high thresholds + if(pFalseAlmCnt->Cnt_all > 10000) + CurrentIGI = CurrentIGI + 4; + else if (pFalseAlmCnt->Cnt_all > 8000) + CurrentIGI = CurrentIGI + 2; + else if(pFalseAlmCnt->Cnt_all < 500) + CurrentIGI = CurrentIGI - 2; + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): England DIG \n")); + } + } + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): DIG End Adjust IGI\n")); + //1 Check initial gain by upper/lower bound + + if(CurrentIGI > pDM_DigTable->rx_gain_range_max) + CurrentIGI = pDM_DigTable->rx_gain_range_max; + if(CurrentIGI < pDM_DigTable->rx_gain_range_min) + CurrentIGI = pDM_DigTable->rx_gain_range_min; + + if(pDM_Odm->SupportAbility & ODM_BB_ADAPTIVITY) + { + if(CurrentIGI > Adap_IGI_Upper) + CurrentIGI = Adap_IGI_Upper; + + if(CurrentIGI > (pDM_Odm->IGI_target + 4)) + CurrentIGI = (u1Byte)pDM_Odm->IGI_target + 4; + } + + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): rx_gain_range_max=0x%x, rx_gain_range_min=0x%x\n", + pDM_DigTable->rx_gain_range_max, pDM_DigTable->rx_gain_range_min)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): TotalFA=%d\n", pFalseAlmCnt->Cnt_all)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): CurIGValue=0x%x\n", CurrentIGI)); + + //2 High power RSSI threshold +#if (DM_ODM_SUPPORT_TYPE & ODM_MP) +{ + HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pDM_Odm->Adapter); + //PMGNT_INFO pMgntInfo = &(pAdapter->MgntInfo); + // for LC issue to dymanic modify DIG lower bound----------LC Mocca Issue + u8Byte curTxOkCnt=0, curRxOkCnt=0; + static u8Byte lastTxOkCnt=0, lastRxOkCnt=0; + + //u8Byte OKCntAll=0; + //static u8Byte TXByteCnt_A=0, TXByteCnt_B=0, RXByteCnt_A=0, RXByteCnt_B=0; + //u8Byte CurByteCnt=0, PreByteCnt=0; + + curTxOkCnt = pAdapter->TxStats.NumTxBytesUnicast - lastTxOkCnt; + curRxOkCnt =pAdapter->RxStats.NumRxBytesUnicast - lastRxOkCnt; + lastTxOkCnt = pAdapter->TxStats.NumTxBytesUnicast; + lastRxOkCnt = pAdapter->RxStats.NumRxBytesUnicast; + //----------------------------------------------------------end for LC Mocca issue + if((pDM_Odm->SupportICType == ODM_RTL8723A)&& (pHalData->UndecoratedSmoothedPWDB > DM_DIG_HIGH_PWR_THRESHOLD)) + { + // High power IGI lower bound + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): UndecoratedSmoothedPWDB(%#x)\n", pHalData->UndecoratedSmoothedPWDB)); + if(CurrentIGI < DM_DIG_HIGH_PWR_IGI_LOWER_BOUND) + { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): CurIGValue(%#x)\n", pDM_DigTable->CurIGValue)); + //pDM_DigTable->CurIGValue = DM_DIG_HIGH_PWR_IGI_LOWER_BOUND; + CurrentIGI=DM_DIG_HIGH_PWR_IGI_LOWER_BOUND; + } + } + if((pDM_Odm->SupportICType & ODM_RTL8723A) && + IS_WIRELESS_MODE_G(pAdapter)) + { + if(pHalData->UndecoratedSmoothedPWDB > 0x28) + { + if(CurrentIGI < DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND) + { + //pDM_DigTable->CurIGValue = DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND; + CurrentIGI = DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND; + } + } + } +#if 0 + if((pDM_Odm->SupportICType & ODM_RTL8723A)&&(pMgntInfo->CustomerID = RT_CID_LENOVO_CHINA)) + { + OKCntAll = (curTxOkCnt+curRxOkCnt); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): CurIGValue(%#x)\n", CurrentIGI)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): UndecoratedSmoothedPWDB(%#x)\n", pHalData->UndecoratedSmoothedPWDB)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): OKCntAll(%#x)\n", OKCntAll)); + //8723AS_VAU + if(pDM_Odm->SupportInterface==ODM_ITRF_USB) + { + if(pHalData->UndecoratedSmoothedPWDB < 12) + { + if(CurrentIGI > DM_DIG_MIN_NIC) + { + if(OKCntAll >= 1500000) // >=6Mbps + CurrentIGI=0x1B; + else if(OKCntAll >= 1000000) //4Mbps + CurrentIGI=0x1A; + else if(OKCntAll >= 500000) //2Mbps + CurrentIGI=0x19; + else if(OKCntAll >= 250000) //1Mbps + CurrentIGI=0x18; + else + { + CurrentIGI=0x17; //SCAN mode + } + } + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("Modify---->CurIGValue(%#x)\n", CurrentIGI)); + } + } + } +#endif +} +#endif + +#if (RTL8192D_SUPPORT==1) + if(pDM_Odm->SupportICType == ODM_RTL8192D) + { + //sherry delete DualMacSmartConncurrent 20110517 + if(*(pDM_Odm->pMacPhyMode) == ODM_DMSP) + { + ODM_Write_DIG_DMSP(pDM_Odm, (u1Byte)CurrentIGI);//ODM_Write_DIG_DMSP(pDM_Odm, pDM_DigTable->CurIGValue); + if(*(pDM_Odm->pbMasterOfDMSP)) + { + pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked; + pDM_DigTable->DIG_Dynamic_MIN_0 = DIG_Dynamic_MIN; + } + else + { + pDM_DigTable->bMediaConnect_1 = pDM_Odm->bLinked; + pDM_DigTable->DIG_Dynamic_MIN_1 = DIG_Dynamic_MIN; + } + } + else + { + ODM_Write_DIG(pDM_Odm, CurrentIGI);//ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); + if(*(pDM_Odm->pBandType) == ODM_BAND_5G) + { + pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked; + pDM_DigTable->DIG_Dynamic_MIN_0 = DIG_Dynamic_MIN; + } + else + { + pDM_DigTable->bMediaConnect_1 = pDM_Odm->bLinked; + pDM_DigTable->DIG_Dynamic_MIN_1 = DIG_Dynamic_MIN; + } + } + } + else +#endif + { + #if(BT_30_SUPPORT == 1) + if(pDM_Odm->bBtHsOperation) + { + if(pDM_Odm->bLinked) + { + if(pDM_DigTable->BT30_CurIGI > (CurrentIGI)) + { + ODM_Write_DIG(pDM_Odm, CurrentIGI); + + } + else + { + ODM_Write_DIG(pDM_Odm, pDM_DigTable->BT30_CurIGI); + } + pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked; + pDM_DigTable->DIG_Dynamic_MIN_0 = DIG_Dynamic_MIN; + } + else + { + if(pDM_Odm->bLinkInProcess) + { + ODM_Write_DIG(pDM_Odm, 0x1c); + } + else if(pDM_Odm->bBtConnectProcess) + { + ODM_Write_DIG(pDM_Odm, 0x28); + } + else + { + ODM_Write_DIG(pDM_Odm, pDM_DigTable->BT30_CurIGI);//ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); + } + } + } + else // BT is not using + #endif + { + ODM_Write_DIG(pDM_Odm, CurrentIGI);//ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); + pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked; + pDM_DigTable->DIG_Dynamic_MIN_0 = DIG_Dynamic_MIN; + } + } +} + + +BOOLEAN +odm_DigAbort( + IN PDM_ODM_T pDM_Odm + ) +{ +#if (DM_ODM_SUPPORT_TYPE == ODM_MP) +// This should be moved out of OUTSRC + PADAPTER pAdapter = pDM_Odm->Adapter; + pRXHP_T pRX_HP_Table = &pDM_Odm->DM_RXHP_Table; + +#if OS_WIN_FROM_WIN7(OS_VERSION) + if(IsAPModeExist( pAdapter) && pAdapter->bInHctTest) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: Is AP mode or In HCT Test \n")); + return TRUE; + } +#endif + + if(pRX_HP_Table->RXHP_flag == 1) + { + ODM_RT_TRACE(pDM_Odm,ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() Return: In RXHP Operation \n")); + return TRUE; + } + + return FALSE; +#else // For Other team any special case for DIG? + return FALSE; +#endif + + +} + +#else VOID odm_DIGInit( IN PDM_ODM_T pDM_Odm @@ -1803,7 +2715,7 @@ odm_DIGInit( pDM_DigTable->RssiHighThresh = DM_DIG_THRESH_HIGH; pDM_DigTable->FALowThresh = DM_FALSEALARM_THRESH_LOW; pDM_DigTable->FAHighThresh = DM_FALSEALARM_THRESH_HIGH; - if(pDM_Odm->BoardType == ODM_BOARD_HIGHPWR) + if(pDM_Odm->BoardType & (ODM_BOARD_EXT_LNA | ODM_BOARD_EXT_PA)) { pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC; pDM_DigTable->rx_gain_range_min = DM_DIG_MIN_NIC; @@ -1964,7 +2876,7 @@ odm_DIG( //1 Boundary Decision if((pDM_Odm->SupportICType & (ODM_RTL8192C|ODM_RTL8723A)) && - ((pDM_Odm->BoardType == ODM_BOARD_HIGHPWR) || pDM_Odm->ExtLNA)) + ((if(pDM_Odm->BoardType & (ODM_BOARD_EXT_LNA | ODM_BOARD_EXT_PA))) || pDM_Odm->ExtLNA)) { if(pDM_Odm->SupportPlatform & (ODM_AP|ODM_ADSL)) { @@ -2328,7 +3240,7 @@ odm_DIG( } } - +#endif //3============================================================ //3 FASLE ALARM CHECK //3============================================================ @@ -2851,7 +3763,8 @@ u4Byte ODM_Get_Rate_Bitmap( else rate_bitmap = 0x00000ff5; break; - + + case (ODM_WM_G|ODM_WM_N24G) : case (ODM_WM_B|ODM_WM_G|ODM_WM_N24G) : case (ODM_WM_A|ODM_WM_B|ODM_WM_G|ODM_WM_N24G) : { @@ -3100,6 +4013,8 @@ odm_RefreshRateAdaptiveMaskCE( for(i=0; i<ODM_ASSOCIATE_ENTRY_NUM; i++){ PSTA_INFO_T pstat = pDM_Odm->pODM_StaInfo[i]; if(IS_STA_VALID(pstat) ) { + if(IS_MCAST( pstat->hwaddr)) //if(psta->mac_id ==1) + continue; if( TRUE == ODM_RAStateCheck(pDM_Odm, pstat->rssi_stat.UndecoratedSmoothedPWDB, FALSE , &pstat->rssi_level) ) { ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, ("RSSI:%d, RSSI_LEVEL:%d\n", pstat->rssi_stat.UndecoratedSmoothedPWDB, pstat->rssi_level)); @@ -4258,9 +5173,13 @@ odm_RSSIMonitorCheckCE( #if 1 struct sta_info *psta; - for(i=0; i<ODM_ASSOCIATE_ENTRY_NUM; i++) { + for(i=0; i<ODM_ASSOCIATE_ENTRY_NUM; i++) { + if (IS_STA_VALID(psta = pDM_Odm->pODM_StaInfo[i])) { + if(IS_MCAST( psta->hwaddr)) //if(psta->mac_id ==1) + continue; + if(psta->rssi_stat.UndecoratedSmoothedPWDB < tmpEntryMinPWDB) tmpEntryMinPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB; @@ -4377,8 +5296,8 @@ odm_RSSIMonitorCheckCE( #if(RTL8192D_SUPPORT==1) FindMinimumRSSI_Dmsp(Adapter); #endif - - ODM_CmnInfoUpdate(&pHalData->odmpriv ,ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); + pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM; + //ODM_CmnInfoUpdate(&pHalData->odmpriv ,ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); #endif//if (DM_ODM_SUPPORT_TYPE == ODM_CE) } VOID @@ -4583,7 +5502,22 @@ odm_TXPowerTrackingThermalMeterInit( #endif #endif - pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = TRUE; + pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = TRUE; + pDM_Odm->RFCalibrateInfo.DeltaPowerIndex = 0; + pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast = 0; + pDM_Odm->RFCalibrateInfo.PowerIndexOffset = 0; + pDM_Odm->RFCalibrateInfo.ThermalValue = 0; + pDM_Odm->DefaultOfdmIndex = 12; + pDM_Odm->DefaultCckIndex = 12; + pDM_Odm->BbSwingIdxOfdmBase = pDM_Odm->DefaultOfdmIndex; + pDM_Odm->BbSwingIdxCckBase = pDM_Odm->DefaultCckIndex; + pDM_Odm->BbSwingIdxOfdm = pDM_Odm->DefaultOfdmIndex; + pDM_Odm->BbSwingIdxCck = pDM_Odm->DefaultCckIndex; + + pDM_Odm->RFCalibrateInfo.CCK_index = pDM_Odm->DefaultCckIndex; + pDM_Odm->RFCalibrateInfo.OFDM_index[RF_PATH_A] = pDM_Odm->DefaultOfdmIndex; + pDM_Odm->RFCalibrateInfo.OFDM_index[RF_PATH_B] = pDM_Odm->DefaultOfdmIndex; + } diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.h index 84d288065b24..4ceb6afbfdd0 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm.h @@ -1,1985 +1,2061 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - - -#ifndef __HALDMOUTSRC_H__ -#define __HALDMOUTSRC_H__ - -//============================================================ -// Definition -//============================================================ -// -// 2011/09/22 MH Define all team supprt ability. -// - -// -// 2011/09/22 MH Define for all teams. Please Define the constan in your precomp header. -// -//#define DM_ODM_SUPPORT_AP 0 -//#define DM_ODM_SUPPORT_ADSL 0 -//#define DM_ODM_SUPPORT_CE 0 -//#define DM_ODM_SUPPORT_MP 1 - -// -// 2011/09/28 MH Define ODM SW team support flag. -// - - - -// -// Antenna Switch Relative Definition. -// - -// -// 20100503 Joseph: -// Add new function SwAntDivCheck8192C(). -// This is the main function of Antenna diversity function before link. -// Mainly, it just retains last scan result and scan again. -// After that, it compares the scan result to see which one gets better RSSI. -// It selects antenna with better receiving power and returns better scan result. -// -#define TP_MODE 0 -#define RSSI_MODE 1 -#define TRAFFIC_LOW 0 -#define TRAFFIC_HIGH 1 - - -//============================================================ -//3 Tx Power Tracking -//3============================================================ -#define DPK_DELTA_MAPPING_NUM 13 -#define index_mapping_HP_NUM 15 - - -//============================================================ -//3 PSD Handler -//3============================================================ - -#define AFH_PSD 1 //0:normal PSD scan, 1: only do 20 pts PSD -#define MODE_40M 0 //0:20M, 1:40M -#define PSD_TH2 3 -#define PSD_CHMIN 20 // Minimum channel number for BT AFH -#define SIR_STEP_SIZE 3 -#define Smooth_Size_1 5 -#define Smooth_TH_1 3 -#define Smooth_Size_2 10 -#define Smooth_TH_2 4 -#define Smooth_Size_3 20 -#define Smooth_TH_3 4 -#define Smooth_Step_Size 5 -#define Adaptive_SIR 1 -#if(RTL8723_FPGA_VERIFICATION == 1) -#define PSD_RESCAN 1 -#else -#define PSD_RESCAN 4 -#endif -#define PSD_SCAN_INTERVAL 700 //ms - - - -//8723A High Power IGI Setting -#define DM_DIG_HIGH_PWR_IGI_LOWER_BOUND 0x22 -#define DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND 0x28 -#define DM_DIG_HIGH_PWR_THRESHOLD 0x3a - -// LPS define -#define DM_DIG_FA_TH0_LPS 4 //-> 4 in lps -#define DM_DIG_FA_TH1_LPS 15 //-> 15 lps -#define DM_DIG_FA_TH2_LPS 30 //-> 30 lps -#define RSSI_OFFSET_DIG 0x05; - -//ANT Test -#define ANTTESTALL 0x00 //Ant A or B will be Testing -#define ANTTESTA 0x01 //Ant A will be Testing -#define ANTTESTB 0x02 //Ant B will be testing - - -//============================================================ -// structure and define -//============================================================ - -// -// 2011/09/20 MH Add for AP/ADSLpseudo DM structuer requirement. -// We need to remove to other position??? -// -#if(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) -typedef struct rtl8192cd_priv { - u1Byte temp; - -}rtl8192cd_priv, *prtl8192cd_priv; -#endif - - -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) -typedef struct _ADAPTER{ - u1Byte temp; - #ifdef AP_BUILD_WORKAROUND - HAL_DATA_TYPE* temp2; - prtl8192cd_priv priv; - #endif -}ADAPTER, *PADAPTER; -#endif - -#if (DM_ODM_SUPPORT_TYPE == ODM_AP) - -typedef struct _WLAN_STA{ - u1Byte temp; -} WLAN_STA, *PRT_WLAN_STA; - -#endif - -typedef struct _Dynamic_Initial_Gain_Threshold_ -{ - u1Byte Dig_Enable_Flag; - u1Byte Dig_Ext_Port_Stage; - - int RssiLowThresh; - int RssiHighThresh; - - u4Byte FALowThresh; - u4Byte FAHighThresh; - - u1Byte CurSTAConnectState; - u1Byte PreSTAConnectState; - u1Byte CurMultiSTAConnectState; - - u1Byte PreIGValue; - u1Byte CurIGValue; - u1Byte BackupIGValue; - - s1Byte BackoffVal; - s1Byte BackoffVal_range_max; - s1Byte BackoffVal_range_min; - u1Byte rx_gain_range_max; - u1Byte rx_gain_range_min; - u1Byte Rssi_val_min; - - u1Byte PreCCK_CCAThres; - u1Byte CurCCK_CCAThres; - u1Byte PreCCKPDState; - u1Byte CurCCKPDState; - - u1Byte LargeFAHit; - u1Byte ForbiddenIGI; - u4Byte Recover_cnt; - - u1Byte DIG_Dynamic_MIN_0; - u1Byte DIG_Dynamic_MIN_1; - BOOLEAN bMediaConnect_0; - BOOLEAN bMediaConnect_1; - - u4Byte AntDiv_RSSI_max; - u4Byte RSSI_max; -}DIG_T,*pDIG_T; - -typedef struct _Dynamic_Power_Saving_ -{ - u1Byte PreCCAState; - u1Byte CurCCAState; - - u1Byte PreRFState; - u1Byte CurRFState; - - int Rssi_val_min; - - u1Byte initialize; - u4Byte Reg874,RegC70,Reg85C,RegA74; - -}PS_T,*pPS_T; - -typedef struct _FALSE_ALARM_STATISTICS{ - u4Byte Cnt_Parity_Fail; - u4Byte Cnt_Rate_Illegal; - u4Byte Cnt_Crc8_fail; - u4Byte Cnt_Mcs_fail; - u4Byte Cnt_Ofdm_fail; - u4Byte Cnt_Cck_fail; - u4Byte Cnt_all; - u4Byte Cnt_Fast_Fsync; - u4Byte Cnt_SB_Search_fail; - u4Byte Cnt_OFDM_CCA; - u4Byte Cnt_CCK_CCA; - u4Byte Cnt_CCA_all; - u4Byte Cnt_BW_USC; //Gary - u4Byte Cnt_BW_LSC; //Gary -}FALSE_ALARM_STATISTICS, *PFALSE_ALARM_STATISTICS; - -typedef struct _Dynamic_Primary_CCA{ - u1Byte PriCCA_flag; - u1Byte intf_flag; - u1Byte intf_type; - u1Byte DupRTS_flag; - u1Byte Monitor_flag; -}Pri_CCA_T, *pPri_CCA_T; - -typedef struct _RX_High_Power_ -{ - u1Byte RXHP_flag; - u1Byte PSD_func_trigger; - u1Byte PSD_bitmap_RXHP[80]; - u1Byte Pre_IGI; - u1Byte Cur_IGI; - u1Byte Pre_pw_th; - u1Byte Cur_pw_th; - BOOLEAN First_time_enter; - BOOLEAN RXHP_enable; - u1Byte TP_Mode; - RT_TIMER PSDTimer; -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - #if USE_WORKITEM - RT_WORK_ITEM PSDTimeWorkitem; - #endif -#endif - -}RXHP_T, *pRXHP_T; - -#if(DM_ODM_SUPPORT_TYPE & (ODM_CE)) -#define ASSOCIATE_ENTRY_NUM 32 // Max size of AsocEntry[]. -#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM - -#elif(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) -#define ASSOCIATE_ENTRY_NUM NUM_STAT -#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM+1 - -#else -// -// 2012/01/12 MH Revise for compatiable with other SW team. -// 0 is for STA 1-n is for AP clients. -// -#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM+1// Default port only one -#endif - -//#ifdef CONFIG_ANTENNA_DIVERSITY -// This indicates two different the steps. -// In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air. -// In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK -// with original RSSI to determine if it is necessary to switch antenna. -#define SWAW_STEP_PEAK 0 -#define SWAW_STEP_DETERMINE 1 - -#define TP_MODE 0 -#define RSSI_MODE 1 -#define TRAFFIC_LOW 0 -#define TRAFFIC_HIGH 1 - -typedef struct _SW_Antenna_Switch_ -{ - u1Byte try_flag; - s4Byte PreRSSI; - u1Byte CurAntenna; - u1Byte PreAntenna; - u1Byte RSSI_Trying; - u1Byte TestMode; - u1Byte bTriggerAntennaSwitch; - u1Byte SelectAntennaMap; - u1Byte RSSI_target; - - // Before link Antenna Switch check - u1Byte SWAS_NoLink_State; - u4Byte SWAS_NoLink_BK_Reg860; - BOOLEAN ANTA_ON; //To indicate Ant A is or not - BOOLEAN ANTB_ON; //To indicate Ant B is on or not - - s4Byte RSSI_sum_A; - s4Byte RSSI_sum_B; - s4Byte RSSI_cnt_A; - s4Byte RSSI_cnt_B; - - u8Byte lastTxOkCnt; - u8Byte lastRxOkCnt; - u8Byte TXByteCnt_A; - u8Byte TXByteCnt_B; - u8Byte RXByteCnt_A; - u8Byte RXByteCnt_B; - u1Byte TrafficLoad; - RT_TIMER SwAntennaSwitchTimer; -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - #if USE_WORKITEM - RT_WORK_ITEM SwAntennaSwitchWorkitem; - #endif -#endif -/* CE Platform use -#ifdef CONFIG_SW_ANTENNA_DIVERSITY - _timer SwAntennaSwitchTimer; - u8Byte lastTxOkCnt; - u8Byte lastRxOkCnt; - u8Byte TXByteCnt_A; - u8Byte TXByteCnt_B; - u8Byte RXByteCnt_A; - u8Byte RXByteCnt_B; - u1Byte DoubleComfirm; - u1Byte TrafficLoad; - //SW Antenna Switch - - -#endif -*/ -#ifdef CONFIG_HW_ANTENNA_DIVERSITY - //Hybrid Antenna Diversity - u4Byte CCK_Ant1_Cnt[ASSOCIATE_ENTRY_NUM]; - u4Byte CCK_Ant2_Cnt[ASSOCIATE_ENTRY_NUM]; - u4Byte OFDM_Ant1_Cnt[ASSOCIATE_ENTRY_NUM]; - u4Byte OFDM_Ant2_Cnt[ASSOCIATE_ENTRY_NUM]; - u4Byte RSSI_Ant1_Sum[ASSOCIATE_ENTRY_NUM]; - u4Byte RSSI_Ant2_Sum[ASSOCIATE_ENTRY_NUM]; - u1Byte TxAnt[ASSOCIATE_ENTRY_NUM]; - u1Byte TargetSTA; - u1Byte antsel; - u1Byte RxIdleAnt; - -#endif - -}SWAT_T, *pSWAT_T; -//#endif - -typedef struct _EDCA_TURBO_ -{ - BOOLEAN bCurrentTurboEDCA; - BOOLEAN bIsCurRDLState;
- #if(DM_ODM_SUPPORT_TYPE == ODM_CE ) - u4Byte prv_traffic_idx; // edca turbo - #endif - -}EDCA_T,*pEDCA_T; - -typedef struct _ODM_RATE_ADAPTIVE -{ - u1Byte Type; // DM_Type_ByFW/DM_Type_ByDriver - u1Byte HighRSSIThresh; // if RSSI > HighRSSIThresh => RATRState is DM_RATR_STA_HIGH - u1Byte LowRSSIThresh; // if RSSI <= LowRSSIThresh => RATRState is DM_RATR_STA_LOW - u1Byte RATRState; // Current RSSI level, DM_RATR_STA_HIGH/DM_RATR_STA_MIDDLE/DM_RATR_STA_LOW - u4Byte LastRATR; // RATR Register Content - -} ODM_RATE_ADAPTIVE, *PODM_RATE_ADAPTIVE; - - -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - - -#ifdef ADSL_AP_BUILD_WORKAROUND -#define MAX_TOLERANCE 5 -#define IQK_DELAY_TIME 1 //ms -#endif - -// -// Indicate different AP vendor for IOT issue. -// -typedef enum _HT_IOT_PEER -{ - HT_IOT_PEER_UNKNOWN = 0, - HT_IOT_PEER_REALTEK = 1, - HT_IOT_PEER_REALTEK_92SE = 2, - HT_IOT_PEER_BROADCOM = 3, - HT_IOT_PEER_RALINK = 4, - HT_IOT_PEER_ATHEROS = 5, - HT_IOT_PEER_CISCO = 6, - HT_IOT_PEER_MERU = 7, - HT_IOT_PEER_MARVELL = 8, - HT_IOT_PEER_REALTEK_SOFTAP = 9,// peer is RealTek SOFT_AP, by Bohn, 2009.12.17 - HT_IOT_PEER_SELF_SOFTAP = 10, // Self is SoftAP - HT_IOT_PEER_AIRGO = 11, - HT_IOT_PEER_INTEL = 12, - HT_IOT_PEER_RTK_APCLIENT = 13, - HT_IOT_PEER_REALTEK_81XX = 14, - HT_IOT_PEER_REALTEK_WOW = 15, - HT_IOT_PEER_MAX = 16 -}HT_IOT_PEER_E, *PHTIOT_PEER_E; -#endif//#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - - - -#define IQK_MAC_REG_NUM 4 -#define IQK_ADDA_REG_NUM 16 -#define IQK_BB_REG_NUM_MAX 10 -#if (RTL8192D_SUPPORT==1) -#define IQK_BB_REG_NUM 10 -#else -#define IQK_BB_REG_NUM 9 -#endif -#define HP_THERMAL_NUM 8 - -#define AVG_THERMAL_NUM 8 -#define IQK_Matrix_REG_NUM 8 -#define IQK_Matrix_Settings_NUM 1+24+21 - -#define DM_Type_ByFW 0 -#define DM_Type_ByDriver 1 - -// -// Declare for common info -// -// Declare for common info -// -#define MAX_PATH_NUM_92CS 2 - -typedef struct _ODM_Phy_Status_Info_ -{ - u1Byte RxPWDBAll; - u1Byte SignalQuality; // in 0-100 index. - u1Byte RxMIMOSignalQuality[MAX_PATH_NUM_92CS]; //EVM - u1Byte RxMIMOSignalStrength[MAX_PATH_NUM_92CS];// in 0~100 index -#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE)) - s1Byte RxPower; // in dBm Translate from PWdB - s1Byte RecvSignalPower;// Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. - u1Byte BTRxRSSIPercentage; - u1Byte SignalStrength; // in 0-100 index. - u1Byte RxPwr[MAX_PATH_NUM_92CS];//per-path's pwdb -#endif - u1Byte RxSNR[MAX_PATH_NUM_92CS];//per-path's SNR -}ODM_PHY_INFO_T,*PODM_PHY_INFO_T; - - -typedef struct _ODM_Phy_Dbg_Info_ -{ - //ODM Write,debug info - s1Byte RxSNRdB[MAX_PATH_NUM_92CS]; - u8Byte NumQryPhyStatus; - u8Byte NumQryPhyStatusCCK; - u8Byte NumQryPhyStatusOFDM; - //Others - s4Byte RxEVM[MAX_PATH_NUM_92CS]; - -}ODM_PHY_DBG_INFO_T; - -typedef struct _ODM_Per_Pkt_Info_ -{ - u1Byte Rate; - u1Byte StationID; - BOOLEAN bPacketMatchBSSID; - BOOLEAN bPacketToSelf; - BOOLEAN bPacketBeacon; -}ODM_PACKET_INFO_T,*PODM_PACKET_INFO_T; - -typedef struct _ODM_Mac_Status_Info_ -{ - u1Byte test; - -}ODM_MAC_INFO; - - -typedef enum tag_Dynamic_ODM_Support_Ability_Type -{ - // BB Team - ODM_DIG = 0x00000001, - ODM_HIGH_POWER = 0x00000002, - ODM_CCK_CCA_TH = 0x00000004, - ODM_FA_STATISTICS = 0x00000008, - ODM_RAMASK = 0x00000010, - ODM_RSSI_MONITOR = 0x00000020, - ODM_SW_ANTDIV = 0x00000040, - ODM_HW_ANTDIV = 0x00000080, - ODM_BB_PWRSV = 0x00000100, - ODM_2TPATHDIV = 0x00000200, - ODM_1TPATHDIV = 0x00000400, - ODM_PSD2AFH = 0x00000800 -}ODM_Ability_E; - -// -// 2011/20/20 MH For MP driver RT_WLAN_STA = STA_INFO_T -// Please declare below ODM relative info in your STA info structure. -// -#if 1 -typedef struct _ODM_STA_INFO{ - // Driver Write - BOOLEAN bUsed; // record the sta status link or not? - //u1Byte WirelessMode; // - u1Byte IOTPeer; // Enum value. HT_IOT_PEER_E - - // ODM Write - //1 PHY_STATUS_INFO - u1Byte RSSI_Path[4]; // - u1Byte RSSI_Ave; - u1Byte RXEVM[4]; - u1Byte RXSNR[4]; - - // ODM Write - //1 TX_INFO (may changed by IC) - //TX_INFO_T pTxInfo; // Define in IC folder. Move lower layer. -#if 0 - u1Byte ANTSEL_A; //in Jagar: 4bit; others: 2bit - u1Byte ANTSEL_B; //in Jagar: 4bit; others: 2bit - u1Byte ANTSEL_C; //only in Jagar: 4bit - u1Byte ANTSEL_D; //only in Jagar: 4bit - u1Byte TX_ANTL; //not in Jagar: 2bit - u1Byte TX_ANT_HT; //not in Jagar: 2bit - u1Byte TX_ANT_CCK; //not in Jagar: 2bit - u1Byte TXAGC_A; //not in Jagar: 4bit - u1Byte TXAGC_B; //not in Jagar: 4bit - u1Byte TXPWR_OFFSET; //only in Jagar: 3bit - u1Byte TX_ANT; //only in Jagar: 4bit for TX_ANTL/TX_ANTHT/TX_ANT_CCK -#endif - - // - // Please use compile flag to disabe the strcutrue for other IC except 88E. - // Move To lower layer. - // - // ODM Write Wilson will handle this part(said by Luke.Lee) - //TX_RPT_T pTxRpt; // Define in IC folder. Move lower layer. -#if 0 - //1 For 88E RA (don't redefine the naming) - u1Byte rate_id; - u1Byte rate_SGI; - u1Byte rssi_sta_ra; - u1Byte SGI_enable; - u1Byte Decision_rate; - u1Byte Pre_rate; - u1Byte Active; - - // Driver write Wilson handle. - //1 TX_RPT (don't redefine the naming) - u2Byte RTY[4]; // ??? - u2Byte TOTAL; // ??? - u2Byte DROP; // ??? - // - // Please use compile flag to disabe the strcutrue for other IC except 88E. - // -#endif - -}ODM_STA_INFO_T, *PODM_STA_INFO_T; -#endif - -// -// 2011/10/20 MH Define Common info enum for all team. -// -typedef enum _ODM_Common_Info_Definition -{ -//-------------REMOVED CASE-----------// - //ODM_CMNINFO_CCK_HP, - //ODM_CMNINFO_RFPATH_ENABLE, // Define as ODM write??? - //ODM_CMNINFO_BT_COEXIST, // ODM_BT_COEXIST_E - //ODM_CMNINFO_OP_MODE, // ODM_OPERATION_MODE_E -//-------------REMOVED CASE-----------// - - // - // Fixed value: - // - - //-----------HOOK BEFORE REG INIT-----------// - ODM_CMNINFO_PLATFORM = 0, - ODM_CMNINFO_ABILITY, // ODM_ABILITY_E - ODM_CMNINFO_INTERFACE, // ODM_INTERFACE_E - ODM_CMNINFO_MP_TEST_CHIP, - ODM_CMNINFO_IC_TYPE, // ODM_IC_TYPE_E - ODM_CMNINFO_CUT_VER, // ODM_CUT_VERSION_E - ODM_CMNINFO_FAB_VER, // ODM_FAB_E - ODM_CMNINFO_RF_TYPE, // ODM_RF_PATH_E or ODM_RF_TYPE_E? - ODM_CMNINFO_BOARD_TYPE, // ODM_BOARD_TYPE_E - ODM_CMNINFO_EXT_LNA, // TRUE - ODM_CMNINFO_EXT_PA, - ODM_CMNINFO_EXT_TRSW, - ODM_CMNINFO_PATCH_ID, //CUSTOMER ID - ODM_CMNINFO_BINHCT_TEST, - ODM_CMNINFO_BWIFI_TEST, - ODM_CMNINFO_SMART_CONCURRENT, - //-----------HOOK BEFORE REG INIT-----------// - - - // - // Dynamic value: - // -//--------- POINTER REFERENCE-----------// - ODM_CMNINFO_MAC_PHY_MODE, // ODM_MAC_PHY_MODE_E - ODM_CMNINFO_TX_UNI, - ODM_CMNINFO_RX_UNI, - ODM_CMNINFO_WM_MODE, // ODM_WIRELESS_MODE_E - ODM_CMNINFO_BAND, // ODM_BAND_TYPE_E - ODM_CMNINFO_SEC_CHNL_OFFSET, // ODM_SEC_CHNL_OFFSET_E - ODM_CMNINFO_SEC_MODE, // ODM_SECURITY_E - ODM_CMNINFO_BW, // ODM_BW_E - ODM_CMNINFO_CHNL, - - ODM_CMNINFO_DMSP_GET_VALUE, - ODM_CMNINFO_BUDDY_ADAPTOR, - ODM_CMNINFO_DMSP_IS_MASTER, - ODM_CMNINFO_SCAN, - ODM_CMNINFO_POWER_SAVING, - ODM_CMNINFO_ONE_PATH_CCA, // ODM_CCA_PATH_E - ODM_CMNINFO_DRV_STOP, - ODM_CMNINFO_PNP_IN, - ODM_CMNINFO_INIT_ON, - ODM_CMNINFO_ANT_TEST, - ODM_CMNINFO_NET_CLOSED, - ODM_CMNINFO_MP_MODE, -//--------- POINTER REFERENCE-----------// - -//------------CALL BY VALUE-------------// - ODM_CMNINFO_WIFI_DIRECT, - ODM_CMNINFO_WIFI_DISPLAY, - ODM_CMNINFO_LINK, - ODM_CMNINFO_RSSI_MIN, - ODM_CMNINFO_DBG_COMP, // u8Byte - ODM_CMNINFO_DBG_LEVEL, // u4Byte - ODM_CMNINFO_RA_THRESHOLD_HIGH, // u1Byte - ODM_CMNINFO_RA_THRESHOLD_LOW, // u1Byte - ODM_CMNINFO_RF_ANTENNA_TYPE, // u1Byte - ODM_CMNINFO_BT_DISABLED, - ODM_CMNINFO_BT_OPERATION, - ODM_CMNINFO_BT_DIG, - ODM_CMNINFO_BT_BUSY, //Check Bt is using or not//neil - ODM_CMNINFO_BT_DISABLE_EDCA, -//------------CALL BY VALUE-------------// - - // - // Dynamic ptr array hook itms. - // - ODM_CMNINFO_STA_STATUS, - ODM_CMNINFO_PHY_STATUS, - ODM_CMNINFO_MAC_STATUS, - - ODM_CMNINFO_MAX, - - -}ODM_CMNINFO_E; - -// -// 2011/10/20 MH Define ODM support ability. ODM_CMNINFO_ABILITY -// -typedef enum _ODM_Support_Ability_Definition -{ - // - // BB ODM section BIT 0-15 - // - ODM_BB_DIG = BIT0, - ODM_BB_RA_MASK = BIT1, - ODM_BB_DYNAMIC_TXPWR = BIT2, - ODM_BB_FA_CNT = BIT3, - ODM_BB_RSSI_MONITOR = BIT4, - ODM_BB_CCK_PD = BIT5, - ODM_BB_ANT_DIV = BIT6, - ODM_BB_PWR_SAVE = BIT7, - ODM_BB_PWR_TRAIN = BIT8, - ODM_BB_RATE_ADAPTIVE = BIT9, - ODM_BB_PATH_DIV = BIT10, - ODM_BB_PSD = BIT11, - ODM_BB_RXHP = BIT12, - - // - // MAC DM section BIT 16-23 - // - ODM_MAC_EDCA_TURBO = BIT16, - ODM_MAC_EARLY_MODE = BIT17, - - // - // RF ODM section BIT 24-31 - // - ODM_RF_TX_PWR_TRACK = BIT24, - ODM_RF_RX_GAIN_TRACK = BIT25, - ODM_RF_CALIBRATION = BIT26, - -}ODM_ABILITY_E; - -// ODM_CMNINFO_INTERFACE -typedef enum tag_ODM_Support_Interface_Definition -{ - ODM_ITRF_PCIE = 0x1, - ODM_ITRF_USB = 0x2, - ODM_ITRF_SDIO = 0x4, - ODM_ITRF_ALL = 0x7, -}ODM_INTERFACE_E; - -// ODM_CMNINFO_IC_TYPE -typedef enum tag_ODM_Support_IC_Type_Definition -{ - ODM_RTL8192S = BIT0, - ODM_RTL8192C = BIT1, - ODM_RTL8192D = BIT2, - ODM_RTL8723A = BIT3, - ODM_RTL8188E = BIT4, - ODM_RTL8812 = BIT5, - ODM_RTL8821 = BIT6, -}ODM_IC_TYPE_E; - -#define ODM_IC_11N_SERIES (ODM_RTL8192S|ODM_RTL8192C|ODM_RTL8192D|ODM_RTL8723A|ODM_RTL8188E) -#define ODM_IC_11AC_SERIES (ODM_RTL8812) - -//ODM_CMNINFO_CUT_VER -typedef enum tag_ODM_Cut_Version_Definition -{ - ODM_CUT_A = 1, - ODM_CUT_B = 2, - ODM_CUT_C = 3, - ODM_CUT_D = 4, - ODM_CUT_E = 5, - ODM_CUT_F = 6, - ODM_CUT_TEST = 7, -}ODM_CUT_VERSION_E; - -// ODM_CMNINFO_FAB_VER -typedef enum tag_ODM_Fab_Version_Definition -{ - ODM_TSMC = 0, - ODM_UMC = 1, -}ODM_FAB_E; - -// ODM_CMNINFO_RF_TYPE -// -// For example 1T2R (A+AB = BIT0|BIT4|BIT5) -// -typedef enum tag_ODM_RF_Path_Bit_Definition -{ - ODM_RF_TX_A = BIT0, - ODM_RF_TX_B = BIT1, - ODM_RF_TX_C = BIT2, - ODM_RF_TX_D = BIT3, - ODM_RF_RX_A = BIT4, - ODM_RF_RX_B = BIT5, - ODM_RF_RX_C = BIT6, - ODM_RF_RX_D = BIT7, -}ODM_RF_PATH_E; - - -typedef enum tag_ODM_RF_Type_Definition -{ - ODM_1T1R = 0, - ODM_1T2R = 1, - ODM_2T2R = 2, - ODM_2T3R = 3, - ODM_2T4R = 4, - ODM_3T3R = 5, - ODM_3T4R = 6, - ODM_4T4R = 7, -}ODM_RF_TYPE_E; - - -// -// ODM Dynamic common info value definition -// - -//typedef enum _MACPHY_MODE_8192D{ -// SINGLEMAC_SINGLEPHY, -// DUALMAC_DUALPHY, -// DUALMAC_SINGLEPHY, -//}MACPHY_MODE_8192D,*PMACPHY_MODE_8192D; -// Above is the original define in MP driver. Please use the same define. THX. -typedef enum tag_ODM_MAC_PHY_Mode_Definition -{ - ODM_SMSP = 0, - ODM_DMSP = 1, - ODM_DMDP = 2, -}ODM_MAC_PHY_MODE_E; - - -typedef enum tag_BT_Coexist_Definition -{ - ODM_BT_BUSY = 1, - ODM_BT_ON = 2, - ODM_BT_OFF = 3, - ODM_BT_NONE = 4, -}ODM_BT_COEXIST_E; - -// ODM_CMNINFO_OP_MODE -typedef enum tag_Operation_Mode_Definition -{ - ODM_NO_LINK = BIT0, - ODM_LINK = BIT1, - ODM_SCAN = BIT2, - ODM_POWERSAVE = BIT3, - ODM_AP_MODE = BIT4, - ODM_CLIENT_MODE = BIT5, - ODM_AD_HOC = BIT6, - ODM_WIFI_DIRECT = BIT7, - ODM_WIFI_DISPLAY = BIT8, -}ODM_OPERATION_MODE_E; - -// ODM_CMNINFO_WM_MODE -typedef enum tag_Wireless_Mode_Definition -{ - ODM_WM_UNKNOW = 0x0, - ODM_WM_B = BIT0, - ODM_WM_G = BIT1, - ODM_WM_A = BIT2, - ODM_WM_N24G = BIT3, - ODM_WM_N5G = BIT4, - ODM_WM_AUTO = BIT5, - ODM_WM_AC = BIT6, -}ODM_WIRELESS_MODE_E; - -// ODM_CMNINFO_BAND -typedef enum tag_Band_Type_Definition -{ - ODM_BAND_2_4G = BIT0, - ODM_BAND_5G = BIT1, - -}ODM_BAND_TYPE_E; - -// ODM_CMNINFO_SEC_CHNL_OFFSET -typedef enum tag_Secondary_Channel_Offset_Definition -{ - ODM_DONT_CARE = 0, - ODM_BELOW = 1, - ODM_ABOVE = 2 -}ODM_SEC_CHNL_OFFSET_E; - -// ODM_CMNINFO_SEC_MODE -typedef enum tag_Security_Definition -{ - ODM_SEC_OPEN = 0, - ODM_SEC_WEP40 = 1, - ODM_SEC_TKIP = 2, - ODM_SEC_RESERVE = 3, - ODM_SEC_AESCCMP = 4, - ODM_SEC_WEP104 = 5, - ODM_WEP_WPA_MIXED = 6, // WEP + WPA - ODM_SEC_SMS4 = 7, -}ODM_SECURITY_E; - -// ODM_CMNINFO_BW -typedef enum tag_Bandwidth_Definition -{ - ODM_BW20M = 0, - ODM_BW40M = 1, - ODM_BW80M = 2, - ODM_BW160M = 3, - ODM_BW10M = 4, -}ODM_BW_E; - -// ODM_CMNINFO_CHNL - -// ODM_CMNINFO_BOARD_TYPE -typedef enum tag_Board_Definition -{ - ODM_BOARD_NORMAL = 0, - ODM_BOARD_HIGHPWR = 1, - ODM_BOARD_MINICARD = 2, - ODM_BOARD_SLIM = 3, - ODM_BOARD_COMBO = 4, - -}ODM_BOARD_TYPE_E; - -// ODM_CMNINFO_ONE_PATH_CCA -typedef enum tag_CCA_Path -{ - ODM_CCA_2R = 0, - ODM_CCA_1R_A = 1, - ODM_CCA_1R_B = 2, -}ODM_CCA_PATH_E; - - -typedef struct _ODM_RA_Info_ -{ - u1Byte RateID; - u4Byte RateMask; - u4Byte RAUseRate; - u1Byte RateSGI; - u1Byte RssiStaRA; - u1Byte PreRssiStaRA; - u1Byte SGIEnable; - u1Byte DecisionRate; - u1Byte PreRate; - u1Byte HighestRate; - u1Byte LowestRate; - u4Byte NscUp; - u4Byte NscDown; - u2Byte RTY[5]; - u4Byte TOTAL; - u2Byte DROP; - u1Byte Active; - u2Byte RptTime; - u1Byte RAWaitingCounter; - u1Byte RAPendingCounter; -#if 1 //POWER_TRAINING_ACTIVE == 1 // For compile pass only~! - u1Byte PTActive; // on or off - u1Byte PTTryState; // 0 trying state, 1 for decision state - u1Byte PTStage; // 0~6 - u1Byte PTStopCount; //Stop PT counter - u1Byte PTPreRate; // if rate change do PT - u1Byte PTPreRssi; // if RSSI change 5% do PT - u1Byte PTModeSS; // decide whitch rate should do PT - u1Byte RAstage; // StageRA, decide how many times RA will be done between PT - u1Byte PTSmoothFactor; -#endif -} ODM_RA_INFO_T,*PODM_RA_INFO_T; - -typedef struct _IQK_MATRIX_REGS_SETTING{ - BOOLEAN bIQKDone; - s4Byte Value[1][IQK_Matrix_REG_NUM]; -}IQK_MATRIX_REGS_SETTING,*PIQK_MATRIX_REGS_SETTING; - -#if (DM_ODM_SUPPORT_TYPE & ODM_MP) -typedef struct _PathDiv_Parameter_define_ -{ - u4Byte org_5g_RegE30; - u4Byte org_5g_RegC14; - u4Byte org_5g_RegCA0; - u4Byte swt_5g_RegE30; - u4Byte swt_5g_RegC14; - u4Byte swt_5g_RegCA0; - //for 2G IQK information - u4Byte org_2g_RegC80; - u4Byte org_2g_RegC4C; - u4Byte org_2g_RegC94; - u4Byte org_2g_RegC14; - u4Byte org_2g_RegCA0; - - u4Byte swt_2g_RegC80; - u4Byte swt_2g_RegC4C; - u4Byte swt_2g_RegC94; - u4Byte swt_2g_RegC14; - u4Byte swt_2g_RegCA0; -}PATHDIV_PARA,*pPATHDIV_PARA; -#endif - - -typedef struct ODM_RF_Calibration_Structure -{ - //for tx power tracking - - u4Byte RegA24; // for TempCCK - s4Byte RegE94; - s4Byte RegE9C; - s4Byte RegEB4; - s4Byte RegEBC; - - //u1Byte bTXPowerTracking; - u1Byte TXPowercount; - BOOLEAN bTXPowerTrackingInit; - BOOLEAN bTXPowerTracking; - u1Byte TxPowerTrackControl; //for mp mode, turn off txpwrtracking as default - u1Byte TM_Trigger; - u1Byte InternalPA5G[2]; //pathA / pathB - - u1Byte ThermalMeter[2]; // ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 - u1Byte ThermalValue; - u1Byte ThermalValue_LCK; - u1Byte ThermalValue_IQK; - u1Byte ThermalValue_DPK; - u1Byte ThermalValue_AVG[AVG_THERMAL_NUM]; - u1Byte ThermalValue_AVG_index; - u1Byte ThermalValue_RxGain; - u1Byte ThermalValue_Crystal; - u1Byte ThermalValue_DPKstore; - u1Byte ThermalValue_DPKtrack; - BOOLEAN TxPowerTrackingInProgress; - BOOLEAN bDPKenable; - - BOOLEAN bReloadtxpowerindex; - u1Byte bRfPiEnable; - u4Byte TXPowerTrackingCallbackCnt; //cosa add for debug - - u1Byte bCCKinCH14; - u1Byte CCK_index; - u1Byte OFDM_index[2]; - BOOLEAN bDoneTxpower; - - u1Byte ThermalValue_HP[HP_THERMAL_NUM]; - u1Byte ThermalValue_HP_index; - IQK_MATRIX_REGS_SETTING IQKMatrixRegSetting[IQK_Matrix_Settings_NUM]; - - u1Byte Delta_IQK; - u1Byte Delta_LCK; - - //for IQK - u4Byte RegC04; - u4Byte Reg874; - u4Byte RegC08; - u4Byte RegB68; - u4Byte RegB6C; - u4Byte Reg870; - u4Byte Reg860; - u4Byte Reg864; - - BOOLEAN bIQKInitialized; - BOOLEAN bLCKInProgress; - BOOLEAN bAntennaDetected; - u4Byte ADDA_backup[IQK_ADDA_REG_NUM]; - u4Byte IQK_MAC_backup[IQK_MAC_REG_NUM]; - u4Byte IQK_BB_backup_recover[9]; - u4Byte IQK_BB_backup[IQK_BB_REG_NUM]; - - //for APK - u4Byte APKoutput[2][2]; //path A/B; output1_1a/output1_2a - u1Byte bAPKdone; - u1Byte bAPKThermalMeterIgnore; - u1Byte bDPdone; - u1Byte bDPPathAOK; - u1Byte bDPPathBOK; -}ODM_RF_CAL_T,*PODM_RF_CAL_T; -// -// ODM Dynamic common info value definition -// - -typedef struct _FAST_ANTENNA_TRAINNING_ -{ - u1Byte Bssid[6]; - u1Byte antsel_rx_keep_0; - u1Byte antsel_rx_keep_1; - u1Byte antsel_rx_keep_2; - u4Byte antSumRSSI[7]; - u4Byte antRSSIcnt[7]; - u4Byte antAveRSSI[7]; - u1Byte FAT_State; - u4Byte TrainIdx; - u1Byte antsel_a[ODM_ASSOCIATE_ENTRY_NUM]; - u1Byte antsel_b[ODM_ASSOCIATE_ENTRY_NUM]; - u1Byte antsel_c[ODM_ASSOCIATE_ENTRY_NUM]; - u4Byte MainAnt_Sum[ODM_ASSOCIATE_ENTRY_NUM]; - u4Byte AuxAnt_Sum[ODM_ASSOCIATE_ENTRY_NUM]; - u4Byte MainAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM]; - u4Byte AuxAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM]; - u1Byte RxIdleAnt; - BOOLEAN bBecomeLinked; - -}FAT_T,*pFAT_T; - -typedef enum _FAT_STATE -{ - FAT_NORMAL_STATE = 0, - FAT_TRAINING_STATE = 1, -}FAT_STATE_E, *PFAT_STATE_E; - -typedef enum _ANT_DIV_TYPE -{ - NO_ANTDIV = 0xFF, - CG_TRX_HW_ANTDIV = 0x01, - CGCS_RX_HW_ANTDIV = 0x02, - FIXED_HW_ANTDIV = 0x03, - CG_TRX_SMART_ANTDIV = 0x04, - CGCS_RX_SW_ANTDIV = 0x05, - -}ANT_DIV_TYPE_E, *PANT_DIV_TYPE_E; - - - - - - - - - - - - - -// -// 2011/09/22 MH Copy from SD4 defined structure. We use to support PHY DM integration. -// -#if(DM_ODM_SUPPORT_TYPE & ODM_MP) -#if (RT_PLATFORM != PLATFORM_LINUX) -typedef -#endif -struct DM_Out_Source_Dynamic_Mechanism_Structure -#else// for AP,ADSL,CE Team -typedef struct DM_Out_Source_Dynamic_Mechanism_Structure -#endif -{ - //RT_TIMER FastAntTrainingTimer; - // - // Add for different team use temporarily - // - PADAPTER Adapter; // For CE/NIC team - prtl8192cd_priv priv; // For AP/ADSL team - // WHen you use Adapter or priv pointer, you must make sure the pointer is ready. - BOOLEAN odm_ready; - -#if(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) - rtl8192cd_priv fake_priv; -#endif -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - // ADSL_AP_BUILD_WORKAROUND - ADAPTER fake_adapter; -#endif - - u8Byte DebugComponents; - u4Byte DebugLevel; - -//------ ODM HANDLE, DRIVER NEEDS NOT TO HOOK------// - BOOLEAN bCckHighPower; - u1Byte RFPathRxEnable; // ODM_CMNINFO_RFPATH_ENABLE - u1Byte ControlChannel; -//------ ODM HANDLE, DRIVER NEEDS NOT TO HOOK------// - -//--------REMOVED COMMON INFO----------// - //u1Byte PseudoMacPhyMode; - //BOOLEAN *BTCoexist; - //BOOLEAN PseudoBtCoexist; - //u1Byte OPMode; - //BOOLEAN bAPMode; - //BOOLEAN bClientMode; - //BOOLEAN bAdHocMode; - //BOOLEAN bSlaveOfDMSP; -//--------REMOVED COMMON INFO----------// - - -//1 COMMON INFORMATION - - // - // Init Value - // -//-----------HOOK BEFORE REG INIT-----------// - // ODM Platform info AP/ADSL/CE/MP = 1/2/3/4 - u1Byte SupportPlatform; - // ODM Support Ability DIG/RATR/TX_PWR_TRACK/ ¡K¡K = 1/2/3/¡K - u4Byte SupportAbility; - // ODM PCIE/USB/SDIO/GSPI = 0/1/2/3 - u1Byte SupportInterface; - // ODM composite or independent. Bit oriented/ 92C+92D+ .... or any other type = 1/2/3/... - u4Byte SupportICType; - // Cut Version TestChip/A-cut/B-cut... = 0/1/2/3/... - u1Byte CutVersion; - // Fab Version TSMC/UMC = 0/1 - u1Byte FabVersion; - // RF Type 4T4R/3T3R/2T2R/1T2R/1T1R/... - u1Byte RFType; - // Board Type Normal/HighPower/MiniCard/SLIM/Combo/... = 0/1/2/3/4/... - u1Byte BoardType; - // with external LNA NO/Yes = 0/1 - u1Byte ExtLNA; - // with external PA NO/Yes = 0/1 - u1Byte ExtPA; - // with external TRSW NO/Yes = 0/1 - u1Byte ExtTRSW; - u1Byte PatchID; //Customer ID - BOOLEAN bInHctTest; - BOOLEAN bWIFITest; - - BOOLEAN bDualMacSmartConcurrent; - u4Byte BK_SupportAbility; - u1Byte AntDivType; -//-----------HOOK BEFORE REG INIT-----------// - - // - // Dynamic Value - // -//--------- POINTER REFERENCE-----------// - - u1Byte u1Byte_temp; - BOOLEAN BOOLEAN_temp; - PADAPTER PADAPTER_temp; - - // MAC PHY Mode SMSP/DMSP/DMDP = 0/1/2 - u1Byte *pMacPhyMode; - //TX Unicast byte count - u8Byte *pNumTxBytesUnicast; - //RX Unicast byte count - u8Byte *pNumRxBytesUnicast; - // Wireless mode B/G/A/N = BIT0/BIT1/BIT2/BIT3 - u1Byte *pWirelessMode; //ODM_WIRELESS_MODE_E - // Frequence band 2.4G/5G = 0/1 - u1Byte *pBandType; - // Secondary channel offset don't_care/below/above = 0/1/2 - u1Byte *pSecChOffset; - // Security mode Open/WEP/AES/TKIP = 0/1/2/3 - u1Byte *pSecurity; - // BW info 20M/40M/80M = 0/1/2 - u1Byte *pBandWidth; - // Central channel location Ch1/Ch2/.... - u1Byte *pChannel; //central channel number - // Common info for 92D DMSP - - BOOLEAN *pbGetValueFromOtherMac; - PADAPTER *pBuddyAdapter; - BOOLEAN *pbMasterOfDMSP; //MAC0: master, MAC1: slave - // Common info for Status - BOOLEAN *pbScanInProcess; - BOOLEAN *pbPowerSaving; - // CCA Path 2-path/path-A/path-B = 0/1/2; using ODM_CCA_PATH_E. - u1Byte *pOnePathCCA; - //pMgntInfo->AntennaTest - u1Byte *pAntennaTest; - BOOLEAN *pbNet_closed; -//--------- POINTER REFERENCE-----------// - // -//------------CALL BY VALUE-------------// - BOOLEAN bWIFI_Direct; - BOOLEAN bWIFI_Display; - BOOLEAN bLinked; - u1Byte RSSI_Min; - u1Byte InterfaceIndex; // Add for 92D dual MAC: 0--Mac0 1--Mac1 - BOOLEAN bIsMPChip; - BOOLEAN bOneEntryOnly; - // Common info for BTDM - BOOLEAN bBtDisabled; // BT is disabled - BOOLEAN bBtHsOperation; // BT HS mode is under progress - u1Byte btHsDigVal; // use BT rssi to decide the DIG value - BOOLEAN bBtDisableEdcaTurbo; // Under some condition, don't enable the EDCA Turbo - BOOLEAN bBtBusy; // BT is busy. -//------------CALL BY VALUE-------------// - - //2 Define STA info. - // _ODM_STA_INFO - // 2012/01/12 MH For MP, we need to reduce one array pointer for default port.?? - PSTA_INFO_T pODM_StaInfo[ODM_ASSOCIATE_ENTRY_NUM]; - -#if (RATE_ADAPTIVE_SUPPORT == 1) - u2Byte CurrminRptTime; - ODM_RA_INFO_T RAInfo[ODM_ASSOCIATE_ENTRY_NUM]; //Use MacID as array index. STA MacID=0, VWiFi Client MacID={1, ODM_ASSOCIATE_ENTRY_NUM-1} //YJ,add,120119 -#endif - // - // 2012/02/14 MH Add to share 88E ra with other SW team. - // We need to colelct all support abilit to a proper area. - // - BOOLEAN RaSupport88E; - - // Define ........... - - // Latest packet phy info (ODM write) - ODM_PHY_DBG_INFO_T PhyDbgInfo; - //PHY_INFO_88E PhyInfo; - - // Latest packet phy info (ODM write) - ODM_MAC_INFO *pMacInfo; - //MAC_INFO_88E MacInfo; - - // Different Team independt structure?? - - // - //TX_RTP_CMN TX_retrpo; - //TX_RTP_88E TX_retrpo; - //TX_RTP_8195 TX_retrpo; - - // - //ODM Structure - // - FAT_T DM_FatTable; - DIG_T DM_DigTable; - PS_T DM_PSTable; - Pri_CCA_T DM_PriCCA; - RXHP_T DM_RXHP_Table; - FALSE_ALARM_STATISTICS FalseAlmCnt; - FALSE_ALARM_STATISTICS FlaseAlmCntBuddyAdapter; - //#ifdef CONFIG_ANTENNA_DIVERSITY - SWAT_T DM_SWAT_Table; - BOOLEAN RSSI_test; - //#endif - -#if (DM_ODM_SUPPORT_TYPE & ODM_MP) - //Path Div Struct - PATHDIV_PARA pathIQK; -#endif - - EDCA_T DM_EDCA_Table; - u4Byte WMMEDCA_BE; - // Copy from SD4 structure - // - // ================================================== - // - - //common - //u1Byte DM_Type; - //u1Byte PSD_Report_RXHP[80]; // Add By Gary - //u1Byte PSD_func_flag; // Add By Gary - //for DIG - //u1Byte bDMInitialGainEnable; - //u1Byte binitialized; // for dm_initial_gain_Multi_STA use. - //for Antenna diversity - //u8 AntDivCfg;// 0:OFF , 1:ON, 2:by efuse - //PSTA_INFO_T RSSI_target; - - BOOLEAN *pbDriverStopped; - BOOLEAN *pbDriverIsGoingToPnpSetPowerSleep; - BOOLEAN *pinit_adpt_in_progress; - - //PSD - BOOLEAN bUserAssignLevel; - RT_TIMER PSDTimer; - u1Byte RSSI_BT; //come from BT - BOOLEAN bPSDinProcess; - BOOLEAN bDMInitialGainEnable; - - //for rate adaptive, in fact, 88c/92c fw will handle this - u1Byte bUseRAMask; - - ODM_RATE_ADAPTIVE RateAdaptive; - - - ODM_RF_CAL_T RFCalibrateInfo; - - // - // TX power tracking - // - u1Byte BbSwingIdxOfdm; - u1Byte BbSwingIdxOfdmCurrent; - u1Byte BbSwingIdxOfdmBase; - BOOLEAN BbSwingFlagOfdm; - u1Byte BbSwingIdxCck; - u1Byte BbSwingIdxCckCurrent; - u1Byte BbSwingIdxCckBase; - BOOLEAN BbSwingFlagCck; - u1Byte *mp_mode; - // - // ODM system resource. - // - - // ODM relative time. - RT_TIMER PathDivSwitchTimer; - //2011.09.27 add for Path Diversity - RT_TIMER CCKPathDiversityTimer; - RT_TIMER FastAntTrainingTimer; - - // ODM relative workitem. -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - #if USE_WORKITEM - RT_WORK_ITEM PathDivSwitchWorkitem; - RT_WORK_ITEM CCKPathDiversityWorkitem; - RT_WORK_ITEM FastAntTrainingWorkitem; - #endif -#endif - -#if(DM_ODM_SUPPORT_TYPE & ODM_MP) - -#if (RT_PLATFORM != PLATFORM_LINUX) -} DM_ODM_T, *PDM_ODM_T; // DM_Dynamic_Mechanism_Structure -#else -}; -#endif - -#else// for AP,ADSL,CE Team -} DM_ODM_T, *PDM_ODM_T; // DM_Dynamic_Mechanism_Structure -#endif - - - -#if 1 //92c-series -#define ODM_RF_PATH_MAX 2 -#else //jaguar - series -#define ODM_RF_PATH_MAX 4 -#endif - -typedef enum _ODM_RF_RADIO_PATH { - ODM_RF_PATH_A = 0, //Radio Path A - ODM_RF_PATH_B = 1, //Radio Path B - ODM_RF_PATH_C = 2, //Radio Path C - ODM_RF_PATH_D = 3, //Radio Path D - // ODM_RF_PATH_MAX, //Max RF number 90 support -} ODM_RF_RADIO_PATH_E, *PODM_RF_RADIO_PATH_E; - - typedef enum _ODM_RF_CONTENT{ - odm_radioa_txt = 0x1000, - odm_radiob_txt = 0x1001, - odm_radioc_txt = 0x1002, - odm_radiod_txt = 0x1003 -} ODM_RF_CONTENT; - -typedef enum _ODM_BB_Config_Type{ - CONFIG_BB_PHY_REG, - CONFIG_BB_AGC_TAB, - CONFIG_BB_AGC_TAB_2G, - CONFIG_BB_AGC_TAB_5G, - CONFIG_BB_PHY_REG_PG, -} ODM_BB_Config_Type, *PODM_BB_Config_Type; - -// Status code -#if (DM_ODM_SUPPORT_TYPE != ODM_MP) -typedef enum _RT_STATUS{ - RT_STATUS_SUCCESS, - RT_STATUS_FAILURE, - RT_STATUS_PENDING, - RT_STATUS_RESOURCE, - RT_STATUS_INVALID_CONTEXT, - RT_STATUS_INVALID_PARAMETER, - RT_STATUS_NOT_SUPPORT, - RT_STATUS_OS_API_FAILED, -}RT_STATUS,*PRT_STATUS; -#endif // end of RT_STATUS definition - -#ifdef REMOVE_PACK -#pragma pack() -#endif - -//#include "odm_function.h" - -//3=========================================================== -//3 DIG -//3=========================================================== - -typedef enum tag_Dynamic_Init_Gain_Operation_Type_Definition -{ - DIG_TYPE_THRESH_HIGH = 0, - DIG_TYPE_THRESH_LOW = 1, - DIG_TYPE_BACKOFF = 2, - DIG_TYPE_RX_GAIN_MIN = 3, - DIG_TYPE_RX_GAIN_MAX = 4, - DIG_TYPE_ENABLE = 5, - DIG_TYPE_DISABLE = 6, - DIG_OP_TYPE_MAX -}DM_DIG_OP_E; -/* -typedef enum tag_CCK_Packet_Detection_Threshold_Type_Definition -{ - CCK_PD_STAGE_LowRssi = 0, - CCK_PD_STAGE_HighRssi = 1, - CCK_PD_STAGE_MAX = 3, -}DM_CCK_PDTH_E; - -typedef enum tag_DIG_EXT_PORT_ALGO_Definition -{ - DIG_EXT_PORT_STAGE_0 = 0, - DIG_EXT_PORT_STAGE_1 = 1, - DIG_EXT_PORT_STAGE_2 = 2, - DIG_EXT_PORT_STAGE_3 = 3, - DIG_EXT_PORT_STAGE_MAX = 4, -}DM_DIG_EXT_PORT_ALG_E; - -typedef enum tag_DIG_Connect_Definition -{ - DIG_STA_DISCONNECT = 0, - DIG_STA_CONNECT = 1, - DIG_STA_BEFORE_CONNECT = 2, - DIG_MultiSTA_DISCONNECT = 3, - DIG_MultiSTA_CONNECT = 4, - DIG_CONNECT_MAX -}DM_DIG_CONNECT_E; - - -#define DM_MultiSTA_InitGainChangeNotify(Event) {DM_DigTable.CurMultiSTAConnectState = Event;} - -#define DM_MultiSTA_InitGainChangeNotify_CONNECT(_ADAPTER) \ - DM_MultiSTA_InitGainChangeNotify(DIG_MultiSTA_CONNECT) - -#define DM_MultiSTA_InitGainChangeNotify_DISCONNECT(_ADAPTER) \ - DM_MultiSTA_InitGainChangeNotify(DIG_MultiSTA_DISCONNECT) -*/ -#define DM_DIG_THRESH_HIGH 40 -#define DM_DIG_THRESH_LOW 35 - -#define DM_SCAN_RSSI_TH 0x14 //scan return issue for LC - - -#define DM_FALSEALARM_THRESH_LOW 400 -#define DM_FALSEALARM_THRESH_HIGH 1000 - -#define DM_DIG_MAX_NIC 0x3e -#define DM_DIG_MIN_NIC 0x1e //0x22//0x1c - -#define DM_DIG_MAX_AP 0x32 -#define DM_DIG_MIN_AP 0x20 - -#define DM_DIG_MAX_NIC_HP 0x46 -#define DM_DIG_MIN_NIC_HP 0x2e - -#define DM_DIG_MAX_AP_HP 0x42 -#define DM_DIG_MIN_AP_HP 0x30 - -//vivi 92c&92d has different definition, 20110504 -//this is for 92c -#ifdef CONFIG_SPECIAL_SETTING_FOR_FUNAI_TV -#define DM_DIG_FA_TH0 0x80//0x20 -#else -#define DM_DIG_FA_TH0 0x200//0x20 -#endif -#define DM_DIG_FA_TH1 0x300//0x100 -#define DM_DIG_FA_TH2 0x400//0x200 -//this is for 92d -#define DM_DIG_FA_TH0_92D 0x100 -#define DM_DIG_FA_TH1_92D 0x400 -#define DM_DIG_FA_TH2_92D 0x600 - -#define DM_DIG_BACKOFF_MAX 12 -#define DM_DIG_BACKOFF_MIN -4 -#define DM_DIG_BACKOFF_DEFAULT 10 - -//3=========================================================== -//3 AGC RX High Power Mode -//3=========================================================== -#define LNA_Low_Gain_1 0x64 -#define LNA_Low_Gain_2 0x5A -#define LNA_Low_Gain_3 0x58 - -#define FA_RXHP_TH1 5000 -#define FA_RXHP_TH2 1500 -#define FA_RXHP_TH3 800 -#define FA_RXHP_TH4 600 -#define FA_RXHP_TH5 500 - -//3=========================================================== -//3 EDCA -//3=========================================================== - -//3=========================================================== -//3 Dynamic Tx Power -//3=========================================================== -//Dynamic Tx Power Control Threshold -#define TX_POWER_NEAR_FIELD_THRESH_LVL2 74 -#define TX_POWER_NEAR_FIELD_THRESH_LVL1 67 -#define TX_POWER_NEAR_FIELD_THRESH_AP 0x3F - -#define TxHighPwrLevel_Normal 0 -#define TxHighPwrLevel_Level1 1 -#define TxHighPwrLevel_Level2 2 -#define TxHighPwrLevel_BT1 3 -#define TxHighPwrLevel_BT2 4 -#define TxHighPwrLevel_15 5 -#define TxHighPwrLevel_35 6 -#define TxHighPwrLevel_50 7 -#define TxHighPwrLevel_70 8 -#define TxHighPwrLevel_100 9 - -//3=========================================================== -//3 Tx Power Tracking -//3=========================================================== -#if 0 //mask this, since these have been defined in typdef.h, vivi -#define OFDM_TABLE_SIZE 37 -#define OFDM_TABLE_SIZE_92D 43 -#define CCK_TABLE_SIZE 33 -#endif - - -//3=========================================================== -//3 Rate Adaptive -//3=========================================================== -#define DM_RATR_STA_INIT 0 -#define DM_RATR_STA_HIGH 1 -#define DM_RATR_STA_MIDDLE 2 -#define DM_RATR_STA_LOW 3 - -//3=========================================================== -//3 BB Power Save -//3=========================================================== - - -typedef enum tag_1R_CCA_Type_Definition -{ - CCA_1R =0, - CCA_2R = 1, - CCA_MAX = 2, -}DM_1R_CCA_E; - -typedef enum tag_RF_Type_Definition -{ - RF_Save =0, - RF_Normal = 1, - RF_MAX = 2, -}DM_RF_E; - -//3=========================================================== -//3 Antenna Diversity -//3=========================================================== -typedef enum tag_SW_Antenna_Switch_Definition -{ - Antenna_A = 1, - Antenna_B = 2, - Antenna_MAX = 3, -}DM_SWAS_E; - - -// Maximal number of antenna detection mechanism needs to perform, added by Roger, 2011.12.28. -#define MAX_ANTENNA_DETECTION_CNT 10 - -// -// Extern Global Variables. -// -#define OFDM_TABLE_SIZE_92C 37 -#define OFDM_TABLE_SIZE_92D 43 -#define CCK_TABLE_SIZE 33 - -extern u4Byte OFDMSwingTable[OFDM_TABLE_SIZE_92D]; -extern u1Byte CCKSwingTable_Ch1_Ch13[CCK_TABLE_SIZE][8]; -extern u1Byte CCKSwingTable_Ch14 [CCK_TABLE_SIZE][8]; - - - -// -// check Sta pointer valid or not -// -#if (DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) -#define IS_STA_VALID(pSta) (pSta && pSta->expire_to) -#elif (DM_ODM_SUPPORT_TYPE & ODM_MP) -#define IS_STA_VALID(pSta) (pSta && pSta->bUsed) -#else -#define IS_STA_VALID(pSta) (pSta) -#endif -// 20100514 Joseph: Add definition for antenna switching test after link. -// This indicates two different the steps. -// In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air. -// In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK -// with original RSSI to determine if it is necessary to switch antenna. -#define SWAW_STEP_PEAK 0 -#define SWAW_STEP_DETERMINE 1 - -VOID ODM_Write_DIG(IN PDM_ODM_T pDM_Odm, IN u1Byte CurrentIGI); -VOID ODM_Write_CCK_CCA_Thres(IN PDM_ODM_T pDM_Odm, IN u1Byte CurCCK_CCAThres); - -VOID -ODM_SetAntenna( - IN PDM_ODM_T pDM_Odm, - IN u1Byte Antenna); - - -#define dm_RF_Saving ODM_RF_Saving -void ODM_RF_Saving( IN PDM_ODM_T pDM_Odm, - IN u1Byte bForceInNormal ); - -#define SwAntDivRestAfterLink ODM_SwAntDivRestAfterLink -VOID ODM_SwAntDivRestAfterLink( IN PDM_ODM_T pDM_Odm); - -#define dm_CheckTXPowerTracking ODM_TXPowerTrackingCheck -VOID -ODM_TXPowerTrackingCheck( - IN PDM_ODM_T pDM_Odm - ); - -BOOLEAN -ODM_RAStateCheck( - IN PDM_ODM_T pDM_Odm, - IN s4Byte RSSI, - IN BOOLEAN bForceUpdate, - OUT pu1Byte pRATRState - ); - -#if(DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_AP|ODM_ADSL)) -//============================================================ -// function prototype -//============================================================ -//#define DM_ChangeDynamicInitGainThresh ODM_ChangeDynamicInitGainThresh -//void ODM_ChangeDynamicInitGainThresh(IN PADAPTER pAdapter, -// IN INT32 DM_Type, -// IN INT32 DM_Value); -VOID -ODM_ChangeDynamicInitGainThresh( - IN PDM_ODM_T pDM_Odm, - IN u4Byte DM_Type, - IN u4Byte DM_Value - ); - -BOOLEAN -ODM_CheckPowerStatus( - IN PADAPTER Adapter - ); - - -#if (DM_ODM_SUPPORT_TYPE != ODM_ADSL) -VOID -ODM_RateAdaptiveStateApInit( - IN PADAPTER Adapter , - IN PRT_WLAN_STA pEntry - ); -#endif -#define AP_InitRateAdaptiveState ODM_RateAdaptiveStateApInit - - -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) -#ifdef WIFI_WMM -VOID -ODM_IotEdcaSwitch( - IN PDM_ODM_T pDM_Odm, - IN unsigned char enable - ); -#endif - -BOOLEAN -ODM_ChooseIotMainSTA( - IN PDM_ODM_T pDM_Odm, - IN PSTA_INFO_T pstat - ); -#endif - -#if(DM_ODM_SUPPORT_TYPE==ODM_AP) -#ifdef HW_ANT_SWITCH -u1Byte -ODM_Diversity_AntennaSelect( - IN PDM_ODM_T pDM_Odm, - IN u1Byte *data -); -#endif -#endif - -#define SwAntDivResetBeforeLink ODM_SwAntDivResetBeforeLink -VOID ODM_SwAntDivResetBeforeLink(IN PDM_ODM_T pDM_Odm); - -//#define SwAntDivCheckBeforeLink8192C ODM_SwAntDivCheckBeforeLink8192C -#define SwAntDivCheckBeforeLink ODM_SwAntDivCheckBeforeLink8192C -BOOLEAN -ODM_SwAntDivCheckBeforeLink8192C( - IN PDM_ODM_T pDM_Odm - ); - - -#endif - -#define dm_SWAW_RSSI_Check ODM_SwAntDivChkPerPktRssi -VOID ODM_SwAntDivChkPerPktRssi( - IN PDM_ODM_T pDM_Odm, - IN u1Byte StationID, - IN PODM_PHY_INFO_T pPhyInfo - ); - -#if((DM_ODM_SUPPORT_TYPE==ODM_MP)||(DM_ODM_SUPPORT_TYPE==ODM_CE)) - -u4Byte ConvertTo_dB(u4Byte Value); - -u4Byte -GetPSDData( - PDM_ODM_T pDM_Odm, - unsigned int point, - u1Byte initial_gain_psd); - -#endif - -#if (DM_ODM_SUPPORT_TYPE == ODM_CE) - -VOID -odm_DIGbyRSSI_LPS( - IN PDM_ODM_T pDM_Odm - ); - -u4Byte ODM_Get_Rate_Bitmap( - IN PDM_ODM_T pDM_Odm, - IN u4Byte macid, - IN u4Byte ra_mask, - IN u1Byte rssi_level); -#endif - - -#if(DM_ODM_SUPPORT_TYPE & (ODM_MP)) -#define dm_PSDMonitorCallback odm_PSDMonitorCallback -VOID odm_PSDMonitorCallback(PRT_TIMER pTimer); - -VOID -odm_PSDMonitorWorkItemCallback( - IN PVOID pContext - ); - - -VOID -PatchDCTone( - IN PDM_ODM_T pDM_Odm, - pu4Byte PSD_report, - u1Byte initial_gain_psd -); -VOID -ODM_PSDMonitor( - IN PDM_ODM_T pDM_Odm - ); -VOID odm_PSD_Monitor(PDM_ODM_T pDM_Odm); -VOID odm_PSDMonitorInit(PDM_ODM_T pDM_Odm); - -VOID -ODM_PSDDbgControl( - IN PADAPTER Adapter, - IN u4Byte mode, - IN u4Byte btRssi - ); - -#endif // DM_ODM_SUPPORT_TYPE - - - -VOID ODM_DMInit( IN PDM_ODM_T pDM_Odm); - -VOID -ODM_DMWatchdog( - IN PDM_ODM_T pDM_Odm // For common use in the future - ); - -VOID -ODM_CmnInfoInit( - IN PDM_ODM_T pDM_Odm, - IN ODM_CMNINFO_E CmnInfo, - IN u4Byte Value - ); - -VOID -ODM_CmnInfoHook( - IN PDM_ODM_T pDM_Odm, - IN ODM_CMNINFO_E CmnInfo, - IN PVOID pValue - ); - -VOID -ODM_CmnInfoPtrArrayHook( - IN PDM_ODM_T pDM_Odm, - IN ODM_CMNINFO_E CmnInfo, - IN u2Byte Index, - IN PVOID pValue - ); - -VOID -ODM_CmnInfoUpdate( - IN PDM_ODM_T pDM_Odm, - IN u4Byte CmnInfo, - IN u8Byte Value - ); - -VOID -ODM_InitAllTimers( - IN PDM_ODM_T pDM_Odm - ); - -VOID -ODM_CancelAllTimers( - IN PDM_ODM_T pDM_Odm - ); - -VOID -ODM_ReleaseAllTimers( - IN PDM_ODM_T pDM_Odm - ); - -VOID -ODM_ResetIQKResult( - IN PDM_ODM_T pDM_Odm - ); - - -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) -VOID ODM_InitAllWorkItems(IN PDM_ODM_T pDM_Odm ); -VOID ODM_FreeAllWorkItems(IN PDM_ODM_T pDM_Odm ); - -VOID odm_PathDivChkAntSwitch(PDM_ODM_T pDM_Odm); -VOID ODM_PathDivRestAfterLink( - IN PDM_ODM_T pDM_Odm - ); - - -//===========================================// -// Neil Chen----2011--06--15-- - -//3 Path Diversity -//=========================================================== - -#define TP_MODE 0 -#define RSSI_MODE 1 -#define TRAFFIC_LOW 0 -#define TRAFFIC_HIGH 1 - -//#define PATHDIV_ENABLE 1 - -//VOID odm_PathDivChkAntSwitch(PADAPTER Adapter,u1Byte Step); -VOID ODM_PathDivRestAfterLink( - IN PDM_ODM_T pDM_Odm - ); - -#define dm_PathDiv_RSSI_Check ODM_PathDivChkPerPktRssi -VOID ODM_PathDivChkPerPktRssi(PADAPTER Adapter, - BOOLEAN bIsDefPort, - BOOLEAN bMatchBSSID, - PRT_WLAN_STA pEntry, - PRT_RFD pRfd ); - -u8Byte -PlatformDivision64( - IN u8Byte x, - IN u8Byte y -); - - -// 20100514 Joseph: Add definition for antenna switching test after link. -// This indicates two different the steps. -// In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air. -// In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK -// with original RSSI to determine if it is necessary to switch antenna. -#define SWAW_STEP_PEAK 0 -#define SWAW_STEP_DETERMINE 1 - -//==================================================== -//3 PathDiV End -//==================================================== - -#define PathDivCheckBeforeLink8192C ODM_PathDiversityBeforeLink92C -BOOLEAN -ODM_PathDiversityBeforeLink92C( - //IN PADAPTER Adapter - IN PDM_ODM_T pDM_Odm - ); - -#define DM_ChangeDynamicInitGainThresh ODM_ChangeDynamicInitGainThresh -//void ODM_ChangeDynamicInitGainThresh(IN PADAPTER pAdapter, -// IN INT32 DM_Type, -// IN INT32 DM_Value); -// - - -VOID -ODM_CCKPathDiversityChkPerPktRssi( - PADAPTER Adapter, - BOOLEAN bIsDefPort, - BOOLEAN bMatchBSSID, - PRT_WLAN_STA pEntry, - PRT_RFD pRfd, - pu1Byte pDesc - ); - - -typedef enum tag_DIG_Connect_Definition -{ - DIG_STA_DISCONNECT = 0, - DIG_STA_CONNECT = 1, - DIG_STA_BEFORE_CONNECT = 2, - DIG_MultiSTA_DISCONNECT = 3, - DIG_MultiSTA_CONNECT = 4, - DIG_CONNECT_MAX -}DM_DIG_CONNECT_E; - - -VOID -ODM_FillTXPathInTXDESC( - IN PADAPTER Adapter, - IN PRT_TCB pTcb, - IN pu1Byte pDesc -); - - -#define dm_SWAW_RSSI_Check ODM_SwAntDivChkPerPktRssi - -// -// 2012/01/12 MH Check afapter status. Temp fix BSOD. -// -#define HAL_ADAPTER_STS_CHK(pDM_Odm)\ - if (pDM_Odm->Adapter == NULL)\ - {\ - return;\ - }\ - - -// -// For new definition in MP temporarily fro power tracking, -// -#define odm_TXPowerTrackingDirectCall(_Adapter) \ - IS_HARDWARE_TYPE_8192D(_Adapter) ? odm_TXPowerTrackingCallback_ThermalMeter_92D(_Adapter) : \ - IS_HARDWARE_TYPE_8192C(_Adapter) ? odm_TXPowerTrackingCallback_ThermalMeter_92C(_Adapter) : \ - IS_HARDWARE_TYPE_8723A(_Adapter) ? odm_TXPowerTrackingCallback_ThermalMeter_8723A(_Adapter) :\ - odm_TXPowerTrackingCallback_ThermalMeter_8188E(_Adapter) - -VOID -ODM_SetTxAntByTxInfo_88C_92D( - IN PDM_ODM_T pDM_Odm, - IN pu1Byte pDesc, - IN u1Byte macId - ); -#endif // #if (DM_ODM_SUPPORT_TYPE == ODM_MP) -VOID -ODM_AntselStatistics_88C( - IN PDM_ODM_T pDM_Odm, - IN u1Byte MacId, - IN u4Byte PWDBAll, - IN BOOLEAN isCCKrate -); - -#if( DM_ODM_SUPPORT_TYPE & (ODM_MP |ODM_CE)) - -VOID -ODM_SingleDualAntennaDefaultSetting( - IN PDM_ODM_T pDM_Odm - ); - -BOOLEAN -ODM_SingleDualAntennaDetection( - IN PDM_ODM_T pDM_Odm, - IN u1Byte mode - ); - -#endif // #if((DM_ODM_SUPPORT_TYPE==ODM_MP)||(DM_ODM_SUPPORT_TYPE==ODM_CE)) - -#if (DM_ODM_SUPPORT_TYPE == ODM_CE) -void odm_dtc(PDM_ODM_T pDM_Odm); -#endif /* #if (DM_ODM_SUPPORT_TYPE == ODM_CE) */ - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+
+#ifndef __HALDMOUTSRC_H__
+#define __HALDMOUTSRC_H__
+
+//============================================================
+// Definition
+//============================================================
+//
+// 2011/09/22 MH Define all team supprt ability.
+//
+
+//
+// 2011/09/22 MH Define for all teams. Please Define the constan in your precomp header.
+//
+//#define DM_ODM_SUPPORT_AP 0
+//#define DM_ODM_SUPPORT_ADSL 0
+//#define DM_ODM_SUPPORT_CE 0
+//#define DM_ODM_SUPPORT_MP 1
+
+//
+// 2011/09/28 MH Define ODM SW team support flag.
+//
+
+
+
+//
+// Antenna Switch Relative Definition.
+//
+
+//
+// 20100503 Joseph:
+// Add new function SwAntDivCheck8192C().
+// This is the main function of Antenna diversity function before link.
+// Mainly, it just retains last scan result and scan again.
+// After that, it compares the scan result to see which one gets better RSSI.
+// It selects antenna with better receiving power and returns better scan result.
+//
+#define TP_MODE 0
+#define RSSI_MODE 1
+#define TRAFFIC_LOW 0
+#define TRAFFIC_HIGH 1
+
+
+//============================================================
+//3 Tx Power Tracking
+//3============================================================
+#define DPK_DELTA_MAPPING_NUM 13
+#define index_mapping_HP_NUM 15
+
+
+//============================================================
+//3 PSD Handler
+//3============================================================
+
+#define AFH_PSD 1 //0:normal PSD scan, 1: only do 20 pts PSD
+#define MODE_40M 0 //0:20M, 1:40M
+#define PSD_TH2 3
+#define PSD_CHMIN 20 // Minimum channel number for BT AFH
+#define SIR_STEP_SIZE 3
+#define Smooth_Size_1 5
+#define Smooth_TH_1 3
+#define Smooth_Size_2 10
+#define Smooth_TH_2 4
+#define Smooth_Size_3 20
+#define Smooth_TH_3 4
+#define Smooth_Step_Size 5
+#define Adaptive_SIR 1
+#if(RTL8723_FPGA_VERIFICATION == 1)
+#define PSD_RESCAN 1
+#else
+#define PSD_RESCAN 4
+#endif
+#define PSD_SCAN_INTERVAL 700 //ms
+
+
+
+//8723A High Power IGI Setting
+#define DM_DIG_HIGH_PWR_IGI_LOWER_BOUND 0x22
+#define DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND 0x28
+#define DM_DIG_HIGH_PWR_THRESHOLD 0x3a
+#define DM_DIG_LOW_PWR_THRESHOLD 0x14
+
+//ANT Test
+#define ANTTESTALL 0x00 //Ant A or B will be Testing
+#define ANTTESTA 0x01 //Ant A will be Testing
+#define ANTTESTB 0x02 //Ant B will be testing
+
+// LPS define
+#define DM_DIG_FA_TH0_LPS 4 //-> 4 in lps
+#define DM_DIG_FA_TH1_LPS 15 //-> 15 lps
+#define DM_DIG_FA_TH2_LPS 30 //-> 30 lps
+#define RSSI_OFFSET_DIG 0x05;
+
+//ANT Test
+#define ANTTESTALL 0x00 //Ant A or B will be Testing
+#define ANTTESTA 0x01 //Ant A will be Testing
+#define ANTTESTB 0x02 //Ant B will be testing
+
+
+//============================================================
+// structure and define
+//============================================================
+
+//
+// 2011/09/20 MH Add for AP/ADSLpseudo DM structuer requirement.
+// We need to remove to other position???
+//
+#if(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+typedef struct rtl8192cd_priv {
+ u1Byte temp;
+
+}rtl8192cd_priv, *prtl8192cd_priv;
+#endif
+
+
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+typedef struct _ADAPTER{
+ u1Byte temp;
+ #ifdef AP_BUILD_WORKAROUND
+ HAL_DATA_TYPE* temp2;
+ prtl8192cd_priv priv;
+ #endif
+}ADAPTER, *PADAPTER;
+#endif
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_AP)
+
+typedef struct _WLAN_STA{
+ u1Byte temp;
+} WLAN_STA, *PRT_WLAN_STA;
+
+#endif
+
+typedef struct _Dynamic_Initial_Gain_Threshold_
+{
+ u1Byte Dig_Enable_Flag;
+ u1Byte Dig_Ext_Port_Stage;
+
+ int RssiLowThresh;
+ int RssiHighThresh;
+
+ u4Byte FALowThresh;
+ u4Byte FAHighThresh;
+
+ u1Byte CurSTAConnectState;
+ u1Byte PreSTAConnectState;
+ u1Byte CurMultiSTAConnectState;
+
+ u1Byte PreIGValue;
+ u1Byte CurIGValue;
+ u1Byte BT30_CurIGI;
+ u1Byte BackupIGValue;
+
+ s1Byte BackoffVal;
+ s1Byte BackoffVal_range_max;
+ s1Byte BackoffVal_range_min;
+ u1Byte rx_gain_range_max;
+ u1Byte rx_gain_range_min;
+ u1Byte Rssi_val_min;
+
+ u1Byte PreCCK_CCAThres;
+ u1Byte CurCCK_CCAThres;
+ u1Byte PreCCKPDState;
+ u1Byte CurCCKPDState;
+
+ u1Byte LargeFAHit;
+ u1Byte ForbiddenIGI;
+ u4Byte Recover_cnt;
+
+ u1Byte DIG_Dynamic_MIN_0;
+ u1Byte DIG_Dynamic_MIN_1;
+ BOOLEAN bMediaConnect_0;
+ BOOLEAN bMediaConnect_1;
+
+ u4Byte AntDiv_RSSI_max;
+ u4Byte RSSI_max;
+}DIG_T,*pDIG_T;
+
+typedef struct _Dynamic_Power_Saving_
+{
+ u1Byte PreCCAState;
+ u1Byte CurCCAState;
+
+ u1Byte PreRFState;
+ u1Byte CurRFState;
+
+ int Rssi_val_min;
+
+ u1Byte initialize;
+ u4Byte Reg874,RegC70,Reg85C,RegA74;
+
+}PS_T,*pPS_T;
+
+typedef struct _FALSE_ALARM_STATISTICS{
+ u4Byte Cnt_Parity_Fail;
+ u4Byte Cnt_Rate_Illegal;
+ u4Byte Cnt_Crc8_fail;
+ u4Byte Cnt_Mcs_fail;
+ u4Byte Cnt_Ofdm_fail;
+ u4Byte Cnt_Cck_fail;
+ u4Byte Cnt_all;
+ u4Byte Cnt_Fast_Fsync;
+ u4Byte Cnt_SB_Search_fail;
+ u4Byte Cnt_OFDM_CCA;
+ u4Byte Cnt_CCK_CCA;
+ u4Byte Cnt_CCA_all;
+ u4Byte Cnt_BW_USC; //Gary
+ u4Byte Cnt_BW_LSC; //Gary
+}FALSE_ALARM_STATISTICS, *PFALSE_ALARM_STATISTICS;
+
+typedef struct _Dynamic_Primary_CCA{
+ u1Byte PriCCA_flag;
+ u1Byte intf_flag;
+ u1Byte intf_type;
+ u1Byte DupRTS_flag;
+ u1Byte Monitor_flag;
+}Pri_CCA_T, *pPri_CCA_T;
+
+typedef struct _RX_High_Power_
+{
+ u1Byte RXHP_flag;
+ u1Byte PSD_func_trigger;
+ u1Byte PSD_bitmap_RXHP[80];
+ u1Byte Pre_IGI;
+ u1Byte Cur_IGI;
+ u1Byte Pre_pw_th;
+ u1Byte Cur_pw_th;
+ BOOLEAN First_time_enter;
+ BOOLEAN RXHP_enable;
+ u1Byte TP_Mode;
+ RT_TIMER PSDTimer;
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ #if USE_WORKITEM
+ RT_WORK_ITEM PSDTimeWorkitem;
+ #endif
+#endif
+
+}RXHP_T, *pRXHP_T;
+
+#if(DM_ODM_SUPPORT_TYPE & (ODM_CE))
+#define ASSOCIATE_ENTRY_NUM 32 // Max size of AsocEntry[].
+#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM
+
+#elif(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+#define ASSOCIATE_ENTRY_NUM NUM_STAT
+#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM+1
+
+#else
+//
+// 2012/01/12 MH Revise for compatiable with other SW team.
+// 0 is for STA 1-n is for AP clients.
+//
+#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM+1// Default port only one
+#endif
+
+//#ifdef CONFIG_ANTENNA_DIVERSITY
+// This indicates two different the steps.
+// In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air.
+// In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK
+// with original RSSI to determine if it is necessary to switch antenna.
+#define SWAW_STEP_PEAK 0
+#define SWAW_STEP_DETERMINE 1
+
+#define TP_MODE 0
+#define RSSI_MODE 1
+#define TRAFFIC_LOW 0
+#define TRAFFIC_HIGH 1
+
+typedef struct _SW_Antenna_Switch_
+{
+ u1Byte try_flag;
+ s4Byte PreRSSI;
+ u1Byte CurAntenna;
+ u1Byte PreAntenna;
+ u1Byte RSSI_Trying;
+ u1Byte TestMode;
+ u1Byte bTriggerAntennaSwitch;
+ u1Byte SelectAntennaMap;
+ u1Byte RSSI_target;
+
+ // Before link Antenna Switch check
+ u1Byte SWAS_NoLink_State;
+ u4Byte SWAS_NoLink_BK_Reg860;
+ BOOLEAN ANTA_ON; //To indicate Ant A is or not
+ BOOLEAN ANTB_ON; //To indicate Ant B is on or not
+
+ s4Byte RSSI_sum_A;
+ s4Byte RSSI_sum_B;
+ s4Byte RSSI_cnt_A;
+ s4Byte RSSI_cnt_B;
+
+ u8Byte lastTxOkCnt;
+ u8Byte lastRxOkCnt;
+ u8Byte TXByteCnt_A;
+ u8Byte TXByteCnt_B;
+ u8Byte RXByteCnt_A;
+ u8Byte RXByteCnt_B;
+ u1Byte TrafficLoad;
+ RT_TIMER SwAntennaSwitchTimer;
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ #if USE_WORKITEM
+ RT_WORK_ITEM SwAntennaSwitchWorkitem;
+ #endif
+#endif
+/* CE Platform use
+#ifdef CONFIG_SW_ANTENNA_DIVERSITY
+ _timer SwAntennaSwitchTimer;
+ u8Byte lastTxOkCnt;
+ u8Byte lastRxOkCnt;
+ u8Byte TXByteCnt_A;
+ u8Byte TXByteCnt_B;
+ u8Byte RXByteCnt_A;
+ u8Byte RXByteCnt_B;
+ u1Byte DoubleComfirm;
+ u1Byte TrafficLoad;
+ //SW Antenna Switch
+
+
+#endif
+*/
+#ifdef CONFIG_HW_ANTENNA_DIVERSITY
+ //Hybrid Antenna Diversity
+ u4Byte CCK_Ant1_Cnt[ASSOCIATE_ENTRY_NUM];
+ u4Byte CCK_Ant2_Cnt[ASSOCIATE_ENTRY_NUM];
+ u4Byte OFDM_Ant1_Cnt[ASSOCIATE_ENTRY_NUM];
+ u4Byte OFDM_Ant2_Cnt[ASSOCIATE_ENTRY_NUM];
+ u4Byte RSSI_Ant1_Sum[ASSOCIATE_ENTRY_NUM];
+ u4Byte RSSI_Ant2_Sum[ASSOCIATE_ENTRY_NUM];
+ u1Byte TxAnt[ASSOCIATE_ENTRY_NUM];
+ u1Byte TargetSTA;
+ u1Byte antsel;
+ u1Byte RxIdleAnt;
+
+#endif
+
+}SWAT_T, *pSWAT_T;
+//#endif
+
+typedef struct _EDCA_TURBO_
+{
+ BOOLEAN bCurrentTurboEDCA;
+ BOOLEAN bIsCurRDLState;
+ #if(DM_ODM_SUPPORT_TYPE == ODM_CE )
+ u4Byte prv_traffic_idx; // edca turbo
+ #endif
+
+}EDCA_T,*pEDCA_T;
+
+typedef struct _ODM_RATE_ADAPTIVE
+{
+ u1Byte Type; // DM_Type_ByFW/DM_Type_ByDriver
+ u1Byte HighRSSIThresh; // if RSSI > HighRSSIThresh => RATRState is DM_RATR_STA_HIGH
+ u1Byte LowRSSIThresh; // if RSSI <= LowRSSIThresh => RATRState is DM_RATR_STA_LOW
+ u1Byte RATRState; // Current RSSI level, DM_RATR_STA_HIGH/DM_RATR_STA_MIDDLE/DM_RATR_STA_LOW
+ u4Byte LastRATR; // RATR Register Content
+
+} ODM_RATE_ADAPTIVE, *PODM_RATE_ADAPTIVE;
+
+
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+
+#ifdef ADSL_AP_BUILD_WORKAROUND
+#define MAX_TOLERANCE 5
+#define IQK_DELAY_TIME 1 //ms
+#endif
+
+//
+// Indicate different AP vendor for IOT issue.
+//
+typedef enum _HT_IOT_PEER
+{
+ HT_IOT_PEER_UNKNOWN = 0,
+ HT_IOT_PEER_REALTEK = 1,
+ HT_IOT_PEER_REALTEK_92SE = 2,
+ HT_IOT_PEER_BROADCOM = 3,
+ HT_IOT_PEER_RALINK = 4,
+ HT_IOT_PEER_ATHEROS = 5,
+ HT_IOT_PEER_CISCO = 6,
+ HT_IOT_PEER_MERU = 7,
+ HT_IOT_PEER_MARVELL = 8,
+ HT_IOT_PEER_REALTEK_SOFTAP = 9,// peer is RealTek SOFT_AP, by Bohn, 2009.12.17
+ HT_IOT_PEER_SELF_SOFTAP = 10, // Self is SoftAP
+ HT_IOT_PEER_AIRGO = 11,
+ HT_IOT_PEER_INTEL = 12,
+ HT_IOT_PEER_RTK_APCLIENT = 13,
+ HT_IOT_PEER_REALTEK_81XX = 14,
+ HT_IOT_PEER_REALTEK_WOW = 15,
+ HT_IOT_PEER_MAX = 16
+}HT_IOT_PEER_E, *PHTIOT_PEER_E;
+#endif//#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+
+
+#define IQK_MAC_REG_NUM 4
+#define IQK_ADDA_REG_NUM 16
+#define IQK_BB_REG_NUM_MAX 10
+#if (RTL8192D_SUPPORT==1)
+#define IQK_BB_REG_NUM 10
+#else
+#define IQK_BB_REG_NUM 9
+#endif
+#define HP_THERMAL_NUM 8
+
+#define AVG_THERMAL_NUM 8
+#define IQK_Matrix_REG_NUM 8
+#define IQK_Matrix_Settings_NUM 1+24+21
+
+#define DM_Type_ByFW 0
+#define DM_Type_ByDriver 1
+
+//
+// Declare for common info
+//
+// Declare for common info
+//
+#define MAX_PATH_NUM_92CS 2
+
+typedef struct _ODM_Phy_Status_Info_
+{
+ u1Byte RxPWDBAll;
+ u1Byte SignalQuality; // in 0-100 index.
+ u1Byte RxMIMOSignalQuality[MAX_PATH_NUM_92CS]; //EVM
+ u1Byte RxMIMOSignalStrength[MAX_PATH_NUM_92CS];// in 0~100 index
+#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE))
+ s1Byte RxPower; // in dBm Translate from PWdB
+ s1Byte RecvSignalPower;// Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures.
+ u1Byte BTRxRSSIPercentage;
+ u1Byte SignalStrength; // in 0-100 index.
+ u1Byte RxPwr[MAX_PATH_NUM_92CS];//per-path's pwdb
+#endif
+ u1Byte RxSNR[MAX_PATH_NUM_92CS];//per-path's SNR
+}ODM_PHY_INFO_T,*PODM_PHY_INFO_T;
+
+
+typedef struct _ODM_Phy_Dbg_Info_
+{
+ //ODM Write,debug info
+ s1Byte RxSNRdB[MAX_PATH_NUM_92CS];
+ u8Byte NumQryPhyStatus;
+ u8Byte NumQryPhyStatusCCK;
+ u8Byte NumQryPhyStatusOFDM;
+ u1Byte NumQryBeaconPkt;
+ //Others
+ s4Byte RxEVM[MAX_PATH_NUM_92CS];
+
+}ODM_PHY_DBG_INFO_T;
+
+
+typedef struct _ODM_Per_Pkt_Info_
+{
+ u1Byte Rate;
+ u1Byte StationID;
+ BOOLEAN bPacketMatchBSSID;
+ BOOLEAN bPacketToSelf;
+ BOOLEAN bPacketBeacon;
+}ODM_PACKET_INFO_T,*PODM_PACKET_INFO_T;
+
+typedef struct _ODM_Mac_Status_Info_
+{
+ u1Byte test;
+
+}ODM_MAC_INFO;
+
+
+typedef enum tag_Dynamic_ODM_Support_Ability_Type
+{
+ // BB Team
+ ODM_DIG = 0x00000001,
+ ODM_HIGH_POWER = 0x00000002,
+ ODM_CCK_CCA_TH = 0x00000004,
+ ODM_FA_STATISTICS = 0x00000008,
+ ODM_RAMASK = 0x00000010,
+ ODM_RSSI_MONITOR = 0x00000020,
+ ODM_SW_ANTDIV = 0x00000040,
+ ODM_HW_ANTDIV = 0x00000080,
+ ODM_BB_PWRSV = 0x00000100,
+ ODM_2TPATHDIV = 0x00000200,
+ ODM_1TPATHDIV = 0x00000400,
+ ODM_PSD2AFH = 0x00000800
+}ODM_Ability_E;
+
+//
+// 2011/20/20 MH For MP driver RT_WLAN_STA = STA_INFO_T
+// Please declare below ODM relative info in your STA info structure.
+//
+#if 1
+typedef struct _ODM_STA_INFO{
+ // Driver Write
+ BOOLEAN bUsed; // record the sta status link or not?
+ //u1Byte WirelessMode; //
+ u1Byte IOTPeer; // Enum value. HT_IOT_PEER_E
+
+ // ODM Write
+ //1 PHY_STATUS_INFO
+ u1Byte RSSI_Path[4]; //
+ u1Byte RSSI_Ave;
+ u1Byte RXEVM[4];
+ u1Byte RXSNR[4];
+
+ // ODM Write
+ //1 TX_INFO (may changed by IC)
+ //TX_INFO_T pTxInfo; // Define in IC folder. Move lower layer.
+#if 0
+ u1Byte ANTSEL_A; //in Jagar: 4bit; others: 2bit
+ u1Byte ANTSEL_B; //in Jagar: 4bit; others: 2bit
+ u1Byte ANTSEL_C; //only in Jagar: 4bit
+ u1Byte ANTSEL_D; //only in Jagar: 4bit
+ u1Byte TX_ANTL; //not in Jagar: 2bit
+ u1Byte TX_ANT_HT; //not in Jagar: 2bit
+ u1Byte TX_ANT_CCK; //not in Jagar: 2bit
+ u1Byte TXAGC_A; //not in Jagar: 4bit
+ u1Byte TXAGC_B; //not in Jagar: 4bit
+ u1Byte TXPWR_OFFSET; //only in Jagar: 3bit
+ u1Byte TX_ANT; //only in Jagar: 4bit for TX_ANTL/TX_ANTHT/TX_ANT_CCK
+#endif
+
+ //
+ // Please use compile flag to disabe the strcutrue for other IC except 88E.
+ // Move To lower layer.
+ //
+ // ODM Write Wilson will handle this part(said by Luke.Lee)
+ //TX_RPT_T pTxRpt; // Define in IC folder. Move lower layer.
+#if 0
+ //1 For 88E RA (don't redefine the naming)
+ u1Byte rate_id;
+ u1Byte rate_SGI;
+ u1Byte rssi_sta_ra;
+ u1Byte SGI_enable;
+ u1Byte Decision_rate;
+ u1Byte Pre_rate;
+ u1Byte Active;
+
+ // Driver write Wilson handle.
+ //1 TX_RPT (don't redefine the naming)
+ u2Byte RTY[4]; // ???
+ u2Byte TOTAL; // ???
+ u2Byte DROP; // ???
+ //
+ // Please use compile flag to disabe the strcutrue for other IC except 88E.
+ //
+#endif
+
+}ODM_STA_INFO_T, *PODM_STA_INFO_T;
+#endif
+
+//
+// 2011/10/20 MH Define Common info enum for all team.
+//
+typedef enum _ODM_Common_Info_Definition
+{
+//-------------REMOVED CASE-----------//
+ //ODM_CMNINFO_CCK_HP,
+ //ODM_CMNINFO_RFPATH_ENABLE, // Define as ODM write???
+ //ODM_CMNINFO_BT_COEXIST, // ODM_BT_COEXIST_E
+ //ODM_CMNINFO_OP_MODE, // ODM_OPERATION_MODE_E
+//-------------REMOVED CASE-----------//
+
+ //
+ // Fixed value:
+ //
+
+ //-----------HOOK BEFORE REG INIT-----------//
+ ODM_CMNINFO_PLATFORM = 0,
+ ODM_CMNINFO_ABILITY, // ODM_ABILITY_E
+ ODM_CMNINFO_INTERFACE, // ODM_INTERFACE_E
+ ODM_CMNINFO_MP_TEST_CHIP,
+ ODM_CMNINFO_IC_TYPE, // ODM_IC_TYPE_E
+ ODM_CMNINFO_CUT_VER, // ODM_CUT_VERSION_E
+ ODM_CMNINFO_FAB_VER, // ODM_FAB_E
+ ODM_CMNINFO_RF_TYPE, // ODM_RF_PATH_E or ODM_RF_TYPE_E?
+ ODM_CMNINFO_BOARD_TYPE, // ODM_BOARD_TYPE_E
+ ODM_CMNINFO_EXT_LNA, // TRUE
+ ODM_CMNINFO_EXT_PA,
+ ODM_CMNINFO_EXT_TRSW,
+ ODM_CMNINFO_PATCH_ID, //CUSTOMER ID
+ ODM_CMNINFO_BINHCT_TEST,
+ ODM_CMNINFO_BWIFI_TEST,
+ ODM_CMNINFO_SMART_CONCURRENT,
+ //-----------HOOK BEFORE REG INIT-----------//
+
+
+ //
+ // Dynamic value:
+ //
+//--------- POINTER REFERENCE-----------//
+ ODM_CMNINFO_MAC_PHY_MODE, // ODM_MAC_PHY_MODE_E
+ ODM_CMNINFO_TX_UNI,
+ ODM_CMNINFO_RX_UNI,
+ ODM_CMNINFO_WM_MODE, // ODM_WIRELESS_MODE_E
+ ODM_CMNINFO_BAND, // ODM_BAND_TYPE_E
+ ODM_CMNINFO_SEC_CHNL_OFFSET, // ODM_SEC_CHNL_OFFSET_E
+ ODM_CMNINFO_SEC_MODE, // ODM_SECURITY_E
+ ODM_CMNINFO_BW, // ODM_BW_E
+ ODM_CMNINFO_CHNL,
+
+ ODM_CMNINFO_DMSP_GET_VALUE,
+ ODM_CMNINFO_BUDDY_ADAPTOR,
+ ODM_CMNINFO_DMSP_IS_MASTER,
+ ODM_CMNINFO_SCAN,
+ ODM_CMNINFO_POWER_SAVING,
+ ODM_CMNINFO_ONE_PATH_CCA, // ODM_CCA_PATH_E
+ ODM_CMNINFO_DRV_STOP,
+ ODM_CMNINFO_PNP_IN,
+ ODM_CMNINFO_INIT_ON,
+ ODM_CMNINFO_ANT_TEST,
+ ODM_CMNINFO_NET_CLOSED,
+ ODM_CMNINFO_MP_MODE,
+//--------- POINTER REFERENCE-----------//
+
+//------------CALL BY VALUE-------------//
+ ODM_CMNINFO_WIFI_DIRECT,
+ ODM_CMNINFO_WIFI_DISPLAY,
+ ODM_CMNINFO_LINK,
+ ODM_CMNINFO_RSSI_MIN,
+ ODM_CMNINFO_DBG_COMP, // u8Byte
+ ODM_CMNINFO_DBG_LEVEL, // u4Byte
+ ODM_CMNINFO_RA_THRESHOLD_HIGH, // u1Byte
+ ODM_CMNINFO_RA_THRESHOLD_LOW, // u1Byte
+ ODM_CMNINFO_RF_ANTENNA_TYPE, // u1Byte
+ ODM_CMNINFO_BT_DISABLED,
+ ODM_CMNINFO_BT_OPERATION,
+ ODM_CMNINFO_BT_DIG,
+ ODM_CMNINFO_BT_BUSY, //Check Bt is using or not//neil
+ ODM_CMNINFO_BT_DISABLE_EDCA,
+//------------CALL BY VALUE-------------//
+
+ //
+ // Dynamic ptr array hook itms.
+ //
+ ODM_CMNINFO_STA_STATUS,
+ ODM_CMNINFO_PHY_STATUS,
+ ODM_CMNINFO_MAC_STATUS,
+
+ ODM_CMNINFO_MAX,
+
+
+}ODM_CMNINFO_E;
+
+//
+// 2011/10/20 MH Define ODM support ability. ODM_CMNINFO_ABILITY
+//
+typedef enum _ODM_Support_Ability_Definition
+{
+ //
+ // BB ODM section BIT 0-15
+ //
+ ODM_BB_DIG = BIT0,
+ ODM_BB_RA_MASK = BIT1,
+ ODM_BB_DYNAMIC_TXPWR = BIT2,
+ ODM_BB_FA_CNT = BIT3,
+ ODM_BB_RSSI_MONITOR = BIT4,
+ ODM_BB_CCK_PD = BIT5,
+ ODM_BB_ANT_DIV = BIT6,
+ ODM_BB_PWR_SAVE = BIT7,
+ ODM_BB_PWR_TRAIN = BIT8,
+ ODM_BB_RATE_ADAPTIVE = BIT9,
+ ODM_BB_PATH_DIV = BIT10,
+ ODM_BB_PSD = BIT11,
+ ODM_BB_RXHP = BIT12,
+ ODM_BB_ADAPTIVITY = BIT13,
+ ODM_BB_DYNAMIC_ATC = BIT14,
+
+ //
+ // MAC DM section BIT 16-23
+ //
+ ODM_MAC_EDCA_TURBO = BIT16,
+ ODM_MAC_EARLY_MODE = BIT17,
+
+ //
+ // RF ODM section BIT 24-31
+ //
+ ODM_RF_TX_PWR_TRACK = BIT24,
+ ODM_RF_RX_GAIN_TRACK = BIT25,
+ ODM_RF_CALIBRATION = BIT26,
+
+}ODM_ABILITY_E;
+
+// ODM_CMNINFO_INTERFACE
+typedef enum tag_ODM_Support_Interface_Definition
+{
+ ODM_ITRF_PCIE = 0x1,
+ ODM_ITRF_USB = 0x2,
+ ODM_ITRF_SDIO = 0x4,
+ ODM_ITRF_ALL = 0x7,
+}ODM_INTERFACE_E;
+
+// ODM_CMNINFO_IC_TYPE
+typedef enum tag_ODM_Support_IC_Type_Definition
+{
+ ODM_RTL8192S = BIT0,
+ ODM_RTL8192C = BIT1,
+ ODM_RTL8192D = BIT2,
+ ODM_RTL8723A = BIT3,
+ ODM_RTL8188E = BIT4,
+ ODM_RTL8812 = BIT5,
+ ODM_RTL8821 = BIT6,
+ ODM_RTL8192E = BIT7,
+ ODM_RTL8723B = BIT8,
+ ODM_RTL8813A = BIT9,
+ ODM_RTL8881A = BIT10
+}ODM_IC_TYPE_E;
+
+#define ODM_IC_11N_SERIES (ODM_RTL8192S|ODM_RTL8192C|ODM_RTL8192D|ODM_RTL8723A|ODM_RTL8188E)
+#define ODM_IC_11AC_SERIES (ODM_RTL8812)
+
+//ODM_CMNINFO_CUT_VER
+typedef enum tag_ODM_Cut_Version_Definition
+{
+ ODM_CUT_A = 1,
+ ODM_CUT_B = 2,
+ ODM_CUT_C = 3,
+ ODM_CUT_D = 4,
+ ODM_CUT_E = 5,
+ ODM_CUT_F = 6,
+ ODM_CUT_TEST = 7,
+}ODM_CUT_VERSION_E;
+
+// ODM_CMNINFO_FAB_VER
+typedef enum tag_ODM_Fab_Version_Definition
+{
+ ODM_TSMC = 0,
+ ODM_UMC = 1,
+}ODM_FAB_E;
+
+// ODM_CMNINFO_RF_TYPE
+//
+// For example 1T2R (A+AB = BIT0|BIT4|BIT5)
+//
+typedef enum tag_ODM_RF_Path_Bit_Definition
+{
+ ODM_RF_TX_A = BIT0,
+ ODM_RF_TX_B = BIT1,
+ ODM_RF_TX_C = BIT2,
+ ODM_RF_TX_D = BIT3,
+ ODM_RF_RX_A = BIT4,
+ ODM_RF_RX_B = BIT5,
+ ODM_RF_RX_C = BIT6,
+ ODM_RF_RX_D = BIT7,
+}ODM_RF_PATH_E;
+
+
+typedef enum tag_ODM_RF_Type_Definition
+{
+ ODM_1T1R = 0,
+ ODM_1T2R = 1,
+ ODM_2T2R = 2,
+ ODM_2T3R = 3,
+ ODM_2T4R = 4,
+ ODM_3T3R = 5,
+ ODM_3T4R = 6,
+ ODM_4T4R = 7,
+}ODM_RF_TYPE_E;
+
+
+//
+// ODM Dynamic common info value definition
+//
+
+//typedef enum _MACPHY_MODE_8192D{
+// SINGLEMAC_SINGLEPHY,
+// DUALMAC_DUALPHY,
+// DUALMAC_SINGLEPHY,
+//}MACPHY_MODE_8192D,*PMACPHY_MODE_8192D;
+// Above is the original define in MP driver. Please use the same define. THX.
+typedef enum tag_ODM_MAC_PHY_Mode_Definition
+{
+ ODM_SMSP = 0,
+ ODM_DMSP = 1,
+ ODM_DMDP = 2,
+}ODM_MAC_PHY_MODE_E;
+
+
+typedef enum tag_BT_Coexist_Definition
+{
+ ODM_BT_BUSY = 1,
+ ODM_BT_ON = 2,
+ ODM_BT_OFF = 3,
+ ODM_BT_NONE = 4,
+}ODM_BT_COEXIST_E;
+
+// ODM_CMNINFO_OP_MODE
+typedef enum tag_Operation_Mode_Definition
+{
+ ODM_NO_LINK = BIT0,
+ ODM_LINK = BIT1,
+ ODM_SCAN = BIT2,
+ ODM_POWERSAVE = BIT3,
+ ODM_AP_MODE = BIT4,
+ ODM_CLIENT_MODE = BIT5,
+ ODM_AD_HOC = BIT6,
+ ODM_WIFI_DIRECT = BIT7,
+ ODM_WIFI_DISPLAY = BIT8,
+}ODM_OPERATION_MODE_E;
+
+// ODM_CMNINFO_WM_MODE
+typedef enum tag_Wireless_Mode_Definition
+{
+ ODM_WM_UNKNOW = 0x0,
+ ODM_WM_B = BIT0,
+ ODM_WM_G = BIT1,
+ ODM_WM_A = BIT2,
+ ODM_WM_N24G = BIT3,
+ ODM_WM_N5G = BIT4,
+ ODM_WM_AUTO = BIT5,
+ ODM_WM_AC = BIT6,
+}ODM_WIRELESS_MODE_E;
+
+// ODM_CMNINFO_BAND
+typedef enum tag_Band_Type_Definition
+{
+ ODM_BAND_2_4G = BIT0,
+ ODM_BAND_5G = BIT1,
+
+}ODM_BAND_TYPE_E;
+
+// ODM_CMNINFO_SEC_CHNL_OFFSET
+typedef enum tag_Secondary_Channel_Offset_Definition
+{
+ ODM_DONT_CARE = 0,
+ ODM_BELOW = 1,
+ ODM_ABOVE = 2
+}ODM_SEC_CHNL_OFFSET_E;
+
+// ODM_CMNINFO_SEC_MODE
+typedef enum tag_Security_Definition
+{
+ ODM_SEC_OPEN = 0,
+ ODM_SEC_WEP40 = 1,
+ ODM_SEC_TKIP = 2,
+ ODM_SEC_RESERVE = 3,
+ ODM_SEC_AESCCMP = 4,
+ ODM_SEC_WEP104 = 5,
+ ODM_WEP_WPA_MIXED = 6, // WEP + WPA
+ ODM_SEC_SMS4 = 7,
+}ODM_SECURITY_E;
+
+// ODM_CMNINFO_BW
+typedef enum tag_Bandwidth_Definition
+{
+ ODM_BW20M = 0,
+ ODM_BW40M = 1,
+ ODM_BW80M = 2,
+ ODM_BW160M = 3,
+ ODM_BW10M = 4,
+}ODM_BW_E;
+
+// ODM_CMNINFO_CHNL
+
+// ODM_CMNINFO_BOARD_TYPE
+#if 1
+typedef enum tag_Board_Definition
+{
+ ODM_BOARD_DEFAULT = 0, // The DEFAULT case.
+ ODM_BOARD_MINICARD = BIT(0), // 0 = non-mini card, 1= mini card.
+ ODM_BOARD_SLIM = BIT(1), // 0 = non-slim card, 1 = slim card
+ ODM_BOARD_BT = BIT(2), // 0 = without BT card, 1 = with BT
+ ODM_BOARD_EXT_PA = BIT(3), // 0 = no 2G ext-PA, 1 = existing 2G ext-PA
+ ODM_BOARD_EXT_LNA = BIT(4), // 0 = no 2G ext-LNA, 1 = existing 2G ext-LNA
+ ODM_BOARD_EXT_TRSW = BIT(5), // 0 = no ext-TRSW, 1 = existing ext-TRSW
+ ODM_BOARD_EXT_PA_5G = BIT(6), // 0 = no 5G ext-PA, 1 = existing 5G ext-PA
+ ODM_BOARD_EXT_LNA_5G = BIT(7), // 0 = no 5G ext-LNA, 1 = existing 5G ext-LNA
+}ODM_BOARD_TYPE_E;
+#else
+typedef enum tag_Board_Definition
+{
+ ODM_BOARD_NORMAL = 0,
+ ODM_BOARD_HIGHPWR = 1,
+ ODM_BOARD_MINICARD = 2,
+ ODM_BOARD_SLIM = 3,
+ ODM_BOARD_COMBO = 4,
+
+}ODM_BOARD_TYPE_E;
+#endif
+
+
+
+// ODM_CMNINFO_ONE_PATH_CCA
+typedef enum tag_CCA_Path
+{
+ ODM_CCA_2R = 0,
+ ODM_CCA_1R_A = 1,
+ ODM_CCA_1R_B = 2,
+}ODM_CCA_PATH_E;
+
+
+typedef struct _ODM_RA_Info_
+{
+ u1Byte RateID;
+ u4Byte RateMask;
+ u4Byte RAUseRate;
+ u1Byte RateSGI;
+ u1Byte RssiStaRA;
+ u1Byte PreRssiStaRA;
+ u1Byte SGIEnable;
+ u1Byte DecisionRate;
+ u1Byte PreRate;
+ u1Byte HighestRate;
+ u1Byte LowestRate;
+ u4Byte NscUp;
+ u4Byte NscDown;
+ u2Byte RTY[5];
+ u4Byte TOTAL;
+ u2Byte DROP;//Retry over or drop
+ u2Byte DROP1;//LifeTime over
+ u1Byte Active;
+ u2Byte RptTime;
+ u1Byte RAWaitingCounter;
+ u1Byte RAPendingCounter;
+#if 1 //POWER_TRAINING_ACTIVE == 1 // For compile pass only~!
+ u1Byte PTActive; // on or off
+ u1Byte PTTryState; // 0 trying state, 1 for decision state
+ u1Byte PTStage; // 0~6
+ u1Byte PTStopCount; //Stop PT counter
+ u1Byte PTPreRate; // if rate change do PT
+ u1Byte PTPreRssi; // if RSSI change 5% do PT
+ u1Byte PTModeSS; // decide whitch rate should do PT
+ u1Byte RAstage; // StageRA, decide how many times RA will be done between PT
+ u1Byte PTSmoothFactor;
+#endif
+} ODM_RA_INFO_T,*PODM_RA_INFO_T;
+
+typedef struct _IQK_MATRIX_REGS_SETTING{
+ BOOLEAN bIQKDone;
+ s4Byte Value[1][IQK_Matrix_REG_NUM];
+}IQK_MATRIX_REGS_SETTING,*PIQK_MATRIX_REGS_SETTING;
+
+#if (DM_ODM_SUPPORT_TYPE & ODM_MP)
+typedef struct _PathDiv_Parameter_define_
+{
+ u4Byte org_5g_RegE30;
+ u4Byte org_5g_RegC14;
+ u4Byte org_5g_RegCA0;
+ u4Byte swt_5g_RegE30;
+ u4Byte swt_5g_RegC14;
+ u4Byte swt_5g_RegCA0;
+ //for 2G IQK information
+ u4Byte org_2g_RegC80;
+ u4Byte org_2g_RegC4C;
+ u4Byte org_2g_RegC94;
+ u4Byte org_2g_RegC14;
+ u4Byte org_2g_RegCA0;
+
+ u4Byte swt_2g_RegC80;
+ u4Byte swt_2g_RegC4C;
+ u4Byte swt_2g_RegC94;
+ u4Byte swt_2g_RegC14;
+ u4Byte swt_2g_RegCA0;
+}PATHDIV_PARA,*pPATHDIV_PARA;
+#endif
+
+
+typedef struct ODM_RF_Calibration_Structure
+{
+ //for tx power tracking
+
+ u4Byte RegA24; // for TempCCK
+ s4Byte RegE94;
+ s4Byte RegE9C;
+ s4Byte RegEB4;
+ s4Byte RegEBC;
+
+ //u1Byte bTXPowerTracking;
+ u1Byte TXPowercount;
+ BOOLEAN bTXPowerTrackingInit;
+ BOOLEAN bTXPowerTracking;
+ u1Byte TxPowerTrackControl; //for mp mode, turn off txpwrtracking as default
+ u1Byte TM_Trigger;
+ u1Byte InternalPA5G[2]; //pathA / pathB
+
+ u1Byte ThermalMeter[2]; // ThermalMeter, index 0 for RFIC0, and 1 for RFIC1
+ u1Byte ThermalValue;
+ u1Byte ThermalValue_LCK;
+ u1Byte ThermalValue_IQK;
+ u1Byte ThermalValue_DPK;
+ u1Byte ThermalValue_AVG[AVG_THERMAL_NUM];
+ u1Byte ThermalValue_AVG_index;
+ u1Byte ThermalValue_RxGain;
+ u1Byte ThermalValue_Crystal;
+ u1Byte ThermalValue_DPKstore;
+ u1Byte ThermalValue_DPKtrack;
+ BOOLEAN TxPowerTrackingInProgress;
+ BOOLEAN bDPKenable;
+
+ BOOLEAN bReloadtxpowerindex;
+ u1Byte bRfPiEnable;
+ u4Byte TXPowerTrackingCallbackCnt; //cosa add for debug
+
+ u1Byte bCCKinCH14;
+ u1Byte CCK_index;
+ u1Byte OFDM_index[2];
+ BOOLEAN bDoneTxpower;
+ s1Byte PowerIndexOffset;
+ s1Byte DeltaPowerIndex;
+ s1Byte DeltaPowerIndexLast;
+ BOOLEAN bTxPowerChanged;
+
+ u1Byte ThermalValue_HP[HP_THERMAL_NUM];
+ u1Byte ThermalValue_HP_index;
+ IQK_MATRIX_REGS_SETTING IQKMatrixRegSetting[IQK_Matrix_Settings_NUM];
+
+ u1Byte Delta_IQK;
+ u1Byte Delta_LCK;
+
+ //for IQK
+ u4Byte RegC04;
+ u4Byte Reg874;
+ u4Byte RegC08;
+ u4Byte RegB68;
+ u4Byte RegB6C;
+ u4Byte Reg870;
+ u4Byte Reg860;
+ u4Byte Reg864;
+
+ BOOLEAN bIQKInitialized;
+ BOOLEAN bLCKInProgress;
+ BOOLEAN bAntennaDetected;
+ u4Byte ADDA_backup[IQK_ADDA_REG_NUM];
+ u4Byte IQK_MAC_backup[IQK_MAC_REG_NUM];
+ u4Byte IQK_BB_backup_recover[9];
+ u4Byte IQK_BB_backup[IQK_BB_REG_NUM];
+
+ //for APK
+ u4Byte APKoutput[2][2]; //path A/B; output1_1a/output1_2a
+ u1Byte bAPKdone;
+ u1Byte bAPKThermalMeterIgnore;
+ u1Byte bDPdone;
+ u1Byte bDPPathAOK;
+ u1Byte bDPPathBOK;
+}ODM_RF_CAL_T,*PODM_RF_CAL_T;
+//
+// ODM Dynamic common info value definition
+//
+
+typedef struct _FAST_ANTENNA_TRAINNING_
+{
+ u1Byte Bssid[6];
+ u1Byte antsel_rx_keep_0;
+ u1Byte antsel_rx_keep_1;
+ u1Byte antsel_rx_keep_2;
+ u4Byte antSumRSSI[7];
+ u4Byte antRSSIcnt[7];
+ u4Byte antAveRSSI[7];
+ u1Byte FAT_State;
+ u4Byte TrainIdx;
+ u1Byte antsel_a[ODM_ASSOCIATE_ENTRY_NUM];
+ u1Byte antsel_b[ODM_ASSOCIATE_ENTRY_NUM];
+ u1Byte antsel_c[ODM_ASSOCIATE_ENTRY_NUM];
+ u4Byte MainAnt_Sum[ODM_ASSOCIATE_ENTRY_NUM];
+ u4Byte AuxAnt_Sum[ODM_ASSOCIATE_ENTRY_NUM];
+ u4Byte MainAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM];
+ u4Byte AuxAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM];
+ u1Byte RxIdleAnt;
+ BOOLEAN bBecomeLinked;
+
+}FAT_T,*pFAT_T;
+
+typedef enum _FAT_STATE
+{
+ FAT_NORMAL_STATE = 0,
+ FAT_TRAINING_STATE = 1,
+}FAT_STATE_E, *PFAT_STATE_E;
+
+typedef enum _ANT_DIV_TYPE
+{
+ NO_ANTDIV = 0xFF,
+ CG_TRX_HW_ANTDIV = 0x01,
+ CGCS_RX_HW_ANTDIV = 0x02,
+ FIXED_HW_ANTDIV = 0x03,
+ CG_TRX_SMART_ANTDIV = 0x04,
+ CGCS_RX_SW_ANTDIV = 0x05,
+
+}ANT_DIV_TYPE_E, *PANT_DIV_TYPE_E;
+
+
+
+
+
+
+
+
+
+
+
+
+
+//
+// 2011/09/22 MH Copy from SD4 defined structure. We use to support PHY DM integration.
+//
+#if(DM_ODM_SUPPORT_TYPE & ODM_MP)
+#if (RT_PLATFORM != PLATFORM_LINUX)
+typedef
+#endif
+struct DM_Out_Source_Dynamic_Mechanism_Structure
+#else// for AP,ADSL,CE Team
+typedef struct DM_Out_Source_Dynamic_Mechanism_Structure
+#endif
+{
+ //RT_TIMER FastAntTrainingTimer;
+ //
+ // Add for different team use temporarily
+ //
+ PADAPTER Adapter; // For CE/NIC team
+ prtl8192cd_priv priv; // For AP/ADSL team
+ // WHen you use Adapter or priv pointer, you must make sure the pointer is ready.
+ BOOLEAN odm_ready;
+
+#if(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+ rtl8192cd_priv fake_priv;
+#endif
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ // ADSL_AP_BUILD_WORKAROUND
+ ADAPTER fake_adapter;
+#endif
+
+ u8Byte DebugComponents;
+ u4Byte DebugLevel;
+
+//------ ODM HANDLE, DRIVER NEEDS NOT TO HOOK------//
+ BOOLEAN bCckHighPower;
+ u1Byte RFPathRxEnable; // ODM_CMNINFO_RFPATH_ENABLE
+ u1Byte ControlChannel;
+//------ ODM HANDLE, DRIVER NEEDS NOT TO HOOK------//
+
+//--------REMOVED COMMON INFO----------//
+ //u1Byte PseudoMacPhyMode;
+ //BOOLEAN *BTCoexist;
+ //BOOLEAN PseudoBtCoexist;
+ //u1Byte OPMode;
+ //BOOLEAN bAPMode;
+ //BOOLEAN bClientMode;
+ //BOOLEAN bAdHocMode;
+ //BOOLEAN bSlaveOfDMSP;
+//--------REMOVED COMMON INFO----------//
+
+
+//1 COMMON INFORMATION
+
+ //
+ // Init Value
+ //
+//-----------HOOK BEFORE REG INIT-----------//
+ // ODM Platform info AP/ADSL/CE/MP = 1/2/3/4
+ u1Byte SupportPlatform;
+ // ODM Support Ability DIG/RATR/TX_PWR_TRACK/ ¡K¡K = 1/2/3/¡K
+ u4Byte SupportAbility;
+ // ODM PCIE/USB/SDIO/GSPI = 0/1/2/3
+ u1Byte SupportInterface;
+ // ODM composite or independent. Bit oriented/ 92C+92D+ .... or any other type = 1/2/3/...
+ u4Byte SupportICType;
+ // Cut Version TestChip/A-cut/B-cut... = 0/1/2/3/...
+ u1Byte CutVersion;
+ // Fab Version TSMC/UMC = 0/1
+ u1Byte FabVersion;
+ // RF Type 4T4R/3T3R/2T2R/1T2R/1T1R/...
+ u1Byte RFType;
+ // Board Type Normal/HighPower/MiniCard/SLIM/Combo/... = 0/1/2/3/4/...
+ u1Byte BoardType;
+ // with external LNA NO/Yes = 0/1
+ u1Byte ExtLNA;
+ // with external PA NO/Yes = 0/1
+ u1Byte ExtPA;
+ // with external TRSW NO/Yes = 0/1
+ u1Byte ExtTRSW;
+ u1Byte PatchID; //Customer ID
+ BOOLEAN bInHctTest;
+ BOOLEAN bWIFITest;
+
+ BOOLEAN bDualMacSmartConcurrent;
+ u4Byte BK_SupportAbility;
+ u1Byte AntDivType;
+//-----------HOOK BEFORE REG INIT-----------//
+
+ //
+ // Dynamic Value
+ //
+//--------- POINTER REFERENCE-----------//
+
+ u1Byte u1Byte_temp;
+ BOOLEAN BOOLEAN_temp;
+ PADAPTER PADAPTER_temp;
+
+ // MAC PHY Mode SMSP/DMSP/DMDP = 0/1/2
+ u1Byte *pMacPhyMode;
+ //TX Unicast byte count
+ u8Byte *pNumTxBytesUnicast;
+ //RX Unicast byte count
+ u8Byte *pNumRxBytesUnicast;
+ // Wireless mode B/G/A/N = BIT0/BIT1/BIT2/BIT3
+ u1Byte *pWirelessMode; //ODM_WIRELESS_MODE_E
+ // Frequence band 2.4G/5G = 0/1
+ u1Byte *pBandType;
+ // Secondary channel offset don't_care/below/above = 0/1/2
+ u1Byte *pSecChOffset;
+ // Security mode Open/WEP/AES/TKIP = 0/1/2/3
+ u1Byte *pSecurity;
+ // BW info 20M/40M/80M = 0/1/2
+ u1Byte *pBandWidth;
+ // Central channel location Ch1/Ch2/....
+ u1Byte *pChannel; //central channel number
+ // Common info for 92D DMSP
+
+ BOOLEAN *pbGetValueFromOtherMac;
+ PADAPTER *pBuddyAdapter;
+ BOOLEAN *pbMasterOfDMSP; //MAC0: master, MAC1: slave
+ // Common info for Status
+ BOOLEAN *pbScanInProcess;
+ BOOLEAN *pbPowerSaving;
+ // CCA Path 2-path/path-A/path-B = 0/1/2; using ODM_CCA_PATH_E.
+ u1Byte *pOnePathCCA;
+ //pMgntInfo->AntennaTest
+ u1Byte *pAntennaTest;
+ BOOLEAN *pbNet_closed;
+//--------- POINTER REFERENCE-----------//
+ //
+//------------CALL BY VALUE-------------//
+ BOOLEAN bLinkInProcess;
+ BOOLEAN bWIFI_Direct;
+ BOOLEAN bWIFI_Display;
+ BOOLEAN bLinked;
+ u1Byte RSSI_Min;
+ u1Byte InterfaceIndex; // Add for 92D dual MAC: 0--Mac0 1--Mac1
+ BOOLEAN bIsMPChip;
+ BOOLEAN bOneEntryOnly;
+ // Common info for BTDM
+ BOOLEAN bBtDisabled; // BT is disabled
+ BOOLEAN bBtConnectProcess; // BT HS is under connection progress.
+ u1Byte btHsRssi; // BT HS mode wifi rssi value.
+ BOOLEAN bBtHsOperation; // BT HS mode is under progress
+ u1Byte btHsDigVal; // use BT rssi to decide the DIG value
+ BOOLEAN bBtDisableEdcaTurbo; // Under some condition, don't enable the EDCA Turbo
+ BOOLEAN bBtLimitedDig; // BT is busy.
+//------------CALL BY VALUE-------------//
+ u1Byte RSSI_A;
+ u1Byte RSSI_B;
+ u8Byte RSSI_TRSW;
+ u8Byte RSSI_TRSW_H;
+ u8Byte RSSI_TRSW_L;
+ u8Byte RSSI_TRSW_iso;
+
+ u1Byte RxRate;
+ BOOLEAN StopDIG;
+ u1Byte TxRate;
+ u1Byte LinkedInterval;
+ u1Byte preChannel;
+ u4Byte TxagcOffsetValueA;
+ BOOLEAN IsTxagcOffsetPositiveA;
+ u4Byte TxagcOffsetValueB;
+ BOOLEAN IsTxagcOffsetPositiveB;
+ u8Byte lastTxOkCnt;
+ u8Byte lastRxOkCnt;
+ u4Byte BbSwingOffsetA;
+ BOOLEAN IsBbSwingOffsetPositiveA;
+ u4Byte BbSwingOffsetB;
+ BOOLEAN IsBbSwingOffsetPositiveB;
+ s1Byte TH_L2H_ini;
+ s1Byte TH_EDCCA_HL_diff;
+ u4Byte IGI_Base;
+ u4Byte IGI_target;
+ BOOLEAN ForceEDCCA;
+ u1Byte AdapEn_RSSI;
+ u1Byte AntType;
+ u1Byte antdiv_rssi;
+ u1Byte antdiv_period;
+ u4Byte Force_TH_H;
+ u4Byte Force_TH_L;
+ u1Byte IGI_LowerBound;
+
+ //2 Define STA info.
+ // _ODM_STA_INFO
+ // 2012/01/12 MH For MP, we need to reduce one array pointer for default port.??
+ PSTA_INFO_T pODM_StaInfo[ODM_ASSOCIATE_ENTRY_NUM];
+
+#if (RATE_ADAPTIVE_SUPPORT == 1)
+ u2Byte CurrminRptTime;
+ ODM_RA_INFO_T RAInfo[ODM_ASSOCIATE_ENTRY_NUM]; //Use MacID as array index. STA MacID=0, VWiFi Client MacID={1, ODM_ASSOCIATE_ENTRY_NUM-1} //YJ,add,120119
+#endif
+ //
+ // 2012/02/14 MH Add to share 88E ra with other SW team.
+ // We need to colelct all support abilit to a proper area.
+ //
+ BOOLEAN RaSupport88E;
+
+ // Define ...........
+
+ // Latest packet phy info (ODM write)
+ ODM_PHY_DBG_INFO_T PhyDbgInfo;
+ //PHY_INFO_88E PhyInfo;
+
+ // Latest packet phy info (ODM write)
+ ODM_MAC_INFO *pMacInfo;
+ //MAC_INFO_88E MacInfo;
+
+ // Different Team independt structure??
+
+ //
+ //TX_RTP_CMN TX_retrpo;
+ //TX_RTP_88E TX_retrpo;
+ //TX_RTP_8195 TX_retrpo;
+
+ //
+ //ODM Structure
+ //
+ FAT_T DM_FatTable;
+ DIG_T DM_DigTable;
+ PS_T DM_PSTable;
+ Pri_CCA_T DM_PriCCA;
+ RXHP_T DM_RXHP_Table;
+ FALSE_ALARM_STATISTICS FalseAlmCnt;
+ FALSE_ALARM_STATISTICS FlaseAlmCntBuddyAdapter;
+ //#ifdef CONFIG_ANTENNA_DIVERSITY
+ SWAT_T DM_SWAT_Table;
+ BOOLEAN RSSI_test;
+ //#endif
+
+#if (DM_ODM_SUPPORT_TYPE & ODM_MP)
+ //Path Div Struct
+ PATHDIV_PARA pathIQK;
+#endif
+
+ EDCA_T DM_EDCA_Table;
+ u4Byte WMMEDCA_BE;
+ // Copy from SD4 structure
+ //
+ // ==================================================
+ //
+
+ //common
+ //u1Byte DM_Type;
+ //u1Byte PSD_Report_RXHP[80]; // Add By Gary
+ //u1Byte PSD_func_flag; // Add By Gary
+ //for DIG
+ //u1Byte bDMInitialGainEnable;
+ //u1Byte binitialized; // for dm_initial_gain_Multi_STA use.
+ //for Antenna diversity
+ //u8 AntDivCfg;// 0:OFF , 1:ON, 2:by efuse
+ //PSTA_INFO_T RSSI_target;
+
+ BOOLEAN *pbDriverStopped;
+ BOOLEAN *pbDriverIsGoingToPnpSetPowerSleep;
+ BOOLEAN *pinit_adpt_in_progress;
+
+ //PSD
+ BOOLEAN bUserAssignLevel;
+ RT_TIMER PSDTimer;
+ u1Byte RSSI_BT; //come from BT
+ BOOLEAN bPSDinProcess;
+ BOOLEAN bDMInitialGainEnable;
+
+ //for rate adaptive, in fact, 88c/92c fw will handle this
+ u1Byte bUseRAMask;
+
+ ODM_RATE_ADAPTIVE RateAdaptive;
+
+
+ ODM_RF_CAL_T RFCalibrateInfo;
+
+ //
+ // TX power tracking
+ //
+ u1Byte BbSwingIdxOfdm;
+ u1Byte BbSwingIdxOfdmCurrent;
+ u1Byte BbSwingIdxOfdmBase;
+ BOOLEAN BbSwingFlagOfdm;
+ u1Byte BbSwingIdxCck;
+ u1Byte BbSwingIdxCckCurrent;
+ u1Byte BbSwingIdxCckBase;
+ u1Byte DefaultOfdmIndex;
+ u1Byte DefaultCckIndex;
+ BOOLEAN BbSwingFlagCck;
+
+
+ u1Byte *mp_mode;
+ //
+ // ODM system resource.
+ //
+
+ // ODM relative time.
+ RT_TIMER PathDivSwitchTimer;
+ //2011.09.27 add for Path Diversity
+ RT_TIMER CCKPathDiversityTimer;
+ RT_TIMER FastAntTrainingTimer;
+
+ // ODM relative workitem.
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ #if USE_WORKITEM
+ RT_WORK_ITEM PathDivSwitchWorkitem;
+ RT_WORK_ITEM CCKPathDiversityWorkitem;
+ RT_WORK_ITEM FastAntTrainingWorkitem;
+ #endif
+#endif
+
+#if(DM_ODM_SUPPORT_TYPE & ODM_MP)
+
+#if (RT_PLATFORM != PLATFORM_LINUX)
+} DM_ODM_T, *PDM_ODM_T; // DM_Dynamic_Mechanism_Structure
+#else
+};
+#endif
+
+#else// for AP,ADSL,CE Team
+} DM_ODM_T, *PDM_ODM_T; // DM_Dynamic_Mechanism_Structure
+#endif
+
+
+
+#if 1 //92c-series
+#define ODM_RF_PATH_MAX 2
+#else //jaguar - series
+#define ODM_RF_PATH_MAX 4
+#endif
+
+typedef enum _ODM_RF_RADIO_PATH {
+ ODM_RF_PATH_A = 0, //Radio Path A
+ ODM_RF_PATH_B = 1, //Radio Path B
+ ODM_RF_PATH_C = 2, //Radio Path C
+ ODM_RF_PATH_D = 3, //Radio Path D
+ // ODM_RF_PATH_MAX, //Max RF number 90 support
+} ODM_RF_RADIO_PATH_E, *PODM_RF_RADIO_PATH_E;
+
+ typedef enum _ODM_RF_CONTENT{
+ odm_radioa_txt = 0x1000,
+ odm_radiob_txt = 0x1001,
+ odm_radioc_txt = 0x1002,
+ odm_radiod_txt = 0x1003
+} ODM_RF_CONTENT;
+
+typedef enum _ODM_BB_Config_Type{
+ CONFIG_BB_PHY_REG,
+ CONFIG_BB_AGC_TAB,
+ CONFIG_BB_AGC_TAB_2G,
+ CONFIG_BB_AGC_TAB_5G,
+ CONFIG_BB_PHY_REG_PG,
+} ODM_BB_Config_Type, *PODM_BB_Config_Type;
+
+// Status code
+#if (DM_ODM_SUPPORT_TYPE != ODM_MP)
+typedef enum _RT_STATUS{
+ RT_STATUS_SUCCESS,
+ RT_STATUS_FAILURE,
+ RT_STATUS_PENDING,
+ RT_STATUS_RESOURCE,
+ RT_STATUS_INVALID_CONTEXT,
+ RT_STATUS_INVALID_PARAMETER,
+ RT_STATUS_NOT_SUPPORT,
+ RT_STATUS_OS_API_FAILED,
+}RT_STATUS,*PRT_STATUS;
+#endif // end of RT_STATUS definition
+
+#ifdef REMOVE_PACK
+#pragma pack()
+#endif
+
+//#include "odm_function.h"
+
+//3===========================================================
+//3 DIG
+//3===========================================================
+
+typedef enum tag_Dynamic_Init_Gain_Operation_Type_Definition
+{
+ DIG_TYPE_THRESH_HIGH = 0,
+ DIG_TYPE_THRESH_LOW = 1,
+ DIG_TYPE_BACKOFF = 2,
+ DIG_TYPE_RX_GAIN_MIN = 3,
+ DIG_TYPE_RX_GAIN_MAX = 4,
+ DIG_TYPE_ENABLE = 5,
+ DIG_TYPE_DISABLE = 6,
+ DIG_OP_TYPE_MAX
+}DM_DIG_OP_E;
+/*
+typedef enum tag_CCK_Packet_Detection_Threshold_Type_Definition
+{
+ CCK_PD_STAGE_LowRssi = 0,
+ CCK_PD_STAGE_HighRssi = 1,
+ CCK_PD_STAGE_MAX = 3,
+}DM_CCK_PDTH_E;
+
+typedef enum tag_DIG_EXT_PORT_ALGO_Definition
+{
+ DIG_EXT_PORT_STAGE_0 = 0,
+ DIG_EXT_PORT_STAGE_1 = 1,
+ DIG_EXT_PORT_STAGE_2 = 2,
+ DIG_EXT_PORT_STAGE_3 = 3,
+ DIG_EXT_PORT_STAGE_MAX = 4,
+}DM_DIG_EXT_PORT_ALG_E;
+
+typedef enum tag_DIG_Connect_Definition
+{
+ DIG_STA_DISCONNECT = 0,
+ DIG_STA_CONNECT = 1,
+ DIG_STA_BEFORE_CONNECT = 2,
+ DIG_MultiSTA_DISCONNECT = 3,
+ DIG_MultiSTA_CONNECT = 4,
+ DIG_CONNECT_MAX
+}DM_DIG_CONNECT_E;
+
+
+#define DM_MultiSTA_InitGainChangeNotify(Event) {DM_DigTable.CurMultiSTAConnectState = Event;}
+
+#define DM_MultiSTA_InitGainChangeNotify_CONNECT(_ADAPTER) \
+ DM_MultiSTA_InitGainChangeNotify(DIG_MultiSTA_CONNECT)
+
+#define DM_MultiSTA_InitGainChangeNotify_DISCONNECT(_ADAPTER) \
+ DM_MultiSTA_InitGainChangeNotify(DIG_MultiSTA_DISCONNECT)
+*/
+
+#define DM_DIG_THRESH_HIGH 40
+#define DM_DIG_THRESH_LOW 35
+
+#define DM_FALSEALARM_THRESH_LOW 400
+#define DM_FALSEALARM_THRESH_HIGH 1000
+
+#define DM_DIG_MAX_NIC 0x4A
+#define DM_DIG_MIN_NIC 0x1e //0x22//0x1c
+
+#define DM_DIG_MAX_AP 0x32
+#define DM_DIG_MIN_AP 0x20
+
+#define DM_DIG_MAX_NIC_HP 0x46
+#define DM_DIG_MIN_NIC_HP 0x2e
+
+#define DM_DIG_MAX_AP_HP 0x42
+#define DM_DIG_MIN_AP_HP 0x30
+
+//vivi 92c&92d has different definition, 20110504
+//this is for 92c
+#ifdef CONFIG_SPECIAL_SETTING_FOR_FUNAI_TV
+#define DM_DIG_FA_TH0 0x80//0x20
+#else
+#define DM_DIG_FA_TH0 0x200//0x20
+#endif
+#define DM_DIG_FA_TH1 0x300//0x100
+#define DM_DIG_FA_TH2 0x400//0x200
+//this is for 92d
+#define DM_DIG_FA_TH0_92D 0x100
+#define DM_DIG_FA_TH1_92D 0x400
+#define DM_DIG_FA_TH2_92D 0x600
+
+#define DM_DIG_BACKOFF_MAX 12
+#define DM_DIG_BACKOFF_MIN -4
+#define DM_DIG_BACKOFF_DEFAULT 10
+
+//3===========================================================
+//3 AGC RX High Power Mode
+//3===========================================================
+#define LNA_Low_Gain_1 0x64
+#define LNA_Low_Gain_2 0x5A
+#define LNA_Low_Gain_3 0x58
+
+#define FA_RXHP_TH1 5000
+#define FA_RXHP_TH2 1500
+#define FA_RXHP_TH3 800
+#define FA_RXHP_TH4 600
+#define FA_RXHP_TH5 500
+
+//3===========================================================
+//3 EDCA
+//3===========================================================
+
+//3===========================================================
+//3 Dynamic Tx Power
+//3===========================================================
+//Dynamic Tx Power Control Threshold
+#define TX_POWER_NEAR_FIELD_THRESH_LVL2 74
+#define TX_POWER_NEAR_FIELD_THRESH_LVL1 67
+#define TX_POWER_NEAR_FIELD_THRESH_AP 0x3F
+
+#define TxHighPwrLevel_Normal 0
+#define TxHighPwrLevel_Level1 1
+#define TxHighPwrLevel_Level2 2
+#define TxHighPwrLevel_BT1 3
+#define TxHighPwrLevel_BT2 4
+#define TxHighPwrLevel_15 5
+#define TxHighPwrLevel_35 6
+#define TxHighPwrLevel_50 7
+#define TxHighPwrLevel_70 8
+#define TxHighPwrLevel_100 9
+
+//3===========================================================
+//3 Tx Power Tracking
+//3===========================================================
+#if 0 //mask this, since these have been defined in typdef.h, vivi
+#define OFDM_TABLE_SIZE 37
+#define OFDM_TABLE_SIZE_92D 43
+#define CCK_TABLE_SIZE 33
+#endif
+
+
+//3===========================================================
+//3 Rate Adaptive
+//3===========================================================
+#define DM_RATR_STA_INIT 0
+#define DM_RATR_STA_HIGH 1
+#define DM_RATR_STA_MIDDLE 2
+#define DM_RATR_STA_LOW 3
+
+//3===========================================================
+//3 BB Power Save
+//3===========================================================
+
+
+typedef enum tag_1R_CCA_Type_Definition
+{
+ CCA_1R =0,
+ CCA_2R = 1,
+ CCA_MAX = 2,
+}DM_1R_CCA_E;
+
+typedef enum tag_RF_Type_Definition
+{
+ RF_Save =0,
+ RF_Normal = 1,
+ RF_MAX = 2,
+}DM_RF_E;
+
+//3===========================================================
+//3 Antenna Diversity
+//3===========================================================
+typedef enum tag_SW_Antenna_Switch_Definition
+{
+ Antenna_A = 1,
+ Antenna_B = 2,
+ Antenna_MAX = 3,
+}DM_SWAS_E;
+
+
+// Maximal number of antenna detection mechanism needs to perform, added by Roger, 2011.12.28.
+#define MAX_ANTENNA_DETECTION_CNT 10
+
+//
+// Extern Global Variables.
+//
+#define OFDM_TABLE_SIZE_92C 37
+#define OFDM_TABLE_SIZE_92D 43
+#define CCK_TABLE_SIZE 33
+
+extern u4Byte OFDMSwingTable[OFDM_TABLE_SIZE_92D];
+extern u1Byte CCKSwingTable_Ch1_Ch13[CCK_TABLE_SIZE][8];
+extern u1Byte CCKSwingTable_Ch14 [CCK_TABLE_SIZE][8];
+
+
+
+//
+// check Sta pointer valid or not
+//
+#if (DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+#define IS_STA_VALID(pSta) (pSta && pSta->expire_to)
+#elif (DM_ODM_SUPPORT_TYPE & ODM_MP)
+#define IS_STA_VALID(pSta) (pSta && pSta->bUsed)
+#else
+#define IS_STA_VALID(pSta) (pSta)
+#endif
+// 20100514 Joseph: Add definition for antenna switching test after link.
+// This indicates two different the steps.
+// In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air.
+// In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK
+// with original RSSI to determine if it is necessary to switch antenna.
+#define SWAW_STEP_PEAK 0
+#define SWAW_STEP_DETERMINE 1
+
+VOID ODM_Write_DIG(IN PDM_ODM_T pDM_Odm, IN u1Byte CurrentIGI);
+VOID ODM_Write_CCK_CCA_Thres(IN PDM_ODM_T pDM_Odm, IN u1Byte CurCCK_CCAThres);
+
+VOID
+ODM_SetAntenna(
+ IN PDM_ODM_T pDM_Odm,
+ IN u1Byte Antenna);
+
+
+#define dm_RF_Saving ODM_RF_Saving
+void ODM_RF_Saving( IN PDM_ODM_T pDM_Odm,
+ IN u1Byte bForceInNormal );
+
+#define SwAntDivRestAfterLink ODM_SwAntDivRestAfterLink
+VOID ODM_SwAntDivRestAfterLink( IN PDM_ODM_T pDM_Odm);
+
+#define dm_CheckTXPowerTracking ODM_TXPowerTrackingCheck
+VOID
+ODM_TXPowerTrackingCheck(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+BOOLEAN
+ODM_RAStateCheck(
+ IN PDM_ODM_T pDM_Odm,
+ IN s4Byte RSSI,
+ IN BOOLEAN bForceUpdate,
+ OUT pu1Byte pRATRState
+ );
+
+#if(DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_AP|ODM_ADSL))
+//============================================================
+// function prototype
+//============================================================
+//#define DM_ChangeDynamicInitGainThresh ODM_ChangeDynamicInitGainThresh
+//void ODM_ChangeDynamicInitGainThresh(IN PADAPTER pAdapter,
+// IN INT32 DM_Type,
+// IN INT32 DM_Value);
+VOID
+ODM_ChangeDynamicInitGainThresh(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte DM_Type,
+ IN u4Byte DM_Value
+ );
+
+BOOLEAN
+ODM_CheckPowerStatus(
+ IN PADAPTER Adapter
+ );
+
+
+#if (DM_ODM_SUPPORT_TYPE != ODM_ADSL)
+VOID
+ODM_RateAdaptiveStateApInit(
+ IN PADAPTER Adapter ,
+ IN PRT_WLAN_STA pEntry
+ );
+#endif
+#define AP_InitRateAdaptiveState ODM_RateAdaptiveStateApInit
+
+
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+#ifdef WIFI_WMM
+VOID
+ODM_IotEdcaSwitch(
+ IN PDM_ODM_T pDM_Odm,
+ IN unsigned char enable
+ );
+#endif
+
+BOOLEAN
+ODM_ChooseIotMainSTA(
+ IN PDM_ODM_T pDM_Odm,
+ IN PSTA_INFO_T pstat
+ );
+#endif
+
+#if(DM_ODM_SUPPORT_TYPE==ODM_AP)
+#ifdef HW_ANT_SWITCH
+u1Byte
+ODM_Diversity_AntennaSelect(
+ IN PDM_ODM_T pDM_Odm,
+ IN u1Byte *data
+);
+#endif
+#endif
+
+#define SwAntDivResetBeforeLink ODM_SwAntDivResetBeforeLink
+VOID ODM_SwAntDivResetBeforeLink(IN PDM_ODM_T pDM_Odm);
+
+//#define SwAntDivCheckBeforeLink8192C ODM_SwAntDivCheckBeforeLink8192C
+#define SwAntDivCheckBeforeLink ODM_SwAntDivCheckBeforeLink8192C
+BOOLEAN
+ODM_SwAntDivCheckBeforeLink8192C(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+
+#endif
+
+#define dm_SWAW_RSSI_Check ODM_SwAntDivChkPerPktRssi
+VOID ODM_SwAntDivChkPerPktRssi(
+ IN PDM_ODM_T pDM_Odm,
+ IN u1Byte StationID,
+ IN PODM_PHY_INFO_T pPhyInfo
+ );
+
+#if((DM_ODM_SUPPORT_TYPE==ODM_MP)||(DM_ODM_SUPPORT_TYPE==ODM_CE))
+
+u4Byte ConvertTo_dB(u4Byte Value);
+
+u4Byte
+GetPSDData(
+ PDM_ODM_T pDM_Odm,
+ unsigned int point,
+ u1Byte initial_gain_psd);
+
+#endif
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_CE)
+
+VOID
+odm_DIGbyRSSI_LPS(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+u4Byte ODM_Get_Rate_Bitmap(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte macid,
+ IN u4Byte ra_mask,
+ IN u1Byte rssi_level);
+#endif
+
+
+#if(DM_ODM_SUPPORT_TYPE & (ODM_MP))
+#define dm_PSDMonitorCallback odm_PSDMonitorCallback
+VOID odm_PSDMonitorCallback(PRT_TIMER pTimer);
+
+VOID
+odm_PSDMonitorWorkItemCallback(
+ IN PVOID pContext
+ );
+
+
+VOID
+PatchDCTone(
+ IN PDM_ODM_T pDM_Odm,
+ pu4Byte PSD_report,
+ u1Byte initial_gain_psd
+);
+VOID
+ODM_PSDMonitor(
+ IN PDM_ODM_T pDM_Odm
+ );
+VOID odm_PSD_Monitor(PDM_ODM_T pDM_Odm);
+VOID odm_PSDMonitorInit(PDM_ODM_T pDM_Odm);
+
+VOID
+ODM_PSDDbgControl(
+ IN PADAPTER Adapter,
+ IN u4Byte mode,
+ IN u4Byte btRssi
+ );
+
+#endif // DM_ODM_SUPPORT_TYPE
+
+
+
+VOID ODM_DMInit( IN PDM_ODM_T pDM_Odm);
+
+VOID
+ODM_DMWatchdog(
+ IN PDM_ODM_T pDM_Odm // For common use in the future
+ );
+
+VOID
+ODM_CmnInfoInit(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_CMNINFO_E CmnInfo,
+ IN u4Byte Value
+ );
+
+VOID
+ODM_CmnInfoHook(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_CMNINFO_E CmnInfo,
+ IN PVOID pValue
+ );
+
+VOID
+ODM_CmnInfoPtrArrayHook(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_CMNINFO_E CmnInfo,
+ IN u2Byte Index,
+ IN PVOID pValue
+ );
+
+VOID
+ODM_CmnInfoUpdate(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte CmnInfo,
+ IN u8Byte Value
+ );
+
+VOID
+ODM_InitAllTimers(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+VOID
+ODM_CancelAllTimers(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+VOID
+ODM_ReleaseAllTimers(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+VOID
+ODM_ResetIQKResult(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+VOID ODM_InitAllWorkItems(IN PDM_ODM_T pDM_Odm );
+VOID ODM_FreeAllWorkItems(IN PDM_ODM_T pDM_Odm );
+
+VOID odm_PathDivChkAntSwitch(PDM_ODM_T pDM_Odm);
+VOID ODM_PathDivRestAfterLink(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+
+//===========================================//
+// Neil Chen----2011--06--15--
+
+//3 Path Diversity
+//===========================================================
+
+#define TP_MODE 0
+#define RSSI_MODE 1
+#define TRAFFIC_LOW 0
+#define TRAFFIC_HIGH 1
+
+//#define PATHDIV_ENABLE 1
+
+//VOID odm_PathDivChkAntSwitch(PADAPTER Adapter,u1Byte Step);
+VOID ODM_PathDivRestAfterLink(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+#define dm_PathDiv_RSSI_Check ODM_PathDivChkPerPktRssi
+VOID ODM_PathDivChkPerPktRssi(PADAPTER Adapter,
+ BOOLEAN bIsDefPort,
+ BOOLEAN bMatchBSSID,
+ PRT_WLAN_STA pEntry,
+ PRT_RFD pRfd );
+
+u8Byte
+PlatformDivision64(
+ IN u8Byte x,
+ IN u8Byte y
+);
+
+
+// 20100514 Joseph: Add definition for antenna switching test after link.
+// This indicates two different the steps.
+// In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air.
+// In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK
+// with original RSSI to determine if it is necessary to switch antenna.
+#define SWAW_STEP_PEAK 0
+#define SWAW_STEP_DETERMINE 1
+
+//====================================================
+//3 PathDiV End
+//====================================================
+
+#define PathDivCheckBeforeLink8192C ODM_PathDiversityBeforeLink92C
+BOOLEAN
+ODM_PathDiversityBeforeLink92C(
+ //IN PADAPTER Adapter
+ IN PDM_ODM_T pDM_Odm
+ );
+
+#define DM_ChangeDynamicInitGainThresh ODM_ChangeDynamicInitGainThresh
+//void ODM_ChangeDynamicInitGainThresh(IN PADAPTER pAdapter,
+// IN INT32 DM_Type,
+// IN INT32 DM_Value);
+//
+
+
+VOID
+ODM_CCKPathDiversityChkPerPktRssi(
+ PADAPTER Adapter,
+ BOOLEAN bIsDefPort,
+ BOOLEAN bMatchBSSID,
+ PRT_WLAN_STA pEntry,
+ PRT_RFD pRfd,
+ pu1Byte pDesc
+ );
+
+
+typedef enum tag_DIG_Connect_Definition
+{
+ DIG_STA_DISCONNECT = 0,
+ DIG_STA_CONNECT = 1,
+ DIG_STA_BEFORE_CONNECT = 2,
+ DIG_MultiSTA_DISCONNECT = 3,
+ DIG_MultiSTA_CONNECT = 4,
+ DIG_CONNECT_MAX
+}DM_DIG_CONNECT_E;
+
+
+VOID
+ODM_FillTXPathInTXDESC(
+ IN PADAPTER Adapter,
+ IN PRT_TCB pTcb,
+ IN pu1Byte pDesc
+);
+
+
+#define dm_SWAW_RSSI_Check ODM_SwAntDivChkPerPktRssi
+
+//
+// 2012/01/12 MH Check afapter status. Temp fix BSOD.
+//
+#define HAL_ADAPTER_STS_CHK(pDM_Odm)\
+ if (pDM_Odm->Adapter == NULL)\
+ {\
+ return;\
+ }\
+
+
+//
+// For new definition in MP temporarily fro power tracking,
+//
+#define odm_TXPowerTrackingDirectCall(_Adapter) \
+ IS_HARDWARE_TYPE_8192D(_Adapter) ? odm_TXPowerTrackingCallback_ThermalMeter_92D(_Adapter) : \
+ IS_HARDWARE_TYPE_8192C(_Adapter) ? odm_TXPowerTrackingCallback_ThermalMeter_92C(_Adapter) : \
+ IS_HARDWARE_TYPE_8723A(_Adapter) ? odm_TXPowerTrackingCallback_ThermalMeter_8723A(_Adapter) :\
+ odm_TXPowerTrackingCallback_ThermalMeter_8188E(_Adapter)
+
+VOID
+ODM_SetTxAntByTxInfo_88C_92D(
+ IN PDM_ODM_T pDM_Odm,
+ IN pu1Byte pDesc,
+ IN u1Byte macId
+ );
+#endif // #if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+VOID
+ODM_AntselStatistics_88C(
+ IN PDM_ODM_T pDM_Odm,
+ IN u1Byte MacId,
+ IN u4Byte PWDBAll,
+ IN BOOLEAN isCCKrate
+);
+
+#if( DM_ODM_SUPPORT_TYPE & (ODM_MP |ODM_CE))
+
+VOID
+ODM_SingleDualAntennaDefaultSetting(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+BOOLEAN
+ODM_SingleDualAntennaDetection(
+ IN PDM_ODM_T pDM_Odm,
+ IN u1Byte mode
+ );
+
+#endif // #if((DM_ODM_SUPPORT_TYPE==ODM_MP)||(DM_ODM_SUPPORT_TYPE==ODM_CE))
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_CE)
+void odm_dtc(PDM_ODM_T pDM_Odm);
+#endif /* #if (DM_ODM_SUPPORT_TYPE == ODM_CE) */
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.c index 2360c16ef3b5..745cad1956ef 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.c @@ -1,1184 +1,1191 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -//============================================================ -// include files -//============================================================ - -#include "odm_precomp.h" - -#if (RTL8188E_FOR_TEST_CHIP > 1) - #define READ_AND_CONFIG(ic, txt) do {\ - if (pDM_Odm->bIsMPChip)\ - READ_AND_CONFIG_MP(ic,txt);\ - else\ - READ_AND_CONFIG_TC(ic,txt);\ - } while(0) -#elif (RTL8188E_FOR_TEST_CHIP == 1) - #define READ_AND_CONFIG READ_AND_CONFIG_TC -#else - #define READ_AND_CONFIG READ_AND_CONFIG_MP -#endif - -#define READ_AND_CONFIG_MP(ic, txt) (ODM_ReadAndConfig##txt##ic(pDM_Odm)) -#define READ_AND_CONFIG_TC(ic, txt) (ODM_ReadAndConfig_TC##txt##ic(pDM_Odm)) - -u1Byte -odm_QueryRxPwrPercentage( - IN s1Byte AntPower - ) -{ - if ((AntPower <= -100) || (AntPower >= 20)) - { - return 0; - } - else if (AntPower >= 0) - { - return 100; - } - else - { - return (100+AntPower); - } - -} - -#if (DM_ODM_SUPPORT_TYPE != ODM_MP) -// -// 2012/01/12 MH MOve some signal strength smooth method to MP HAL layer. -// IF other SW team do not support the feature, remove this section.?? -// -s4Byte -odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Lenovo( - IN OUT PDM_ODM_T pDM_Odm, - s4Byte CurrSig -) -{ - s4Byte RetSig; -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - //if(pDM_Odm->SupportInterface == ODM_ITRF_PCIE) - { - // Step 1. Scale mapping. - // 20100611 Joseph: Re-tunning RSSI presentation for Lenovo. - // 20100426 Joseph: Modify Signal strength mapping. - // This modification makes the RSSI indication similar to Intel solution. - // 20100414 Joseph: Tunning RSSI for Lenovo according to RTL8191SE. - if(CurrSig >= 54 && CurrSig <= 100) - { - RetSig = 100; - } - else if(CurrSig>=42 && CurrSig <= 53 ) - { - RetSig = 95; - } - else if(CurrSig>=36 && CurrSig <= 41 ) - { - RetSig = 74 + ((CurrSig - 36) *20)/6; - } - else if(CurrSig>=33 && CurrSig <= 35 ) - { - RetSig = 65 + ((CurrSig - 33) *8)/2; - } - else if(CurrSig>=18 && CurrSig <= 32 ) - { - RetSig = 62 + ((CurrSig - 18) *2)/15; - } - else if(CurrSig>=15 && CurrSig <= 17 ) - { - RetSig = 33 + ((CurrSig - 15) *28)/2; - } - else if(CurrSig>=10 && CurrSig <= 14 ) - { - RetSig = 39; - } - else if(CurrSig>=8 && CurrSig <= 9 ) - { - RetSig = 33; - } - else if(CurrSig <= 8 ) - { - RetSig = 19; - } - } -#endif //ENDIF (DM_ODM_SUPPORT_TYPE == ODM_MP) - return RetSig; -} - -s4Byte -odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Netcore( - IN OUT PDM_ODM_T pDM_Odm, - s4Byte CurrSig -) -{ - s4Byte RetSig; -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - //if(pDM_Odm->SupportInterface == ODM_ITRF_USB) - { - // Netcore request this modification because 2009.04.13 SU driver use it. - if(CurrSig >= 31 && CurrSig <= 100) - { - RetSig = 100; - } - else if(CurrSig >= 21 && CurrSig <= 30) - { - RetSig = 90 + ((CurrSig - 20) / 1); - } - else if(CurrSig >= 11 && CurrSig <= 20) - { - RetSig = 80 + ((CurrSig - 10) / 1); - } - else if(CurrSig >= 7 && CurrSig <= 10) - { - RetSig = 69 + (CurrSig - 7); - } - else if(CurrSig == 6) - { - RetSig = 54; - } - else if(CurrSig == 5) - { - RetSig = 45; - } - else if(CurrSig == 4) - { - RetSig = 36; - } - else if(CurrSig == 3) - { - RetSig = 27; - } - else if(CurrSig == 2) - { - RetSig = 18; - } - else if(CurrSig == 1) - { - RetSig = 9; - } - else - { - RetSig = CurrSig; - } - } -#endif //ENDIF (DM_ODM_SUPPORT_TYPE == ODM_MP) - return RetSig; -} - - -s4Byte -odm_SignalScaleMapping_92CSeries( - IN OUT PDM_ODM_T pDM_Odm, - IN s4Byte CurrSig -) -{ - s4Byte RetSig; -#if (DEV_BUS_TYPE == RT_PCI_INTERFACE) - if(pDM_Odm->SupportInterface == ODM_ITRF_PCIE) - { - // Step 1. Scale mapping. - if(CurrSig >= 61 && CurrSig <= 100) - { - RetSig = 90 + ((CurrSig - 60) / 4); - } - else if(CurrSig >= 41 && CurrSig <= 60) - { - RetSig = 78 + ((CurrSig - 40) / 2); - } - else if(CurrSig >= 31 && CurrSig <= 40) - { - RetSig = 66 + (CurrSig - 30); - } - else if(CurrSig >= 21 && CurrSig <= 30) - { - RetSig = 54 + (CurrSig - 20); - } - else if(CurrSig >= 5 && CurrSig <= 20) - { - RetSig = 42 + (((CurrSig - 5) * 2) / 3); - } - else if(CurrSig == 4) - { - RetSig = 36; - } - else if(CurrSig == 3) - { - RetSig = 27; - } - else if(CurrSig == 2) - { - RetSig = 18; - } - else if(CurrSig == 1) - { - RetSig = 9; - } - else - { - RetSig = CurrSig; - } - } -#endif - -#if ((DEV_BUS_TYPE == RT_USB_INTERFACE) ||(DEV_BUS_TYPE == RT_SDIO_INTERFACE)) - if((pDM_Odm->SupportInterface == ODM_ITRF_USB) || (pDM_Odm->SupportInterface == ODM_ITRF_SDIO) ) - { - if(CurrSig >= 51 && CurrSig <= 100) - { - RetSig = 100; - } - else if(CurrSig >= 41 && CurrSig <= 50) - { - RetSig = 80 + ((CurrSig - 40)*2); - } - else if(CurrSig >= 31 && CurrSig <= 40) - { - RetSig = 66 + (CurrSig - 30); - } - else if(CurrSig >= 21 && CurrSig <= 30) - { - RetSig = 54 + (CurrSig - 20); - } - else if(CurrSig >= 10 && CurrSig <= 20) - { - RetSig = 42 + (((CurrSig - 10) * 2) / 3); - } - else if(CurrSig >= 5 && CurrSig <= 9) - { - RetSig = 22 + (((CurrSig - 5) * 3) / 2); - } - else if(CurrSig >= 1 && CurrSig <= 4) - { - RetSig = 6 + (((CurrSig - 1) * 3) / 2); - } - else - { - RetSig = CurrSig; - } +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+//============================================================
+// include files
+//============================================================
+
+#include "odm_precomp.h"
+
+#if (RTL8188E_FOR_TEST_CHIP > 1)
+ #define READ_AND_CONFIG(ic, txt) do {\
+ if (pDM_Odm->bIsMPChip)\
+ READ_AND_CONFIG_MP(ic,txt);\
+ else\
+ READ_AND_CONFIG_TC(ic,txt);\
+ } while(0)
+#elif (RTL8188E_FOR_TEST_CHIP == 1)
+ #define READ_AND_CONFIG READ_AND_CONFIG_TC
+#else
+ #define READ_AND_CONFIG READ_AND_CONFIG_MP
+#endif
+
+#define READ_AND_CONFIG_MP(ic, txt) (ODM_ReadAndConfig##txt##ic(pDM_Odm))
+#define READ_AND_CONFIG_TC(ic, txt) (ODM_ReadAndConfig_TC##txt##ic(pDM_Odm))
+
+u1Byte
+odm_QueryRxPwrPercentage(
+ IN s1Byte AntPower
+ )
+{
+ if ((AntPower <= -100) || (AntPower >= 20))
+ {
+ return 0;
}
-#endif - return RetSig; -} -s4Byte -odm_SignalScaleMapping( - IN OUT PDM_ODM_T pDM_Odm, - IN s4Byte CurrSig -) -{ - if( (pDM_Odm->SupportPlatform == ODM_MP) && - (pDM_Odm->SupportInterface != ODM_ITRF_PCIE) && //USB & SDIO - (pDM_Odm->PatchID==10))//pMgntInfo->CustomerID == RT_CID_819x_Netcore - { - return odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Netcore(pDM_Odm,CurrSig); - } - else if( (pDM_Odm->SupportPlatform == ODM_MP) && - (pDM_Odm->SupportInterface == ODM_ITRF_PCIE) && - (pDM_Odm->PatchID==19))//pMgntInfo->CustomerID == RT_CID_819x_Lenovo) - { - return odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Lenovo(pDM_Odm, CurrSig); - } - else{ - return odm_SignalScaleMapping_92CSeries(pDM_Odm,CurrSig); - } - -} -#endif - -//pMgntInfo->CustomerID == RT_CID_819x_Lenovo -static u1Byte odm_SQ_process_patch_RT_CID_819x_Lenovo( - IN PDM_ODM_T pDM_Odm, - IN u1Byte isCCKrate, - IN u1Byte PWDB_ALL, - IN u1Byte path, - IN u1Byte RSSI -) -{ - u1Byte SQ; -#if (DM_ODM_SUPPORT_TYPE & ODM_MP) - // mapping to 5 bars for vista signal strength - // signal quality in driver will be displayed to signal strength - if(isCCKrate){ - // in vista. - if(PWDB_ALL >= 50) - SQ = 100; - else if(PWDB_ALL >= 35 && PWDB_ALL < 50) - SQ = 80; - else if(PWDB_ALL >= 22 && PWDB_ALL < 35) - SQ = 60; - else if(PWDB_ALL >= 18 && PWDB_ALL < 22) - SQ = 40; - else - SQ = 20; - } - else{//OFDM rate - - // mapping to 5 bars for vista signal strength - // signal quality in driver will be displayed to signal strength - // in vista. - if(RSSI >= 50) - SQ = 100; - else if(RSSI >= 35 && RSSI < 50) - SQ = 80; - else if(RSSI >= 22 && RSSI < 35) - SQ = 60; - else if(RSSI >= 18 && RSSI < 22) - SQ = 40; - else - SQ = 20; - } -#endif - return SQ; -} - -static u1Byte -odm_EVMdbToPercentage( - IN s1Byte Value - ) -{ - // - // -33dB~0dB to 0%~99% - // - s1Byte ret_val; - - ret_val = Value; - //ret_val /= 2; - - //ODM_RTPRINT(FRX, RX_PHY_SQ, ("EVMdbToPercentage92C Value=%d / %x \n", ret_val, ret_val)); - - if(ret_val >= 0) - ret_val = 0; - if(ret_val <= -33) - ret_val = -33; - - ret_val = 0 - ret_val; - ret_val*=3; - - if(ret_val == 99) - ret_val = 100; - - return(ret_val); -} - - - -VOID -odm_RxPhyStatus92CSeries_Parsing( - IN OUT PDM_ODM_T pDM_Odm, - OUT PODM_PHY_INFO_T pPhyInfo, - IN pu1Byte pPhyStatus, - IN PODM_PACKET_INFO_T pPktinfo - ) -{ - SWAT_T *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table; - u1Byte i, Max_spatial_stream; - s1Byte rx_pwr[4], rx_pwr_all=0; - u1Byte EVM, PWDB_ALL = 0, PWDB_ALL_BT; - u1Byte RSSI, total_rssi=0; - u1Byte isCCKrate=0; - u1Byte rf_rx_num = 0; - u1Byte cck_highpwr = 0; - u1Byte LNA_idx, VGA_idx; - - PPHY_STATUS_RPT_8192CD_T pPhyStaRpt = (PPHY_STATUS_RPT_8192CD_T)pPhyStatus; - - isCCKrate = ((pPktinfo->Rate >= DESC92C_RATE1M ) && (pPktinfo->Rate <= DESC92C_RATE11M ))?TRUE :FALSE; - - pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_A] = -1; - pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_B] = -1; - - - if(isCCKrate) - { - u1Byte report; - u1Byte cck_agc_rpt; - - pDM_Odm->PhyDbgInfo.NumQryPhyStatusCCK++; - // - // (1)Hardware does not provide RSSI for CCK - // (2)PWDB, Average PWDB cacluated by hardware (for rate adaptive) - // - - //if(pHalData->eRFPowerState == eRfOn) - cck_highpwr = pDM_Odm->bCckHighPower; - //else - // cck_highpwr = FALSE; - - cck_agc_rpt = pPhyStaRpt->cck_agc_rpt_ofdm_cfosho_a ; - - //2011.11.28 LukeLee: 88E use different LNA & VGA gain table - //The RSSI formula should be modified according to the gain table - //In 88E, cck_highpwr is always set to 1 - if(pDM_Odm->SupportICType & (ODM_RTL8188E|ODM_RTL8812)) - { - LNA_idx = ((cck_agc_rpt & 0xE0) >>5); - VGA_idx = (cck_agc_rpt & 0x1F); - switch(LNA_idx) - { - case 7: - if(VGA_idx <= 27) - rx_pwr_all = -100 + 2*(27-VGA_idx); //VGA_idx = 27~2 - else - rx_pwr_all = -100; - break; - case 6: - rx_pwr_all = -48 + 2*(2-VGA_idx); //VGA_idx = 2~0 - break; - case 5: - rx_pwr_all = -42 + 2*(7-VGA_idx); //VGA_idx = 7~5 - break; - case 4: - rx_pwr_all = -36 + 2*(7-VGA_idx); //VGA_idx = 7~4 - break; - case 3: - //rx_pwr_all = -28 + 2*(7-VGA_idx); //VGA_idx = 7~0 - rx_pwr_all = -24 + 2*(7-VGA_idx); //VGA_idx = 7~0 - break; - case 2: - if(cck_highpwr) - rx_pwr_all = -12 + 2*(5-VGA_idx); //VGA_idx = 5~0 - else - rx_pwr_all = -6+ 2*(5-VGA_idx); - break; - case 1: - rx_pwr_all = 8-2*VGA_idx; - break; - case 0: - rx_pwr_all = 14-2*VGA_idx; - break; - default: - //DbgPrint("CCK Exception default\n"); - break; - } - rx_pwr_all += 6; - PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all); - if(cck_highpwr == FALSE) - { - if(PWDB_ALL >= 80) - PWDB_ALL = ((PWDB_ALL-80)<<1)+((PWDB_ALL-80)>>1)+80; - else if((PWDB_ALL <= 78) && (PWDB_ALL >= 20)) - PWDB_ALL += 3; - if(PWDB_ALL>100) - PWDB_ALL = 100; - } - } - else - { - if(!cck_highpwr) - { - report =( cck_agc_rpt & 0xc0 )>>6; - switch(report) - { - // 03312009 modified by cosa - // Modify the RF RNA gain value to -40, -20, -2, 14 by Jenyu's suggestion - // Note: different RF with the different RNA gain. - case 0x3: - rx_pwr_all = -46 - (cck_agc_rpt & 0x3e); - break; - case 0x2: - rx_pwr_all = -26 - (cck_agc_rpt & 0x3e); - break; - case 0x1: - rx_pwr_all = -12 - (cck_agc_rpt & 0x3e); - break; - case 0x0: - rx_pwr_all = 16 - (cck_agc_rpt & 0x3e); - break; - } - } - else - { - //report = pDrvInfo->cfosho[0] & 0x60; - //report = pPhyStaRpt->cck_agc_rpt_ofdm_cfosho_a& 0x60; - - report = (cck_agc_rpt & 0x60)>>5; - switch(report) - { - case 0x3: - rx_pwr_all = -46 - ((cck_agc_rpt & 0x1f)<<1) ; - break; - case 0x2: - rx_pwr_all = -26 - ((cck_agc_rpt & 0x1f)<<1); - break; - case 0x1: - rx_pwr_all = -12 - ((cck_agc_rpt & 0x1f)<<1) ; - break; - case 0x0: - rx_pwr_all = 16 - ((cck_agc_rpt & 0x1f)<<1) ; - break; - } - } - - PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all); - - //Modification for ext-LNA board - if(pDM_Odm->BoardType == ODM_BOARD_HIGHPWR) - { - if((cck_agc_rpt>>7) == 0){ - PWDB_ALL = (PWDB_ALL>94)?100:(PWDB_ALL +6); - } - else - { - if(PWDB_ALL > 38) - PWDB_ALL -= 16; - else - PWDB_ALL = (PWDB_ALL<=16)?(PWDB_ALL>>2):(PWDB_ALL -12); - } - - //CCK modification - if(PWDB_ALL > 25 && PWDB_ALL <= 60) - PWDB_ALL += 6; - //else if (PWDB_ALL <= 25) - // PWDB_ALL += 8; - } - else//Modification for int-LNA board - { - if(PWDB_ALL > 99) - PWDB_ALL -= 8; - else if(PWDB_ALL > 50 && PWDB_ALL <= 68) - PWDB_ALL += 4; - } - } - - pPhyInfo->RxPWDBAll = PWDB_ALL; -#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE)) - pPhyInfo->BTRxRSSIPercentage = PWDB_ALL; - pPhyInfo->RecvSignalPower = rx_pwr_all; -#endif - // - // (3) Get Signal Quality (EVM) - // - if(pPktinfo->bPacketMatchBSSID) - { - u1Byte SQ,SQ_rpt; - - if((pDM_Odm->SupportPlatform == ODM_MP) &&(pDM_Odm->PatchID==19)){//pMgntInfo->CustomerID == RT_CID_819x_Lenovo - SQ = odm_SQ_process_patch_RT_CID_819x_Lenovo(pDM_Odm,isCCKrate,PWDB_ALL,0,0); - } - else if(pPhyInfo->RxPWDBAll > 40 && !pDM_Odm->bInHctTest){ - SQ = 100; - } - else{ - SQ_rpt = pPhyStaRpt->cck_sig_qual_ofdm_pwdb_all; - - if(SQ_rpt > 64) - SQ = 0; - else if (SQ_rpt < 20) - SQ = 100; - else - SQ = ((64-SQ_rpt) * 100) / 44; - - } - - //DbgPrint("cck SQ = %d\n", SQ); - pPhyInfo->SignalQuality = SQ; - pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_A] = SQ; - pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_B] = -1; - } - } - else //is OFDM rate - { - pDM_Odm->PhyDbgInfo.NumQryPhyStatusOFDM++; - - // - // (1)Get RSSI for HT rate - // - - for(i = ODM_RF_PATH_A; i < ODM_RF_PATH_MAX; i++) - { - // 2008/01/30 MH we will judge RF RX path now. - if (pDM_Odm->RFPathRxEnable & BIT(i)) - rf_rx_num++; - //else - //continue; - - rx_pwr[i] = ((pPhyStaRpt->path_agc[i].gain& 0x3F)*2) - 110; - - #if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE)) - pPhyInfo->RxPwr[i] = rx_pwr[i]; - #endif - - /* Translate DBM to percentage. */ - RSSI = odm_QueryRxPwrPercentage(rx_pwr[i]); - total_rssi += RSSI; - //RTPRINT(FRX, RX_PHY_SS, ("RF-%d RXPWR=%x RSSI=%d\n", i, rx_pwr[i], RSSI)); - - //Modification for ext-LNA board - if(pDM_Odm->BoardType == ODM_BOARD_HIGHPWR) - { - if((pPhyStaRpt->path_agc[i].trsw) == 1) - RSSI = (RSSI>94)?100:(RSSI +6); - else - RSSI = (RSSI<=16)?(RSSI>>3):(RSSI -16); - - if((RSSI <= 34) && (RSSI >=4)) - RSSI -= 4; - } - - pPhyInfo->RxMIMOSignalStrength[i] =(u1Byte) RSSI; - - #if (DM_ODM_SUPPORT_TYPE & (/*ODM_MP|*/ODM_CE|ODM_AP|ODM_ADSL)) - //Get Rx snr value in DB - pPhyInfo->RxSNR[i] = pDM_Odm->PhyDbgInfo.RxSNRdB[i] = (s4Byte)(pPhyStaRpt->path_rxsnr[i]/2); - #endif - - /* Record Signal Strength for next packet */ - if(pPktinfo->bPacketMatchBSSID) - { - if((pDM_Odm->SupportPlatform == ODM_MP) &&(pDM_Odm->PatchID==19)) - { - if(i==ODM_RF_PATH_A) - pPhyInfo->SignalQuality = odm_SQ_process_patch_RT_CID_819x_Lenovo(pDM_Odm,isCCKrate,PWDB_ALL,i,RSSI); - - } - - } - } - - - // - // (2)PWDB, Average PWDB cacluated by hardware (for rate adaptive) - // - rx_pwr_all = (((pPhyStaRpt->cck_sig_qual_ofdm_pwdb_all) >> 1 )& 0x7f) -110; - //RTPRINT(FRX, RX_PHY_SS, ("PWDB_ALL=%d\n", PWDB_ALL)); - - PWDB_ALL_BT = PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all); - //RTPRINT(FRX, RX_PHY_SS, ("PWDB_ALL=%d\n",PWDB_ALL)); - - pPhyInfo->RxPWDBAll = PWDB_ALL; - //ODM_RT_TRACE(pDM_Odm,ODM_COMP_RSSI_MONITOR, ODM_DBG_LOUD, ("ODM OFDM RSSI=%d\n",pPhyInfo->RxPWDBAll)); - #if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE)) - pPhyInfo->BTRxRSSIPercentage = PWDB_ALL_BT; - pPhyInfo->RxPower = rx_pwr_all; - pPhyInfo->RecvSignalPower = rx_pwr_all; - #endif - - if((pDM_Odm->SupportPlatform == ODM_MP) &&(pDM_Odm->PatchID==19)){ - //do nothing - } - else{//pMgntInfo->CustomerID != RT_CID_819x_Lenovo - // - // (3)EVM of HT rate - // - if(pPktinfo->Rate >=DESC92C_RATEMCS8 && pPktinfo->Rate <=DESC92C_RATEMCS15) - Max_spatial_stream = 2; //both spatial stream make sense - else - Max_spatial_stream = 1; //only spatial stream 1 makes sense - - for(i=0; i<Max_spatial_stream; i++) - { - // Do not use shift operation like "rx_evmX >>= 1" because the compilor of free build environment - // fill most significant bit to "zero" when doing shifting operation which may change a negative - // value to positive one, then the dbm value (which is supposed to be negative) is not correct anymore. - EVM = odm_EVMdbToPercentage( (pPhyStaRpt->stream_rxevm[i] )); //dbm - - //RTPRINT(FRX, RX_PHY_SQ, ("RXRATE=%x RXEVM=%x EVM=%s%d\n", - //GET_RX_STATUS_DESC_RX_MCS(pDesc), pDrvInfo->rxevm[i], "%", EVM)); - - if(pPktinfo->bPacketMatchBSSID) - { - if(i==ODM_RF_PATH_A) // Fill value in RFD, Get the first spatial stream only - { - pPhyInfo->SignalQuality = (u1Byte)(EVM & 0xff); - } - pPhyInfo->RxMIMOSignalQuality[i] = (u1Byte)(EVM & 0xff); - } - } - } - - } -#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE)) - //UI BSS List signal strength(in percentage), make it good looking, from 0~100. - //It is assigned to the BSS List in GetValueFromBeaconOrProbeRsp(). - if(isCCKrate) - { -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - // 2012/01/12 MH Use customeris signal strength from HalComRxdDesc.c/ - pPhyInfo->SignalStrength = (u1Byte)(SignalScaleMapping(pDM_Odm->Adapter, PWDB_ALL));//PWDB_ALL; -#else - pPhyInfo->SignalStrength = (u1Byte)(odm_SignalScaleMapping(pDM_Odm, PWDB_ALL));//PWDB_ALL; -#endif - } - else - { - if (rf_rx_num != 0) - { -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - // 2012/01/12 MH Use customeris signal strength from HalComRxdDesc.c/ - pPhyInfo->SignalStrength = (u1Byte)(SignalScaleMapping(pDM_Odm->Adapter, total_rssi/=rf_rx_num));//PWDB_ALL; -#else - pPhyInfo->SignalStrength = (u1Byte)(odm_SignalScaleMapping(pDM_Odm, total_rssi/=rf_rx_num)); -#endif - } - } -#endif - - //For 92C/92D HW (Hybrid) Antenna Diversity -#if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) - pDM_SWAT_Table->antsel = pPhyStaRpt->ant_sel; - //For 88E HW Antenna Diversity - pDM_Odm->DM_FatTable.antsel_rx_keep_0 = pPhyStaRpt->ant_sel; - pDM_Odm->DM_FatTable.antsel_rx_keep_1 = pPhyStaRpt->ant_sel_b; - pDM_Odm->DM_FatTable.antsel_rx_keep_2 = pPhyStaRpt->antsel_rx_keep_2; -#endif -} - -VOID -odm_Init_RSSIForDM( - IN OUT PDM_ODM_T pDM_Odm - ) -{ - -} - -VOID -odm_Process_RSSIForDM( - IN OUT PDM_ODM_T pDM_Odm, - IN PODM_PHY_INFO_T pPhyInfo, - IN PODM_PACKET_INFO_T pPktinfo - ) -{ - - s4Byte UndecoratedSmoothedPWDB, UndecoratedSmoothedCCK, UndecoratedSmoothedOFDM, RSSI_Ave; - u1Byte isCCKrate=0; - u1Byte RSSI_max, RSSI_min, i; - u4Byte OFDM_pkt=0; - u4Byte Weighting=0; - - PSTA_INFO_T pEntry; - - if(pPktinfo->StationID == 0xFF) - return; - - // 2011/11/17 MH Need to debug - //if (pDM_Odm->SupportPlatform == ODM_MP) - { - - } - - pEntry = pDM_Odm->pODM_StaInfo[pPktinfo->StationID]; - if(!IS_STA_VALID(pEntry) ){ - return; - } - if((!pPktinfo->bPacketMatchBSSID) ) - { - return; - } - - isCCKrate = ((pPktinfo->Rate >= DESC92C_RATE1M ) && (pPktinfo->Rate <= DESC92C_RATE11M ))?TRUE :FALSE; - -#if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) -#if ((RTL8192C_SUPPORT == 1) ||(RTL8192D_SUPPORT == 1)) - if(pDM_Odm->SupportICType & ODM_RTL8192C|ODM_RTL8192D) - { - if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon) - { - //if(pPktinfo->bPacketBeacon) - //{ - // DbgPrint("This is beacon, isCCKrate=%d\n", isCCKrate); - //} - ODM_AntselStatistics_88C(pDM_Odm, pPktinfo->StationID, pPhyInfo->RxPWDBAll, isCCKrate); - } - } -#endif - //-----------------Smart Antenna Debug Message------------------// -#if (RTL8188E_SUPPORT == 1) - if(pDM_Odm->SupportICType == ODM_RTL8188E) - { - u1Byte antsel_tr_mux; - pFAT_T pDM_FatTable = &pDM_Odm->DM_FatTable; - - if(pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV) - { - if(pDM_FatTable->FAT_State == FAT_TRAINING_STATE) - { - if(pPktinfo->bPacketToSelf) //(pPktinfo->bPacketMatchBSSID && (!pPktinfo->bPacketBeacon)) - { - antsel_tr_mux = (pDM_FatTable->antsel_rx_keep_2<<2) |(pDM_FatTable->antsel_rx_keep_1 <<1) |pDM_FatTable->antsel_rx_keep_0; - pDM_FatTable->antSumRSSI[antsel_tr_mux] += pPhyInfo->RxPWDBAll; - pDM_FatTable->antRSSIcnt[antsel_tr_mux]++; - //ODM_RT_TRACE(pDM_Odm,ODM_COMP_ANT_DIV, ODM_DBG_LOUD,("isCCKrate=%d, PWDB_ALL=%d\n",isCCKrate, pPhyInfo->RxPWDBAll)); - //ODM_RT_TRACE(pDM_Odm,ODM_COMP_ANT_DIV, ODM_DBG_LOUD,("antsel_tr_mux=3'b%d%d%d\n", - //pDM_FatTable->antsel_rx_keep_2, pDM_FatTable->antsel_rx_keep_1, pDM_FatTable->antsel_rx_keep_0)); - - } - } - } - else if((pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV)||(pDM_Odm->AntDivType == CGCS_RX_HW_ANTDIV)) - { - if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon) - { - antsel_tr_mux = (pDM_FatTable->antsel_rx_keep_2<<2) |(pDM_FatTable->antsel_rx_keep_1 <<1) |pDM_FatTable->antsel_rx_keep_0; - //ODM_RT_TRACE(pDM_Odm,ODM_COMP_ANT_DIV, ODM_DBG_LOUD,("antsel_tr_mux=3'b%d%d%d\n", - // pDM_FatTable->antsel_rx_keep_2, pDM_FatTable->antsel_rx_keep_1, pDM_FatTable->antsel_rx_keep_0)); - - ODM_AntselStatistics_88E(pDM_Odm, antsel_tr_mux, pPktinfo->StationID, pPhyInfo->RxPWDBAll); - } - } - - } -#endif -#endif //#if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) - //-----------------Smart Antenna Debug Message------------------// - - UndecoratedSmoothedCCK = pEntry->rssi_stat.UndecoratedSmoothedCCK; - UndecoratedSmoothedOFDM = pEntry->rssi_stat.UndecoratedSmoothedOFDM; - UndecoratedSmoothedPWDB = pEntry->rssi_stat.UndecoratedSmoothedPWDB; - - if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon) - { - - if(!isCCKrate)//ofdm rate - { - if(pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B] == 0){ - RSSI_Ave = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A]; - } - else - { - //DbgPrint("pRfd->Status.RxMIMOSignalStrength[0] = %d, pRfd->Status.RxMIMOSignalStrength[1] = %d \n", - //pRfd->Status.RxMIMOSignalStrength[0], pRfd->Status.RxMIMOSignalStrength[1]); - - - if(pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A] > pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B]) - { - RSSI_max = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A]; - RSSI_min = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B]; - } - else - { - RSSI_max = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B]; - RSSI_min = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A]; - } - if((RSSI_max -RSSI_min) < 3) - RSSI_Ave = RSSI_max; - else if((RSSI_max -RSSI_min) < 6) - RSSI_Ave = RSSI_max - 1; - else if((RSSI_max -RSSI_min) < 10) - RSSI_Ave = RSSI_max - 2; - else - RSSI_Ave = RSSI_max - 3; - } - - //1 Process OFDM RSSI - if(UndecoratedSmoothedOFDM <= 0) // initialize - { - UndecoratedSmoothedOFDM = pPhyInfo->RxPWDBAll; - } - else - { - if(pPhyInfo->RxPWDBAll > (u4Byte)UndecoratedSmoothedOFDM) - { - UndecoratedSmoothedOFDM = - ( ((UndecoratedSmoothedOFDM)*(Rx_Smooth_Factor-1)) + - (RSSI_Ave)) /(Rx_Smooth_Factor); - UndecoratedSmoothedOFDM = UndecoratedSmoothedOFDM + 1; - } - else - { - UndecoratedSmoothedOFDM = - ( ((UndecoratedSmoothedOFDM)*(Rx_Smooth_Factor-1)) + - (RSSI_Ave)) /(Rx_Smooth_Factor); - } - } - - pEntry->rssi_stat.PacketMap = (pEntry->rssi_stat.PacketMap<<1) | BIT0; - - } - else - { - RSSI_Ave = pPhyInfo->RxPWDBAll; - - //1 Process CCK RSSI - if(UndecoratedSmoothedCCK <= 0) // initialize - { - UndecoratedSmoothedCCK = pPhyInfo->RxPWDBAll; - } - else - { - if(pPhyInfo->RxPWDBAll > (u4Byte)UndecoratedSmoothedCCK) - { - UndecoratedSmoothedCCK = - ( ((UndecoratedSmoothedCCK)*(Rx_Smooth_Factor-1)) + - (pPhyInfo->RxPWDBAll)) /(Rx_Smooth_Factor); - UndecoratedSmoothedCCK = UndecoratedSmoothedCCK + 1; - } - else - { - UndecoratedSmoothedCCK = - ( ((UndecoratedSmoothedCCK)*(Rx_Smooth_Factor-1)) + - (pPhyInfo->RxPWDBAll)) /(Rx_Smooth_Factor); - } - } - pEntry->rssi_stat.PacketMap = pEntry->rssi_stat.PacketMap<<1; - } - - //if(pEntry) - { - //2011.07.28 LukeLee: modified to prevent unstable CCK RSSI - if(pEntry->rssi_stat.ValidBit >= 64) - pEntry->rssi_stat.ValidBit = 64; - else - pEntry->rssi_stat.ValidBit++; - - for(i=0; i<pEntry->rssi_stat.ValidBit; i++) - OFDM_pkt += (u1Byte)(pEntry->rssi_stat.PacketMap>>i)&BIT0; - - if(pEntry->rssi_stat.ValidBit == 64) - { - Weighting = ((OFDM_pkt<<4) > 64)?64:(OFDM_pkt<<4); - UndecoratedSmoothedPWDB = (Weighting*UndecoratedSmoothedOFDM+(64-Weighting)*UndecoratedSmoothedCCK)>>6; - } - else - { - if(pEntry->rssi_stat.ValidBit != 0) - UndecoratedSmoothedPWDB = (OFDM_pkt*UndecoratedSmoothedOFDM+(pEntry->rssi_stat.ValidBit-OFDM_pkt)*UndecoratedSmoothedCCK)/pEntry->rssi_stat.ValidBit; - else - UndecoratedSmoothedPWDB = 0; - } - - pEntry->rssi_stat.UndecoratedSmoothedCCK = UndecoratedSmoothedCCK; - pEntry->rssi_stat.UndecoratedSmoothedOFDM = UndecoratedSmoothedOFDM; - pEntry->rssi_stat.UndecoratedSmoothedPWDB = UndecoratedSmoothedPWDB; - - //DbgPrint("OFDM_pkt=%d, Weighting=%d\n", OFDM_pkt, Weighting); - //DbgPrint("UndecoratedSmoothedOFDM=%d, UndecoratedSmoothedPWDB=%d, UndecoratedSmoothedCCK=%d\n", - // UndecoratedSmoothedOFDM, UndecoratedSmoothedPWDB, UndecoratedSmoothedCCK); - - } - - } -} - - -// -// Endianness before calling this API -// -VOID -ODM_PhyStatusQuery_92CSeries( - IN OUT PDM_ODM_T pDM_Odm, - OUT PODM_PHY_INFO_T pPhyInfo, - IN pu1Byte pPhyStatus, - IN PODM_PACKET_INFO_T pPktinfo - ) -{ - - odm_RxPhyStatus92CSeries_Parsing( - pDM_Odm, - pPhyInfo, - pPhyStatus, - pPktinfo); - - if( pDM_Odm->RSSI_test == TRUE) - { - // Select the packets to do RSSI checking for antenna switching. - if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon ) - { - /* - #if 0//(DM_ODM_SUPPORT_TYPE == ODM_MP) - dm_SWAW_RSSI_Check( - Adapter, - (tmppAdapter!=NULL)?(tmppAdapter==Adapter):TRUE, - bPacketMatchBSSID, - pEntry, - pRfd); - #elif (DM_ODM_SUPPORT_TYPE == ODM_CE) - // Select the packets to do RSSI checking for antenna switching. - //odm_SwAntDivRSSICheck8192C(padapter, precvframe->u.hdr.attrib.RxPWDBAll); - #endif - */ - ODM_SwAntDivChkPerPktRssi(pDM_Odm,pPktinfo->StationID,pPhyInfo); - } - } - else - { - odm_Process_RSSIForDM(pDM_Odm,pPhyInfo,pPktinfo); - } - -} - - - -// -// Endianness before calling this API -// -VOID -ODM_PhyStatusQuery_JaguarSeries( - IN OUT PDM_ODM_T pDM_Odm, - OUT PODM_PHY_INFO_T pPhyInfo, - IN pu1Byte pPhyStatus, - IN PODM_PACKET_INFO_T pPktinfo - ) -{ - - -} - -VOID -ODM_PhyStatusQuery( - IN OUT PDM_ODM_T pDM_Odm, - OUT PODM_PHY_INFO_T pPhyInfo, - IN pu1Byte pPhyStatus, - IN PODM_PACKET_INFO_T pPktinfo - ) -{ -#if 0 // How to jaguar jugar series?? - if(pDM_Odm->SupportICType >= ODM_RTL8195 ) - { - ODM_PhyStatusQuery_JaguarSeries(pDM_Odm,pPhyInfo,pPhyStatus,pPktinfo); - } - else -#endif - { - ODM_PhyStatusQuery_92CSeries(pDM_Odm,pPhyInfo,pPhyStatus,pPktinfo); - } -} - -// For future use. -VOID -ODM_MacStatusQuery( - IN OUT PDM_ODM_T pDM_Odm, - IN pu1Byte pMacStatus, - IN u1Byte MacID, - IN BOOLEAN bPacketMatchBSSID, - IN BOOLEAN bPacketToSelf, - IN BOOLEAN bPacketBeacon - ) -{ - // 2011/10/19 Driver team will handle in the future. - -} - -#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE|ODM_AP)) - -HAL_STATUS -ODM_ConfigRFWithHeaderFile( - IN PDM_ODM_T pDM_Odm, - IN ODM_RF_RADIO_PATH_E Content, - IN ODM_RF_RADIO_PATH_E eRFPath - ) -{ - //RT_STATUS rtStatus = RT_STATUS_SUCCESS; - - - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, ("===>ODM_ConfigRFWithHeaderFile\n")); -#if (RTL8723A_SUPPORT == 1) - if (pDM_Odm->SupportICType == ODM_RTL8723A) - { - if(eRFPath == ODM_RF_PATH_A) - READ_AND_CONFIG_MP(8723A,_RadioA_1T_); - - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_A:Rtl8723RadioA_1TArray\n")); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_B:Rtl8723RadioB_1TArray\n")); - } - - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("ODM_ConfigRFWithHeaderFile: Radio No %x\n", eRFPath)); - //rtStatus = RT_STATUS_SUCCESS; -#endif -#if (RTL8188E_SUPPORT == 1) - if (pDM_Odm->SupportICType == ODM_RTL8188E) - { - if(eRFPath == ODM_RF_PATH_A) - READ_AND_CONFIG(8188E,_RadioA_1T_); - //else if(eRFPath == ODM_RF_PATH_B) - // READ_AND_CONFIG(8188E,_RadioB_1T_); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_A:Rtl8188ERadioA_1TArray\n")); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_B:Rtl8188ERadioB_1TArray\n")); - } - - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("ODM_ConfigRFWithHeaderFile: Radio No %x\n", eRFPath)); - //rtStatus = RT_STATUS_SUCCESS; -#endif - return HAL_STATUS_SUCCESS; -} - - -HAL_STATUS -ODM_ConfigBBWithHeaderFile( - IN PDM_ODM_T pDM_Odm, - IN ODM_BB_Config_Type ConfigType - ) -{ -#if (RTL8723A_SUPPORT == 1) - if(pDM_Odm->SupportICType == ODM_RTL8723A) - { - - if(ConfigType == CONFIG_BB_PHY_REG) - { - READ_AND_CONFIG_MP(8723A,_PHY_REG_1T_); - } - else if(ConfigType == CONFIG_BB_AGC_TAB) - { - READ_AND_CONFIG_MP(8723A,_AGC_TAB_1T_); - } - ODM_RT_TRACE(pDM_Odm,ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() phy:Rtl8723AGCTAB_1TArray\n")); - ODM_RT_TRACE(pDM_Odm,ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() agc:Rtl8723PHY_REG_1TArray\n")); - } -#endif - -#if (RTL8188E_SUPPORT == 1) - if(pDM_Odm->SupportICType == ODM_RTL8188E) - { - - if(ConfigType == CONFIG_BB_PHY_REG) - { - READ_AND_CONFIG(8188E,_PHY_REG_1T_); - } -// else if(ConfigType == ODM_BaseBand_Config_PHY_REG_MP) -// { - //READ_AND_CONFIG(8188E,_PHY_REG_MP_); -// } - else if(ConfigType == CONFIG_BB_AGC_TAB) - { - READ_AND_CONFIG(8188E,_AGC_TAB_1T_); - } - else if(ConfigType == CONFIG_BB_PHY_REG_PG) - { - READ_AND_CONFIG(8188E,_PHY_REG_PG_); - ODM_RT_TRACE(pDM_Odm,ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() agc:Rtl8188EPHY_REG_PGArray\n")); - } - } -#endif - - return HAL_STATUS_SUCCESS; -} - -HAL_STATUS -ODM_ConfigMACWithHeaderFile( - IN PDM_ODM_T pDM_Odm - ) -{ - u1Byte result = HAL_STATUS_SUCCESS; -#if (RTL8723A_SUPPORT == 1) - if (pDM_Odm->SupportICType == ODM_RTL8723A) - { - READ_AND_CONFIG_MP(8723A,_MAC_REG_); - } -#endif -#if (RTL8188E_SUPPORT == 1) - if (pDM_Odm->SupportICType == ODM_RTL8188E) - { - result = READ_AND_CONFIG(8188E,_MAC_REG_); - } -#endif - - return result; -} - - -#endif // end of (#if DM_ODM_SUPPORT_TYPE) - + else if (AntPower >= 0)
+ {
+ return 100;
+ }
+ else
+ {
+ return (100+AntPower);
+ }
+
+}
+
+#if (DM_ODM_SUPPORT_TYPE != ODM_MP)
+//
+// 2012/01/12 MH MOve some signal strength smooth method to MP HAL layer.
+// IF other SW team do not support the feature, remove this section.??
+//
+s4Byte
+odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Lenovo(
+ IN OUT PDM_ODM_T pDM_Odm,
+ s4Byte CurrSig
+)
+{
+ s4Byte RetSig;
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ //if(pDM_Odm->SupportInterface == ODM_ITRF_PCIE)
+ {
+ // Step 1. Scale mapping.
+ // 20100611 Joseph: Re-tunning RSSI presentation for Lenovo.
+ // 20100426 Joseph: Modify Signal strength mapping.
+ // This modification makes the RSSI indication similar to Intel solution.
+ // 20100414 Joseph: Tunning RSSI for Lenovo according to RTL8191SE.
+ if(CurrSig >= 54 && CurrSig <= 100)
+ {
+ RetSig = 100;
+ }
+ else if(CurrSig>=42 && CurrSig <= 53 )
+ {
+ RetSig = 95;
+ }
+ else if(CurrSig>=36 && CurrSig <= 41 )
+ {
+ RetSig = 74 + ((CurrSig - 36) *20)/6;
+ }
+ else if(CurrSig>=33 && CurrSig <= 35 )
+ {
+ RetSig = 65 + ((CurrSig - 33) *8)/2;
+ }
+ else if(CurrSig>=18 && CurrSig <= 32 )
+ {
+ RetSig = 62 + ((CurrSig - 18) *2)/15;
+ }
+ else if(CurrSig>=15 && CurrSig <= 17 )
+ {
+ RetSig = 33 + ((CurrSig - 15) *28)/2;
+ }
+ else if(CurrSig>=10 && CurrSig <= 14 )
+ {
+ RetSig = 39;
+ }
+ else if(CurrSig>=8 && CurrSig <= 9 )
+ {
+ RetSig = 33;
+ }
+ else if(CurrSig <= 8 )
+ {
+ RetSig = 19;
+ }
+ }
+#endif //ENDIF (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ return RetSig;
+}
+
+s4Byte
+odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Netcore(
+ IN OUT PDM_ODM_T pDM_Odm,
+ s4Byte CurrSig
+)
+{
+ s4Byte RetSig;
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ //if(pDM_Odm->SupportInterface == ODM_ITRF_USB)
+ {
+ // Netcore request this modification because 2009.04.13 SU driver use it.
+ if(CurrSig >= 31 && CurrSig <= 100)
+ {
+ RetSig = 100;
+ }
+ else if(CurrSig >= 21 && CurrSig <= 30)
+ {
+ RetSig = 90 + ((CurrSig - 20) / 1);
+ }
+ else if(CurrSig >= 11 && CurrSig <= 20)
+ {
+ RetSig = 80 + ((CurrSig - 10) / 1);
+ }
+ else if(CurrSig >= 7 && CurrSig <= 10)
+ {
+ RetSig = 69 + (CurrSig - 7);
+ }
+ else if(CurrSig == 6)
+ {
+ RetSig = 54;
+ }
+ else if(CurrSig == 5)
+ {
+ RetSig = 45;
+ }
+ else if(CurrSig == 4)
+ {
+ RetSig = 36;
+ }
+ else if(CurrSig == 3)
+ {
+ RetSig = 27;
+ }
+ else if(CurrSig == 2)
+ {
+ RetSig = 18;
+ }
+ else if(CurrSig == 1)
+ {
+ RetSig = 9;
+ }
+ else
+ {
+ RetSig = CurrSig;
+ }
+ }
+#endif //ENDIF (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ return RetSig;
+}
+
+
+s4Byte
+odm_SignalScaleMapping_92CSeries(
+ IN OUT PDM_ODM_T pDM_Odm,
+ IN s4Byte CurrSig
+)
+{
+ s4Byte RetSig;
+#if (DEV_BUS_TYPE == RT_PCI_INTERFACE)
+ if(pDM_Odm->SupportInterface == ODM_ITRF_PCIE)
+ {
+ // Step 1. Scale mapping.
+ if(CurrSig >= 61 && CurrSig <= 100)
+ {
+ RetSig = 90 + ((CurrSig - 60) / 4);
+ }
+ else if(CurrSig >= 41 && CurrSig <= 60)
+ {
+ RetSig = 78 + ((CurrSig - 40) / 2);
+ }
+ else if(CurrSig >= 31 && CurrSig <= 40)
+ {
+ RetSig = 66 + (CurrSig - 30);
+ }
+ else if(CurrSig >= 21 && CurrSig <= 30)
+ {
+ RetSig = 54 + (CurrSig - 20);
+ }
+ else if(CurrSig >= 5 && CurrSig <= 20)
+ {
+ RetSig = 42 + (((CurrSig - 5) * 2) / 3);
+ }
+ else if(CurrSig == 4)
+ {
+ RetSig = 36;
+ }
+ else if(CurrSig == 3)
+ {
+ RetSig = 27;
+ }
+ else if(CurrSig == 2)
+ {
+ RetSig = 18;
+ }
+ else if(CurrSig == 1)
+ {
+ RetSig = 9;
+ }
+ else
+ {
+ RetSig = CurrSig;
+ }
+ }
+#endif
+
+#if ((DEV_BUS_TYPE == RT_USB_INTERFACE) ||(DEV_BUS_TYPE == RT_SDIO_INTERFACE))
+ if((pDM_Odm->SupportInterface == ODM_ITRF_USB) || (pDM_Odm->SupportInterface == ODM_ITRF_SDIO) )
+ {
+ if(CurrSig >= 51 && CurrSig <= 100)
+ {
+ RetSig = 100;
+ }
+ else if(CurrSig >= 41 && CurrSig <= 50)
+ {
+ RetSig = 80 + ((CurrSig - 40)*2);
+ }
+ else if(CurrSig >= 31 && CurrSig <= 40)
+ {
+ RetSig = 66 + (CurrSig - 30);
+ }
+ else if(CurrSig >= 21 && CurrSig <= 30)
+ {
+ RetSig = 54 + (CurrSig - 20);
+ }
+ else if(CurrSig >= 10 && CurrSig <= 20)
+ {
+ RetSig = 42 + (((CurrSig - 10) * 2) / 3);
+ }
+ else if(CurrSig >= 5 && CurrSig <= 9)
+ {
+ RetSig = 22 + (((CurrSig - 5) * 3) / 2);
+ }
+ else if(CurrSig >= 1 && CurrSig <= 4)
+ {
+ RetSig = 6 + (((CurrSig - 1) * 3) / 2);
+ }
+ else
+ {
+ RetSig = CurrSig;
+ }
+ }
+#endif
+ return RetSig;
+}
+s4Byte
+odm_SignalScaleMapping(
+ IN OUT PDM_ODM_T pDM_Odm,
+ IN s4Byte CurrSig
+)
+{
+ if( (pDM_Odm->SupportPlatform == ODM_MP) &&
+ (pDM_Odm->SupportInterface != ODM_ITRF_PCIE) && //USB & SDIO
+ (pDM_Odm->PatchID==10))//pMgntInfo->CustomerID == RT_CID_819x_Netcore
+ {
+ return odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Netcore(pDM_Odm,CurrSig);
+ }
+ else if( (pDM_Odm->SupportPlatform == ODM_MP) &&
+ (pDM_Odm->SupportInterface == ODM_ITRF_PCIE) &&
+ (pDM_Odm->PatchID==19))//pMgntInfo->CustomerID == RT_CID_819x_Lenovo)
+ {
+ return odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Lenovo(pDM_Odm, CurrSig);
+ }
+ else{
+ return odm_SignalScaleMapping_92CSeries(pDM_Odm,CurrSig);
+ }
+
+}
+#endif
+
+//pMgntInfo->CustomerID == RT_CID_819x_Lenovo
+static u1Byte odm_SQ_process_patch_RT_CID_819x_Lenovo(
+ IN PDM_ODM_T pDM_Odm,
+ IN u1Byte isCCKrate,
+ IN u1Byte PWDB_ALL,
+ IN u1Byte path,
+ IN u1Byte RSSI
+)
+{
+ u1Byte SQ;
+#if (DM_ODM_SUPPORT_TYPE & ODM_MP)
+ // mapping to 5 bars for vista signal strength
+ // signal quality in driver will be displayed to signal strength
+ if(isCCKrate){
+ // in vista.
+ if(PWDB_ALL >= 50)
+ SQ = 100;
+ else if(PWDB_ALL >= 35 && PWDB_ALL < 50)
+ SQ = 80;
+ else if(PWDB_ALL >= 22 && PWDB_ALL < 35)
+ SQ = 60;
+ else if(PWDB_ALL >= 18 && PWDB_ALL < 22)
+ SQ = 40;
+ else
+ SQ = 20;
+ }
+ else{//OFDM rate
+
+ // mapping to 5 bars for vista signal strength
+ // signal quality in driver will be displayed to signal strength
+ // in vista.
+ if(RSSI >= 50)
+ SQ = 100;
+ else if(RSSI >= 35 && RSSI < 50)
+ SQ = 80;
+ else if(RSSI >= 22 && RSSI < 35)
+ SQ = 60;
+ else if(RSSI >= 18 && RSSI < 22)
+ SQ = 40;
+ else
+ SQ = 20;
+ }
+#endif
+ return SQ;
+}
+
+static u1Byte
+odm_EVMdbToPercentage(
+ IN s1Byte Value
+ )
+{
+ //
+ // -33dB~0dB to 0%~99%
+ //
+ s1Byte ret_val;
+
+ ret_val = Value;
+ //ret_val /= 2;
+
+ //ODM_RTPRINT(FRX, RX_PHY_SQ, ("EVMdbToPercentage92C Value=%d / %x \n", ret_val, ret_val));
+
+ if(ret_val >= 0)
+ ret_val = 0;
+ if(ret_val <= -33)
+ ret_val = -33;
+
+ ret_val = 0 - ret_val;
+ ret_val*=3;
+
+ if(ret_val == 99)
+ ret_val = 100;
+
+ return(ret_val);
+}
+
+
+
+VOID
+odm_RxPhyStatus92CSeries_Parsing(
+ IN OUT PDM_ODM_T pDM_Odm,
+ OUT PODM_PHY_INFO_T pPhyInfo,
+ IN pu1Byte pPhyStatus,
+ IN PODM_PACKET_INFO_T pPktinfo
+ )
+{
+ SWAT_T *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
+ u1Byte i, Max_spatial_stream;
+ s1Byte rx_pwr[4], rx_pwr_all=0;
+ u1Byte EVM, PWDB_ALL = 0, PWDB_ALL_BT;
+ u1Byte RSSI, total_rssi=0;
+ u1Byte isCCKrate=0;
+ u1Byte rf_rx_num = 0;
+ u1Byte cck_highpwr = 0;
+ u1Byte LNA_idx, VGA_idx;
+
+ PPHY_STATUS_RPT_8192CD_T pPhyStaRpt = (PPHY_STATUS_RPT_8192CD_T)pPhyStatus;
+
+ isCCKrate = ((pPktinfo->Rate >= DESC92C_RATE1M ) && (pPktinfo->Rate <= DESC92C_RATE11M ))?TRUE :FALSE;
+
+ pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_A] = -1;
+ pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_B] = -1;
+
+
+ if(isCCKrate)
+ {
+ u1Byte report;
+ u1Byte cck_agc_rpt;
+
+ pDM_Odm->PhyDbgInfo.NumQryPhyStatusCCK++;
+ //
+ // (1)Hardware does not provide RSSI for CCK
+ // (2)PWDB, Average PWDB cacluated by hardware (for rate adaptive)
+ //
+
+ //if(pHalData->eRFPowerState == eRfOn)
+ cck_highpwr = pDM_Odm->bCckHighPower;
+ //else
+ // cck_highpwr = FALSE;
+
+ cck_agc_rpt = pPhyStaRpt->cck_agc_rpt_ofdm_cfosho_a ;
+
+ //2011.11.28 LukeLee: 88E use different LNA & VGA gain table
+ //The RSSI formula should be modified according to the gain table
+ //In 88E, cck_highpwr is always set to 1
+ if(pDM_Odm->SupportICType & (ODM_RTL8188E|ODM_RTL8812))
+ {
+ LNA_idx = ((cck_agc_rpt & 0xE0) >>5);
+ VGA_idx = (cck_agc_rpt & 0x1F);
+ switch(LNA_idx)
+ {
+ case 7:
+ if(VGA_idx <= 27)
+ rx_pwr_all = -100 + 2*(27-VGA_idx); //VGA_idx = 27~2
+ else
+ rx_pwr_all = -100;
+ break;
+ case 6:
+ rx_pwr_all = -48 + 2*(2-VGA_idx); //VGA_idx = 2~0
+ break;
+ case 5:
+ rx_pwr_all = -42 + 2*(7-VGA_idx); //VGA_idx = 7~5
+ break;
+ case 4:
+ rx_pwr_all = -36 + 2*(7-VGA_idx); //VGA_idx = 7~4
+ break;
+ case 3:
+ //rx_pwr_all = -28 + 2*(7-VGA_idx); //VGA_idx = 7~0
+ rx_pwr_all = -24 + 2*(7-VGA_idx); //VGA_idx = 7~0
+ break;
+ case 2:
+ if(cck_highpwr)
+ rx_pwr_all = -12 + 2*(5-VGA_idx); //VGA_idx = 5~0
+ else
+ rx_pwr_all = -6+ 2*(5-VGA_idx);
+ break;
+ case 1:
+ rx_pwr_all = 8-2*VGA_idx;
+ break;
+ case 0:
+ rx_pwr_all = 14-2*VGA_idx;
+ break;
+ default:
+ //DbgPrint("CCK Exception default\n");
+ break;
+ }
+ rx_pwr_all += 6;
+ PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all);
+ if(cck_highpwr == FALSE)
+ {
+ if(PWDB_ALL >= 80)
+ PWDB_ALL = ((PWDB_ALL-80)<<1)+((PWDB_ALL-80)>>1)+80;
+ else if((PWDB_ALL <= 78) && (PWDB_ALL >= 20))
+ PWDB_ALL += 3;
+ if(PWDB_ALL>100)
+ PWDB_ALL = 100;
+ }
+ }
+ else
+ {
+ if(!cck_highpwr)
+ {
+ report =( cck_agc_rpt & 0xc0 )>>6;
+ switch(report)
+ {
+ // 03312009 modified by cosa
+ // Modify the RF RNA gain value to -40, -20, -2, 14 by Jenyu's suggestion
+ // Note: different RF with the different RNA gain.
+ case 0x3:
+ rx_pwr_all = -46 - (cck_agc_rpt & 0x3e);
+ break;
+ case 0x2:
+ rx_pwr_all = -26 - (cck_agc_rpt & 0x3e);
+ break;
+ case 0x1:
+ rx_pwr_all = -12 - (cck_agc_rpt & 0x3e);
+ break;
+ case 0x0:
+ rx_pwr_all = 16 - (cck_agc_rpt & 0x3e);
+ break;
+ }
+ }
+ else
+ {
+ //report = pDrvInfo->cfosho[0] & 0x60;
+ //report = pPhyStaRpt->cck_agc_rpt_ofdm_cfosho_a& 0x60;
+
+ report = (cck_agc_rpt & 0x60)>>5;
+ switch(report)
+ {
+ case 0x3:
+ rx_pwr_all = -46 - ((cck_agc_rpt & 0x1f)<<1) ;
+ break;
+ case 0x2:
+ rx_pwr_all = -26 - ((cck_agc_rpt & 0x1f)<<1);
+ break;
+ case 0x1:
+ rx_pwr_all = -12 - ((cck_agc_rpt & 0x1f)<<1) ;
+ break;
+ case 0x0:
+ rx_pwr_all = 16 - ((cck_agc_rpt & 0x1f)<<1) ;
+ break;
+ }
+ }
+
+ PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all);
+
+ //Modification for ext-LNA board
+ if(pDM_Odm->BoardType & (ODM_BOARD_EXT_LNA | ODM_BOARD_EXT_PA))
+ {
+ if((cck_agc_rpt>>7) == 0){
+ PWDB_ALL = (PWDB_ALL>94)?100:(PWDB_ALL +6);
+ }
+ else
+ {
+ if(PWDB_ALL > 38)
+ PWDB_ALL -= 16;
+ else
+ PWDB_ALL = (PWDB_ALL<=16)?(PWDB_ALL>>2):(PWDB_ALL -12);
+ }
+
+ //CCK modification
+ if(PWDB_ALL > 25 && PWDB_ALL <= 60)
+ PWDB_ALL += 6;
+ //else if (PWDB_ALL <= 25)
+ // PWDB_ALL += 8;
+ }
+ else//Modification for int-LNA board
+ {
+ if(PWDB_ALL > 99)
+ PWDB_ALL -= 8;
+ else if(PWDB_ALL > 50 && PWDB_ALL <= 68)
+ PWDB_ALL += 4;
+ }
+ }
+
+ pPhyInfo->RxPWDBAll = PWDB_ALL;
+#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE))
+ pPhyInfo->BTRxRSSIPercentage = PWDB_ALL;
+ pPhyInfo->RecvSignalPower = rx_pwr_all;
+#endif
+ //
+ // (3) Get Signal Quality (EVM)
+ //
+ if(pPktinfo->bPacketMatchBSSID)
+ {
+ u1Byte SQ,SQ_rpt;
+
+ if((pDM_Odm->SupportPlatform == ODM_MP) &&(pDM_Odm->PatchID==19)){//pMgntInfo->CustomerID == RT_CID_819x_Lenovo
+ SQ = odm_SQ_process_patch_RT_CID_819x_Lenovo(pDM_Odm,isCCKrate,PWDB_ALL,0,0);
+ }
+ else if(pPhyInfo->RxPWDBAll > 40 && !pDM_Odm->bInHctTest){
+ SQ = 100;
+ }
+ else{
+ SQ_rpt = pPhyStaRpt->cck_sig_qual_ofdm_pwdb_all;
+
+ if(SQ_rpt > 64)
+ SQ = 0;
+ else if (SQ_rpt < 20)
+ SQ = 100;
+ else
+ SQ = ((64-SQ_rpt) * 100) / 44;
+
+ }
+
+ //DbgPrint("cck SQ = %d\n", SQ);
+ pPhyInfo->SignalQuality = SQ;
+ pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_A] = SQ;
+ pPhyInfo->RxMIMOSignalQuality[ODM_RF_PATH_B] = -1;
+ }
+ }
+ else //is OFDM rate
+ {
+ pDM_Odm->PhyDbgInfo.NumQryPhyStatusOFDM++;
+
+ //
+ // (1)Get RSSI for HT rate
+ //
+
+ for(i = ODM_RF_PATH_A; i < ODM_RF_PATH_MAX; i++)
+ {
+ // 2008/01/30 MH we will judge RF RX path now.
+ if (pDM_Odm->RFPathRxEnable & BIT(i))
+ rf_rx_num++;
+ //else
+ //continue;
+
+ rx_pwr[i] = ((pPhyStaRpt->path_agc[i].gain& 0x3F)*2) - 110;
+
+ #if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE))
+ pPhyInfo->RxPwr[i] = rx_pwr[i];
+ #endif
+
+ /* Translate DBM to percentage. */
+ RSSI = odm_QueryRxPwrPercentage(rx_pwr[i]);
+ total_rssi += RSSI;
+ //RTPRINT(FRX, RX_PHY_SS, ("RF-%d RXPWR=%x RSSI=%d\n", i, rx_pwr[i], RSSI));
+
+ //Modification for ext-LNA board
+ if(pDM_Odm->BoardType & (ODM_BOARD_EXT_LNA | ODM_BOARD_EXT_PA))
+ {
+ if((pPhyStaRpt->path_agc[i].trsw) == 1)
+ RSSI = (RSSI>94)?100:(RSSI +6);
+ else
+ RSSI = (RSSI<=16)?(RSSI>>3):(RSSI -16);
+
+ if((RSSI <= 34) && (RSSI >=4))
+ RSSI -= 4;
+ }
+
+ pPhyInfo->RxMIMOSignalStrength[i] =(u1Byte) RSSI;
+
+ #if (DM_ODM_SUPPORT_TYPE & (/*ODM_MP|*/ODM_CE|ODM_AP|ODM_ADSL))
+ //Get Rx snr value in DB
+ pPhyInfo->RxSNR[i] = pDM_Odm->PhyDbgInfo.RxSNRdB[i] = (s4Byte)(pPhyStaRpt->path_rxsnr[i]/2);
+ #endif
+
+ /* Record Signal Strength for next packet */
+ if(pPktinfo->bPacketMatchBSSID)
+ {
+ if((pDM_Odm->SupportPlatform == ODM_MP) &&(pDM_Odm->PatchID==19))
+ {
+ if(i==ODM_RF_PATH_A)
+ pPhyInfo->SignalQuality = odm_SQ_process_patch_RT_CID_819x_Lenovo(pDM_Odm,isCCKrate,PWDB_ALL,i,RSSI);
+
+ }
+
+ }
+ }
+
+
+ //
+ // (2)PWDB, Average PWDB cacluated by hardware (for rate adaptive)
+ //
+ rx_pwr_all = (((pPhyStaRpt->cck_sig_qual_ofdm_pwdb_all) >> 1 )& 0x7f) -110;
+ //RTPRINT(FRX, RX_PHY_SS, ("PWDB_ALL=%d\n", PWDB_ALL));
+
+ PWDB_ALL_BT = PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all);
+ //RTPRINT(FRX, RX_PHY_SS, ("PWDB_ALL=%d\n",PWDB_ALL));
+
+ pPhyInfo->RxPWDBAll = PWDB_ALL;
+ //ODM_RT_TRACE(pDM_Odm,ODM_COMP_RSSI_MONITOR, ODM_DBG_LOUD, ("ODM OFDM RSSI=%d\n",pPhyInfo->RxPWDBAll));
+ #if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE))
+ pPhyInfo->BTRxRSSIPercentage = PWDB_ALL_BT;
+ pPhyInfo->RxPower = rx_pwr_all;
+ pPhyInfo->RecvSignalPower = rx_pwr_all;
+ #endif
+
+ if((pDM_Odm->SupportPlatform == ODM_MP) &&(pDM_Odm->PatchID==19)){
+ //do nothing
+ }
+ else{//pMgntInfo->CustomerID != RT_CID_819x_Lenovo
+ //
+ // (3)EVM of HT rate
+ //
+ if(pPktinfo->Rate >=DESC92C_RATEMCS8 && pPktinfo->Rate <=DESC92C_RATEMCS15)
+ Max_spatial_stream = 2; //both spatial stream make sense
+ else
+ Max_spatial_stream = 1; //only spatial stream 1 makes sense
+
+ for(i=0; i<Max_spatial_stream; i++)
+ {
+ // Do not use shift operation like "rx_evmX >>= 1" because the compilor of free build environment
+ // fill most significant bit to "zero" when doing shifting operation which may change a negative
+ // value to positive one, then the dbm value (which is supposed to be negative) is not correct anymore.
+ EVM = odm_EVMdbToPercentage( (pPhyStaRpt->stream_rxevm[i] )); //dbm
+
+ //RTPRINT(FRX, RX_PHY_SQ, ("RXRATE=%x RXEVM=%x EVM=%s%d\n",
+ //GET_RX_STATUS_DESC_RX_MCS(pDesc), pDrvInfo->rxevm[i], "%", EVM));
+
+ if(pPktinfo->bPacketMatchBSSID)
+ {
+ if(i==ODM_RF_PATH_A) // Fill value in RFD, Get the first spatial stream only
+ {
+ pPhyInfo->SignalQuality = (u1Byte)(EVM & 0xff);
+ }
+ pPhyInfo->RxMIMOSignalQuality[i] = (u1Byte)(EVM & 0xff);
+ }
+ }
+ }
+
+ }
+#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE))
+ //UI BSS List signal strength(in percentage), make it good looking, from 0~100.
+ //It is assigned to the BSS List in GetValueFromBeaconOrProbeRsp().
+ if(isCCKrate)
+ {
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ // 2012/01/12 MH Use customeris signal strength from HalComRxdDesc.c/
+ pPhyInfo->SignalStrength = (u1Byte)(SignalScaleMapping(pDM_Odm->Adapter, PWDB_ALL));//PWDB_ALL;
+#else
+ pPhyInfo->SignalStrength = (u1Byte)(odm_SignalScaleMapping(pDM_Odm, PWDB_ALL));//PWDB_ALL;
+#endif
+ }
+ else
+ {
+ if (rf_rx_num != 0)
+ {
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ // 2012/01/12 MH Use customeris signal strength from HalComRxdDesc.c/
+ pPhyInfo->SignalStrength = (u1Byte)(SignalScaleMapping(pDM_Odm->Adapter, total_rssi/=rf_rx_num));//PWDB_ALL;
+#else
+ pPhyInfo->SignalStrength = (u1Byte)(odm_SignalScaleMapping(pDM_Odm, total_rssi/=rf_rx_num));
+#endif
+ }
+ }
+#endif
+
+ //For 92C/92D HW (Hybrid) Antenna Diversity
+#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
+ pDM_SWAT_Table->antsel = pPhyStaRpt->ant_sel;
+ //For 88E HW Antenna Diversity
+ pDM_Odm->DM_FatTable.antsel_rx_keep_0 = pPhyStaRpt->ant_sel;
+ pDM_Odm->DM_FatTable.antsel_rx_keep_1 = pPhyStaRpt->ant_sel_b;
+ pDM_Odm->DM_FatTable.antsel_rx_keep_2 = pPhyStaRpt->antsel_rx_keep_2;
+#endif
+}
+
+VOID
+odm_Init_RSSIForDM(
+ IN OUT PDM_ODM_T pDM_Odm
+ )
+{
+
+}
+
+VOID
+odm_Process_RSSIForDM(
+ IN OUT PDM_ODM_T pDM_Odm,
+ IN PODM_PHY_INFO_T pPhyInfo,
+ IN PODM_PACKET_INFO_T pPktinfo
+ )
+{
+
+ s4Byte UndecoratedSmoothedPWDB, UndecoratedSmoothedCCK, UndecoratedSmoothedOFDM, RSSI_Ave;
+ u1Byte isCCKrate=0;
+ u1Byte RSSI_max, RSSI_min, i;
+ u4Byte OFDM_pkt=0;
+ u4Byte Weighting=0;
+
+ PSTA_INFO_T pEntry;
+
+ if(pPktinfo->StationID == 0xFF)
+ return;
+
+ // 2011/11/17 MH Need to debug
+ //if (pDM_Odm->SupportPlatform == ODM_MP)
+ {
+
+ }
+
+ pEntry = pDM_Odm->pODM_StaInfo[pPktinfo->StationID];
+ if(!IS_STA_VALID(pEntry) ){
+ return;
+ }
+ if((!pPktinfo->bPacketMatchBSSID) )
+ {
+ return;
+ }
+
+ isCCKrate = ((pPktinfo->Rate >= DESC92C_RATE1M ) && (pPktinfo->Rate <= DESC92C_RATE11M ))?TRUE :FALSE;
+ if(pPktinfo->bPacketBeacon)
+ pDM_Odm->PhyDbgInfo.NumQryBeaconPkt++;
+
+ pDM_Odm->RxRate = pPktinfo->Rate;
+#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
+#if ((RTL8192C_SUPPORT == 1) ||(RTL8192D_SUPPORT == 1))
+ if(pDM_Odm->SupportICType & ODM_RTL8192C|ODM_RTL8192D)
+ {
+ if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon)
+ {
+ //if(pPktinfo->bPacketBeacon)
+ //{
+ // DbgPrint("This is beacon, isCCKrate=%d\n", isCCKrate);
+ //}
+ ODM_AntselStatistics_88C(pDM_Odm, pPktinfo->StationID, pPhyInfo->RxPWDBAll, isCCKrate);
+ }
+ }
+#endif
+ //-----------------Smart Antenna Debug Message------------------//
+#if (RTL8188E_SUPPORT == 1)
+ if(pDM_Odm->SupportICType == ODM_RTL8188E)
+ {
+ u1Byte antsel_tr_mux;
+ pFAT_T pDM_FatTable = &pDM_Odm->DM_FatTable;
+
+ if(pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV)
+ {
+ if(pDM_FatTable->FAT_State == FAT_TRAINING_STATE)
+ {
+ if(pPktinfo->bPacketToSelf) //(pPktinfo->bPacketMatchBSSID && (!pPktinfo->bPacketBeacon))
+ {
+ antsel_tr_mux = (pDM_FatTable->antsel_rx_keep_2<<2) |(pDM_FatTable->antsel_rx_keep_1 <<1) |pDM_FatTable->antsel_rx_keep_0;
+ pDM_FatTable->antSumRSSI[antsel_tr_mux] += pPhyInfo->RxPWDBAll;
+ pDM_FatTable->antRSSIcnt[antsel_tr_mux]++;
+ //ODM_RT_TRACE(pDM_Odm,ODM_COMP_ANT_DIV, ODM_DBG_LOUD,("isCCKrate=%d, PWDB_ALL=%d\n",isCCKrate, pPhyInfo->RxPWDBAll));
+ //ODM_RT_TRACE(pDM_Odm,ODM_COMP_ANT_DIV, ODM_DBG_LOUD,("antsel_tr_mux=3'b%d%d%d\n",
+ //pDM_FatTable->antsel_rx_keep_2, pDM_FatTable->antsel_rx_keep_1, pDM_FatTable->antsel_rx_keep_0));
+
+ }
+ }
+ }
+ else if((pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV)||(pDM_Odm->AntDivType == CGCS_RX_HW_ANTDIV))
+ {
+ if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon)
+ {
+ antsel_tr_mux = (pDM_FatTable->antsel_rx_keep_2<<2) |(pDM_FatTable->antsel_rx_keep_1 <<1) |pDM_FatTable->antsel_rx_keep_0;
+ //ODM_RT_TRACE(pDM_Odm,ODM_COMP_ANT_DIV, ODM_DBG_LOUD,("antsel_tr_mux=3'b%d%d%d\n",
+ // pDM_FatTable->antsel_rx_keep_2, pDM_FatTable->antsel_rx_keep_1, pDM_FatTable->antsel_rx_keep_0));
+
+ ODM_AntselStatistics_88E(pDM_Odm, antsel_tr_mux, pPktinfo->StationID, pPhyInfo->RxPWDBAll);
+ }
+ }
+
+ }
+#endif
+#endif //#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
+ //-----------------Smart Antenna Debug Message------------------//
+
+ UndecoratedSmoothedCCK = pEntry->rssi_stat.UndecoratedSmoothedCCK;
+ UndecoratedSmoothedOFDM = pEntry->rssi_stat.UndecoratedSmoothedOFDM;
+ UndecoratedSmoothedPWDB = pEntry->rssi_stat.UndecoratedSmoothedPWDB;
+
+ if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon)
+ {
+
+ if(!isCCKrate)//ofdm rate
+ {
+ if(pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B] == 0){
+ RSSI_Ave = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A];
+ pDM_Odm->RSSI_A = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A];
+ pDM_Odm->RSSI_B = 0;
+ }
+ else
+ {
+ //DbgPrint("pRfd->Status.RxMIMOSignalStrength[0] = %d, pRfd->Status.RxMIMOSignalStrength[1] = %d \n",
+ //pRfd->Status.RxMIMOSignalStrength[0], pRfd->Status.RxMIMOSignalStrength[1]);
+ pDM_Odm->RSSI_A = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A];
+ pDM_Odm->RSSI_B = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B];
+
+ if(pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A] > pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B])
+ {
+ RSSI_max = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A];
+ RSSI_min = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B];
+ }
+ else
+ {
+ RSSI_max = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_B];
+ RSSI_min = pPhyInfo->RxMIMOSignalStrength[ODM_RF_PATH_A];
+ }
+ if((RSSI_max -RSSI_min) < 3)
+ RSSI_Ave = RSSI_max;
+ else if((RSSI_max -RSSI_min) < 6)
+ RSSI_Ave = RSSI_max - 1;
+ else if((RSSI_max -RSSI_min) < 10)
+ RSSI_Ave = RSSI_max - 2;
+ else
+ RSSI_Ave = RSSI_max - 3;
+ }
+
+ //1 Process OFDM RSSI
+ if(UndecoratedSmoothedOFDM <= 0) // initialize
+ {
+ UndecoratedSmoothedOFDM = pPhyInfo->RxPWDBAll;
+ }
+ else
+ {
+ if(pPhyInfo->RxPWDBAll > (u4Byte)UndecoratedSmoothedOFDM)
+ {
+ UndecoratedSmoothedOFDM =
+ ( ((UndecoratedSmoothedOFDM)*(Rx_Smooth_Factor-1)) +
+ (RSSI_Ave)) /(Rx_Smooth_Factor);
+ UndecoratedSmoothedOFDM = UndecoratedSmoothedOFDM + 1;
+ }
+ else
+ {
+ UndecoratedSmoothedOFDM =
+ ( ((UndecoratedSmoothedOFDM)*(Rx_Smooth_Factor-1)) +
+ (RSSI_Ave)) /(Rx_Smooth_Factor);
+ }
+ }
+
+ pEntry->rssi_stat.PacketMap = (pEntry->rssi_stat.PacketMap<<1) | BIT0;
+
+ }
+ else
+ {
+ RSSI_Ave = pPhyInfo->RxPWDBAll;
+ pDM_Odm->RSSI_A = (u1Byte) pPhyInfo->RxPWDBAll;
+ pDM_Odm->RSSI_B = 0xFF;
+
+ //1 Process CCK RSSI
+ if(UndecoratedSmoothedCCK <= 0) // initialize
+ {
+ UndecoratedSmoothedCCK = pPhyInfo->RxPWDBAll;
+ }
+ else
+ {
+ if(pPhyInfo->RxPWDBAll > (u4Byte)UndecoratedSmoothedCCK)
+ {
+ UndecoratedSmoothedCCK =
+ ( ((UndecoratedSmoothedCCK)*(Rx_Smooth_Factor-1)) +
+ (pPhyInfo->RxPWDBAll)) /(Rx_Smooth_Factor);
+ UndecoratedSmoothedCCK = UndecoratedSmoothedCCK + 1;
+ }
+ else
+ {
+ UndecoratedSmoothedCCK =
+ ( ((UndecoratedSmoothedCCK)*(Rx_Smooth_Factor-1)) +
+ (pPhyInfo->RxPWDBAll)) /(Rx_Smooth_Factor);
+ }
+ }
+ pEntry->rssi_stat.PacketMap = pEntry->rssi_stat.PacketMap<<1;
+ }
+
+ //if(pEntry)
+ {
+ //2011.07.28 LukeLee: modified to prevent unstable CCK RSSI
+ if(pEntry->rssi_stat.ValidBit >= 64)
+ pEntry->rssi_stat.ValidBit = 64;
+ else
+ pEntry->rssi_stat.ValidBit++;
+
+ for(i=0; i<pEntry->rssi_stat.ValidBit; i++)
+ OFDM_pkt += (u1Byte)(pEntry->rssi_stat.PacketMap>>i)&BIT0;
+
+ if(pEntry->rssi_stat.ValidBit == 64)
+ {
+ Weighting = ((OFDM_pkt<<4) > 64)?64:(OFDM_pkt<<4);
+ UndecoratedSmoothedPWDB = (Weighting*UndecoratedSmoothedOFDM+(64-Weighting)*UndecoratedSmoothedCCK)>>6;
+ }
+ else
+ {
+ if(pEntry->rssi_stat.ValidBit != 0)
+ UndecoratedSmoothedPWDB = (OFDM_pkt*UndecoratedSmoothedOFDM+(pEntry->rssi_stat.ValidBit-OFDM_pkt)*UndecoratedSmoothedCCK)/pEntry->rssi_stat.ValidBit;
+ else
+ UndecoratedSmoothedPWDB = 0;
+ }
+
+ pEntry->rssi_stat.UndecoratedSmoothedCCK = UndecoratedSmoothedCCK;
+ pEntry->rssi_stat.UndecoratedSmoothedOFDM = UndecoratedSmoothedOFDM;
+ pEntry->rssi_stat.UndecoratedSmoothedPWDB = UndecoratedSmoothedPWDB;
+
+ //DbgPrint("OFDM_pkt=%d, Weighting=%d\n", OFDM_pkt, Weighting);
+ //DbgPrint("UndecoratedSmoothedOFDM=%d, UndecoratedSmoothedPWDB=%d, UndecoratedSmoothedCCK=%d\n",
+ // UndecoratedSmoothedOFDM, UndecoratedSmoothedPWDB, UndecoratedSmoothedCCK);
+
+ }
+
+ }
+}
+
+//
+// Endianness before calling this API
+//
+VOID
+ODM_PhyStatusQuery_92CSeries(
+ IN OUT PDM_ODM_T pDM_Odm,
+ OUT PODM_PHY_INFO_T pPhyInfo,
+ IN pu1Byte pPhyStatus,
+ IN PODM_PACKET_INFO_T pPktinfo
+ )
+{
+
+ odm_RxPhyStatus92CSeries_Parsing(
+ pDM_Odm,
+ pPhyInfo,
+ pPhyStatus,
+ pPktinfo);
+
+ if( pDM_Odm->RSSI_test == TRUE)
+ {
+ // Select the packets to do RSSI checking for antenna switching.
+ if(pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon )
+ {
+ /*
+ #if 0//(DM_ODM_SUPPORT_TYPE == ODM_MP)
+ dm_SWAW_RSSI_Check(
+ Adapter,
+ (tmppAdapter!=NULL)?(tmppAdapter==Adapter):TRUE,
+ bPacketMatchBSSID,
+ pEntry,
+ pRfd);
+ #elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
+ // Select the packets to do RSSI checking for antenna switching.
+ //odm_SwAntDivRSSICheck8192C(padapter, precvframe->u.hdr.attrib.RxPWDBAll);
+ #endif
+ */
+ ODM_SwAntDivChkPerPktRssi(pDM_Odm,pPktinfo->StationID,pPhyInfo);
+ }
+ }
+ else
+ {
+ odm_Process_RSSIForDM(pDM_Odm,pPhyInfo,pPktinfo);
+ }
+
+}
+
+
+
+//
+// Endianness before calling this API
+//
+VOID
+ODM_PhyStatusQuery_JaguarSeries(
+ IN OUT PDM_ODM_T pDM_Odm,
+ OUT PODM_PHY_INFO_T pPhyInfo,
+ IN pu1Byte pPhyStatus,
+ IN PODM_PACKET_INFO_T pPktinfo
+ )
+{
+
+
+}
+
+VOID
+ODM_PhyStatusQuery(
+ IN OUT PDM_ODM_T pDM_Odm,
+ OUT PODM_PHY_INFO_T pPhyInfo,
+ IN pu1Byte pPhyStatus,
+ IN PODM_PACKET_INFO_T pPktinfo
+ )
+{
+#if 0 // How to jaguar jugar series??
+ if(pDM_Odm->SupportICType >= ODM_RTL8195 )
+ {
+ ODM_PhyStatusQuery_JaguarSeries(pDM_Odm,pPhyInfo,pPhyStatus,pPktinfo);
+ }
+ else
+#endif
+ {
+ ODM_PhyStatusQuery_92CSeries(pDM_Odm,pPhyInfo,pPhyStatus,pPktinfo);
+ }
+}
+
+// For future use.
+VOID
+ODM_MacStatusQuery(
+ IN OUT PDM_ODM_T pDM_Odm,
+ IN pu1Byte pMacStatus,
+ IN u1Byte MacID,
+ IN BOOLEAN bPacketMatchBSSID,
+ IN BOOLEAN bPacketToSelf,
+ IN BOOLEAN bPacketBeacon
+ )
+{
+ // 2011/10/19 Driver team will handle in the future.
+
+}
+
+#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE|ODM_AP))
+
+HAL_STATUS
+ODM_ConfigRFWithHeaderFile(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_RF_RADIO_PATH_E Content,
+ IN ODM_RF_RADIO_PATH_E eRFPath
+ )
+{
+ //RT_STATUS rtStatus = RT_STATUS_SUCCESS;
+
+
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, ("===>ODM_ConfigRFWithHeaderFile\n"));
+#if (RTL8723A_SUPPORT == 1)
+ if (pDM_Odm->SupportICType == ODM_RTL8723A)
+ {
+ if(eRFPath == ODM_RF_PATH_A)
+ READ_AND_CONFIG_MP(8723A,_RadioA_1T_);
+
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_A:Rtl8723RadioA_1TArray\n"));
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_B:Rtl8723RadioB_1TArray\n"));
+ }
+
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("ODM_ConfigRFWithHeaderFile: Radio No %x\n", eRFPath));
+ //rtStatus = RT_STATUS_SUCCESS;
+#endif
+#if (RTL8188E_SUPPORT == 1)
+ if (pDM_Odm->SupportICType == ODM_RTL8188E)
+ {
+ if(eRFPath == ODM_RF_PATH_A)
+ READ_AND_CONFIG(8188E,_RadioA_1T_);
+ //else if(eRFPath == ODM_RF_PATH_B)
+ // READ_AND_CONFIG(8188E,_RadioB_1T_);
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_A:Rtl8188ERadioA_1TArray\n"));
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> ODM_ConfigRFWithHeaderFile() Radio_B:Rtl8188ERadioB_1TArray\n"));
+ }
+
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("ODM_ConfigRFWithHeaderFile: Radio No %x\n", eRFPath));
+ //rtStatus = RT_STATUS_SUCCESS;
+#endif
+ return HAL_STATUS_SUCCESS;
+}
+
+
+HAL_STATUS
+ODM_ConfigBBWithHeaderFile(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_BB_Config_Type ConfigType
+ )
+{
+#if (RTL8723A_SUPPORT == 1)
+ if(pDM_Odm->SupportICType == ODM_RTL8723A)
+ {
+
+ if(ConfigType == CONFIG_BB_PHY_REG)
+ {
+ READ_AND_CONFIG_MP(8723A,_PHY_REG_1T_);
+ }
+ else if(ConfigType == CONFIG_BB_AGC_TAB)
+ {
+ READ_AND_CONFIG_MP(8723A,_AGC_TAB_1T_);
+ }
+ ODM_RT_TRACE(pDM_Odm,ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() phy:Rtl8723AGCTAB_1TArray\n"));
+ ODM_RT_TRACE(pDM_Odm,ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() agc:Rtl8723PHY_REG_1TArray\n"));
+ }
+#endif
+
+#if (RTL8188E_SUPPORT == 1)
+ if(pDM_Odm->SupportICType == ODM_RTL8188E)
+ {
+
+ if(ConfigType == CONFIG_BB_PHY_REG)
+ {
+ READ_AND_CONFIG(8188E,_PHY_REG_1T_);
+ }
+// else if(ConfigType == ODM_BaseBand_Config_PHY_REG_MP)
+// {
+ //READ_AND_CONFIG(8188E,_PHY_REG_MP_);
+// }
+ else if(ConfigType == CONFIG_BB_AGC_TAB)
+ {
+ READ_AND_CONFIG(8188E,_AGC_TAB_1T_);
+ }
+ else if(ConfigType == CONFIG_BB_PHY_REG_PG)
+ {
+ READ_AND_CONFIG(8188E,_PHY_REG_PG_);
+ ODM_RT_TRACE(pDM_Odm,ODM_COMP_INIT, ODM_DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() agc:Rtl8188EPHY_REG_PGArray\n"));
+ }
+ }
+#endif
+
+ return HAL_STATUS_SUCCESS;
+}
+
+HAL_STATUS
+ODM_ConfigMACWithHeaderFile(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+ u1Byte result = HAL_STATUS_SUCCESS;
+#if (RTL8723A_SUPPORT == 1)
+ if (pDM_Odm->SupportICType == ODM_RTL8723A)
+ {
+ READ_AND_CONFIG_MP(8723A,_MAC_REG_);
+ }
+#endif
+#if (RTL8188E_SUPPORT == 1)
+ if (pDM_Odm->SupportICType == ODM_RTL8188E)
+ {
+ result = READ_AND_CONFIG(8188E,_MAC_REG_);
+ }
+#endif
+
+ return result;
+}
+
+
+#endif // end of (#if DM_ODM_SUPPORT_TYPE)
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.h index 3014a6cb9484..9b53a8aa3361 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_HWConfig.h @@ -1,195 +1,195 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - - -#ifndef __HALHWOUTSRC_H__ -#define __HALHWOUTSRC_H__ - -//============================================================ -// Definition -//============================================================ -// -//----------------------------------------------------------- -// CCK Rates, TxHT = 0 -#define DESC92C_RATE1M 0x00 -#define DESC92C_RATE2M 0x01 -#define DESC92C_RATE5_5M 0x02 -#define DESC92C_RATE11M 0x03 - -// OFDM Rates, TxHT = 0 -#define DESC92C_RATE6M 0x04 -#define DESC92C_RATE9M 0x05 -#define DESC92C_RATE12M 0x06 -#define DESC92C_RATE18M 0x07 -#define DESC92C_RATE24M 0x08 -#define DESC92C_RATE36M 0x09 -#define DESC92C_RATE48M 0x0a -#define DESC92C_RATE54M 0x0b - -// MCS Rates, TxHT = 1 -#define DESC92C_RATEMCS0 0x0c -#define DESC92C_RATEMCS1 0x0d -#define DESC92C_RATEMCS2 0x0e -#define DESC92C_RATEMCS3 0x0f -#define DESC92C_RATEMCS4 0x10 -#define DESC92C_RATEMCS5 0x11 -#define DESC92C_RATEMCS6 0x12 -#define DESC92C_RATEMCS7 0x13 -#define DESC92C_RATEMCS8 0x14 -#define DESC92C_RATEMCS9 0x15 -#define DESC92C_RATEMCS10 0x16 -#define DESC92C_RATEMCS11 0x17 -#define DESC92C_RATEMCS12 0x18 -#define DESC92C_RATEMCS13 0x19 -#define DESC92C_RATEMCS14 0x1a -#define DESC92C_RATEMCS15 0x1b -#define DESC92C_RATEMCS15_SG 0x1c -#define DESC92C_RATEMCS32 0x20 - - -//============================================================ -// structure and define -//============================================================ - -typedef struct _Phy_Rx_AGC_Info -{ - #if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE) - u1Byte gain:7,trsw:1; - #else - u1Byte trsw:1,gain:7; - #endif -} PHY_RX_AGC_INFO_T,*pPHY_RX_AGC_INFO_T; - -typedef struct _Phy_Status_Rpt_8192cd -{ - PHY_RX_AGC_INFO_T path_agc[2]; - u1Byte ch_corr[2]; - u1Byte cck_sig_qual_ofdm_pwdb_all; - u1Byte cck_agc_rpt_ofdm_cfosho_a; - u1Byte cck_rpt_b_ofdm_cfosho_b; - u1Byte rsvd_1;//ch_corr_msb; - u1Byte noise_power_db_msb; - u1Byte path_cfotail[2]; - u1Byte pcts_mask[2]; - s1Byte stream_rxevm[2]; - u1Byte path_rxsnr[2]; - u1Byte noise_power_db_lsb; - u1Byte rsvd_2[3]; - u1Byte stream_csi[2]; - u1Byte stream_target_csi[2]; - s1Byte sig_evm; - u1Byte rsvd_3; - -#if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE) - u1Byte antsel_rx_keep_2:1; //ex_intf_flg:1; - u1Byte sgi_en:1; - u1Byte rxsc:2; - u1Byte idle_long:1; - u1Byte r_ant_train_en:1; - u1Byte ant_sel_b:1; - u1Byte ant_sel:1; -#else // _BIG_ENDIAN_ - u1Byte ant_sel:1; - u1Byte ant_sel_b:1; - u1Byte r_ant_train_en:1; - u1Byte idle_long:1; - u1Byte rxsc:2; - u1Byte sgi_en:1; - u1Byte antsel_rx_keep_2:1; //ex_intf_flg:1; -#endif -} PHY_STATUS_RPT_8192CD_T,*PPHY_STATUS_RPT_8192CD_T; - - -typedef struct _Phy_Status_Rpt_8195 -{ - PHY_RX_AGC_INFO_T path_agc[2]; - u1Byte ch_num[2]; - u1Byte cck_sig_qual_ofdm_pwdb_all; - u1Byte cck_agc_rpt_ofdm_cfosho_a; - u1Byte cck_bb_pwr_ofdm_cfosho_b; - u1Byte cck_rx_path; //CCK_RX_PATH [3:0] (with regA07[3:0] definition) - u1Byte rsvd_1; - u1Byte path_cfotail[2]; - u1Byte pcts_mask[2]; - s1Byte stream_rxevm[2]; - u1Byte path_rxsnr[2]; - u1Byte rsvd_2[2]; - u1Byte stream_snr[2]; - u1Byte stream_csi[2]; - u1Byte rsvd_3[2]; - s1Byte sig_evm; - u1Byte rsvd_4; -#if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE) - u1Byte antidx_anta:3; - u1Byte antidx_antb:3; - u1Byte rsvd_5:2; -#else // _BIG_ENDIAN_ - u1Byte rsvd_5:2; - u1Byte antidx_antb:3; - u1Byte antidx_anta:3; -#endif -} PHY_STATUS_RPT_8195_T,*pPHY_STATUS_RPT_8195_T; - - -VOID -odm_Init_RSSIForDM( - IN OUT PDM_ODM_T pDM_Odm - ); - -VOID -ODM_PhyStatusQuery( - IN OUT PDM_ODM_T pDM_Odm, - OUT PODM_PHY_INFO_T pPhyInfo, - IN pu1Byte pPhyStatus, - IN PODM_PACKET_INFO_T pPktinfo - ); - -VOID -ODM_MacStatusQuery( - IN OUT PDM_ODM_T pDM_Odm, - IN pu1Byte pMacStatus, - IN u1Byte MacID, - IN BOOLEAN bPacketMatchBSSID, - IN BOOLEAN bPacketToSelf, - IN BOOLEAN bPacketBeacon - ); -#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE|ODM_AP)) -HAL_STATUS -ODM_ConfigRFWithHeaderFile( - IN PDM_ODM_T pDM_Odm, - IN ODM_RF_RADIO_PATH_E Content, - IN ODM_RF_RADIO_PATH_E eRFPath - ); - -HAL_STATUS -ODM_ConfigBBWithHeaderFile( - IN PDM_ODM_T pDM_Odm, - IN ODM_BB_Config_Type ConfigType - ); - -HAL_STATUS -ODM_ConfigMACWithHeaderFile( - IN PDM_ODM_T pDM_Odm - ); -#endif - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+
+#ifndef __HALHWOUTSRC_H__
+#define __HALHWOUTSRC_H__
+
+//============================================================
+// Definition
+//============================================================
+//
+//-----------------------------------------------------------
+// CCK Rates, TxHT = 0
+#define DESC92C_RATE1M 0x00
+#define DESC92C_RATE2M 0x01
+#define DESC92C_RATE5_5M 0x02
+#define DESC92C_RATE11M 0x03
+
+// OFDM Rates, TxHT = 0
+#define DESC92C_RATE6M 0x04
+#define DESC92C_RATE9M 0x05
+#define DESC92C_RATE12M 0x06
+#define DESC92C_RATE18M 0x07
+#define DESC92C_RATE24M 0x08
+#define DESC92C_RATE36M 0x09
+#define DESC92C_RATE48M 0x0a
+#define DESC92C_RATE54M 0x0b
+
+// MCS Rates, TxHT = 1
+#define DESC92C_RATEMCS0 0x0c
+#define DESC92C_RATEMCS1 0x0d
+#define DESC92C_RATEMCS2 0x0e
+#define DESC92C_RATEMCS3 0x0f
+#define DESC92C_RATEMCS4 0x10
+#define DESC92C_RATEMCS5 0x11
+#define DESC92C_RATEMCS6 0x12
+#define DESC92C_RATEMCS7 0x13
+#define DESC92C_RATEMCS8 0x14
+#define DESC92C_RATEMCS9 0x15
+#define DESC92C_RATEMCS10 0x16
+#define DESC92C_RATEMCS11 0x17
+#define DESC92C_RATEMCS12 0x18
+#define DESC92C_RATEMCS13 0x19
+#define DESC92C_RATEMCS14 0x1a
+#define DESC92C_RATEMCS15 0x1b
+#define DESC92C_RATEMCS15_SG 0x1c
+#define DESC92C_RATEMCS32 0x20
+
+
+//============================================================
+// structure and define
+//============================================================
+
+typedef struct _Phy_Rx_AGC_Info
+{
+ #if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE)
+ u1Byte gain:7,trsw:1;
+ #else
+ u1Byte trsw:1,gain:7;
+ #endif
+} PHY_RX_AGC_INFO_T,*pPHY_RX_AGC_INFO_T;
+
+typedef struct _Phy_Status_Rpt_8192cd
+{
+ PHY_RX_AGC_INFO_T path_agc[2];
+ u1Byte ch_corr[2];
+ u1Byte cck_sig_qual_ofdm_pwdb_all;
+ u1Byte cck_agc_rpt_ofdm_cfosho_a;
+ u1Byte cck_rpt_b_ofdm_cfosho_b;
+ u1Byte rsvd_1;//ch_corr_msb;
+ u1Byte noise_power_db_msb;
+ u1Byte path_cfotail[2];
+ u1Byte pcts_mask[2];
+ s1Byte stream_rxevm[2];
+ u1Byte path_rxsnr[2];
+ u1Byte noise_power_db_lsb;
+ u1Byte rsvd_2[3];
+ u1Byte stream_csi[2];
+ u1Byte stream_target_csi[2];
+ s1Byte sig_evm;
+ u1Byte rsvd_3;
+
+#if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE)
+ u1Byte antsel_rx_keep_2:1; //ex_intf_flg:1;
+ u1Byte sgi_en:1;
+ u1Byte rxsc:2;
+ u1Byte idle_long:1;
+ u1Byte r_ant_train_en:1;
+ u1Byte ant_sel_b:1;
+ u1Byte ant_sel:1;
+#else // _BIG_ENDIAN_
+ u1Byte ant_sel:1;
+ u1Byte ant_sel_b:1;
+ u1Byte r_ant_train_en:1;
+ u1Byte idle_long:1;
+ u1Byte rxsc:2;
+ u1Byte sgi_en:1;
+ u1Byte antsel_rx_keep_2:1; //ex_intf_flg:1;
+#endif
+} PHY_STATUS_RPT_8192CD_T,*PPHY_STATUS_RPT_8192CD_T;
+
+
+typedef struct _Phy_Status_Rpt_8195
+{
+ PHY_RX_AGC_INFO_T path_agc[2];
+ u1Byte ch_num[2];
+ u1Byte cck_sig_qual_ofdm_pwdb_all;
+ u1Byte cck_agc_rpt_ofdm_cfosho_a;
+ u1Byte cck_bb_pwr_ofdm_cfosho_b;
+ u1Byte cck_rx_path; //CCK_RX_PATH [3:0] (with regA07[3:0] definition)
+ u1Byte rsvd_1;
+ u1Byte path_cfotail[2];
+ u1Byte pcts_mask[2];
+ s1Byte stream_rxevm[2];
+ u1Byte path_rxsnr[2];
+ u1Byte rsvd_2[2];
+ u1Byte stream_snr[2];
+ u1Byte stream_csi[2];
+ u1Byte rsvd_3[2];
+ s1Byte sig_evm;
+ u1Byte rsvd_4;
+#if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE)
+ u1Byte antidx_anta:3;
+ u1Byte antidx_antb:3;
+ u1Byte rsvd_5:2;
+#else // _BIG_ENDIAN_
+ u1Byte rsvd_5:2;
+ u1Byte antidx_antb:3;
+ u1Byte antidx_anta:3;
+#endif
+} PHY_STATUS_RPT_8195_T,*pPHY_STATUS_RPT_8195_T;
+
+
+VOID
+odm_Init_RSSIForDM(
+ IN OUT PDM_ODM_T pDM_Odm
+ );
+
+VOID
+ODM_PhyStatusQuery(
+ IN OUT PDM_ODM_T pDM_Odm,
+ OUT PODM_PHY_INFO_T pPhyInfo,
+ IN pu1Byte pPhyStatus,
+ IN PODM_PACKET_INFO_T pPktinfo
+ );
+
+VOID
+ODM_MacStatusQuery(
+ IN OUT PDM_ODM_T pDM_Odm,
+ IN pu1Byte pMacStatus,
+ IN u1Byte MacID,
+ IN BOOLEAN bPacketMatchBSSID,
+ IN BOOLEAN bPacketToSelf,
+ IN BOOLEAN bPacketBeacon
+ );
+#if (DM_ODM_SUPPORT_TYPE & (ODM_MP|ODM_CE|ODM_AP))
+HAL_STATUS
+ODM_ConfigRFWithHeaderFile(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_RF_RADIO_PATH_E Content,
+ IN ODM_RF_RADIO_PATH_E eRFPath
+ );
+
+HAL_STATUS
+ODM_ConfigBBWithHeaderFile(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_BB_Config_Type ConfigType
+ );
+
+HAL_STATUS
+ODM_ConfigMACWithHeaderFile(
+ IN PDM_ODM_T pDM_Odm
+ );
+#endif
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11AC.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11AC.h index 8de1d501f127..b2a318a9b93d 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11AC.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11AC.h @@ -1,55 +1,55 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -#ifndef __ODM_REGDEFINE11AC_H__ -#define __ODM_REGDEFINE11AC_H__ - -//2 RF REG LIST - - - -//2 BB REG LIST -//PAGE 8 -//PAGE 9 -#define ODM_REG_OFDM_FA_RST_11AC 0x9A4 -//PAGE A -#define ODM_REG_CCK_CCA_11AC 0xA0A -#define ODM_REG_CCK_FA_RST_11AC 0xA2C -#define ODM_REG_CCK_FA_11AC 0xA5C -//PAGE C -#define ODM_REG_IGI_A_11AC 0xC50 -//PAGE E -#define ODM_REG_IGI_B_11AC 0xE50 -//PAGE F -#define ODM_REG_OFDM_FA_11AC 0xF48 - - -//2 MAC REG LIST - - - - -//DIG Related -#define ODM_BIT_IGI_11AC 0xFFFFFFFF - - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+#ifndef __ODM_REGDEFINE11AC_H__
+#define __ODM_REGDEFINE11AC_H__
+
+//2 RF REG LIST
+
+
+
+//2 BB REG LIST
+//PAGE 8
+//PAGE 9
+#define ODM_REG_OFDM_FA_RST_11AC 0x9A4
+//PAGE A
+#define ODM_REG_CCK_CCA_11AC 0xA0A
+#define ODM_REG_CCK_FA_RST_11AC 0xA2C
+#define ODM_REG_CCK_FA_11AC 0xA5C
+//PAGE C
+#define ODM_REG_IGI_A_11AC 0xC50
+//PAGE E
+#define ODM_REG_IGI_B_11AC 0xE50
+//PAGE F
+#define ODM_REG_OFDM_FA_11AC 0xF48
+
+
+//2 MAC REG LIST
+
+
+
+
+//DIG Related
+#define ODM_BIT_IGI_11AC 0xFFFFFFFF
+
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11N.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11N.h index 6e360123190e..841b1b42d843 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11N.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_RegDefine11N.h @@ -1,172 +1,172 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -#ifndef __ODM_REGDEFINE11N_H__ -#define __ODM_REGDEFINE11N_H__ - - -//2 RF REG LIST -#define ODM_REG_RF_MODE_11N 0x00 -#define ODM_REG_RF_0B_11N 0x0B -#define ODM_REG_CHNBW_11N 0x18 -#define ODM_REG_T_METER_11N 0x24 -#define ODM_REG_RF_25_11N 0x25 -#define ODM_REG_RF_26_11N 0x26 -#define ODM_REG_RF_27_11N 0x27 -#define ODM_REG_RF_2B_11N 0x2B -#define ODM_REG_RF_2C_11N 0x2C -#define ODM_REG_RXRF_A3_11N 0x3C -#define ODM_REG_T_METER_92D_11N 0x42 -#define ODM_REG_T_METER_88E_11N 0x42 - - - -//2 BB REG LIST -//PAGE 8 -#define ODM_REG_BB_CTRL_11N 0x800 -#define ODM_REG_RF_PIN_11N 0x804 -#define ODM_REG_PSD_CTRL_11N 0x808 -#define ODM_REG_TX_ANT_CTRL_11N 0x80C -#define ODM_REG_BB_PWR_SAV5_11N 0x818 -#define ODM_REG_CCK_RPT_FORMAT_11N 0x824 -#define ODM_REG_RX_DEFUALT_A_11N 0x858 -#define ODM_REG_RX_DEFUALT_B_11N 0x85A -#define ODM_REG_BB_PWR_SAV3_11N 0x85C -#define ODM_REG_ANTSEL_CTRL_11N 0x860 -#define ODM_REG_RX_ANT_CTRL_11N 0x864 -#define ODM_REG_PIN_CTRL_11N 0x870 -#define ODM_REG_BB_PWR_SAV1_11N 0x874 -#define ODM_REG_ANTSEL_PATH_11N 0x878 -#define ODM_REG_BB_3WIRE_11N 0x88C -#define ODM_REG_SC_CNT_11N 0x8C4 -#define ODM_REG_PSD_DATA_11N 0x8B4 -//PAGE 9 -#define ODM_REG_ANT_MAPPING1_11N 0x914 -#define ODM_REG_ANT_MAPPING2_11N 0x918 -//PAGE A -#define ODM_REG_CCK_ANTDIV_PARA1_11N 0xA00 -#define ODM_REG_CCK_CCA_11N 0xA0A -#define ODM_REG_CCK_ANTDIV_PARA2_11N 0xA0C -#define ODM_REG_CCK_ANTDIV_PARA3_11N 0xA10 -#define ODM_REG_CCK_ANTDIV_PARA4_11N 0xA14 -#define ODM_REG_CCK_FILTER_PARA1_11N 0xA22 -#define ODM_REG_CCK_FILTER_PARA2_11N 0xA23 -#define ODM_REG_CCK_FILTER_PARA3_11N 0xA24 -#define ODM_REG_CCK_FILTER_PARA4_11N 0xA25 -#define ODM_REG_CCK_FILTER_PARA5_11N 0xA26 -#define ODM_REG_CCK_FILTER_PARA6_11N 0xA27 -#define ODM_REG_CCK_FILTER_PARA7_11N 0xA28 -#define ODM_REG_CCK_FILTER_PARA8_11N 0xA29 -#define ODM_REG_CCK_FA_RST_11N 0xA2C -#define ODM_REG_CCK_FA_MSB_11N 0xA58 -#define ODM_REG_CCK_FA_LSB_11N 0xA5C -#define ODM_REG_CCK_CCA_CNT_11N 0xA60 -#define ODM_REG_BB_PWR_SAV4_11N 0xA74 -//PAGE B -#define ODM_REG_LNA_SWITCH_11N 0xB2C -#define ODM_REG_PATH_SWITCH_11N 0xB30 -#define ODM_REG_RSSI_CTRL_11N 0xB38 -#define ODM_REG_CONFIG_ANTA_11N 0xB68 -#define ODM_REG_RSSI_BT_11N 0xB9C -//PAGE C -#define ODM_REG_OFDM_FA_HOLDC_11N 0xC00 -#define ODM_REG_RX_PATH_11N 0xC04 -#define ODM_REG_TRMUX_11N 0xC08 -#define ODM_REG_OFDM_FA_RSTC_11N 0xC0C -#define ODM_REG_RXIQI_MATRIX_11N 0xC14 -#define ODM_REG_TXIQK_MATRIX_LSB1_11N 0xC4C -#define ODM_REG_IGI_A_11N 0xC50 -#define ODM_REG_ANTDIV_PARA2_11N 0xC54 -#define ODM_REG_IGI_B_11N 0xC58 -#define ODM_REG_ANTDIV_PARA3_11N 0xC5C -#define ODM_REG_BB_PWR_SAV2_11N 0xC70 -#define ODM_REG_RX_OFF_11N 0xC7C -#define ODM_REG_TXIQK_MATRIXA_11N 0xC80 -#define ODM_REG_TXIQK_MATRIXB_11N 0xC88 -#define ODM_REG_TXIQK_MATRIXA_LSB2_11N 0xC94 -#define ODM_REG_TXIQK_MATRIXB_LSB2_11N 0xC9C -#define ODM_REG_RXIQK_MATRIX_LSB_11N 0xCA0 -#define ODM_REG_ANTDIV_PARA1_11N 0xCA4 -#define ODM_REG_OFDM_FA_TYPE1_11N 0xCF0 -//PAGE D -#define ODM_REG_OFDM_FA_RSTD_11N 0xD00 -#define ODM_REG_OFDM_FA_TYPE2_11N 0xDA0 -#define ODM_REG_OFDM_FA_TYPE3_11N 0xDA4 -#define ODM_REG_OFDM_FA_TYPE4_11N 0xDA8 -//PAGE E -#define ODM_REG_TXAGC_A_6_18_11N 0xE00 -#define ODM_REG_TXAGC_A_24_54_11N 0xE04 -#define ODM_REG_TXAGC_A_1_MCS32_11N 0xE08 -#define ODM_REG_TXAGC_A_MCS0_3_11N 0xE10 -#define ODM_REG_TXAGC_A_MCS4_7_11N 0xE14 -#define ODM_REG_TXAGC_A_MCS8_11_11N 0xE18 -#define ODM_REG_TXAGC_A_MCS12_15_11N 0xE1C -#define ODM_REG_FPGA0_IQK_11N 0xE28 -#define ODM_REG_TXIQK_TONE_A_11N 0xE30 -#define ODM_REG_RXIQK_TONE_A_11N 0xE34 -#define ODM_REG_TXIQK_PI_A_11N 0xE38 -#define ODM_REG_RXIQK_PI_A_11N 0xE3C -#define ODM_REG_TXIQK_11N 0xE40 -#define ODM_REG_RXIQK_11N 0xE44 -#define ODM_REG_IQK_AGC_PTS_11N 0xE48 -#define ODM_REG_IQK_AGC_RSP_11N 0xE4C -#define ODM_REG_BLUETOOTH_11N 0xE6C -#define ODM_REG_RX_WAIT_CCA_11N 0xE70 -#define ODM_REG_TX_CCK_RFON_11N 0xE74 -#define ODM_REG_TX_CCK_BBON_11N 0xE78 -#define ODM_REG_OFDM_RFON_11N 0xE7C -#define ODM_REG_OFDM_BBON_11N 0xE80 -#define ODM_REG_TX2RX_11N 0xE84 -#define ODM_REG_TX2TX_11N 0xE88 -#define ODM_REG_RX_CCK_11N 0xE8C -#define ODM_REG_RX_OFDM_11N 0xED0 -#define ODM_REG_RX_WAIT_RIFS_11N 0xED4 -#define ODM_REG_RX2RX_11N 0xED8 -#define ODM_REG_STANDBY_11N 0xEDC -#define ODM_REG_SLEEP_11N 0xEE0 -#define ODM_REG_PMPD_ANAEN_11N 0xEEC - - - - - - - -//2 MAC REG LIST -#define ODM_REG_BB_RST_11N 0x02 -#define ODM_REG_ANTSEL_PIN_11N 0x4C -#define ODM_REG_EARLY_MODE_11N 0x4D0 -#define ODM_REG_RSSI_MONITOR_11N 0x4FE -#define ODM_REG_EDCA_VO_11N 0x500 -#define ODM_REG_EDCA_VI_11N 0x504 -#define ODM_REG_EDCA_BE_11N 0x508 -#define ODM_REG_EDCA_BK_11N 0x50C -#define ODM_REG_TXPAUSE_11N 0x522 -#define ODM_REG_RESP_TX_11N 0x6D8 -#define ODM_REG_ANT_TRAIN_PARA1_11N 0x7b0 -#define ODM_REG_ANT_TRAIN_PARA2_11N 0x7b4 - - -//DIG Related -#define ODM_BIT_IGI_11N 0x0000007F - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+#ifndef __ODM_REGDEFINE11N_H__
+#define __ODM_REGDEFINE11N_H__
+
+
+//2 RF REG LIST
+#define ODM_REG_RF_MODE_11N 0x00
+#define ODM_REG_RF_0B_11N 0x0B
+#define ODM_REG_CHNBW_11N 0x18
+#define ODM_REG_T_METER_11N 0x24
+#define ODM_REG_RF_25_11N 0x25
+#define ODM_REG_RF_26_11N 0x26
+#define ODM_REG_RF_27_11N 0x27
+#define ODM_REG_RF_2B_11N 0x2B
+#define ODM_REG_RF_2C_11N 0x2C
+#define ODM_REG_RXRF_A3_11N 0x3C
+#define ODM_REG_T_METER_92D_11N 0x42
+#define ODM_REG_T_METER_88E_11N 0x42
+
+
+
+//2 BB REG LIST
+//PAGE 8
+#define ODM_REG_BB_CTRL_11N 0x800
+#define ODM_REG_RF_PIN_11N 0x804
+#define ODM_REG_PSD_CTRL_11N 0x808
+#define ODM_REG_TX_ANT_CTRL_11N 0x80C
+#define ODM_REG_BB_PWR_SAV5_11N 0x818
+#define ODM_REG_CCK_RPT_FORMAT_11N 0x824
+#define ODM_REG_RX_DEFUALT_A_11N 0x858
+#define ODM_REG_RX_DEFUALT_B_11N 0x85A
+#define ODM_REG_BB_PWR_SAV3_11N 0x85C
+#define ODM_REG_ANTSEL_CTRL_11N 0x860
+#define ODM_REG_RX_ANT_CTRL_11N 0x864
+#define ODM_REG_PIN_CTRL_11N 0x870
+#define ODM_REG_BB_PWR_SAV1_11N 0x874
+#define ODM_REG_ANTSEL_PATH_11N 0x878
+#define ODM_REG_BB_3WIRE_11N 0x88C
+#define ODM_REG_SC_CNT_11N 0x8C4
+#define ODM_REG_PSD_DATA_11N 0x8B4
+//PAGE 9
+#define ODM_REG_ANT_MAPPING1_11N 0x914
+#define ODM_REG_ANT_MAPPING2_11N 0x918
+//PAGE A
+#define ODM_REG_CCK_ANTDIV_PARA1_11N 0xA00
+#define ODM_REG_CCK_CCA_11N 0xA0A
+#define ODM_REG_CCK_ANTDIV_PARA2_11N 0xA0C
+#define ODM_REG_CCK_ANTDIV_PARA3_11N 0xA10
+#define ODM_REG_CCK_ANTDIV_PARA4_11N 0xA14
+#define ODM_REG_CCK_FILTER_PARA1_11N 0xA22
+#define ODM_REG_CCK_FILTER_PARA2_11N 0xA23
+#define ODM_REG_CCK_FILTER_PARA3_11N 0xA24
+#define ODM_REG_CCK_FILTER_PARA4_11N 0xA25
+#define ODM_REG_CCK_FILTER_PARA5_11N 0xA26
+#define ODM_REG_CCK_FILTER_PARA6_11N 0xA27
+#define ODM_REG_CCK_FILTER_PARA7_11N 0xA28
+#define ODM_REG_CCK_FILTER_PARA8_11N 0xA29
+#define ODM_REG_CCK_FA_RST_11N 0xA2C
+#define ODM_REG_CCK_FA_MSB_11N 0xA58
+#define ODM_REG_CCK_FA_LSB_11N 0xA5C
+#define ODM_REG_CCK_CCA_CNT_11N 0xA60
+#define ODM_REG_BB_PWR_SAV4_11N 0xA74
+//PAGE B
+#define ODM_REG_LNA_SWITCH_11N 0xB2C
+#define ODM_REG_PATH_SWITCH_11N 0xB30
+#define ODM_REG_RSSI_CTRL_11N 0xB38
+#define ODM_REG_CONFIG_ANTA_11N 0xB68
+#define ODM_REG_RSSI_BT_11N 0xB9C
+//PAGE C
+#define ODM_REG_OFDM_FA_HOLDC_11N 0xC00
+#define ODM_REG_RX_PATH_11N 0xC04
+#define ODM_REG_TRMUX_11N 0xC08
+#define ODM_REG_OFDM_FA_RSTC_11N 0xC0C
+#define ODM_REG_RXIQI_MATRIX_11N 0xC14
+#define ODM_REG_TXIQK_MATRIX_LSB1_11N 0xC4C
+#define ODM_REG_IGI_A_11N 0xC50
+#define ODM_REG_ANTDIV_PARA2_11N 0xC54
+#define ODM_REG_IGI_B_11N 0xC58
+#define ODM_REG_ANTDIV_PARA3_11N 0xC5C
+#define ODM_REG_BB_PWR_SAV2_11N 0xC70
+#define ODM_REG_RX_OFF_11N 0xC7C
+#define ODM_REG_TXIQK_MATRIXA_11N 0xC80
+#define ODM_REG_TXIQK_MATRIXB_11N 0xC88
+#define ODM_REG_TXIQK_MATRIXA_LSB2_11N 0xC94
+#define ODM_REG_TXIQK_MATRIXB_LSB2_11N 0xC9C
+#define ODM_REG_RXIQK_MATRIX_LSB_11N 0xCA0
+#define ODM_REG_ANTDIV_PARA1_11N 0xCA4
+#define ODM_REG_OFDM_FA_TYPE1_11N 0xCF0
+//PAGE D
+#define ODM_REG_OFDM_FA_RSTD_11N 0xD00
+#define ODM_REG_OFDM_FA_TYPE2_11N 0xDA0
+#define ODM_REG_OFDM_FA_TYPE3_11N 0xDA4
+#define ODM_REG_OFDM_FA_TYPE4_11N 0xDA8
+//PAGE E
+#define ODM_REG_TXAGC_A_6_18_11N 0xE00
+#define ODM_REG_TXAGC_A_24_54_11N 0xE04
+#define ODM_REG_TXAGC_A_1_MCS32_11N 0xE08
+#define ODM_REG_TXAGC_A_MCS0_3_11N 0xE10
+#define ODM_REG_TXAGC_A_MCS4_7_11N 0xE14
+#define ODM_REG_TXAGC_A_MCS8_11_11N 0xE18
+#define ODM_REG_TXAGC_A_MCS12_15_11N 0xE1C
+#define ODM_REG_FPGA0_IQK_11N 0xE28
+#define ODM_REG_TXIQK_TONE_A_11N 0xE30
+#define ODM_REG_RXIQK_TONE_A_11N 0xE34
+#define ODM_REG_TXIQK_PI_A_11N 0xE38
+#define ODM_REG_RXIQK_PI_A_11N 0xE3C
+#define ODM_REG_TXIQK_11N 0xE40
+#define ODM_REG_RXIQK_11N 0xE44
+#define ODM_REG_IQK_AGC_PTS_11N 0xE48
+#define ODM_REG_IQK_AGC_RSP_11N 0xE4C
+#define ODM_REG_BLUETOOTH_11N 0xE6C
+#define ODM_REG_RX_WAIT_CCA_11N 0xE70
+#define ODM_REG_TX_CCK_RFON_11N 0xE74
+#define ODM_REG_TX_CCK_BBON_11N 0xE78
+#define ODM_REG_OFDM_RFON_11N 0xE7C
+#define ODM_REG_OFDM_BBON_11N 0xE80
+#define ODM_REG_TX2RX_11N 0xE84
+#define ODM_REG_TX2TX_11N 0xE88
+#define ODM_REG_RX_CCK_11N 0xE8C
+#define ODM_REG_RX_OFDM_11N 0xED0
+#define ODM_REG_RX_WAIT_RIFS_11N 0xED4
+#define ODM_REG_RX2RX_11N 0xED8
+#define ODM_REG_STANDBY_11N 0xEDC
+#define ODM_REG_SLEEP_11N 0xEE0
+#define ODM_REG_PMPD_ANAEN_11N 0xEEC
+
+
+
+
+
+
+
+//2 MAC REG LIST
+#define ODM_REG_BB_RST_11N 0x02
+#define ODM_REG_ANTSEL_PIN_11N 0x4C
+#define ODM_REG_EARLY_MODE_11N 0x4D0
+#define ODM_REG_RSSI_MONITOR_11N 0x4FE
+#define ODM_REG_EDCA_VO_11N 0x500
+#define ODM_REG_EDCA_VI_11N 0x504
+#define ODM_REG_EDCA_BE_11N 0x508
+#define ODM_REG_EDCA_BK_11N 0x50C
+#define ODM_REG_TXPAUSE_11N 0x522
+#define ODM_REG_RESP_TX_11N 0x6D8
+#define ODM_REG_ANT_TRAIN_PARA1_11N 0x7b0
+#define ODM_REG_ANT_TRAIN_PARA2_11N 0x7b4
+
+
+//DIG Related
+#define ODM_BIT_IGI_11N 0x0000007F
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.c index 6414f855157a..7db60cf5841b 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.c @@ -1,627 +1,627 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -//============================================================ -// include files -//============================================================ - -#include "odm_precomp.h" - -VOID -ODM_InitDebugSetting( - IN PDM_ODM_T pDM_Odm - ) -{ -pDM_Odm->DebugLevel = ODM_DBG_TRACE; - -pDM_Odm->DebugComponents = -\ -#if DBG -//BB Functions -// ODM_COMP_DIG | -// ODM_COMP_RA_MASK | -// ODM_COMP_DYNAMIC_TXPWR | -// ODM_COMP_FA_CNT | -// ODM_COMP_RSSI_MONITOR | -// ODM_COMP_CCK_PD | -// ODM_COMP_ANT_DIV | -// ODM_COMP_PWR_SAVE | -// ODM_COMP_PWR_TRAIN | -// ODM_COMP_RATE_ADAPTIVE | -// ODM_COMP_PATH_DIV | -// ODM_COMP_DYNAMIC_PRICCA | -// ODM_COMP_RXHP | - -//MAC Functions -// ODM_COMP_EDCA_TURBO | -// ODM_COMP_EARLY_MODE | -//RF Functions -// ODM_COMP_TX_PWR_TRACK | -// ODM_COMP_RX_GAIN_TRACK | -// ODM_COMP_CALIBRATION | -//Common -// ODM_COMP_COMMON | -// ODM_COMP_INIT | -#endif - 0; -} - -#if 0 -/*------------------Declare variable----------------------- -// Define debug flag array for common debug print macro. */ -u4Byte ODM_DBGP_Type[ODM_DBGP_TYPE_MAX]; - -/* Define debug print header for every service module. */ -ODM_DBGP_HEAD_T ODM_DBGP_Head; - - -/*----------------------------------------------------------------------------- - * Function: DBGP_Flag_Init - * - * Overview: Refresh all debug print control flag content to zero. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 10/20/2006 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -extern void ODM_DBGP_Flag_Init(void) -{ - u1Byte i; - - for (i = 0; i < ODM_DBGP_TYPE_MAX; i++) - { - ODM_DBGP_Type[i] = 0; - } - -#ifndef ADSL_AP_BUILD_WORKAROUND -#if DBG - // 2010/06/02 MH Free build driver can not out any debug message!!! - // Init Debug flag enable condition - - ODM_DBGP_Type[FINIT] = \ -// INIT_EEPROM | -// INIT_TxPower | -// INIT_IQK | -// INIT_RF | - 0; - - ODM_DBGP_Type[FDM] = \ -// WA_IOT | -// DM_PWDB | -// DM_Monitor | -// DM_DIG | -// DM_EDCA_Turbo | -// DM_BT30 | - 0; - - ODM_DBGP_Type[FIOCTL] = \ -// IOCTL_IRP | -// IOCTL_IRP_DETAIL | -// IOCTL_IRP_STATISTICS | -// IOCTL_IRP_HANDLE | -// IOCTL_BT_HCICMD | -// IOCTL_BT_HCICMD_DETAIL | -// IOCTL_BT_HCICMD_EXT | -// IOCTL_BT_EVENT | -// IOCTL_BT_EVENT_DETAIL | -// IOCTL_BT_EVENT_PERIODICAL | -// IOCTL_BT_TX_ACLDATA | -// IOCTL_BT_TX_ACLDATA_DETAIL | -// IOCTL_BT_RX_ACLDATA | -// IOCTL_BT_RX_ACLDATA_DETAIL | -// IOCTL_BT_TP | -// IOCTL_STATE | -// IOCTL_BT_LOGO | -// IOCTL_CALLBACK_FUN | -// IOCTL_PARSE_BT_PKT | - 0; - - ODM_DBGP_Type[FBT] = \ -// BT_TRACE | - 0; - - ODM_DBGP_Type[FEEPROM] = \ -// EEPROM_W | -// EFUSE_PG | -// EFUSE_READ_ALL | -// EFUSE_ANALYSIS | -// EFUSE_PG_DETAIL | - 0; - - ODM_DBGP_Type[FDBG_CTRL] = \ -// DBG_CTRL_TRACE | -// DBG_CTRL_INBAND_NOISE | - 0; - - // 2011/07/20 MH Add for short cut - ODM_DBGP_Type[FSHORT_CUT] = \ -// SHCUT_TX | -// SHCUT_RX | - 0; - -#endif -#endif - /* Define debug header of every service module. */ - //ODM_DBGP_Head.pMANS = "\n\r[MANS] "; - //ODM_DBGP_Head.pRTOS = "\n\r[RTOS] "; - //ODM_DBGP_Head.pALM = "\n\r[ALM] "; - //ODM_DBGP_Head.pPEM = "\n\r[PEM] "; - //ODM_DBGP_Head.pCMPK = "\n\r[CMPK] "; - //ODM_DBGP_Head.pRAPD = "\n\r[RAPD] "; - //ODM_DBGP_Head.pTXPB = "\n\r[TXPB] "; - //ODM_DBGP_Head.pQUMG = "\n\r[QUMG] "; - -} /* DBGP_Flag_Init */ - -#endif - - -#if 0 -u4Byte GlobalDebugLevel = DBG_LOUD; -// -// 2009/06/22 MH Allow Fre build to print none debug info at init time. -// -#if DBG -u8Byte GlobalDebugComponents = \ -// COMP_TRACE | -// COMP_DBG | -// COMP_INIT | -// COMP_OID_QUERY | -// COMP_OID_SET | -// COMP_RECV | -// COMP_SEND | -// COMP_IO | -// COMP_POWER | -// COMP_MLME | -// COMP_SCAN | -// COMP_SYSTEM | -// COMP_SEC | -// COMP_AP | -// COMP_TURBO | -// COMP_QOS | -// COMP_AUTHENTICATOR | -// COMP_BEACON | -// COMP_ANTENNA | -// COMP_RATE | -// COMP_EVENTS | -// COMP_FPGA | -// COMP_RM | -// COMP_MP | -// COMP_RXDESC | -// COMP_CKIP | -// COMP_DIG | -// COMP_TXAGC | -// COMP_HIPWR | -// COMP_HALDM | -// COMP_RSNA | -// COMP_INDIC | -// COMP_LED | -// COMP_RF | -// COMP_DUALMACSWITCH | -// COMP_EASY_CONCURRENT | - -//1!!!!!!!!!!!!!!!!!!!!!!!!!!! -//1//1Attention Please!!!<11n or 8190 specific code should be put below this line> -//1!!!!!!!!!!!!!!!!!!!!!!!!!!! - -// COMP_HT | -// COMP_POWER_TRACKING | -// COMP_RX_REORDER | -// COMP_AMSDU | -// COMP_WPS | -// COMP_RATR | -// COMP_RESET | -// COMP_CMD | -// COMP_EFUSE | -// COMP_MESH_INTERWORKING | -// COMP_CCX | -// COMP_IOCTL | -// COMP_GP | -// COMP_TXAGG | -// COMP_BB_POWERSAVING | -// COMP_SWAS | -// COMP_P2P | -// COMP_MUX | -// COMP_FUNC | -// COMP_TDLS | -// COMP_OMNIPEEK | -// COMP_PSD | - 0; - - -#else -#define FuncEntry -#define FuncExit -u8Byte GlobalDebugComponents = 0; -#endif - -#if (RT_PLATFORM==PLATFORM_LINUX) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) -EXPORT_SYMBOL(GlobalDebugComponents); -EXPORT_SYMBOL(GlobalDebugLevel); -#endif -#endif - -/*------------------Declare variable----------------------- -// Define debug flag array for common debug print macro. */ -u4Byte DBGP_Type[DBGP_TYPE_MAX]; - -/* Define debug print header for every service module. */ -DBGP_HEAD_T DBGP_Head; - - -/*----------------------------------------------------------------------------- - * Function: DBGP_Flag_Init - * - * Overview: Refresh all debug print control flag content to zero. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 10/20/2006 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -extern void DBGP_Flag_Init(void) -{ - u1Byte i; - - for (i = 0; i < DBGP_TYPE_MAX; i++) - { - DBGP_Type[i] = 0; - } - -#if DBG - // 2010/06/02 MH Free build driver can not out any debug message!!! - // Init Debug flag enable condition - - DBGP_Type[FINIT] = \ -// INIT_EEPROM | -// INIT_TxPower | -// INIT_IQK | -// INIT_RF | - 0; - - DBGP_Type[FDM] = \ -// WA_IOT | -// DM_PWDB | -// DM_Monitor | -// DM_DIG | -// DM_EDCA_Turbo | -// DM_BT30 | - 0; - - DBGP_Type[FIOCTL] = \ -// IOCTL_IRP | -// IOCTL_IRP_DETAIL | -// IOCTL_IRP_STATISTICS | -// IOCTL_IRP_HANDLE | -// IOCTL_BT_HCICMD | -// IOCTL_BT_HCICMD_DETAIL | -// IOCTL_BT_HCICMD_EXT | -// IOCTL_BT_EVENT | -// IOCTL_BT_EVENT_DETAIL | -// IOCTL_BT_EVENT_PERIODICAL | -// IOCTL_BT_TX_ACLDATA | -// IOCTL_BT_TX_ACLDATA_DETAIL | -// IOCTL_BT_RX_ACLDATA | -// IOCTL_BT_RX_ACLDATA_DETAIL | -// IOCTL_BT_TP | -// IOCTL_STATE | -// IOCTL_BT_LOGO | -// IOCTL_CALLBACK_FUN | -// IOCTL_PARSE_BT_PKT | - 0; - - DBGP_Type[FBT] = \ -// BT_TRACE | - 0; - - DBGP_Type[FEEPROM] = \ -// EEPROM_W | -// EFUSE_PG | -// EFUSE_READ_ALL | -// EFUSE_ANALYSIS | -// EFUSE_PG_DETAIL | - 0; - - DBGP_Type[FDBG_CTRL] = \ -// DBG_CTRL_TRACE | -// DBG_CTRL_INBAND_NOISE | - 0; - - // 2011/07/20 MH Add for short cut - DBGP_Type[FSHORT_CUT] = \ -// SHCUT_TX | -// SHCUT_RX | - 0; - -#endif - /* Define debug header of every service module. */ - DBGP_Head.pMANS = "\n\r[MANS] "; - DBGP_Head.pRTOS = "\n\r[RTOS] "; - DBGP_Head.pALM = "\n\r[ALM] "; - DBGP_Head.pPEM = "\n\r[PEM] "; - DBGP_Head.pCMPK = "\n\r[CMPK] "; - DBGP_Head.pRAPD = "\n\r[RAPD] "; - DBGP_Head.pTXPB = "\n\r[TXPB] "; - DBGP_Head.pQUMG = "\n\r[QUMG] "; - -} /* DBGP_Flag_Init */ - - -/*----------------------------------------------------------------------------- - * Function: DBG_PrintAllFlag - * - * Overview: Print All debug flag - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 12/10/2008 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -extern void DBG_PrintAllFlag(void) -{ - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 0 FQoS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 1 FTX\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 2 FRX\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 3 FSEC\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 4 FMGNT\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 5 FMLME\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 6 FRESOURCE\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 7 FBEACON\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 8 FISR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 9 FPHY\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 11 FMP\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 12 FPWR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 13 FDM\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 14 FDBG_CTRL\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 15 FC2H\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 16 FBT\n")); -} // DBG_PrintAllFlag - - -extern void DBG_PrintAllComp(void) -{ - u1Byte i; - - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("GlobalDebugComponents Definition\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT0 COMP_TRACE\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT1 COMP_DBG\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT2 COMP_INIT\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT3 COMP_OID_QUERY\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT4 COMP_OID_SET\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT5 COMP_RECV\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT6 COMP_SEND\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT7 COMP_IO\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT8 COMP_POWER\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT9 COMP_MLME\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT10 COMP_SCAN\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT11 COMP_SYSTEM\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT12 COMP_SEC\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT13 COMP_AP\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT14 COMP_TURBO\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT15 COMP_QOS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT16 COMP_AUTHENTICATOR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT17 COMP_BEACON\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT18 COMP_BEACON\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT19 COMP_RATE\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT20 COMP_EVENTS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT21 COMP_FPGA\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT22 COMP_RM\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT23 COMP_MP\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT24 COMP_RXDESC\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT25 COMP_CKIP\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT26 COMP_DIG\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT27 COMP_TXAGC\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT28 COMP_HIPWR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT29 COMP_HALDM\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT30 COMP_RSNA\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT31 COMP_INDIC\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT32 COMP_LED\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT33 COMP_RF\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT34 COMP_HT\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT35 COMP_POWER_TRACKING\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT36 COMP_POWER_TRACKING\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT37 COMP_AMSDU\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT38 COMP_WPS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT39 COMP_RATR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT40 COMP_RESET\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT41 COMP_CMD\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT42 COMP_EFUSE\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT43 COMP_MESH_INTERWORKING\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT43 COMP_CCX\n")); - - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("GlobalDebugComponents = %"i64fmt"x\n", GlobalDebugComponents)); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("Enable DBG COMP =")); - for (i = 0; i < 64; i++) - { - if (GlobalDebugComponents & ((u8Byte)0x1 << i) ) - { - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT%02d |\n", i)); - } - } - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("\n")); - -} // DBG_PrintAllComp - - -/*----------------------------------------------------------------------------- - * Function: DBG_PrintFlagEvent - * - * Overview: Print dedicated debug flag event - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 12/10/2008 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -extern void DBG_PrintFlagEvent(u1Byte DbgFlag) -{ - switch(DbgFlag) - { - case FQoS: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 QoS_INIT\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 QoS_VISTA\n")); - break; - - case FTX: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 TX_DESC\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 TX_DESC_TID\n")); - break; - - case FRX: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 RX_DATA\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 RX_PHY_STS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 RX_PHY_SS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 RX_PHY_SQ\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 4 RX_PHY_ASTS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 5 RX_ERR_LEN\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 6 RX_DEFRAG\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 7 RX_ERR_RATE\n")); - break; - - case FSEC: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("NA\n")); - break; - - case FMGNT: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("NA\n")); - break; - - case FMLME: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 MEDIA_STS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 LINK_STS\n")); - break; - - case FRESOURCE: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 OS_CHK\n")); - break; - - case FBEACON: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 BCN_SHOW\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 BCN_PEER\n")); - break; - - case FISR: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 ISR_CHK\n")); - break; - - case FPHY: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 PHY_BBR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 PHY_BBW\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 PHY_RFR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 PHY_RFW\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 4 PHY_MACR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 5 PHY_MACW\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 6 PHY_ALLR\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 7 PHY_ALLW\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 8 PHY_TXPWR\n")); - break; - - case FMP: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 MP_RX\n")); - break; - - case FEEPROM: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 EEPROM_W\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 EFUSE_PG\n")); - break; - - case FPWR: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 LPS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 IPS\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 PWRSW\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 PWRHW\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 4 PWRHAL\n")); - break; - - case FDM: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 WA_IOT\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 DM_PWDB\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 DM_Monitor\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 DM_DIG\n")); - break; - - case FDBG_CTRL: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 DBG_CTRL_TRACE\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 DBG_CTRL_INBAND_NOISE\n")); - break; - - case FC2H: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 C2H_Summary\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 C2H_PacketData\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 C2H_ContentData\n")); - break; - - case FBT: - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 BT_TRACE\n")); - ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 BT_RFPoll\n")); - break; - - default: - break; - } - -} // DBG_PrintFlagEvent - - -extern void DBG_DumpMem(const u1Byte DbgComp, - const u1Byte DbgLevel, - pu1Byte pMem, - u2Byte Len) -{ - u2Byte i; - - for (i=0;i<((Len>>3) + 1);i++) - { - ODM_RT_TRACE(pDM_Odm,DbgComp, DbgLevel, ("%02X %02X %02X %02X %02X %02X %02X %02X\n", - *(pMem+(i*8)), *(pMem+(i*8+1)), *(pMem+(i*8+2)), *(pMem+(i*8+3)), - *(pMem+(i*8+4)), *(pMem+(i*8+5)), *(pMem+(i*8+6)), *(pMem+(i*8+7)))); - - } -} - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+//============================================================
+// include files
+//============================================================
+
+#include "odm_precomp.h"
+
+VOID
+ODM_InitDebugSetting(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+pDM_Odm->DebugLevel = ODM_DBG_TRACE;
+
+pDM_Odm->DebugComponents =
+\
+#if DBG
+//BB Functions
+// ODM_COMP_DIG |
+// ODM_COMP_RA_MASK |
+// ODM_COMP_DYNAMIC_TXPWR |
+// ODM_COMP_FA_CNT |
+// ODM_COMP_RSSI_MONITOR |
+// ODM_COMP_CCK_PD |
+// ODM_COMP_ANT_DIV |
+// ODM_COMP_PWR_SAVE |
+// ODM_COMP_PWR_TRAIN |
+// ODM_COMP_RATE_ADAPTIVE |
+// ODM_COMP_PATH_DIV |
+// ODM_COMP_DYNAMIC_PRICCA |
+// ODM_COMP_RXHP |
+
+//MAC Functions
+// ODM_COMP_EDCA_TURBO |
+// ODM_COMP_EARLY_MODE |
+//RF Functions
+// ODM_COMP_TX_PWR_TRACK |
+// ODM_COMP_RX_GAIN_TRACK |
+// ODM_COMP_CALIBRATION |
+//Common
+// ODM_COMP_COMMON |
+// ODM_COMP_INIT |
+#endif
+ 0;
+}
+
+#if 0
+/*------------------Declare variable-----------------------
+// Define debug flag array for common debug print macro. */
+u4Byte ODM_DBGP_Type[ODM_DBGP_TYPE_MAX];
+
+/* Define debug print header for every service module. */
+ODM_DBGP_HEAD_T ODM_DBGP_Head;
+
+
+/*-----------------------------------------------------------------------------
+ * Function: DBGP_Flag_Init
+ *
+ * Overview: Refresh all debug print control flag content to zero.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 10/20/2006 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+extern void ODM_DBGP_Flag_Init(void)
+{
+ u1Byte i;
+
+ for (i = 0; i < ODM_DBGP_TYPE_MAX; i++)
+ {
+ ODM_DBGP_Type[i] = 0;
+ }
+
+#ifndef ADSL_AP_BUILD_WORKAROUND
+#if DBG
+ // 2010/06/02 MH Free build driver can not out any debug message!!!
+ // Init Debug flag enable condition
+
+ ODM_DBGP_Type[FINIT] = \
+// INIT_EEPROM |
+// INIT_TxPower |
+// INIT_IQK |
+// INIT_RF |
+ 0;
+
+ ODM_DBGP_Type[FDM] = \
+// WA_IOT |
+// DM_PWDB |
+// DM_Monitor |
+// DM_DIG |
+// DM_EDCA_Turbo |
+// DM_BT30 |
+ 0;
+
+ ODM_DBGP_Type[FIOCTL] = \
+// IOCTL_IRP |
+// IOCTL_IRP_DETAIL |
+// IOCTL_IRP_STATISTICS |
+// IOCTL_IRP_HANDLE |
+// IOCTL_BT_HCICMD |
+// IOCTL_BT_HCICMD_DETAIL |
+// IOCTL_BT_HCICMD_EXT |
+// IOCTL_BT_EVENT |
+// IOCTL_BT_EVENT_DETAIL |
+// IOCTL_BT_EVENT_PERIODICAL |
+// IOCTL_BT_TX_ACLDATA |
+// IOCTL_BT_TX_ACLDATA_DETAIL |
+// IOCTL_BT_RX_ACLDATA |
+// IOCTL_BT_RX_ACLDATA_DETAIL |
+// IOCTL_BT_TP |
+// IOCTL_STATE |
+// IOCTL_BT_LOGO |
+// IOCTL_CALLBACK_FUN |
+// IOCTL_PARSE_BT_PKT |
+ 0;
+
+ ODM_DBGP_Type[FBT] = \
+// BT_TRACE |
+ 0;
+
+ ODM_DBGP_Type[FEEPROM] = \
+// EEPROM_W |
+// EFUSE_PG |
+// EFUSE_READ_ALL |
+// EFUSE_ANALYSIS |
+// EFUSE_PG_DETAIL |
+ 0;
+
+ ODM_DBGP_Type[FDBG_CTRL] = \
+// DBG_CTRL_TRACE |
+// DBG_CTRL_INBAND_NOISE |
+ 0;
+
+ // 2011/07/20 MH Add for short cut
+ ODM_DBGP_Type[FSHORT_CUT] = \
+// SHCUT_TX |
+// SHCUT_RX |
+ 0;
+
+#endif
+#endif
+ /* Define debug header of every service module. */
+ //ODM_DBGP_Head.pMANS = "\n\r[MANS] ";
+ //ODM_DBGP_Head.pRTOS = "\n\r[RTOS] ";
+ //ODM_DBGP_Head.pALM = "\n\r[ALM] ";
+ //ODM_DBGP_Head.pPEM = "\n\r[PEM] ";
+ //ODM_DBGP_Head.pCMPK = "\n\r[CMPK] ";
+ //ODM_DBGP_Head.pRAPD = "\n\r[RAPD] ";
+ //ODM_DBGP_Head.pTXPB = "\n\r[TXPB] ";
+ //ODM_DBGP_Head.pQUMG = "\n\r[QUMG] ";
+
+} /* DBGP_Flag_Init */
+
+#endif
+
+
+#if 0
+u4Byte GlobalDebugLevel = DBG_LOUD;
+//
+// 2009/06/22 MH Allow Fre build to print none debug info at init time.
+//
+#if DBG
+u8Byte GlobalDebugComponents = \
+// COMP_TRACE |
+// COMP_DBG |
+// COMP_INIT |
+// COMP_OID_QUERY |
+// COMP_OID_SET |
+// COMP_RECV |
+// COMP_SEND |
+// COMP_IO |
+// COMP_POWER |
+// COMP_MLME |
+// COMP_SCAN |
+// COMP_SYSTEM |
+// COMP_SEC |
+// COMP_AP |
+// COMP_TURBO |
+// COMP_QOS |
+// COMP_AUTHENTICATOR |
+// COMP_BEACON |
+// COMP_ANTENNA |
+// COMP_RATE |
+// COMP_EVENTS |
+// COMP_FPGA |
+// COMP_RM |
+// COMP_MP |
+// COMP_RXDESC |
+// COMP_CKIP |
+// COMP_DIG |
+// COMP_TXAGC |
+// COMP_HIPWR |
+// COMP_HALDM |
+// COMP_RSNA |
+// COMP_INDIC |
+// COMP_LED |
+// COMP_RF |
+// COMP_DUALMACSWITCH |
+// COMP_EASY_CONCURRENT |
+
+//1!!!!!!!!!!!!!!!!!!!!!!!!!!!
+//1//1Attention Please!!!<11n or 8190 specific code should be put below this line>
+//1!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+// COMP_HT |
+// COMP_POWER_TRACKING |
+// COMP_RX_REORDER |
+// COMP_AMSDU |
+// COMP_WPS |
+// COMP_RATR |
+// COMP_RESET |
+// COMP_CMD |
+// COMP_EFUSE |
+// COMP_MESH_INTERWORKING |
+// COMP_CCX |
+// COMP_IOCTL |
+// COMP_GP |
+// COMP_TXAGG |
+// COMP_BB_POWERSAVING |
+// COMP_SWAS |
+// COMP_P2P |
+// COMP_MUX |
+// COMP_FUNC |
+// COMP_TDLS |
+// COMP_OMNIPEEK |
+// COMP_PSD |
+ 0;
+
+
+#else
+#define FuncEntry
+#define FuncExit
+u8Byte GlobalDebugComponents = 0;
+#endif
+
+#if (RT_PLATFORM==PLATFORM_LINUX)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
+EXPORT_SYMBOL(GlobalDebugComponents);
+EXPORT_SYMBOL(GlobalDebugLevel);
+#endif
+#endif
+
+/*------------------Declare variable-----------------------
+// Define debug flag array for common debug print macro. */
+u4Byte DBGP_Type[DBGP_TYPE_MAX];
+
+/* Define debug print header for every service module. */
+DBGP_HEAD_T DBGP_Head;
+
+
+/*-----------------------------------------------------------------------------
+ * Function: DBGP_Flag_Init
+ *
+ * Overview: Refresh all debug print control flag content to zero.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 10/20/2006 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+extern void DBGP_Flag_Init(void)
+{
+ u1Byte i;
+
+ for (i = 0; i < DBGP_TYPE_MAX; i++)
+ {
+ DBGP_Type[i] = 0;
+ }
+
+#if DBG
+ // 2010/06/02 MH Free build driver can not out any debug message!!!
+ // Init Debug flag enable condition
+
+ DBGP_Type[FINIT] = \
+// INIT_EEPROM |
+// INIT_TxPower |
+// INIT_IQK |
+// INIT_RF |
+ 0;
+
+ DBGP_Type[FDM] = \
+// WA_IOT |
+// DM_PWDB |
+// DM_Monitor |
+// DM_DIG |
+// DM_EDCA_Turbo |
+// DM_BT30 |
+ 0;
+
+ DBGP_Type[FIOCTL] = \
+// IOCTL_IRP |
+// IOCTL_IRP_DETAIL |
+// IOCTL_IRP_STATISTICS |
+// IOCTL_IRP_HANDLE |
+// IOCTL_BT_HCICMD |
+// IOCTL_BT_HCICMD_DETAIL |
+// IOCTL_BT_HCICMD_EXT |
+// IOCTL_BT_EVENT |
+// IOCTL_BT_EVENT_DETAIL |
+// IOCTL_BT_EVENT_PERIODICAL |
+// IOCTL_BT_TX_ACLDATA |
+// IOCTL_BT_TX_ACLDATA_DETAIL |
+// IOCTL_BT_RX_ACLDATA |
+// IOCTL_BT_RX_ACLDATA_DETAIL |
+// IOCTL_BT_TP |
+// IOCTL_STATE |
+// IOCTL_BT_LOGO |
+// IOCTL_CALLBACK_FUN |
+// IOCTL_PARSE_BT_PKT |
+ 0;
+
+ DBGP_Type[FBT] = \
+// BT_TRACE |
+ 0;
+
+ DBGP_Type[FEEPROM] = \
+// EEPROM_W |
+// EFUSE_PG |
+// EFUSE_READ_ALL |
+// EFUSE_ANALYSIS |
+// EFUSE_PG_DETAIL |
+ 0;
+
+ DBGP_Type[FDBG_CTRL] = \
+// DBG_CTRL_TRACE |
+// DBG_CTRL_INBAND_NOISE |
+ 0;
+
+ // 2011/07/20 MH Add for short cut
+ DBGP_Type[FSHORT_CUT] = \
+// SHCUT_TX |
+// SHCUT_RX |
+ 0;
+
+#endif
+ /* Define debug header of every service module. */
+ DBGP_Head.pMANS = "\n\r[MANS] ";
+ DBGP_Head.pRTOS = "\n\r[RTOS] ";
+ DBGP_Head.pALM = "\n\r[ALM] ";
+ DBGP_Head.pPEM = "\n\r[PEM] ";
+ DBGP_Head.pCMPK = "\n\r[CMPK] ";
+ DBGP_Head.pRAPD = "\n\r[RAPD] ";
+ DBGP_Head.pTXPB = "\n\r[TXPB] ";
+ DBGP_Head.pQUMG = "\n\r[QUMG] ";
+
+} /* DBGP_Flag_Init */
+
+
+/*-----------------------------------------------------------------------------
+ * Function: DBG_PrintAllFlag
+ *
+ * Overview: Print All debug flag
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 12/10/2008 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+extern void DBG_PrintAllFlag(void)
+{
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 0 FQoS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 1 FTX\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 2 FRX\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 3 FSEC\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 4 FMGNT\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 5 FMLME\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 6 FRESOURCE\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 7 FBEACON\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 8 FISR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 9 FPHY\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 11 FMP\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 12 FPWR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 13 FDM\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 14 FDBG_CTRL\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 15 FC2H\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("DBGFLAG 16 FBT\n"));
+} // DBG_PrintAllFlag
+
+
+extern void DBG_PrintAllComp(void)
+{
+ u1Byte i;
+
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("GlobalDebugComponents Definition\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT0 COMP_TRACE\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT1 COMP_DBG\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT2 COMP_INIT\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT3 COMP_OID_QUERY\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT4 COMP_OID_SET\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT5 COMP_RECV\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT6 COMP_SEND\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT7 COMP_IO\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT8 COMP_POWER\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT9 COMP_MLME\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT10 COMP_SCAN\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT11 COMP_SYSTEM\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT12 COMP_SEC\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT13 COMP_AP\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT14 COMP_TURBO\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT15 COMP_QOS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT16 COMP_AUTHENTICATOR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT17 COMP_BEACON\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT18 COMP_BEACON\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT19 COMP_RATE\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT20 COMP_EVENTS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT21 COMP_FPGA\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT22 COMP_RM\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT23 COMP_MP\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT24 COMP_RXDESC\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT25 COMP_CKIP\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT26 COMP_DIG\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT27 COMP_TXAGC\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT28 COMP_HIPWR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT29 COMP_HALDM\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT30 COMP_RSNA\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT31 COMP_INDIC\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT32 COMP_LED\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT33 COMP_RF\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT34 COMP_HT\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT35 COMP_POWER_TRACKING\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT36 COMP_POWER_TRACKING\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT37 COMP_AMSDU\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT38 COMP_WPS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT39 COMP_RATR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT40 COMP_RESET\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT41 COMP_CMD\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT42 COMP_EFUSE\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT43 COMP_MESH_INTERWORKING\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT43 COMP_CCX\n"));
+
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("GlobalDebugComponents = %"i64fmt"x\n", GlobalDebugComponents));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("Enable DBG COMP ="));
+ for (i = 0; i < 64; i++)
+ {
+ if (GlobalDebugComponents & ((u8Byte)0x1 << i) )
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT%02d |\n", i));
+ }
+ }
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("\n"));
+
+} // DBG_PrintAllComp
+
+
+/*-----------------------------------------------------------------------------
+ * Function: DBG_PrintFlagEvent
+ *
+ * Overview: Print dedicated debug flag event
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 12/10/2008 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+extern void DBG_PrintFlagEvent(u1Byte DbgFlag)
+{
+ switch(DbgFlag)
+ {
+ case FQoS:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 QoS_INIT\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 QoS_VISTA\n"));
+ break;
+
+ case FTX:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 TX_DESC\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 TX_DESC_TID\n"));
+ break;
+
+ case FRX:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 RX_DATA\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 RX_PHY_STS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 RX_PHY_SS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 RX_PHY_SQ\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 4 RX_PHY_ASTS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 5 RX_ERR_LEN\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 6 RX_DEFRAG\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 7 RX_ERR_RATE\n"));
+ break;
+
+ case FSEC:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("NA\n"));
+ break;
+
+ case FMGNT:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("NA\n"));
+ break;
+
+ case FMLME:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 MEDIA_STS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 LINK_STS\n"));
+ break;
+
+ case FRESOURCE:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 OS_CHK\n"));
+ break;
+
+ case FBEACON:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 BCN_SHOW\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 BCN_PEER\n"));
+ break;
+
+ case FISR:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 ISR_CHK\n"));
+ break;
+
+ case FPHY:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 PHY_BBR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 PHY_BBW\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 PHY_RFR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 PHY_RFW\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 4 PHY_MACR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 5 PHY_MACW\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 6 PHY_ALLR\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 7 PHY_ALLW\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 8 PHY_TXPWR\n"));
+ break;
+
+ case FMP:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 MP_RX\n"));
+ break;
+
+ case FEEPROM:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 EEPROM_W\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 EFUSE_PG\n"));
+ break;
+
+ case FPWR:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 LPS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 IPS\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 PWRSW\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 PWRHW\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 4 PWRHAL\n"));
+ break;
+
+ case FDM:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 WA_IOT\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 DM_PWDB\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 DM_Monitor\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 3 DM_DIG\n"));
+ break;
+
+ case FDBG_CTRL:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 DBG_CTRL_TRACE\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 DBG_CTRL_INBAND_NOISE\n"));
+ break;
+
+ case FC2H:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 C2H_Summary\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 C2H_PacketData\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 2 C2H_ContentData\n"));
+ break;
+
+ case FBT:
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 0 BT_TRACE\n"));
+ ODM_RT_TRACE(pDM_Odm,COMP_CMD, DBG_LOUD, ("BIT 1 BT_RFPoll\n"));
+ break;
+
+ default:
+ break;
+ }
+
+} // DBG_PrintFlagEvent
+
+
+extern void DBG_DumpMem(const u1Byte DbgComp,
+ const u1Byte DbgLevel,
+ pu1Byte pMem,
+ u2Byte Len)
+{
+ u2Byte i;
+
+ for (i=0;i<((Len>>3) + 1);i++)
+ {
+ ODM_RT_TRACE(pDM_Odm,DbgComp, DbgLevel, ("%02X %02X %02X %02X %02X %02X %02X %02X\n",
+ *(pMem+(i*8)), *(pMem+(i*8+1)), *(pMem+(i*8+2)), *(pMem+(i*8+3)),
+ *(pMem+(i*8+4)), *(pMem+(i*8+5)), *(pMem+(i*8+6)), *(pMem+(i*8+7))));
+
+ }
+}
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.h index 7b7ecfc7ed6a..f8670c9a30e7 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_debug.h @@ -1,905 +1,905 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - - -#ifndef __ODM_DBG_H__ -#define __ODM_DBG_H__ - - -//----------------------------------------------------------------------------- -// Define the debug levels -// -// 1. DBG_TRACE and DBG_LOUD are used for normal cases. -// So that, they can help SW engineer to develope or trace states changed -// and also help HW enginner to trace every operation to and from HW, -// e.g IO, Tx, Rx. -// -// 2. DBG_WARNNING and DBG_SERIOUS are used for unusual or error cases, -// which help us to debug SW or HW. -// -//----------------------------------------------------------------------------- -// -// Never used in a call to ODM_RT_TRACE()! -// -#define ODM_DBG_OFF 1 - -// -// Fatal bug. -// For example, Tx/Rx/IO locked up, OS hangs, memory access violation, -// resource allocation failed, unexpected HW behavior, HW BUG and so on. -// -#define ODM_DBG_SERIOUS 2 - -// -// Abnormal, rare, or unexpeted cases. -// For example, IRP/Packet/OID canceled, device suprisely unremoved and so on. -// -#define ODM_DBG_WARNING 3 - -// -// Normal case with useful information about current SW or HW state. -// For example, Tx/Rx descriptor to fill, Tx/Rx descriptor completed status, -// SW protocol state change, dynamic mechanism state change and so on. -// -#define ODM_DBG_LOUD 4 - -// -// Normal case with detail execution flow or information. -// -#define ODM_DBG_TRACE 5 - -//----------------------------------------------------------------------------- -// Define the tracing components -// -//----------------------------------------------------------------------------- -//BB Functions -#define ODM_COMP_DIG BIT0 -#define ODM_COMP_RA_MASK BIT1 -#define ODM_COMP_DYNAMIC_TXPWR BIT2 -#define ODM_COMP_FA_CNT BIT3 -#define ODM_COMP_RSSI_MONITOR BIT4 -#define ODM_COMP_CCK_PD BIT5 -#define ODM_COMP_ANT_DIV BIT6 -#define ODM_COMP_PWR_SAVE BIT7 -#define ODM_COMP_PWR_TRAIN BIT8 -#define ODM_COMP_RATE_ADAPTIVE BIT9 -#define ODM_COMP_PATH_DIV BIT10 -#define ODM_COMP_PSD BIT11 -#define ODM_COMP_DYNAMIC_PRICCA BIT12 -#define ODM_COMP_RXHP BIT13 -//MAC Functions -#define ODM_COMP_EDCA_TURBO BIT16 -#define ODM_COMP_EARLY_MODE BIT17 -//RF Functions -#define ODM_COMP_TX_PWR_TRACK BIT24 -#define ODM_COMP_RX_GAIN_TRACK BIT25 -#define ODM_COMP_CALIBRATION BIT26 -//Common Functions -#define ODM_COMP_COMMON BIT30 -#define ODM_COMP_INIT BIT31 - -/*------------------------Export Marco Definition---------------------------*/ -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) -#define RT_PRINTK DbgPrint -#elif (DM_ODM_SUPPORT_TYPE == ODM_CE) - #define DbgPrint printk - #define RT_PRINTK(fmt, args...) DbgPrint( "%s(): " fmt, __FUNCTION__, ## args); -#else - #define DbgPrint panic_printk -#define RT_PRINTK(fmt, args...) DbgPrint( "%s(): " fmt, __FUNCTION__, ## args); -#endif - -#ifndef ASSERT - #define ASSERT(expr) -#endif - -#if DBG -#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt) \ - if(((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \ - { \ - if(pDM_Odm->SupportICType == ODM_RTL8192C) \ - DbgPrint("[ODM-92C] "); \ - else if(pDM_Odm->SupportICType == ODM_RTL8192D) \ - DbgPrint("[ODM-92D] "); \ - else if(pDM_Odm->SupportICType == ODM_RTL8723A) \ - DbgPrint("[ODM-8723A] "); \ - else if(pDM_Odm->SupportICType == ODM_RTL8188E) \ - DbgPrint("[ODM-8188E] "); \ - else if(pDM_Odm->SupportICType == ODM_RTL8812) \ - DbgPrint("[ODM-8812] "); \ - else if(pDM_Odm->SupportICType == ODM_RTL8821) \ - DbgPrint("[ODM-8821] "); \ - RT_PRINTK fmt; \ - } - -#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt) \ - if(((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \ - { \ - RT_PRINTK fmt; \ - } - -#define ODM_RT_ASSERT(pDM_Odm, expr, fmt) \ - if(!(expr)) { \ - DbgPrint( "Assertion failed! %s at ......\n", #expr); \ - DbgPrint( " ......%s,%s,line=%d\n",__FILE__,__FUNCTION__,__LINE__); \ - RT_PRINTK fmt; \ - ASSERT(FALSE); \ - } -#define ODM_dbg_enter() { DbgPrint("==> %s\n", __FUNCTION__); } -#define ODM_dbg_exit() { DbgPrint("<== %s\n", __FUNCTION__); } -#define ODM_dbg_trace(str) { DbgPrint("%s:%s\n", __FUNCTION__, str); } - -#define ODM_PRINT_ADDR(pDM_Odm, comp, level, title_str, ptr) \ - if(((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \ - { \ - int __i; \ - pu1Byte __ptr = (pu1Byte)ptr; \ - DbgPrint("[ODM] "); \ - DbgPrint(title_str); \ - DbgPrint(" "); \ - for( __i=0; __i<6; __i++ ) \ - DbgPrint("%02X%s", __ptr[__i], (__i==5)?"":"-"); \ - DbgPrint("\n"); \ - } -#else -#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt) -#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt) -#define ODM_RT_ASSERT(pDM_Odm, expr, fmt) -#define ODM_dbg_enter() -#define ODM_dbg_exit() -#define ODM_dbg_trace(str) -#define ODM_PRINT_ADDR(pDM_Odm, comp, level, title_str, ptr) -#endif - - -VOID -ODM_InitDebugSetting( - IN PDM_ODM_T pDM_Odm - ); - - - -#if 0 -#if DBG -#define DbgPrint printk - -#define PRINT_DATA(_TitleString, _HexData, _HexDataLen) \ - { \ - char *szTitle = _TitleString; \ - pu1Byte pbtHexData = _HexData; \ - u4Byte u4bHexDataLen = _HexDataLen; \ - u4Byte __i; \ - DbgPrint("%s", szTitle); \ - for (__i=0;__i<u4bHexDataLen;__i++) \ - { \ - if ((__i & 15) == 0) \ - { \ - DbgPrint("\n"); \ - } \ - DbgPrint("%02X%s", pbtHexData[__i], ( ((__i&3)==3) ? " " : " ") ); \ - } \ - DbgPrint("\n"); \ - } - -// RT_PRINT_XXX macros: implemented for debugging purpose. -// Added by Annie, 2005-11-21. -#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) \ - if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \ - { \ - int __i; \ - pu1Byte ptr = (pu1Byte)_HexData; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - for( __i=0; __i<(int)_HexDataLen; __i++ ) \ - { \ - DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" "); \ - if (((__i + 1) % 16) == 0) DbgPrint("\n"); \ - } \ - DbgPrint("\n"); \ - } - -#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr) \ - if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \ - { \ - int __i; \ - pu1Byte ptr = (pu1Byte)_Ptr; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - DbgPrint(" "); \ - for( __i=0; __i<6; __i++ ) \ - DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \ - DbgPrint("\n"); \ - } - -#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum) \ - if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \ - { \ - int __i, __j; \ - pu1Byte ptr = (pu1Byte)_Ptr; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - DbgPrint("\n"); \ - for( __i=0; __i<(int)_AddNum; __i++ ) \ - { \ - for( __j=0; __j<6; __j++ ) \ - DbgPrint("%02X%s", ptr[__i*6+__j], (__j==5)?"":"-"); \ - DbgPrint("\n"); \ - } \ - } - -// Added by Annie, 2005-11-22. -#define MAX_STR_LEN 64 -#define PRINTABLE(_ch) (_ch>=' ' &&_ch<='~' ) // I want to see ASCII 33 to 126 only. Otherwise, I print '?'. Annie, 2005-11-22. - -#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len) \ - if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \ - { \ - int __i; \ - u1Byte buffer[MAX_STR_LEN]; \ - int length = (_Len<MAX_STR_LEN)? _Len : (MAX_STR_LEN-1) ; \ - PlatformZeroMemory( buffer, MAX_STR_LEN ); \ - PlatformMoveMemory( buffer, (pu1Byte)_Ptr, length ); \ - for( __i=0; __i<MAX_STR_LEN; __i++ ) \ - { \ - if( !PRINTABLE(buffer[__i]) ) buffer[__i] = '?'; \ - } \ - buffer[length] = '\0'; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - DbgPrint(": %d, <%s>\n", _Len, buffer); \ - } - -#else // of #if DBG -#define DbgPrint(...) -#define PRINT_DATA(_TitleString, _HexData, _HexDataLen) -#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) -#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr) -#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum) -#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len) -#endif // of #if DBG - -#endif - - -#if 0 -/* Define debug print header for every service module.*/ -typedef struct tag_ODM_DBGP_Service_Module_Header_Name_Structure -{ - const char *pMANS; - const char *pRTOS; - const char *pALM; - const char *pPEM; - const char *pCMPK; - const char *pRAPD; - const char *pTXPB; - const char *pQUMG; -}ODM_DBGP_HEAD_T; - - -/* Define different debug flag for dedicated service modules in debug flag array. */ -// Each module has independt 32 bit debug flag you cnn define the flag as yout require. -typedef enum tag_ODM_DBGP_Flag_Type_Definition -{ - ODM_FTX = 0, - ODM_FRX , - ODM_FPHY , - ODM_FPWR , - ODM_FDM , - ODM_FC2H , - ODM_FBT , - ODM_DBGP_TYPE_MAX -}ODM_DBGP_FLAG_E; - - -// Define TX relative debug bit --> FTX -#define ODM_TX_DESC BIT0 -#define ODM_TX_DESC_TID BIT1 -#define ODM_TX_PATH BIT2 - -// Define RX relative debug bit --> FRX -#define ODM_RX_DATA BIT0 -#define ODM_RX_PHY_STS BIT1 -#define ODM_RX_PHY_SS BIT2 -#define ODM_RX_PHY_SQ BIT3 -#define ODM_RX_PHY_ASTS BIT4 -#define ODM_RX_ERR_LEN BIT5 -#define ODM_RX_DEFRAG BIT6 -#define ODM_RX_ERR_RATE BIT7 -#define ODM_RX_PATH BIT8 -#define ODM_RX_BEACON BIT9 - -// Define PHY-BB/RF/MAC check module bit --> FPHY -#define ODM_PHY_BBR BIT0 -#define ODM_PHY_BBW BIT1 -#define ODM_PHY_RFR BIT2 -#define ODM_PHY_RFW BIT3 -#define ODM_PHY_MACR BIT4 -#define ODM_PHY_MACW BIT5 -#define ODM_PHY_ALLR BIT6 -#define ODM_PHY_ALLW BIT7 -#define ODM_PHY_TXPWR BIT8 -#define ODM_PHY_PWRDIFF BIT9 -#define ODM_PHY_SICR BIT10 -#define ODM_PHY_SICW BIT11 - - - - -extern u4Byte ODM_GlobalDebugLevel; - - -#if DBG -extern u8Byte ODM_GlobalDebugComponents; -#endif -#endif -#if 0 - -//----------------------------------------------------------------------------- -// Define the debug levels -// -// 1. DBG_TRACE and DBG_LOUD are used for normal cases. -// So that, they can help SW engineer to develope or trace states changed -// and also help HW enginner to trace every operation to and from HW, -// e.g IO, Tx, Rx. -// -// 2. DBG_WARNNING and DBG_SERIOUS are used for unusual or error cases, -// which help us to debug SW or HW. -// -//----------------------------------------------------------------------------- -// -// Never used in a call to ODM_RT_TRACE(pDM_Odm,)! -// -#define DBG_OFF 0 - -// -// Deprecated! Don't use it! -// TODO: fix related debug message! -// -//#define DBG_SEC 1 - -// -// Fatal bug. -// For example, Tx/Rx/IO locked up, OS hangs, memory access violation, -// resource allocation failed, unexpected HW behavior, HW BUG and so on. -// -#define DBG_SERIOUS 2 - -// -// Abnormal, rare, or unexpeted cases. -// For example, IRP/Packet/OID canceled, device suprisely unremoved and so on. -// -#define DBG_WARNING 3 - -// -// Normal case with useful information about current SW or HW state. -// For example, Tx/Rx descriptor to fill, Tx/Rx descriptor completed status, -// SW protocol state change, dynamic mechanism state change and so on. -// -#define DBG_LOUD 4 - -// -// Normal case with detail execution flow or information. -// -#define DBG_TRACE 5 - - - -//----------------------------------------------------------------------------- -// Define the tracing components -// -//----------------------------------------------------------------------------- -#define COMP_TRACE BIT0 // For function call tracing. -#define COMP_DBG BIT1 // Only for temporary debug message. -#define COMP_INIT BIT2 // during driver initialization / halt / reset. -#define COMP_OID_QUERY BIT3 // Query OID. -#define COMP_OID_SET BIT4 // Set OID. -#define COMP_RECV BIT5 // Reveive part data path. -#define COMP_SEND BIT6 // Send part path. -#define COMP_IO BIT7 // I/O Related. Added by Annie, 2006-03-02. -#define COMP_POWER BIT8 // 802.11 Power Save mode or System/Device Power state related. -#define COMP_MLME BIT9 // 802.11 link related: join/start BSS, leave BSS. -#define COMP_SCAN BIT10 // For site survey. -#define COMP_SYSTEM BIT11 // For general platform function. -#define COMP_SEC BIT12 // For Security. -#define COMP_AP BIT13 // For AP mode related. -#define COMP_TURBO BIT14 // For Turbo Mode related. By Annie, 2005-10-21. -#define COMP_QOS BIT15 // For QoS. -#define COMP_AUTHENTICATOR BIT16 // For AP mode Authenticator. Added by Annie, 2006-01-30. -#define COMP_BEACON BIT17 // For Beacon related, by rcnjko. -#define COMP_ANTENNA BIT18 // For Antenna diversity related, by rcnjko. -#define COMP_RATE BIT19 // For Rate Adaptive mechanism, 2006.07.02, by rcnjko. #define COMP_EVENTS 0x00000080 // Event handling -#define COMP_EVENTS BIT20 // Event handling -#define COMP_FPGA BIT21 // For FPGA verfication -#define COMP_RM BIT22 // For Radio Measurement. -#define COMP_MP BIT23 // For mass production test, by shien chang, 2006.07.13 -#define COMP_RXDESC BIT24 // Show Rx desc information for SD3 debug. Added by Annie, 2006-07-15. -#define COMP_CKIP BIT25 // For CCX 1 S13: CKIP. Added by Annie, 2006-08-14. -#define COMP_DIG BIT26 // For DIG, 2006.09.25, by rcnjko. -#define COMP_TXAGC BIT27 // For Tx power, 060928, by rcnjko. -#define COMP_HIPWR BIT28 // For High Power Mechanism, 060928, by rcnjko. -#define COMP_HALDM BIT29 // For HW Dynamic Mechanism, 061010, by rcnjko. -#define COMP_RSNA BIT30 // For RSNA IBSS , 061201, by CCW. -#define COMP_INDIC BIT31 // For link indication -#define COMP_LED BIT32 // For LED. -#define COMP_RF BIT33 // For RF. -//1!!!!!!!!!!!!!!!!!!!!!!!!!!! -//1//1Attention Please!!!<11n or 8190 specific code should be put below this line> -//1!!!!!!!!!!!!!!!!!!!!!!!!!!! - -#define COMP_HT BIT34 // For 802.11n HT related information. by Emily 2006-8-11 -#define COMP_POWER_TRACKING BIT35 //FOR 8190 TX POWER TRACKING -#define COMP_RX_REORDER BIT36 // 8190 Rx Reorder -#define COMP_AMSDU BIT37 // For A-MSDU Debugging -#define COMP_WPS BIT38 //WPS Debug Message -#define COMP_RATR BIT39 -#define COMP_RESET BIT40 -// For debug command to print on dbgview!! -#define COMP_CMD BIT41 -#define COMP_EFUSE BIT42 -#define COMP_MESH_INTERWORKING BIT43 -#define COMP_CCX BIT44 //CCX Debug Flag -#define COMP_IOCTL BIT45 // IO Control -#define COMP_GP BIT46 // For generic parser. -#define COMP_TXAGG BIT47 -#define COMP_HVL BIT48 // For Ndis 6.2 Context Swirch and Hardware Virtualiztion Layer -#define COMP_TEST BIT49 -#define COMP_BB_POWERSAVING BIT50 -#define COMP_SWAS BIT51 // For SW Antenna Switch -#define COMP_P2P BIT52 -#define COMP_MUX BIT53 -#define COMP_FUNC BIT54 -#define COMP_TDLS BIT55 -#define COMP_OMNIPEEK BIT56 -#define COMP_DUALMACSWITCH BIT60 // 2010/12/27 Add for Dual mac mode debug -#define COMP_EASY_CONCURRENT BIT61 // 2010/12/27 Add for easy cncurrent mode debug -#define COMP_PSD BIT63 //2011/3/9 Add for WLAN PSD for BT AFH - -#define COMP_DFS BIT62 - -#define COMP_ALL UINT64_C(0xFFFFFFFFFFFFFFFF) // All components -// For debug print flag to use -/*------------------------------Define structure----------------------------*/ -/* 2007/07/13 MH *//*------For DeBuG Print modeue------*/ - -/* Defnie structure to store different debug flag variable. Every debug flag - is a UINT32 integer and you can assign 32 different events. */ -typedef struct tag_DBGP_Debug_Flag_Structure -{ - u4Byte Mans; /* Main Scheduler module. */ - u4Byte Rtos; /* RTOS module. */ - u4Byte Alarm; /* Alarm module. */ - u4Byte Pm; /* Performance monitor module. */ -}DBGP_FLAG_T; - -/* Define debug print header for every service module.*/ -typedef struct tag_DBGP_Service_Module_Header_Name_Structure -{ - const char *pMANS; - const char *pRTOS; - const char *pALM; - const char *pPEM; - const char *pCMPK; - const char *pRAPD; - const char *pTXPB; - const char *pQUMG; -}DBGP_HEAD_T; - - -/* Define different debug flag for dedicated service modules in debug flag array. */ -// Each module has independt 32 bit debug flag you cnn define the flag as yout require. -typedef enum tag_DBGP_Flag_Type_Definition -{ - FQoS = 0, - FTX = 1, - FRX = 2, - FSEC = 3, - FMGNT = 4, - FMLME = 5, - FRESOURCE = 6, - FBEACON = 7, - FISR = 8, - FPHY = 9, - FMP = 10, - FEEPROM = 11, - FPWR = 12, - FDM = 13, - FDBG_CTRL = 14, - FC2H = 15, - FBT = 16, - FINIT = 17, - FIOCTL = 18, - FSHORT_CUT = 19, - DBGP_TYPE_MAX -}DBGP_FLAG_E; - - -// Define Qos Relative debug flag bit --> FQoS -#define QoS_INIT BIT0 -#define QoS_VISTA BIT1 - -// Define TX relative debug bit --> FTX -#define TX_DESC BIT0 -#define TX_DESC_TID BIT1 -#define TX_PATH BIT2 - -// Define RX relative debug bit --> FRX -#define RX_DATA BIT0 -#define RX_PHY_STS BIT1 -#define RX_PHY_SS BIT2 -#define RX_PHY_SQ BIT3 -#define RX_PHY_ASTS BIT4 -#define RX_ERR_LEN BIT5 -#define RX_DEFRAG BIT6 -#define RX_ERR_RATE BIT7 -#define RX_PATH BIT8 -#define RX_BEACON BIT9 - -// Define Security relative debug bit --> FSEC - -// Define MGNT relative debug bit --> FMGNT - -// Define MLME relative debug bit --> FMLME -#define MEDIA_STS BIT0 -#define LINK_STS BIT1 - -// Define OS resource check module bit --> FRESOURCE -#define OS_CHK BIT0 - -// Define beacon content check module bit --> FBEACON -#define BCN_SHOW BIT0 -#define BCN_PEER BIT1 - -// Define ISR/IMR check module bit --> FISR -#define ISR_CHK BIT0 - -// Define PHY-BB/RF/MAC check module bit --> FPHY -#define PHY_BBR BIT0 -#define PHY_BBW BIT1 -#define PHY_RFR BIT2 -#define PHY_RFW BIT3 -#define PHY_MACR BIT4 -#define PHY_MACW BIT5 -#define PHY_ALLR BIT6 -#define PHY_ALLW BIT7 -#define PHY_TXPWR BIT8 -#define PHY_PWRDIFF BIT9 -#define PHY_SICR BIT10 -#define PHY_SICW BIT11 - -// Define MPT driver check module bit --> FMP -#define MP_RX BIT0 -#define MP_SWICH_CH BIT1 - -// Define EEPROM and EFUSE check module bit --> FEEPROM -#define EEPROM_W BIT0 -#define EFUSE_PG BIT1 -#define EFUSE_READ_ALL BIT2 -#define EFUSE_ANALYSIS BIT3 -#define EFUSE_PG_DETAIL BIT4 - -// Define power save check module bit --> FPWR -#define LPS BIT0 -#define IPS BIT1 -#define PWRSW BIT2 -#define PWRHW BIT3 -#define PWRHAL BIT4 - -// Define Dynamic Mechanism check module bit --> FDM -#define WA_IOT BIT0 -#define DM_PWDB BIT1 -#define DM_Monitor BIT2 -#define DM_DIG BIT3 -#define DM_EDCA_Turbo BIT4 -#define DM_BT30 BIT5 - -// Define Dbg Control module bit --> FDBG_CTRL -#define DBG_CTRL_TRACE BIT0 -#define DBG_CTRL_INBAND_NOISE BIT1 - -// Define FW C2H Cmd check module bit --> FC2H -#define C2H_Summary BIT0 -#define C2H_PacketData BIT1 -#define C2H_ContentData BIT2 -// Define BT Cmd check module bit --> FBT -#define BT_TRACE BIT0 -#define BT_RFPoll BIT1 - -// Define init check for module bit --> FINIT -#define INIT_EEPROM BIT0 -#define INIT_TxPower BIT1 -#define INIT_IQK BIT2 -#define INIT_RF BIT3 - -// Define IOCTL Cmd check module bit --> FIOCTL -// section 1 : IRP related -#define IOCTL_IRP BIT0 -#define IOCTL_IRP_DETAIL BIT1 -#define IOCTL_IRP_STATISTICS BIT2 -#define IOCTL_IRP_HANDLE BIT3 -// section 2 : HCI command/event -#define IOCTL_BT_HCICMD BIT8 -#define IOCTL_BT_HCICMD_DETAIL BIT9 -#define IOCTL_BT_HCICMD_EXT BIT10 -#define IOCTL_BT_EVENT BIT11 -#define IOCTL_BT_EVENT_DETAIL BIT12 -#define IOCTL_BT_EVENT_PERIODICAL BIT13 -// section 3 : BT tx/rx data and throughput -#define IOCTL_BT_TX_ACLDATA BIT16 -#define IOCTL_BT_TX_ACLDATA_DETAIL BIT17 -#define IOCTL_BT_RX_ACLDATA BIT18 -#define IOCTL_BT_RX_ACLDATA_DETAIL BIT19 -#define IOCTL_BT_TP BIT20 -// section 4 : BT connection state machine. -#define IOCTL_STATE BIT21 -#define IOCTL_BT_LOGO BIT22 -// section 5 : BT function trace -#define IOCTL_CALLBACK_FUN BIT24 -#define IOCTL_PARSE_BT_PKT BIT25 -#define IOCTL_BT_TX_PKT BIT26 -#define IOCTL_BT_FLAG_MON BIT27 - -// -// Define init check for module bit --> FSHORT_CUT -// 2011/07/20 MH Add for short but definition. -// -#define SHCUT_TX BIT0 -#define SHCUT_RX BIT1 - - -/* 2007/07/13 MH *//*------For DeBuG Print modeue------*/ -/*------------------------------Define structure----------------------------*/ - - -/*------------------------Export Marco Definition---------------------------*/ -#if (DM_ODM_SUPPORT_TYPE != ODM_MP) -#define RT_PRINTK(fmt, args...) printk( "%s(): " fmt, __FUNCTION__, ## args); - -#if DBG -#define ODM_RT_TRACE(pDM_Odm,comp, level, fmt) \ - if(((comp) & GlobalDebugComponents) && (level <= GlobalDebugLevel)) \ - { \ - RT_PRINTK fmt; \ - } - -#define RT_TRACE_F(comp, level, fmt) \ - if(((comp) & GlobalDebugComponents) && (level <= GlobalDebugLevel)) \ - { \ - RT_PRINTK fmt; \ - } - -#define RT_ASSERT(expr,fmt) \ - if(!(expr)) { \ - printk( "Assertion failed! %s at ......\n", #expr); \ - printk( " ......%s,%s,line=%d\n",__FILE__,__FUNCTION__,__LINE__); \ - } -#define dbg_enter() { printk("==> %s\n", __FUNCTION__); } -#define dbg_exit() { printk("<== %s\n", __FUNCTION__); } -#define dbg_trace(str) { printk("%s:%s\n", __FUNCTION__, str); } -#else -#define ODM_RT_TRACE(pDM_Odm,comp, level, fmt) -#define RT_TRACE_F(comp, level, fmt) -#define RT_ASSERT(expr, fmt) -#define dbg_enter() -#define dbg_exit() -#define dbg_trace(str) -#endif - -#if DBG -#define DbgPrint printk - -#define PRINT_DATA(_TitleString, _HexData, _HexDataLen) \ - { \ - char *szTitle = _TitleString; \ - pu1Byte pbtHexData = _HexData; \ - u4Byte u4bHexDataLen = _HexDataLen; \ - u4Byte __i; \ - DbgPrint("%s", szTitle); \ - for (__i=0;__i<u4bHexDataLen;__i++) \ - { \ - if ((__i & 15) == 0) \ - { \ - DbgPrint("\n"); \ - } \ - DbgPrint("%02X%s", pbtHexData[__i], ( ((__i&3)==3) ? " " : " ") ); \ - } \ - DbgPrint("\n"); \ - } - -// RT_PRINT_XXX macros: implemented for debugging purpose. -// Added by Annie, 2005-11-21. -#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) \ - if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \ - { \ - int __i; \ - pu1Byte ptr = (pu1Byte)_HexData; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - for( __i=0; __i<(int)_HexDataLen; __i++ ) \ - { \ - DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" "); \ - if (((__i + 1) % 16) == 0) DbgPrint("\n"); \ - } \ - DbgPrint("\n"); \ - } - -#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr) \ - if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \ - { \ - int __i; \ - pu1Byte ptr = (pu1Byte)_Ptr; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - DbgPrint(" "); \ - for( __i=0; __i<6; __i++ ) \ - DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \ - DbgPrint("\n"); \ - } - -#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum) \ - if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \ - { \ - int __i, __j; \ - pu1Byte ptr = (pu1Byte)_Ptr; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - DbgPrint("\n"); \ - for( __i=0; __i<(int)_AddNum; __i++ ) \ - { \ - for( __j=0; __j<6; __j++ ) \ - DbgPrint("%02X%s", ptr[__i*6+__j], (__j==5)?"":"-"); \ - DbgPrint("\n"); \ - } \ - } - -// Added by Annie, 2005-11-22. -#define MAX_STR_LEN 64 -#define PRINTABLE(_ch) (_ch>=' ' &&_ch<='~' ) // I want to see ASCII 33 to 126 only. Otherwise, I print '?'. Annie, 2005-11-22. - -#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len) \ - if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \ - { \ - int __i; \ - u1Byte buffer[MAX_STR_LEN]; \ - int length = (_Len<MAX_STR_LEN)? _Len : (MAX_STR_LEN-1) ; \ - PlatformZeroMemory( buffer, MAX_STR_LEN ); \ - PlatformMoveMemory( buffer, (pu1Byte)_Ptr, length ); \ - for( __i=0; __i<MAX_STR_LEN; __i++ ) \ - { \ - if( !PRINTABLE(buffer[__i]) ) buffer[__i] = '?'; \ - } \ - buffer[length] = '\0'; \ - DbgPrint("Rtl819x: "); \ - DbgPrint(_TitleString); \ - DbgPrint(": %d, <%s>\n", _Len, buffer); \ - } - -#else // of #if DBG -#define DbgPrint(...) -#define PRINT_DATA(_TitleString, _HexData, _HexDataLen) -#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) -#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr) -#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum) -#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len) -#endif // of #if DBG - - - -#endif // #if (DM_ODM_SUPPORT_TYPE != ODM_MP) - -#define DEBUG_PRINT 1 - -// Please add new OS's print API by yourself - -//#if (RT_PLATFORM==PLATFORM_WINDOWS) -#if (DEBUG_PRINT == 1) && DBG -#define RTPRINT(dbgtype, dbgflag, printstr)\ -{\ - if (DBGP_Type[dbgtype] & dbgflag)\ - {\ - DbgPrint printstr;\ - }\ -} - -#define RTPRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr)\ -{\ - if (DBGP_Type[dbgtype] & dbgflag)\ - {\ - int __i; \ - pu1Byte ptr = (pu1Byte)_Ptr; \ - DbgPrint printstr; \ - DbgPrint(" "); \ - for( __i=0; __i<6; __i++ ) \ - DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \ - DbgPrint("\n"); \ - }\ -} - -#define RTPRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)\ -{\ - if (DBGP_Type[dbgtype] & dbgflag)\ - {\ - int __i; \ - pu1Byte ptr = (pu1Byte)_HexData; \ - DbgPrint(_TitleString); \ - for( __i=0; __i<(int)_HexDataLen; __i++ ) \ - { \ - DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" ");\ - if (((__i + 1) % 16) == 0) DbgPrint("\n");\ - } \ - DbgPrint("\n"); \ - }\ -} -#define FuncEntry FunctionIn(COMP_FUNC) -#define FuncExit FunctionOut(COMP_FUNC) - -#define FunctionIn(_comp) ODM_RT_TRACE(pDM_Odm,(_comp), DBG_LOUD, ("==========> %s\n", __FUNCTION__)) -#define FunctionOut(_comp) ODM_RT_TRACE(pDM_Odm,(_comp), DBG_LOUD, ("<========== %s\n", __FUNCTION__)) - - -#else - -#define DBGP(dbgtype, dbgflag, printstr) -#define RTPRINT(dbgtype, dbgflag, printstr) -#define RTPRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr) -#define RTPRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen) -#define FuncEntry -#define FuncExit -#define FunctionIn(_comp) -#define FunctionOut(_comp) -#endif -/*------------------------Export Marco Definition---------------------------*/ - - -/*------------------------Export global variable----------------------------*/ -extern u4Byte DBGP_Type[DBGP_TYPE_MAX]; -extern DBGP_HEAD_T DBGP_Head; - -/*------------------------Export global variable----------------------------*/ - - -/*--------------------------Exported Function prototype---------------------*/ -extern void DBGP_Flag_Init(void); -extern void DBG_PrintAllFlag(void); -extern void DBG_PrintAllComp(void); -extern void DBG_PrintFlagEvent(u1Byte DbgFlag); -extern void DBG_DumpMem(const u1Byte DbgComp, - const u1Byte DbgLevel, - pu1Byte pMem, - u2Byte Len); - -/*--------------------------Exported Function prototype---------------------*/ - - - - - - - - - -extern u4Byte GlobalDebugLevel; -extern u8Byte GlobalDebugComponents; - - -#endif - - -#endif // __ODM_DBG_H__ - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+
+#ifndef __ODM_DBG_H__
+#define __ODM_DBG_H__
+
+
+//-----------------------------------------------------------------------------
+// Define the debug levels
+//
+// 1. DBG_TRACE and DBG_LOUD are used for normal cases.
+// So that, they can help SW engineer to develope or trace states changed
+// and also help HW enginner to trace every operation to and from HW,
+// e.g IO, Tx, Rx.
+//
+// 2. DBG_WARNNING and DBG_SERIOUS are used for unusual or error cases,
+// which help us to debug SW or HW.
+//
+//-----------------------------------------------------------------------------
+//
+// Never used in a call to ODM_RT_TRACE()!
+//
+#define ODM_DBG_OFF 1
+
+//
+// Fatal bug.
+// For example, Tx/Rx/IO locked up, OS hangs, memory access violation,
+// resource allocation failed, unexpected HW behavior, HW BUG and so on.
+//
+#define ODM_DBG_SERIOUS 2
+
+//
+// Abnormal, rare, or unexpeted cases.
+// For example, IRP/Packet/OID canceled, device suprisely unremoved and so on.
+//
+#define ODM_DBG_WARNING 3
+
+//
+// Normal case with useful information about current SW or HW state.
+// For example, Tx/Rx descriptor to fill, Tx/Rx descriptor completed status,
+// SW protocol state change, dynamic mechanism state change and so on.
+//
+#define ODM_DBG_LOUD 4
+
+//
+// Normal case with detail execution flow or information.
+//
+#define ODM_DBG_TRACE 5
+
+//-----------------------------------------------------------------------------
+// Define the tracing components
+//
+//-----------------------------------------------------------------------------
+//BB Functions
+#define ODM_COMP_DIG BIT0
+#define ODM_COMP_RA_MASK BIT1
+#define ODM_COMP_DYNAMIC_TXPWR BIT2
+#define ODM_COMP_FA_CNT BIT3
+#define ODM_COMP_RSSI_MONITOR BIT4
+#define ODM_COMP_CCK_PD BIT5
+#define ODM_COMP_ANT_DIV BIT6
+#define ODM_COMP_PWR_SAVE BIT7
+#define ODM_COMP_PWR_TRAIN BIT8
+#define ODM_COMP_RATE_ADAPTIVE BIT9
+#define ODM_COMP_PATH_DIV BIT10
+#define ODM_COMP_PSD BIT11
+#define ODM_COMP_DYNAMIC_PRICCA BIT12
+#define ODM_COMP_RXHP BIT13
+//MAC Functions
+#define ODM_COMP_EDCA_TURBO BIT16
+#define ODM_COMP_EARLY_MODE BIT17
+//RF Functions
+#define ODM_COMP_TX_PWR_TRACK BIT24
+#define ODM_COMP_RX_GAIN_TRACK BIT25
+#define ODM_COMP_CALIBRATION BIT26
+//Common Functions
+#define ODM_COMP_COMMON BIT30
+#define ODM_COMP_INIT BIT31
+
+/*------------------------Export Marco Definition---------------------------*/
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+#define RT_PRINTK DbgPrint
+#elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
+ #define DbgPrint printk
+ #define RT_PRINTK(fmt, args...) DbgPrint( "%s(): " fmt, __FUNCTION__, ## args);
+#else
+ #define DbgPrint panic_printk
+#define RT_PRINTK(fmt, args...) DbgPrint( "%s(): " fmt, __FUNCTION__, ## args);
+#endif
+
+#ifndef ASSERT
+ #define ASSERT(expr)
+#endif
+
+#if DBG
+#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt) \
+ if(((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \
+ { \
+ if(pDM_Odm->SupportICType == ODM_RTL8192C) \
+ DbgPrint("[ODM-92C] "); \
+ else if(pDM_Odm->SupportICType == ODM_RTL8192D) \
+ DbgPrint("[ODM-92D] "); \
+ else if(pDM_Odm->SupportICType == ODM_RTL8723A) \
+ DbgPrint("[ODM-8723A] "); \
+ else if(pDM_Odm->SupportICType == ODM_RTL8188E) \
+ DbgPrint("[ODM-8188E] "); \
+ else if(pDM_Odm->SupportICType == ODM_RTL8812) \
+ DbgPrint("[ODM-8812] "); \
+ else if(pDM_Odm->SupportICType == ODM_RTL8821) \
+ DbgPrint("[ODM-8821] "); \
+ RT_PRINTK fmt; \
+ }
+
+#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt) \
+ if(((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \
+ { \
+ RT_PRINTK fmt; \
+ }
+
+#define ODM_RT_ASSERT(pDM_Odm, expr, fmt) \
+ if(!(expr)) { \
+ DbgPrint( "Assertion failed! %s at ......\n", #expr); \
+ DbgPrint( " ......%s,%s,line=%d\n",__FILE__,__FUNCTION__,__LINE__); \
+ RT_PRINTK fmt; \
+ ASSERT(FALSE); \
+ }
+#define ODM_dbg_enter() { DbgPrint("==> %s\n", __FUNCTION__); }
+#define ODM_dbg_exit() { DbgPrint("<== %s\n", __FUNCTION__); }
+#define ODM_dbg_trace(str) { DbgPrint("%s:%s\n", __FUNCTION__, str); }
+
+#define ODM_PRINT_ADDR(pDM_Odm, comp, level, title_str, ptr) \
+ if(((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \
+ { \
+ int __i; \
+ pu1Byte __ptr = (pu1Byte)ptr; \
+ DbgPrint("[ODM] "); \
+ DbgPrint(title_str); \
+ DbgPrint(" "); \
+ for( __i=0; __i<6; __i++ ) \
+ DbgPrint("%02X%s", __ptr[__i], (__i==5)?"":"-"); \
+ DbgPrint("\n"); \
+ }
+#else
+#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt)
+#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt)
+#define ODM_RT_ASSERT(pDM_Odm, expr, fmt)
+#define ODM_dbg_enter()
+#define ODM_dbg_exit()
+#define ODM_dbg_trace(str)
+#define ODM_PRINT_ADDR(pDM_Odm, comp, level, title_str, ptr)
+#endif
+
+
+VOID
+ODM_InitDebugSetting(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+
+
+#if 0
+#if DBG
+#define DbgPrint printk
+
+#define PRINT_DATA(_TitleString, _HexData, _HexDataLen) \
+ { \
+ char *szTitle = _TitleString; \
+ pu1Byte pbtHexData = _HexData; \
+ u4Byte u4bHexDataLen = _HexDataLen; \
+ u4Byte __i; \
+ DbgPrint("%s", szTitle); \
+ for (__i=0;__i<u4bHexDataLen;__i++) \
+ { \
+ if ((__i & 15) == 0) \
+ { \
+ DbgPrint("\n"); \
+ } \
+ DbgPrint("%02X%s", pbtHexData[__i], ( ((__i&3)==3) ? " " : " ") ); \
+ } \
+ DbgPrint("\n"); \
+ }
+
+// RT_PRINT_XXX macros: implemented for debugging purpose.
+// Added by Annie, 2005-11-21.
+#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) \
+ if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \
+ { \
+ int __i; \
+ pu1Byte ptr = (pu1Byte)_HexData; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ for( __i=0; __i<(int)_HexDataLen; __i++ ) \
+ { \
+ DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" "); \
+ if (((__i + 1) % 16) == 0) DbgPrint("\n"); \
+ } \
+ DbgPrint("\n"); \
+ }
+
+#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr) \
+ if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \
+ { \
+ int __i; \
+ pu1Byte ptr = (pu1Byte)_Ptr; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ DbgPrint(" "); \
+ for( __i=0; __i<6; __i++ ) \
+ DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \
+ DbgPrint("\n"); \
+ }
+
+#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum) \
+ if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \
+ { \
+ int __i, __j; \
+ pu1Byte ptr = (pu1Byte)_Ptr; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ DbgPrint("\n"); \
+ for( __i=0; __i<(int)_AddNum; __i++ ) \
+ { \
+ for( __j=0; __j<6; __j++ ) \
+ DbgPrint("%02X%s", ptr[__i*6+__j], (__j==5)?"":"-"); \
+ DbgPrint("\n"); \
+ } \
+ }
+
+// Added by Annie, 2005-11-22.
+#define MAX_STR_LEN 64
+#define PRINTABLE(_ch) (_ch>=' ' &&_ch<='~' ) // I want to see ASCII 33 to 126 only. Otherwise, I print '?'. Annie, 2005-11-22.
+
+#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len) \
+ if(((_Comp) & ODM_GlobalDebugComponents) && (_Level <= ODM_GlobalDebugLevel)) \
+ { \
+ int __i; \
+ u1Byte buffer[MAX_STR_LEN]; \
+ int length = (_Len<MAX_STR_LEN)? _Len : (MAX_STR_LEN-1) ; \
+ PlatformZeroMemory( buffer, MAX_STR_LEN ); \
+ PlatformMoveMemory( buffer, (pu1Byte)_Ptr, length ); \
+ for( __i=0; __i<MAX_STR_LEN; __i++ ) \
+ { \
+ if( !PRINTABLE(buffer[__i]) ) buffer[__i] = '?'; \
+ } \
+ buffer[length] = '\0'; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ DbgPrint(": %d, <%s>\n", _Len, buffer); \
+ }
+
+#else // of #if DBG
+#define DbgPrint(...)
+#define PRINT_DATA(_TitleString, _HexData, _HexDataLen)
+#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen)
+#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr)
+#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum)
+#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len)
+#endif // of #if DBG
+
+#endif
+
+
+#if 0
+/* Define debug print header for every service module.*/
+typedef struct tag_ODM_DBGP_Service_Module_Header_Name_Structure
+{
+ const char *pMANS;
+ const char *pRTOS;
+ const char *pALM;
+ const char *pPEM;
+ const char *pCMPK;
+ const char *pRAPD;
+ const char *pTXPB;
+ const char *pQUMG;
+}ODM_DBGP_HEAD_T;
+
+
+/* Define different debug flag for dedicated service modules in debug flag array. */
+// Each module has independt 32 bit debug flag you cnn define the flag as yout require.
+typedef enum tag_ODM_DBGP_Flag_Type_Definition
+{
+ ODM_FTX = 0,
+ ODM_FRX ,
+ ODM_FPHY ,
+ ODM_FPWR ,
+ ODM_FDM ,
+ ODM_FC2H ,
+ ODM_FBT ,
+ ODM_DBGP_TYPE_MAX
+}ODM_DBGP_FLAG_E;
+
+
+// Define TX relative debug bit --> FTX
+#define ODM_TX_DESC BIT0
+#define ODM_TX_DESC_TID BIT1
+#define ODM_TX_PATH BIT2
+
+// Define RX relative debug bit --> FRX
+#define ODM_RX_DATA BIT0
+#define ODM_RX_PHY_STS BIT1
+#define ODM_RX_PHY_SS BIT2
+#define ODM_RX_PHY_SQ BIT3
+#define ODM_RX_PHY_ASTS BIT4
+#define ODM_RX_ERR_LEN BIT5
+#define ODM_RX_DEFRAG BIT6
+#define ODM_RX_ERR_RATE BIT7
+#define ODM_RX_PATH BIT8
+#define ODM_RX_BEACON BIT9
+
+// Define PHY-BB/RF/MAC check module bit --> FPHY
+#define ODM_PHY_BBR BIT0
+#define ODM_PHY_BBW BIT1
+#define ODM_PHY_RFR BIT2
+#define ODM_PHY_RFW BIT3
+#define ODM_PHY_MACR BIT4
+#define ODM_PHY_MACW BIT5
+#define ODM_PHY_ALLR BIT6
+#define ODM_PHY_ALLW BIT7
+#define ODM_PHY_TXPWR BIT8
+#define ODM_PHY_PWRDIFF BIT9
+#define ODM_PHY_SICR BIT10
+#define ODM_PHY_SICW BIT11
+
+
+
+
+extern u4Byte ODM_GlobalDebugLevel;
+
+
+#if DBG
+extern u8Byte ODM_GlobalDebugComponents;
+#endif
+#endif
+#if 0
+
+//-----------------------------------------------------------------------------
+// Define the debug levels
+//
+// 1. DBG_TRACE and DBG_LOUD are used for normal cases.
+// So that, they can help SW engineer to develope or trace states changed
+// and also help HW enginner to trace every operation to and from HW,
+// e.g IO, Tx, Rx.
+//
+// 2. DBG_WARNNING and DBG_SERIOUS are used for unusual or error cases,
+// which help us to debug SW or HW.
+//
+//-----------------------------------------------------------------------------
+//
+// Never used in a call to ODM_RT_TRACE(pDM_Odm,)!
+//
+#define DBG_OFF 0
+
+//
+// Deprecated! Don't use it!
+// TODO: fix related debug message!
+//
+//#define DBG_SEC 1
+
+//
+// Fatal bug.
+// For example, Tx/Rx/IO locked up, OS hangs, memory access violation,
+// resource allocation failed, unexpected HW behavior, HW BUG and so on.
+//
+#define DBG_SERIOUS 2
+
+//
+// Abnormal, rare, or unexpeted cases.
+// For example, IRP/Packet/OID canceled, device suprisely unremoved and so on.
+//
+#define DBG_WARNING 3
+
+//
+// Normal case with useful information about current SW or HW state.
+// For example, Tx/Rx descriptor to fill, Tx/Rx descriptor completed status,
+// SW protocol state change, dynamic mechanism state change and so on.
+//
+#define DBG_LOUD 4
+
+//
+// Normal case with detail execution flow or information.
+//
+#define DBG_TRACE 5
+
+
+
+//-----------------------------------------------------------------------------
+// Define the tracing components
+//
+//-----------------------------------------------------------------------------
+#define COMP_TRACE BIT0 // For function call tracing.
+#define COMP_DBG BIT1 // Only for temporary debug message.
+#define COMP_INIT BIT2 // during driver initialization / halt / reset.
+#define COMP_OID_QUERY BIT3 // Query OID.
+#define COMP_OID_SET BIT4 // Set OID.
+#define COMP_RECV BIT5 // Reveive part data path.
+#define COMP_SEND BIT6 // Send part path.
+#define COMP_IO BIT7 // I/O Related. Added by Annie, 2006-03-02.
+#define COMP_POWER BIT8 // 802.11 Power Save mode or System/Device Power state related.
+#define COMP_MLME BIT9 // 802.11 link related: join/start BSS, leave BSS.
+#define COMP_SCAN BIT10 // For site survey.
+#define COMP_SYSTEM BIT11 // For general platform function.
+#define COMP_SEC BIT12 // For Security.
+#define COMP_AP BIT13 // For AP mode related.
+#define COMP_TURBO BIT14 // For Turbo Mode related. By Annie, 2005-10-21.
+#define COMP_QOS BIT15 // For QoS.
+#define COMP_AUTHENTICATOR BIT16 // For AP mode Authenticator. Added by Annie, 2006-01-30.
+#define COMP_BEACON BIT17 // For Beacon related, by rcnjko.
+#define COMP_ANTENNA BIT18 // For Antenna diversity related, by rcnjko.
+#define COMP_RATE BIT19 // For Rate Adaptive mechanism, 2006.07.02, by rcnjko. #define COMP_EVENTS 0x00000080 // Event handling
+#define COMP_EVENTS BIT20 // Event handling
+#define COMP_FPGA BIT21 // For FPGA verfication
+#define COMP_RM BIT22 // For Radio Measurement.
+#define COMP_MP BIT23 // For mass production test, by shien chang, 2006.07.13
+#define COMP_RXDESC BIT24 // Show Rx desc information for SD3 debug. Added by Annie, 2006-07-15.
+#define COMP_CKIP BIT25 // For CCX 1 S13: CKIP. Added by Annie, 2006-08-14.
+#define COMP_DIG BIT26 // For DIG, 2006.09.25, by rcnjko.
+#define COMP_TXAGC BIT27 // For Tx power, 060928, by rcnjko.
+#define COMP_HIPWR BIT28 // For High Power Mechanism, 060928, by rcnjko.
+#define COMP_HALDM BIT29 // For HW Dynamic Mechanism, 061010, by rcnjko.
+#define COMP_RSNA BIT30 // For RSNA IBSS , 061201, by CCW.
+#define COMP_INDIC BIT31 // For link indication
+#define COMP_LED BIT32 // For LED.
+#define COMP_RF BIT33 // For RF.
+//1!!!!!!!!!!!!!!!!!!!!!!!!!!!
+//1//1Attention Please!!!<11n or 8190 specific code should be put below this line>
+//1!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+#define COMP_HT BIT34 // For 802.11n HT related information. by Emily 2006-8-11
+#define COMP_POWER_TRACKING BIT35 //FOR 8190 TX POWER TRACKING
+#define COMP_RX_REORDER BIT36 // 8190 Rx Reorder
+#define COMP_AMSDU BIT37 // For A-MSDU Debugging
+#define COMP_WPS BIT38 //WPS Debug Message
+#define COMP_RATR BIT39
+#define COMP_RESET BIT40
+// For debug command to print on dbgview!!
+#define COMP_CMD BIT41
+#define COMP_EFUSE BIT42
+#define COMP_MESH_INTERWORKING BIT43
+#define COMP_CCX BIT44 //CCX Debug Flag
+#define COMP_IOCTL BIT45 // IO Control
+#define COMP_GP BIT46 // For generic parser.
+#define COMP_TXAGG BIT47
+#define COMP_HVL BIT48 // For Ndis 6.2 Context Swirch and Hardware Virtualiztion Layer
+#define COMP_TEST BIT49
+#define COMP_BB_POWERSAVING BIT50
+#define COMP_SWAS BIT51 // For SW Antenna Switch
+#define COMP_P2P BIT52
+#define COMP_MUX BIT53
+#define COMP_FUNC BIT54
+#define COMP_TDLS BIT55
+#define COMP_OMNIPEEK BIT56
+#define COMP_DUALMACSWITCH BIT60 // 2010/12/27 Add for Dual mac mode debug
+#define COMP_EASY_CONCURRENT BIT61 // 2010/12/27 Add for easy cncurrent mode debug
+#define COMP_PSD BIT63 //2011/3/9 Add for WLAN PSD for BT AFH
+
+#define COMP_DFS BIT62
+
+#define COMP_ALL UINT64_C(0xFFFFFFFFFFFFFFFF) // All components
+// For debug print flag to use
+/*------------------------------Define structure----------------------------*/
+/* 2007/07/13 MH *//*------For DeBuG Print modeue------*/
+
+/* Defnie structure to store different debug flag variable. Every debug flag
+ is a UINT32 integer and you can assign 32 different events. */
+typedef struct tag_DBGP_Debug_Flag_Structure
+{
+ u4Byte Mans; /* Main Scheduler module. */
+ u4Byte Rtos; /* RTOS module. */
+ u4Byte Alarm; /* Alarm module. */
+ u4Byte Pm; /* Performance monitor module. */
+}DBGP_FLAG_T;
+
+/* Define debug print header for every service module.*/
+typedef struct tag_DBGP_Service_Module_Header_Name_Structure
+{
+ const char *pMANS;
+ const char *pRTOS;
+ const char *pALM;
+ const char *pPEM;
+ const char *pCMPK;
+ const char *pRAPD;
+ const char *pTXPB;
+ const char *pQUMG;
+}DBGP_HEAD_T;
+
+
+/* Define different debug flag for dedicated service modules in debug flag array. */
+// Each module has independt 32 bit debug flag you cnn define the flag as yout require.
+typedef enum tag_DBGP_Flag_Type_Definition
+{
+ FQoS = 0,
+ FTX = 1,
+ FRX = 2,
+ FSEC = 3,
+ FMGNT = 4,
+ FMLME = 5,
+ FRESOURCE = 6,
+ FBEACON = 7,
+ FISR = 8,
+ FPHY = 9,
+ FMP = 10,
+ FEEPROM = 11,
+ FPWR = 12,
+ FDM = 13,
+ FDBG_CTRL = 14,
+ FC2H = 15,
+ FBT = 16,
+ FINIT = 17,
+ FIOCTL = 18,
+ FSHORT_CUT = 19,
+ DBGP_TYPE_MAX
+}DBGP_FLAG_E;
+
+
+// Define Qos Relative debug flag bit --> FQoS
+#define QoS_INIT BIT0
+#define QoS_VISTA BIT1
+
+// Define TX relative debug bit --> FTX
+#define TX_DESC BIT0
+#define TX_DESC_TID BIT1
+#define TX_PATH BIT2
+
+// Define RX relative debug bit --> FRX
+#define RX_DATA BIT0
+#define RX_PHY_STS BIT1
+#define RX_PHY_SS BIT2
+#define RX_PHY_SQ BIT3
+#define RX_PHY_ASTS BIT4
+#define RX_ERR_LEN BIT5
+#define RX_DEFRAG BIT6
+#define RX_ERR_RATE BIT7
+#define RX_PATH BIT8
+#define RX_BEACON BIT9
+
+// Define Security relative debug bit --> FSEC
+
+// Define MGNT relative debug bit --> FMGNT
+
+// Define MLME relative debug bit --> FMLME
+#define MEDIA_STS BIT0
+#define LINK_STS BIT1
+
+// Define OS resource check module bit --> FRESOURCE
+#define OS_CHK BIT0
+
+// Define beacon content check module bit --> FBEACON
+#define BCN_SHOW BIT0
+#define BCN_PEER BIT1
+
+// Define ISR/IMR check module bit --> FISR
+#define ISR_CHK BIT0
+
+// Define PHY-BB/RF/MAC check module bit --> FPHY
+#define PHY_BBR BIT0
+#define PHY_BBW BIT1
+#define PHY_RFR BIT2
+#define PHY_RFW BIT3
+#define PHY_MACR BIT4
+#define PHY_MACW BIT5
+#define PHY_ALLR BIT6
+#define PHY_ALLW BIT7
+#define PHY_TXPWR BIT8
+#define PHY_PWRDIFF BIT9
+#define PHY_SICR BIT10
+#define PHY_SICW BIT11
+
+// Define MPT driver check module bit --> FMP
+#define MP_RX BIT0
+#define MP_SWICH_CH BIT1
+
+// Define EEPROM and EFUSE check module bit --> FEEPROM
+#define EEPROM_W BIT0
+#define EFUSE_PG BIT1
+#define EFUSE_READ_ALL BIT2
+#define EFUSE_ANALYSIS BIT3
+#define EFUSE_PG_DETAIL BIT4
+
+// Define power save check module bit --> FPWR
+#define LPS BIT0
+#define IPS BIT1
+#define PWRSW BIT2
+#define PWRHW BIT3
+#define PWRHAL BIT4
+
+// Define Dynamic Mechanism check module bit --> FDM
+#define WA_IOT BIT0
+#define DM_PWDB BIT1
+#define DM_Monitor BIT2
+#define DM_DIG BIT3
+#define DM_EDCA_Turbo BIT4
+#define DM_BT30 BIT5
+
+// Define Dbg Control module bit --> FDBG_CTRL
+#define DBG_CTRL_TRACE BIT0
+#define DBG_CTRL_INBAND_NOISE BIT1
+
+// Define FW C2H Cmd check module bit --> FC2H
+#define C2H_Summary BIT0
+#define C2H_PacketData BIT1
+#define C2H_ContentData BIT2
+// Define BT Cmd check module bit --> FBT
+#define BT_TRACE BIT0
+#define BT_RFPoll BIT1
+
+// Define init check for module bit --> FINIT
+#define INIT_EEPROM BIT0
+#define INIT_TxPower BIT1
+#define INIT_IQK BIT2
+#define INIT_RF BIT3
+
+// Define IOCTL Cmd check module bit --> FIOCTL
+// section 1 : IRP related
+#define IOCTL_IRP BIT0
+#define IOCTL_IRP_DETAIL BIT1
+#define IOCTL_IRP_STATISTICS BIT2
+#define IOCTL_IRP_HANDLE BIT3
+// section 2 : HCI command/event
+#define IOCTL_BT_HCICMD BIT8
+#define IOCTL_BT_HCICMD_DETAIL BIT9
+#define IOCTL_BT_HCICMD_EXT BIT10
+#define IOCTL_BT_EVENT BIT11
+#define IOCTL_BT_EVENT_DETAIL BIT12
+#define IOCTL_BT_EVENT_PERIODICAL BIT13
+// section 3 : BT tx/rx data and throughput
+#define IOCTL_BT_TX_ACLDATA BIT16
+#define IOCTL_BT_TX_ACLDATA_DETAIL BIT17
+#define IOCTL_BT_RX_ACLDATA BIT18
+#define IOCTL_BT_RX_ACLDATA_DETAIL BIT19
+#define IOCTL_BT_TP BIT20
+// section 4 : BT connection state machine.
+#define IOCTL_STATE BIT21
+#define IOCTL_BT_LOGO BIT22
+// section 5 : BT function trace
+#define IOCTL_CALLBACK_FUN BIT24
+#define IOCTL_PARSE_BT_PKT BIT25
+#define IOCTL_BT_TX_PKT BIT26
+#define IOCTL_BT_FLAG_MON BIT27
+
+//
+// Define init check for module bit --> FSHORT_CUT
+// 2011/07/20 MH Add for short but definition.
+//
+#define SHCUT_TX BIT0
+#define SHCUT_RX BIT1
+
+
+/* 2007/07/13 MH *//*------For DeBuG Print modeue------*/
+/*------------------------------Define structure----------------------------*/
+
+
+/*------------------------Export Marco Definition---------------------------*/
+#if (DM_ODM_SUPPORT_TYPE != ODM_MP)
+#define RT_PRINTK(fmt, args...) printk( "%s(): " fmt, __FUNCTION__, ## args);
+
+#if DBG
+#define ODM_RT_TRACE(pDM_Odm,comp, level, fmt) \
+ if(((comp) & GlobalDebugComponents) && (level <= GlobalDebugLevel)) \
+ { \
+ RT_PRINTK fmt; \
+ }
+
+#define RT_TRACE_F(comp, level, fmt) \
+ if(((comp) & GlobalDebugComponents) && (level <= GlobalDebugLevel)) \
+ { \
+ RT_PRINTK fmt; \
+ }
+
+#define RT_ASSERT(expr,fmt) \
+ if(!(expr)) { \
+ printk( "Assertion failed! %s at ......\n", #expr); \
+ printk( " ......%s,%s,line=%d\n",__FILE__,__FUNCTION__,__LINE__); \
+ }
+#define dbg_enter() { printk("==> %s\n", __FUNCTION__); }
+#define dbg_exit() { printk("<== %s\n", __FUNCTION__); }
+#define dbg_trace(str) { printk("%s:%s\n", __FUNCTION__, str); }
+#else
+#define ODM_RT_TRACE(pDM_Odm,comp, level, fmt)
+#define RT_TRACE_F(comp, level, fmt)
+#define RT_ASSERT(expr, fmt)
+#define dbg_enter()
+#define dbg_exit()
+#define dbg_trace(str)
+#endif
+
+#if DBG
+#define DbgPrint printk
+
+#define PRINT_DATA(_TitleString, _HexData, _HexDataLen) \
+ { \
+ char *szTitle = _TitleString; \
+ pu1Byte pbtHexData = _HexData; \
+ u4Byte u4bHexDataLen = _HexDataLen; \
+ u4Byte __i; \
+ DbgPrint("%s", szTitle); \
+ for (__i=0;__i<u4bHexDataLen;__i++) \
+ { \
+ if ((__i & 15) == 0) \
+ { \
+ DbgPrint("\n"); \
+ } \
+ DbgPrint("%02X%s", pbtHexData[__i], ( ((__i&3)==3) ? " " : " ") ); \
+ } \
+ DbgPrint("\n"); \
+ }
+
+// RT_PRINT_XXX macros: implemented for debugging purpose.
+// Added by Annie, 2005-11-21.
+#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) \
+ if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \
+ { \
+ int __i; \
+ pu1Byte ptr = (pu1Byte)_HexData; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ for( __i=0; __i<(int)_HexDataLen; __i++ ) \
+ { \
+ DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" "); \
+ if (((__i + 1) % 16) == 0) DbgPrint("\n"); \
+ } \
+ DbgPrint("\n"); \
+ }
+
+#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr) \
+ if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \
+ { \
+ int __i; \
+ pu1Byte ptr = (pu1Byte)_Ptr; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ DbgPrint(" "); \
+ for( __i=0; __i<6; __i++ ) \
+ DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \
+ DbgPrint("\n"); \
+ }
+
+#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum) \
+ if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \
+ { \
+ int __i, __j; \
+ pu1Byte ptr = (pu1Byte)_Ptr; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ DbgPrint("\n"); \
+ for( __i=0; __i<(int)_AddNum; __i++ ) \
+ { \
+ for( __j=0; __j<6; __j++ ) \
+ DbgPrint("%02X%s", ptr[__i*6+__j], (__j==5)?"":"-"); \
+ DbgPrint("\n"); \
+ } \
+ }
+
+// Added by Annie, 2005-11-22.
+#define MAX_STR_LEN 64
+#define PRINTABLE(_ch) (_ch>=' ' &&_ch<='~' ) // I want to see ASCII 33 to 126 only. Otherwise, I print '?'. Annie, 2005-11-22.
+
+#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len) \
+ if(((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \
+ { \
+ int __i; \
+ u1Byte buffer[MAX_STR_LEN]; \
+ int length = (_Len<MAX_STR_LEN)? _Len : (MAX_STR_LEN-1) ; \
+ PlatformZeroMemory( buffer, MAX_STR_LEN ); \
+ PlatformMoveMemory( buffer, (pu1Byte)_Ptr, length ); \
+ for( __i=0; __i<MAX_STR_LEN; __i++ ) \
+ { \
+ if( !PRINTABLE(buffer[__i]) ) buffer[__i] = '?'; \
+ } \
+ buffer[length] = '\0'; \
+ DbgPrint("Rtl819x: "); \
+ DbgPrint(_TitleString); \
+ DbgPrint(": %d, <%s>\n", _Len, buffer); \
+ }
+
+#else // of #if DBG
+#define DbgPrint(...)
+#define PRINT_DATA(_TitleString, _HexData, _HexDataLen)
+#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen)
+#define RT_PRINT_ADDR(_Comp, _Level, _TitleString, _Ptr)
+#define RT_PRINT_ADDRS(_Comp, _Level, _TitleString, _Ptr, _AddNum)
+#define RT_PRINT_STR(_Comp, _Level, _TitleString, _Ptr, _Len)
+#endif // of #if DBG
+
+
+
+#endif // #if (DM_ODM_SUPPORT_TYPE != ODM_MP)
+
+#define DEBUG_PRINT 1
+
+// Please add new OS's print API by yourself
+
+//#if (RT_PLATFORM==PLATFORM_WINDOWS)
+#if (DEBUG_PRINT == 1) && DBG
+#define RTPRINT(dbgtype, dbgflag, printstr)\
+{\
+ if (DBGP_Type[dbgtype] & dbgflag)\
+ {\
+ DbgPrint printstr;\
+ }\
+}
+
+#define RTPRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr)\
+{\
+ if (DBGP_Type[dbgtype] & dbgflag)\
+ {\
+ int __i; \
+ pu1Byte ptr = (pu1Byte)_Ptr; \
+ DbgPrint printstr; \
+ DbgPrint(" "); \
+ for( __i=0; __i<6; __i++ ) \
+ DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \
+ DbgPrint("\n"); \
+ }\
+}
+
+#define RTPRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)\
+{\
+ if (DBGP_Type[dbgtype] & dbgflag)\
+ {\
+ int __i; \
+ pu1Byte ptr = (pu1Byte)_HexData; \
+ DbgPrint(_TitleString); \
+ for( __i=0; __i<(int)_HexDataLen; __i++ ) \
+ { \
+ DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" ");\
+ if (((__i + 1) % 16) == 0) DbgPrint("\n");\
+ } \
+ DbgPrint("\n"); \
+ }\
+}
+#define FuncEntry FunctionIn(COMP_FUNC)
+#define FuncExit FunctionOut(COMP_FUNC)
+
+#define FunctionIn(_comp) ODM_RT_TRACE(pDM_Odm,(_comp), DBG_LOUD, ("==========> %s\n", __FUNCTION__))
+#define FunctionOut(_comp) ODM_RT_TRACE(pDM_Odm,(_comp), DBG_LOUD, ("<========== %s\n", __FUNCTION__))
+
+
+#else
+
+#define DBGP(dbgtype, dbgflag, printstr)
+#define RTPRINT(dbgtype, dbgflag, printstr)
+#define RTPRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr)
+#define RTPRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)
+#define FuncEntry
+#define FuncExit
+#define FunctionIn(_comp)
+#define FunctionOut(_comp)
+#endif
+/*------------------------Export Marco Definition---------------------------*/
+
+
+/*------------------------Export global variable----------------------------*/
+extern u4Byte DBGP_Type[DBGP_TYPE_MAX];
+extern DBGP_HEAD_T DBGP_Head;
+
+/*------------------------Export global variable----------------------------*/
+
+
+/*--------------------------Exported Function prototype---------------------*/
+extern void DBGP_Flag_Init(void);
+extern void DBG_PrintAllFlag(void);
+extern void DBG_PrintAllComp(void);
+extern void DBG_PrintFlagEvent(u1Byte DbgFlag);
+extern void DBG_DumpMem(const u1Byte DbgComp,
+ const u1Byte DbgLevel,
+ pu1Byte pMem,
+ u2Byte Len);
+
+/*--------------------------Exported Function prototype---------------------*/
+
+
+
+
+
+
+
+
+
+extern u4Byte GlobalDebugLevel;
+extern u8Byte GlobalDebugComponents;
+
+
+#endif
+
+
+#endif // __ODM_DBG_H__
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.c index 2e56b50032b3..7f6dd58bced1 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.c @@ -1,666 +1,666 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -//============================================================ -// include files -//============================================================ - -#include "odm_precomp.h" -// -// ODM IO Relative API. -// - -u1Byte -ODM_Read1Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - prtl8192cd_priv priv = pDM_Odm->priv; - return RTL_R8(RegAddr); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - PADAPTER Adapter = pDM_Odm->Adapter; - return rtw_read8(Adapter,RegAddr); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - return PlatformEFIORead1Byte(Adapter, RegAddr); -#endif - -} - - -u2Byte -ODM_Read2Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - prtl8192cd_priv priv = pDM_Odm->priv; - return RTL_R16(RegAddr); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - PADAPTER Adapter = pDM_Odm->Adapter; - return rtw_read16(Adapter,RegAddr); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - return PlatformEFIORead2Byte(Adapter, RegAddr); -#endif - -} - - -u4Byte -ODM_Read4Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - prtl8192cd_priv priv = pDM_Odm->priv; - return RTL_R32(RegAddr); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - PADAPTER Adapter = pDM_Odm->Adapter; - return rtw_read32(Adapter,RegAddr); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - return PlatformEFIORead4Byte(Adapter, RegAddr); -#endif - -} - - -VOID -ODM_Write1Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u1Byte Data - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - prtl8192cd_priv priv = pDM_Odm->priv; - RTL_W8(RegAddr, Data); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - PADAPTER Adapter = pDM_Odm->Adapter; - rtw_write8(Adapter,RegAddr, Data); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformEFIOWrite1Byte(Adapter, RegAddr, Data); -#endif - -} - - -VOID -ODM_Write2Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u2Byte Data - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - prtl8192cd_priv priv = pDM_Odm->priv; - RTL_W16(RegAddr, Data); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - PADAPTER Adapter = pDM_Odm->Adapter; - rtw_write16(Adapter,RegAddr, Data); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformEFIOWrite2Byte(Adapter, RegAddr, Data); -#endif - -} - - -VOID -ODM_Write4Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte Data - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - prtl8192cd_priv priv = pDM_Odm->priv; - RTL_W32(RegAddr, Data); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - PADAPTER Adapter = pDM_Odm->Adapter; - rtw_write32(Adapter,RegAddr, Data); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformEFIOWrite4Byte(Adapter, RegAddr, Data); -#endif - -} - - -VOID -ODM_SetMACReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask, - IN u4Byte Data - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - PHY_SetBBReg(pDM_Odm->priv, RegAddr, BitMask, Data); -#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) - PADAPTER Adapter = pDM_Odm->Adapter; - PHY_SetBBReg(Adapter, RegAddr, BitMask, Data); -#endif -} - - -u4Byte -ODM_GetMACReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - return PHY_QueryBBReg(pDM_Odm->priv, RegAddr, BitMask); -#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) - PADAPTER Adapter = pDM_Odm->Adapter; - return PHY_QueryBBReg(Adapter, RegAddr, BitMask); -#endif -} - - -VOID -ODM_SetBBReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask, - IN u4Byte Data - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - PHY_SetBBReg(pDM_Odm->priv, RegAddr, BitMask, Data); -#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) - PADAPTER Adapter = pDM_Odm->Adapter; - PHY_SetBBReg(Adapter, RegAddr, BitMask, Data); -#endif -} - - -u4Byte -ODM_GetBBReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - return PHY_QueryBBReg(pDM_Odm->priv, RegAddr, BitMask); -#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) - PADAPTER Adapter = pDM_Odm->Adapter; - return PHY_QueryBBReg(Adapter, RegAddr, BitMask); -#endif -} - - -VOID -ODM_SetRFReg( - IN PDM_ODM_T pDM_Odm, - IN ODM_RF_RADIO_PATH_E eRFPath, - IN u4Byte RegAddr, - IN u4Byte BitMask, - IN u4Byte Data - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - PHY_SetRFReg(pDM_Odm->priv, eRFPath, RegAddr, BitMask, Data); -#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) - PADAPTER Adapter = pDM_Odm->Adapter; - PHY_SetRFReg(Adapter, eRFPath, RegAddr, BitMask, Data); -#endif -} - - -u4Byte -ODM_GetRFReg( - IN PDM_ODM_T pDM_Odm, - IN ODM_RF_RADIO_PATH_E eRFPath, - IN u4Byte RegAddr, - IN u4Byte BitMask - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - return PHY_QueryRFReg(pDM_Odm->priv, eRFPath, RegAddr, BitMask, 1); -#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP)) - PADAPTER Adapter = pDM_Odm->Adapter; - return PHY_QueryRFReg(Adapter, eRFPath, RegAddr, BitMask); -#endif -} - - - - -// -// ODM Memory relative API. -// -VOID -ODM_AllocateMemory( - IN PDM_ODM_T pDM_Odm, - OUT PVOID *pPtr, - IN u4Byte length - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - *pPtr = kmalloc(length, GFP_ATOMIC); -#elif (DM_ODM_SUPPORT_TYPE & ODM_CE ) - *pPtr = rtw_zvmalloc(length); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformAllocateMemory(Adapter, pPtr, length); -#endif -} - -// length could be ignored, used to detect memory leakage. -VOID -ODM_FreeMemory( - IN PDM_ODM_T pDM_Odm, - OUT PVOID pPtr, - IN u4Byte length - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - kfree(pPtr); -#elif (DM_ODM_SUPPORT_TYPE & ODM_CE ) - rtw_vmfree(pPtr, length); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - //PADAPTER Adapter = pDM_Odm->Adapter; - PlatformFreeMemory(pPtr, length); -#endif -} -s4Byte ODM_CompareMemory( - IN PDM_ODM_T pDM_Odm, - IN PVOID pBuf1, - IN PVOID pBuf2, - IN u4Byte length - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - return memcmp(pBuf1,pBuf2,length); -#elif (DM_ODM_SUPPORT_TYPE & ODM_CE ) - return _rtw_memcmp(pBuf1,pBuf2,length); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - return PlatformCompareMemory(pBuf1,pBuf2,length); -#endif -} - - - -// -// ODM MISC relative API. -// -VOID -ODM_AcquireSpinLock( - IN PDM_ODM_T pDM_Odm, - IN RT_SPINLOCK_TYPE type - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif (DM_ODM_SUPPORT_TYPE & ODM_CE ) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformAcquireSpinLock(Adapter, type); -#endif -} -VOID -ODM_ReleaseSpinLock( - IN PDM_ODM_T pDM_Odm, - IN RT_SPINLOCK_TYPE type - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif (DM_ODM_SUPPORT_TYPE & ODM_CE ) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformReleaseSpinLock(Adapter, type); -#endif -} - -// -// Work item relative API. FOr MP driver only~! -// -VOID -ODM_InitializeWorkItem( - IN PDM_ODM_T pDM_Odm, - IN PRT_WORK_ITEM pRtWorkItem, - IN RT_WORKITEM_CALL_BACK RtWorkItemCallback, - IN PVOID pContext, - IN const char* szID - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformInitializeWorkItem(Adapter, pRtWorkItem, RtWorkItemCallback, pContext, szID); -#endif -} - - -VOID -ODM_StartWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PlatformStartWorkItem(pRtWorkItem); -#endif -} - - -VOID -ODM_StopWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PlatformStopWorkItem(pRtWorkItem); -#endif -} - - -VOID -ODM_FreeWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PlatformFreeWorkItem(pRtWorkItem); -#endif -} - - -VOID -ODM_ScheduleWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PlatformScheduleWorkItem(pRtWorkItem); -#endif -} - - -VOID -ODM_IsWorkItemScheduled( - IN PRT_WORK_ITEM pRtWorkItem - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PlatformIsWorkItemScheduled(pRtWorkItem); -#endif -} - - - -// -// ODM Timer relative API. -// -VOID -ODM_StallExecution( - IN u4Byte usDelay - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - rtw_udelay_os(usDelay); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PlatformStallExecution(usDelay); -#endif -} - -VOID -ODM_delay_ms(IN u4Byte ms) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - delay_ms(ms); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - rtw_mdelay_os(ms); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - delay_ms(ms); -#endif -} - -VOID -ODM_delay_us(IN u4Byte us) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - delay_us(us); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - rtw_udelay_os(us); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PlatformStallExecution(us); -#endif -} - -VOID -ODM_sleep_ms(IN u4Byte ms) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - rtw_msleep_os(ms); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) -#endif -} - -VOID -ODM_sleep_us(IN u4Byte us) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - rtw_usleep_os(us); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) -#endif -} - -VOID -ODM_SetTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer, - IN u4Byte msDelay - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - mod_timer(pTimer, jiffies + (msDelay+9)/10); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - _set_timer(pTimer,msDelay ); //ms -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformSetTimer(Adapter, pTimer, msDelay); -#endif - -} - -VOID -ODM_InitializeTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer, - IN RT_TIMER_CALL_BACK CallBackFunc, - IN PVOID pContext, - IN const char* szID - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - pTimer->function = CallBackFunc; - pTimer->data = (unsigned long)pDM_Odm; - init_timer(pTimer); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - PADAPTER Adapter = pDM_Odm->Adapter; - _init_timer(pTimer,Adapter->pnetdev,CallBackFunc,pDM_Odm); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformInitializeTimer(Adapter, pTimer, CallBackFunc,pContext,szID); -#endif -} - - -VOID -ODM_CancelTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - del_timer_sync(pTimer); -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - _cancel_timer_ex(pTimer); -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - PADAPTER Adapter = pDM_Odm->Adapter; - PlatformCancelTimer(Adapter, pTimer); -#endif -} - - -VOID -ODM_ReleaseTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - - PADAPTER Adapter = pDM_Odm->Adapter; - - // <20120301, Kordan> If the initilization fails, InitializeAdapterXxx will return regardless of InitHalDm. - // Hence, uninitialized timers cause BSOD when the driver releases resources since the init fail. - if (pTimer == 0) - { - ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_SERIOUS, ("=====>ODM_ReleaseTimer(), The timer is NULL! Please check it!\n")); - return; - } - - PlatformReleaseTimer(Adapter, pTimer); -#endif -} - - -// -// ODM FW relative API. -// -#if (DM_ODM_SUPPORT_TYPE & ODM_MP) -VOID -ODM_FillH2CCmd( - IN PADAPTER Adapter, - IN u1Byte ElementID, - IN u4Byte CmdLen, - IN pu1Byte pCmdBuffer -) -{ - if(IS_HARDWARE_TYPE_JAGUAR(Adapter)) - { - switch(ElementID) - { - case ODM_H2C_RSSI_REPORT: - FillH2CCmd8812(Adapter, H2C_8812_RSSI_REPORT, CmdLen, pCmdBuffer); - default: - break; - } - - } - else if(IS_HARDWARE_TYPE_8188E(Adapter)) - { - switch(ElementID) - { - case ODM_H2C_PSD_RESULT: - FillH2CCmd88E(Adapter, H2C_88E_PSD_RESULT, CmdLen, pCmdBuffer); - default: - break; - } - } - else - { - switch(ElementID) - { - case ODM_H2C_RSSI_REPORT: - FillH2CCmd92C(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer); - case ODM_H2C_PSD_RESULT: - FillH2CCmd92C(Adapter, H2C_92C_PSD_RESULT, CmdLen, pCmdBuffer); - default: - break; - } - } -} -#else -u4Byte -ODM_FillH2CCmd( - IN pu1Byte pH2CBuffer, - IN u4Byte H2CBufferLen, - IN u4Byte CmdNum, - IN pu4Byte pElementID, - IN pu4Byte pCmdLen, - IN pu1Byte* pCmbBuffer, - IN pu1Byte CmdStartSeq - ) -{ -#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_CE) - -#elif(DM_ODM_SUPPORT_TYPE & ODM_MP) - //FillH2CCmd(pH2CBuffer, H2CBufferLen, CmdNum, pElementID, pCmdLen, pCmbBuffer, CmdStartSeq); - return FALSE; -#endif - - return TRUE; -} -#endif - - - - - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+//============================================================
+// include files
+//============================================================
+
+#include "odm_precomp.h"
+//
+// ODM IO Relative API.
+//
+
+u1Byte
+ODM_Read1Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ prtl8192cd_priv priv = pDM_Odm->priv;
+ return RTL_R8(RegAddr);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return rtw_read8(Adapter,RegAddr);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return PlatformEFIORead1Byte(Adapter, RegAddr);
+#endif
+
+}
+
+
+u2Byte
+ODM_Read2Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ prtl8192cd_priv priv = pDM_Odm->priv;
+ return RTL_R16(RegAddr);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return rtw_read16(Adapter,RegAddr);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return PlatformEFIORead2Byte(Adapter, RegAddr);
+#endif
+
+}
+
+
+u4Byte
+ODM_Read4Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ prtl8192cd_priv priv = pDM_Odm->priv;
+ return RTL_R32(RegAddr);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return rtw_read32(Adapter,RegAddr);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return PlatformEFIORead4Byte(Adapter, RegAddr);
+#endif
+
+}
+
+
+VOID
+ODM_Write1Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u1Byte Data
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ prtl8192cd_priv priv = pDM_Odm->priv;
+ RTL_W8(RegAddr, Data);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ rtw_write8(Adapter,RegAddr, Data);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformEFIOWrite1Byte(Adapter, RegAddr, Data);
+#endif
+
+}
+
+
+VOID
+ODM_Write2Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u2Byte Data
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ prtl8192cd_priv priv = pDM_Odm->priv;
+ RTL_W16(RegAddr, Data);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ rtw_write16(Adapter,RegAddr, Data);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformEFIOWrite2Byte(Adapter, RegAddr, Data);
+#endif
+
+}
+
+
+VOID
+ODM_Write4Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte Data
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ prtl8192cd_priv priv = pDM_Odm->priv;
+ RTL_W32(RegAddr, Data);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ rtw_write32(Adapter,RegAddr, Data);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformEFIOWrite4Byte(Adapter, RegAddr, Data);
+#endif
+
+}
+
+
+VOID
+ODM_SetMACReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask,
+ IN u4Byte Data
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ PHY_SetBBReg(pDM_Odm->priv, RegAddr, BitMask, Data);
+#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PHY_SetBBReg(Adapter, RegAddr, BitMask, Data);
+#endif
+}
+
+
+u4Byte
+ODM_GetMACReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ return PHY_QueryBBReg(pDM_Odm->priv, RegAddr, BitMask);
+#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return PHY_QueryBBReg(Adapter, RegAddr, BitMask);
+#endif
+}
+
+
+VOID
+ODM_SetBBReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask,
+ IN u4Byte Data
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ PHY_SetBBReg(pDM_Odm->priv, RegAddr, BitMask, Data);
+#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PHY_SetBBReg(Adapter, RegAddr, BitMask, Data);
+#endif
+}
+
+
+u4Byte
+ODM_GetBBReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ return PHY_QueryBBReg(pDM_Odm->priv, RegAddr, BitMask);
+#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return PHY_QueryBBReg(Adapter, RegAddr, BitMask);
+#endif
+}
+
+
+VOID
+ODM_SetRFReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_RF_RADIO_PATH_E eRFPath,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask,
+ IN u4Byte Data
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ PHY_SetRFReg(pDM_Odm->priv, eRFPath, RegAddr, BitMask, Data);
+#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PHY_SetRFReg(Adapter, eRFPath, RegAddr, BitMask, Data);
+#endif
+}
+
+
+u4Byte
+ODM_GetRFReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_RF_RADIO_PATH_E eRFPath,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ return PHY_QueryRFReg(pDM_Odm->priv, eRFPath, RegAddr, BitMask, 1);
+#elif(DM_ODM_SUPPORT_TYPE & (ODM_CE|ODM_MP))
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ return PHY_QueryRFReg(Adapter, eRFPath, RegAddr, BitMask);
+#endif
+}
+
+
+
+
+//
+// ODM Memory relative API.
+//
+VOID
+ODM_AllocateMemory(
+ IN PDM_ODM_T pDM_Odm,
+ OUT PVOID *pPtr,
+ IN u4Byte length
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ *pPtr = kmalloc(length, GFP_ATOMIC);
+#elif (DM_ODM_SUPPORT_TYPE & ODM_CE )
+ *pPtr = rtw_zvmalloc(length);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformAllocateMemory(Adapter, pPtr, length);
+#endif
+}
+
+// length could be ignored, used to detect memory leakage.
+VOID
+ODM_FreeMemory(
+ IN PDM_ODM_T pDM_Odm,
+ OUT PVOID pPtr,
+ IN u4Byte length
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ kfree(pPtr);
+#elif (DM_ODM_SUPPORT_TYPE & ODM_CE )
+ rtw_vmfree(pPtr, length);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ //PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformFreeMemory(pPtr, length);
+#endif
+}
+s4Byte ODM_CompareMemory(
+ IN PDM_ODM_T pDM_Odm,
+ IN PVOID pBuf1,
+ IN PVOID pBuf2,
+ IN u4Byte length
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ return memcmp(pBuf1,pBuf2,length);
+#elif (DM_ODM_SUPPORT_TYPE & ODM_CE )
+ return _rtw_memcmp(pBuf1,pBuf2,length);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ return PlatformCompareMemory(pBuf1,pBuf2,length);
+#endif
+}
+
+
+
+//
+// ODM MISC relative API.
+//
+VOID
+ODM_AcquireSpinLock(
+ IN PDM_ODM_T pDM_Odm,
+ IN RT_SPINLOCK_TYPE type
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif (DM_ODM_SUPPORT_TYPE & ODM_CE )
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformAcquireSpinLock(Adapter, type);
+#endif
+}
+VOID
+ODM_ReleaseSpinLock(
+ IN PDM_ODM_T pDM_Odm,
+ IN RT_SPINLOCK_TYPE type
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif (DM_ODM_SUPPORT_TYPE & ODM_CE )
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformReleaseSpinLock(Adapter, type);
+#endif
+}
+
+//
+// Work item relative API. FOr MP driver only~!
+//
+VOID
+ODM_InitializeWorkItem(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_WORK_ITEM pRtWorkItem,
+ IN RT_WORKITEM_CALL_BACK RtWorkItemCallback,
+ IN PVOID pContext,
+ IN const char* szID
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformInitializeWorkItem(Adapter, pRtWorkItem, RtWorkItemCallback, pContext, szID);
+#endif
+}
+
+
+VOID
+ODM_StartWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PlatformStartWorkItem(pRtWorkItem);
+#endif
+}
+
+
+VOID
+ODM_StopWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PlatformStopWorkItem(pRtWorkItem);
+#endif
+}
+
+
+VOID
+ODM_FreeWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PlatformFreeWorkItem(pRtWorkItem);
+#endif
+}
+
+
+VOID
+ODM_ScheduleWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PlatformScheduleWorkItem(pRtWorkItem);
+#endif
+}
+
+
+VOID
+ODM_IsWorkItemScheduled(
+ IN PRT_WORK_ITEM pRtWorkItem
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PlatformIsWorkItemScheduled(pRtWorkItem);
+#endif
+}
+
+
+
+//
+// ODM Timer relative API.
+//
+VOID
+ODM_StallExecution(
+ IN u4Byte usDelay
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ rtw_udelay_os(usDelay);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PlatformStallExecution(usDelay);
+#endif
+}
+
+VOID
+ODM_delay_ms(IN u4Byte ms)
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ delay_ms(ms);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ rtw_mdelay_os(ms);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ delay_ms(ms);
+#endif
+}
+
+VOID
+ODM_delay_us(IN u4Byte us)
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ delay_us(us);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ rtw_udelay_os(us);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PlatformStallExecution(us);
+#endif
+}
+
+VOID
+ODM_sleep_ms(IN u4Byte ms)
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ rtw_msleep_os(ms);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+#endif
+}
+
+VOID
+ODM_sleep_us(IN u4Byte us)
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ rtw_usleep_os(us);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+#endif
+}
+
+VOID
+ODM_SetTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer,
+ IN u4Byte msDelay
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ mod_timer(pTimer, jiffies + (msDelay+9)/10);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ _set_timer(pTimer,msDelay ); //ms
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformSetTimer(Adapter, pTimer, msDelay);
+#endif
+
+}
+
+VOID
+ODM_InitializeTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer,
+ IN RT_TIMER_CALL_BACK CallBackFunc,
+ IN PVOID pContext,
+ IN const char* szID
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ pTimer->function = CallBackFunc;
+ pTimer->data = (unsigned long)pDM_Odm;
+ init_timer(pTimer);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ _init_timer(pTimer,Adapter->pnetdev,CallBackFunc,pDM_Odm);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformInitializeTimer(Adapter, pTimer, CallBackFunc,pContext,szID);
+#endif
+}
+
+
+VOID
+ODM_CancelTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+ del_timer_sync(pTimer);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+ _cancel_timer_ex(pTimer);
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ PADAPTER Adapter = pDM_Odm->Adapter;
+ PlatformCancelTimer(Adapter, pTimer);
+#endif
+}
+
+
+VOID
+ODM_ReleaseTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+
+ PADAPTER Adapter = pDM_Odm->Adapter;
+
+ // <20120301, Kordan> If the initilization fails, InitializeAdapterXxx will return regardless of InitHalDm.
+ // Hence, uninitialized timers cause BSOD when the driver releases resources since the init fail.
+ if (pTimer == 0)
+ {
+ ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_SERIOUS, ("=====>ODM_ReleaseTimer(), The timer is NULL! Please check it!\n"));
+ return;
+ }
+
+ PlatformReleaseTimer(Adapter, pTimer);
+#endif
+}
+
+
+//
+// ODM FW relative API.
+//
+#if (DM_ODM_SUPPORT_TYPE & ODM_MP)
+VOID
+ODM_FillH2CCmd(
+ IN PADAPTER Adapter,
+ IN u1Byte ElementID,
+ IN u4Byte CmdLen,
+ IN pu1Byte pCmdBuffer
+)
+{
+ if(IS_HARDWARE_TYPE_JAGUAR(Adapter))
+ {
+ switch(ElementID)
+ {
+ case ODM_H2C_RSSI_REPORT:
+ FillH2CCmd8812(Adapter, H2C_8812_RSSI_REPORT, CmdLen, pCmdBuffer);
+ default:
+ break;
+ }
+
+ }
+ else if(IS_HARDWARE_TYPE_8188E(Adapter))
+ {
+ switch(ElementID)
+ {
+ case ODM_H2C_PSD_RESULT:
+ FillH2CCmd88E(Adapter, H2C_88E_PSD_RESULT, CmdLen, pCmdBuffer);
+ default:
+ break;
+ }
+ }
+ else
+ {
+ switch(ElementID)
+ {
+ case ODM_H2C_RSSI_REPORT:
+ FillH2CCmd92C(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer);
+ case ODM_H2C_PSD_RESULT:
+ FillH2CCmd92C(Adapter, H2C_92C_PSD_RESULT, CmdLen, pCmdBuffer);
+ default:
+ break;
+ }
+ }
+}
+#else
+u4Byte
+ODM_FillH2CCmd(
+ IN pu1Byte pH2CBuffer,
+ IN u4Byte H2CBufferLen,
+ IN u4Byte CmdNum,
+ IN pu4Byte pElementID,
+ IN pu4Byte pCmdLen,
+ IN pu1Byte* pCmbBuffer,
+ IN pu1Byte CmdStartSeq
+ )
+{
+#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
+
+#elif(DM_ODM_SUPPORT_TYPE & ODM_MP)
+ //FillH2CCmd(pH2CBuffer, H2CBufferLen, CmdNum, pElementID, pCmdLen, pCmbBuffer, CmdStartSeq);
+ return FALSE;
+#endif
+
+ return TRUE;
+}
+#endif
+
+
+
+
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.h index 73f61165bead..a5e8680100fb 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_interface.h @@ -1,374 +1,374 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - - -#ifndef __ODM_INTERFACE_H__ -#define __ODM_INTERFACE_H__ - - - -// -// =========== Constant/Structure/Enum/... Define -// - - - -// -// =========== Macro Define -// - -#define _reg_all(_name) ODM_##_name -#define _reg_ic(_name, _ic) ODM_##_name##_ic -#define _bit_all(_name) BIT_##_name -#define _bit_ic(_name, _ic) BIT_##_name##_ic - -// _cat: implemented by Token-Pasting Operator. -#if 0 -#define _cat(_name, _ic_type, _func) \ - ( \ - _func##_all(_name) \ - ) -#endif - -/*=================================== - -#define ODM_REG_DIG_11N 0xC50 -#define ODM_REG_DIG_11AC 0xDDD - -ODM_REG(DIG,_pDM_Odm) -=====================================*/ - -#define _reg_11N(_name) ODM_REG_##_name##_11N -#define _reg_11AC(_name) ODM_REG_##_name##_11AC -#define _bit_11N(_name) ODM_BIT_##_name##_11N -#define _bit_11AC(_name) ODM_BIT_##_name##_11AC - -#if 1 //TODO: enable it if we need to support run-time to differentiate between 92C_SERIES and JAGUAR_SERIES. -#define _cat(_name, _ic_type, _func) \ - ( \ - ((_ic_type) & ODM_IC_11N_SERIES)? _func##_11N(_name): \ - _func##_11AC(_name) \ - ) -#endif -#if 0 // only sample code -#define _cat(_name, _ic_type, _func) \ - ( \ - ((_ic_type) & ODM_RTL8192C)? _func##_ic(_name, _8192C): \ - ((_ic_type) & ODM_RTL8192D)? _func##_ic(_name, _8192D): \ - ((_ic_type) & ODM_RTL8192S)? _func##_ic(_name, _8192S): \ - ((_ic_type) & ODM_RTL8723A)? _func##_ic(_name, _8723A): \ - ((_ic_type) & ODM_RTL8188E)? _func##_ic(_name, _8188E): \ - _func##_ic(_name, _8195) \ - ) -#endif - -// _name: name of register or bit. -// Example: "ODM_REG(R_A_AGC_CORE1, pDM_Odm)" -// gets "ODM_R_A_AGC_CORE1" or "ODM_R_A_AGC_CORE1_8192C", depends on SupportICType. -#define ODM_REG(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _reg) -#define ODM_BIT(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _bit) - -typedef enum _ODM_H2C_CMD -{ - ODM_H2C_RSSI_REPORT = 0, - ODM_H2C_PSD_RESULT=1, - ODM_H2C_PathDiv = 2, - ODM_MAX_H2CCMD -}ODM_H2C_CMD; - - -// -// 2012/02/17 MH For non-MP compile pass only. Linux does not support workitem. -// Suggest HW team to use thread instead of workitem. Windows also support the feature. -// -#if (DM_ODM_SUPPORT_TYPE != ODM_MP) -typedef void *PRT_WORK_ITEM ; -typedef void RT_WORKITEM_HANDLE,*PRT_WORKITEM_HANDLE; -typedef VOID (*RT_WORKITEM_CALL_BACK)(PVOID pContext); - -#if 0 -typedef struct tasklet_struct RT_WORKITEM_HANDLE, *PRT_WORKITEM_HANDLE; - -typedef struct _RT_WORK_ITEM -{ - - RT_WORKITEM_HANDLE Handle; // Platform-dependent handle for this workitem, e.g. Ndis Workitem object. - PVOID Adapter; // Pointer to Adapter object. - PVOID pContext; // Parameter to passed to CallBackFunc(). - RT_WORKITEM_CALL_BACK CallbackFunc; // Callback function of the workitem. - u1Byte RefCount; // 0: driver is going to unload, 1: No such workitem scheduled, 2: one workitem is schedueled. - PVOID pPlatformExt; // Pointer to platform-dependent extension. - BOOLEAN bFree; - char szID[36]; // An identity string of this workitem. -}RT_WORK_ITEM, *PRT_WORK_ITEM; - -#endif - - -#endif - -// -// =========== Extern Variable ??? It should be forbidden. -// - - -// -// =========== EXtern Function Prototype -// - - -u1Byte -ODM_Read1Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr - ); - -u2Byte -ODM_Read2Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr - ); - -u4Byte -ODM_Read4Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr - ); - -VOID -ODM_Write1Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u1Byte Data - ); - -VOID -ODM_Write2Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u2Byte Data - ); - -VOID -ODM_Write4Byte( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte Data - ); - -VOID -ODM_SetMACReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask, - IN u4Byte Data - ); - -u4Byte -ODM_GetMACReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask - ); - -VOID -ODM_SetBBReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask, - IN u4Byte Data - ); - -u4Byte -ODM_GetBBReg( - IN PDM_ODM_T pDM_Odm, - IN u4Byte RegAddr, - IN u4Byte BitMask - ); - -VOID -ODM_SetRFReg( - IN PDM_ODM_T pDM_Odm, - IN ODM_RF_RADIO_PATH_E eRFPath, - IN u4Byte RegAddr, - IN u4Byte BitMask, - IN u4Byte Data - ); - -u4Byte -ODM_GetRFReg( - IN PDM_ODM_T pDM_Odm, - IN ODM_RF_RADIO_PATH_E eRFPath, - IN u4Byte RegAddr, - IN u4Byte BitMask - ); - - -// -// Memory Relative Function. -// -VOID -ODM_AllocateMemory( - IN PDM_ODM_T pDM_Odm, - OUT PVOID *pPtr, - IN u4Byte length - ); -VOID -ODM_FreeMemory( - IN PDM_ODM_T pDM_Odm, - OUT PVOID pPtr, - IN u4Byte length - ); - -s4Byte ODM_CompareMemory( - IN PDM_ODM_T pDM_Odm, - IN PVOID pBuf1, - IN PVOID pBuf2, - IN u4Byte length - ); - -// -// ODM MISC-spin lock relative API. -// -VOID -ODM_AcquireSpinLock( - IN PDM_ODM_T pDM_Odm, - IN RT_SPINLOCK_TYPE type - ); - -VOID -ODM_ReleaseSpinLock( - IN PDM_ODM_T pDM_Odm, - IN RT_SPINLOCK_TYPE type - ); - - -// -// ODM MISC-workitem relative API. -// -VOID -ODM_InitializeWorkItem( - IN PDM_ODM_T pDM_Odm, - IN PRT_WORK_ITEM pRtWorkItem, - IN RT_WORKITEM_CALL_BACK RtWorkItemCallback, - IN PVOID pContext, - IN const char* szID - ); - -VOID -ODM_StartWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ); - -VOID -ODM_StopWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ); - -VOID -ODM_FreeWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ); - -VOID -ODM_ScheduleWorkItem( - IN PRT_WORK_ITEM pRtWorkItem - ); - -VOID -ODM_IsWorkItemScheduled( - IN PRT_WORK_ITEM pRtWorkItem - ); - -// -// ODM Timer relative API. -// -VOID -ODM_StallExecution( - IN u4Byte usDelay - ); - -VOID -ODM_delay_ms(IN u4Byte ms); -
- -VOID -ODM_delay_us(IN u4Byte us); - -VOID -ODM_sleep_ms(IN u4Byte ms); - -VOID -ODM_sleep_us(IN u4Byte us); - -VOID -ODM_SetTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer, - IN u4Byte msDelay - ); - -VOID -ODM_InitializeTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer, - IN RT_TIMER_CALL_BACK CallBackFunc, - IN PVOID pContext, - IN const char* szID - ); - -VOID -ODM_CancelTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer - ); - -VOID -ODM_ReleaseTimer( - IN PDM_ODM_T pDM_Odm, - IN PRT_TIMER pTimer - ); - - -// -// ODM FW relative API. -// -#if (DM_ODM_SUPPORT_TYPE & ODM_MP) -VOID -ODM_FillH2CCmd( - IN PADAPTER Adapter, - IN u1Byte ElementID, - IN u4Byte CmdLen, - IN pu1Byte pCmdBuffer -); -#else -u4Byte -ODM_FillH2CCmd( - IN pu1Byte pH2CBuffer, - IN u4Byte H2CBufferLen, - IN u4Byte CmdNum, - IN pu4Byte pElementID, - IN pu4Byte pCmdLen, - IN pu1Byte* pCmbBuffer, - IN pu1Byte CmdStartSeq - ); -#endif -#endif // __ODM_INTERFACE_H__ - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+
+#ifndef __ODM_INTERFACE_H__
+#define __ODM_INTERFACE_H__
+
+
+
+//
+// =========== Constant/Structure/Enum/... Define
+//
+
+
+
+//
+// =========== Macro Define
+//
+
+#define _reg_all(_name) ODM_##_name
+#define _reg_ic(_name, _ic) ODM_##_name##_ic
+#define _bit_all(_name) BIT_##_name
+#define _bit_ic(_name, _ic) BIT_##_name##_ic
+
+// _cat: implemented by Token-Pasting Operator.
+#if 0
+#define _cat(_name, _ic_type, _func) \
+ ( \
+ _func##_all(_name) \
+ )
+#endif
+
+/*===================================
+
+#define ODM_REG_DIG_11N 0xC50
+#define ODM_REG_DIG_11AC 0xDDD
+
+ODM_REG(DIG,_pDM_Odm)
+=====================================*/
+
+#define _reg_11N(_name) ODM_REG_##_name##_11N
+#define _reg_11AC(_name) ODM_REG_##_name##_11AC
+#define _bit_11N(_name) ODM_BIT_##_name##_11N
+#define _bit_11AC(_name) ODM_BIT_##_name##_11AC
+
+#if 1 //TODO: enable it if we need to support run-time to differentiate between 92C_SERIES and JAGUAR_SERIES.
+#define _cat(_name, _ic_type, _func) \
+ ( \
+ ((_ic_type) & ODM_IC_11N_SERIES)? _func##_11N(_name): \
+ _func##_11AC(_name) \
+ )
+#endif
+#if 0 // only sample code
+#define _cat(_name, _ic_type, _func) \
+ ( \
+ ((_ic_type) & ODM_RTL8192C)? _func##_ic(_name, _8192C): \
+ ((_ic_type) & ODM_RTL8192D)? _func##_ic(_name, _8192D): \
+ ((_ic_type) & ODM_RTL8192S)? _func##_ic(_name, _8192S): \
+ ((_ic_type) & ODM_RTL8723A)? _func##_ic(_name, _8723A): \
+ ((_ic_type) & ODM_RTL8188E)? _func##_ic(_name, _8188E): \
+ _func##_ic(_name, _8195) \
+ )
+#endif
+
+// _name: name of register or bit.
+// Example: "ODM_REG(R_A_AGC_CORE1, pDM_Odm)"
+// gets "ODM_R_A_AGC_CORE1" or "ODM_R_A_AGC_CORE1_8192C", depends on SupportICType.
+#define ODM_REG(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _reg)
+#define ODM_BIT(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _bit)
+
+typedef enum _ODM_H2C_CMD
+{
+ ODM_H2C_RSSI_REPORT = 0,
+ ODM_H2C_PSD_RESULT=1,
+ ODM_H2C_PathDiv = 2,
+ ODM_MAX_H2CCMD
+}ODM_H2C_CMD;
+
+
+//
+// 2012/02/17 MH For non-MP compile pass only. Linux does not support workitem.
+// Suggest HW team to use thread instead of workitem. Windows also support the feature.
+//
+#if (DM_ODM_SUPPORT_TYPE != ODM_MP)
+typedef void *PRT_WORK_ITEM ;
+typedef void RT_WORKITEM_HANDLE,*PRT_WORKITEM_HANDLE;
+typedef VOID (*RT_WORKITEM_CALL_BACK)(PVOID pContext);
+
+#if 0
+typedef struct tasklet_struct RT_WORKITEM_HANDLE, *PRT_WORKITEM_HANDLE;
+
+typedef struct _RT_WORK_ITEM
+{
+
+ RT_WORKITEM_HANDLE Handle; // Platform-dependent handle for this workitem, e.g. Ndis Workitem object.
+ PVOID Adapter; // Pointer to Adapter object.
+ PVOID pContext; // Parameter to passed to CallBackFunc().
+ RT_WORKITEM_CALL_BACK CallbackFunc; // Callback function of the workitem.
+ u1Byte RefCount; // 0: driver is going to unload, 1: No such workitem scheduled, 2: one workitem is schedueled.
+ PVOID pPlatformExt; // Pointer to platform-dependent extension.
+ BOOLEAN bFree;
+ char szID[36]; // An identity string of this workitem.
+}RT_WORK_ITEM, *PRT_WORK_ITEM;
+
+#endif
+
+
+#endif
+
+//
+// =========== Extern Variable ??? It should be forbidden.
+//
+
+
+//
+// =========== EXtern Function Prototype
+//
+
+
+u1Byte
+ODM_Read1Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr
+ );
+
+u2Byte
+ODM_Read2Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr
+ );
+
+u4Byte
+ODM_Read4Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr
+ );
+
+VOID
+ODM_Write1Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u1Byte Data
+ );
+
+VOID
+ODM_Write2Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u2Byte Data
+ );
+
+VOID
+ODM_Write4Byte(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte Data
+ );
+
+VOID
+ODM_SetMACReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask,
+ IN u4Byte Data
+ );
+
+u4Byte
+ODM_GetMACReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask
+ );
+
+VOID
+ODM_SetBBReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask,
+ IN u4Byte Data
+ );
+
+u4Byte
+ODM_GetBBReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask
+ );
+
+VOID
+ODM_SetRFReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_RF_RADIO_PATH_E eRFPath,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask,
+ IN u4Byte Data
+ );
+
+u4Byte
+ODM_GetRFReg(
+ IN PDM_ODM_T pDM_Odm,
+ IN ODM_RF_RADIO_PATH_E eRFPath,
+ IN u4Byte RegAddr,
+ IN u4Byte BitMask
+ );
+
+
+//
+// Memory Relative Function.
+//
+VOID
+ODM_AllocateMemory(
+ IN PDM_ODM_T pDM_Odm,
+ OUT PVOID *pPtr,
+ IN u4Byte length
+ );
+VOID
+ODM_FreeMemory(
+ IN PDM_ODM_T pDM_Odm,
+ OUT PVOID pPtr,
+ IN u4Byte length
+ );
+
+s4Byte ODM_CompareMemory(
+ IN PDM_ODM_T pDM_Odm,
+ IN PVOID pBuf1,
+ IN PVOID pBuf2,
+ IN u4Byte length
+ );
+
+//
+// ODM MISC-spin lock relative API.
+//
+VOID
+ODM_AcquireSpinLock(
+ IN PDM_ODM_T pDM_Odm,
+ IN RT_SPINLOCK_TYPE type
+ );
+
+VOID
+ODM_ReleaseSpinLock(
+ IN PDM_ODM_T pDM_Odm,
+ IN RT_SPINLOCK_TYPE type
+ );
+
+
+//
+// ODM MISC-workitem relative API.
+//
+VOID
+ODM_InitializeWorkItem(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_WORK_ITEM pRtWorkItem,
+ IN RT_WORKITEM_CALL_BACK RtWorkItemCallback,
+ IN PVOID pContext,
+ IN const char* szID
+ );
+
+VOID
+ODM_StartWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ );
+
+VOID
+ODM_StopWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ );
+
+VOID
+ODM_FreeWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ );
+
+VOID
+ODM_ScheduleWorkItem(
+ IN PRT_WORK_ITEM pRtWorkItem
+ );
+
+VOID
+ODM_IsWorkItemScheduled(
+ IN PRT_WORK_ITEM pRtWorkItem
+ );
+
+//
+// ODM Timer relative API.
+//
+VOID
+ODM_StallExecution(
+ IN u4Byte usDelay
+ );
+
+VOID
+ODM_delay_ms(IN u4Byte ms);
+
+
+VOID
+ODM_delay_us(IN u4Byte us);
+
+VOID
+ODM_sleep_ms(IN u4Byte ms);
+
+VOID
+ODM_sleep_us(IN u4Byte us);
+
+VOID
+ODM_SetTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer,
+ IN u4Byte msDelay
+ );
+
+VOID
+ODM_InitializeTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer,
+ IN RT_TIMER_CALL_BACK CallBackFunc,
+ IN PVOID pContext,
+ IN const char* szID
+ );
+
+VOID
+ODM_CancelTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer
+ );
+
+VOID
+ODM_ReleaseTimer(
+ IN PDM_ODM_T pDM_Odm,
+ IN PRT_TIMER pTimer
+ );
+
+
+//
+// ODM FW relative API.
+//
+#if (DM_ODM_SUPPORT_TYPE & ODM_MP)
+VOID
+ODM_FillH2CCmd(
+ IN PADAPTER Adapter,
+ IN u1Byte ElementID,
+ IN u4Byte CmdLen,
+ IN pu1Byte pCmdBuffer
+);
+#else
+u4Byte
+ODM_FillH2CCmd(
+ IN pu1Byte pH2CBuffer,
+ IN u4Byte H2CBufferLen,
+ IN u4Byte CmdNum,
+ IN pu4Byte pElementID,
+ IN pu4Byte pCmdLen,
+ IN pu1Byte* pCmbBuffer,
+ IN pu1Byte CmdStartSeq
+ );
+#endif
+#endif // __ODM_INTERFACE_H__
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_precomp.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_precomp.h index eb4f74361237..f40a12779e52 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_precomp.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_precomp.h @@ -1,222 +1,222 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -#ifndef __ODM_PRECOMP_H__ -#define __ODM_PRECOMP_H__ - -#include "odm_types.h" - -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) -#include "Precomp.h" // We need to include mp_precomp.h due to batch file setting. - -#else - -#define TEST_FALG___ 1 - -#endif - -//2 Config Flags and Structs - defined by each ODM Type - -#if (DM_ODM_SUPPORT_TYPE == ODM_AP) - #include "../8192cd_cfg.h" - #include "../odm_inc.h" - - #include "../8192cd.h" - #include "../8192cd_util.h" - #ifdef _BIG_ENDIAN_ - #define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG - #else - #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE - #endif - - #ifdef AP_BUILD_WORKAROUND - #include "../8192cd_headers.h" - #include "../8192cd_debug.h" - #endif - -#elif (DM_ODM_SUPPORT_TYPE == ODM_ADSL) - // Flags - #include "../8192cd_cfg.h" // OUTSRC needs ADSL config flags. - #include "../odm_inc.h" // OUTSRC needs some extra flags. - // Data Structure - #include "../common_types.h" // OUTSRC and rtl8192cd both needs basic type such as UINT8 and BIT0. - #include "../8192cd.h" // OUTSRC needs basic ADSL struct definition. - #include "../8192cd_util.h" // OUTSRC needs basic I/O function. - #ifdef _BIG_ENDIAN_ - #define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG - #else - #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE - #endif - - #ifdef ADSL_AP_BUILD_WORKAROUND - // NESTED_INC: Functions defined outside should not be included!! Marked by Annie, 2011-10-14. - #include "../8192cd_headers.h" - #include "../8192cd_debug.h" - #endif - -#elif (DM_ODM_SUPPORT_TYPE ==ODM_CE) - #include <drv_conf.h> - #include <osdep_service.h> - #include <drv_types.h> - #include <rtw_byteorder.h> - #include <hal_intf.h> - -#elif (DM_ODM_SUPPORT_TYPE == ODM_MP) - #include "Mp_Precomp.h" - #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE -#endif - - -//2 Hardware Parameter Files - - -#if (DM_ODM_SUPPORT_TYPE == ODM_AP) -#if (RTL8192C_SUPPORT==1) - #include "rtl8192c/Hal8192CEFWImg_AP.h" - #include "rtl8192c/Hal8192CEPHYImg_AP.h" - #include "rtl8192c/Hal8192CEMACImg_AP.h" -#endif -#elif (DM_ODM_SUPPORT_TYPE == ODM_ADSL) - #include "rtl8192c/Hal8192CEFWImg_ADSL.h" - #include "rtl8192c/Hal8192CEPHYImg_ADSL.h" - #include "rtl8192c/Hal8192CEMACImg_ADSL.h" - -#elif (DM_ODM_SUPPORT_TYPE == ODM_CE) - #if(RTL8192CE_SUPPORT ==1) - #include "rtl8192c/Hal8192CEFWImg_CE.h" - #include "rtl8192c/Hal8192CEPHYImg_CE.h" - #include "rtl8192c/Hal8192CEMACImg_CE.h" - #elif(RTL8192CU_SUPPORT ==1) - #include "rtl8192c/Hal8192CUFWImg_CE.h" - #include "rtl8192c/Hal8192CUPHYImg_CE.h" - #include "rtl8192c/Hal8192CUMACImg_CE.h" - #elif(RTL8192DE_SUPPORT ==1) - #include "rtl8192d/Hal8192DEFWImg_CE.h" - #include "rtl8192d/Hal8192DEPHYImg_CE.h" - #include "rtl8192d/Hal8192DEMACImg_CE.h" - #elif(RTL8192DU_SUPPORT ==1) - #include "rtl8192d/Hal8192DUFWImg_CE.h" - #include "rtl8192d/Hal8192DUPHYImg_CE.h" - #include "rtl8192d/Hal8192DUMACImg_CE.h" - #elif(RTL8723AS_SUPPORT==1) - #include "rtl8723a/Hal8723SHWImg_CE.h" - #elif(RTL8723AU_SUPPORT==1) - #include "rtl8723a/Hal8723UHWImg_CE.h" - #elif(RTL8188E_SUPPORT==1) - #include "rtl8188e/Hal8188EFWImg_CE.h" - #endif -#elif (DM_ODM_SUPPORT_TYPE == ODM_MP) - -#endif - - -//2 OutSrc Header Files - -#include "odm.h" -#include "odm_HWConfig.h" -#include "odm_debug.h" -#include "odm_RegDefine11AC.h" -#include "odm_RegDefine11N.h" - -#if (DM_ODM_SUPPORT_TYPE == ODM_AP) -#if (RTL8192C_SUPPORT==1) - #include "rtl8192c/HalDMOutSrc8192C_AP.h" -#endif -#if (RTL8188E_SUPPORT==1) - #include "rtl8188e/Hal8188ERateAdaptive.h"//for RA,Power training -#endif - -#elif (DM_ODM_SUPPORT_TYPE == ODM_ADSL) - #include "rtl8192c/HalDMOutSrc8192C_ADSL.h" - -#elif (DM_ODM_SUPPORT_TYPE == ODM_CE) - #include "HalPhyRf.h" - #if (RTL8192C_SUPPORT==1) - #ifdef CONFIG_INTEL_PROXIM - #include "../proxim/intel_proxim.h" - #endif - #include "rtl8192c/HalDMOutSrc8192C_CE.h" - #include <rtl8192c_hal.h> - #elif (RTL8192D_SUPPORT==1) - #include "rtl8192d/HalDMOutSrc8192D_CE.h" - #include "rtl8192d_hal.h" - #elif (RTL8723A_SUPPORT==1) - #include "rtl8192c/HalDMOutSrc8192C_CE.h" //for IQK,LCK,Power-tracking - #include "rtl8723a_hal.h" - #elif (RTL8188E_SUPPORT==1) - #include "rtl8188e/HalPhyRf_8188e.h"//for IQK,LCK,Power-tracking - #include "rtl8188e/Hal8188ERateAdaptive.h"//for RA,Power training - #include "rtl8188e_hal.h" - #endif - -#endif - -#include "odm_interface.h" -#include "odm_reg.h" - -#if (RTL8192C_SUPPORT==1) -#if (DM_ODM_SUPPORT_TYPE == ODM_AP) -#include "rtl8192c/Hal8192CHWImg_MAC.h" -#include "rtl8192c/Hal8192CHWImg_RF.h" -#include "rtl8192c/Hal8192CHWImg_BB.h" -#include "rtl8192c/Hal8192CHWImg_FW.h" -#endif -#include "rtl8192c/odm_RTL8192C.h" -#endif -#if (RTL8192D_SUPPORT==1) -#include "rtl8192d/odm_RTL8192D.h" -#endif - -#if (RTL8723A_SUPPORT==1) -#include "rtl8723a/HalHWImg8723A_MAC.h" -#include "rtl8723a/HalHWImg8723A_RF.h" -#include "rtl8723a/HalHWImg8723A_BB.h" -#include "rtl8723a/HalHWImg8723A_FW.h" -#include "rtl8723a/odm_RegConfig8723A.h" -#endif - -#if (RTL8188E_SUPPORT==1) -#include "rtl8188e/HalHWImg8188E_MAC.h" -#include "rtl8188e/HalHWImg8188E_RF.h" -#include "rtl8188e/HalHWImg8188E_BB.h" -#include "rtl8188e/Hal8188EReg.h" - -#if (DM_ODM_SUPPORT_TYPE & ODM_AP) -#include "rtl8188e/HalPhyRf_8188e.h" -#endif - -#if (RTL8188E_FOR_TEST_CHIP >= 1) -#include "rtl8188e/HalHWImg8188E_TestChip_MAC.h" -#include "rtl8188e/HalHWImg8188E_TestChip_RF.h" -#include "rtl8188e/HalHWImg8188E_TestChip_BB.h" -#endif - -#ifdef CONFIG_WOWLAN -#if (RTL8188E_SUPPORT==1) -#include "rtl8188e/HalHWImg8188E_FW.h" -#endif -#endif //CONFIG_WOWLAN - -#include "rtl8188e/odm_RegConfig8188E.h" -#include "rtl8188e/odm_RTL8188E.h" -#endif - -#endif // __ODM_PRECOMP_H__ - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+#ifndef __ODM_PRECOMP_H__
+#define __ODM_PRECOMP_H__
+
+#include "odm_types.h"
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+#include "Precomp.h" // We need to include mp_precomp.h due to batch file setting.
+
+#else
+
+#define TEST_FALG___ 1
+
+#endif
+
+//2 Config Flags and Structs - defined by each ODM Type
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_AP)
+ #include "../8192cd_cfg.h"
+ #include "../odm_inc.h"
+
+ #include "../8192cd.h"
+ #include "../8192cd_util.h"
+ #ifdef _BIG_ENDIAN_
+ #define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG
+ #else
+ #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE
+ #endif
+
+ #ifdef AP_BUILD_WORKAROUND
+ #include "../8192cd_headers.h"
+ #include "../8192cd_debug.h"
+ #endif
+
+#elif (DM_ODM_SUPPORT_TYPE == ODM_ADSL)
+ // Flags
+ #include "../8192cd_cfg.h" // OUTSRC needs ADSL config flags.
+ #include "../odm_inc.h" // OUTSRC needs some extra flags.
+ // Data Structure
+ #include "../common_types.h" // OUTSRC and rtl8192cd both needs basic type such as UINT8 and BIT0.
+ #include "../8192cd.h" // OUTSRC needs basic ADSL struct definition.
+ #include "../8192cd_util.h" // OUTSRC needs basic I/O function.
+ #ifdef _BIG_ENDIAN_
+ #define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG
+ #else
+ #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE
+ #endif
+
+ #ifdef ADSL_AP_BUILD_WORKAROUND
+ // NESTED_INC: Functions defined outside should not be included!! Marked by Annie, 2011-10-14.
+ #include "../8192cd_headers.h"
+ #include "../8192cd_debug.h"
+ #endif
+
+#elif (DM_ODM_SUPPORT_TYPE ==ODM_CE)
+ #include <drv_conf.h>
+ #include <osdep_service.h>
+ #include <drv_types.h>
+ #include <rtw_byteorder.h>
+ #include <hal_intf.h>
+
+#elif (DM_ODM_SUPPORT_TYPE == ODM_MP)
+ #include "Mp_Precomp.h"
+ #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE
+#endif
+
+
+//2 Hardware Parameter Files
+
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_AP)
+#if (RTL8192C_SUPPORT==1)
+ #include "rtl8192c/Hal8192CEFWImg_AP.h"
+ #include "rtl8192c/Hal8192CEPHYImg_AP.h"
+ #include "rtl8192c/Hal8192CEMACImg_AP.h"
+#endif
+#elif (DM_ODM_SUPPORT_TYPE == ODM_ADSL)
+ #include "rtl8192c/Hal8192CEFWImg_ADSL.h"
+ #include "rtl8192c/Hal8192CEPHYImg_ADSL.h"
+ #include "rtl8192c/Hal8192CEMACImg_ADSL.h"
+
+#elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
+ #if(RTL8192CE_SUPPORT ==1)
+ #include "rtl8192c/Hal8192CEFWImg_CE.h"
+ #include "rtl8192c/Hal8192CEPHYImg_CE.h"
+ #include "rtl8192c/Hal8192CEMACImg_CE.h"
+ #elif(RTL8192CU_SUPPORT ==1)
+ #include "rtl8192c/Hal8192CUFWImg_CE.h"
+ #include "rtl8192c/Hal8192CUPHYImg_CE.h"
+ #include "rtl8192c/Hal8192CUMACImg_CE.h"
+ #elif(RTL8192DE_SUPPORT ==1)
+ #include "rtl8192d/Hal8192DEFWImg_CE.h"
+ #include "rtl8192d/Hal8192DEPHYImg_CE.h"
+ #include "rtl8192d/Hal8192DEMACImg_CE.h"
+ #elif(RTL8192DU_SUPPORT ==1)
+ #include "rtl8192d/Hal8192DUFWImg_CE.h"
+ #include "rtl8192d/Hal8192DUPHYImg_CE.h"
+ #include "rtl8192d/Hal8192DUMACImg_CE.h"
+ #elif(RTL8723AS_SUPPORT==1)
+ #include "rtl8723a/Hal8723SHWImg_CE.h"
+ #elif(RTL8723AU_SUPPORT==1)
+ #include "rtl8723a/Hal8723UHWImg_CE.h"
+ #elif(RTL8188E_SUPPORT==1)
+ #include "rtl8188e/Hal8188EFWImg_CE.h"
+ #endif
+#elif (DM_ODM_SUPPORT_TYPE == ODM_MP)
+
+#endif
+
+
+//2 OutSrc Header Files
+
+#include "odm.h"
+#include "odm_HWConfig.h"
+#include "odm_debug.h"
+#include "odm_RegDefine11AC.h"
+#include "odm_RegDefine11N.h"
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_AP)
+#if (RTL8192C_SUPPORT==1)
+ #include "rtl8192c/HalDMOutSrc8192C_AP.h"
+#endif
+#if (RTL8188E_SUPPORT==1)
+ #include "rtl8188e/Hal8188ERateAdaptive.h"//for RA,Power training
+#endif
+
+#elif (DM_ODM_SUPPORT_TYPE == ODM_ADSL)
+ #include "rtl8192c/HalDMOutSrc8192C_ADSL.h"
+
+#elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
+ #include "HalPhyRf.h"
+ #if (RTL8192C_SUPPORT==1)
+ #ifdef CONFIG_INTEL_PROXIM
+ #include "../proxim/intel_proxim.h"
+ #endif
+ #include "rtl8192c/HalDMOutSrc8192C_CE.h"
+ #include <rtl8192c_hal.h>
+ #elif (RTL8192D_SUPPORT==1)
+ #include "rtl8192d/HalDMOutSrc8192D_CE.h"
+ #include "rtl8192d_hal.h"
+ #elif (RTL8723A_SUPPORT==1)
+ #include "rtl8192c/HalDMOutSrc8192C_CE.h" //for IQK,LCK,Power-tracking
+ #include "rtl8723a_hal.h"
+ #elif (RTL8188E_SUPPORT==1)
+ #include "rtl8188e/HalPhyRf_8188e.h"//for IQK,LCK,Power-tracking
+ #include "rtl8188e/Hal8188ERateAdaptive.h"//for RA,Power training
+ #include "rtl8188e_hal.h"
+ #endif
+
+#endif
+
+#include "odm_interface.h"
+#include "odm_reg.h"
+
+#if (RTL8192C_SUPPORT==1)
+#if (DM_ODM_SUPPORT_TYPE == ODM_AP)
+#include "rtl8192c/Hal8192CHWImg_MAC.h"
+#include "rtl8192c/Hal8192CHWImg_RF.h"
+#include "rtl8192c/Hal8192CHWImg_BB.h"
+#include "rtl8192c/Hal8192CHWImg_FW.h"
+#endif
+#include "rtl8192c/odm_RTL8192C.h"
+#endif
+#if (RTL8192D_SUPPORT==1)
+#include "rtl8192d/odm_RTL8192D.h"
+#endif
+
+#if (RTL8723A_SUPPORT==1)
+#include "rtl8723a/HalHWImg8723A_MAC.h"
+#include "rtl8723a/HalHWImg8723A_RF.h"
+#include "rtl8723a/HalHWImg8723A_BB.h"
+#include "rtl8723a/HalHWImg8723A_FW.h"
+#include "rtl8723a/odm_RegConfig8723A.h"
+#endif
+
+#if (RTL8188E_SUPPORT==1)
+#include "rtl8188e/HalHWImg8188E_MAC.h"
+#include "rtl8188e/HalHWImg8188E_RF.h"
+#include "rtl8188e/HalHWImg8188E_BB.h"
+#include "rtl8188e/Hal8188EReg.h"
+
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)
+#include "rtl8188e/HalPhyRf_8188e.h"
+#endif
+
+#if (RTL8188E_FOR_TEST_CHIP >= 1)
+#include "rtl8188e/HalHWImg8188E_TestChip_MAC.h"
+#include "rtl8188e/HalHWImg8188E_TestChip_RF.h"
+#include "rtl8188e/HalHWImg8188E_TestChip_BB.h"
+#endif
+
+#ifdef CONFIG_WOWLAN
+#if (RTL8188E_SUPPORT==1)
+#include "rtl8188e/HalHWImg8188E_FW.h"
+#endif
+#endif //CONFIG_WOWLAN
+
+#include "rtl8188e/odm_RegConfig8188E.h"
+#include "rtl8188e/odm_RTL8188E.h"
+#endif
+
+#endif // __ODM_PRECOMP_H__
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_reg.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_reg.h index 41baf166de22..361ac79c6c39 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_reg.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/odm_reg.h @@ -1,120 +1,120 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -//============================================================ -// File Name: odm_reg.h -// -// Description: -// -// This file is for general register definition. -// -// -//============================================================ -#ifndef __HAL_ODM_REG_H__ -#define __HAL_ODM_REG_H__ - -// -// Register Definition -// - -//MAC REG -#define ODM_BB_RESET 0x002 -#define ODM_DUMMY 0x4fe -#define ODM_EDCA_VO_PARAM 0x500 -#define ODM_EDCA_VI_PARAM 0x504 -#define ODM_EDCA_BE_PARAM 0x508 -#define ODM_EDCA_BK_PARAM 0x50C -#define ODM_TXPAUSE 0x522 - -//BB REG -#define ODM_FPGA_PHY0_PAGE8 0x800 -#define ODM_PSD_SETTING 0x808 -#define ODM_AFE_SETTING 0x818 -#define ODM_TXAGC_B_6_18 0x830 -#define ODM_TXAGC_B_24_54 0x834 -#define ODM_TXAGC_B_MCS32_5 0x838 -#define ODM_TXAGC_B_MCS0_MCS3 0x83c -#define ODM_TXAGC_B_MCS4_MCS7 0x848 -#define ODM_TXAGC_B_MCS8_MCS11 0x84c -#define ODM_ANALOG_REGISTER 0x85c -#define ODM_RF_INTERFACE_OUTPUT 0x860 -#define ODM_TXAGC_B_MCS12_MCS15 0x868 -#define ODM_TXAGC_B_11_A_2_11 0x86c -#define ODM_AD_DA_LSB_MASK 0x874 -#define ODM_ENABLE_3_WIRE 0x88c -#define ODM_PSD_REPORT 0x8b4 -#define ODM_R_ANT_SELECT 0x90c -#define ODM_CCK_ANT_SELECT 0xa07 -#define ODM_CCK_PD_THRESH 0xa0a -#define ODM_CCK_RF_REG1 0xa11 -#define ODM_CCK_MATCH_FILTER 0xa20 -#define ODM_CCK_RAKE_MAC 0xa2e -#define ODM_CCK_CNT_RESET 0xa2d -#define ODM_CCK_TX_DIVERSITY 0xa2f -#define ODM_CCK_FA_CNT_MSB 0xa5b -#define ODM_CCK_FA_CNT_LSB 0xa5c -#define ODM_CCK_NEW_FUNCTION 0xa75 -#define ODM_OFDM_PHY0_PAGE_C 0xc00 -#define ODM_OFDM_RX_ANT 0xc04 -#define ODM_R_A_RXIQI 0xc14 -#define ODM_R_A_AGC_CORE1 0xc50 -#define ODM_R_A_AGC_CORE2 0xc54 -#define ODM_R_B_AGC_CORE1 0xc58 -#define ODM_R_AGC_PAR 0xc70 -#define ODM_R_HTSTF_AGC_PAR 0xc7c -#define ODM_TX_PWR_TRAINING_A 0xc90 -#define ODM_TX_PWR_TRAINING_B 0xc98 -#define ODM_OFDM_FA_CNT1 0xcf0 -#define ODM_OFDM_PHY0_PAGE_D 0xd00 -#define ODM_OFDM_FA_CNT2 0xda0 -#define ODM_OFDM_FA_CNT3 0xda4 -#define ODM_OFDM_FA_CNT4 0xda8 -#define ODM_TXAGC_A_6_18 0xe00 -#define ODM_TXAGC_A_24_54 0xe04 -#define ODM_TXAGC_A_1_MCS32 0xe08 -#define ODM_TXAGC_A_MCS0_MCS3 0xe10 -#define ODM_TXAGC_A_MCS4_MCS7 0xe14 -#define ODM_TXAGC_A_MCS8_MCS11 0xe18 -#define ODM_TXAGC_A_MCS12_MCS15 0xe1c - -//RF REG -#define ODM_GAIN_SETTING 0x00 -#define ODM_CHANNEL 0x18 - -//Ant Detect Reg -#define ODM_DPDT 0x300 - -//PSD Init -#define ODM_PSDREG 0x808 - -//92D Path Div -#define PATHDIV_REG 0xB30 -#define PATHDIV_TRI 0xBA0 - - -// -// Bitmap Definition -// - -#define BIT_FA_RESET BIT0 - - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+//============================================================
+// File Name: odm_reg.h
+//
+// Description:
+//
+// This file is for general register definition.
+//
+//
+//============================================================
+#ifndef __HAL_ODM_REG_H__
+#define __HAL_ODM_REG_H__
+
+//
+// Register Definition
+//
+
+//MAC REG
+#define ODM_BB_RESET 0x002
+#define ODM_DUMMY 0x4fe
+#define ODM_EDCA_VO_PARAM 0x500
+#define ODM_EDCA_VI_PARAM 0x504
+#define ODM_EDCA_BE_PARAM 0x508
+#define ODM_EDCA_BK_PARAM 0x50C
+#define ODM_TXPAUSE 0x522
+
+//BB REG
+#define ODM_FPGA_PHY0_PAGE8 0x800
+#define ODM_PSD_SETTING 0x808
+#define ODM_AFE_SETTING 0x818
+#define ODM_TXAGC_B_6_18 0x830
+#define ODM_TXAGC_B_24_54 0x834
+#define ODM_TXAGC_B_MCS32_5 0x838
+#define ODM_TXAGC_B_MCS0_MCS3 0x83c
+#define ODM_TXAGC_B_MCS4_MCS7 0x848
+#define ODM_TXAGC_B_MCS8_MCS11 0x84c
+#define ODM_ANALOG_REGISTER 0x85c
+#define ODM_RF_INTERFACE_OUTPUT 0x860
+#define ODM_TXAGC_B_MCS12_MCS15 0x868
+#define ODM_TXAGC_B_11_A_2_11 0x86c
+#define ODM_AD_DA_LSB_MASK 0x874
+#define ODM_ENABLE_3_WIRE 0x88c
+#define ODM_PSD_REPORT 0x8b4
+#define ODM_R_ANT_SELECT 0x90c
+#define ODM_CCK_ANT_SELECT 0xa07
+#define ODM_CCK_PD_THRESH 0xa0a
+#define ODM_CCK_RF_REG1 0xa11
+#define ODM_CCK_MATCH_FILTER 0xa20
+#define ODM_CCK_RAKE_MAC 0xa2e
+#define ODM_CCK_CNT_RESET 0xa2d
+#define ODM_CCK_TX_DIVERSITY 0xa2f
+#define ODM_CCK_FA_CNT_MSB 0xa5b
+#define ODM_CCK_FA_CNT_LSB 0xa5c
+#define ODM_CCK_NEW_FUNCTION 0xa75
+#define ODM_OFDM_PHY0_PAGE_C 0xc00
+#define ODM_OFDM_RX_ANT 0xc04
+#define ODM_R_A_RXIQI 0xc14
+#define ODM_R_A_AGC_CORE1 0xc50
+#define ODM_R_A_AGC_CORE2 0xc54
+#define ODM_R_B_AGC_CORE1 0xc58
+#define ODM_R_AGC_PAR 0xc70
+#define ODM_R_HTSTF_AGC_PAR 0xc7c
+#define ODM_TX_PWR_TRAINING_A 0xc90
+#define ODM_TX_PWR_TRAINING_B 0xc98
+#define ODM_OFDM_FA_CNT1 0xcf0
+#define ODM_OFDM_PHY0_PAGE_D 0xd00
+#define ODM_OFDM_FA_CNT2 0xda0
+#define ODM_OFDM_FA_CNT3 0xda4
+#define ODM_OFDM_FA_CNT4 0xda8
+#define ODM_TXAGC_A_6_18 0xe00
+#define ODM_TXAGC_A_24_54 0xe04
+#define ODM_TXAGC_A_1_MCS32 0xe08
+#define ODM_TXAGC_A_MCS0_MCS3 0xe10
+#define ODM_TXAGC_A_MCS4_MCS7 0xe14
+#define ODM_TXAGC_A_MCS8_MCS11 0xe18
+#define ODM_TXAGC_A_MCS12_MCS15 0xe1c
+
+//RF REG
+#define ODM_GAIN_SETTING 0x00
+#define ODM_CHANNEL 0x18
+
+//Ant Detect Reg
+#define ODM_DPDT 0x300
+
+//PSD Init
+#define ODM_PSDREG 0x808
+
+//92D Path Div
+#define PATHDIV_REG 0xB30
+#define PATHDIV_TRI 0xBA0
+
+
+//
+// Bitmap Definition
+//
+
+#define BIT_FA_RESET BIT0
+
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.c index f24e3531e5f5..83a07d3f7543 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.c @@ -1,94 +1,94 @@ -/*Created on 2011/ 6/16, 6: 8*/ - -#include "../odm_precomp.h" -// MAC reg V14 - 2011-11-23 -u4Byte Rtl8192CEMAC_2T_Array[Rtl8192CEMAC_2T_ArrayLength] = { -0x420,0x00000080, -0x423,0x00000000, -0x430,0x00000000, -0x431,0x00000000, -0x432,0x00000000, -0x433,0x00000001, -0x434,0x00000004, -0x435,0x00000005, -0x436,0x00000006, -0x437,0x00000007, -0x438,0x00000000, -0x439,0x00000000, -0x43a,0x00000000, -0x43b,0x00000001, -0x43c,0x00000004, -0x43d,0x00000005, -0x43e,0x00000006, -0x43f,0x00000007, -0x440,0x0000005d, -0x441,0x00000001, -0x442,0x00000000, -0x444,0x00000015, -0x445,0x000000f0, -0x446,0x0000000f, -0x447,0x00000000, -0x458,0x00000041, -0x459,0x000000a8, -0x45a,0x00000072, -0x45b,0x000000b9, -0x460,0x00000066, -0x461,0x00000066, -0x462,0x00000008, -0x463,0x00000003, -0x4c8,0x000000ff, -0x4c9,0x00000008, -0x4cc,0x000000ff, -0x4cd,0x000000ff, -0x4ce,0x00000001, -0x500,0x00000026, -0x501,0x000000a2, -0x502,0x0000002f, -0x503,0x00000000, -0x504,0x00000028, -0x505,0x000000a3, -0x506,0x0000005e, -0x507,0x00000000, -0x508,0x0000002b, -0x509,0x000000a4, -0x50a,0x0000005e, -0x50b,0x00000000, -0x50c,0x0000004f, -0x50d,0x000000a4, -0x50e,0x00000000, -0x50f,0x00000000, -0x512,0x0000001c, -0x514,0x0000000a, -0x515,0x00000010, -0x516,0x0000000a, -0x517,0x00000010, -0x51a,0x00000016, -0x524,0x0000000f, -0x525,0x0000004f, -0x546,0x00000040, -0x547,0x00000000, -0x550,0x00000010, -0x551,0x00000010, -0x559,0x00000002, -0x55a,0x00000002, -0x55d,0x000000ff, -0x605,0x00000030, -0x608,0x0000000e, -0x609,0x0000002a, -0x652,0x00000020, -0x652,0x00000020, -0x63c,0x00000008, -0x63d,0x00000008, -0x63e,0x0000000c, -0x63f,0x0000000c, -0x66e,0x00000005, -0x700,0x00000021, -0x701,0x00000043, -0x702,0x00000065, -0x703,0x00000087, -0x708,0x00000021, -0x709,0x00000043, -0x70a,0x00000065, -0x70b,0x00000087, -}; - +/*Created on 2011/ 6/16, 6: 8*/
+
+#include "../odm_precomp.h"
+// MAC reg V14 - 2011-11-23
+u4Byte Rtl8192CEMAC_2T_Array[Rtl8192CEMAC_2T_ArrayLength] = {
+0x420,0x00000080,
+0x423,0x00000000,
+0x430,0x00000000,
+0x431,0x00000000,
+0x432,0x00000000,
+0x433,0x00000001,
+0x434,0x00000004,
+0x435,0x00000005,
+0x436,0x00000006,
+0x437,0x00000007,
+0x438,0x00000000,
+0x439,0x00000000,
+0x43a,0x00000000,
+0x43b,0x00000001,
+0x43c,0x00000004,
+0x43d,0x00000005,
+0x43e,0x00000006,
+0x43f,0x00000007,
+0x440,0x0000005d,
+0x441,0x00000001,
+0x442,0x00000000,
+0x444,0x00000015,
+0x445,0x000000f0,
+0x446,0x0000000f,
+0x447,0x00000000,
+0x458,0x00000041,
+0x459,0x000000a8,
+0x45a,0x00000072,
+0x45b,0x000000b9,
+0x460,0x00000066,
+0x461,0x00000066,
+0x462,0x00000008,
+0x463,0x00000003,
+0x4c8,0x000000ff,
+0x4c9,0x00000008,
+0x4cc,0x000000ff,
+0x4cd,0x000000ff,
+0x4ce,0x00000001,
+0x500,0x00000026,
+0x501,0x000000a2,
+0x502,0x0000002f,
+0x503,0x00000000,
+0x504,0x00000028,
+0x505,0x000000a3,
+0x506,0x0000005e,
+0x507,0x00000000,
+0x508,0x0000002b,
+0x509,0x000000a4,
+0x50a,0x0000005e,
+0x50b,0x00000000,
+0x50c,0x0000004f,
+0x50d,0x000000a4,
+0x50e,0x00000000,
+0x50f,0x00000000,
+0x512,0x0000001c,
+0x514,0x0000000a,
+0x515,0x00000010,
+0x516,0x0000000a,
+0x517,0x00000010,
+0x51a,0x00000016,
+0x524,0x0000000f,
+0x525,0x0000004f,
+0x546,0x00000040,
+0x547,0x00000000,
+0x550,0x00000010,
+0x551,0x00000010,
+0x559,0x00000002,
+0x55a,0x00000002,
+0x55d,0x000000ff,
+0x605,0x00000030,
+0x608,0x0000000e,
+0x609,0x0000002a,
+0x652,0x00000020,
+0x652,0x00000020,
+0x63c,0x00000008,
+0x63d,0x00000008,
+0x63e,0x0000000c,
+0x63f,0x0000000c,
+0x66e,0x00000005,
+0x700,0x00000021,
+0x701,0x00000043,
+0x702,0x00000065,
+0x703,0x00000087,
+0x708,0x00000021,
+0x709,0x00000043,
+0x70a,0x00000065,
+0x70b,0x00000087,
+};
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.h index 4176c3930e34..b237bcaea6b7 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEMACImg_CE.h @@ -1,10 +1,10 @@ -#ifndef __INC_HAL8192CE_MAC_IMG_H -#define __INC_HAL8192CE_MAC_IMG_H - -/*Created on 2011/ 6/16, 6: 8*/ - -#define Rtl8192CEMAC_2T_ArrayLength 174 -extern u4Byte Rtl8192CEMAC_2T_Array[Rtl8192CEMAC_2T_ArrayLength]; - -#endif //__INC_HAL8192CE_FW_IMG_H - +#ifndef __INC_HAL8192CE_MAC_IMG_H
+#define __INC_HAL8192CE_MAC_IMG_H
+
+/*Created on 2011/ 6/16, 6: 8*/
+
+#define Rtl8192CEMAC_2T_ArrayLength 174
+extern u4Byte Rtl8192CEMAC_2T_Array[Rtl8192CEMAC_2T_ArrayLength];
+
+#endif //__INC_HAL8192CE_FW_IMG_H
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.c index 3892736f8355..500af054379b 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.c @@ -1,1198 +1,1198 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -#include "../odm_precomp.h" - - -u4Byte Rtl8192CEPHY_REG_2TArray[Rtl8192CEPHY_REG_2TArrayLength] = { -0x024,0x0011800f, -0x028,0x00ffdb83, -0x800,0x80040002, -0x804,0x00000003, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10000330, //for Broadcom AP IOT -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x01000100, -0x82c,0x00390004, -0x830,0x27272727, -0x834,0x27272727, -0x838,0x27272727, -0x83c,0x27272727, -0x840,0x00010000, -0x844,0x00010000, -0x848,0x27272727, -0x84c,0x27272727, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x0c1b25a4, -0x860,0x66e60230, -0x864,0x061f0130, -0x868,0x27272727, -0x86c,0x2b2b2b27, -0x870,0x07000700, -0x874,0x22184000, -0x878,0x08080808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xcc0000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121313, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xc00,0x48071d40, -0xc04,0x03a05633, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x5116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x218610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0xa0e40000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00080740, -0xd04,0x00020403, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000010, -0xe68,0x001b25a4, -0xe6c,0x63db25a4, -0xe70,0x63db25a4, -0xe74,0x0c1b25a4, -0xe78,0x0c1b25a4, -0xe7c,0x0c1b25a4, -0xe80,0x0c1b25a4, -0xe84,0x63db25a4, -0xe88,0x0c1b25a4, -0xe8c,0x63db25a4, -0xed0,0x63db25a4, -0xed4,0x63db25a4, -0xed8,0x63db25a4, -0xedc,0x001b25a4, -0xee0,0x001b25a4, -0xeec,0x6fdb25a4, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u4Byte Rtl8192CEPHY_REG_1TArray[Rtl8192CEPHY_REG_1TArrayLength] = { -0x024,0x0011800f, -0x028,0x00ffdb83, -0x800,0x80040000, -0x804,0x00000001, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10000330, //for Broadcom AP IOT -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66e60230, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x32323200, -0x870,0x07000700, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x5116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00000740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u4Byte Rtl8192CEPHY_ChangeTo_1T1RArray[Rtl8192CEPHY_ChangeTo_1T1RArrayLength] = { -0x0, }; - -u4Byte Rtl8192CEPHY_ChangeTo_1T2RArray[Rtl8192CEPHY_ChangeTo_1T2RArrayLength] = { -0x0, }; - -u4Byte Rtl8192CEPHY_ChangeTo_2T2RArray[Rtl8192CEPHY_ChangeTo_2T2RArrayLength] = { -0x0, }; - -u4Byte Rtl8192CEPHY_REG_Array_PG[Rtl8192CEPHY_REG_Array_PGLength] = { -0xe00,0xffffffff,0x07090c0c, -0xe04,0xffffffff,0x01020405, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x0b0c0c0e, -0xe14,0xffffffff,0x01030506, -0xe18,0xffffffff,0x0b0c0d0e, -0xe1c,0xffffffff,0x01030509, -0x830,0xffffffff,0x07090c0c, -0x834,0xffffffff,0x01020405, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x0b0c0d0e, -0x848,0xffffffff,0x01030509, -0x84c,0xffffffff,0x0b0c0d0e, -0x868,0xffffffff,0x01030509, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x06060606, -0xe14,0xffffffff,0x00020406, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x06060606, -0x848,0xffffffff,0x00020406, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -}; - -u4Byte Rtl8192CEPHY_REG_Array_MP[Rtl8192CEPHY_REG_Array_MPLength] = { -0xc30,0x69e9ac4a, -0xc3c,0x0a979718, -}; - -u4Byte Rtl8192CERadioA_2TArray[Rtl8192CERadioA_2TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00010255, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x000577c0, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u4Byte Rtl8192CERadioB_2TArray[Rtl8192CERadioB_2TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -}; - -u4Byte Rtl8192CERadioA_1TArray[Rtl8192CERadioA_1TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001af31, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00010255, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x000577c0, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u4Byte Rtl8192CERadioB_1TArray[Rtl8192CERadioB_1TArrayLength] = { -0x0, }; - -u4Byte Rtl8192CERadioB_GM_Array[Rtl8192CERadioB_GM_ArrayLength] = { -0x0, }; - -u4Byte Rtl8192CEMACPHY_Array_PG[Rtl8192CEMACPHY_Array_PGLength] = { -0x0, }; - -u4Byte Rtl8192CEAGCTAB_2TArray[Rtl8192CEAGCTAB_2TArrayLength] = { -0xc78,0x7b000001, -0xc78,0x7b010001, -0xc78,0x7b020001, -0xc78,0x7b030001, -0xc78,0x7b040001, -0xc78,0x7b050001, -0xc78,0x7a060001, -0xc78,0x79070001, -0xc78,0x78080001, -0xc78,0x77090001, -0xc78,0x760a0001, -0xc78,0x750b0001, -0xc78,0x740c0001, -0xc78,0x730d0001, -0xc78,0x720e0001, -0xc78,0x710f0001, -0xc78,0x70100001, -0xc78,0x6f110001, -0xc78,0x6e120001, -0xc78,0x6d130001, -0xc78,0x6c140001, -0xc78,0x6b150001, -0xc78,0x6a160001, -0xc78,0x69170001, -0xc78,0x68180001, -0xc78,0x67190001, -0xc78,0x661a0001, -0xc78,0x651b0001, -0xc78,0x641c0001, -0xc78,0x631d0001, -0xc78,0x621e0001, -0xc78,0x611f0001, -0xc78,0x60200001, -0xc78,0x49210001, -0xc78,0x48220001, -0xc78,0x47230001, -0xc78,0x46240001, -0xc78,0x45250001, -0xc78,0x44260001, -0xc78,0x43270001, -0xc78,0x42280001, -0xc78,0x41290001, -0xc78,0x402a0001, -0xc78,0x262b0001, -0xc78,0x252c0001, -0xc78,0x242d0001, -0xc78,0x232e0001, -0xc78,0x222f0001, -0xc78,0x21300001, -0xc78,0x20310001, -0xc78,0x06320001, -0xc78,0x05330001, -0xc78,0x04340001, -0xc78,0x03350001, -0xc78,0x02360001, -0xc78,0x01370001, -0xc78,0x00380001, -0xc78,0x00390001, -0xc78,0x003a0001, -0xc78,0x003b0001, -0xc78,0x003c0001, -0xc78,0x003d0001, -0xc78,0x003e0001, -0xc78,0x003f0001, -0xc78,0x7b400001, -0xc78,0x7b410001, -0xc78,0x7b420001, -0xc78,0x7b430001, -0xc78,0x7b440001, -0xc78,0x7b450001, -0xc78,0x7a460001, -0xc78,0x79470001, -0xc78,0x78480001, -0xc78,0x77490001, -0xc78,0x764a0001, -0xc78,0x754b0001, -0xc78,0x744c0001, -0xc78,0x734d0001, -0xc78,0x724e0001, -0xc78,0x714f0001, -0xc78,0x70500001, -0xc78,0x6f510001, -0xc78,0x6e520001, -0xc78,0x6d530001, -0xc78,0x6c540001, -0xc78,0x6b550001, -0xc78,0x6a560001, -0xc78,0x69570001, -0xc78,0x68580001, -0xc78,0x67590001, -0xc78,0x665a0001, -0xc78,0x655b0001, -0xc78,0x645c0001, -0xc78,0x635d0001, -0xc78,0x625e0001, -0xc78,0x615f0001, -0xc78,0x60600001, -0xc78,0x49610001, -0xc78,0x48620001, -0xc78,0x47630001, -0xc78,0x46640001, -0xc78,0x45650001, -0xc78,0x44660001, -0xc78,0x43670001, -0xc78,0x42680001, -0xc78,0x41690001, -0xc78,0x406a0001, -0xc78,0x266b0001, -0xc78,0x256c0001, -0xc78,0x246d0001, -0xc78,0x236e0001, -0xc78,0x226f0001, -0xc78,0x21700001, -0xc78,0x20710001, -0xc78,0x06720001, -0xc78,0x05730001, -0xc78,0x04740001, -0xc78,0x03750001, -0xc78,0x02760001, -0xc78,0x01770001, -0xc78,0x00780001, -0xc78,0x00790001, -0xc78,0x007a0001, -0xc78,0x007b0001, -0xc78,0x007c0001, -0xc78,0x007d0001, -0xc78,0x007e0001, -0xc78,0x007f0001, -0xc78,0x3800001e, -0xc78,0x3801001e, -0xc78,0x3802001e, -0xc78,0x3803001e, -0xc78,0x3804001e, -0xc78,0x3805001e, -0xc78,0x3806001e, -0xc78,0x3807001e, -0xc78,0x3808001e, -0xc78,0x3c09001e, -0xc78,0x3e0a001e, -0xc78,0x400b001e, -0xc78,0x440c001e, -0xc78,0x480d001e, -0xc78,0x4c0e001e, -0xc78,0x500f001e, -0xc78,0x5210001e, -0xc78,0x5611001e, -0xc78,0x5a12001e, -0xc78,0x5e13001e, -0xc78,0x6014001e, -0xc78,0x6015001e, -0xc78,0x6016001e, -0xc78,0x6217001e, -0xc78,0x6218001e, -0xc78,0x6219001e, -0xc78,0x621a001e, -0xc78,0x621b001e, -0xc78,0x621c001e, -0xc78,0x621d001e, -0xc78,0x621e001e, -0xc78,0x621f001e, -}; - -u4Byte Rtl8192CEAGCTAB_1TArray[Rtl8192CEAGCTAB_1TArrayLength] = { -0xc78,0x7b000001, -0xc78,0x7b010001, -0xc78,0x7b020001, -0xc78,0x7b030001, -0xc78,0x7b040001, -0xc78,0x7b050001, -0xc78,0x7a060001, -0xc78,0x79070001, -0xc78,0x78080001, -0xc78,0x77090001, -0xc78,0x760a0001, -0xc78,0x750b0001, -0xc78,0x740c0001, -0xc78,0x730d0001, -0xc78,0x720e0001, -0xc78,0x710f0001, -0xc78,0x70100001, -0xc78,0x6f110001, -0xc78,0x6e120001, -0xc78,0x6d130001, -0xc78,0x6c140001, -0xc78,0x6b150001, -0xc78,0x6a160001, -0xc78,0x69170001, -0xc78,0x68180001, -0xc78,0x67190001, -0xc78,0x661a0001, -0xc78,0x651b0001, -0xc78,0x641c0001, -0xc78,0x631d0001, -0xc78,0x621e0001, -0xc78,0x611f0001, -0xc78,0x60200001, -0xc78,0x49210001, -0xc78,0x48220001, -0xc78,0x47230001, -0xc78,0x46240001, -0xc78,0x45250001, -0xc78,0x44260001, -0xc78,0x43270001, -0xc78,0x42280001, -0xc78,0x41290001, -0xc78,0x402a0001, -0xc78,0x262b0001, -0xc78,0x252c0001, -0xc78,0x242d0001, -0xc78,0x232e0001, -0xc78,0x222f0001, -0xc78,0x21300001, -0xc78,0x20310001, -0xc78,0x06320001, -0xc78,0x05330001, -0xc78,0x04340001, -0xc78,0x03350001, -0xc78,0x02360001, -0xc78,0x01370001, -0xc78,0x00380001, -0xc78,0x00390001, -0xc78,0x003a0001, -0xc78,0x003b0001, -0xc78,0x003c0001, -0xc78,0x003d0001, -0xc78,0x003e0001, -0xc78,0x003f0001, -0xc78,0x7b400001, -0xc78,0x7b410001, -0xc78,0x7b420001, -0xc78,0x7b430001, -0xc78,0x7b440001, -0xc78,0x7b450001, -0xc78,0x7a460001, -0xc78,0x79470001, -0xc78,0x78480001, -0xc78,0x77490001, -0xc78,0x764a0001, -0xc78,0x754b0001, -0xc78,0x744c0001, -0xc78,0x734d0001, -0xc78,0x724e0001, -0xc78,0x714f0001, -0xc78,0x70500001, -0xc78,0x6f510001, -0xc78,0x6e520001, -0xc78,0x6d530001, -0xc78,0x6c540001, -0xc78,0x6b550001, -0xc78,0x6a560001, -0xc78,0x69570001, -0xc78,0x68580001, -0xc78,0x67590001, -0xc78,0x665a0001, -0xc78,0x655b0001, -0xc78,0x645c0001, -0xc78,0x635d0001, -0xc78,0x625e0001, -0xc78,0x615f0001, -0xc78,0x60600001, -0xc78,0x49610001, -0xc78,0x48620001, -0xc78,0x47630001, -0xc78,0x46640001, -0xc78,0x45650001, -0xc78,0x44660001, -0xc78,0x43670001, -0xc78,0x42680001, -0xc78,0x41690001, -0xc78,0x406a0001, -0xc78,0x266b0001, -0xc78,0x256c0001, -0xc78,0x246d0001, -0xc78,0x236e0001, -0xc78,0x226f0001, -0xc78,0x21700001, -0xc78,0x20710001, -0xc78,0x06720001, -0xc78,0x05730001, -0xc78,0x04740001, -0xc78,0x03750001, -0xc78,0x02760001, -0xc78,0x01770001, -0xc78,0x00780001, -0xc78,0x00790001, -0xc78,0x007a0001, -0xc78,0x007b0001, -0xc78,0x007c0001, -0xc78,0x007d0001, -0xc78,0x007e0001, -0xc78,0x007f0001, -0xc78,0x3800001e, -0xc78,0x3801001e, -0xc78,0x3802001e, -0xc78,0x3803001e, -0xc78,0x3804001e, -0xc78,0x3805001e, -0xc78,0x3806001e, -0xc78,0x3807001e, -0xc78,0x3808001e, -0xc78,0x3c09001e, -0xc78,0x3e0a001e, -0xc78,0x400b001e, -0xc78,0x440c001e, -0xc78,0x480d001e, -0xc78,0x4c0e001e, -0xc78,0x500f001e, -0xc78,0x5210001e, -0xc78,0x5611001e, -0xc78,0x5a12001e, -0xc78,0x5e13001e, -0xc78,0x6014001e, -0xc78,0x6015001e, -0xc78,0x6016001e, -0xc78,0x6217001e, -0xc78,0x6218001e, -0xc78,0x6219001e, -0xc78,0x621a001e, -0xc78,0x621b001e, -0xc78,0x621c001e, -0xc78,0x621d001e, -0xc78,0x621e001e, -0xc78,0x621f001e, -}; - - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+#include "../odm_precomp.h"
+
+
+u4Byte Rtl8192CEPHY_REG_2TArray[Rtl8192CEPHY_REG_2TArrayLength] = {
+0x024,0x0011800f,
+0x028,0x00ffdb83,
+0x800,0x80040002,
+0x804,0x00000003,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10000330, //for Broadcom AP IOT
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x01000100,
+0x82c,0x00390004,
+0x830,0x27272727,
+0x834,0x27272727,
+0x838,0x27272727,
+0x83c,0x27272727,
+0x840,0x00010000,
+0x844,0x00010000,
+0x848,0x27272727,
+0x84c,0x27272727,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x0c1b25a4,
+0x860,0x66e60230,
+0x864,0x061f0130,
+0x868,0x27272727,
+0x86c,0x2b2b2b27,
+0x870,0x07000700,
+0x874,0x22184000,
+0x878,0x08080808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xcc0000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121313,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xc00,0x48071d40,
+0xc04,0x03a05633,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x5116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x218610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0xa0e40000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00080740,
+0xd04,0x00020403,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000010,
+0xe68,0x001b25a4,
+0xe6c,0x63db25a4,
+0xe70,0x63db25a4,
+0xe74,0x0c1b25a4,
+0xe78,0x0c1b25a4,
+0xe7c,0x0c1b25a4,
+0xe80,0x0c1b25a4,
+0xe84,0x63db25a4,
+0xe88,0x0c1b25a4,
+0xe8c,0x63db25a4,
+0xed0,0x63db25a4,
+0xed4,0x63db25a4,
+0xed8,0x63db25a4,
+0xedc,0x001b25a4,
+0xee0,0x001b25a4,
+0xeec,0x6fdb25a4,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u4Byte Rtl8192CEPHY_REG_1TArray[Rtl8192CEPHY_REG_1TArrayLength] = {
+0x024,0x0011800f,
+0x028,0x00ffdb83,
+0x800,0x80040000,
+0x804,0x00000001,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10000330, //for Broadcom AP IOT
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66e60230,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x32323200,
+0x870,0x07000700,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x5116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00000740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u4Byte Rtl8192CEPHY_ChangeTo_1T1RArray[Rtl8192CEPHY_ChangeTo_1T1RArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CEPHY_ChangeTo_1T2RArray[Rtl8192CEPHY_ChangeTo_1T2RArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CEPHY_ChangeTo_2T2RArray[Rtl8192CEPHY_ChangeTo_2T2RArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CEPHY_REG_Array_PG[Rtl8192CEPHY_REG_Array_PGLength] = {
+0xe00,0xffffffff,0x07090c0c,
+0xe04,0xffffffff,0x01020405,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x0b0c0c0e,
+0xe14,0xffffffff,0x01030506,
+0xe18,0xffffffff,0x0b0c0d0e,
+0xe1c,0xffffffff,0x01030509,
+0x830,0xffffffff,0x07090c0c,
+0x834,0xffffffff,0x01020405,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x0b0c0d0e,
+0x848,0xffffffff,0x01030509,
+0x84c,0xffffffff,0x0b0c0d0e,
+0x868,0xffffffff,0x01030509,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x06060606,
+0xe14,0xffffffff,0x00020406,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x06060606,
+0x848,0xffffffff,0x00020406,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+};
+
+u4Byte Rtl8192CEPHY_REG_Array_MP[Rtl8192CEPHY_REG_Array_MPLength] = {
+0xc30,0x69e9ac4a,
+0xc3c,0x0a979718,
+};
+
+u4Byte Rtl8192CERadioA_2TArray[Rtl8192CERadioA_2TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00010255,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x000577c0,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u4Byte Rtl8192CERadioB_2TArray[Rtl8192CERadioB_2TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+};
+
+u4Byte Rtl8192CERadioA_1TArray[Rtl8192CERadioA_1TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001af31,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00010255,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x000577c0,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u4Byte Rtl8192CERadioB_1TArray[Rtl8192CERadioB_1TArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CERadioB_GM_Array[Rtl8192CERadioB_GM_ArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CEMACPHY_Array_PG[Rtl8192CEMACPHY_Array_PGLength] = {
+0x0, };
+
+u4Byte Rtl8192CEAGCTAB_2TArray[Rtl8192CEAGCTAB_2TArrayLength] = {
+0xc78,0x7b000001,
+0xc78,0x7b010001,
+0xc78,0x7b020001,
+0xc78,0x7b030001,
+0xc78,0x7b040001,
+0xc78,0x7b050001,
+0xc78,0x7a060001,
+0xc78,0x79070001,
+0xc78,0x78080001,
+0xc78,0x77090001,
+0xc78,0x760a0001,
+0xc78,0x750b0001,
+0xc78,0x740c0001,
+0xc78,0x730d0001,
+0xc78,0x720e0001,
+0xc78,0x710f0001,
+0xc78,0x70100001,
+0xc78,0x6f110001,
+0xc78,0x6e120001,
+0xc78,0x6d130001,
+0xc78,0x6c140001,
+0xc78,0x6b150001,
+0xc78,0x6a160001,
+0xc78,0x69170001,
+0xc78,0x68180001,
+0xc78,0x67190001,
+0xc78,0x661a0001,
+0xc78,0x651b0001,
+0xc78,0x641c0001,
+0xc78,0x631d0001,
+0xc78,0x621e0001,
+0xc78,0x611f0001,
+0xc78,0x60200001,
+0xc78,0x49210001,
+0xc78,0x48220001,
+0xc78,0x47230001,
+0xc78,0x46240001,
+0xc78,0x45250001,
+0xc78,0x44260001,
+0xc78,0x43270001,
+0xc78,0x42280001,
+0xc78,0x41290001,
+0xc78,0x402a0001,
+0xc78,0x262b0001,
+0xc78,0x252c0001,
+0xc78,0x242d0001,
+0xc78,0x232e0001,
+0xc78,0x222f0001,
+0xc78,0x21300001,
+0xc78,0x20310001,
+0xc78,0x06320001,
+0xc78,0x05330001,
+0xc78,0x04340001,
+0xc78,0x03350001,
+0xc78,0x02360001,
+0xc78,0x01370001,
+0xc78,0x00380001,
+0xc78,0x00390001,
+0xc78,0x003a0001,
+0xc78,0x003b0001,
+0xc78,0x003c0001,
+0xc78,0x003d0001,
+0xc78,0x003e0001,
+0xc78,0x003f0001,
+0xc78,0x7b400001,
+0xc78,0x7b410001,
+0xc78,0x7b420001,
+0xc78,0x7b430001,
+0xc78,0x7b440001,
+0xc78,0x7b450001,
+0xc78,0x7a460001,
+0xc78,0x79470001,
+0xc78,0x78480001,
+0xc78,0x77490001,
+0xc78,0x764a0001,
+0xc78,0x754b0001,
+0xc78,0x744c0001,
+0xc78,0x734d0001,
+0xc78,0x724e0001,
+0xc78,0x714f0001,
+0xc78,0x70500001,
+0xc78,0x6f510001,
+0xc78,0x6e520001,
+0xc78,0x6d530001,
+0xc78,0x6c540001,
+0xc78,0x6b550001,
+0xc78,0x6a560001,
+0xc78,0x69570001,
+0xc78,0x68580001,
+0xc78,0x67590001,
+0xc78,0x665a0001,
+0xc78,0x655b0001,
+0xc78,0x645c0001,
+0xc78,0x635d0001,
+0xc78,0x625e0001,
+0xc78,0x615f0001,
+0xc78,0x60600001,
+0xc78,0x49610001,
+0xc78,0x48620001,
+0xc78,0x47630001,
+0xc78,0x46640001,
+0xc78,0x45650001,
+0xc78,0x44660001,
+0xc78,0x43670001,
+0xc78,0x42680001,
+0xc78,0x41690001,
+0xc78,0x406a0001,
+0xc78,0x266b0001,
+0xc78,0x256c0001,
+0xc78,0x246d0001,
+0xc78,0x236e0001,
+0xc78,0x226f0001,
+0xc78,0x21700001,
+0xc78,0x20710001,
+0xc78,0x06720001,
+0xc78,0x05730001,
+0xc78,0x04740001,
+0xc78,0x03750001,
+0xc78,0x02760001,
+0xc78,0x01770001,
+0xc78,0x00780001,
+0xc78,0x00790001,
+0xc78,0x007a0001,
+0xc78,0x007b0001,
+0xc78,0x007c0001,
+0xc78,0x007d0001,
+0xc78,0x007e0001,
+0xc78,0x007f0001,
+0xc78,0x3800001e,
+0xc78,0x3801001e,
+0xc78,0x3802001e,
+0xc78,0x3803001e,
+0xc78,0x3804001e,
+0xc78,0x3805001e,
+0xc78,0x3806001e,
+0xc78,0x3807001e,
+0xc78,0x3808001e,
+0xc78,0x3c09001e,
+0xc78,0x3e0a001e,
+0xc78,0x400b001e,
+0xc78,0x440c001e,
+0xc78,0x480d001e,
+0xc78,0x4c0e001e,
+0xc78,0x500f001e,
+0xc78,0x5210001e,
+0xc78,0x5611001e,
+0xc78,0x5a12001e,
+0xc78,0x5e13001e,
+0xc78,0x6014001e,
+0xc78,0x6015001e,
+0xc78,0x6016001e,
+0xc78,0x6217001e,
+0xc78,0x6218001e,
+0xc78,0x6219001e,
+0xc78,0x621a001e,
+0xc78,0x621b001e,
+0xc78,0x621c001e,
+0xc78,0x621d001e,
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
+
+u4Byte Rtl8192CEAGCTAB_1TArray[Rtl8192CEAGCTAB_1TArrayLength] = {
+0xc78,0x7b000001,
+0xc78,0x7b010001,
+0xc78,0x7b020001,
+0xc78,0x7b030001,
+0xc78,0x7b040001,
+0xc78,0x7b050001,
+0xc78,0x7a060001,
+0xc78,0x79070001,
+0xc78,0x78080001,
+0xc78,0x77090001,
+0xc78,0x760a0001,
+0xc78,0x750b0001,
+0xc78,0x740c0001,
+0xc78,0x730d0001,
+0xc78,0x720e0001,
+0xc78,0x710f0001,
+0xc78,0x70100001,
+0xc78,0x6f110001,
+0xc78,0x6e120001,
+0xc78,0x6d130001,
+0xc78,0x6c140001,
+0xc78,0x6b150001,
+0xc78,0x6a160001,
+0xc78,0x69170001,
+0xc78,0x68180001,
+0xc78,0x67190001,
+0xc78,0x661a0001,
+0xc78,0x651b0001,
+0xc78,0x641c0001,
+0xc78,0x631d0001,
+0xc78,0x621e0001,
+0xc78,0x611f0001,
+0xc78,0x60200001,
+0xc78,0x49210001,
+0xc78,0x48220001,
+0xc78,0x47230001,
+0xc78,0x46240001,
+0xc78,0x45250001,
+0xc78,0x44260001,
+0xc78,0x43270001,
+0xc78,0x42280001,
+0xc78,0x41290001,
+0xc78,0x402a0001,
+0xc78,0x262b0001,
+0xc78,0x252c0001,
+0xc78,0x242d0001,
+0xc78,0x232e0001,
+0xc78,0x222f0001,
+0xc78,0x21300001,
+0xc78,0x20310001,
+0xc78,0x06320001,
+0xc78,0x05330001,
+0xc78,0x04340001,
+0xc78,0x03350001,
+0xc78,0x02360001,
+0xc78,0x01370001,
+0xc78,0x00380001,
+0xc78,0x00390001,
+0xc78,0x003a0001,
+0xc78,0x003b0001,
+0xc78,0x003c0001,
+0xc78,0x003d0001,
+0xc78,0x003e0001,
+0xc78,0x003f0001,
+0xc78,0x7b400001,
+0xc78,0x7b410001,
+0xc78,0x7b420001,
+0xc78,0x7b430001,
+0xc78,0x7b440001,
+0xc78,0x7b450001,
+0xc78,0x7a460001,
+0xc78,0x79470001,
+0xc78,0x78480001,
+0xc78,0x77490001,
+0xc78,0x764a0001,
+0xc78,0x754b0001,
+0xc78,0x744c0001,
+0xc78,0x734d0001,
+0xc78,0x724e0001,
+0xc78,0x714f0001,
+0xc78,0x70500001,
+0xc78,0x6f510001,
+0xc78,0x6e520001,
+0xc78,0x6d530001,
+0xc78,0x6c540001,
+0xc78,0x6b550001,
+0xc78,0x6a560001,
+0xc78,0x69570001,
+0xc78,0x68580001,
+0xc78,0x67590001,
+0xc78,0x665a0001,
+0xc78,0x655b0001,
+0xc78,0x645c0001,
+0xc78,0x635d0001,
+0xc78,0x625e0001,
+0xc78,0x615f0001,
+0xc78,0x60600001,
+0xc78,0x49610001,
+0xc78,0x48620001,
+0xc78,0x47630001,
+0xc78,0x46640001,
+0xc78,0x45650001,
+0xc78,0x44660001,
+0xc78,0x43670001,
+0xc78,0x42680001,
+0xc78,0x41690001,
+0xc78,0x406a0001,
+0xc78,0x266b0001,
+0xc78,0x256c0001,
+0xc78,0x246d0001,
+0xc78,0x236e0001,
+0xc78,0x226f0001,
+0xc78,0x21700001,
+0xc78,0x20710001,
+0xc78,0x06720001,
+0xc78,0x05730001,
+0xc78,0x04740001,
+0xc78,0x03750001,
+0xc78,0x02760001,
+0xc78,0x01770001,
+0xc78,0x00780001,
+0xc78,0x00790001,
+0xc78,0x007a0001,
+0xc78,0x007b0001,
+0xc78,0x007c0001,
+0xc78,0x007d0001,
+0xc78,0x007e0001,
+0xc78,0x007f0001,
+0xc78,0x3800001e,
+0xc78,0x3801001e,
+0xc78,0x3802001e,
+0xc78,0x3803001e,
+0xc78,0x3804001e,
+0xc78,0x3805001e,
+0xc78,0x3806001e,
+0xc78,0x3807001e,
+0xc78,0x3808001e,
+0xc78,0x3c09001e,
+0xc78,0x3e0a001e,
+0xc78,0x400b001e,
+0xc78,0x440c001e,
+0xc78,0x480d001e,
+0xc78,0x4c0e001e,
+0xc78,0x500f001e,
+0xc78,0x5210001e,
+0xc78,0x5611001e,
+0xc78,0x5a12001e,
+0xc78,0x5e13001e,
+0xc78,0x6014001e,
+0xc78,0x6015001e,
+0xc78,0x6016001e,
+0xc78,0x6217001e,
+0xc78,0x6218001e,
+0xc78,0x6219001e,
+0xc78,0x621a001e,
+0xc78,0x621b001e,
+0xc78,0x621c001e,
+0xc78,0x621d001e,
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
+
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.h index 04e62d28742b..7c1f882cd5b0 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CEPHYImg_CE.h @@ -1,60 +1,60 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -#ifndef __INC_HAL8192CE_PHY_IMG_H -#define __INC_HAL8192CE_PHY_IMG_H - - -/*Created on 2011/ 6/16, 6: 8*/ - -#define Rtl8192CEPHY_REG_2TArrayLength 374 -extern u4Byte Rtl8192CEPHY_REG_2TArray[Rtl8192CEPHY_REG_2TArrayLength]; -#define Rtl8192CEPHY_REG_1TArrayLength 374 -extern u4Byte Rtl8192CEPHY_REG_1TArray[Rtl8192CEPHY_REG_1TArrayLength]; -#define Rtl8192CEPHY_ChangeTo_1T1RArrayLength 1 -extern u4Byte Rtl8192CEPHY_ChangeTo_1T1RArray[Rtl8192CEPHY_ChangeTo_1T1RArrayLength]; -#define Rtl8192CEPHY_ChangeTo_1T2RArrayLength 1 -extern u4Byte Rtl8192CEPHY_ChangeTo_1T2RArray[Rtl8192CEPHY_ChangeTo_1T2RArrayLength]; -#define Rtl8192CEPHY_ChangeTo_2T2RArrayLength 1 -extern u4Byte Rtl8192CEPHY_ChangeTo_2T2RArray[Rtl8192CEPHY_ChangeTo_2T2RArrayLength]; -#define Rtl8192CEPHY_REG_Array_PGLength 336 -extern u4Byte Rtl8192CEPHY_REG_Array_PG[Rtl8192CEPHY_REG_Array_PGLength]; -#define Rtl8192CEPHY_REG_Array_MPLength 4 -extern u4Byte Rtl8192CEPHY_REG_Array_MP[Rtl8192CEPHY_REG_Array_MPLength]; -#define Rtl8192CERadioA_2TArrayLength 282 -extern u4Byte Rtl8192CERadioA_2TArray[Rtl8192CERadioA_2TArrayLength]; -#define Rtl8192CERadioB_2TArrayLength 78 -extern u4Byte Rtl8192CERadioB_2TArray[Rtl8192CERadioB_2TArrayLength]; -#define Rtl8192CERadioA_1TArrayLength 282 -extern u4Byte Rtl8192CERadioA_1TArray[Rtl8192CERadioA_1TArrayLength]; -#define Rtl8192CERadioB_1TArrayLength 1 -extern u4Byte Rtl8192CERadioB_1TArray[Rtl8192CERadioB_1TArrayLength]; -#define Rtl8192CERadioB_GM_ArrayLength 1 -extern u4Byte Rtl8192CERadioB_GM_Array[Rtl8192CERadioB_GM_ArrayLength]; -#define Rtl8192CEMACPHY_Array_PGLength 1 -extern u4Byte Rtl8192CEMACPHY_Array_PG[Rtl8192CEMACPHY_Array_PGLength]; -#define Rtl8192CEAGCTAB_2TArrayLength 320 -extern u4Byte Rtl8192CEAGCTAB_2TArray[Rtl8192CEAGCTAB_2TArrayLength]; -#define Rtl8192CEAGCTAB_1TArrayLength 320 -extern u4Byte Rtl8192CEAGCTAB_1TArray[Rtl8192CEAGCTAB_1TArrayLength]; - - -#endif //__INC_HAL8192CE_FW_IMG_H - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+#ifndef __INC_HAL8192CE_PHY_IMG_H
+#define __INC_HAL8192CE_PHY_IMG_H
+
+
+/*Created on 2011/ 6/16, 6: 8*/
+
+#define Rtl8192CEPHY_REG_2TArrayLength 374
+extern u4Byte Rtl8192CEPHY_REG_2TArray[Rtl8192CEPHY_REG_2TArrayLength];
+#define Rtl8192CEPHY_REG_1TArrayLength 374
+extern u4Byte Rtl8192CEPHY_REG_1TArray[Rtl8192CEPHY_REG_1TArrayLength];
+#define Rtl8192CEPHY_ChangeTo_1T1RArrayLength 1
+extern u4Byte Rtl8192CEPHY_ChangeTo_1T1RArray[Rtl8192CEPHY_ChangeTo_1T1RArrayLength];
+#define Rtl8192CEPHY_ChangeTo_1T2RArrayLength 1
+extern u4Byte Rtl8192CEPHY_ChangeTo_1T2RArray[Rtl8192CEPHY_ChangeTo_1T2RArrayLength];
+#define Rtl8192CEPHY_ChangeTo_2T2RArrayLength 1
+extern u4Byte Rtl8192CEPHY_ChangeTo_2T2RArray[Rtl8192CEPHY_ChangeTo_2T2RArrayLength];
+#define Rtl8192CEPHY_REG_Array_PGLength 336
+extern u4Byte Rtl8192CEPHY_REG_Array_PG[Rtl8192CEPHY_REG_Array_PGLength];
+#define Rtl8192CEPHY_REG_Array_MPLength 4
+extern u4Byte Rtl8192CEPHY_REG_Array_MP[Rtl8192CEPHY_REG_Array_MPLength];
+#define Rtl8192CERadioA_2TArrayLength 282
+extern u4Byte Rtl8192CERadioA_2TArray[Rtl8192CERadioA_2TArrayLength];
+#define Rtl8192CERadioB_2TArrayLength 78
+extern u4Byte Rtl8192CERadioB_2TArray[Rtl8192CERadioB_2TArrayLength];
+#define Rtl8192CERadioA_1TArrayLength 282
+extern u4Byte Rtl8192CERadioA_1TArray[Rtl8192CERadioA_1TArrayLength];
+#define Rtl8192CERadioB_1TArrayLength 1
+extern u4Byte Rtl8192CERadioB_1TArray[Rtl8192CERadioB_1TArrayLength];
+#define Rtl8192CERadioB_GM_ArrayLength 1
+extern u4Byte Rtl8192CERadioB_GM_Array[Rtl8192CERadioB_GM_ArrayLength];
+#define Rtl8192CEMACPHY_Array_PGLength 1
+extern u4Byte Rtl8192CEMACPHY_Array_PG[Rtl8192CEMACPHY_Array_PGLength];
+#define Rtl8192CEAGCTAB_2TArrayLength 320
+extern u4Byte Rtl8192CEAGCTAB_2TArray[Rtl8192CEAGCTAB_2TArrayLength];
+#define Rtl8192CEAGCTAB_1TArrayLength 320
+extern u4Byte Rtl8192CEAGCTAB_1TArray[Rtl8192CEAGCTAB_1TArrayLength];
+
+
+#endif //__INC_HAL8192CE_FW_IMG_H
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CReg.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CReg.h index fed4689b248b..111a350f8ab0 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CReg.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CReg.h @@ -1,45 +1,45 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -//============================================================ -// File Name: Hal8192CReg.h -// -// Description: -// -// This file is for 92CE/92CU register definition. -// -// -//============================================================ -#ifndef __HAL_8192C_REG_H__ -#define __HAL_8192C_REG_H__ - -// -// Register Definition -// -#define ODM_R_A_AGC_CORE1_8192C 0xc50 - - -// -// Bitmap Definition -// -#define BIT_FA_RESET_8192C BIT0 - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+//============================================================
+// File Name: Hal8192CReg.h
+//
+// Description:
+//
+// This file is for 92CE/92CU register definition.
+//
+//
+//============================================================
+#ifndef __HAL_8192C_REG_H__
+#define __HAL_8192C_REG_H__
+
+//
+// Register Definition
+//
+#define ODM_R_A_AGC_CORE1_8192C 0xc50
+
+
+//
+// Bitmap Definition
+//
+#define BIT_FA_RESET_8192C BIT0
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.c index 5a641b868db7..ff4856de3856 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.c @@ -1,97 +1,97 @@ -/*Created on 2011/ 6/16, 6: 8*/ - -#include "../odm_precomp.h" - - -// MAC reg V14 - 2011-11-23 -u4Byte Rtl8192CUMAC_2T_Array[Rtl8192CUMAC_2T_ArrayLength] = { -0x420,0x00000080, -0x423,0x00000000, -0x430,0x00000000, -0x431,0x00000000, -0x432,0x00000000, -0x433,0x00000001, -0x434,0x00000004, -0x435,0x00000005, -0x436,0x00000006, -0x437,0x00000007, -0x438,0x00000000, -0x439,0x00000000, -0x43a,0x00000000, -0x43b,0x00000001, -0x43c,0x00000004, -0x43d,0x00000005, -0x43e,0x00000006, -0x43f,0x00000007, -0x440,0x0000005d, -0x441,0x00000001, -0x442,0x00000000, -0x444,0x00000015, -0x445,0x000000f0, -0x446,0x0000000f, -0x447,0x00000000, -0x458,0x00000041, -0x459,0x000000a8, -0x45a,0x00000072, -0x45b,0x000000b9, -0x460,0x00000066, -0x461,0x00000066, -0x462,0x00000008, -0x463,0x00000003, -0x4c8,0x000000ff, -0x4c9,0x00000008, -0x4cc,0x000000ff, -0x4cd,0x000000ff, -0x4ce,0x00000001, -0x500,0x00000026, -0x501,0x000000a2, -0x502,0x0000002f, -0x503,0x00000000, -0x504,0x00000028, -0x505,0x000000a3, -0x506,0x0000005e, -0x507,0x00000000, -0x508,0x0000002b, -0x509,0x000000a4, -0x50a,0x0000005e, -0x50b,0x00000000, -0x50c,0x0000004f, -0x50d,0x000000a4, -0x50e,0x00000000, -0x50f,0x00000000, -0x512,0x0000001c, -0x514,0x0000000a, -0x515,0x00000010, -0x516,0x0000000a, -0x517,0x00000010, -0x51a,0x00000016, -0x524,0x0000000f, -0x525,0x0000004f, -0x546,0x00000040, -0x547,0x00000000, -0x550,0x00000010, -0x551,0x00000010, -0x559,0x00000002, -0x55a,0x00000002, -0x55d,0x000000ff, -0x605,0x00000030, -0x608,0x0000000e, -0x609,0x0000002a, -0x652,0x00000020, -0x652,0x00000020, -0x63c,0x00000008, -0x63d,0x00000008, -0x63e,0x0000000c, -0x63f,0x0000000c, -0x66e,0x00000005, -0x700,0x00000021, -0x701,0x00000043, -0x702,0x00000065, -0x703,0x00000087, -0x708,0x00000021, -0x709,0x00000043, -0x70a,0x00000065, -0x70b,0x00000087, -}; - - +/*Created on 2011/ 6/16, 6: 8*/
+
+#include "../odm_precomp.h"
+
+
+// MAC reg V14 - 2011-11-23
+u4Byte Rtl8192CUMAC_2T_Array[Rtl8192CUMAC_2T_ArrayLength] = {
+0x420,0x00000080,
+0x423,0x00000000,
+0x430,0x00000000,
+0x431,0x00000000,
+0x432,0x00000000,
+0x433,0x00000001,
+0x434,0x00000004,
+0x435,0x00000005,
+0x436,0x00000006,
+0x437,0x00000007,
+0x438,0x00000000,
+0x439,0x00000000,
+0x43a,0x00000000,
+0x43b,0x00000001,
+0x43c,0x00000004,
+0x43d,0x00000005,
+0x43e,0x00000006,
+0x43f,0x00000007,
+0x440,0x0000005d,
+0x441,0x00000001,
+0x442,0x00000000,
+0x444,0x00000015,
+0x445,0x000000f0,
+0x446,0x0000000f,
+0x447,0x00000000,
+0x458,0x00000041,
+0x459,0x000000a8,
+0x45a,0x00000072,
+0x45b,0x000000b9,
+0x460,0x00000066,
+0x461,0x00000066,
+0x462,0x00000008,
+0x463,0x00000003,
+0x4c8,0x000000ff,
+0x4c9,0x00000008,
+0x4cc,0x000000ff,
+0x4cd,0x000000ff,
+0x4ce,0x00000001,
+0x500,0x00000026,
+0x501,0x000000a2,
+0x502,0x0000002f,
+0x503,0x00000000,
+0x504,0x00000028,
+0x505,0x000000a3,
+0x506,0x0000005e,
+0x507,0x00000000,
+0x508,0x0000002b,
+0x509,0x000000a4,
+0x50a,0x0000005e,
+0x50b,0x00000000,
+0x50c,0x0000004f,
+0x50d,0x000000a4,
+0x50e,0x00000000,
+0x50f,0x00000000,
+0x512,0x0000001c,
+0x514,0x0000000a,
+0x515,0x00000010,
+0x516,0x0000000a,
+0x517,0x00000010,
+0x51a,0x00000016,
+0x524,0x0000000f,
+0x525,0x0000004f,
+0x546,0x00000040,
+0x547,0x00000000,
+0x550,0x00000010,
+0x551,0x00000010,
+0x559,0x00000002,
+0x55a,0x00000002,
+0x55d,0x000000ff,
+0x605,0x00000030,
+0x608,0x0000000e,
+0x609,0x0000002a,
+0x652,0x00000020,
+0x652,0x00000020,
+0x63c,0x00000008,
+0x63d,0x00000008,
+0x63e,0x0000000c,
+0x63f,0x0000000c,
+0x66e,0x00000005,
+0x700,0x00000021,
+0x701,0x00000043,
+0x702,0x00000065,
+0x703,0x00000087,
+0x708,0x00000021,
+0x709,0x00000043,
+0x70a,0x00000065,
+0x70b,0x00000087,
+};
+
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.h index fdb76cf5363e..869025a98f1a 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUMACImg_CE.h @@ -1,12 +1,12 @@ -#ifndef __INC_HAL8192CU_MAC_IMG_H -#define __INC_HAL8192CU_MAC_IMG_H - -/*Created on 2011/ 6/16, 6: 8*/ - - -// MAC reg V14 - 2011-11-23 -#define Rtl8192CUMAC_2T_ArrayLength 174 -extern u4Byte Rtl8192CUMAC_2T_Array[Rtl8192CUMAC_2T_ArrayLength]; - -#endif //__INC_HAL8192CE_FW_IMG_H - +#ifndef __INC_HAL8192CU_MAC_IMG_H
+#define __INC_HAL8192CU_MAC_IMG_H
+
+/*Created on 2011/ 6/16, 6: 8*/
+
+
+// MAC reg V14 - 2011-11-23
+#define Rtl8192CUMAC_2T_ArrayLength 174
+extern u4Byte Rtl8192CUMAC_2T_Array[Rtl8192CUMAC_2T_ArrayLength];
+
+#endif //__INC_HAL8192CE_FW_IMG_H
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.c index 5580c8c74c9d..7a961b6fe1d8 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.c @@ -1,2642 +1,2642 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -/*Created on 2011/ 6/29, 10:30*/ - -#include "../odm_precomp.h" - - -u4Byte Rtl8192CUPHY_REG_2TArray[Rtl8192CUPHY_REG_2TArrayLength] = { -0x024,0x0011800f, -0x028,0x00ffdb83, -0x800,0x80040002, -0x804,0x00000003, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10000330, //for Broadcom AP IOT -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x01000100, -0x82c,0x00390004, -0x830,0x27272727, -0x834,0x27272727, -0x838,0x27272727, -0x83c,0x27272727, -0x840,0x00010000, -0x844,0x00010000, -0x848,0x27272727, -0x84c,0x27272727, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x0c1b25a4, -0x860,0x66e60230, -0x864,0x061f0130, -0x868,0x27272727, -0x86c,0x2b2b2b27, -0x870,0x07000700, -0x874,0x22184000, -0x878,0x08080808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xcc0000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121313, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xc00,0x48071d40, -0xc04,0x03a05633, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x5116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x2186115b, -0xc78,0x0000001f, -0xc7c,0x00b99612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0xa0e40000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00080740, -0xd04,0x00020403, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000010, -0xe68,0x001b25a4, -0xe6c,0x63db25a4, -0xe70,0x63db25a4, -0xe74,0x0c1b25a4, -0xe78,0x0c1b25a4, -0xe7c,0x0c1b25a4, -0xe80,0x0c1b25a4, -0xe84,0x63db25a4, -0xe88,0x0c1b25a4, -0xe8c,0x63db25a4, -0xed0,0x63db25a4, -0xed4,0x63db25a4, -0xed8,0x63db25a4, -0xedc,0x001b25a4, -0xee0,0x001b25a4, -0xeec,0x6fdb25a4, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u4Byte Rtl8192CUPHY_REG_1TArray[Rtl8192CUPHY_REG_1TArrayLength] = { -0x024,0x0011800f, -0x028,0x00ffdb83, -0x800,0x80040000, -0x804,0x00000001, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10000330, //for Broadcom AP IOT -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66e60230, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x32323200, -0x870,0x07000700, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x5116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00000740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u4Byte Rtl8192CUPHY_ChangeTo_1T1RArray[Rtl8192CUPHY_ChangeTo_1T1RArrayLength] = { -0x0, }; - -u4Byte Rtl8192CUPHY_ChangeTo_1T2RArray[Rtl8192CUPHY_ChangeTo_1T2RArrayLength] = { -0x0, }; - -u4Byte Rtl8192CUPHY_ChangeTo_2T2RArray[Rtl8192CUPHY_ChangeTo_2T2RArrayLength] = { -0x0, }; - -u4Byte Rtl8192CUPHY_REG_Array_PG[Rtl8192CUPHY_REG_Array_PGLength] = { -0xe00,0xffffffff,0x07090c0c, -0xe04,0xffffffff,0x01020405, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x0b0c0c0e, -0xe14,0xffffffff,0x01030506, -0xe18,0xffffffff,0x0b0c0d0e, -0xe1c,0xffffffff,0x01030509, -0x830,0xffffffff,0x07090c0c, -0x834,0xffffffff,0x01020405, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x0b0c0d0e, -0x848,0xffffffff,0x01030509, -0x84c,0xffffffff,0x0b0c0d0e, -0x868,0xffffffff,0x01030509, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x06060606, -0xe14,0xffffffff,0x00020406, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x06060606, -0x848,0xffffffff,0x00020406, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -}; - -u4Byte Rtl8192CUPHY_REG_Array_PG_mCard[Rtl8192CUPHY_REG_Array_PG_mCardLength] = { -0xe00,0xffffffff,0x0a0c0c0c, -0xe04,0xffffffff,0x02040608, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x0a0c0d0e, -0xe14,0xffffffff,0x02040608, -0xe18,0xffffffff,0x0a0c0d0e, -0xe1c,0xffffffff,0x02040608, -0x830,0xffffffff,0x0a0c0c0c, -0x834,0xffffffff,0x02040608, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x0a0c0d0e, -0x848,0xffffffff,0x02040608, -0x84c,0xffffffff,0x0a0c0d0e, -0x868,0xffffffff,0x02040608, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x06060606, -0xe14,0xffffffff,0x00020406, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x06060606, -0x848,0xffffffff,0x00020406, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -}; - -u4Byte Rtl8192CUPHY_REG_Array_MP[Rtl8192CUPHY_REG_Array_MPLength] = { -0xc30,0x69e9ac4a, -0xc3c,0x0a979718, -}; - -u4Byte Rtl8192CUPHY_REG_1T_HPArray[Rtl8192CUPHY_REG_1T_HPArrayLength] = { -0x024,0x0011800f, -0x028,0x00ffdb83, -0x040,0x000c0004, -0x800,0x80040000, -0x804,0x00000001, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10000330, //for Broadcom AP IOT -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390204, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66e60230, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x20202000, -0x870,0x03000300, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00ffc3f1, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x15160000, -0xa24,0x070b0f12, -0xa28,0x00000104, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x6954342e, -0xc54,0x43bc0094, -0xc58,0x6954342f, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x5116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c46000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x24000090, -0xc84,0x20f60000, -0xc88,0x24000090, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00000740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x24242424, -0xe04,0x24242424, -0xe08,0x03902024, -0xe10,0x24242424, -0xe14,0x24242424, -0xe18,0x24242424, -0xe1c,0x24242424, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xee8,0x31555448, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u4Byte Rtl8192CUPHY_REG_1T_mCardArray[Rtl8192CUPHY_REG_1T_mCardArrayLength] = { -0x024,0x0011800d, -0x028,0x00ffdb83, -0x800,0x80040000, -0x804,0x00000001, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10000330, //for Broadcom AP IOT -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66e60230, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x32323200, -0x870,0x07000700, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x5116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00000740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u4Byte Rtl8192CUPHY_REG_2T_mCardArray[Rtl8192CUPHY_REG_2T_mCardArrayLength] = { -0x024,0x0011800d, -0x028,0x00ffdb83, -0x800,0x80040002, -0x804,0x00000003, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10000330, //for Broadcom AP IOT -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x01000100, -0x82c,0x00390004, -0x830,0x27272727, -0x834,0x27272727, -0x838,0x27272727, -0x83c,0x27272727, -0x840,0x00010000, -0x844,0x00010000, -0x848,0x27272727, -0x84c,0x27272727, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x0c1b25a4, -0x860,0x66e60230, -0x864,0x061f0130, -0x868,0x27272727, -0x86c,0x2b2b2b27, -0x870,0x07000700, -0x874,0x22184000, -0x878,0x08080808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xcc0000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121313, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xc00,0x48071d40, -0xc04,0x03a05633, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x5116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x218610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0xa0e40000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00080740, -0xd04,0x00020403, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000010, -0xe68,0x001b25a4, -0xe6c,0x63db25a4, -0xe70,0x63db25a4, -0xe74,0x0c1b25a4, -0xe78,0x0c1b25a4, -0xe7c,0x0c1b25a4, -0xe80,0x0c1b25a4, -0xe84,0x63db25a4, -0xe88,0x0c1b25a4, -0xe8c,0x63db25a4, -0xed0,0x63db25a4, -0xed4,0x63db25a4, -0xed8,0x63db25a4, -0xedc,0x001b25a4, -0xee0,0x001b25a4, -0xeec,0x6fdb25a4, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u4Byte Rtl8192CUPHY_REG_Array_PG_HP[Rtl8192CUPHY_REG_Array_PG_HPLength] = { -0xe00,0xffffffff,0x06080808, -0xe04,0xffffffff,0x00040406, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x04060608, -0xe14,0xffffffff,0x00020204, -0xe18,0xffffffff,0x04060608, -0xe1c,0xffffffff,0x00020204, -0x830,0xffffffff,0x06080808, -0x834,0xffffffff,0x00040406, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x04060608, -0x848,0xffffffff,0x00020204, -0x84c,0xffffffff,0x04060608, -0x868,0xffffffff,0x00020204, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -}; - -u4Byte Rtl8192CURadioA_2TArray[Rtl8192CURadioA_2TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00010255, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x000577c0, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u4Byte Rtl8192CURadioB_2TArray[Rtl8192CURadioB_2TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287af, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x00014297, -0x013,0x00010295, -0x013,0x0000c298, -0x013,0x0000819c, -0x013,0x000040a8, -0x013,0x0000001c, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -}; - -u4Byte Rtl8192CURadioA_1TArray[Rtl8192CURadioA_1TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00010255, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x000577c0, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f405, -0x015,0x0004f405, -0x015,0x0008f405, -0x015,0x000cf405, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u4Byte Rtl8192CURadioB_1TArray[Rtl8192CURadioB_1TArrayLength] = { -0x0, }; - -u4Byte Rtl8192CURadioA_2T_mCardArray[Rtl8192CURadioA_2T_mCardArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00010255, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x000577c0, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u32 Rtl8192CURadioB_2T_mCardArray[Rtl8192CURadioB_2T_mCardArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287af, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x00014297, -0x013,0x00010295, -0x013,0x0000c298, -0x013,0x0000819c, -0x013,0x000040a8, -0x013,0x0000001c, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -}; - -u4Byte Rtl8192CURadioA_1T_mCardArray[Rtl8192CURadioA_1T_mCardArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb1, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e52c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00010255, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f200, -0x027,0x000ec7d9, -0x028,0x000577c0, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u4Byte Rtl8192CURadioB_1T_mCardArray[Rtl8192CURadioB_1T_mCardArrayLength] = { -0x0, }; - -u4Byte Rtl8192CURadioA_1T_HPArray[Rtl8192CURadioA_1T_HPArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001adb0, -0x00b,0x00054867, -0x00c,0x0008992e, -0x00d,0x0000e529, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00000255, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x0000083c, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x000977c0, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x000d8000, -0x012,0x00090000, -0x012,0x00051000, -0x012,0x00012000, -0x013,0x00028fb4, -0x013,0x00024fa8, -0x013,0x000207a4, -0x013,0x0001c3b0, -0x013,0x000183a4, -0x013,0x00014398, -0x013,0x000101a4, -0x013,0x0000c198, -0x013,0x000080a4, -0x013,0x00004098, -0x013,0x00000000, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f405, -0x015,0x0004f405, -0x015,0x0008f405, -0x015,0x000cf405, -0x016,0x000e0330, -0x016,0x000a0330, -0x016,0x00060330, -0x016,0x00020330, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u4Byte Rtl8192CURadioB_GM_Array[Rtl8192CURadioB_GM_ArrayLength] = { -0x0, }; - - -u4Byte Rtl8192CUMACPHY_Array_PG[Rtl8192CUMACPHY_Array_PGLength] = { -0x0, }; - -u4Byte Rtl8192CUAGCTAB_2TArray[Rtl8192CUAGCTAB_2TArrayLength] = { -0xc78,0x7b000001, -0xc78,0x7b010001, -0xc78,0x7b020001, -0xc78,0x7b030001, -0xc78,0x7b040001, -0xc78,0x7b050001, -0xc78,0x7a060001, -0xc78,0x79070001, -0xc78,0x78080001, -0xc78,0x77090001, -0xc78,0x760a0001, -0xc78,0x750b0001, -0xc78,0x740c0001, -0xc78,0x730d0001, -0xc78,0x720e0001, -0xc78,0x710f0001, -0xc78,0x70100001, -0xc78,0x6f110001, -0xc78,0x6e120001, -0xc78,0x6d130001, -0xc78,0x6c140001, -0xc78,0x6b150001, -0xc78,0x6a160001, -0xc78,0x69170001, -0xc78,0x68180001, -0xc78,0x67190001, -0xc78,0x661a0001, -0xc78,0x651b0001, -0xc78,0x641c0001, -0xc78,0x631d0001, -0xc78,0x621e0001, -0xc78,0x611f0001, -0xc78,0x60200001, -0xc78,0x49210001, -0xc78,0x48220001, -0xc78,0x47230001, -0xc78,0x46240001, -0xc78,0x45250001, -0xc78,0x44260001, -0xc78,0x43270001, -0xc78,0x42280001, -0xc78,0x41290001, -0xc78,0x402a0001, -0xc78,0x262b0001, -0xc78,0x252c0001, -0xc78,0x242d0001, -0xc78,0x232e0001, -0xc78,0x222f0001, -0xc78,0x21300001, -0xc78,0x20310001, -0xc78,0x06320001, -0xc78,0x05330001, -0xc78,0x04340001, -0xc78,0x03350001, -0xc78,0x02360001, -0xc78,0x01370001, -0xc78,0x00380001, -0xc78,0x00390001, -0xc78,0x003a0001, -0xc78,0x003b0001, -0xc78,0x003c0001, -0xc78,0x003d0001, -0xc78,0x003e0001, -0xc78,0x003f0001, -0xc78,0x7b400001, -0xc78,0x7b410001, -0xc78,0x7b420001, -0xc78,0x7b430001, -0xc78,0x7b440001, -0xc78,0x7b450001, -0xc78,0x7a460001, -0xc78,0x79470001, -0xc78,0x78480001, -0xc78,0x77490001, -0xc78,0x764a0001, -0xc78,0x754b0001, -0xc78,0x744c0001, -0xc78,0x734d0001, -0xc78,0x724e0001, -0xc78,0x714f0001, -0xc78,0x70500001, -0xc78,0x6f510001, -0xc78,0x6e520001, -0xc78,0x6d530001, -0xc78,0x6c540001, -0xc78,0x6b550001, -0xc78,0x6a560001, -0xc78,0x69570001, -0xc78,0x68580001, -0xc78,0x67590001, -0xc78,0x665a0001, -0xc78,0x655b0001, -0xc78,0x645c0001, -0xc78,0x635d0001, -0xc78,0x625e0001, -0xc78,0x615f0001, -0xc78,0x60600001, -0xc78,0x49610001, -0xc78,0x48620001, -0xc78,0x47630001, -0xc78,0x46640001, -0xc78,0x45650001, -0xc78,0x44660001, -0xc78,0x43670001, -0xc78,0x42680001, -0xc78,0x41690001, -0xc78,0x406a0001, -0xc78,0x266b0001, -0xc78,0x256c0001, -0xc78,0x246d0001, -0xc78,0x236e0001, -0xc78,0x226f0001, -0xc78,0x21700001, -0xc78,0x20710001, -0xc78,0x06720001, -0xc78,0x05730001, -0xc78,0x04740001, -0xc78,0x03750001, -0xc78,0x02760001, -0xc78,0x01770001, -0xc78,0x00780001, -0xc78,0x00790001, -0xc78,0x007a0001, -0xc78,0x007b0001, -0xc78,0x007c0001, -0xc78,0x007d0001, -0xc78,0x007e0001, -0xc78,0x007f0001, -0xc78,0x3800001e, -0xc78,0x3801001e, -0xc78,0x3802001e, -0xc78,0x3803001e, -0xc78,0x3804001e, -0xc78,0x3805001e, -0xc78,0x3806001e, -0xc78,0x3807001e, -0xc78,0x3808001e, -0xc78,0x3c09001e, -0xc78,0x3e0a001e, -0xc78,0x400b001e, -0xc78,0x440c001e, -0xc78,0x480d001e, -0xc78,0x4c0e001e, -0xc78,0x500f001e, -0xc78,0x5210001e, -0xc78,0x5611001e, -0xc78,0x5a12001e, -0xc78,0x5e13001e, -0xc78,0x6014001e, -0xc78,0x6015001e, -0xc78,0x6016001e, -0xc78,0x6217001e, -0xc78,0x6218001e, -0xc78,0x6219001e, -0xc78,0x621a001e, -0xc78,0x621b001e, -0xc78,0x621c001e, -0xc78,0x621d001e, -0xc78,0x621e001e, -0xc78,0x621f001e, -}; - -u4Byte Rtl8192CUAGCTAB_1TArray[Rtl8192CUAGCTAB_1TArrayLength] = { -0xc78,0x7b000001, -0xc78,0x7b010001, -0xc78,0x7b020001, -0xc78,0x7b030001, -0xc78,0x7b040001, -0xc78,0x7b050001, -0xc78,0x7a060001, -0xc78,0x79070001, -0xc78,0x78080001, -0xc78,0x77090001, -0xc78,0x760a0001, -0xc78,0x750b0001, -0xc78,0x740c0001, -0xc78,0x730d0001, -0xc78,0x720e0001, -0xc78,0x710f0001, -0xc78,0x70100001, -0xc78,0x6f110001, -0xc78,0x6e120001, -0xc78,0x6d130001, -0xc78,0x6c140001, -0xc78,0x6b150001, -0xc78,0x6a160001, -0xc78,0x69170001, -0xc78,0x68180001, -0xc78,0x67190001, -0xc78,0x661a0001, -0xc78,0x651b0001, -0xc78,0x641c0001, -0xc78,0x631d0001, -0xc78,0x621e0001, -0xc78,0x611f0001, -0xc78,0x60200001, -0xc78,0x49210001, -0xc78,0x48220001, -0xc78,0x47230001, -0xc78,0x46240001, -0xc78,0x45250001, -0xc78,0x44260001, -0xc78,0x43270001, -0xc78,0x42280001, -0xc78,0x41290001, -0xc78,0x402a0001, -0xc78,0x262b0001, -0xc78,0x252c0001, -0xc78,0x242d0001, -0xc78,0x232e0001, -0xc78,0x222f0001, -0xc78,0x21300001, -0xc78,0x20310001, -0xc78,0x06320001, -0xc78,0x05330001, -0xc78,0x04340001, -0xc78,0x03350001, -0xc78,0x02360001, -0xc78,0x01370001, -0xc78,0x00380001, -0xc78,0x00390001, -0xc78,0x003a0001, -0xc78,0x003b0001, -0xc78,0x003c0001, -0xc78,0x003d0001, -0xc78,0x003e0001, -0xc78,0x003f0001, -0xc78,0x7b400001, -0xc78,0x7b410001, -0xc78,0x7b420001, -0xc78,0x7b430001, -0xc78,0x7b440001, -0xc78,0x7b450001, -0xc78,0x7a460001, -0xc78,0x79470001, -0xc78,0x78480001, -0xc78,0x77490001, -0xc78,0x764a0001, -0xc78,0x754b0001, -0xc78,0x744c0001, -0xc78,0x734d0001, -0xc78,0x724e0001, -0xc78,0x714f0001, -0xc78,0x70500001, -0xc78,0x6f510001, -0xc78,0x6e520001, -0xc78,0x6d530001, -0xc78,0x6c540001, -0xc78,0x6b550001, -0xc78,0x6a560001, -0xc78,0x69570001, -0xc78,0x68580001, -0xc78,0x67590001, -0xc78,0x665a0001, -0xc78,0x655b0001, -0xc78,0x645c0001, -0xc78,0x635d0001, -0xc78,0x625e0001, -0xc78,0x615f0001, -0xc78,0x60600001, -0xc78,0x49610001, -0xc78,0x48620001, -0xc78,0x47630001, -0xc78,0x46640001, -0xc78,0x45650001, -0xc78,0x44660001, -0xc78,0x43670001, -0xc78,0x42680001, -0xc78,0x41690001, -0xc78,0x406a0001, -0xc78,0x266b0001, -0xc78,0x256c0001, -0xc78,0x246d0001, -0xc78,0x236e0001, -0xc78,0x226f0001, -0xc78,0x21700001, -0xc78,0x20710001, -0xc78,0x06720001, -0xc78,0x05730001, -0xc78,0x04740001, -0xc78,0x03750001, -0xc78,0x02760001, -0xc78,0x01770001, -0xc78,0x00780001, -0xc78,0x00790001, -0xc78,0x007a0001, -0xc78,0x007b0001, -0xc78,0x007c0001, -0xc78,0x007d0001, -0xc78,0x007e0001, -0xc78,0x007f0001, -0xc78,0x3800001e, -0xc78,0x3801001e, -0xc78,0x3802001e, -0xc78,0x3803001e, -0xc78,0x3804001e, -0xc78,0x3805001e, -0xc78,0x3806001e, -0xc78,0x3807001e, -0xc78,0x3808001e, -0xc78,0x3c09001e, -0xc78,0x3e0a001e, -0xc78,0x400b001e, -0xc78,0x440c001e, -0xc78,0x480d001e, -0xc78,0x4c0e001e, -0xc78,0x500f001e, -0xc78,0x5210001e, -0xc78,0x5611001e, -0xc78,0x5a12001e, -0xc78,0x5e13001e, -0xc78,0x6014001e, -0xc78,0x6015001e, -0xc78,0x6016001e, -0xc78,0x6217001e, -0xc78,0x6218001e, -0xc78,0x6219001e, -0xc78,0x621a001e, -0xc78,0x621b001e, -0xc78,0x621c001e, -0xc78,0x621d001e, -0xc78,0x621e001e, -0xc78,0x621f001e, -}; - -u4Byte Rtl8192CUAGCTAB_1T_HPArray[Rtl8192CUAGCTAB_1T_HPArrayLength] = { -0xc78,0x7b000001, -0xc78,0x7b010001, -0xc78,0x7b020001, -0xc78,0x7b030001, -0xc78,0x7b040001, -0xc78,0x7b050001, -0xc78,0x7b060001, -0xc78,0x7b070001, -0xc78,0x7b080001, -0xc78,0x7a090001, -0xc78,0x790a0001, -0xc78,0x780b0001, -0xc78,0x770c0001, -0xc78,0x760d0001, -0xc78,0x750e0001, -0xc78,0x740f0001, -0xc78,0x73100001, -0xc78,0x72110001, -0xc78,0x71120001, -0xc78,0x70130001, -0xc78,0x6f140001, -0xc78,0x6e150001, -0xc78,0x6d160001, -0xc78,0x6c170001, -0xc78,0x6b180001, -0xc78,0x6a190001, -0xc78,0x691a0001, -0xc78,0x681b0001, -0xc78,0x671c0001, -0xc78,0x661d0001, -0xc78,0x651e0001, -0xc78,0x641f0001, -0xc78,0x63200001, -0xc78,0x62210001, -0xc78,0x61220001, -0xc78,0x60230001, -0xc78,0x46240001, -0xc78,0x45250001, -0xc78,0x44260001, -0xc78,0x43270001, -0xc78,0x42280001, -0xc78,0x41290001, -0xc78,0x402a0001, -0xc78,0x262b0001, -0xc78,0x252c0001, -0xc78,0x242d0001, -0xc78,0x232e0001, -0xc78,0x222f0001, -0xc78,0x21300001, -0xc78,0x20310001, -0xc78,0x06320001, -0xc78,0x05330001, -0xc78,0x04340001, -0xc78,0x03350001, -0xc78,0x02360001, -0xc78,0x01370001, -0xc78,0x00380001, -0xc78,0x00390001, -0xc78,0x003a0001, -0xc78,0x003b0001, -0xc78,0x003c0001, -0xc78,0x003d0001, -0xc78,0x003e0001, -0xc78,0x003f0001, -0xc78,0x7b400001, -0xc78,0x7b410001, -0xc78,0x7b420001, -0xc78,0x7b430001, -0xc78,0x7b440001, -0xc78,0x7b450001, -0xc78,0x7b460001, -0xc78,0x7b470001, -0xc78,0x7b480001, -0xc78,0x7a490001, -0xc78,0x794a0001, -0xc78,0x784b0001, -0xc78,0x774c0001, -0xc78,0x764d0001, -0xc78,0x754e0001, -0xc78,0x744f0001, -0xc78,0x73500001, -0xc78,0x72510001, -0xc78,0x71520001, -0xc78,0x70530001, -0xc78,0x6f540001, -0xc78,0x6e550001, -0xc78,0x6d560001, -0xc78,0x6c570001, -0xc78,0x6b580001, -0xc78,0x6a590001, -0xc78,0x695a0001, -0xc78,0x685b0001, -0xc78,0x675c0001, -0xc78,0x665d0001, -0xc78,0x655e0001, -0xc78,0x645f0001, -0xc78,0x63600001, -0xc78,0x62610001, -0xc78,0x61620001, -0xc78,0x60630001, -0xc78,0x46640001, -0xc78,0x45650001, -0xc78,0x44660001, -0xc78,0x43670001, -0xc78,0x42680001, -0xc78,0x41690001, -0xc78,0x406a0001, -0xc78,0x266b0001, -0xc78,0x256c0001, -0xc78,0x246d0001, -0xc78,0x236e0001, -0xc78,0x226f0001, -0xc78,0x21700001, -0xc78,0x20710001, -0xc78,0x06720001, -0xc78,0x05730001, -0xc78,0x04740001, -0xc78,0x03750001, -0xc78,0x02760001, -0xc78,0x01770001, -0xc78,0x00780001, -0xc78,0x00790001, -0xc78,0x007a0001, -0xc78,0x007b0001, -0xc78,0x007c0001, -0xc78,0x007d0001, -0xc78,0x007e0001, -0xc78,0x007f0001, -0xc78,0x3800001e, -0xc78,0x3801001e, -0xc78,0x3802001e, -0xc78,0x3803001e, -0xc78,0x3804001e, -0xc78,0x3805001e, -0xc78,0x3806001e, -0xc78,0x3807001e, -0xc78,0x3808001e, -0xc78,0x3c09001e, -0xc78,0x3e0a001e, -0xc78,0x400b001e, -0xc78,0x440c001e, -0xc78,0x480d001e, -0xc78,0x4c0e001e, -0xc78,0x500f001e, -0xc78,0x5210001e, -0xc78,0x5611001e, -0xc78,0x5a12001e, -0xc78,0x5e13001e, -0xc78,0x6014001e, -0xc78,0x6015001e, -0xc78,0x6016001e, -0xc78,0x6217001e, -0xc78,0x6218001e, -0xc78,0x6219001e, -0xc78,0x621a001e, -0xc78,0x621b001e, -0xc78,0x621c001e, -0xc78,0x621d001e, -0xc78,0x621e001e, -0xc78,0x621f001e, -}; - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+/*Created on 2011/ 6/29, 10:30*/
+
+#include "../odm_precomp.h"
+
+
+u4Byte Rtl8192CUPHY_REG_2TArray[Rtl8192CUPHY_REG_2TArrayLength] = {
+0x024,0x0011800f,
+0x028,0x00ffdb83,
+0x800,0x80040002,
+0x804,0x00000003,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10000330, //for Broadcom AP IOT
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x01000100,
+0x82c,0x00390004,
+0x830,0x27272727,
+0x834,0x27272727,
+0x838,0x27272727,
+0x83c,0x27272727,
+0x840,0x00010000,
+0x844,0x00010000,
+0x848,0x27272727,
+0x84c,0x27272727,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x0c1b25a4,
+0x860,0x66e60230,
+0x864,0x061f0130,
+0x868,0x27272727,
+0x86c,0x2b2b2b27,
+0x870,0x07000700,
+0x874,0x22184000,
+0x878,0x08080808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xcc0000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121313,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xc00,0x48071d40,
+0xc04,0x03a05633,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x5116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x2186115b,
+0xc78,0x0000001f,
+0xc7c,0x00b99612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0xa0e40000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00080740,
+0xd04,0x00020403,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000010,
+0xe68,0x001b25a4,
+0xe6c,0x63db25a4,
+0xe70,0x63db25a4,
+0xe74,0x0c1b25a4,
+0xe78,0x0c1b25a4,
+0xe7c,0x0c1b25a4,
+0xe80,0x0c1b25a4,
+0xe84,0x63db25a4,
+0xe88,0x0c1b25a4,
+0xe8c,0x63db25a4,
+0xed0,0x63db25a4,
+0xed4,0x63db25a4,
+0xed8,0x63db25a4,
+0xedc,0x001b25a4,
+0xee0,0x001b25a4,
+0xeec,0x6fdb25a4,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u4Byte Rtl8192CUPHY_REG_1TArray[Rtl8192CUPHY_REG_1TArrayLength] = {
+0x024,0x0011800f,
+0x028,0x00ffdb83,
+0x800,0x80040000,
+0x804,0x00000001,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10000330, //for Broadcom AP IOT
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66e60230,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x32323200,
+0x870,0x07000700,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x5116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00000740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u4Byte Rtl8192CUPHY_ChangeTo_1T1RArray[Rtl8192CUPHY_ChangeTo_1T1RArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CUPHY_ChangeTo_1T2RArray[Rtl8192CUPHY_ChangeTo_1T2RArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CUPHY_ChangeTo_2T2RArray[Rtl8192CUPHY_ChangeTo_2T2RArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CUPHY_REG_Array_PG[Rtl8192CUPHY_REG_Array_PGLength] = {
+0xe00,0xffffffff,0x07090c0c,
+0xe04,0xffffffff,0x01020405,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x0b0c0c0e,
+0xe14,0xffffffff,0x01030506,
+0xe18,0xffffffff,0x0b0c0d0e,
+0xe1c,0xffffffff,0x01030509,
+0x830,0xffffffff,0x07090c0c,
+0x834,0xffffffff,0x01020405,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x0b0c0d0e,
+0x848,0xffffffff,0x01030509,
+0x84c,0xffffffff,0x0b0c0d0e,
+0x868,0xffffffff,0x01030509,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x06060606,
+0xe14,0xffffffff,0x00020406,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x06060606,
+0x848,0xffffffff,0x00020406,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+};
+
+u4Byte Rtl8192CUPHY_REG_Array_PG_mCard[Rtl8192CUPHY_REG_Array_PG_mCardLength] = {
+0xe00,0xffffffff,0x0a0c0c0c,
+0xe04,0xffffffff,0x02040608,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x0a0c0d0e,
+0xe14,0xffffffff,0x02040608,
+0xe18,0xffffffff,0x0a0c0d0e,
+0xe1c,0xffffffff,0x02040608,
+0x830,0xffffffff,0x0a0c0c0c,
+0x834,0xffffffff,0x02040608,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x0a0c0d0e,
+0x848,0xffffffff,0x02040608,
+0x84c,0xffffffff,0x0a0c0d0e,
+0x868,0xffffffff,0x02040608,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x06060606,
+0xe14,0xffffffff,0x00020406,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x06060606,
+0x848,0xffffffff,0x00020406,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+};
+
+u4Byte Rtl8192CUPHY_REG_Array_MP[Rtl8192CUPHY_REG_Array_MPLength] = {
+0xc30,0x69e9ac4a,
+0xc3c,0x0a979718,
+};
+
+u4Byte Rtl8192CUPHY_REG_1T_HPArray[Rtl8192CUPHY_REG_1T_HPArrayLength] = {
+0x024,0x0011800f,
+0x028,0x00ffdb83,
+0x040,0x000c0004,
+0x800,0x80040000,
+0x804,0x00000001,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10000330, //for Broadcom AP IOT
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390204,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66e60230,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x20202000,
+0x870,0x03000300,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00ffc3f1,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x15160000,
+0xa24,0x070b0f12,
+0xa28,0x00000104,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x6954342e,
+0xc54,0x43bc0094,
+0xc58,0x6954342f,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x5116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c46000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x24000090,
+0xc84,0x20f60000,
+0xc88,0x24000090,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00000740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x24242424,
+0xe04,0x24242424,
+0xe08,0x03902024,
+0xe10,0x24242424,
+0xe14,0x24242424,
+0xe18,0x24242424,
+0xe1c,0x24242424,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xee8,0x31555448,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u4Byte Rtl8192CUPHY_REG_1T_mCardArray[Rtl8192CUPHY_REG_1T_mCardArrayLength] = {
+0x024,0x0011800d,
+0x028,0x00ffdb83,
+0x800,0x80040000,
+0x804,0x00000001,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10000330, //for Broadcom AP IOT
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66e60230,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x32323200,
+0x870,0x07000700,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x5116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00000740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u4Byte Rtl8192CUPHY_REG_2T_mCardArray[Rtl8192CUPHY_REG_2T_mCardArrayLength] = {
+0x024,0x0011800d,
+0x028,0x00ffdb83,
+0x800,0x80040002,
+0x804,0x00000003,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10000330, //for Broadcom AP IOT
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x01000100,
+0x82c,0x00390004,
+0x830,0x27272727,
+0x834,0x27272727,
+0x838,0x27272727,
+0x83c,0x27272727,
+0x840,0x00010000,
+0x844,0x00010000,
+0x848,0x27272727,
+0x84c,0x27272727,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x0c1b25a4,
+0x860,0x66e60230,
+0x864,0x061f0130,
+0x868,0x27272727,
+0x86c,0x2b2b2b27,
+0x870,0x07000700,
+0x874,0x22184000,
+0x878,0x08080808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xcc0000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121313,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xc00,0x48071d40,
+0xc04,0x03a05633,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x5116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x218610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0xa0e40000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00080740,
+0xd04,0x00020403,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000010,
+0xe68,0x001b25a4,
+0xe6c,0x63db25a4,
+0xe70,0x63db25a4,
+0xe74,0x0c1b25a4,
+0xe78,0x0c1b25a4,
+0xe7c,0x0c1b25a4,
+0xe80,0x0c1b25a4,
+0xe84,0x63db25a4,
+0xe88,0x0c1b25a4,
+0xe8c,0x63db25a4,
+0xed0,0x63db25a4,
+0xed4,0x63db25a4,
+0xed8,0x63db25a4,
+0xedc,0x001b25a4,
+0xee0,0x001b25a4,
+0xeec,0x6fdb25a4,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u4Byte Rtl8192CUPHY_REG_Array_PG_HP[Rtl8192CUPHY_REG_Array_PG_HPLength] = {
+0xe00,0xffffffff,0x06080808,
+0xe04,0xffffffff,0x00040406,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x04060608,
+0xe14,0xffffffff,0x00020204,
+0xe18,0xffffffff,0x04060608,
+0xe1c,0xffffffff,0x00020204,
+0x830,0xffffffff,0x06080808,
+0x834,0xffffffff,0x00040406,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x04060608,
+0x848,0xffffffff,0x00020204,
+0x84c,0xffffffff,0x04060608,
+0x868,0xffffffff,0x00020204,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+};
+
+u4Byte Rtl8192CURadioA_2TArray[Rtl8192CURadioA_2TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00010255,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x000577c0,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u4Byte Rtl8192CURadioB_2TArray[Rtl8192CURadioB_2TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287af,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x00014297,
+0x013,0x00010295,
+0x013,0x0000c298,
+0x013,0x0000819c,
+0x013,0x000040a8,
+0x013,0x0000001c,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+};
+
+u4Byte Rtl8192CURadioA_1TArray[Rtl8192CURadioA_1TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00010255,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x000577c0,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f405,
+0x015,0x0004f405,
+0x015,0x0008f405,
+0x015,0x000cf405,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u4Byte Rtl8192CURadioB_1TArray[Rtl8192CURadioB_1TArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CURadioA_2T_mCardArray[Rtl8192CURadioA_2T_mCardArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00010255,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x000577c0,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u32 Rtl8192CURadioB_2T_mCardArray[Rtl8192CURadioB_2T_mCardArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287af,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x00014297,
+0x013,0x00010295,
+0x013,0x0000c298,
+0x013,0x0000819c,
+0x013,0x000040a8,
+0x013,0x0000001c,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+};
+
+u4Byte Rtl8192CURadioA_1T_mCardArray[Rtl8192CURadioA_1T_mCardArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb1,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e52c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00010255,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f200,
+0x027,0x000ec7d9,
+0x028,0x000577c0,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u4Byte Rtl8192CURadioB_1T_mCardArray[Rtl8192CURadioB_1T_mCardArrayLength] = {
+0x0, };
+
+u4Byte Rtl8192CURadioA_1T_HPArray[Rtl8192CURadioA_1T_HPArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001adb0,
+0x00b,0x00054867,
+0x00c,0x0008992e,
+0x00d,0x0000e529,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00000255,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x0000083c,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x000977c0,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x000d8000,
+0x012,0x00090000,
+0x012,0x00051000,
+0x012,0x00012000,
+0x013,0x00028fb4,
+0x013,0x00024fa8,
+0x013,0x000207a4,
+0x013,0x0001c3b0,
+0x013,0x000183a4,
+0x013,0x00014398,
+0x013,0x000101a4,
+0x013,0x0000c198,
+0x013,0x000080a4,
+0x013,0x00004098,
+0x013,0x00000000,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f405,
+0x015,0x0004f405,
+0x015,0x0008f405,
+0x015,0x000cf405,
+0x016,0x000e0330,
+0x016,0x000a0330,
+0x016,0x00060330,
+0x016,0x00020330,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u4Byte Rtl8192CURadioB_GM_Array[Rtl8192CURadioB_GM_ArrayLength] = {
+0x0, };
+
+
+u4Byte Rtl8192CUMACPHY_Array_PG[Rtl8192CUMACPHY_Array_PGLength] = {
+0x0, };
+
+u4Byte Rtl8192CUAGCTAB_2TArray[Rtl8192CUAGCTAB_2TArrayLength] = {
+0xc78,0x7b000001,
+0xc78,0x7b010001,
+0xc78,0x7b020001,
+0xc78,0x7b030001,
+0xc78,0x7b040001,
+0xc78,0x7b050001,
+0xc78,0x7a060001,
+0xc78,0x79070001,
+0xc78,0x78080001,
+0xc78,0x77090001,
+0xc78,0x760a0001,
+0xc78,0x750b0001,
+0xc78,0x740c0001,
+0xc78,0x730d0001,
+0xc78,0x720e0001,
+0xc78,0x710f0001,
+0xc78,0x70100001,
+0xc78,0x6f110001,
+0xc78,0x6e120001,
+0xc78,0x6d130001,
+0xc78,0x6c140001,
+0xc78,0x6b150001,
+0xc78,0x6a160001,
+0xc78,0x69170001,
+0xc78,0x68180001,
+0xc78,0x67190001,
+0xc78,0x661a0001,
+0xc78,0x651b0001,
+0xc78,0x641c0001,
+0xc78,0x631d0001,
+0xc78,0x621e0001,
+0xc78,0x611f0001,
+0xc78,0x60200001,
+0xc78,0x49210001,
+0xc78,0x48220001,
+0xc78,0x47230001,
+0xc78,0x46240001,
+0xc78,0x45250001,
+0xc78,0x44260001,
+0xc78,0x43270001,
+0xc78,0x42280001,
+0xc78,0x41290001,
+0xc78,0x402a0001,
+0xc78,0x262b0001,
+0xc78,0x252c0001,
+0xc78,0x242d0001,
+0xc78,0x232e0001,
+0xc78,0x222f0001,
+0xc78,0x21300001,
+0xc78,0x20310001,
+0xc78,0x06320001,
+0xc78,0x05330001,
+0xc78,0x04340001,
+0xc78,0x03350001,
+0xc78,0x02360001,
+0xc78,0x01370001,
+0xc78,0x00380001,
+0xc78,0x00390001,
+0xc78,0x003a0001,
+0xc78,0x003b0001,
+0xc78,0x003c0001,
+0xc78,0x003d0001,
+0xc78,0x003e0001,
+0xc78,0x003f0001,
+0xc78,0x7b400001,
+0xc78,0x7b410001,
+0xc78,0x7b420001,
+0xc78,0x7b430001,
+0xc78,0x7b440001,
+0xc78,0x7b450001,
+0xc78,0x7a460001,
+0xc78,0x79470001,
+0xc78,0x78480001,
+0xc78,0x77490001,
+0xc78,0x764a0001,
+0xc78,0x754b0001,
+0xc78,0x744c0001,
+0xc78,0x734d0001,
+0xc78,0x724e0001,
+0xc78,0x714f0001,
+0xc78,0x70500001,
+0xc78,0x6f510001,
+0xc78,0x6e520001,
+0xc78,0x6d530001,
+0xc78,0x6c540001,
+0xc78,0x6b550001,
+0xc78,0x6a560001,
+0xc78,0x69570001,
+0xc78,0x68580001,
+0xc78,0x67590001,
+0xc78,0x665a0001,
+0xc78,0x655b0001,
+0xc78,0x645c0001,
+0xc78,0x635d0001,
+0xc78,0x625e0001,
+0xc78,0x615f0001,
+0xc78,0x60600001,
+0xc78,0x49610001,
+0xc78,0x48620001,
+0xc78,0x47630001,
+0xc78,0x46640001,
+0xc78,0x45650001,
+0xc78,0x44660001,
+0xc78,0x43670001,
+0xc78,0x42680001,
+0xc78,0x41690001,
+0xc78,0x406a0001,
+0xc78,0x266b0001,
+0xc78,0x256c0001,
+0xc78,0x246d0001,
+0xc78,0x236e0001,
+0xc78,0x226f0001,
+0xc78,0x21700001,
+0xc78,0x20710001,
+0xc78,0x06720001,
+0xc78,0x05730001,
+0xc78,0x04740001,
+0xc78,0x03750001,
+0xc78,0x02760001,
+0xc78,0x01770001,
+0xc78,0x00780001,
+0xc78,0x00790001,
+0xc78,0x007a0001,
+0xc78,0x007b0001,
+0xc78,0x007c0001,
+0xc78,0x007d0001,
+0xc78,0x007e0001,
+0xc78,0x007f0001,
+0xc78,0x3800001e,
+0xc78,0x3801001e,
+0xc78,0x3802001e,
+0xc78,0x3803001e,
+0xc78,0x3804001e,
+0xc78,0x3805001e,
+0xc78,0x3806001e,
+0xc78,0x3807001e,
+0xc78,0x3808001e,
+0xc78,0x3c09001e,
+0xc78,0x3e0a001e,
+0xc78,0x400b001e,
+0xc78,0x440c001e,
+0xc78,0x480d001e,
+0xc78,0x4c0e001e,
+0xc78,0x500f001e,
+0xc78,0x5210001e,
+0xc78,0x5611001e,
+0xc78,0x5a12001e,
+0xc78,0x5e13001e,
+0xc78,0x6014001e,
+0xc78,0x6015001e,
+0xc78,0x6016001e,
+0xc78,0x6217001e,
+0xc78,0x6218001e,
+0xc78,0x6219001e,
+0xc78,0x621a001e,
+0xc78,0x621b001e,
+0xc78,0x621c001e,
+0xc78,0x621d001e,
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
+
+u4Byte Rtl8192CUAGCTAB_1TArray[Rtl8192CUAGCTAB_1TArrayLength] = {
+0xc78,0x7b000001,
+0xc78,0x7b010001,
+0xc78,0x7b020001,
+0xc78,0x7b030001,
+0xc78,0x7b040001,
+0xc78,0x7b050001,
+0xc78,0x7a060001,
+0xc78,0x79070001,
+0xc78,0x78080001,
+0xc78,0x77090001,
+0xc78,0x760a0001,
+0xc78,0x750b0001,
+0xc78,0x740c0001,
+0xc78,0x730d0001,
+0xc78,0x720e0001,
+0xc78,0x710f0001,
+0xc78,0x70100001,
+0xc78,0x6f110001,
+0xc78,0x6e120001,
+0xc78,0x6d130001,
+0xc78,0x6c140001,
+0xc78,0x6b150001,
+0xc78,0x6a160001,
+0xc78,0x69170001,
+0xc78,0x68180001,
+0xc78,0x67190001,
+0xc78,0x661a0001,
+0xc78,0x651b0001,
+0xc78,0x641c0001,
+0xc78,0x631d0001,
+0xc78,0x621e0001,
+0xc78,0x611f0001,
+0xc78,0x60200001,
+0xc78,0x49210001,
+0xc78,0x48220001,
+0xc78,0x47230001,
+0xc78,0x46240001,
+0xc78,0x45250001,
+0xc78,0x44260001,
+0xc78,0x43270001,
+0xc78,0x42280001,
+0xc78,0x41290001,
+0xc78,0x402a0001,
+0xc78,0x262b0001,
+0xc78,0x252c0001,
+0xc78,0x242d0001,
+0xc78,0x232e0001,
+0xc78,0x222f0001,
+0xc78,0x21300001,
+0xc78,0x20310001,
+0xc78,0x06320001,
+0xc78,0x05330001,
+0xc78,0x04340001,
+0xc78,0x03350001,
+0xc78,0x02360001,
+0xc78,0x01370001,
+0xc78,0x00380001,
+0xc78,0x00390001,
+0xc78,0x003a0001,
+0xc78,0x003b0001,
+0xc78,0x003c0001,
+0xc78,0x003d0001,
+0xc78,0x003e0001,
+0xc78,0x003f0001,
+0xc78,0x7b400001,
+0xc78,0x7b410001,
+0xc78,0x7b420001,
+0xc78,0x7b430001,
+0xc78,0x7b440001,
+0xc78,0x7b450001,
+0xc78,0x7a460001,
+0xc78,0x79470001,
+0xc78,0x78480001,
+0xc78,0x77490001,
+0xc78,0x764a0001,
+0xc78,0x754b0001,
+0xc78,0x744c0001,
+0xc78,0x734d0001,
+0xc78,0x724e0001,
+0xc78,0x714f0001,
+0xc78,0x70500001,
+0xc78,0x6f510001,
+0xc78,0x6e520001,
+0xc78,0x6d530001,
+0xc78,0x6c540001,
+0xc78,0x6b550001,
+0xc78,0x6a560001,
+0xc78,0x69570001,
+0xc78,0x68580001,
+0xc78,0x67590001,
+0xc78,0x665a0001,
+0xc78,0x655b0001,
+0xc78,0x645c0001,
+0xc78,0x635d0001,
+0xc78,0x625e0001,
+0xc78,0x615f0001,
+0xc78,0x60600001,
+0xc78,0x49610001,
+0xc78,0x48620001,
+0xc78,0x47630001,
+0xc78,0x46640001,
+0xc78,0x45650001,
+0xc78,0x44660001,
+0xc78,0x43670001,
+0xc78,0x42680001,
+0xc78,0x41690001,
+0xc78,0x406a0001,
+0xc78,0x266b0001,
+0xc78,0x256c0001,
+0xc78,0x246d0001,
+0xc78,0x236e0001,
+0xc78,0x226f0001,
+0xc78,0x21700001,
+0xc78,0x20710001,
+0xc78,0x06720001,
+0xc78,0x05730001,
+0xc78,0x04740001,
+0xc78,0x03750001,
+0xc78,0x02760001,
+0xc78,0x01770001,
+0xc78,0x00780001,
+0xc78,0x00790001,
+0xc78,0x007a0001,
+0xc78,0x007b0001,
+0xc78,0x007c0001,
+0xc78,0x007d0001,
+0xc78,0x007e0001,
+0xc78,0x007f0001,
+0xc78,0x3800001e,
+0xc78,0x3801001e,
+0xc78,0x3802001e,
+0xc78,0x3803001e,
+0xc78,0x3804001e,
+0xc78,0x3805001e,
+0xc78,0x3806001e,
+0xc78,0x3807001e,
+0xc78,0x3808001e,
+0xc78,0x3c09001e,
+0xc78,0x3e0a001e,
+0xc78,0x400b001e,
+0xc78,0x440c001e,
+0xc78,0x480d001e,
+0xc78,0x4c0e001e,
+0xc78,0x500f001e,
+0xc78,0x5210001e,
+0xc78,0x5611001e,
+0xc78,0x5a12001e,
+0xc78,0x5e13001e,
+0xc78,0x6014001e,
+0xc78,0x6015001e,
+0xc78,0x6016001e,
+0xc78,0x6217001e,
+0xc78,0x6218001e,
+0xc78,0x6219001e,
+0xc78,0x621a001e,
+0xc78,0x621b001e,
+0xc78,0x621c001e,
+0xc78,0x621d001e,
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
+
+u4Byte Rtl8192CUAGCTAB_1T_HPArray[Rtl8192CUAGCTAB_1T_HPArrayLength] = {
+0xc78,0x7b000001,
+0xc78,0x7b010001,
+0xc78,0x7b020001,
+0xc78,0x7b030001,
+0xc78,0x7b040001,
+0xc78,0x7b050001,
+0xc78,0x7b060001,
+0xc78,0x7b070001,
+0xc78,0x7b080001,
+0xc78,0x7a090001,
+0xc78,0x790a0001,
+0xc78,0x780b0001,
+0xc78,0x770c0001,
+0xc78,0x760d0001,
+0xc78,0x750e0001,
+0xc78,0x740f0001,
+0xc78,0x73100001,
+0xc78,0x72110001,
+0xc78,0x71120001,
+0xc78,0x70130001,
+0xc78,0x6f140001,
+0xc78,0x6e150001,
+0xc78,0x6d160001,
+0xc78,0x6c170001,
+0xc78,0x6b180001,
+0xc78,0x6a190001,
+0xc78,0x691a0001,
+0xc78,0x681b0001,
+0xc78,0x671c0001,
+0xc78,0x661d0001,
+0xc78,0x651e0001,
+0xc78,0x641f0001,
+0xc78,0x63200001,
+0xc78,0x62210001,
+0xc78,0x61220001,
+0xc78,0x60230001,
+0xc78,0x46240001,
+0xc78,0x45250001,
+0xc78,0x44260001,
+0xc78,0x43270001,
+0xc78,0x42280001,
+0xc78,0x41290001,
+0xc78,0x402a0001,
+0xc78,0x262b0001,
+0xc78,0x252c0001,
+0xc78,0x242d0001,
+0xc78,0x232e0001,
+0xc78,0x222f0001,
+0xc78,0x21300001,
+0xc78,0x20310001,
+0xc78,0x06320001,
+0xc78,0x05330001,
+0xc78,0x04340001,
+0xc78,0x03350001,
+0xc78,0x02360001,
+0xc78,0x01370001,
+0xc78,0x00380001,
+0xc78,0x00390001,
+0xc78,0x003a0001,
+0xc78,0x003b0001,
+0xc78,0x003c0001,
+0xc78,0x003d0001,
+0xc78,0x003e0001,
+0xc78,0x003f0001,
+0xc78,0x7b400001,
+0xc78,0x7b410001,
+0xc78,0x7b420001,
+0xc78,0x7b430001,
+0xc78,0x7b440001,
+0xc78,0x7b450001,
+0xc78,0x7b460001,
+0xc78,0x7b470001,
+0xc78,0x7b480001,
+0xc78,0x7a490001,
+0xc78,0x794a0001,
+0xc78,0x784b0001,
+0xc78,0x774c0001,
+0xc78,0x764d0001,
+0xc78,0x754e0001,
+0xc78,0x744f0001,
+0xc78,0x73500001,
+0xc78,0x72510001,
+0xc78,0x71520001,
+0xc78,0x70530001,
+0xc78,0x6f540001,
+0xc78,0x6e550001,
+0xc78,0x6d560001,
+0xc78,0x6c570001,
+0xc78,0x6b580001,
+0xc78,0x6a590001,
+0xc78,0x695a0001,
+0xc78,0x685b0001,
+0xc78,0x675c0001,
+0xc78,0x665d0001,
+0xc78,0x655e0001,
+0xc78,0x645f0001,
+0xc78,0x63600001,
+0xc78,0x62610001,
+0xc78,0x61620001,
+0xc78,0x60630001,
+0xc78,0x46640001,
+0xc78,0x45650001,
+0xc78,0x44660001,
+0xc78,0x43670001,
+0xc78,0x42680001,
+0xc78,0x41690001,
+0xc78,0x406a0001,
+0xc78,0x266b0001,
+0xc78,0x256c0001,
+0xc78,0x246d0001,
+0xc78,0x236e0001,
+0xc78,0x226f0001,
+0xc78,0x21700001,
+0xc78,0x20710001,
+0xc78,0x06720001,
+0xc78,0x05730001,
+0xc78,0x04740001,
+0xc78,0x03750001,
+0xc78,0x02760001,
+0xc78,0x01770001,
+0xc78,0x00780001,
+0xc78,0x00790001,
+0xc78,0x007a0001,
+0xc78,0x007b0001,
+0xc78,0x007c0001,
+0xc78,0x007d0001,
+0xc78,0x007e0001,
+0xc78,0x007f0001,
+0xc78,0x3800001e,
+0xc78,0x3801001e,
+0xc78,0x3802001e,
+0xc78,0x3803001e,
+0xc78,0x3804001e,
+0xc78,0x3805001e,
+0xc78,0x3806001e,
+0xc78,0x3807001e,
+0xc78,0x3808001e,
+0xc78,0x3c09001e,
+0xc78,0x3e0a001e,
+0xc78,0x400b001e,
+0xc78,0x440c001e,
+0xc78,0x480d001e,
+0xc78,0x4c0e001e,
+0xc78,0x500f001e,
+0xc78,0x5210001e,
+0xc78,0x5611001e,
+0xc78,0x5a12001e,
+0xc78,0x5e13001e,
+0xc78,0x6014001e,
+0xc78,0x6015001e,
+0xc78,0x6016001e,
+0xc78,0x6217001e,
+0xc78,0x6218001e,
+0xc78,0x6219001e,
+0xc78,0x621a001e,
+0xc78,0x621b001e,
+0xc78,0x621c001e,
+0xc78,0x621d001e,
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.h index 7ac79f9c6a92..6fdc75c4082e 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/Hal8192CUPHYImg_CE.h @@ -1,81 +1,81 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -#ifndef __INC_HAL8192CU_PHY_IMG_H -#define __INC_HAL8192CU_PHY_IMG_H - -/*Created on 2011/ 6/29, 10:30*/ - -#define Rtl8192CUPHY_REG_2TArrayLength 374 -extern u4Byte Rtl8192CUPHY_REG_2TArray[Rtl8192CUPHY_REG_2TArrayLength]; -#define Rtl8192CUPHY_REG_1TArrayLength 374 -extern u4Byte Rtl8192CUPHY_REG_1TArray[Rtl8192CUPHY_REG_1TArrayLength]; -#define Rtl8192CUPHY_ChangeTo_1T1RArrayLength 1 -extern u4Byte Rtl8192CUPHY_ChangeTo_1T1RArray[Rtl8192CUPHY_ChangeTo_1T1RArrayLength]; -#define Rtl8192CUPHY_ChangeTo_1T2RArrayLength 1 -extern u4Byte Rtl8192CUPHY_ChangeTo_1T2RArray[Rtl8192CUPHY_ChangeTo_1T2RArrayLength]; -#define Rtl8192CUPHY_ChangeTo_2T2RArrayLength 1 -extern u4Byte Rtl8192CUPHY_ChangeTo_2T2RArray[Rtl8192CUPHY_ChangeTo_2T2RArrayLength]; -#define Rtl8192CUPHY_REG_Array_PGLength 336 -extern u4Byte Rtl8192CUPHY_REG_Array_PG[Rtl8192CUPHY_REG_Array_PGLength]; -#define Rtl8192CUPHY_REG_Array_PG_mCardLength 336 -extern u4Byte Rtl8192CUPHY_REG_Array_PG_mCard[Rtl8192CUPHY_REG_Array_PG_mCardLength]; -#define Rtl8192CUPHY_REG_Array_MPLength 4 -extern u4Byte Rtl8192CUPHY_REG_Array_MP[Rtl8192CUPHY_REG_Array_MPLength]; -#define Rtl8192CUPHY_REG_1T_HPArrayLength 378 -extern u4Byte Rtl8192CUPHY_REG_1T_HPArray[Rtl8192CUPHY_REG_1T_HPArrayLength]; -#define Rtl8192CUPHY_REG_1T_mCardArrayLength 374 -extern u4Byte Rtl8192CUPHY_REG_1T_mCardArray[Rtl8192CUPHY_REG_1T_mCardArrayLength]; -#define Rtl8192CUPHY_REG_2T_mCardArrayLength 374 -extern u4Byte Rtl8192CUPHY_REG_2T_mCardArray[Rtl8192CUPHY_REG_2T_mCardArrayLength]; -#define Rtl8192CUPHY_REG_Array_PG_HPLength 336 -extern u4Byte Rtl8192CUPHY_REG_Array_PG_HP[Rtl8192CUPHY_REG_Array_PG_HPLength]; -#define Rtl8192CURadioA_2TArrayLength 282 -extern u4Byte Rtl8192CURadioA_2TArray[Rtl8192CURadioA_2TArrayLength]; -#define Rtl8192CURadioB_2TArrayLength 78 -extern u4Byte Rtl8192CURadioB_2TArray[Rtl8192CURadioB_2TArrayLength]; -#define Rtl8192CURadioA_1TArrayLength 282 -extern u4Byte Rtl8192CURadioA_1TArray[Rtl8192CURadioA_1TArrayLength]; -#define Rtl8192CURadioB_1TArrayLength 1 -extern u4Byte Rtl8192CURadioB_1TArray[Rtl8192CURadioB_1TArrayLength]; -#define Rtl8192CURadioA_2T_mCardArrayLength 282 -extern u4Byte Rtl8192CURadioA_2T_mCardArray[Rtl8192CURadioA_2T_mCardArrayLength]; -#define Rtl8192CURadioB_2T_mCardArrayLength 78 -extern u4Byte Rtl8192CURadioB_2T_mCardArray[Rtl8192CURadioB_2T_mCardArrayLength]; -#define Rtl8192CURadioA_1T_mCardArrayLength 282 -extern u32 Rtl8192CURadioA_1T_mCardArray[Rtl8192CURadioA_1T_mCardArrayLength]; -#define Rtl8192CURadioB_1T_mCardArrayLength 1 -extern u32 Rtl8192CURadioB_1T_mCardArray[Rtl8192CURadioB_1T_mCardArrayLength]; -#define Rtl8192CURadioA_1T_HPArrayLength 282 -extern u4Byte Rtl8192CURadioA_1T_HPArray[Rtl8192CURadioA_1T_HPArrayLength]; -#define Rtl8192CURadioB_GM_ArrayLength 1 -extern u4Byte Rtl8192CURadioB_GM_Array[Rtl8192CURadioB_GM_ArrayLength]; -#define Rtl8192CUMACPHY_Array_PGLength 1 -extern u4Byte Rtl8192CUMACPHY_Array_PG[Rtl8192CUMACPHY_Array_PGLength]; -#define Rtl8192CUAGCTAB_2TArrayLength 320 -extern u4Byte Rtl8192CUAGCTAB_2TArray[Rtl8192CUAGCTAB_2TArrayLength]; -#define Rtl8192CUAGCTAB_1TArrayLength 320 -extern u4Byte Rtl8192CUAGCTAB_1TArray[Rtl8192CUAGCTAB_1TArrayLength]; -#define Rtl8192CUAGCTAB_1T_HPArrayLength 320 -extern u4Byte Rtl8192CUAGCTAB_1T_HPArray[Rtl8192CUAGCTAB_1T_HPArrayLength]; - - -#endif //__INC_HAL8192CU_FW_IMG_H - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+#ifndef __INC_HAL8192CU_PHY_IMG_H
+#define __INC_HAL8192CU_PHY_IMG_H
+
+/*Created on 2011/ 6/29, 10:30*/
+
+#define Rtl8192CUPHY_REG_2TArrayLength 374
+extern u4Byte Rtl8192CUPHY_REG_2TArray[Rtl8192CUPHY_REG_2TArrayLength];
+#define Rtl8192CUPHY_REG_1TArrayLength 374
+extern u4Byte Rtl8192CUPHY_REG_1TArray[Rtl8192CUPHY_REG_1TArrayLength];
+#define Rtl8192CUPHY_ChangeTo_1T1RArrayLength 1
+extern u4Byte Rtl8192CUPHY_ChangeTo_1T1RArray[Rtl8192CUPHY_ChangeTo_1T1RArrayLength];
+#define Rtl8192CUPHY_ChangeTo_1T2RArrayLength 1
+extern u4Byte Rtl8192CUPHY_ChangeTo_1T2RArray[Rtl8192CUPHY_ChangeTo_1T2RArrayLength];
+#define Rtl8192CUPHY_ChangeTo_2T2RArrayLength 1
+extern u4Byte Rtl8192CUPHY_ChangeTo_2T2RArray[Rtl8192CUPHY_ChangeTo_2T2RArrayLength];
+#define Rtl8192CUPHY_REG_Array_PGLength 336
+extern u4Byte Rtl8192CUPHY_REG_Array_PG[Rtl8192CUPHY_REG_Array_PGLength];
+#define Rtl8192CUPHY_REG_Array_PG_mCardLength 336
+extern u4Byte Rtl8192CUPHY_REG_Array_PG_mCard[Rtl8192CUPHY_REG_Array_PG_mCardLength];
+#define Rtl8192CUPHY_REG_Array_MPLength 4
+extern u4Byte Rtl8192CUPHY_REG_Array_MP[Rtl8192CUPHY_REG_Array_MPLength];
+#define Rtl8192CUPHY_REG_1T_HPArrayLength 378
+extern u4Byte Rtl8192CUPHY_REG_1T_HPArray[Rtl8192CUPHY_REG_1T_HPArrayLength];
+#define Rtl8192CUPHY_REG_1T_mCardArrayLength 374
+extern u4Byte Rtl8192CUPHY_REG_1T_mCardArray[Rtl8192CUPHY_REG_1T_mCardArrayLength];
+#define Rtl8192CUPHY_REG_2T_mCardArrayLength 374
+extern u4Byte Rtl8192CUPHY_REG_2T_mCardArray[Rtl8192CUPHY_REG_2T_mCardArrayLength];
+#define Rtl8192CUPHY_REG_Array_PG_HPLength 336
+extern u4Byte Rtl8192CUPHY_REG_Array_PG_HP[Rtl8192CUPHY_REG_Array_PG_HPLength];
+#define Rtl8192CURadioA_2TArrayLength 282
+extern u4Byte Rtl8192CURadioA_2TArray[Rtl8192CURadioA_2TArrayLength];
+#define Rtl8192CURadioB_2TArrayLength 78
+extern u4Byte Rtl8192CURadioB_2TArray[Rtl8192CURadioB_2TArrayLength];
+#define Rtl8192CURadioA_1TArrayLength 282
+extern u4Byte Rtl8192CURadioA_1TArray[Rtl8192CURadioA_1TArrayLength];
+#define Rtl8192CURadioB_1TArrayLength 1
+extern u4Byte Rtl8192CURadioB_1TArray[Rtl8192CURadioB_1TArrayLength];
+#define Rtl8192CURadioA_2T_mCardArrayLength 282
+extern u4Byte Rtl8192CURadioA_2T_mCardArray[Rtl8192CURadioA_2T_mCardArrayLength];
+#define Rtl8192CURadioB_2T_mCardArrayLength 78
+extern u4Byte Rtl8192CURadioB_2T_mCardArray[Rtl8192CURadioB_2T_mCardArrayLength];
+#define Rtl8192CURadioA_1T_mCardArrayLength 282
+extern u32 Rtl8192CURadioA_1T_mCardArray[Rtl8192CURadioA_1T_mCardArrayLength];
+#define Rtl8192CURadioB_1T_mCardArrayLength 1
+extern u32 Rtl8192CURadioB_1T_mCardArray[Rtl8192CURadioB_1T_mCardArrayLength];
+#define Rtl8192CURadioA_1T_HPArrayLength 282
+extern u4Byte Rtl8192CURadioA_1T_HPArray[Rtl8192CURadioA_1T_HPArrayLength];
+#define Rtl8192CURadioB_GM_ArrayLength 1
+extern u4Byte Rtl8192CURadioB_GM_Array[Rtl8192CURadioB_GM_ArrayLength];
+#define Rtl8192CUMACPHY_Array_PGLength 1
+extern u4Byte Rtl8192CUMACPHY_Array_PG[Rtl8192CUMACPHY_Array_PGLength];
+#define Rtl8192CUAGCTAB_2TArrayLength 320
+extern u4Byte Rtl8192CUAGCTAB_2TArray[Rtl8192CUAGCTAB_2TArrayLength];
+#define Rtl8192CUAGCTAB_1TArrayLength 320
+extern u4Byte Rtl8192CUAGCTAB_1TArray[Rtl8192CUAGCTAB_1TArrayLength];
+#define Rtl8192CUAGCTAB_1T_HPArrayLength 320
+extern u4Byte Rtl8192CUAGCTAB_1T_HPArray[Rtl8192CUAGCTAB_1T_HPArrayLength];
+
+
+#endif //__INC_HAL8192CU_FW_IMG_H
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/HalDMOutSrc8192C_CE.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/HalDMOutSrc8192C_CE.c index d1ae1bbfb988..d0ece9f63e0a 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/HalDMOutSrc8192C_CE.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/HalDMOutSrc8192C_CE.c @@ -496,6 +496,16 @@ odm_TXPowerTrackingCallback_ThermalMeter_92C( pdmpriv->ThermalValue_IQK = ThermalValue; rtl8192c_PHY_IQCalibrate(Adapter,_FALSE); } + +#if 1 + if(delta > 0 && IS_HARDWARE_TYPE_8723A(Adapter)) + { + if(ThermalValue >= 15) + PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x038180fd ); + else + PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x0381808d ); + } +#endif //update thermal meter value if(pdmpriv->TxPowerTrackControl) @@ -563,7 +573,6 @@ odm_CheckTXPowerTracking_ThermalMeter( struct dm_priv *pdmpriv = &pHalData->dmpriv; DM_ODM_T *podmpriv = &pHalData->odmpriv; //u1Byte TxPowerCheckCnt = 5; //10 sec - //if(!pMgntInfo->bTXPowerTracking /*|| (!pdmpriv->TxPowerTrackControl && pdmpriv->bAPKdone)*/) if(!(podmpriv->SupportAbility & ODM_RF_TX_PWR_TRACK)) { diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.c index 6c25887e44fd..0a10a5b255c6 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.c @@ -1,2233 +1,2233 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -//============================================================ -// include files -//============================================================ - -#include "../odm_precomp.h" - -#if (RTL8192C_SUPPORT == 1) - -//#if (DM_ODM_SUPPORT_TYPE == ODM_MP) -VOID -odm_ResetFACounter_92C( - IN PDM_ODM_T pDM_Odm - ) -{ -// PADAPTER pAdapter = pDM_Odm->Adapter; - u1Byte BBReset; - - //reset false alarm counter registers - ODM_SetBBReg(pDM_Odm, 0xd00, BIT27, 1); - ODM_SetBBReg(pDM_Odm, 0xd00, BIT27, 0); - //update ofdm counter - ODM_SetBBReg(pDM_Odm, 0xc00, BIT31, 0); //update page C counter - ODM_SetBBReg(pDM_Odm, 0xd00, BIT31, 0); //update page D counter - - //reset CCK CCA counter - ODM_SetBBReg(pDM_Odm, 0xa2c, BIT13|BIT12, 0); - ODM_SetBBReg(pDM_Odm, 0xa2c, BIT13|BIT12, 2); - //reset CCK FA counter - ODM_SetBBReg(pDM_Odm, 0xa2c, BIT15|BIT14, 0); - ODM_SetBBReg(pDM_Odm, 0xa2c, BIT15|BIT14, 2); - - - //BB Reset - if(!pDM_Odm->bLinked) - { - BBReset = ODM_Read1Byte(pDM_Odm, 0x02); - ODM_Write1Byte(pDM_Odm, 0x02, BBReset&(~BIT0)); - ODM_Write1Byte(pDM_Odm, 0x02, BBReset|BIT0); - } - -} -//#endif - -#if (DM_ODM_SUPPORT_TYPE == ODM_MP) - - - -// -// ================================================== -// Tx power tracking relative code. -// ================================================== -// - - -//091212 chiyokolin -VOID -odm_TXPowerTrackingCallbackThermalMeter92C( - IN PADAPTER Adapter - ) -{ - -#if ((RT_PLATFORM == PLATFORM_WINDOWS) || (RT_PLATFORM == PLATFORM_LINUX)) && (HAL_CODE_BASE==RTL8192_C) - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - PDM_ODM_T pDM_Odm = &pHalData->DM_OutSrc; - u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_HP, TimeOut = 100; - s4Byte ele_A=0, ele_D, TempCCk, X, value32; - s4Byte Y, ele_C=0; - s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0; - int i = 0; - BOOLEAN is2T = IS_92C_SERIAL(pHalData->VersionID); - -#if MP_DRIVER == 1 - PMPT_CONTEXT pMptCtx = &(Adapter->MptCtx); - pu1Byte TxPwrLevel = pMptCtx->TxPwrLevel; -#endif - u1Byte OFDM_min_index = 6, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur - - u4Byte DPK_delta_mapping[2][DPK_DELTA_MAPPING_NUM] = { - {0x1c, 0x1c, 0x1d, 0x1d, 0x1e, - 0x1f, 0x00, 0x00, 0x01, 0x01, - 0x02, 0x02, 0x03}, - {0x1c, 0x1d, 0x1e, 0x1e, 0x1e, - 0x1f, 0x00, 0x00, 0x01, 0x02, - 0x02, 0x03, 0x03}}; - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - u1Byte ThermalValue_HP_count = 0; - u4Byte ThermalValue_HP = 0; - s1Byte index_mapping_HP[index_mapping_HP_NUM] = { - 0, 1, 3, 4, 6, - 7, 9, 10, 12, 13, - 15, 16, 18, 19, 21 - }; - - s1Byte index_HP; -#endif - - if (ODM_CheckPowerStatus(Adapter) == FALSE) - return; - - pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug - pHalData->bTXPowerTrackingInit = TRUE; - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallbackThermalMeter92C\n")); - - ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER, 0x1f); // 0x24: RF Reg[4:0] - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter)); - - //if (IS_HARDWARE_TYPE_8188E(Adapter)/* || - // is_ha*/) - //{ - // PHY_APCalibrate_8188E(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter)); - //} - //else if (IS_HARDWARE_TYPE_8192C(Adapter) || - // IS_HARDWARE_TYPE_8192D(Adapter) || - // IS_HARDWARE_TYPE_8723A(Adapter)) - { - PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter)); - } - - if(is2T) - rf = 2; - else - rf = 1; - - while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE) - { - PlatformSleepUs(100); - TimeOut--; - if(TimeOut <= 0) - { - RTPRINT(FINIT, INIT_TxPower, - ("!!!odm_TXPowerTrackingCallbackThermalMeter92C Wait for check CCK gain index too long!!!\n" )); - break; - } - } - - if(ThermalValue) - { -// if(!pHalData->ThermalValue) - { - //Query OFDM path A default setting - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[0] = (u1Byte)i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0])); - break; - } - } - - //Query OFDM path B default setting - if(is2T) - { - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[1] = (u1Byte)i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1])); - break; - } - } - } - - //Query CCK default setting From 0xa24 - TempCCk = PHY_QueryBBReg(Adapter, rCCK0_TxFilter2, bMaskDWord)&bMaskCCK; - for(i=0 ; i<CCK_TABLE_SIZE ; i++) - { - if(pHalData->bCCKinCH14) - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - else - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - } - - if(!pHalData->ThermalValue) - { - pHalData->ThermalValue = pHalData->EEPROMThermalMeter; - pHalData->ThermalValue_LCK = ThermalValue; - pHalData->ThermalValue_IQK = ThermalValue; - pHalData->ThermalValue_DPK = pHalData->EEPROMThermalMeter; - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - for(i = 0; i < rf; i++) - pHalData->OFDM_index_HP[i] = pHalData->OFDM_index[i] = OFDM_index_old[i]; - pHalData->CCK_index_HP = pHalData->CCK_index = CCK_index_old; -#else - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] = OFDM_index_old[i]; - pHalData->CCK_index = CCK_index_old; -#endif - } - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - pHalData->ThermalValue_HP[pHalData->ThermalValue_HP_index] = ThermalValue; - pHalData->ThermalValue_HP_index++; - if(pHalData->ThermalValue_HP_index == HP_THERMAL_NUM) - pHalData->ThermalValue_HP_index = 0; - - for(i = 0; i < HP_THERMAL_NUM; i++) - { - if(pHalData->ThermalValue_HP[i]) - { - ThermalValue_HP += pHalData->ThermalValue_HP[i]; - ThermalValue_HP_count++; - } - } - - if(ThermalValue_HP_count) - ThermalValue = (u1Byte)(ThermalValue_HP / ThermalValue_HP_count); - } -#endif - } - - delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - if(pHalData->bDoneTxpower) - delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); - else - delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - } - else -#endif - { - delta_HP = 0; - } - delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue); - delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue); - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK)); - - if(delta_LCK > 1) - { - pHalData->ThermalValue_LCK = ThermalValue; - PHY_LCCalibrate(Adapter); - } - - if((delta > 0 || delta_HP > 0)&& pHalData->TxPowerTrackControl) - { -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - pHalData->bDoneTxpower = TRUE; - delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - - if(delta_HP > index_mapping_HP_NUM-1) - index_HP = index_mapping_HP[index_mapping_HP_NUM-1]; - else - index_HP = index_mapping_HP[delta_HP]; - - if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index_HP[i] - index_HP; - CCK_index = pHalData->CCK_index_HP -index_HP; - } - else - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index_HP[i] + index_HP; - CCK_index = pHalData->CCK_index_HP + index_HP; - } - - delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); - - } - else -#endif - { - if(ThermalValue > pHalData->ThermalValue) - { - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] -= delta; - pHalData->CCK_index -= delta; - } - else - { - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] += delta; - pHalData->CCK_index += delta; - } - } - - if(is2T) - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index)); - } - else - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->CCK_index)); - } - - //no adjust -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) != INTF_SEL1_USB_High_Power) -#endif - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i]+1; - CCK_index = pHalData->CCK_index+1; - } - else - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i]; - CCK_index = pHalData->CCK_index; - } - -#if MP_DRIVER == 1 - for(i = 0; i < rf; i++) - { - if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26) - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - OFDM_index[i] -= 1; - else - OFDM_index[i] -= 2; - } - else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter) - { - OFDM_index[i] += 1; - } - } - else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - OFDM_index[i] -= 1; - else - OFDM_index[i] -= 2; - } - else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5) - { - OFDM_index[i] -= 1; - } - } - - { - if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26) - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - CCK_index -= 1; - else - CCK_index -= 2; - } - else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter) - { - CCK_index += 1; - } - } - else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - CCK_index -= 1; - else - CCK_index -= 2; - } - else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5) - { - CCK_index -= 1; - } - } -#endif - } - - for(i = 0; i < rf; i++) - { - if(OFDM_index[i] > (OFDM_TABLE_SIZE_92C-1)) - OFDM_index[i] = (OFDM_TABLE_SIZE_92C-1); - else if (OFDM_index[i] < OFDM_min_index) - OFDM_index[i] = OFDM_min_index; - } - - if(CCK_index > (CCK_TABLE_SIZE-1)) - CCK_index = (CCK_TABLE_SIZE-1); - else if (CCK_index < 0) - CCK_index = 0; - - if(is2T) - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], OFDM_index[1], CCK_index)); - } - else - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], CCK_index)); - } - } - - if(pHalData->TxPowerTrackControl && (delta != 0 || delta_HP != 0)) - { - //Adujst OFDM Ant_A according to IQK result - ele_D = (OFDMSwingTable[OFDM_index[0]] & 0xFFC00000)>>22; - X = pHalData->RegE94; - Y = pHalData->RegE9C; - - if(X != 0) - { - if ((X & 0x00000200) != 0) - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x000003FF; - - //wirte new elements A, C, D to regC80 and regC94, element B is always 0 - value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31, value32); - - value32 = ((Y * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT29, value32); - - } - else - { - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[0]]); - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31|BIT29, 0x00); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D)); - - //Adjust CCK according to IQK result - if(!pHalData->bCCKinCH14){ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]); - } - else{ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]); - } - - if(is2T) - { - ele_D = (OFDMSwingTable[OFDM_index[1]] & 0xFFC00000)>>22; - - //new element A = element D x X - X = pHalData->RegEB4; - Y = pHalData->RegEBC; - - if(X != 0){ - if ((X & 0x00000200) != 0) //consider minus - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x00003FF; - - //wirte new elements A, C, D to regC88 and regC9C, element B is always 0 - value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27, value32); - - value32 = ((Y * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT25, value32); - - } - else{ - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[1]]); - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27|BIT25, 0x00); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D)); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask))); - } - -#if MP_DRIVER == 1 - if(delta_IQK > 1) -#else - if(delta_IQK > 3) -#endif - { - pHalData->ThermalValue_IQK = ThermalValue; - PHY_IQCalibrate(Adapter, FALSE); - } - - //update thermal meter value - if(pHalData->TxPowerTrackControl) - Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue); - - } - - PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE); - pHalData->TXPowercount = 0; - - // 2011/08/23 MH Add for power tracking after S3/S4 turn off RF. In this case, we need to execute IQK again. Otherwise - // The IQK scheme will use old value to save and cause incorrect BB value. - { - RT_RF_POWER_STATE rtState; - - Adapter->HalFunc.GetHwRegHandler(Adapter, HW_VAR_RF_STATE, (pu1Byte)(&rtState)); - - if(Adapter->bDriverStopped || Adapter->bDriverIsGoingToPnpSetPowerSleep || rtState == eRfOff) - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Incorrect pwrtrack point, re-iqk next time\n")); - pHalData->bIQKInitialized = FALSE; - } - } - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("<===odm_TXPowerTrackingCallbackThermalMeter92C\n")); -#endif - -} - -//#if (RT_PLATFORM == PLATFORM_WINDOWS) && (HAL_CODE_BASE==RTL8192_C) -VOID -odm_TXPowerTrackingCallbackRXGainThermalMeter92D( - IN PADAPTER Adapter - ) -{ - u1Byte index_mapping[Rx_index_mapping_NUM] = { - 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, - 0x0a, 0x09, 0x08, 0x07, 0x06, - 0x05, 0x04, 0x04, 0x03, 0x02 - }; - -#ifndef AP_BUILD_WORKAROUND - u1Byte eRFPath; - u4Byte u4tmp; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - PDM_ODM_T pDM_Odm = &pHalData->DM_OutSrc; - - u4tmp = (index_mapping[(pHalData->EEPROMThermalMeter - pHalData->ThermalValue_RxGain)]) << 12; - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallbackRXGainThermalMeter92D interface %u Rx Gain %x\n", Adapter->interfaceIndex, u4tmp)); - - for(eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++) - PHY_SetRFReg(Adapter, (ODM_RF_RADIO_PATH_E)eRFPath, RF_RXRF_A3, bRFRegOffsetMask, (pHalData->RegRF3C[eRFPath]&(~(0xF000)))|u4tmp); -#endif - -}; - - -//091212 chiyokolin -VOID -odm_TXPowerTrackingCallbackThermalMeter92D( - IN PADAPTER Adapter - ) -{ - -#ifndef AP_BUILD_WORKAROUND - -//#if (RT_PLATFORM == PLATFORM_WINDOWS) && (HAL_CODE_BASE==RTL8192_C) -#if (HAL_CODE_BASE==RTL8192_C) - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - PDM_ODM_T pDM_Odm = &pHalData->DM_OutSrc; - u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_RxGain, index, offset; - u1Byte ThermalValue_AVG_count = 0; - u4Byte ThermalValue_AVG = 0; - s4Byte ele_A=0, ele_D, TempCCk, X, value32; - s4Byte Y, ele_C=0; - s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0; - u4Byte i = 0; - BOOLEAN is2T = (IS_92C_SERIAL(pHalData->VersionID) || IS_92D_SINGLEPHY(pHalData->VersionID)) ; - BOOLEAN bInteralPA = FALSE; - - u1Byte OFDM_min_index = 6, OFDM_min_index_internalPA = 3, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur - u1Byte Indexforchannel = GetRightChnlPlaceforIQK(pHalData->CurrentChannel); - u1Byte index_mapping[5][index_mapping_NUM] = { - {0, 1, 3, 6, 8, 9, //5G, path A/MAC 0, decrease power - 11, 13, 14, 16, 17, 18, 18}, - {0, 2, 4, 5, 7, 10, //5G, path A/MAC 0, increase power - 12, 14, 16, 18, 18, 18, 18}, - {0, 2, 3, 6, 8, 9, //5G, path B/MAC 1, decrease power - 11, 13, 14, 16, 17, 18, 18}, - {0, 2, 4, 5, 7, 10, //5G, path B/MAC 1, increase power - 13, 16, 16, 18, 18, 18, 18}, - {0, 1, 2, 3, 4, 5, //2.4G, for decreas power - 6, 7, 7, 8, 9, 10, 10}, - }; - -u1Byte index_mapping_internalPA[8][index_mapping_NUM] = { - {0, 1, 2, 4, 6, 7, //5G, path A/MAC 0, ch36-64, decrease power - 9, 11, 12, 14, 15, 16, 16}, - {0, 2, 4, 5, 7, 10, //5G, path A/MAC 0, ch36-64, increase power - 12, 14, 16, 18, 18, 18, 18}, - {0, 1, 2, 3, 5, 6, //5G, path A/MAC 0, ch100-165, decrease power - 8, 10, 11, 13, 14, 15, 15}, - {0, 2, 4, 5, 7, 10, //5G, path A/MAC 0, ch100-165, increase power - 12, 14, 16, 18, 18, 18, 18}, - {0, 1, 2, 4, 6, 7, //5G, path B/MAC 1, ch36-64, decrease power - 9, 11, 12, 14, 15, 16, 16}, - {0, 2, 4, 5, 7, 10, //5G, path B/MAC 1, ch36-64, increase power - 13, 16, 16, 18, 18, 18, 18}, - {0, 1, 2, 3, 5, 6, //5G, path B/MAC 1, ch100-165, decrease power - 8, 9, 10, 12, 13, 14, 14}, - {0, 2, 4, 5, 7, 10, //5G, path B/MAC 1, ch100-165, increase power - 13, 16, 16, 18, 18, 18, 18}, - }; - -//#if MP_DRIVER != 1 -// return; -//#endif - - - pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug - pHalData->bTXPowerTrackingInit = TRUE; - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("===>dm_TXPowerTrackingCallback_ThermalMeter_92D interface %u txpowercontrol %d\n", Adapter->interfaceIndex, pHalData->TxPowerTrackControl)); - - ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER_92D, 0xf800); //0x42: RF Reg[15:11] 92D - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter)); - - //PHY_APCalibrate(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter)); - //if (IS_HARDWARE_TYPE_8188E(Adapter)/* || - // is_ha*/) - //{ - // PHY_APCalibrate_8188E(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter)); - //} - //else if (IS_HARDWARE_TYPE_8192C(Adapter) || - // IS_HARDWARE_TYPE_8192D(Adapter) || - // IS_HARDWARE_TYPE_8723A(Adapter)) - { - PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter)); - } - -// if(!pHalData->TxPowerTrackControl) -// return; - - if(is2T) - rf = 2; - else - rf = 1; - - if(ThermalValue) - { -// if(!pHalData->ThermalValue) - { - //Query OFDM path A default setting - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92D; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[0] = (u1Byte)i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0])); - break; - } - } - - //Query OFDM path B default setting - if(is2T) - { - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92D; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[1] = (u1Byte)i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1])); - break; - } - } - } - - if(pHalData->CurrentBandType92D == BAND_ON_2_4G) - { - //Query CCK default setting From 0xa24 - TempCCk = pHalData->RegA24; - - for(i=0 ; i<CCK_TABLE_SIZE ; i++) - { - if(pHalData->bCCKinCH14) - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - else - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - } - } - else - { - TempCCk = 0x090e1317; - CCK_index_old = 12; - } - - if(!pHalData->ThermalValue) - { - pHalData->ThermalValue = pHalData->EEPROMThermalMeter; - pHalData->ThermalValue_LCK = ThermalValue; - pHalData->ThermalValue_IQK = ThermalValue; - pHalData->ThermalValue_RxGain = pHalData->EEPROMThermalMeter; - - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] = OFDM_index_old[i]; - pHalData->CCK_index = CCK_index_old; - } - - if(pHalData->bReloadtxpowerindex) - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("reload ofdm index for band switch\n")); - } - - //calculate average thermal meter - { - pHalData->ThermalValue_AVG[pHalData->ThermalValue_AVG_index] = ThermalValue; - pHalData->ThermalValue_AVG_index++; - if(pHalData->ThermalValue_AVG_index == AVG_THERMAL_NUM) - pHalData->ThermalValue_AVG_index = 0; - - for(i = 0; i < AVG_THERMAL_NUM; i++) - { - if(pHalData->ThermalValue_AVG[i]) - { - ThermalValue_AVG += pHalData->ThermalValue_AVG[i]; - ThermalValue_AVG_count++; - } - } - - if(ThermalValue_AVG_count) - ThermalValue = (u1Byte)(ThermalValue_AVG / ThermalValue_AVG_count); - } - } - - if(pHalData->bReloadtxpowerindex) - { - delta = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - pHalData->bReloadtxpowerindex = FALSE; - pHalData->bDoneTxpower = FALSE; - } - else if(pHalData->bDoneTxpower) - { - delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); - } - else - { - delta = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - } - delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue); - delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue); - delta_RxGain = (ThermalValue > pHalData->ThermalValue_RxGain)?(ThermalValue - pHalData->ThermalValue_RxGain):(pHalData->ThermalValue_RxGain - ThermalValue); - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("interface %u Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x delta_RxGain 0x%x\n", Adapter->interfaceIndex, ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK, delta_RxGain)); - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("interface %u pre thermal meter LCK 0x%x pre thermal meter IQK 0x%x delta_LCK_bound 0x%x delta_IQK_bound 0x%x\n", Adapter->interfaceIndex, pHalData->ThermalValue_LCK, pHalData->ThermalValue_IQK, pHalData->Delta_LCK, pHalData->Delta_IQK)); - - if((delta_LCK > pHalData->Delta_LCK) && (pHalData->Delta_LCK != 0)) - { - pHalData->ThermalValue_LCK = ThermalValue; - PHY_LCCalibrate(Adapter); - } - - if(delta > 0 && pHalData->TxPowerTrackControl) - { - delta = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - - //calculate new OFDM / CCK offset - { - if(pHalData->CurrentBandType92D == BAND_ON_2_4G) - { - offset = 4; - - if(delta > index_mapping_NUM-1) - index = index_mapping[offset][index_mapping_NUM-1]; - else - index = index_mapping[offset][delta]; - - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i] -delta; - CCK_index = pHalData->CCK_index -delta; - } - else - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i] + index; - CCK_index = pHalData->CCK_index + index; - } - } - else if(pHalData->CurrentBandType92D == BAND_ON_5G) - { - for(i = 0; i < rf; i++) - { - if(pHalData->MacPhyMode92D == DUALMAC_DUALPHY && - Adapter->interfaceIndex == 1) //MAC 1 5G - bInteralPA = pHalData->InternalPA5G[1]; - else - bInteralPA = pHalData->InternalPA5G[i]; - - if(bInteralPA) - { - if(Adapter->interfaceIndex == 1 || i == rf) - offset = 4; - else - offset = 0; - - if(pHalData->CurrentChannel >= 100 && pHalData->CurrentChannel <= 165) - offset += 2; - } - else - { - if(Adapter->interfaceIndex == 1 || i == rf) - offset = 2; - else - offset = 0; - } - - if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power - offset++; - - if(bInteralPA) - { - if(delta > index_mapping_NUM-1) - index = index_mapping_internalPA[offset][index_mapping_NUM-1]; - else - index = index_mapping_internalPA[offset][delta]; - } - else - { - if(delta > index_mapping_NUM-1) - index = index_mapping[offset][index_mapping_NUM-1]; - else - index = index_mapping[offset][delta]; - } - - if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power - { - if(bInteralPA && ThermalValue > 0x12) - { - OFDM_index[i] = pHalData->OFDM_index[i] -((delta/2)*3+(delta%2)); - } - else - { - OFDM_index[i] = pHalData->OFDM_index[i] -index; - } - } - else - { - OFDM_index[i] = pHalData->OFDM_index[i] + index; - } - } - } - - if(is2T) - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index)); - } - else - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->CCK_index)); - } - - for(i = 0; i < rf; i++) - { - if(OFDM_index[i] > OFDM_TABLE_SIZE_92D-1) - { - OFDM_index[i] = OFDM_TABLE_SIZE_92D-1; - } - else if(bInteralPA || pHalData->CurrentBandType92D == BAND_ON_2_4G) - { - if (OFDM_index[i] < OFDM_min_index_internalPA) - OFDM_index[i] = OFDM_min_index_internalPA; - } - else if (OFDM_index[i] < OFDM_min_index) - { - OFDM_index[i] = OFDM_min_index; - } - } - - if(pHalData->CurrentBandType92D == BAND_ON_2_4G) - { - if(CCK_index > CCK_TABLE_SIZE-1) - CCK_index = CCK_TABLE_SIZE-1; - else if (CCK_index < 0) - CCK_index = 0; - } - - if(is2T) - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], OFDM_index[1], CCK_index)); - } - else - { - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], CCK_index)); - } - } - - //Config by SwingTable - if(pHalData->TxPowerTrackControl && !pHalData->bNOPG) - { - pHalData->bDoneTxpower = TRUE; - - //Adujst OFDM Ant_A according to IQK result - ele_D = (OFDMSwingTable[(u1Byte)OFDM_index[0]] & 0xFFC00000)>>22; -// X = pHalData->RegE94; -// Y = pHalData->RegE9C; - X = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][0]; - Y = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][1]; - - if(X != 0 && pHalData->CurrentBandType92D == BAND_ON_2_4G) - { - if ((X & 0x00000200) != 0) - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x000003FF; - - //wirte new elements A, C, D to regC80 and regC94, element B is always 0 - value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT24, value32); - - } - else - { - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[(u1Byte)OFDM_index[0]]); - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT24, 0x00); - } - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD, ("TxPwrTracking for interface %u path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x 0xe94 = 0x%x 0xe9c = 0x%x\n", - (u1Byte)Adapter->interfaceIndex, (u4Byte)X, (u4Byte)Y, (u4Byte)ele_A, (u4Byte)ele_C, (u4Byte)ele_D, (u4Byte)X, (u4Byte)Y)); - - - if(pHalData->CurrentBandType92D == BAND_ON_2_4G) - { - //Adjust CCK according to IQK result - if(!pHalData->bCCKinCH14){ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][7]); - } - else{ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[(u1Byte)CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[(u1Byte)CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[(u1Byte)CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[(u1Byte)CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[(u1Byte)CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[(u1Byte)CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[(u1Byte)CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[(u1Byte)CCK_index][7]); - } - } - - if(is2T) - { - ele_D = (OFDMSwingTable[(u1Byte)OFDM_index[1]] & 0xFFC00000)>>22; - - //new element A = element D x X -// X = pHalData->RegEB4; -// Y = pHalData->RegEBC; - X = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][4]; - Y = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][5]; - - if(X != 0 && pHalData->CurrentBandType92D == BAND_ON_2_4G) - { - if ((X & 0x00000200) != 0) //consider minus - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x00003FF; - - //wirte new elements A, C, D to regC88 and regC9C, element B is always 0 - value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT28, value32); - - } - else - { - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[(u1Byte)OFDM_index[1]]); - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT28, 0x00); - } - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x 0xeb4 = 0x%x 0xebc = 0x%x\n", - (u4Byte)X, (u4Byte)Y, (u4Byte)ele_A, (u4Byte)ele_C, (u4Byte)ele_D, (u4Byte)X, (u4Byte)Y)); - } - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask))); - } - } - - if((delta_IQK > pHalData->Delta_IQK) && (pHalData->Delta_IQK != 0)) - { - PHY_ResetIQKResult(Adapter); - pHalData->ThermalValue_IQK = ThermalValue; -#if (DEV_BUS_TYPE == RT_PCI_INTERFACE) -#if USE_WORKITEM - PlatformAcquireMutex(&pHalData->mxChnlBwControl); -#else - PlatformAcquireSpinLock(Adapter, RT_CHANNEL_AND_BANDWIDTH_SPINLOCK); -#endif -#elif((DEV_BUS_TYPE == RT_USB_INTERFACE) || (DEV_BUS_TYPE == RT_SDIO_INTERFACE)) - PlatformAcquireMutex(&pHalData->mxChnlBwControl); -#endif - - PHY_IQCalibrate(Adapter, FALSE); - -#if (DEV_BUS_TYPE == RT_PCI_INTERFACE) -#if USE_WORKITEM - PlatformReleaseMutex(&pHalData->mxChnlBwControl); -#else - PlatformReleaseSpinLock(Adapter, RT_CHANNEL_AND_BANDWIDTH_SPINLOCK); -#endif -#elif((DEV_BUS_TYPE == RT_USB_INTERFACE) || (DEV_BUS_TYPE == RT_SDIO_INTERFACE)) - PlatformReleaseMutex(&pHalData->mxChnlBwControl); -#endif - - } - - if(delta_RxGain > 0 && pHalData->CurrentBandType92D == BAND_ON_5G - && ThermalValue <= pHalData->EEPROMThermalMeter) - { - pHalData->ThermalValue_RxGain = ThermalValue; - odm_TXPowerTrackingCallbackRXGainThermalMeter92D(Adapter); - } - - //update thermal meter value - if(pHalData->TxPowerTrackControl) - { - Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue); - } - - } - - ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("<===dm_TXPowerTrackingCallback_ThermalMeter_92D\n")); - - pHalData->TXPowercount = 0; -#endif -#endif -} - - -// -// Description: -// - Dispatch TxPower Tracking direct call ONLY for 92s. -// - We shall NOT schedule Workitem within PASSIVE LEVEL, which will cause system resource -// leakage under some platform. -// -// Assumption: -// PASSIVE_LEVEL when this routine is called. -// -// Added by Roger, 2009.06.18. -// -VOID -odm_TXPowerTrackingDirectCall92C( - IN PADAPTER Adapter - ) -{ -#ifndef AP_BUILD_WORKAROUND - if(IS_HARDWARE_TYPE_8192D(Adapter)) - odm_TXPowerTrackingCallbackThermalMeter92D(Adapter); - else - odm_TXPowerTrackingCallbackThermalMeter92C(Adapter); -#endif -} - - -VOID -odm_TXPowerTrackingCallback_ThermalMeter_92C( - IN PADAPTER Adapter - ) -{ -#if ((RT_PLATFORM == PLATFORM_WINDOWS) || (RT_PLATFORM == PLATFORM_LINUX)) && (HAL_CODE_BASE==RTL8192_C) - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_HP, TimeOut = 100; - s4Byte ele_A=0, ele_D, TempCCk, X, value32; - s4Byte Y, ele_C=0; - s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0; - int i = 0; - BOOLEAN is2T = IS_92C_SERIAL(pHalData->VersionID); - -#if MP_DRIVER == 1 - PMPT_CONTEXT pMptCtx = &(Adapter->MptCtx); - pu1Byte TxPwrLevel = pMptCtx->TxPwrLevel; -#endif - u1Byte OFDM_min_index = 6, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur -#if 0 - u4Byte DPK_delta_mapping[2][DPK_DELTA_MAPPING_NUM] = { - {0x1c, 0x1c, 0x1d, 0x1d, 0x1e, - 0x1f, 0x00, 0x00, 0x01, 0x01, - 0x02, 0x02, 0x03}, - {0x1c, 0x1d, 0x1e, 0x1e, 0x1e, - 0x1f, 0x00, 0x00, 0x01, 0x02, - 0x02, 0x03, 0x03}}; -#endif -#if DEV_BUS_TYPE==RT_USB_INTERFACE - u1Byte ThermalValue_HP_count = 0; - u4Byte ThermalValue_HP = 0; - s1Byte index_mapping_HP[index_mapping_HP_NUM] = { - 0, 1, 3, 4, 6, - 7, 9, 10, 12, 13, - 15, 16, 18, 19, 21 - }; - - s1Byte index_HP; -#endif - - if (ODM_CheckPowerStatus(Adapter) == FALSE) - return; - - pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug - pHalData->bTXPowerTrackingInit = TRUE; - - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallback_ThermalMeter_92C\n")); - - ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER, 0x1f); // 0x24: RF Reg[4:0] - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter)); - - PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter)); - - if(is2T) - rf = 2; - else - rf = 1; - - while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE) - { - PlatformSleepUs(100); - TimeOut--; - if(TimeOut <= 0) - { - RTPRINT(FINIT, INIT_TxPower, - ("!!!odm_TXPowerTrackingCallback_ThermalMeter_92C Wait for check CCK gain index too long!!!\n" )); - break; - } - } - - if(ThermalValue) - { -// if(!pHalData->ThermalValue) - { - //Query OFDM path A default setting - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[0] = (u1Byte)i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0])); - break; - } - } - - //Query OFDM path B default setting - if(is2T) - { - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[1] = (u1Byte)i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1])); - break; - } - } - } - - //Query CCK default setting From 0xa24 - TempCCk = PHY_QueryBBReg(Adapter, rCCK0_TxFilter2, bMaskDWord)&bMaskCCK; - for(i=0 ; i<CCK_TABLE_SIZE ; i++) - { - if(pHalData->bCCKinCH14) - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - else - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - } - - if(!pHalData->ThermalValue) - { - pHalData->ThermalValue = pHalData->EEPROMThermalMeter; - pHalData->ThermalValue_LCK = ThermalValue; - pHalData->ThermalValue_IQK = ThermalValue; - pHalData->ThermalValue_DPK = pHalData->EEPROMThermalMeter; - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - for(i = 0; i < rf; i++) - pHalData->OFDM_index_HP[i] = pHalData->OFDM_index[i] = OFDM_index_old[i]; - pHalData->CCK_index_HP = pHalData->CCK_index = CCK_index_old; -#else - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] = OFDM_index_old[i]; - pHalData->CCK_index = CCK_index_old; -#endif - } - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - pHalData->ThermalValue_HP[pHalData->ThermalValue_HP_index] = ThermalValue; - pHalData->ThermalValue_HP_index++; - if(pHalData->ThermalValue_HP_index == HP_THERMAL_NUM) - pHalData->ThermalValue_HP_index = 0; - - for(i = 0; i < HP_THERMAL_NUM; i++) - { - if(pHalData->ThermalValue_HP[i]) - { - ThermalValue_HP += pHalData->ThermalValue_HP[i]; - ThermalValue_HP_count++; - } - } - - if(ThermalValue_HP_count) - ThermalValue = (u1Byte)(ThermalValue_HP / ThermalValue_HP_count); - } -#endif - } - - delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - if(pHalData->bDoneTxpower) - delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); - else - delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - } - else -#endif - { - delta_HP = 0; - } - delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue); - delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue); - - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK)); - - if(delta_LCK > 1) - { - pHalData->ThermalValue_LCK = ThermalValue; - PHY_LCCalibrate_8192C(Adapter); - } - - if((delta > 0 || delta_HP > 0)&& pHalData->TxPowerTrackControl) - { -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - pHalData->bDoneTxpower = TRUE; - delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - - if(delta_HP > index_mapping_HP_NUM-1) - index_HP = index_mapping_HP[index_mapping_HP_NUM-1]; - else - index_HP = index_mapping_HP[delta_HP]; - - if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index_HP[i] - index_HP; - CCK_index = pHalData->CCK_index_HP -index_HP; - } - else - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index_HP[i] + index_HP; - CCK_index = pHalData->CCK_index_HP + index_HP; - } - - delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); - - } - else -#endif - { - if(ThermalValue > pHalData->ThermalValue) - { - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] -= delta; - pHalData->CCK_index -= delta; - } - else - { - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] += delta; - pHalData->CCK_index += delta; - } - } - - if(is2T) - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index)); - } - else - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->CCK_index)); - } - - //no adjust -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) != INTF_SEL1_USB_High_Power) -#endif - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i]+1; - CCK_index = pHalData->CCK_index+1; - } - else - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i]; - CCK_index = pHalData->CCK_index; - } - -#if MP_DRIVER == 1 - for(i = 0; i < rf; i++) - { - if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26) - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - OFDM_index[i] -= 1; - else - OFDM_index[i] -= 2; - } - else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter) - { - OFDM_index[i] += 1; - } - } - else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - OFDM_index[i] -= 1; - else - OFDM_index[i] -= 2; - } - else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5) - { - OFDM_index[i] -= 1; - } - } - - { - if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26) - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - CCK_index -= 1; - else - CCK_index -= 2; - } - else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter) - { - CCK_index += 1; - } - } - else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - CCK_index -= 1; - else - CCK_index -= 2; - } - else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5) - { - CCK_index -= 1; - } - } -#endif - } - - for(i = 0; i < rf; i++) - { - if(OFDM_index[i] > (OFDM_TABLE_SIZE_92C-1)) - OFDM_index[i] = (OFDM_TABLE_SIZE_92C-1); - else if (OFDM_index[i] < OFDM_min_index) - OFDM_index[i] = OFDM_min_index; - } - - if(CCK_index > (CCK_TABLE_SIZE-1)) - CCK_index = (CCK_TABLE_SIZE-1); - else if (CCK_index < 0) - CCK_index = 0; - - if(is2T) - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], OFDM_index[1], CCK_index)); - } - else - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], CCK_index)); - } - } - - if(pHalData->TxPowerTrackControl && (delta != 0 || delta_HP != 0)) - { - //Adujst OFDM Ant_A according to IQK result - ele_D = (OFDMSwingTable[OFDM_index[0]] & 0xFFC00000)>>22; - X = pHalData->RegE94; - Y = pHalData->RegE9C; - - if(X != 0) - { - if ((X & 0x00000200) != 0) - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x000003FF; - - //wirte new elements A, C, D to regC80 and regC94, element B is always 0 - value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31, value32); - - value32 = ((Y * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT29, value32); - - } - else - { - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[0]]); - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31|BIT29, 0x00); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D)); - - //Adjust CCK according to IQK result - if(!pHalData->bCCKinCH14){ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]); - } - else{ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]); - } - - if(is2T) - { - ele_D = (OFDMSwingTable[OFDM_index[1]] & 0xFFC00000)>>22; - - //new element A = element D x X - X = pHalData->RegEB4; - Y = pHalData->RegEBC; - - if(X != 0){ - if ((X & 0x00000200) != 0) //consider minus - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x00003FF; - - //wirte new elements A, C, D to regC88 and regC9C, element B is always 0 - value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27, value32); - - value32 = ((Y * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT25, value32); - - } - else{ - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[1]]); - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27|BIT25, 0x00); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D)); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask))); - } - -#if MP_DRIVER == 1 - if(delta_IQK > 1) -#else - if(delta_IQK > 3) -#endif - { - pHalData->ThermalValue_IQK = ThermalValue; - PHY_IQCalibrate_8192C(Adapter, FALSE); - } - -#if 1 - if(delta > 0 && IS_HARDWARE_TYPE_8723A(Adapter)) - { - if(ThermalValue >= 15) - PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x038180fd ); - else - PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x0381808d ); - } -#endif - - //update thermal meter value - if(pHalData->TxPowerTrackControl) - Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue); - - } - - PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE); - pHalData->TXPowercount = 0; - - // 2011/08/23 MH Add for power tracking after S3/S4 turn off RF. In this case, we need to execute IQK again. Otherwise - // The IQK scheme will use old value to save and cause incorrect BB value. - { - RT_RF_POWER_STATE rtState; - - Adapter->HalFunc.GetHwRegHandler(Adapter, HW_VAR_RF_STATE, (pu1Byte)(&rtState)); - - if(Adapter->bDriverStopped || Adapter->bDriverIsGoingToPnpSetPowerSleep || rtState == eRfOff) - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Incorrect pwrtrack point, re-iqk next time\n")); - pHalData->bIQKInitialized = FALSE; - } - } - - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("<===odm_TXPowerTrackingCallback_ThermalMeter_92C\n")); -#endif -} - -VOID -odm_TXPowerTrackingCallback_ThermalMeter_8723A( - IN PADAPTER Adapter) -{ -#if ((RT_PLATFORM == PLATFORM_WINDOWS) || (RT_PLATFORM == PLATFORM_LINUX)) && (HAL_CODE_BASE==RTL8192_C) - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_HP, TimeOut = 100; - s4Byte ele_A=0, ele_D, TempCCk, X, value32; - s4Byte Y, ele_C=0; - s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0; - int i = 0; - BOOLEAN is2T = IS_92C_SERIAL(pHalData->VersionID); - -#if MP_DRIVER == 1 - PMPT_CONTEXT pMptCtx = &(Adapter->MptCtx); - pu1Byte TxPwrLevel = pMptCtx->TxPwrLevel; -#endif - u1Byte OFDM_min_index = 6, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur -#if 0 - u4Byte DPK_delta_mapping[2][DPK_DELTA_MAPPING_NUM] = { - {0x1c, 0x1c, 0x1d, 0x1d, 0x1e, - 0x1f, 0x00, 0x00, 0x01, 0x01, - 0x02, 0x02, 0x03}, - {0x1c, 0x1d, 0x1e, 0x1e, 0x1e, - 0x1f, 0x00, 0x00, 0x01, 0x02, - 0x02, 0x03, 0x03}}; -#endif -#if DEV_BUS_TYPE==RT_USB_INTERFACE - u1Byte ThermalValue_HP_count = 0; - u4Byte ThermalValue_HP = 0; - s1Byte index_mapping_HP[index_mapping_HP_NUM] = { - 0, 1, 3, 4, 6, - 7, 9, 10, 12, 13, - 15, 16, 18, 19, 21 - }; - - s1Byte index_HP; -#endif - - if (ODM_CheckPowerStatus(Adapter) == FALSE) - return; - - pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug - pHalData->bTXPowerTrackingInit = TRUE; - - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallback_ThermalMeter_92C\n")); - - ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER, 0x1f); // 0x24: RF Reg[4:0] - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter)); - - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if (ThermalValue <= 0x16) - { // <20120307, Kordan> Asked by Alex. - PlatformEFIOWrite2Byte(Adapter, REG_AFE_XTAL_CTRL, - ((PlatformEFIORead2Byte(Adapter, REG_AFE_XTAL_CTRL))&~(BIT4|BIT5|BIT6|BIT7)) | (BIT7)); - } - else - { - PlatformEFIOWrite2Byte(Adapter, REG_AFE_XTAL_CTRL, - ((PlatformEFIORead2Byte(Adapter, REG_AFE_XTAL_CTRL))&~(BIT4|BIT5|BIT6|BIT7)) | (BIT4|BIT5|BIT6|BIT7)); - } -#endif - - PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter)); - - if(is2T) - rf = 2; - else - rf = 1; - - while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE) - { - PlatformSleepUs(100); - TimeOut--; - if(TimeOut <= 0) - { - RTPRINT(FINIT, INIT_TxPower, - ("!!!odm_TXPowerTrackingCallback_ThermalMeter_92C Wait for check CCK gain index too long!!!\n" )); - break; - } - } - - if(ThermalValue) - { -// if(!pHalData->ThermalValue) - { - //Query OFDM path A default setting - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[0] = (u1Byte)i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0])); - break; - } - } - - //Query OFDM path B default setting - if(is2T) - { - ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D; - for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index - { - if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D)) - { - OFDM_index_old[1] = (u1Byte)i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", - rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1])); - break; - } - } - } - - //Query CCK default setting From 0xa24 - TempCCk = PHY_QueryBBReg(Adapter, rCCK0_TxFilter2, bMaskDWord)&bMaskCCK; - for(i=0 ; i<CCK_TABLE_SIZE ; i++) - { - if(pHalData->bCCKinCH14) - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - else - { - if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0) - { - CCK_index_old =(u1Byte) i; - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n", - rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - } - - if(!pHalData->ThermalValue) - { - pHalData->ThermalValue = pHalData->EEPROMThermalMeter; - pHalData->ThermalValue_LCK = ThermalValue; - pHalData->ThermalValue_IQK = ThermalValue; - pHalData->ThermalValue_DPK = pHalData->EEPROMThermalMeter; - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - for(i = 0; i < rf; i++) - pHalData->OFDM_index_HP[i] = pHalData->OFDM_index[i] = OFDM_index_old[i]; - pHalData->CCK_index_HP = pHalData->CCK_index = CCK_index_old; -#else - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] = OFDM_index_old[i]; - pHalData->CCK_index = CCK_index_old; -#endif - } - -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - pHalData->ThermalValue_HP[pHalData->ThermalValue_HP_index] = ThermalValue; - pHalData->ThermalValue_HP_index++; - if(pHalData->ThermalValue_HP_index == HP_THERMAL_NUM) - pHalData->ThermalValue_HP_index = 0; - - for(i = 0; i < HP_THERMAL_NUM; i++) - { - if(pHalData->ThermalValue_HP[i]) - { - ThermalValue_HP += pHalData->ThermalValue_HP[i]; - ThermalValue_HP_count++; - } - } - - if(ThermalValue_HP_count) - ThermalValue = (u1Byte)(ThermalValue_HP / ThermalValue_HP_count); - } -#endif - } - - delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - if(pHalData->bDoneTxpower) - delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); - else - delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - } - else -#endif - { - delta_HP = 0; - } - delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue); - delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue); - - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK)); - - if(delta_LCK > 1) - { - pHalData->ThermalValue_LCK = ThermalValue; - PHY_LCCalibrate(Adapter); - } - - if((delta > 0 || delta_HP > 0)&& pHalData->TxPowerTrackControl) - { -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power) - { - pHalData->bDoneTxpower = TRUE; - delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue); - - if(delta_HP > index_mapping_HP_NUM-1) - index_HP = index_mapping_HP[index_mapping_HP_NUM-1]; - else - index_HP = index_mapping_HP[delta_HP]; - - if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index_HP[i] - index_HP; - CCK_index = pHalData->CCK_index_HP -index_HP; - } - else - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index_HP[i] + index_HP; - CCK_index = pHalData->CCK_index_HP + index_HP; - } - - delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue); - - } - else -#endif - { - if(ThermalValue > pHalData->ThermalValue) - { - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] -= delta; - pHalData->CCK_index -= delta; - } - else - { - for(i = 0; i < rf; i++) - pHalData->OFDM_index[i] += delta; - pHalData->CCK_index += delta; - } - } - - if(is2T) - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index)); - } - else - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n", - pHalData->OFDM_index[0], pHalData->CCK_index)); - } - - //no adjust -#if DEV_BUS_TYPE==RT_USB_INTERFACE - if(RT_GetInterfaceSelection(Adapter) != INTF_SEL1_USB_High_Power) -#endif - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i]+1; - CCK_index = pHalData->CCK_index+1; - } - else - { - for(i = 0; i < rf; i++) - OFDM_index[i] = pHalData->OFDM_index[i]; - CCK_index = pHalData->CCK_index; - } - -#if MP_DRIVER == 1 - for(i = 0; i < rf; i++) - { - if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26) - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - OFDM_index[i] -= 1; - else - OFDM_index[i] -= 2; - } - else if(delta >= 5 && ThermalValue < pHalData->EEPROMThermalMeter) - { - OFDM_index[i] += 2; - } - else if(delta < 5 && ThermalValue < pHalData->EEPROMThermalMeter) - { - OFDM_index[i] += 1; - } - } - else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - OFDM_index[i] -= 1; - else - OFDM_index[i] -= 2; - } - else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5) - { - OFDM_index[i] -= 1; - } - } - - { - if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26) - { - if(ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - CCK_index -= 1; - else - CCK_index -= 2; - } - else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter) - { - CCK_index += 1; - } - } - else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter) - { - if (delta < 5) - CCK_index -= 1; - else - CCK_index -= 2; - } - else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5) - { - CCK_index -= 1; - } - } -#endif - } - - for(i = 0; i < rf; i++) - { - if(OFDM_index[i] > (OFDM_TABLE_SIZE_92C-1)) - OFDM_index[i] = (OFDM_TABLE_SIZE_92C-1); - else if (OFDM_index[i] < OFDM_min_index) - OFDM_index[i] = OFDM_min_index; - } - - if(CCK_index > (CCK_TABLE_SIZE-1)) - CCK_index = (CCK_TABLE_SIZE-1); - else if (CCK_index < 0) - CCK_index = 0; - - if(is2T) - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], OFDM_index[1], CCK_index)); - } - else - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n", - OFDM_index[0], CCK_index)); - } - } - - if(pHalData->TxPowerTrackControl && (delta != 0 || delta_HP != 0)) - { - //Adujst OFDM Ant_A according to IQK result - ele_D = (OFDMSwingTable[OFDM_index[0]] & 0xFFC00000)>>22; - X = pHalData->RegE94; - Y = pHalData->RegE9C; - - if(X != 0) - { - if ((X & 0x00000200) != 0) - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x000003FF; - - //wirte new elements A, C, D to regC80 and regC94, element B is always 0 - value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31, value32); - - value32 = ((Y * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT29, value32); - - } - else - { - PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[0]]); - PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31|BIT29, 0x00); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D)); - - //Adjust CCK according to IQK result - if(!pHalData->bCCKinCH14){ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]); - } - else{ - PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]); - PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]); - PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]); - PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]); - PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]); - PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]); - PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]); - PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]); - } - - if(is2T) - { - ele_D = (OFDMSwingTable[OFDM_index[1]] & 0xFFC00000)>>22; - - //new element A = element D x X - X = pHalData->RegEB4; - Y = pHalData->RegEBC; - - if(X != 0){ - if ((X & 0x00000200) != 0) //consider minus - X = X | 0xFFFFFC00; - ele_A = ((X * ele_D)>>8)&0x000003FF; - - //new element C = element D x Y - if ((Y & 0x00000200) != 0) - Y = Y | 0xFFFFFC00; - ele_C = ((Y * ele_D)>>8)&0x00003FF; - - //wirte new elements A, C, D to regC88 and regC9C, element B is always 0 - value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A; - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32); - - value32 = (ele_C&0x000003C0)>>6; - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32); - - value32 = ((X * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27, value32); - - value32 = ((Y * ele_D)>>7)&0x01; - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT25, value32); - - } - else{ - PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[1]]); - PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00); - PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27|BIT25, 0x00); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D)); - } - - RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask))); - } - -#if MP_DRIVER == 1 - if(delta_IQK > 1) -#else - if(delta_IQK > 3) -#endif - { - pHalData->ThermalValue_IQK = ThermalValue; - PHY_IQCalibrate(Adapter, FALSE); - } - -#if 1 - if(delta > 0) - { - if(ThermalValue >= 15) - PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x038180fd ); - else - PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x0381808d ); - } -#endif - //update thermal meter value - if(pHalData->TxPowerTrackControl) - Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue); - - } - - PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE); - pHalData->TXPowercount = 0; - - // 2011/08/23 MH Add for power tracking after S3/S4 turn off RF. In this case, we need to execute IQK again. Otherwise - // The IQK scheme will use old value to save and cause incorrect BB value. - { - RT_RF_POWER_STATE rtState; - - Adapter->HalFunc.GetHwRegHandler(Adapter, HW_VAR_RF_STATE, (pu1Byte)(&rtState)); - - if(Adapter->bDriverStopped || Adapter->bDriverIsGoingToPnpSetPowerSleep || rtState == eRfOff) - { - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Incorrect pwrtrack point, re-iqk next time\n")); - pHalData->bIQKInitialized = FALSE; - } - } - - RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("<===odm_TXPowerTrackingCallback_ThermalMeter_92C\n")); -#endif -} - -// -// ================================================== -// Tx power tracking relative code. -// ================================================== -// - - -#endif - -#else //#if (RTL8192C_SUPPORT == 1) -VOID -odm_TXPowerTrackingCallback_ThermalMeter_92C( - IN PADAPTER Adapter - ) -{ -} -VOID -odm_TXPowerTrackingCallback_ThermalMeter_8723A( - IN PADAPTER Adapter) -{ -} - -#endif //#if (RTL8192C_SUPPORT == 1) - - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+//============================================================
+// include files
+//============================================================
+
+#include "../odm_precomp.h"
+
+#if (RTL8192C_SUPPORT == 1)
+
+//#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+VOID
+odm_ResetFACounter_92C(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+// PADAPTER pAdapter = pDM_Odm->Adapter;
+ u1Byte BBReset;
+
+ //reset false alarm counter registers
+ ODM_SetBBReg(pDM_Odm, 0xd00, BIT27, 1);
+ ODM_SetBBReg(pDM_Odm, 0xd00, BIT27, 0);
+ //update ofdm counter
+ ODM_SetBBReg(pDM_Odm, 0xc00, BIT31, 0); //update page C counter
+ ODM_SetBBReg(pDM_Odm, 0xd00, BIT31, 0); //update page D counter
+
+ //reset CCK CCA counter
+ ODM_SetBBReg(pDM_Odm, 0xa2c, BIT13|BIT12, 0);
+ ODM_SetBBReg(pDM_Odm, 0xa2c, BIT13|BIT12, 2);
+ //reset CCK FA counter
+ ODM_SetBBReg(pDM_Odm, 0xa2c, BIT15|BIT14, 0);
+ ODM_SetBBReg(pDM_Odm, 0xa2c, BIT15|BIT14, 2);
+
+
+ //BB Reset
+ if(!pDM_Odm->bLinked)
+ {
+ BBReset = ODM_Read1Byte(pDM_Odm, 0x02);
+ ODM_Write1Byte(pDM_Odm, 0x02, BBReset&(~BIT0));
+ ODM_Write1Byte(pDM_Odm, 0x02, BBReset|BIT0);
+ }
+
+}
+//#endif
+
+#if (DM_ODM_SUPPORT_TYPE == ODM_MP)
+
+
+
+//
+// ==================================================
+// Tx power tracking relative code.
+// ==================================================
+//
+
+
+//091212 chiyokolin
+VOID
+odm_TXPowerTrackingCallbackThermalMeter92C(
+ IN PADAPTER Adapter
+ )
+{
+
+#if ((RT_PLATFORM == PLATFORM_WINDOWS) || (RT_PLATFORM == PLATFORM_LINUX)) && (HAL_CODE_BASE==RTL8192_C)
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ PDM_ODM_T pDM_Odm = &pHalData->DM_OutSrc;
+ u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_HP, TimeOut = 100;
+ s4Byte ele_A=0, ele_D, TempCCk, X, value32;
+ s4Byte Y, ele_C=0;
+ s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0;
+ int i = 0;
+ BOOLEAN is2T = IS_92C_SERIAL(pHalData->VersionID);
+
+#if MP_DRIVER == 1
+ PMPT_CONTEXT pMptCtx = &(Adapter->MptCtx);
+ pu1Byte TxPwrLevel = pMptCtx->TxPwrLevel;
+#endif
+ u1Byte OFDM_min_index = 6, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur
+
+ u4Byte DPK_delta_mapping[2][DPK_DELTA_MAPPING_NUM] = {
+ {0x1c, 0x1c, 0x1d, 0x1d, 0x1e,
+ 0x1f, 0x00, 0x00, 0x01, 0x01,
+ 0x02, 0x02, 0x03},
+ {0x1c, 0x1d, 0x1e, 0x1e, 0x1e,
+ 0x1f, 0x00, 0x00, 0x01, 0x02,
+ 0x02, 0x03, 0x03}};
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ u1Byte ThermalValue_HP_count = 0;
+ u4Byte ThermalValue_HP = 0;
+ s1Byte index_mapping_HP[index_mapping_HP_NUM] = {
+ 0, 1, 3, 4, 6,
+ 7, 9, 10, 12, 13,
+ 15, 16, 18, 19, 21
+ };
+
+ s1Byte index_HP;
+#endif
+
+ if (ODM_CheckPowerStatus(Adapter) == FALSE)
+ return;
+
+ pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug
+ pHalData->bTXPowerTrackingInit = TRUE;
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallbackThermalMeter92C\n"));
+
+ ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER, 0x1f); // 0x24: RF Reg[4:0]
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter));
+
+ //if (IS_HARDWARE_TYPE_8188E(Adapter)/* ||
+ // is_ha*/)
+ //{
+ // PHY_APCalibrate_8188E(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
+ //}
+ //else if (IS_HARDWARE_TYPE_8192C(Adapter) ||
+ // IS_HARDWARE_TYPE_8192D(Adapter) ||
+ // IS_HARDWARE_TYPE_8723A(Adapter))
+ {
+ PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
+ }
+
+ if(is2T)
+ rf = 2;
+ else
+ rf = 1;
+
+ while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE)
+ {
+ PlatformSleepUs(100);
+ TimeOut--;
+ if(TimeOut <= 0)
+ {
+ RTPRINT(FINIT, INIT_TxPower,
+ ("!!!odm_TXPowerTrackingCallbackThermalMeter92C Wait for check CCK gain index too long!!!\n" ));
+ break;
+ }
+ }
+
+ if(ThermalValue)
+ {
+// if(!pHalData->ThermalValue)
+ {
+ //Query OFDM path A default setting
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[0] = (u1Byte)i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0]));
+ break;
+ }
+ }
+
+ //Query OFDM path B default setting
+ if(is2T)
+ {
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[1] = (u1Byte)i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1]));
+ break;
+ }
+ }
+ }
+
+ //Query CCK default setting From 0xa24
+ TempCCk = PHY_QueryBBReg(Adapter, rCCK0_TxFilter2, bMaskDWord)&bMaskCCK;
+ for(i=0 ; i<CCK_TABLE_SIZE ; i++)
+ {
+ if(pHalData->bCCKinCH14)
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ else
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ }
+
+ if(!pHalData->ThermalValue)
+ {
+ pHalData->ThermalValue = pHalData->EEPROMThermalMeter;
+ pHalData->ThermalValue_LCK = ThermalValue;
+ pHalData->ThermalValue_IQK = ThermalValue;
+ pHalData->ThermalValue_DPK = pHalData->EEPROMThermalMeter;
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index_HP[i] = pHalData->OFDM_index[i] = OFDM_index_old[i];
+ pHalData->CCK_index_HP = pHalData->CCK_index = CCK_index_old;
+#else
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] = OFDM_index_old[i];
+ pHalData->CCK_index = CCK_index_old;
+#endif
+ }
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ pHalData->ThermalValue_HP[pHalData->ThermalValue_HP_index] = ThermalValue;
+ pHalData->ThermalValue_HP_index++;
+ if(pHalData->ThermalValue_HP_index == HP_THERMAL_NUM)
+ pHalData->ThermalValue_HP_index = 0;
+
+ for(i = 0; i < HP_THERMAL_NUM; i++)
+ {
+ if(pHalData->ThermalValue_HP[i])
+ {
+ ThermalValue_HP += pHalData->ThermalValue_HP[i];
+ ThermalValue_HP_count++;
+ }
+ }
+
+ if(ThermalValue_HP_count)
+ ThermalValue = (u1Byte)(ThermalValue_HP / ThermalValue_HP_count);
+ }
+#endif
+ }
+
+ delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ if(pHalData->bDoneTxpower)
+ delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+ else
+ delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+ }
+ else
+#endif
+ {
+ delta_HP = 0;
+ }
+ delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue);
+ delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue);
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK));
+
+ if(delta_LCK > 1)
+ {
+ pHalData->ThermalValue_LCK = ThermalValue;
+ PHY_LCCalibrate(Adapter);
+ }
+
+ if((delta > 0 || delta_HP > 0)&& pHalData->TxPowerTrackControl)
+ {
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ pHalData->bDoneTxpower = TRUE;
+ delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+
+ if(delta_HP > index_mapping_HP_NUM-1)
+ index_HP = index_mapping_HP[index_mapping_HP_NUM-1];
+ else
+ index_HP = index_mapping_HP[delta_HP];
+
+ if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index_HP[i] - index_HP;
+ CCK_index = pHalData->CCK_index_HP -index_HP;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index_HP[i] + index_HP;
+ CCK_index = pHalData->CCK_index_HP + index_HP;
+ }
+
+ delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+
+ }
+ else
+#endif
+ {
+ if(ThermalValue > pHalData->ThermalValue)
+ {
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] -= delta;
+ pHalData->CCK_index -= delta;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] += delta;
+ pHalData->CCK_index += delta;
+ }
+ }
+
+ if(is2T)
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index));
+ }
+ else
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->CCK_index));
+ }
+
+ //no adjust
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) != INTF_SEL1_USB_High_Power)
+#endif
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i]+1;
+ CCK_index = pHalData->CCK_index+1;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i];
+ CCK_index = pHalData->CCK_index;
+ }
+
+#if MP_DRIVER == 1
+ for(i = 0; i < rf; i++)
+ {
+ if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26)
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ OFDM_index[i] -= 1;
+ else
+ OFDM_index[i] -= 2;
+ }
+ else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter)
+ {
+ OFDM_index[i] += 1;
+ }
+ }
+ else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ OFDM_index[i] -= 1;
+ else
+ OFDM_index[i] -= 2;
+ }
+ else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5)
+ {
+ OFDM_index[i] -= 1;
+ }
+ }
+
+ {
+ if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26)
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ CCK_index -= 1;
+ else
+ CCK_index -= 2;
+ }
+ else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter)
+ {
+ CCK_index += 1;
+ }
+ }
+ else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ CCK_index -= 1;
+ else
+ CCK_index -= 2;
+ }
+ else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5)
+ {
+ CCK_index -= 1;
+ }
+ }
+#endif
+ }
+
+ for(i = 0; i < rf; i++)
+ {
+ if(OFDM_index[i] > (OFDM_TABLE_SIZE_92C-1))
+ OFDM_index[i] = (OFDM_TABLE_SIZE_92C-1);
+ else if (OFDM_index[i] < OFDM_min_index)
+ OFDM_index[i] = OFDM_min_index;
+ }
+
+ if(CCK_index > (CCK_TABLE_SIZE-1))
+ CCK_index = (CCK_TABLE_SIZE-1);
+ else if (CCK_index < 0)
+ CCK_index = 0;
+
+ if(is2T)
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], OFDM_index[1], CCK_index));
+ }
+ else
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], CCK_index));
+ }
+ }
+
+ if(pHalData->TxPowerTrackControl && (delta != 0 || delta_HP != 0))
+ {
+ //Adujst OFDM Ant_A according to IQK result
+ ele_D = (OFDMSwingTable[OFDM_index[0]] & 0xFFC00000)>>22;
+ X = pHalData->RegE94;
+ Y = pHalData->RegE9C;
+
+ if(X != 0)
+ {
+ if ((X & 0x00000200) != 0)
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x000003FF;
+
+ //wirte new elements A, C, D to regC80 and regC94, element B is always 0
+ value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31, value32);
+
+ value32 = ((Y * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT29, value32);
+
+ }
+ else
+ {
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[0]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31|BIT29, 0x00);
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D));
+
+ //Adjust CCK according to IQK result
+ if(!pHalData->bCCKinCH14){
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]);
+ }
+ else{
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]);
+ }
+
+ if(is2T)
+ {
+ ele_D = (OFDMSwingTable[OFDM_index[1]] & 0xFFC00000)>>22;
+
+ //new element A = element D x X
+ X = pHalData->RegEB4;
+ Y = pHalData->RegEBC;
+
+ if(X != 0){
+ if ((X & 0x00000200) != 0) //consider minus
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x00003FF;
+
+ //wirte new elements A, C, D to regC88 and regC9C, element B is always 0
+ value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27, value32);
+
+ value32 = ((Y * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT25, value32);
+
+ }
+ else{
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[1]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27|BIT25, 0x00);
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D));
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask)));
+ }
+
+#if MP_DRIVER == 1
+ if(delta_IQK > 1)
+#else
+ if(delta_IQK > 3)
+#endif
+ {
+ pHalData->ThermalValue_IQK = ThermalValue;
+ PHY_IQCalibrate(Adapter, FALSE);
+ }
+
+ //update thermal meter value
+ if(pHalData->TxPowerTrackControl)
+ Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue);
+
+ }
+
+ PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE);
+ pHalData->TXPowercount = 0;
+
+ // 2011/08/23 MH Add for power tracking after S3/S4 turn off RF. In this case, we need to execute IQK again. Otherwise
+ // The IQK scheme will use old value to save and cause incorrect BB value.
+ {
+ RT_RF_POWER_STATE rtState;
+
+ Adapter->HalFunc.GetHwRegHandler(Adapter, HW_VAR_RF_STATE, (pu1Byte)(&rtState));
+
+ if(Adapter->bDriverStopped || Adapter->bDriverIsGoingToPnpSetPowerSleep || rtState == eRfOff)
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Incorrect pwrtrack point, re-iqk next time\n"));
+ pHalData->bIQKInitialized = FALSE;
+ }
+ }
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("<===odm_TXPowerTrackingCallbackThermalMeter92C\n"));
+#endif
+
+}
+
+//#if (RT_PLATFORM == PLATFORM_WINDOWS) && (HAL_CODE_BASE==RTL8192_C)
+VOID
+odm_TXPowerTrackingCallbackRXGainThermalMeter92D(
+ IN PADAPTER Adapter
+ )
+{
+ u1Byte index_mapping[Rx_index_mapping_NUM] = {
+ 0x0f, 0x0f, 0x0f, 0x0f, 0x0b,
+ 0x0a, 0x09, 0x08, 0x07, 0x06,
+ 0x05, 0x04, 0x04, 0x03, 0x02
+ };
+
+#ifndef AP_BUILD_WORKAROUND
+ u1Byte eRFPath;
+ u4Byte u4tmp;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ PDM_ODM_T pDM_Odm = &pHalData->DM_OutSrc;
+
+ u4tmp = (index_mapping[(pHalData->EEPROMThermalMeter - pHalData->ThermalValue_RxGain)]) << 12;
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallbackRXGainThermalMeter92D interface %u Rx Gain %x\n", Adapter->interfaceIndex, u4tmp));
+
+ for(eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++)
+ PHY_SetRFReg(Adapter, (ODM_RF_RADIO_PATH_E)eRFPath, RF_RXRF_A3, bRFRegOffsetMask, (pHalData->RegRF3C[eRFPath]&(~(0xF000)))|u4tmp);
+#endif
+
+};
+
+
+//091212 chiyokolin
+VOID
+odm_TXPowerTrackingCallbackThermalMeter92D(
+ IN PADAPTER Adapter
+ )
+{
+
+#ifndef AP_BUILD_WORKAROUND
+
+//#if (RT_PLATFORM == PLATFORM_WINDOWS) && (HAL_CODE_BASE==RTL8192_C)
+#if (HAL_CODE_BASE==RTL8192_C)
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ PDM_ODM_T pDM_Odm = &pHalData->DM_OutSrc;
+ u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_RxGain, index, offset;
+ u1Byte ThermalValue_AVG_count = 0;
+ u4Byte ThermalValue_AVG = 0;
+ s4Byte ele_A=0, ele_D, TempCCk, X, value32;
+ s4Byte Y, ele_C=0;
+ s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0;
+ u4Byte i = 0;
+ BOOLEAN is2T = (IS_92C_SERIAL(pHalData->VersionID) || IS_92D_SINGLEPHY(pHalData->VersionID)) ;
+ BOOLEAN bInteralPA = FALSE;
+
+ u1Byte OFDM_min_index = 6, OFDM_min_index_internalPA = 3, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur
+ u1Byte Indexforchannel = GetRightChnlPlaceforIQK(pHalData->CurrentChannel);
+ u1Byte index_mapping[5][index_mapping_NUM] = {
+ {0, 1, 3, 6, 8, 9, //5G, path A/MAC 0, decrease power
+ 11, 13, 14, 16, 17, 18, 18},
+ {0, 2, 4, 5, 7, 10, //5G, path A/MAC 0, increase power
+ 12, 14, 16, 18, 18, 18, 18},
+ {0, 2, 3, 6, 8, 9, //5G, path B/MAC 1, decrease power
+ 11, 13, 14, 16, 17, 18, 18},
+ {0, 2, 4, 5, 7, 10, //5G, path B/MAC 1, increase power
+ 13, 16, 16, 18, 18, 18, 18},
+ {0, 1, 2, 3, 4, 5, //2.4G, for decreas power
+ 6, 7, 7, 8, 9, 10, 10},
+ };
+
+u1Byte index_mapping_internalPA[8][index_mapping_NUM] = {
+ {0, 1, 2, 4, 6, 7, //5G, path A/MAC 0, ch36-64, decrease power
+ 9, 11, 12, 14, 15, 16, 16},
+ {0, 2, 4, 5, 7, 10, //5G, path A/MAC 0, ch36-64, increase power
+ 12, 14, 16, 18, 18, 18, 18},
+ {0, 1, 2, 3, 5, 6, //5G, path A/MAC 0, ch100-165, decrease power
+ 8, 10, 11, 13, 14, 15, 15},
+ {0, 2, 4, 5, 7, 10, //5G, path A/MAC 0, ch100-165, increase power
+ 12, 14, 16, 18, 18, 18, 18},
+ {0, 1, 2, 4, 6, 7, //5G, path B/MAC 1, ch36-64, decrease power
+ 9, 11, 12, 14, 15, 16, 16},
+ {0, 2, 4, 5, 7, 10, //5G, path B/MAC 1, ch36-64, increase power
+ 13, 16, 16, 18, 18, 18, 18},
+ {0, 1, 2, 3, 5, 6, //5G, path B/MAC 1, ch100-165, decrease power
+ 8, 9, 10, 12, 13, 14, 14},
+ {0, 2, 4, 5, 7, 10, //5G, path B/MAC 1, ch100-165, increase power
+ 13, 16, 16, 18, 18, 18, 18},
+ };
+
+//#if MP_DRIVER != 1
+// return;
+//#endif
+
+
+ pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug
+ pHalData->bTXPowerTrackingInit = TRUE;
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("===>dm_TXPowerTrackingCallback_ThermalMeter_92D interface %u txpowercontrol %d\n", Adapter->interfaceIndex, pHalData->TxPowerTrackControl));
+
+ ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER_92D, 0xf800); //0x42: RF Reg[15:11] 92D
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter));
+
+ //PHY_APCalibrate(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
+ //if (IS_HARDWARE_TYPE_8188E(Adapter)/* ||
+ // is_ha*/)
+ //{
+ // PHY_APCalibrate_8188E(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
+ //}
+ //else if (IS_HARDWARE_TYPE_8192C(Adapter) ||
+ // IS_HARDWARE_TYPE_8192D(Adapter) ||
+ // IS_HARDWARE_TYPE_8723A(Adapter))
+ {
+ PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
+ }
+
+// if(!pHalData->TxPowerTrackControl)
+// return;
+
+ if(is2T)
+ rf = 2;
+ else
+ rf = 1;
+
+ if(ThermalValue)
+ {
+// if(!pHalData->ThermalValue)
+ {
+ //Query OFDM path A default setting
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92D; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[0] = (u1Byte)i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0]));
+ break;
+ }
+ }
+
+ //Query OFDM path B default setting
+ if(is2T)
+ {
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92D; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[1] = (u1Byte)i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1]));
+ break;
+ }
+ }
+ }
+
+ if(pHalData->CurrentBandType92D == BAND_ON_2_4G)
+ {
+ //Query CCK default setting From 0xa24
+ TempCCk = pHalData->RegA24;
+
+ for(i=0 ; i<CCK_TABLE_SIZE ; i++)
+ {
+ if(pHalData->bCCKinCH14)
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ else
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ TempCCk = 0x090e1317;
+ CCK_index_old = 12;
+ }
+
+ if(!pHalData->ThermalValue)
+ {
+ pHalData->ThermalValue = pHalData->EEPROMThermalMeter;
+ pHalData->ThermalValue_LCK = ThermalValue;
+ pHalData->ThermalValue_IQK = ThermalValue;
+ pHalData->ThermalValue_RxGain = pHalData->EEPROMThermalMeter;
+
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] = OFDM_index_old[i];
+ pHalData->CCK_index = CCK_index_old;
+ }
+
+ if(pHalData->bReloadtxpowerindex)
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("reload ofdm index for band switch\n"));
+ }
+
+ //calculate average thermal meter
+ {
+ pHalData->ThermalValue_AVG[pHalData->ThermalValue_AVG_index] = ThermalValue;
+ pHalData->ThermalValue_AVG_index++;
+ if(pHalData->ThermalValue_AVG_index == AVG_THERMAL_NUM)
+ pHalData->ThermalValue_AVG_index = 0;
+
+ for(i = 0; i < AVG_THERMAL_NUM; i++)
+ {
+ if(pHalData->ThermalValue_AVG[i])
+ {
+ ThermalValue_AVG += pHalData->ThermalValue_AVG[i];
+ ThermalValue_AVG_count++;
+ }
+ }
+
+ if(ThermalValue_AVG_count)
+ ThermalValue = (u1Byte)(ThermalValue_AVG / ThermalValue_AVG_count);
+ }
+ }
+
+ if(pHalData->bReloadtxpowerindex)
+ {
+ delta = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+ pHalData->bReloadtxpowerindex = FALSE;
+ pHalData->bDoneTxpower = FALSE;
+ }
+ else if(pHalData->bDoneTxpower)
+ {
+ delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+ }
+ else
+ {
+ delta = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+ }
+ delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue);
+ delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue);
+ delta_RxGain = (ThermalValue > pHalData->ThermalValue_RxGain)?(ThermalValue - pHalData->ThermalValue_RxGain):(pHalData->ThermalValue_RxGain - ThermalValue);
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("interface %u Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x delta_RxGain 0x%x\n", Adapter->interfaceIndex, ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK, delta_RxGain));
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("interface %u pre thermal meter LCK 0x%x pre thermal meter IQK 0x%x delta_LCK_bound 0x%x delta_IQK_bound 0x%x\n", Adapter->interfaceIndex, pHalData->ThermalValue_LCK, pHalData->ThermalValue_IQK, pHalData->Delta_LCK, pHalData->Delta_IQK));
+
+ if((delta_LCK > pHalData->Delta_LCK) && (pHalData->Delta_LCK != 0))
+ {
+ pHalData->ThermalValue_LCK = ThermalValue;
+ PHY_LCCalibrate(Adapter);
+ }
+
+ if(delta > 0 && pHalData->TxPowerTrackControl)
+ {
+ delta = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+
+ //calculate new OFDM / CCK offset
+ {
+ if(pHalData->CurrentBandType92D == BAND_ON_2_4G)
+ {
+ offset = 4;
+
+ if(delta > index_mapping_NUM-1)
+ index = index_mapping[offset][index_mapping_NUM-1];
+ else
+ index = index_mapping[offset][delta];
+
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i] -delta;
+ CCK_index = pHalData->CCK_index -delta;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i] + index;
+ CCK_index = pHalData->CCK_index + index;
+ }
+ }
+ else if(pHalData->CurrentBandType92D == BAND_ON_5G)
+ {
+ for(i = 0; i < rf; i++)
+ {
+ if(pHalData->MacPhyMode92D == DUALMAC_DUALPHY &&
+ Adapter->interfaceIndex == 1) //MAC 1 5G
+ bInteralPA = pHalData->InternalPA5G[1];
+ else
+ bInteralPA = pHalData->InternalPA5G[i];
+
+ if(bInteralPA)
+ {
+ if(Adapter->interfaceIndex == 1 || i == rf)
+ offset = 4;
+ else
+ offset = 0;
+
+ if(pHalData->CurrentChannel >= 100 && pHalData->CurrentChannel <= 165)
+ offset += 2;
+ }
+ else
+ {
+ if(Adapter->interfaceIndex == 1 || i == rf)
+ offset = 2;
+ else
+ offset = 0;
+ }
+
+ if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power
+ offset++;
+
+ if(bInteralPA)
+ {
+ if(delta > index_mapping_NUM-1)
+ index = index_mapping_internalPA[offset][index_mapping_NUM-1];
+ else
+ index = index_mapping_internalPA[offset][delta];
+ }
+ else
+ {
+ if(delta > index_mapping_NUM-1)
+ index = index_mapping[offset][index_mapping_NUM-1];
+ else
+ index = index_mapping[offset][delta];
+ }
+
+ if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power
+ {
+ if(bInteralPA && ThermalValue > 0x12)
+ {
+ OFDM_index[i] = pHalData->OFDM_index[i] -((delta/2)*3+(delta%2));
+ }
+ else
+ {
+ OFDM_index[i] = pHalData->OFDM_index[i] -index;
+ }
+ }
+ else
+ {
+ OFDM_index[i] = pHalData->OFDM_index[i] + index;
+ }
+ }
+ }
+
+ if(is2T)
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index));
+ }
+ else
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->CCK_index));
+ }
+
+ for(i = 0; i < rf; i++)
+ {
+ if(OFDM_index[i] > OFDM_TABLE_SIZE_92D-1)
+ {
+ OFDM_index[i] = OFDM_TABLE_SIZE_92D-1;
+ }
+ else if(bInteralPA || pHalData->CurrentBandType92D == BAND_ON_2_4G)
+ {
+ if (OFDM_index[i] < OFDM_min_index_internalPA)
+ OFDM_index[i] = OFDM_min_index_internalPA;
+ }
+ else if (OFDM_index[i] < OFDM_min_index)
+ {
+ OFDM_index[i] = OFDM_min_index;
+ }
+ }
+
+ if(pHalData->CurrentBandType92D == BAND_ON_2_4G)
+ {
+ if(CCK_index > CCK_TABLE_SIZE-1)
+ CCK_index = CCK_TABLE_SIZE-1;
+ else if (CCK_index < 0)
+ CCK_index = 0;
+ }
+
+ if(is2T)
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], OFDM_index[1], CCK_index));
+ }
+ else
+ {
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], CCK_index));
+ }
+ }
+
+ //Config by SwingTable
+ if(pHalData->TxPowerTrackControl && !pHalData->bNOPG)
+ {
+ pHalData->bDoneTxpower = TRUE;
+
+ //Adujst OFDM Ant_A according to IQK result
+ ele_D = (OFDMSwingTable[(u1Byte)OFDM_index[0]] & 0xFFC00000)>>22;
+// X = pHalData->RegE94;
+// Y = pHalData->RegE9C;
+ X = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][0];
+ Y = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][1];
+
+ if(X != 0 && pHalData->CurrentBandType92D == BAND_ON_2_4G)
+ {
+ if ((X & 0x00000200) != 0)
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x000003FF;
+
+ //wirte new elements A, C, D to regC80 and regC94, element B is always 0
+ value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT24, value32);
+
+ }
+ else
+ {
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[(u1Byte)OFDM_index[0]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT24, 0x00);
+ }
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD, ("TxPwrTracking for interface %u path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x 0xe94 = 0x%x 0xe9c = 0x%x\n",
+ (u1Byte)Adapter->interfaceIndex, (u4Byte)X, (u4Byte)Y, (u4Byte)ele_A, (u4Byte)ele_C, (u4Byte)ele_D, (u4Byte)X, (u4Byte)Y));
+
+
+ if(pHalData->CurrentBandType92D == BAND_ON_2_4G)
+ {
+ //Adjust CCK according to IQK result
+ if(!pHalData->bCCKinCH14){
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[(u1Byte)CCK_index][7]);
+ }
+ else{
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[(u1Byte)CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[(u1Byte)CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[(u1Byte)CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[(u1Byte)CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[(u1Byte)CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[(u1Byte)CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[(u1Byte)CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[(u1Byte)CCK_index][7]);
+ }
+ }
+
+ if(is2T)
+ {
+ ele_D = (OFDMSwingTable[(u1Byte)OFDM_index[1]] & 0xFFC00000)>>22;
+
+ //new element A = element D x X
+// X = pHalData->RegEB4;
+// Y = pHalData->RegEBC;
+ X = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][4];
+ Y = pHalData->IQKMatrixRegSetting[Indexforchannel].Value[0][5];
+
+ if(X != 0 && pHalData->CurrentBandType92D == BAND_ON_2_4G)
+ {
+ if ((X & 0x00000200) != 0) //consider minus
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x00003FF;
+
+ //wirte new elements A, C, D to regC88 and regC9C, element B is always 0
+ value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT28, value32);
+
+ }
+ else
+ {
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[(u1Byte)OFDM_index[1]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT28, 0x00);
+ }
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x 0xeb4 = 0x%x 0xebc = 0x%x\n",
+ (u4Byte)X, (u4Byte)Y, (u4Byte)ele_A, (u4Byte)ele_C, (u4Byte)ele_D, (u4Byte)X, (u4Byte)Y));
+ }
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask)));
+ }
+ }
+
+ if((delta_IQK > pHalData->Delta_IQK) && (pHalData->Delta_IQK != 0))
+ {
+ PHY_ResetIQKResult(Adapter);
+ pHalData->ThermalValue_IQK = ThermalValue;
+#if (DEV_BUS_TYPE == RT_PCI_INTERFACE)
+#if USE_WORKITEM
+ PlatformAcquireMutex(&pHalData->mxChnlBwControl);
+#else
+ PlatformAcquireSpinLock(Adapter, RT_CHANNEL_AND_BANDWIDTH_SPINLOCK);
+#endif
+#elif((DEV_BUS_TYPE == RT_USB_INTERFACE) || (DEV_BUS_TYPE == RT_SDIO_INTERFACE))
+ PlatformAcquireMutex(&pHalData->mxChnlBwControl);
+#endif
+
+ PHY_IQCalibrate(Adapter, FALSE);
+
+#if (DEV_BUS_TYPE == RT_PCI_INTERFACE)
+#if USE_WORKITEM
+ PlatformReleaseMutex(&pHalData->mxChnlBwControl);
+#else
+ PlatformReleaseSpinLock(Adapter, RT_CHANNEL_AND_BANDWIDTH_SPINLOCK);
+#endif
+#elif((DEV_BUS_TYPE == RT_USB_INTERFACE) || (DEV_BUS_TYPE == RT_SDIO_INTERFACE))
+ PlatformReleaseMutex(&pHalData->mxChnlBwControl);
+#endif
+
+ }
+
+ if(delta_RxGain > 0 && pHalData->CurrentBandType92D == BAND_ON_5G
+ && ThermalValue <= pHalData->EEPROMThermalMeter)
+ {
+ pHalData->ThermalValue_RxGain = ThermalValue;
+ odm_TXPowerTrackingCallbackRXGainThermalMeter92D(Adapter);
+ }
+
+ //update thermal meter value
+ if(pHalData->TxPowerTrackControl)
+ {
+ Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue);
+ }
+
+ }
+
+ ODM_RT_TRACE(pDM_Odm,COMP_POWER_TRACKING, DBG_LOUD,("<===dm_TXPowerTrackingCallback_ThermalMeter_92D\n"));
+
+ pHalData->TXPowercount = 0;
+#endif
+#endif
+}
+
+
+//
+// Description:
+// - Dispatch TxPower Tracking direct call ONLY for 92s.
+// - We shall NOT schedule Workitem within PASSIVE LEVEL, which will cause system resource
+// leakage under some platform.
+//
+// Assumption:
+// PASSIVE_LEVEL when this routine is called.
+//
+// Added by Roger, 2009.06.18.
+//
+VOID
+odm_TXPowerTrackingDirectCall92C(
+ IN PADAPTER Adapter
+ )
+{
+#ifndef AP_BUILD_WORKAROUND
+ if(IS_HARDWARE_TYPE_8192D(Adapter))
+ odm_TXPowerTrackingCallbackThermalMeter92D(Adapter);
+ else
+ odm_TXPowerTrackingCallbackThermalMeter92C(Adapter);
+#endif
+}
+
+
+VOID
+odm_TXPowerTrackingCallback_ThermalMeter_92C(
+ IN PADAPTER Adapter
+ )
+{
+#if ((RT_PLATFORM == PLATFORM_WINDOWS) || (RT_PLATFORM == PLATFORM_LINUX)) && (HAL_CODE_BASE==RTL8192_C)
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_HP, TimeOut = 100;
+ s4Byte ele_A=0, ele_D, TempCCk, X, value32;
+ s4Byte Y, ele_C=0;
+ s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0;
+ int i = 0;
+ BOOLEAN is2T = IS_92C_SERIAL(pHalData->VersionID);
+
+#if MP_DRIVER == 1
+ PMPT_CONTEXT pMptCtx = &(Adapter->MptCtx);
+ pu1Byte TxPwrLevel = pMptCtx->TxPwrLevel;
+#endif
+ u1Byte OFDM_min_index = 6, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur
+#if 0
+ u4Byte DPK_delta_mapping[2][DPK_DELTA_MAPPING_NUM] = {
+ {0x1c, 0x1c, 0x1d, 0x1d, 0x1e,
+ 0x1f, 0x00, 0x00, 0x01, 0x01,
+ 0x02, 0x02, 0x03},
+ {0x1c, 0x1d, 0x1e, 0x1e, 0x1e,
+ 0x1f, 0x00, 0x00, 0x01, 0x02,
+ 0x02, 0x03, 0x03}};
+#endif
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ u1Byte ThermalValue_HP_count = 0;
+ u4Byte ThermalValue_HP = 0;
+ s1Byte index_mapping_HP[index_mapping_HP_NUM] = {
+ 0, 1, 3, 4, 6,
+ 7, 9, 10, 12, 13,
+ 15, 16, 18, 19, 21
+ };
+
+ s1Byte index_HP;
+#endif
+
+ if (ODM_CheckPowerStatus(Adapter) == FALSE)
+ return;
+
+ pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug
+ pHalData->bTXPowerTrackingInit = TRUE;
+
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallback_ThermalMeter_92C\n"));
+
+ ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER, 0x1f); // 0x24: RF Reg[4:0]
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter));
+
+ PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
+
+ if(is2T)
+ rf = 2;
+ else
+ rf = 1;
+
+ while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE)
+ {
+ PlatformSleepUs(100);
+ TimeOut--;
+ if(TimeOut <= 0)
+ {
+ RTPRINT(FINIT, INIT_TxPower,
+ ("!!!odm_TXPowerTrackingCallback_ThermalMeter_92C Wait for check CCK gain index too long!!!\n" ));
+ break;
+ }
+ }
+
+ if(ThermalValue)
+ {
+// if(!pHalData->ThermalValue)
+ {
+ //Query OFDM path A default setting
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[0] = (u1Byte)i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0]));
+ break;
+ }
+ }
+
+ //Query OFDM path B default setting
+ if(is2T)
+ {
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[1] = (u1Byte)i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1]));
+ break;
+ }
+ }
+ }
+
+ //Query CCK default setting From 0xa24
+ TempCCk = PHY_QueryBBReg(Adapter, rCCK0_TxFilter2, bMaskDWord)&bMaskCCK;
+ for(i=0 ; i<CCK_TABLE_SIZE ; i++)
+ {
+ if(pHalData->bCCKinCH14)
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ else
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ }
+
+ if(!pHalData->ThermalValue)
+ {
+ pHalData->ThermalValue = pHalData->EEPROMThermalMeter;
+ pHalData->ThermalValue_LCK = ThermalValue;
+ pHalData->ThermalValue_IQK = ThermalValue;
+ pHalData->ThermalValue_DPK = pHalData->EEPROMThermalMeter;
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index_HP[i] = pHalData->OFDM_index[i] = OFDM_index_old[i];
+ pHalData->CCK_index_HP = pHalData->CCK_index = CCK_index_old;
+#else
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] = OFDM_index_old[i];
+ pHalData->CCK_index = CCK_index_old;
+#endif
+ }
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ pHalData->ThermalValue_HP[pHalData->ThermalValue_HP_index] = ThermalValue;
+ pHalData->ThermalValue_HP_index++;
+ if(pHalData->ThermalValue_HP_index == HP_THERMAL_NUM)
+ pHalData->ThermalValue_HP_index = 0;
+
+ for(i = 0; i < HP_THERMAL_NUM; i++)
+ {
+ if(pHalData->ThermalValue_HP[i])
+ {
+ ThermalValue_HP += pHalData->ThermalValue_HP[i];
+ ThermalValue_HP_count++;
+ }
+ }
+
+ if(ThermalValue_HP_count)
+ ThermalValue = (u1Byte)(ThermalValue_HP / ThermalValue_HP_count);
+ }
+#endif
+ }
+
+ delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ if(pHalData->bDoneTxpower)
+ delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+ else
+ delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+ }
+ else
+#endif
+ {
+ delta_HP = 0;
+ }
+ delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue);
+ delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue);
+
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK));
+
+ if(delta_LCK > 1)
+ {
+ pHalData->ThermalValue_LCK = ThermalValue;
+ PHY_LCCalibrate_8192C(Adapter);
+ }
+
+ if((delta > 0 || delta_HP > 0)&& pHalData->TxPowerTrackControl)
+ {
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ pHalData->bDoneTxpower = TRUE;
+ delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+
+ if(delta_HP > index_mapping_HP_NUM-1)
+ index_HP = index_mapping_HP[index_mapping_HP_NUM-1];
+ else
+ index_HP = index_mapping_HP[delta_HP];
+
+ if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index_HP[i] - index_HP;
+ CCK_index = pHalData->CCK_index_HP -index_HP;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index_HP[i] + index_HP;
+ CCK_index = pHalData->CCK_index_HP + index_HP;
+ }
+
+ delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+
+ }
+ else
+#endif
+ {
+ if(ThermalValue > pHalData->ThermalValue)
+ {
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] -= delta;
+ pHalData->CCK_index -= delta;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] += delta;
+ pHalData->CCK_index += delta;
+ }
+ }
+
+ if(is2T)
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index));
+ }
+ else
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->CCK_index));
+ }
+
+ //no adjust
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) != INTF_SEL1_USB_High_Power)
+#endif
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i]+1;
+ CCK_index = pHalData->CCK_index+1;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i];
+ CCK_index = pHalData->CCK_index;
+ }
+
+#if MP_DRIVER == 1
+ for(i = 0; i < rf; i++)
+ {
+ if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26)
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ OFDM_index[i] -= 1;
+ else
+ OFDM_index[i] -= 2;
+ }
+ else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter)
+ {
+ OFDM_index[i] += 1;
+ }
+ }
+ else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ OFDM_index[i] -= 1;
+ else
+ OFDM_index[i] -= 2;
+ }
+ else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5)
+ {
+ OFDM_index[i] -= 1;
+ }
+ }
+
+ {
+ if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26)
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ CCK_index -= 1;
+ else
+ CCK_index -= 2;
+ }
+ else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter)
+ {
+ CCK_index += 1;
+ }
+ }
+ else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ CCK_index -= 1;
+ else
+ CCK_index -= 2;
+ }
+ else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5)
+ {
+ CCK_index -= 1;
+ }
+ }
+#endif
+ }
+
+ for(i = 0; i < rf; i++)
+ {
+ if(OFDM_index[i] > (OFDM_TABLE_SIZE_92C-1))
+ OFDM_index[i] = (OFDM_TABLE_SIZE_92C-1);
+ else if (OFDM_index[i] < OFDM_min_index)
+ OFDM_index[i] = OFDM_min_index;
+ }
+
+ if(CCK_index > (CCK_TABLE_SIZE-1))
+ CCK_index = (CCK_TABLE_SIZE-1);
+ else if (CCK_index < 0)
+ CCK_index = 0;
+
+ if(is2T)
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], OFDM_index[1], CCK_index));
+ }
+ else
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], CCK_index));
+ }
+ }
+
+ if(pHalData->TxPowerTrackControl && (delta != 0 || delta_HP != 0))
+ {
+ //Adujst OFDM Ant_A according to IQK result
+ ele_D = (OFDMSwingTable[OFDM_index[0]] & 0xFFC00000)>>22;
+ X = pHalData->RegE94;
+ Y = pHalData->RegE9C;
+
+ if(X != 0)
+ {
+ if ((X & 0x00000200) != 0)
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x000003FF;
+
+ //wirte new elements A, C, D to regC80 and regC94, element B is always 0
+ value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31, value32);
+
+ value32 = ((Y * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT29, value32);
+
+ }
+ else
+ {
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[0]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31|BIT29, 0x00);
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D));
+
+ //Adjust CCK according to IQK result
+ if(!pHalData->bCCKinCH14){
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]);
+ }
+ else{
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]);
+ }
+
+ if(is2T)
+ {
+ ele_D = (OFDMSwingTable[OFDM_index[1]] & 0xFFC00000)>>22;
+
+ //new element A = element D x X
+ X = pHalData->RegEB4;
+ Y = pHalData->RegEBC;
+
+ if(X != 0){
+ if ((X & 0x00000200) != 0) //consider minus
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x00003FF;
+
+ //wirte new elements A, C, D to regC88 and regC9C, element B is always 0
+ value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27, value32);
+
+ value32 = ((Y * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT25, value32);
+
+ }
+ else{
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[1]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27|BIT25, 0x00);
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D));
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask)));
+ }
+
+#if MP_DRIVER == 1
+ if(delta_IQK > 1)
+#else
+ if(delta_IQK > 3)
+#endif
+ {
+ pHalData->ThermalValue_IQK = ThermalValue;
+ PHY_IQCalibrate_8192C(Adapter, FALSE);
+ }
+
+#if 1
+ if(delta > 0 && IS_HARDWARE_TYPE_8723A(Adapter))
+ {
+ if(ThermalValue >= 15)
+ PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x038180fd );
+ else
+ PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x0381808d );
+ }
+#endif
+
+ //update thermal meter value
+ if(pHalData->TxPowerTrackControl)
+ Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue);
+
+ }
+
+ PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE);
+ pHalData->TXPowercount = 0;
+
+ // 2011/08/23 MH Add for power tracking after S3/S4 turn off RF. In this case, we need to execute IQK again. Otherwise
+ // The IQK scheme will use old value to save and cause incorrect BB value.
+ {
+ RT_RF_POWER_STATE rtState;
+
+ Adapter->HalFunc.GetHwRegHandler(Adapter, HW_VAR_RF_STATE, (pu1Byte)(&rtState));
+
+ if(Adapter->bDriverStopped || Adapter->bDriverIsGoingToPnpSetPowerSleep || rtState == eRfOff)
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Incorrect pwrtrack point, re-iqk next time\n"));
+ pHalData->bIQKInitialized = FALSE;
+ }
+ }
+
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("<===odm_TXPowerTrackingCallback_ThermalMeter_92C\n"));
+#endif
+}
+
+VOID
+odm_TXPowerTrackingCallback_ThermalMeter_8723A(
+ IN PADAPTER Adapter)
+{
+#if ((RT_PLATFORM == PLATFORM_WINDOWS) || (RT_PLATFORM == PLATFORM_LINUX)) && (HAL_CODE_BASE==RTL8192_C)
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u1Byte ThermalValue = 0, delta, delta_LCK, delta_IQK, delta_HP, TimeOut = 100;
+ s4Byte ele_A=0, ele_D, TempCCk, X, value32;
+ s4Byte Y, ele_C=0;
+ s1Byte OFDM_index[2], CCK_index=0, OFDM_index_old[2], CCK_index_old=0;
+ int i = 0;
+ BOOLEAN is2T = IS_92C_SERIAL(pHalData->VersionID);
+
+#if MP_DRIVER == 1
+ PMPT_CONTEXT pMptCtx = &(Adapter->MptCtx);
+ pu1Byte TxPwrLevel = pMptCtx->TxPwrLevel;
+#endif
+ u1Byte OFDM_min_index = 6, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur
+#if 0
+ u4Byte DPK_delta_mapping[2][DPK_DELTA_MAPPING_NUM] = {
+ {0x1c, 0x1c, 0x1d, 0x1d, 0x1e,
+ 0x1f, 0x00, 0x00, 0x01, 0x01,
+ 0x02, 0x02, 0x03},
+ {0x1c, 0x1d, 0x1e, 0x1e, 0x1e,
+ 0x1f, 0x00, 0x00, 0x01, 0x02,
+ 0x02, 0x03, 0x03}};
+#endif
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ u1Byte ThermalValue_HP_count = 0;
+ u4Byte ThermalValue_HP = 0;
+ s1Byte index_mapping_HP[index_mapping_HP_NUM] = {
+ 0, 1, 3, 4, 6,
+ 7, 9, 10, 12, 13,
+ 15, 16, 18, 19, 21
+ };
+
+ s1Byte index_HP;
+#endif
+
+ if (ODM_CheckPowerStatus(Adapter) == FALSE)
+ return;
+
+ pHalData->TXPowerTrackingCallbackCnt++; //cosa add for debug
+ pHalData->bTXPowerTrackingInit = TRUE;
+
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("===>odm_TXPowerTrackingCallback_ThermalMeter_92C\n"));
+
+ ThermalValue = (u1Byte)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER, 0x1f); // 0x24: RF Reg[4:0]
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter));
+
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if (ThermalValue <= 0x16)
+ { // <20120307, Kordan> Asked by Alex.
+ PlatformEFIOWrite2Byte(Adapter, REG_AFE_XTAL_CTRL,
+ ((PlatformEFIORead2Byte(Adapter, REG_AFE_XTAL_CTRL))&~(BIT4|BIT5|BIT6|BIT7)) | (BIT7));
+ }
+ else
+ {
+ PlatformEFIOWrite2Byte(Adapter, REG_AFE_XTAL_CTRL,
+ ((PlatformEFIORead2Byte(Adapter, REG_AFE_XTAL_CTRL))&~(BIT4|BIT5|BIT6|BIT7)) | (BIT4|BIT5|BIT6|BIT7));
+ }
+#endif
+
+ PHY_APCalibrate_8192C(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
+
+ if(is2T)
+ rf = 2;
+ else
+ rf = 1;
+
+ while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE)
+ {
+ PlatformSleepUs(100);
+ TimeOut--;
+ if(TimeOut <= 0)
+ {
+ RTPRINT(FINIT, INIT_TxPower,
+ ("!!!odm_TXPowerTrackingCallback_ThermalMeter_92C Wait for check CCK gain index too long!!!\n" ));
+ break;
+ }
+ }
+
+ if(ThermalValue)
+ {
+// if(!pHalData->ThermalValue)
+ {
+ //Query OFDM path A default setting
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[0] = (u1Byte)i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0]));
+ break;
+ }
+ }
+
+ //Query OFDM path B default setting
+ if(is2T)
+ {
+ ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord)&bMaskOFDM_D;
+ for(i=0; i<OFDM_TABLE_SIZE_92C; i++) //find the index
+ {
+ if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
+ {
+ OFDM_index_old[1] = (u1Byte)i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial pathB ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n",
+ rOFDM0_XBTxIQImbalance, ele_D, OFDM_index_old[1]));
+ break;
+ }
+ }
+ }
+
+ //Query CCK default setting From 0xa24
+ TempCCk = PHY_QueryBBReg(Adapter, rCCK0_TxFilter2, bMaskDWord)&bMaskCCK;
+ for(i=0 ; i<CCK_TABLE_SIZE ; i++)
+ {
+ if(pHalData->bCCKinCH14)
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch 14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ else
+ {
+ if(PlatformCompareMemory((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4)==0)
+ {
+ CCK_index_old =(u1Byte) i;
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Initial reg0x%x = 0x%x, CCK_index=0x%x, ch14 %d\n",
+ rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ }
+
+ if(!pHalData->ThermalValue)
+ {
+ pHalData->ThermalValue = pHalData->EEPROMThermalMeter;
+ pHalData->ThermalValue_LCK = ThermalValue;
+ pHalData->ThermalValue_IQK = ThermalValue;
+ pHalData->ThermalValue_DPK = pHalData->EEPROMThermalMeter;
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index_HP[i] = pHalData->OFDM_index[i] = OFDM_index_old[i];
+ pHalData->CCK_index_HP = pHalData->CCK_index = CCK_index_old;
+#else
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] = OFDM_index_old[i];
+ pHalData->CCK_index = CCK_index_old;
+#endif
+ }
+
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ pHalData->ThermalValue_HP[pHalData->ThermalValue_HP_index] = ThermalValue;
+ pHalData->ThermalValue_HP_index++;
+ if(pHalData->ThermalValue_HP_index == HP_THERMAL_NUM)
+ pHalData->ThermalValue_HP_index = 0;
+
+ for(i = 0; i < HP_THERMAL_NUM; i++)
+ {
+ if(pHalData->ThermalValue_HP[i])
+ {
+ ThermalValue_HP += pHalData->ThermalValue_HP[i];
+ ThermalValue_HP_count++;
+ }
+ }
+
+ if(ThermalValue_HP_count)
+ ThermalValue = (u1Byte)(ThermalValue_HP / ThermalValue_HP_count);
+ }
+#endif
+ }
+
+ delta = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ if(pHalData->bDoneTxpower)
+ delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+ else
+ delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+ }
+ else
+#endif
+ {
+ delta_HP = 0;
+ }
+ delta_LCK = (ThermalValue > pHalData->ThermalValue_LCK)?(ThermalValue - pHalData->ThermalValue_LCK):(pHalData->ThermalValue_LCK - ThermalValue);
+ delta_IQK = (ThermalValue > pHalData->ThermalValue_IQK)?(ThermalValue - pHalData->ThermalValue_IQK):(pHalData->ThermalValue_IQK - ThermalValue);
+
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x delta 0x%x delta_LCK 0x%x delta_IQK 0x%x\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK));
+
+ if(delta_LCK > 1)
+ {
+ pHalData->ThermalValue_LCK = ThermalValue;
+ PHY_LCCalibrate(Adapter);
+ }
+
+ if((delta > 0 || delta_HP > 0)&& pHalData->TxPowerTrackControl)
+ {
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) == INTF_SEL1_USB_High_Power)
+ {
+ pHalData->bDoneTxpower = TRUE;
+ delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
+
+ if(delta_HP > index_mapping_HP_NUM-1)
+ index_HP = index_mapping_HP[index_mapping_HP_NUM-1];
+ else
+ index_HP = index_mapping_HP[delta_HP];
+
+ if(ThermalValue > pHalData->EEPROMThermalMeter) //set larger Tx power
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index_HP[i] - index_HP;
+ CCK_index = pHalData->CCK_index_HP -index_HP;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index_HP[i] + index_HP;
+ CCK_index = pHalData->CCK_index_HP + index_HP;
+ }
+
+ delta_HP = (ThermalValue > pHalData->ThermalValue)?(ThermalValue - pHalData->ThermalValue):(pHalData->ThermalValue - ThermalValue);
+
+ }
+ else
+#endif
+ {
+ if(ThermalValue > pHalData->ThermalValue)
+ {
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] -= delta;
+ pHalData->CCK_index -= delta;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ pHalData->OFDM_index[i] += delta;
+ pHalData->CCK_index += delta;
+ }
+ }
+
+ if(is2T)
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->OFDM_index[1], pHalData->CCK_index));
+ }
+ else
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("temp OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ pHalData->OFDM_index[0], pHalData->CCK_index));
+ }
+
+ //no adjust
+#if DEV_BUS_TYPE==RT_USB_INTERFACE
+ if(RT_GetInterfaceSelection(Adapter) != INTF_SEL1_USB_High_Power)
+#endif
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i]+1;
+ CCK_index = pHalData->CCK_index+1;
+ }
+ else
+ {
+ for(i = 0; i < rf; i++)
+ OFDM_index[i] = pHalData->OFDM_index[i];
+ CCK_index = pHalData->CCK_index;
+ }
+
+#if MP_DRIVER == 1
+ for(i = 0; i < rf; i++)
+ {
+ if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26)
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ OFDM_index[i] -= 1;
+ else
+ OFDM_index[i] -= 2;
+ }
+ else if(delta >= 5 && ThermalValue < pHalData->EEPROMThermalMeter)
+ {
+ OFDM_index[i] += 2;
+ }
+ else if(delta < 5 && ThermalValue < pHalData->EEPROMThermalMeter)
+ {
+ OFDM_index[i] += 1;
+ }
+ }
+ else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ OFDM_index[i] -= 1;
+ else
+ OFDM_index[i] -= 2;
+ }
+ else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5)
+ {
+ OFDM_index[i] -= 1;
+ }
+ }
+
+ {
+ if(TxPwrLevel[i] >=0 && TxPwrLevel[i] <=26)
+ {
+ if(ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ CCK_index -= 1;
+ else
+ CCK_index -= 2;
+ }
+ else if(delta > 5 && ThermalValue < pHalData->EEPROMThermalMeter)
+ {
+ CCK_index += 1;
+ }
+ }
+ else if (TxPwrLevel[i] >= 27 && TxPwrLevel[i] <= 32 && ThermalValue > pHalData->EEPROMThermalMeter)
+ {
+ if (delta < 5)
+ CCK_index -= 1;
+ else
+ CCK_index -= 2;
+ }
+ else if (TxPwrLevel[i] >= 32 && TxPwrLevel[i] <= 38 && ThermalValue > pHalData->EEPROMThermalMeter && delta > 5)
+ {
+ CCK_index -= 1;
+ }
+ }
+#endif
+ }
+
+ for(i = 0; i < rf; i++)
+ {
+ if(OFDM_index[i] > (OFDM_TABLE_SIZE_92C-1))
+ OFDM_index[i] = (OFDM_TABLE_SIZE_92C-1);
+ else if (OFDM_index[i] < OFDM_min_index)
+ OFDM_index[i] = OFDM_min_index;
+ }
+
+ if(CCK_index > (CCK_TABLE_SIZE-1))
+ CCK_index = (CCK_TABLE_SIZE-1);
+ else if (CCK_index < 0)
+ CCK_index = 0;
+
+ if(is2T)
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], OFDM_index[1], CCK_index));
+ }
+ else
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("new OFDM_A_index=0x%x, CCK_index=0x%x\n",
+ OFDM_index[0], CCK_index));
+ }
+ }
+
+ if(pHalData->TxPowerTrackControl && (delta != 0 || delta_HP != 0))
+ {
+ //Adujst OFDM Ant_A according to IQK result
+ ele_D = (OFDMSwingTable[OFDM_index[0]] & 0xFFC00000)>>22;
+ X = pHalData->RegE94;
+ Y = pHalData->RegE9C;
+
+ if(X != 0)
+ {
+ if ((X & 0x00000200) != 0)
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x000003FF;
+
+ //wirte new elements A, C, D to regC80 and regC94, element B is always 0
+ value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31, value32);
+
+ value32 = ((Y * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT29, value32);
+
+ }
+ else
+ {
+ PHY_SetBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[0]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT31|BIT29, 0x00);
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path A: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D));
+
+ //Adjust CCK according to IQK result
+ if(!pHalData->bCCKinCH14){
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]);
+ }
+ else{
+ PlatformEFIOWrite1Byte(Adapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]);
+ PlatformEFIOWrite1Byte(Adapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]);
+ }
+
+ if(is2T)
+ {
+ ele_D = (OFDMSwingTable[OFDM_index[1]] & 0xFFC00000)>>22;
+
+ //new element A = element D x X
+ X = pHalData->RegEB4;
+ Y = pHalData->RegEBC;
+
+ if(X != 0){
+ if ((X & 0x00000200) != 0) //consider minus
+ X = X | 0xFFFFFC00;
+ ele_A = ((X * ele_D)>>8)&0x000003FF;
+
+ //new element C = element D x Y
+ if ((Y & 0x00000200) != 0)
+ Y = Y | 0xFFFFFC00;
+ ele_C = ((Y * ele_D)>>8)&0x00003FF;
+
+ //wirte new elements A, C, D to regC88 and regC9C, element B is always 0
+ value32=(ele_D<<22)|((ele_C&0x3F)<<16) |ele_A;
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32);
+
+ value32 = (ele_C&0x000003C0)>>6;
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32);
+
+ value32 = ((X * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27, value32);
+
+ value32 = ((Y * ele_D)>>7)&0x01;
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT25, value32);
+
+ }
+ else{
+ PHY_SetBBReg(Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable[OFDM_index[1]]);
+ PHY_SetBBReg(Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00);
+ PHY_SetBBReg(Adapter, rOFDM0_ECCAThreshold, BIT27|BIT25, 0x00);
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking path B: X = 0x%x, Y = 0x%x ele_A = 0x%x ele_C = 0x%x ele_D = 0x%x\n", X, Y, ele_A, ele_C, ele_D));
+ }
+
+ RTPRINT(FINIT, INIT_IQK, ("TxPwrTracking 0xc80 = 0x%x, 0xc94 = 0x%x RF 0x24 = 0x%x\n", PHY_QueryBBReg(Adapter, 0xc80, bMaskDWord), PHY_QueryBBReg(Adapter, 0xc94, bMaskDWord), PHY_QueryRFReg(Adapter, RF_PATH_A, 0x24, bRFRegOffsetMask)));
+ }
+
+#if MP_DRIVER == 1
+ if(delta_IQK > 1)
+#else
+ if(delta_IQK > 3)
+#endif
+ {
+ pHalData->ThermalValue_IQK = ThermalValue;
+ PHY_IQCalibrate(Adapter, FALSE);
+ }
+
+#if 1
+ if(delta > 0)
+ {
+ if(ThermalValue >= 15)
+ PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x038180fd );
+ else
+ PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, bMaskDWord, 0x0381808d );
+ }
+#endif
+ //update thermal meter value
+ if(pHalData->TxPowerTrackControl)
+ Adapter->HalFunc.SetHalDefVarHandler(Adapter, HAL_DEF_THERMAL_VALUE, &ThermalValue);
+
+ }
+
+ PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE);
+ pHalData->TXPowercount = 0;
+
+ // 2011/08/23 MH Add for power tracking after S3/S4 turn off RF. In this case, we need to execute IQK again. Otherwise
+ // The IQK scheme will use old value to save and cause incorrect BB value.
+ {
+ RT_RF_POWER_STATE rtState;
+
+ Adapter->HalFunc.GetHwRegHandler(Adapter, HW_VAR_RF_STATE, (pu1Byte)(&rtState));
+
+ if(Adapter->bDriverStopped || Adapter->bDriverIsGoingToPnpSetPowerSleep || rtState == eRfOff)
+ {
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("Incorrect pwrtrack point, re-iqk next time\n"));
+ pHalData->bIQKInitialized = FALSE;
+ }
+ }
+
+ RT_TRACE(COMP_POWER_TRACKING, DBG_LOUD,("<===odm_TXPowerTrackingCallback_ThermalMeter_92C\n"));
+#endif
+}
+
+//
+// ==================================================
+// Tx power tracking relative code.
+// ==================================================
+//
+
+
+#endif
+
+#else //#if (RTL8192C_SUPPORT == 1)
+VOID
+odm_TXPowerTrackingCallback_ThermalMeter_92C(
+ IN PADAPTER Adapter
+ )
+{
+}
+VOID
+odm_TXPowerTrackingCallback_ThermalMeter_8723A(
+ IN PADAPTER Adapter)
+{
+}
+
+#endif //#if (RTL8192C_SUPPORT == 1)
+
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.h index cc9c57f9b242..684db25a5035 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8192c/odm_RTL8192C.h @@ -1,86 +1,86 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -#ifndef __ODM_RTL8192C_H__ -#define __ODM_RTL8192C_H__ - - -VOID -odm_ResetFACounter_92C( - IN PDM_ODM_T pDM_Odm - ); - -#if (DM_ODM_SUPPORT_TYPE & ODM_MP) - - -// -// ================================================== -// Tx power tracking relative code. -// ================================================== -// - -VOID -odm_TXPowerTrackingCallbackThermalMeter92C( - IN PADAPTER Adapter - ); - - -VOID -odm_TXPowerTrackingCallbackRXGainThermalMeter92D( - IN PADAPTER Adapter - ); - -VOID -odm_TXPowerTrackingDirectCall92C( - IN PADAPTER Adapter - ); - -VOID -odm_TXPowerTrackingDirectCall92C( - IN PADAPTER Adapter - ); - -VOID -odm_TXPowerTrackingCallback_ThermalMeter_92C( - IN PADAPTER Adapter - ); - -VOID -odm_TXPowerTrackingCallback_ThermalMeter_8723A( - IN PADAPTER Adapter - ); - -// -// ================================================== -// Tx power tracking relative code. -// ================================================== -// - -void -ODM_RF_Saving_8188E( - IN PDM_ODM_T pDM_Odm, - IN u1Byte bForceInNormal - ); - - -#endif - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+#ifndef __ODM_RTL8192C_H__
+#define __ODM_RTL8192C_H__
+
+
+VOID
+odm_ResetFACounter_92C(
+ IN PDM_ODM_T pDM_Odm
+ );
+
+#if (DM_ODM_SUPPORT_TYPE & ODM_MP)
+
+
+//
+// ==================================================
+// Tx power tracking relative code.
+// ==================================================
+//
+
+VOID
+odm_TXPowerTrackingCallbackThermalMeter92C(
+ IN PADAPTER Adapter
+ );
+
+
+VOID
+odm_TXPowerTrackingCallbackRXGainThermalMeter92D(
+ IN PADAPTER Adapter
+ );
+
+VOID
+odm_TXPowerTrackingDirectCall92C(
+ IN PADAPTER Adapter
+ );
+
+VOID
+odm_TXPowerTrackingDirectCall92C(
+ IN PADAPTER Adapter
+ );
+
+VOID
+odm_TXPowerTrackingCallback_ThermalMeter_92C(
+ IN PADAPTER Adapter
+ );
+
+VOID
+odm_TXPowerTrackingCallback_ThermalMeter_8723A(
+ IN PADAPTER Adapter
+ );
+
+//
+// ==================================================
+// Tx power tracking relative code.
+// ==================================================
+//
+
+void
+ODM_RF_Saving_8188E(
+ IN PDM_ODM_T pDM_Odm,
+ IN u1Byte bForceInNormal
+ );
+
+
+#endif
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723Reg.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723Reg.h index 16329cd46a55..2e04792e7fe8 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723Reg.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723Reg.h @@ -1,45 +1,45 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -//============================================================ -// File Name: Hal8723Reg.h -// -// Description: -// -// This file is for RTL8723 register definition. -// -// -//============================================================ -#ifndef __HAL_8723_REG_H__ -#define __HAL_8723_REG_H__ - -// -// Register Definition -// -#define ODM_R_A_AGC_CORE1_8723A 0xc50 - - -// -// Bitmap Definition -// -#define BIT_FA_RESET_8723A BIT0 - - -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+//============================================================
+// File Name: Hal8723Reg.h
+//
+// Description:
+//
+// This file is for RTL8723 register definition.
+//
+//
+//============================================================
+#ifndef __HAL_8723_REG_H__
+#define __HAL_8723_REG_H__
+
+//
+// Register Definition
+//
+#define ODM_R_A_AGC_CORE1_8723A 0xc50
+
+
+//
+// Bitmap Definition
+//
+#define BIT_FA_RESET_8723A BIT0
+
+
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.c index d495f7e33a04..db70fd79a870 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.c @@ -1,7245 +1,5972 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -/*Created on 2013/02/26, 18:59*/ -#include "../odm_precomp.h" - -const u8 Rtl8723SFwImgArray[Rtl8723SImgArrayLength] = { -0x01,0x23,0x02,0x00,0x0e,0x00,0x00,0x00,0x11,0x16,0x12,0x05,0x5e,0x50,0x01,0x00, -0x31,0x84,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x02,0x44,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x02,0x58,0x67,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x02,0x60,0xbf,0x00,0x00,0x00,0x00,0x00,0x02,0x53,0x36,0x00,0x00, -0x00,0x00,0x00,0x02,0x51,0x6b,0x05,0x04,0x03,0x02,0x00,0x03,0x06,0x05,0x04,0x03, -0x00,0x04,0x06,0x05,0x04,0x02,0x00,0x04,0x08,0x07,0x06,0x04,0x00,0x06,0x0a,0x09, -0x08,0x06,0x00,0x08,0x0a,0x09,0x08,0x04,0x00,0x08,0x0a,0x09,0x08,0x02,0x00,0x08, -0x0a,0x09,0x08,0x00,0x00,0x08,0x12,0x11,0x10,0x08,0x00,0x10,0x1a,0x19,0x18,0x10, -0x00,0x18,0x22,0x21,0x20,0x18,0x00,0x20,0x22,0x21,0x20,0x10,0x00,0x20,0x22,0x21, -0x20,0x08,0x00,0x20,0x22,0x21,0x1c,0x08,0x00,0x20,0x22,0x21,0x14,0x08,0x00,0x20, -0x22,0x20,0x18,0x08,0x00,0x20,0x31,0x30,0x20,0x10,0x00,0x30,0x31,0x30,0x18,0x00, -0x00,0x30,0x31,0x2f,0x10,0x10,0x00,0x30,0x31,0x2c,0x10,0x10,0x00,0x30,0x31,0x28, -0x10,0x00,0x00,0x30,0x31,0x20,0x10,0x00,0x00,0x30,0x31,0x10,0x10,0x00,0x00,0x30, -0x04,0x04,0x04,0x05,0x04,0x04,0x04,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x04,0x05, -0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05, -0x05,0x05,0x06,0x07,0x0a,0x0b,0x0d,0x10,0x04,0x05,0x05,0x06,0x06,0x09,0x0c,0x11, -0x08,0x08,0x09,0x09,0x0a,0x0c,0x10,0x11,0x04,0x04,0x04,0x05,0x04,0x04,0x05,0x07, -0x07,0x07,0x08,0x0a,0x04,0x04,0x04,0x04,0x06,0x0a,0x0b,0x0d,0x05,0x05,0x07,0x07, -0x08,0x0b,0x0d,0x0f,0x04,0x04,0x04,0x05,0x07,0x07,0x09,0x09,0x0c,0x0e,0x10,0x12, -0x04,0x04,0x05,0x05,0x06,0x0a,0x11,0x13,0x09,0x09,0x09,0x09,0x0c,0x0e,0x11,0x13, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x26,0x2a,0x18,0x1a,0x1d,0x1f, -0x21,0x27,0x29,0x2a,0x00,0x00,0x00,0x1f,0x23,0x28,0x2a,0x2c,0x00,0x04,0x00,0x04, -0x00,0x08,0x00,0x10,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x90, -0x00,0xc0,0x00,0xd8,0x00,0x50,0x00,0x78,0x00,0xa0,0x00,0xc8,0x01,0x40,0x01,0x90, -0x01,0xe0,0x02,0x30,0x01,0x2c,0x01,0x40,0x01,0xe0,0x02,0xd0,0x03,0xe8,0x04,0xb0, -0x06,0x40,0x07,0xd0,0x00,0x02,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x0c,0x00,0x12, -0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x6c,0x00,0x28,0x00,0x3c, -0x00,0x50,0x00,0x64,0x00,0xa0,0x00,0xc8,0x00,0xf0,0x01,0x18,0x00,0x64,0x00,0xa0, -0x00,0xf0,0x01,0x68,0x01,0xf4,0x02,0x58,0x03,0x20,0x03,0xe8,0x02,0x02,0x02,0x02, -0x02,0x02,0x03,0x03,0x04,0x04,0x05,0x07,0x04,0x04,0x07,0x0a,0x0a,0x0c,0x0c,0x12, -0x05,0x07,0x07,0x08,0x0b,0x12,0x24,0x3c,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x04, -0x05,0x06,0x07,0x08,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x05,0x06,0x07,0x08, -0x09,0x0a,0x0b,0x0c,0x20,0x1e,0x1c,0x18,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00, -0xbb,0x01,0x06,0x89,0x82,0x8a,0x83,0xf0,0x22,0x50,0x02,0xf7,0x22,0xbb,0xfe,0x01, -0xf3,0x22,0xf8,0xbb,0x01,0x0d,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83, -0xe8,0xf0,0x22,0x50,0x06,0xe9,0x25,0x82,0xc8,0xf6,0x22,0xbb,0xfe,0x05,0xe9,0x25, -0x82,0xc8,0xf2,0x22,0xc5,0xf0,0xf8,0xa3,0xe0,0x28,0xf0,0xc5,0xf0,0xf8,0xe5,0x82, -0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0x38,0xf0,0x22,0xbb,0x01,0x0a,0x89,0x82,0x8a, -0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x06,0x87,0xf0,0x09,0xe7,0x19,0x22,0xbb, -0xfe,0x07,0xe3,0xf5,0xf0,0x09,0xe3,0x19,0x22,0x89,0x82,0x8a,0x83,0xe4,0x93,0xf5, -0xf0,0x74,0x01,0x93,0x22,0xbb,0x01,0x10,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a, -0xf5,0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x09,0xe9,0x25,0x82,0xf8,0x86,0xf0, -0x08,0xe6,0x22,0xbb,0xfe,0x0a,0xe9,0x25,0x82,0xf8,0xe2,0xf5,0xf0,0x08,0xe2,0x22, -0xe5,0x83,0x2a,0xf5,0x83,0xe9,0x93,0xf5,0xf0,0xa3,0xe9,0x93,0x22,0xbb,0x01,0x0a, -0x89,0x82,0x8a,0x83,0xf0,0xe5,0xf0,0xa3,0xf0,0x22,0x50,0x06,0xf7,0x09,0xa7,0xf0, -0x19,0x22,0xbb,0xfe,0x06,0xf3,0xe5,0xf0,0x09,0xf3,0x19,0x22,0xf8,0xbb,0x01,0x11, -0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83,0xe8,0xf0,0xe5,0xf0,0xa3,0xf0, -0x22,0x50,0x09,0xe9,0x25,0x82,0xc8,0xf6,0x08,0xa6,0xf0,0x22,0xbb,0xfe,0x09,0xe9, -0x25,0x82,0xc8,0xf2,0xe5,0xf0,0x08,0xf2,0x22,0xef,0x4b,0xff,0xee,0x4a,0xfe,0xed, -0x49,0xfd,0xec,0x48,0xfc,0x22,0xbb,0x01,0x07,0x89,0x82,0x8a,0x83,0x02,0x43,0x46, -0x50,0x05,0xe9,0xf8,0x02,0x43,0xda,0xbb,0xfe,0x05,0xe9,0xf8,0x02,0x43,0xe6,0x89, -0x82,0x8a,0x83,0x02,0x43,0xf2,0xe0,0xfc,0xa3,0xe0,0xfd,0xa3,0xe0,0xfe,0xa3,0xe0, -0xff,0x22,0xa4,0x25,0x82,0xf5,0x82,0xe5,0xf0,0x35,0x83,0xf5,0x83,0x22,0xe0,0xfb, -0xa3,0xe0,0xfa,0xa3,0xe0,0xf9,0x22,0xf8,0xe0,0xfb,0xa3,0xa3,0xe0,0xf9,0x25,0xf0, -0xf0,0xe5,0x82,0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0xfa,0x38,0xf0,0x22,0xeb,0xf0, -0xa3,0xea,0xf0,0xa3,0xe9,0xf0,0x22,0xd0,0x83,0xd0,0x82,0xf8,0xe4,0x93,0x70,0x12, -0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74,0x01,0x93,0xf5,0x82,0x88,0x83, -0xe4,0x73,0x74,0x02,0x93,0x68,0x60,0xef,0xa3,0xa3,0xa3,0x80,0xdf,0xd0,0x83,0xd0, -0x82,0xf8,0xe4,0x93,0x70,0x12,0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74, -0x01,0x93,0xf5,0x82,0x88,0x83,0xe4,0x73,0x74,0x02,0x93,0xb5,0xf0,0x06,0x74,0x03, -0x93,0x68,0x60,0xe9,0xa3,0xa3,0xa3,0xa3,0x80,0xd8,0xe6,0xfc,0x08,0xe6,0xfd,0x08, -0xe6,0xfe,0x08,0xe6,0xff,0x22,0xe2,0xfc,0x08,0xe2,0xfd,0x08,0xe2,0xfe,0x08,0xe2, -0xff,0x22,0xe4,0x93,0xfc,0x74,0x01,0x93,0xfd,0x74,0x02,0x93,0xfe,0x74,0x03,0x93, -0xff,0x22,0x02,0x44,0x40,0x02,0x4b,0x85,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0x40, -0x03,0xf6,0x80,0x01,0xf2,0x08,0xdf,0xf4,0x80,0x29,0xe4,0x93,0xa3,0xf8,0x54,0x07, -0x24,0x0c,0xc8,0xc3,0x33,0xc4,0x54,0x0f,0x44,0x20,0xc8,0x83,0x40,0x04,0xf4,0x56, -0x80,0x01,0x46,0xf6,0xdf,0xe4,0x80,0x0b,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80, -0x90,0x44,0x85,0xe4,0x7e,0x01,0x93,0x60,0xbc,0xa3,0xff,0x54,0x3f,0x30,0xe5,0x09, -0x54,0x1f,0xfe,0xe4,0x93,0xa3,0x60,0x01,0x0e,0xcf,0x54,0xc0,0x25,0xe0,0x60,0xa8, -0x40,0xb8,0xe4,0x93,0xa3,0xfa,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0xc8,0xc5,0x82, -0xc8,0xca,0xc5,0x83,0xca,0xf0,0xa3,0xc8,0xc5,0x82,0xc8,0xca,0xc5,0x83,0xca,0xdf, -0xe9,0xde,0xe7,0x80,0xbe,0x48,0x9e,0x8d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x48,0x9e,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x9e,0x8c,0x00,0x41, -0x9f,0x14,0x00,0x41,0x9e,0x9e,0x80,0x41,0x9e,0x9f,0x80,0x41,0x9d,0xa8,0x00,0x41, -0x9d,0xa9,0x00,0x41,0x9d,0xa7,0x00,0x41,0x9e,0xb3,0x00,0x00,0x90,0x9e,0x69,0xe0, -0xfe,0xa3,0xe0,0xff,0x90,0x02,0x84,0xef,0xf0,0xa3,0xee,0xf0,0xa3,0x74,0x05,0xf0, -0x22,0xe5,0x68,0x30,0xe3,0x04,0xe4,0xff,0x80,0x02,0x7f,0x01,0xe1,0xd6,0x8f,0x82, -0x8e,0x83,0xa3,0xa3,0xa3,0xe4,0xf0,0x22,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x05,0xaf, -0x69,0x02,0x56,0x5f,0x02,0x4c,0x80,0x22,0x7f,0x00,0x22,0x90,0x01,0x64,0x74,0x20, -0xf0,0x22,0x22,0x02,0x61,0x15,0x02,0x61,0x1c,0xef,0x8e,0xf0,0x71,0xad,0x45,0x26, -0x00,0x40,0x45,0x4e,0x00,0x80,0x45,0x79,0x01,0x00,0x45,0x8d,0x02,0x00,0x45,0xa5, -0x04,0x00,0x00,0x00,0x45,0xc2,0xed,0x54,0x3f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e, -0x00,0x7f,0x40,0xef,0x2d,0xff,0xee,0x3c,0xfe,0xef,0x78,0x06,0xce,0xc3,0x13,0xce, -0x13,0xd8,0xf9,0x78,0x06,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0x80,0x26,0xed,0x54, -0x7f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x00,0x7f,0x80,0xef,0x2d,0xff,0xee,0x3c, -0xfe,0xef,0x78,0x07,0xce,0xc3,0x13,0xce,0x13,0xd8,0xf9,0x78,0x07,0xc3,0x33,0xce, -0x33,0xce,0xd8,0xf9,0xfd,0xac,0x06,0x80,0x49,0xed,0x70,0x04,0xfe,0xff,0x80,0x04, -0x7e,0x01,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x7d,0x00,0xfc,0x80,0x35,0xec,0x54,0x01, -0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x02,0x7f,0x00,0xef,0x2d,0xee,0x3c,0xc3, -0x13,0x7d,0x00,0x80,0x1a,0xec,0x54,0x03,0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e, -0x04,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x13,0x13,0x54,0x3f,0x7d,0x00,0x25,0xe0,0x25, -0xe0,0xfc,0xae,0x04,0xaf,0x05,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0x90, -0x9e,0x6f,0xf0,0xa3,0x74,0x08,0xf0,0xa3,0xf0,0x90,0x01,0x1f,0xe0,0xfe,0x90,0x01, -0x1e,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0x69,0xf0,0xa3,0xef,0xf0, -0x90,0x02,0x87,0xe0,0x90,0x9e,0x6e,0xf0,0x90,0x9e,0xbc,0xe0,0x20,0xe0,0x02,0xe1, -0x49,0xe4,0x90,0x9e,0x6d,0xf0,0x90,0x9e,0x6e,0xe0,0xff,0x90,0x9e,0x6d,0xe0,0xc3, -0x9f,0x40,0x02,0xe1,0x49,0x90,0x9e,0x69,0xe0,0xfc,0xa3,0xe0,0xfd,0xec,0x90,0xfd, -0x11,0xf0,0x74,0x02,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0x0f,0xfc, -0x33,0x33,0x33,0x54,0xf8,0xff,0xed,0x24,0x18,0x2f,0x90,0x9e,0x6b,0xf0,0xe0,0x24, -0x00,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0xfc,0x90,0x9e,0x6c,0xf0,0x74, -0x01,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0xfe,0x74,0x00,0x2d,0xf5,0x82, -0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x7a,0x00,0x24,0x00,0xff,0xea,0x3e,0x54,0x3f,0xab, -0x07,0xfa,0xaf,0x04,0xef,0x75,0xf0,0x08,0xa4,0x24,0x18,0xff,0xe4,0x35,0xf0,0xfe, -0xef,0x2b,0xfb,0xee,0x3a,0xfa,0x90,0x9e,0xc2,0xe0,0xfe,0xa3,0xe0,0xff,0xad,0x03, -0xac,0x02,0xb1,0x09,0xaa,0x06,0xab,0x07,0x90,0x9e,0x69,0xee,0x8f,0xf0,0x51,0x54, -0x90,0x9e,0xc0,0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0x69,0xe0,0xfc,0xa3,0xe0,0xfd, -0xd3,0x9f,0xec,0x9e,0x40,0x1b,0x90,0x9e,0xc1,0xe0,0x24,0x01,0xff,0x90,0x9e,0xc0, -0xe0,0x34,0x00,0xfe,0xc3,0xed,0x9f,0xff,0xec,0x9e,0x90,0x9e,0x69,0xf0,0xa3,0xef, -0xf0,0x90,0x9e,0x6c,0xe0,0xff,0x24,0x40,0x60,0x04,0x24,0x20,0x70,0x24,0x90,0x9e, -0xbc,0xe0,0xfe,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x29,0xef,0x90,0x00,0x81, -0xb4,0xa0,0x06,0xe0,0x44,0x04,0xf0,0x80,0x04,0xe0,0x44,0x08,0xf0,0x90,0x9e,0xbf, -0x80,0x0f,0x90,0x9e,0xbc,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x06,0x80, -0x04,0xe0,0x44,0x01,0xf0,0x90,0x9e,0xbf,0xe0,0x20,0xe0,0x07,0x90,0x01,0x3f,0xe0, -0x30,0xe2,0x10,0xf1,0x4e,0x90,0x9e,0xbc,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x12,0x91, -0xbc,0x80,0x0e,0x91,0xbc,0x90,0x01,0xbf,0xe0,0x04,0xf0,0x90,0x00,0xe2,0xe0,0x04, -0xf0,0x90,0x9e,0x6d,0xe0,0x04,0xf0,0xc1,0x06,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e, -0x9b,0xe0,0x64,0x02,0x70,0x33,0x90,0x9e,0xbd,0xe0,0xff,0x90,0x9e,0xbc,0xe0,0xfe, -0xc4,0x13,0x54,0x01,0xfd,0x12,0x4e,0xa4,0x90,0x9e,0xbe,0xe0,0x75,0xf0,0x20,0xa4, -0xff,0xae,0xf0,0x12,0x3b,0x3b,0x90,0x9e,0xbd,0xe0,0xff,0x90,0x9e,0xbc,0xe0,0xfe, -0xc4,0x13,0x54,0x01,0xf4,0xfd,0x02,0x4e,0xa4,0x90,0x06,0x90,0xe0,0x44,0x01,0xf0, -0x22,0x90,0x9e,0xb4,0xe0,0x30,0xe0,0x3d,0xe5,0x67,0x64,0x01,0x70,0x37,0x90,0x9e, -0xb8,0xe0,0x60,0x31,0x90,0x9e,0x8e,0xe0,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x02, -0x80,0x15,0x90,0x9e,0xb8,0xe0,0xff,0x90,0x9e,0xb6,0xe0,0xb5,0x07,0x0f,0xf1,0x4e, -0x90,0x00,0x81,0xe0,0x44,0x10,0xf0,0xe4,0x90,0x9e,0xb8,0xf0,0x22,0x91,0xd1,0x90, -0x9e,0xb8,0xe0,0x04,0xf0,0x22,0x8f,0x27,0x12,0x4f,0xf8,0xef,0x64,0x01,0x70,0x2e, -0x90,0x9e,0x97,0x12,0x50,0x26,0xe5,0x27,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4, -0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4, -0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xd3, -0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x8b,0x60,0x8a,0x61,0x89,0x62,0x90,0x9e,0xe6,0x12, -0x43,0x7e,0xab,0x63,0xaa,0x64,0xa9,0x65,0x90,0x9e,0xe9,0x12,0x43,0x7e,0xaf,0x66, -0x15,0x66,0xef,0x60,0x1e,0x90,0x9e,0xe9,0xe4,0x75,0xf0,0x01,0x12,0x43,0x67,0x12, -0x1f,0x04,0xff,0x90,0x9e,0xe6,0xe4,0x75,0xf0,0x01,0x12,0x43,0x67,0xef,0x12,0x42, -0x20,0x80,0xdb,0xab,0x60,0xaa,0x61,0xa9,0x62,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10, -0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xec,0x12,0x43,0x7e,0x90,0x9e,0x9b,0xe0,0x64, -0x01,0x60,0x66,0x90,0x9e,0x9b,0xe0,0x70,0x60,0x90,0x9d,0xa7,0xe0,0xff,0x04,0xf0, -0x90,0x9e,0xec,0x12,0x43,0x5e,0x90,0x00,0x01,0xef,0x12,0x42,0x32,0x31,0x8f,0xef, -0x60,0x47,0x90,0x9e,0xec,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x75,0x66, -0x02,0x7b,0x01,0x7a,0x01,0x79,0xa0,0x11,0x0f,0x90,0x9e,0xef,0x12,0x43,0x5e,0x8b, -0x63,0x8a,0x64,0x89,0x65,0x90,0x9e,0xec,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc4, -0x54,0x0f,0xf5,0x66,0x7b,0x01,0x7a,0x01,0x79,0xa2,0x11,0x0f,0x90,0x01,0xaf,0x74, -0xff,0xf0,0x90,0x01,0xcb,0xe0,0x64,0x80,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10, -0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xf2,0x12,0x43,0x7e,0x90,0x9d,0xa9,0xe0,0xff, -0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07,0x7d,0x02,0x7f,0x03,0x12,0x3a,0xdf,0x90,0x9d, -0xa8,0xe0,0x70,0x06,0xa3,0xe0,0x64,0x09,0x60,0x0b,0x90,0x9d,0xa8,0xe0,0x14,0xff, -0xa3,0xe0,0xb5,0x07,0x0d,0x31,0x8f,0xef,0x60,0x70,0x31,0xe9,0x90,0x01,0x3f,0x74, -0x02,0xf0,0x90,0x9d,0xa9,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35, -0xf0,0xa8,0x01,0xfc,0x7d,0x01,0x90,0x9e,0xf2,0x12,0x43,0x5e,0x7e,0x00,0x7f,0x02, -0x12,0x1e,0xde,0x90,0x9d,0xa9,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d, -0x35,0xf0,0xfa,0x7b,0x01,0xc0,0x03,0xc0,0x02,0xc0,0x01,0x90,0x9e,0xf5,0x12,0x43, -0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x90,0x9e,0xf2,0x12,0x43,0x5e,0x12,0x1f,0x04, -0xff,0xc4,0x54,0x0f,0xf5,0x66,0xd0,0x01,0xd0,0x02,0xd0,0x03,0x11,0x0f,0x90,0x9d, -0xa9,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x02,0xe4,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0x7f, -0xaf,0x7e,0x01,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xfd,0xee,0xf0,0xa3, -0xef,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0x90,0x9e,0xfd,0xe0,0xfe,0xa3,0xe0,0xf5,0x82, -0x8e,0x83,0xe0,0x60,0x2d,0xc3,0x90,0x9f,0x00,0xe0,0x94,0xe8,0x90,0x9e,0xff,0xe0, -0x94,0x03,0x40,0x0b,0x90,0x01,0xc6,0xe0,0x44,0x10,0xf0,0x7f,0x00,0x80,0x15,0x90, -0x9e,0xff,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x0a,0x7e,0x00,0x12,0x3b,0x3b, -0x80,0xc5,0x7f,0x01,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0, -0x90,0x9d,0xa8,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35,0xf0,0xfa, -0x7b,0x01,0xc0,0x02,0xc0,0x01,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d, -0x35,0xf0,0xfa,0x90,0x9e,0xef,0x12,0x43,0x7e,0xd0,0x01,0xd0,0x02,0x11,0x5e,0x90, -0x9d,0xa8,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x02,0xe4,0xf0,0x90,0x9d,0xa9,0xe0,0xff, -0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x71,0xd0,0xd0, -0x92,0xaf,0x22,0x90,0x01,0xcc,0xe0,0x54,0x0f,0x90,0x9e,0x69,0xf0,0x90,0x9e,0x69, -0xe0,0xfd,0x70,0x02,0x61,0x84,0x90,0x9f,0x14,0xe0,0xff,0x74,0x01,0x7e,0x00,0xa8, -0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xef,0x5d,0x70,0x02, -0x61,0x7d,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd0,0x12,0x43,0x52,0xe0, -0x90,0x9e,0x6a,0xf0,0x75,0x63,0x01,0x75,0x64,0x9e,0x75,0x65,0x6a,0x75,0x66,0x01, -0x7b,0x01,0x7a,0x9e,0x79,0x6b,0x11,0x0f,0x90,0x9e,0x6b,0xe0,0xff,0xc4,0x13,0x13, -0x13,0x54,0x01,0x90,0x9f,0x14,0x30,0xe0,0x59,0xe0,0x75,0xf0,0x02,0x90,0x00,0x88, -0x12,0x43,0x52,0xe0,0x90,0x9e,0x6c,0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x02,0x90, -0x00,0x89,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6d,0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0, -0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6e,0xf0,0x90,0x9f,0x14,0xe0, -0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6f,0xf0,0x90,0x9f, -0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52,0xe0,0x90,0x9e,0x70,0xf0, -0x80,0x33,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6c, -0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90, -0x9e,0x6d,0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52, -0xe0,0x90,0x9e,0x6e,0xf0,0xef,0x54,0x7f,0xff,0x7b,0x01,0x7a,0x9e,0x79,0x6c,0x12, -0x80,0x07,0x90,0x9e,0x69,0xe0,0xff,0x90,0x9f,0x14,0xe0,0xfe,0x74,0x01,0xa8,0x06, -0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0x5f,0x90,0x9e,0x69,0xf0,0x90,0x9f,0x14, -0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x90,0x01,0xcc, -0xf0,0x90,0x9f,0x14,0xe0,0x04,0xf0,0xe0,0x54,0x03,0xf0,0x41,0x4d,0x90,0x01,0xc6, -0xe0,0x44,0x02,0xf0,0x22,0xe4,0x90,0x9e,0x66,0xf0,0xa3,0xf0,0x12,0x60,0x87,0x75, -0x8e,0x02,0xf1,0xe8,0x12,0x44,0xf8,0x90,0x9e,0x9b,0xef,0xf0,0x12,0x60,0x24,0x90, -0x9e,0x9d,0xef,0xf0,0xe4,0xf5,0x57,0x12,0x78,0x90,0x12,0x61,0x60,0x12,0x37,0x4e, -0x12,0x67,0x5a,0x12,0x57,0xfe,0x90,0x00,0xf3,0xe0,0x30,0xe2,0x0d,0x90,0x05,0x41, -0x74,0x10,0xf0,0x90,0x05,0x5a,0xf0,0xa3,0xe4,0xf0,0x12,0x44,0xfb,0x12,0x58,0x1c, -0x12,0x44,0xf7,0x12,0x60,0x8f,0x12,0x8d,0xfb,0x12,0x8d,0xf2,0x12,0x8d,0xca,0x90, -0x9e,0x68,0xe5,0xd9,0xf0,0x12,0x5f,0xf5,0xc2,0xaf,0x90,0x00,0x80,0xe0,0x44,0x40, -0xf0,0xd1,0x94,0x75,0xe8,0x03,0x43,0xa8,0x85,0x12,0x8e,0x69,0xd2,0xaf,0x12,0x87, -0xdd,0x12,0x60,0x31,0x90,0x9e,0x66,0xe0,0x64,0x01,0xf0,0x24,0x85,0x90,0x01,0xc4, -0xf0,0x74,0x4b,0xa3,0xf0,0xe5,0x57,0x30,0xe0,0x0a,0xc2,0xaf,0x53,0x57,0xfe,0x12, -0x8e,0xca,0xd2,0xaf,0xe5,0x57,0x30,0xe2,0x10,0x12,0x61,0x23,0xbf,0x01,0x0a,0xc2, -0xaf,0x53,0x57,0xfb,0xd2,0xaf,0x12,0x45,0xc7,0xe5,0x57,0x30,0xe4,0x09,0xc2,0xaf, -0x53,0x57,0xef,0xd2,0xaf,0x51,0x43,0xe5,0x57,0x30,0xe6,0x0a,0xc2,0xaf,0x53,0x57, -0xbf,0xd2,0xaf,0x12,0x72,0x3b,0xe5,0x57,0x30,0xe7,0x09,0xc2,0xaf,0x53,0x57,0x7f, -0xd2,0xaf,0x31,0xe9,0xc2,0xaf,0xe5,0x69,0x54,0x0f,0xff,0xbf,0x01,0x0e,0x90,0x9e, -0xa5,0x74,0x01,0xf0,0x12,0x44,0xe8,0xe4,0x90,0x9e,0xa5,0xf0,0xd2,0xaf,0x80,0x84, -0x7d,0x01,0xaf,0x69,0x90,0x9f,0x09,0xed,0xf0,0x90,0x9f,0x08,0xef,0xf0,0x54,0x0f, -0xff,0xe5,0x68,0x54,0x0f,0x6f,0x60,0x73,0x90,0x9f,0x08,0xe0,0x30,0xe2,0x2b,0xe5, -0x68,0x20,0xe2,0x05,0x7f,0x01,0x12,0x67,0x85,0xe5,0x68,0x30,0xe3,0x0a,0x90,0x9f, -0x08,0xe0,0x20,0xe3,0x03,0x02,0x68,0x03,0xe5,0x68,0x20,0xe3,0x4e,0x90,0x9f,0x08, -0xe0,0x30,0xe3,0x47,0xa3,0xe0,0xff,0x02,0x62,0x72,0xe5,0x68,0x54,0x0f,0xff,0xbf, -0x0c,0x10,0x90,0x9f,0x08,0xe0,0x20,0xe3,0x09,0x12,0x5e,0xac,0xef,0x60,0x2c,0x12, -0x68,0x03,0xe5,0x68,0x54,0x0f,0xff,0xbf,0x04,0x10,0x90,0x9f,0x08,0xe0,0x20,0xe2, -0x09,0x12,0x5f,0x93,0xef,0x60,0x14,0x12,0x68,0x29,0xe5,0x68,0x54,0x0f,0xff,0xbf, -0x02,0x09,0x12,0x61,0xfc,0xef,0x60,0x03,0x12,0x6b,0x0b,0x22,0xef,0x64,0x01,0x70, -0x38,0x7d,0x7c,0x7f,0x02,0x12,0x3a,0x54,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0x90, -0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x7d,0x01,0x7f,0x0c,0x91,0x84, -0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x03,0x12,0x56,0x83,0x90,0x06,0x04,0xe0,0x54,0x7f, -0xf0,0x90,0x06,0x0a,0xe0,0x54,0xf8,0xf0,0x22,0x90,0x01,0x36,0x74,0x7c,0xf0,0xa3, -0x74,0x02,0xf0,0x7d,0x7c,0xff,0x12,0x3a,0xc5,0x7d,0x02,0x7f,0x03,0x12,0x3a,0xc5, -0x90,0x06,0x04,0xe0,0x44,0x80,0xf0,0x90,0x06,0x0a,0xe0,0x44,0x07,0xf0,0x90,0x9e, -0xa9,0xe0,0xa3,0xe0,0x90,0x05,0x58,0xf0,0xe5,0x67,0x30,0xe0,0x22,0x90,0x9e,0xa3, -0xe0,0x70,0x21,0xe0,0x04,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x06,0x7d, -0x01,0x7f,0x04,0x91,0x84,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x08,0x02,0x56,0x83,0xe4, -0x90,0x9e,0xa3,0xf0,0x22,0x8b,0x13,0x8a,0x14,0x89,0x15,0x12,0x61,0xc6,0xab,0x13, -0xaa,0x14,0xa9,0x15,0x12,0x1f,0x04,0xf5,0x6a,0x12,0x43,0x87,0x4d,0xd5,0x00,0x4d, -0xdd,0x01,0x4d,0xf0,0x02,0x4e,0x04,0x03,0x4e,0x0a,0x04,0x4e,0x21,0x05,0x4e,0x39, -0x06,0x00,0x00,0x4e,0x44,0x7f,0x01,0xb1,0x0c,0x7f,0x01,0x80,0x64,0xab,0x13,0xaa, -0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xd1,0x54,0x80,0x18, -0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01,0xd1, -0x54,0x1f,0x80,0x04,0xd1,0x45,0xe4,0xff,0xa1,0x0c,0xab,0x13,0xaa,0x14,0xa9,0x15, -0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xd1,0x54,0xb1,0x0c,0xe4,0xff,0x80, -0x20,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01, -0xd1,0x54,0x1f,0xb1,0x0c,0xe4,0xff,0x80,0x08,0xd1,0x45,0xe4,0xff,0xb1,0x0c,0xe4, -0xff,0x12,0x61,0xd2,0x22,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f, -0x1d,0xfd,0x7f,0x02,0xef,0x24,0xfe,0x60,0x12,0x04,0x70,0x2f,0x90,0x9e,0xaf,0x74, -0x01,0xf0,0x90,0x9e,0xa1,0xf0,0x90,0x9e,0xb2,0xf0,0x22,0xed,0x70,0x0a,0x90,0x9e, -0xac,0xe0,0x90,0x9e,0xaf,0xf0,0x80,0x05,0x90,0x9e,0xaf,0xed,0xf0,0x90,0x9e,0xaf, -0xe0,0x90,0x9e,0xa1,0xf0,0x90,0x9e,0xb2,0x74,0x01,0xf0,0x22,0xf4,0xff,0x90,0x00, -0x63,0xe0,0x5f,0xf0,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x7f,0x10,0xdf,0xfe,0xd0, -0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f,0x13,0xed,0xf0, -0x90,0x9f,0x12,0xef,0xf0,0xd3,0x94,0x07,0x50,0x63,0xe0,0xff,0x74,0x01,0xa8,0x07, -0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x47,0xe0,0x5f,0xf0,0xd1, -0x94,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8, -0xfc,0xff,0x90,0x00,0x46,0xe0,0x4f,0xf0,0xd1,0x94,0x90,0x9f,0x13,0xe0,0x60,0x16, -0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc, -0xff,0x90,0x00,0x45,0x80,0x60,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08, -0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x45,0x80,0x62,0x90,0x9f,0x12, -0xe0,0x24,0xf8,0xf0,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8, -0xfc,0xd1,0x8c,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3, -0x33,0xd8,0xfc,0xff,0x90,0x00,0x62,0xe0,0x4f,0xf0,0xd1,0x94,0x90,0x9f,0x13,0xe0, -0x60,0x18,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33, -0xd8,0xfc,0xff,0x90,0x00,0x61,0xe0,0x4f,0x80,0x17,0x90,0x9f,0x12,0xe0,0xff,0x74, -0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x61,0xe0, -0x5f,0xf0,0xd1,0x94,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0, -0x8f,0x82,0x75,0x83,0x00,0xed,0xf0,0xd1,0x94,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x00, -0x20,0xe0,0x44,0x01,0xfd,0x7f,0x20,0xf1,0x89,0x7f,0xf4,0x7e,0x01,0x12,0x3b,0x3b, -0x90,0x00,0x00,0xe0,0x54,0xdf,0xfd,0xe4,0xff,0xf1,0x89,0x90,0x00,0x28,0xe0,0x44, -0x03,0xfd,0x7f,0x28,0xf1,0x89,0x90,0x00,0x08,0xe0,0x54,0xef,0xfd,0x7f,0x08,0xf1, -0x89,0xe4,0xff,0x12,0x6a,0x44,0x7f,0x64,0x7e,0x00,0x12,0x3b,0x3b,0x90,0x00,0x29, -0xe0,0x44,0xc0,0xfd,0x7f,0x29,0x80,0xa1,0xe4,0x90,0x9e,0x9a,0xf0,0x90,0x00,0x80, -0xe0,0x44,0x80,0xfd,0x7f,0x80,0x80,0x91,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90, -0x04,0x1d,0xe0,0x60,0x1a,0x90,0x05,0x22,0xe0,0x54,0x90,0x60,0x07,0x90,0x01,0xc6, -0xe0,0x44,0x40,0xf0,0x90,0x01,0xc7,0xe0,0x30,0xe1,0xe4,0x7f,0x00,0x80,0x02,0x7f, -0x01,0xd0,0xd0,0x92,0xaf,0x22,0xe0,0xff,0x7d,0x01,0xe4,0xfb,0xfa,0xef,0x30,0xe0, -0x02,0x7b,0x80,0xef,0xc3,0x13,0x90,0xfd,0x10,0xf0,0x90,0x04,0x25,0xef,0xf0,0xed, -0x60,0x0e,0x74,0x0f,0x2b,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x80,0xf0, -0xaf,0x03,0x74,0x08,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe4,0xf0,0x74,0x09, -0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf0,0xf0,0x74,0x21,0x2b,0xf5, -0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf7,0xf0,0xae,0x02,0xaf,0x03,0x22,0xe0, -0x54,0xef,0xf0,0x90,0xfd,0x63,0xe0,0x54,0x3f,0x25,0xe0,0x25,0xe0,0xff,0x90,0xfd, -0x62,0xe0,0x54,0x03,0x4f,0x90,0x9e,0x5d,0xf0,0x90,0xfd,0x64,0xe0,0x54,0x3f,0x25, -0xe0,0x25,0xe0,0xff,0x90,0xfd,0x63,0xe0,0x54,0x03,0x4f,0x90,0x9e,0x5e,0xf0,0x90, -0x9e,0x5d,0xe0,0xfd,0xa3,0xe0,0xfb,0xe4,0xff,0x90,0x9e,0x62,0xef,0xf0,0xa3,0xed, -0xf0,0xa3,0xeb,0xf0,0x12,0x4f,0xf8,0xef,0x64,0x01,0x60,0x02,0x21,0x6a,0x90,0x9e, -0x99,0x11,0x26,0x90,0x9e,0x62,0xe0,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34, -0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34, -0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0xad,0x07,0x74,0x06,0x2d,0xf5,0x82,0xe4,0x34, -0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x74,0x11,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5, -0x83,0xe0,0x54,0xef,0xf0,0xad,0x07,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5, -0x83,0xe0,0x44,0x02,0xf0,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0, -0x54,0x03,0xf0,0x90,0x9e,0x63,0xe0,0xfd,0xac,0x07,0x74,0x22,0x2c,0xf5,0x82,0xe4, -0x34,0xfc,0xf5,0x83,0xed,0xf0,0x90,0x9e,0x64,0xe0,0xfd,0x74,0x23,0x2c,0xf5,0x82, -0xe4,0x34,0xfc,0xf5,0x83,0xed,0xf0,0x74,0x24,0x2c,0xf5,0x82,0xe4,0x34,0xfc,0xf5, -0x83,0xe0,0x04,0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xc0,0xe0,0xc0,0xf0,0xc0, -0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03, -0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07,0x53,0x91,0xbf,0x90,0xfd,0x68,0xe0,0x20, -0xe0,0x02,0x41,0xfb,0x90,0xfd,0x60,0xe0,0x64,0x0e,0x60,0x02,0x41,0x3f,0x90,0x9e, -0x43,0xe0,0xff,0x13,0x13,0x13,0x54,0x1f,0x20,0xe0,0x02,0x41,0x3f,0x90,0xfd,0x62, -0xe0,0x54,0xc0,0xfe,0x90,0x07,0x90,0xe0,0x54,0x3f,0x4e,0xf0,0x90,0xfd,0x63,0xe0, -0x90,0x07,0x91,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x07,0x92,0xf0,0x90,0xfd,0x65,0xe0, -0x90,0x07,0x93,0xf0,0x90,0x07,0x95,0x74,0x01,0xf0,0xef,0x20,0xe0,0x42,0x90,0x9e, -0x43,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x18,0x90,0x07,0x78,0x11,0x7f,0x90,0x9e, -0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x47,0x90,0x07,0x83,0xe0,0x44,0x40,0xf0,0x80, -0x3e,0x90,0x9e,0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x10,0xe4,0xff,0x71,0x16,0x90, -0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01,0xf0,0x90,0x07,0x78,0x80,0x13, -0x90,0x9e,0x43,0xe0,0xff,0x13,0x13,0x54,0x3f,0x90,0x07,0x78,0x30,0xe0,0x04,0x11, -0x7f,0x80,0x0c,0xe0,0x44,0x10,0xf0,0xe0,0x44,0x20,0xf0,0xe0,0x54,0xdf,0xf0,0x90, -0xfd,0x60,0xe0,0xb4,0x0f,0x0b,0x90,0xfd,0x62,0xe0,0xff,0xa3,0xe0,0xfd,0x12,0x8f, -0x02,0x90,0xfd,0x60,0xe0,0x64,0x15,0x70,0x64,0x90,0xfd,0x62,0xe0,0x90,0x9e,0x60, -0xf0,0x90,0xfd,0x62,0xe0,0x30,0xe0,0x15,0x90,0x9e,0x60,0xe0,0xf4,0x54,0x3f,0x04, -0xff,0x90,0x9e,0x4e,0xe0,0x13,0x13,0x54,0x3f,0xc3,0x9f,0x80,0x10,0x90,0x9e,0x4e, -0xe0,0x13,0x13,0x54,0x3f,0xff,0x90,0x9e,0x60,0xe0,0x54,0x3f,0x2f,0x90,0x9e,0x5f, -0xf0,0x90,0x9e,0x5f,0xe0,0xff,0x54,0x30,0xc4,0x54,0x0f,0xfe,0xef,0x25,0xe0,0x25, -0xe0,0x4e,0x90,0x9e,0x61,0xf0,0x90,0x00,0x2e,0xf0,0x90,0x9e,0x5f,0xe0,0xc4,0x54, -0xf0,0xff,0x90,0x9e,0x4f,0xe0,0x54,0x0f,0x4f,0x90,0x00,0x2d,0xf0,0x90,0xfd,0x60, -0xe0,0xb4,0x16,0x08,0x90,0xfd,0x62,0xe0,0xff,0x12,0x8f,0x55,0x90,0xfd,0x60,0xe0, -0xb4,0x21,0x08,0x90,0xfd,0x62,0xe0,0xff,0x12,0x8f,0x7d,0x90,0xfd,0x60,0xe0,0xb4, -0x22,0x03,0x12,0x90,0x34,0x90,0xfd,0x60,0xe0,0xb4,0x23,0x08,0x90,0xfd,0x62,0xe0, -0xff,0x12,0x90,0x11,0x90,0xfd,0x68,0xe0,0x44,0x01,0xf0,0xd0,0x07,0xd0,0x06,0xd0, -0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0,0xd0,0xd0,0x82,0xd0, -0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x90,0x9e,0x43,0xe0,0xc3,0x13,0x30,0xe0,0x16,0xef, -0x7b,0x01,0xb4,0x01,0x06,0x7a,0x9e,0x79,0x4a,0x80,0x04,0x7a,0x9e,0x79,0x46,0x7f, -0x80,0x7e,0x08,0xf1,0x70,0x22,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0,0xd0, -0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05,0xc0, -0x06,0xc0,0x07,0x90,0x01,0xc4,0x74,0x36,0xf0,0x74,0x53,0xa3,0xf0,0x53,0x91,0xdf, -0x90,0x01,0x3c,0xe0,0x55,0x30,0xf5,0x34,0xa3,0xe0,0x55,0x31,0xf5,0x35,0xa3,0xe0, -0x55,0x32,0xf5,0x36,0xa3,0xe0,0x55,0x33,0xf5,0x37,0xe5,0x34,0x30,0xe0,0x06,0x90, -0x01,0x3c,0x74,0x01,0xf0,0xe5,0x34,0x30,0xe1,0x0b,0x90,0x01,0x3c,0x74,0x02,0xf0, -0x12,0x6c,0xb1,0xf1,0xb7,0xe5,0x34,0x30,0xe2,0x36,0x90,0x01,0x3c,0x74,0x04,0xf0, -0x90,0x06,0x92,0xe0,0x30,0xe0,0x21,0x75,0x48,0x00,0x90,0x9e,0xa6,0xe0,0xf5,0x49, -0xe4,0xfb,0xfd,0x7f,0x58,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x5b,0x74,0x05,0xf0, -0x90,0x06,0x92,0x74,0x01,0xf0,0x80,0x08,0x90,0x9e,0xae,0xe4,0xf0,0x12,0x44,0xe8, -0xe5,0x34,0x30,0xe3,0x36,0x90,0x01,0x3c,0x74,0x08,0xf0,0x90,0x06,0x92,0xe0,0x30, -0xe1,0x21,0x75,0x48,0x00,0x90,0x9e,0xa6,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c, -0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02, -0xf0,0x80,0x08,0x90,0x9e,0xad,0xe4,0xf0,0x12,0x44,0xe8,0xe5,0x34,0x30,0xe4,0x06, -0x90,0x01,0x3c,0x74,0x10,0xf0,0xe5,0x34,0x30,0xe5,0x06,0x90,0x01,0x3c,0x74,0x20, -0xf0,0xe5,0x35,0x30,0xe0,0x19,0x90,0x01,0x3d,0x74,0x01,0xf0,0x90,0x01,0x2f,0xe0, -0x44,0x7f,0xf0,0x90,0x00,0x83,0xe0,0xf5,0x69,0x12,0x6b,0x1d,0x12,0x44,0xe8,0xe5, -0x35,0x30,0xe2,0x0c,0x90,0x01,0x3d,0x74,0x04,0xf0,0x53,0x6b,0xfb,0x12,0x44,0xe8, -0xe5,0x36,0x30,0xe0,0x69,0x90,0x01,0x3e,0x74,0x01,0xf0,0x90,0x9e,0xd7,0xe0,0x30, -0xe0,0x12,0xa3,0xe0,0x64,0x03,0x60,0x0c,0x7f,0x01,0xd1,0x0b,0xef,0x60,0x05,0x7f, -0x01,0x12,0x68,0x90,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x43,0xe4,0xff,0xd1,0x0b,0xef, -0x60,0x3c,0xd1,0x2f,0x90,0x9e,0xd2,0xe0,0xff,0x64,0x06,0x60,0x31,0xef,0xb4,0x04, -0x02,0x80,0x07,0x90,0x9e,0xd2,0xe0,0xb4,0x05,0x04,0xe4,0xff,0x80,0x14,0x90,0x9e, -0xd2,0xe0,0xb4,0x03,0x04,0x7f,0x01,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x02,0x05, -0x7f,0x01,0x12,0x62,0xa5,0x7d,0x01,0xaf,0x69,0x12,0x4c,0x84,0xd1,0x83,0xe5,0x36, -0x30,0xe1,0x3b,0x90,0x01,0x3e,0x74,0x02,0xf0,0x90,0x9e,0xd7,0xe0,0x30,0xe0,0x12, -0xa3,0xe0,0x64,0x03,0x60,0x0c,0x7f,0x01,0xd1,0x0b,0xef,0x70,0x05,0x7f,0x02,0x12, -0x68,0x90,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x15,0x12,0x8b,0xdb,0x90,0x9e,0xd2,0xe0, -0x64,0x06,0x60,0x0a,0xe4,0xff,0xd1,0x0b,0xef,0x70,0x03,0x12,0x67,0xbb,0xe5,0x36, -0x30,0xe3,0x09,0x90,0x01,0x3e,0x74,0x08,0xf0,0x43,0x6b,0x04,0xe5,0x36,0x30,0xe4, -0x06,0x90,0x01,0x3e,0x74,0x10,0xf0,0xe5,0x36,0x30,0xe2,0x72,0x90,0x01,0x3e,0x74, -0x04,0xf0,0x90,0x07,0x8f,0xe0,0x30,0xe7,0x12,0x74,0x80,0xf0,0x90,0x07,0x95,0x74, -0x04,0xf0,0xa3,0xe0,0x44,0x04,0xf0,0xe4,0xff,0x71,0x16,0x90,0x07,0x8f,0xe0,0x30, -0xe6,0x12,0x74,0x40,0xf0,0x90,0x07,0x7c,0xe0,0xb4,0x06,0x08,0x90,0x07,0x80,0xe0, -0xff,0x12,0x8f,0x2d,0x90,0x07,0x8f,0xe0,0x30,0xe5,0x13,0x74,0x20,0xf0,0xe4,0xff, -0x71,0x16,0x90,0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01,0xf0,0x90,0x07, -0x95,0xe0,0x30,0xe2,0x0c,0x74,0x04,0xf0,0xa3,0xe0,0x54,0xfb,0xf0,0x7f,0x01,0x71, -0x16,0x90,0x07,0x95,0xe0,0x30,0xe0,0x06,0x74,0x01,0xf0,0xff,0x71,0x16,0xe5,0x36, -0x30,0xe5,0x06,0x90,0x01,0x3e,0x74,0x20,0xf0,0xe5,0x36,0x30,0xe6,0x08,0x90,0x01, -0x3e,0x74,0x40,0xf0,0xd1,0x19,0xe5,0x36,0x30,0xe7,0x0c,0x90,0x01,0x3e,0x74,0x80, -0xf0,0x53,0x6b,0xfe,0x12,0x44,0xe8,0xe5,0x37,0x30,0xe1,0x09,0x90,0x01,0x3f,0x74, -0x02,0xf0,0x43,0x57,0x80,0xe5,0x37,0x30,0xe4,0x1b,0x90,0x01,0x3f,0x74,0x10,0xf0, -0xd1,0xc8,0x90,0x9e,0xaf,0xe0,0x90,0x05,0x73,0xf0,0x90,0x01,0x36,0x74,0x02,0xf0, -0xfd,0xff,0x12,0x3a,0xc5,0x74,0x36,0x04,0x90,0x01,0xc4,0xf0,0x74,0x53,0xa3,0xf0, -0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00, -0xd0,0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x8f,0x6c,0x90,0x05,0x43, -0xe0,0x7f,0x00,0x30,0xe7,0x02,0x7f,0x01,0x22,0x12,0x4f,0xf8,0xbf,0x01,0x0f,0x90, -0x9e,0x96,0xe0,0xff,0xe4,0xfd,0x11,0x2a,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x90, -0x9e,0xd1,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x0b,0xa3,0xe0,0x64,0x06, -0x60,0x05,0x7f,0x06,0x12,0x62,0xa5,0x90,0x9e,0xd2,0xe0,0x64,0x06,0x60,0x02,0xd1, -0x52,0x22,0x90,0x9e,0xd6,0xe0,0xb4,0x01,0x05,0xe4,0xf0,0x12,0x5d,0x03,0x22,0xae, -0x07,0xe4,0xff,0xd1,0x0b,0xef,0x60,0x18,0x90,0x9e,0xd1,0xe0,0xc4,0x13,0x13,0x54, -0x03,0x20,0xe0,0x0c,0xaf,0x06,0x7d,0x01,0x12,0x4c,0x84,0xd1,0x83,0x7f,0x01,0x22, -0x7f,0x00,0x22,0x90,0x9e,0xd2,0xe0,0x64,0x06,0x60,0x3c,0xe5,0x68,0x54,0x0f,0x14, -0x60,0x2e,0x14,0x60,0x1e,0x24,0xfe,0x60,0x0e,0x24,0xf8,0x70,0x2a,0xe4,0x90,0x9e, -0xd2,0xf0,0x90,0x05,0x22,0xf0,0x22,0x90,0x9e,0xd2,0x74,0x01,0xf0,0x90,0x05,0x22, -0xe4,0xf0,0x22,0x90,0x9e,0xd2,0x74,0x03,0xf0,0x90,0x05,0x22,0x74,0xff,0xf0,0x22, -0x90,0x01,0xc6,0xe0,0x44,0x08,0xf0,0x22,0xe4,0x90,0x9f,0x16,0xf0,0xe5,0x6a,0x70, -0x02,0xe1,0x6b,0xe5,0x67,0x64,0x01,0x60,0x02,0xe1,0x6b,0xe5,0x6a,0x14,0x60,0x28, -0x24,0xfd,0x60,0x24,0x24,0x02,0x24,0xfb,0x50,0x02,0x80,0x22,0xe4,0x90,0x9e,0xa1, -0xf0,0xe0,0x60,0x04,0xa3,0xe0,0x60,0x16,0x90,0x9e,0xa1,0xe0,0x70,0x0a,0x90,0x9e, -0xaf,0xe0,0x90,0x9e,0xa1,0xf0,0x80,0x00,0x90,0x9f,0x16,0x74,0x01,0xf0,0x90,0x9e, -0xd1,0xe0,0x30,0xe0,0x15,0xa3,0xe0,0xb4,0x06,0x05,0xe4,0x90,0x9f,0x16,0xf0,0xe4, -0xff,0xd1,0x0b,0xef,0x70,0x04,0x90,0x9f,0x16,0xf0,0x90,0x9f,0x16,0xe0,0x60,0x3b, -0x43,0x6b,0x10,0xe4,0xf5,0x48,0x90,0x9e,0xab,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f, -0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x68,0x54,0x0f, -0xc3,0x94,0x04,0x50,0x07,0x7d,0x01,0x7f,0x04,0x12,0x4c,0x84,0x90,0x9e,0xd1,0xe0, -0x30,0xe0,0x08,0xd1,0x83,0x90,0x05,0x22,0x74,0xff,0xf0,0x22,0x7f,0x70,0x7e,0x08, -0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0,0xee, -0x44,0xf0,0xa3,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x01,0xec,0xf0,0x90,0x00, -0x02,0x12,0x1f,0x1d,0x90,0x01,0xed,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x01, -0xee,0xf0,0x12,0x1f,0x04,0x90,0x01,0xef,0xf0,0x90,0x01,0xeb,0x74,0x40,0xf0,0x12, -0x5f,0x3e,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0x51,0xe0,0xff,0x90,0x9e,0x50,0xe0, -0x5f,0x60,0x24,0x12,0x5d,0x8a,0xef,0x54,0x9f,0xff,0xec,0x90,0x9f,0x01,0x12,0x1f, -0xd7,0x7b,0x01,0x7a,0x9f,0x79,0x01,0xf1,0x6c,0x90,0x00,0x40,0x74,0x24,0xf0,0xe5, -0x6a,0x70,0x04,0x90,0x01,0x57,0xf0,0x22,0x12,0x4f,0xf8,0xbf,0x01,0x0f,0x90,0x02, -0x09,0xe0,0xff,0x7d,0x01,0x11,0x2a,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x75,0x28, -0x33,0xe4,0xf5,0x29,0x75,0x2a,0x07,0xf5,0x2b,0x90,0x01,0x30,0xe5,0x28,0xf0,0xa3, -0xe5,0x29,0xf0,0xa3,0xe5,0x2a,0xf0,0xa3,0xe5,0x2b,0xf0,0x22,0x75,0x30,0x1f,0x75, -0x31,0x01,0xe4,0xf5,0x32,0x43,0x32,0x20,0x90,0x01,0x38,0xe5,0x30,0xf0,0xa3,0xe5, -0x31,0xf0,0xa3,0xe5,0x32,0xf0,0x22,0x90,0x01,0x30,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0x90,0x01,0x38,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xfd,0x7f,0x50,0x12, -0x4f,0x89,0xe4,0xfd,0x7f,0x51,0x12,0x4f,0x89,0xe4,0xfd,0x7f,0x52,0x12,0x4f,0x89, -0xe4,0xfd,0x7f,0x53,0x02,0x4f,0x89,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0, -0xd0,0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05, -0xc0,0x06,0xc0,0x07,0x90,0x01,0xc4,0x74,0x67,0xf0,0x74,0x58,0xa3,0xf0,0x90,0x01, -0x34,0xe0,0x55,0x28,0xf5,0x2c,0x90,0x01,0x36,0xe0,0x55,0x2a,0xf5,0x2e,0xa3,0xe0, -0x55,0x2b,0xf5,0x2f,0xe5,0x2c,0x20,0xe0,0x02,0x41,0x20,0x90,0x01,0x34,0x74,0x01, -0xf0,0x85,0xd1,0x4d,0x85,0xd3,0x4f,0x85,0xd4,0x50,0x85,0xd5,0x51,0x85,0xd6,0x52, -0x85,0xd7,0x53,0x85,0xd9,0x54,0x85,0xd2,0x4e,0x78,0x8d,0x7c,0x9e,0xfd,0x7b,0x00, -0x7a,0x00,0x79,0x4d,0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde,0x90,0x9e,0x8e,0xe0,0xff, -0xc4,0x13,0x54,0x01,0xfe,0xef,0xc4,0x13,0x13,0x54,0x01,0x6e,0x70,0x02,0x21,0xcf, -0x90,0x9e,0x8e,0xe0,0xff,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x02,0x21,0xcf, -0xef,0x54,0x1f,0xf5,0x08,0x90,0x9e,0x8f,0xe0,0x54,0x3f,0xf5,0x09,0x90,0x9e,0x91, -0xe0,0x54,0x1f,0xff,0xe5,0x08,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5, -0x83,0xe4,0x8f,0xf0,0x12,0x42,0x54,0xe5,0x09,0xd3,0x94,0x04,0x40,0x03,0x75,0x09, -0x04,0x75,0xf0,0x0a,0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75,0xf0,0x02,0xe5, -0x09,0x12,0x43,0x52,0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0x91,0xe0,0x54,0x1f,0x2f, -0xff,0xe4,0x3e,0xfe,0x75,0xf0,0x0a,0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75, -0xf0,0x02,0xe5,0x09,0x12,0x43,0x52,0xee,0xf0,0xa3,0xef,0xf0,0x90,0x9e,0x8e,0xe0, -0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x28,0x90,0x9e,0x91,0xe0,0x54,0x1f,0xff,0xe5, -0x08,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0x8f,0xf0,0x12, -0x42,0x54,0x90,0x9e,0x90,0xe0,0x30,0xe7,0x36,0xaf,0x08,0x12,0x6d,0xe9,0x80,0x2f, -0x90,0x9e,0x91,0xe0,0x54,0x1f,0xff,0xfd,0xe5,0x08,0x25,0xe0,0x24,0x44,0xf5,0x82, -0xe4,0x34,0x99,0xf5,0x83,0xe4,0x8d,0xf0,0x12,0x42,0x54,0x90,0x9e,0x90,0xe0,0xfe, -0x30,0xe7,0x0c,0x54,0x7f,0xfd,0x8f,0x0d,0xab,0x09,0xaf,0x08,0x12,0x6d,0x86,0xe5, -0x6a,0x14,0x24,0xfd,0x50,0x02,0x80,0x45,0x90,0x9e,0xb0,0xe0,0x60,0x37,0x90,0x01, -0x5b,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x04,0xf0,0x91,0xea,0xef,0x64,0x01,0x70,0x2d, -0x90,0x9e,0xa6,0xe0,0xf5,0x48,0x75,0x49,0x00,0xe4,0xfb,0xfd,0x7f,0x58,0x7e,0x01, -0x12,0x39,0xa9,0x90,0x01,0x5b,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x01,0xf0,0x90, -0x9e,0xae,0xf0,0x80,0x08,0x91,0xea,0xbf,0x01,0x03,0x12,0x44,0xe8,0x12,0x47,0x91, -0xe5,0x2c,0x30,0xe1,0x7b,0x90,0x01,0x34,0x74,0x02,0xf0,0x90,0xfd,0x10,0x74,0x7f, -0xf0,0x90,0x04,0x7f,0xe0,0x54,0x07,0xf5,0x55,0x90,0x04,0x7e,0xe0,0x54,0x07,0xf5, -0x56,0x65,0x55,0x60,0x5b,0xe4,0xff,0x75,0xf0,0x08,0xe5,0x55,0xa4,0x2f,0xf5,0x82, -0xe4,0x35,0xf0,0xf5,0x83,0xe5,0x82,0x24,0xc0,0xf5,0x82,0xe5,0x83,0x34,0xfc,0xf5, -0x83,0xe0,0xfe,0x74,0x58,0x2f,0xf8,0xa6,0x06,0x0f,0xbf,0x08,0xda,0x78,0x84,0x7c, -0x9e,0x7d,0x01,0x7b,0x00,0x7a,0x00,0x79,0x58,0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde, -0x90,0x9e,0x84,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x02,0xb1,0xe3,0xe5, -0x55,0x24,0x01,0xff,0xef,0x54,0x07,0xf5,0x55,0x90,0x04,0x7f,0xf0,0xb5,0x56,0xa5, -0xe5,0x2c,0x30,0xe3,0x10,0x90,0x01,0x34,0x74,0x08,0xf0,0x90,0x9e,0xbc,0xe0,0x30, -0xe0,0x03,0x43,0x57,0x04,0xe5,0x2c,0x30,0xe4,0x09,0x90,0x01,0x34,0x74,0x10,0xf0, -0x43,0x57,0x10,0xe5,0x2c,0x30,0xe5,0x25,0x90,0x01,0xcf,0xe0,0x30,0xe5,0x1e,0xe0, -0x54,0xdf,0xf0,0x90,0x01,0x34,0x74,0x20,0xf0,0x75,0xa8,0x00,0x75,0xe8,0x00,0x11, -0x37,0x90,0x00,0x03,0xe0,0x54,0xfb,0xf0,0x12,0x4e,0x94,0x80,0xfe,0xe5,0x2c,0x30, -0xe6,0x06,0x90,0x01,0x34,0x74,0x40,0xf0,0xe5,0x2e,0x30,0xe0,0x41,0x90,0x9e,0x9c, -0x74,0x01,0xf0,0x90,0x01,0x36,0xf0,0xb1,0x43,0xd1,0x05,0x90,0x9e,0xd7,0xe0,0x30, -0xe0,0x0d,0x13,0x13,0x54,0x3f,0x30,0xe0,0x06,0x90,0x9e,0xd9,0x74,0x01,0xf0,0x90, -0x9e,0xd1,0xe0,0xff,0x30,0xe0,0x0d,0x13,0x13,0x54,0x3f,0x30,0xe0,0x06,0x90,0x9e, -0xd3,0x74,0x01,0xf0,0x12,0x56,0xc8,0xd1,0x36,0x90,0x9e,0x9c,0xe4,0xf0,0xe5,0x2e, -0x30,0xe1,0x5f,0x90,0x01,0x36,0x74,0x02,0xf0,0x43,0x57,0x40,0x90,0x01,0x02,0xe0, -0x54,0x03,0x64,0x01,0x70,0x29,0x90,0x01,0x37,0xe0,0x30,0xe0,0x0a,0x74,0x01,0xf0, -0x90,0x9e,0x8c,0xe4,0xf0,0x80,0x18,0x90,0x9e,0x8c,0xe0,0x04,0xf0,0xe0,0xc3,0x94, -0x0a,0x40,0x0c,0xe4,0xf0,0x90,0x04,0x19,0xe0,0x30,0xe0,0x03,0x12,0x57,0xe8,0x90, -0x9e,0xd1,0xe0,0x30,0xe0,0x0d,0xe4,0xff,0x12,0x56,0x0b,0xef,0x60,0x05,0x90,0x05, -0x22,0xe4,0xf0,0xd1,0x6c,0x90,0x9e,0xb2,0xe0,0x60,0x07,0x7d,0x02,0x7f,0x02,0x12, -0x3a,0x54,0xe5,0x2e,0x30,0xe2,0x46,0x90,0x01,0x36,0x74,0x04,0xf0,0x90,0x9e,0xd1, -0xe0,0x30,0xe0,0x06,0xa3,0xe0,0x64,0x06,0x60,0x30,0x12,0x6b,0xe1,0x90,0x9e,0xb2, -0xe0,0x60,0x27,0x90,0x9e,0xaf,0xe0,0xff,0x90,0x9e,0xa1,0xe0,0xb5,0x07,0x1b,0x90, -0x9e,0xaf,0xe0,0x90,0x05,0x73,0xf0,0x90,0x01,0x3f,0x74,0x10,0xf0,0xfd,0x7f,0x03, -0x12,0x3a,0xdf,0x7d,0x01,0x7f,0x02,0x12,0x3a,0x54,0x12,0x57,0xb7,0xe5,0x2e,0x30, -0xe3,0x34,0x90,0x01,0x36,0x74,0x08,0xf0,0xe5,0x67,0x64,0x01,0x70,0x28,0xe5,0x6a, -0x60,0x24,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x75,0x48,0x00, -0x90,0x9e,0xa8,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9, -0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x2e,0x30,0xe4,0x2b,0x90,0x01,0x36,0x74,0x10, -0xf0,0xe5,0x67,0xb4,0x01,0x20,0xe5,0x6a,0x60,0x1c,0x90,0x01,0x57,0xe4,0xf0,0x90, -0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0xb1,0xe4,0xf0,0x53,0x6b,0xfd,0xe5,0x6b,0x54, -0x07,0x70,0x03,0x12,0x44,0xe8,0xe5,0x2e,0x30,0xe5,0x1e,0x90,0x01,0x36,0x74,0x20, -0xf0,0xe5,0x67,0xb4,0x01,0x13,0xe5,0x6a,0x60,0x0f,0x90,0x9e,0xb0,0xe0,0x64,0x02, -0x60,0x05,0x12,0x56,0x19,0x80,0x02,0xd1,0xf4,0xe5,0x2e,0x30,0xe6,0x1b,0x90,0x01, -0x36,0x74,0x40,0xf0,0xe5,0x67,0xb4,0x01,0x10,0xe5,0x6a,0x60,0x0c,0x53,0x6b,0xfe, -0xe5,0x6b,0x54,0x07,0x70,0x03,0x12,0x44,0xe8,0xe5,0x2f,0x30,0xe1,0x26,0x90,0x01, -0x37,0x74,0x02,0xf0,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x17,0xe4,0xff,0x12,0x56,0x0b, -0xef,0x60,0x07,0xb1,0x03,0x12,0x56,0x83,0x80,0x0a,0x90,0x9e,0xd6,0x74,0x01,0xf0, -0x80,0x02,0xb1,0x03,0x74,0x67,0x04,0x90,0x01,0xc4,0xf0,0x74,0x58,0xa3,0xf0,0xd0, -0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0, -0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x90,0x04,0x1a,0xe0,0xf4,0x60, -0x03,0x7f,0x00,0x22,0x90,0x04,0x1b,0xe0,0x54,0x07,0x64,0x07,0x7f,0x01,0x60,0x02, -0x7f,0x00,0x22,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0xe5,0x6a,0x14,0x24,0xfd,0x50, -0x06,0x24,0xfd,0x50,0x1d,0x80,0x2b,0x90,0x9e,0xb0,0xe0,0x60,0x06,0x7d,0x01,0x7f, -0x0c,0x80,0x1c,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x16,0x7d,0x01,0x7f,0x04, -0x80,0x0d,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x07,0x7d,0x01,0x7f,0x04,0x12, -0x4c,0x84,0x22,0x90,0x9e,0x51,0xe0,0xff,0x90,0x9e,0x50,0xe0,0x5f,0x60,0x3a,0x90, -0x00,0x40,0x74,0x04,0xf0,0xb1,0x8a,0xef,0x44,0x60,0xff,0xec,0x90,0x9e,0x52,0x12, -0x1f,0xd7,0x7f,0x60,0x7e,0x08,0xb1,0x8e,0xef,0x44,0x20,0xff,0xec,0x90,0x9e,0x56, -0x12,0x1f,0xd7,0x7b,0x01,0x7a,0x9e,0x79,0x52,0x12,0x57,0x6c,0x7b,0x01,0x7a,0x9e, -0x79,0x56,0x7f,0x60,0x7e,0x08,0x12,0x57,0x70,0x22,0x7f,0x70,0x7e,0x08,0xd3,0x10, -0xaf,0x01,0xc3,0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0,0xee,0xa3,0xf0, -0x90,0x01,0xeb,0x74,0x80,0xf0,0xf1,0x3e,0x90,0x01,0xec,0xe0,0xff,0x90,0x9f,0x05, -0x12,0x43,0x5e,0x90,0x00,0x03,0xef,0x12,0x42,0x32,0x90,0x01,0xed,0xe0,0x90,0x00, -0x02,0x12,0x42,0x32,0x90,0x01,0xee,0xe0,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x01, -0xef,0xe0,0x12,0x42,0x20,0x90,0x9f,0x05,0x12,0x43,0x5e,0x12,0x43,0x26,0xd0,0xd0, -0x92,0xaf,0x22,0x90,0x9e,0x52,0xe0,0x54,0xf0,0x44,0x03,0xf0,0x54,0x0f,0x44,0x80, -0xf0,0x7b,0x00,0x7a,0x00,0x79,0x58,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x0b,0x7a,0x9e, -0x79,0x52,0x02,0x48,0xde,0x90,0x9e,0x51,0xe0,0xff,0x90,0x9e,0x50,0xe0,0x5f,0xff, -0xe5,0x6a,0x7e,0x00,0x70,0x02,0x7e,0x01,0xee,0x5f,0x60,0x19,0xe4,0xf5,0x48,0x90, -0x9e,0xab,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90, -0x01,0x57,0x74,0x05,0xf0,0x22,0x90,0x9e,0xb9,0xe0,0x30,0xe0,0x2e,0xe5,0x67,0xb4, -0x01,0x29,0x90,0x9e,0xb3,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x0b,0x90,0x9e,0xbb,0xe0, -0x04,0xf0,0xe4,0x90,0x9e,0xb3,0xf0,0x90,0x9e,0xbb,0xe0,0xff,0x90,0x9e,0xba,0xe0, -0xb5,0x07,0x08,0x12,0x44,0xd1,0xe4,0x90,0x9e,0xbb,0xf0,0x22,0x90,0x9e,0xb4,0xe0, -0x30,0xe0,0x38,0xe5,0x67,0x64,0x01,0x70,0x32,0x90,0x9e,0xb7,0xe0,0x04,0xf0,0xe0, -0xff,0x90,0x9e,0xb5,0xe0,0xb5,0x07,0x23,0x90,0x06,0x92,0xe0,0x54,0x1c,0x70,0x0b, -0x12,0x44,0xd1,0x90,0x9e,0xb8,0xe0,0x04,0xf0,0x80,0x0b,0x90,0x06,0x92,0x74,0x1c, -0xf0,0xe4,0x90,0x9e,0xb8,0xf0,0xe4,0x90,0x9e,0xb7,0xf0,0x22,0x91,0xea,0xef,0x64, -0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01,0xf0,0x80,0x30,0x90,0x9e,0xae,0xe0,0x60, -0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x22,0x90,0x9e,0xad,0xe0,0x60,0x08,0x90, -0x01,0xb9,0x74,0x04,0xf0,0x80,0x14,0xe5,0x69,0x54,0x0f,0xd3,0x94,0x04,0x40,0x08, -0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x08, -0xf0,0x7f,0x00,0x22,0x90,0x01,0x5f,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x08,0xf0,0xe4, -0xf5,0x48,0x90,0x9e,0xa6,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c,0x7e,0x01,0x12, -0x39,0xa9,0x90,0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02,0xf0,0x90,0x9e, -0xad,0x14,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x0c,0x50,0x11,0x7d,0x01,0x7f,0x0c, -0x12,0x4c,0x84,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x03,0x12,0x56,0x83,0x22,0xe4,0x90, -0x9f,0x0c,0xf0,0xa3,0xf0,0x90,0x01,0xeb,0xe0,0x54,0xc0,0x60,0x43,0xc3,0x90,0x9f, -0x0d,0xe0,0x94,0x88,0x90,0x9f,0x0c,0xe0,0x94,0x13,0x40,0x0a,0x90,0x01,0xc6,0xe0, -0x44,0x04,0xf0,0x7f,0x00,0x22,0x90,0x9f,0x0c,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54, -0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b,0xd3,0x90,0x9f,0x0d,0xe0,0x94,0x64,0x90,0x9f, -0x0c,0xe0,0x94,0x00,0x40,0xbf,0x90,0x01,0xc7,0xe0,0x30,0xe2,0xb8,0x7f,0x00,0x22, -0x7f,0x01,0x22,0x91,0xea,0xef,0x64,0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01,0xf0, -0x80,0x4a,0xe5,0x6b,0x54,0x03,0x60,0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x3c, -0xe5,0x69,0x54,0x0f,0xd3,0x94,0x02,0x40,0x08,0x90,0x01,0xb9,0x74,0x04,0xf0,0x80, -0x2b,0xe5,0x6b,0x30,0xe2,0x08,0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x1e,0xe5,0x6b, -0x30,0xe4,0x08,0x90,0x01,0xb9,0x74,0x10,0xf0,0x80,0x11,0x90,0x9e,0xa3,0xe0,0x60, -0x08,0x90,0x01,0xb9,0x74,0x20,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74, -0x04,0xf0,0x7f,0x00,0x22,0x90,0x01,0x3c,0x74,0xff,0xf0,0xa3,0xf0,0xa3,0xf0,0x90, -0x01,0x34,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xfd,0x7f,0x54,0x12,0x4f,0x89,0x7d, -0xff,0x7f,0x55,0x12,0x4f,0x89,0x7d,0xff,0x7f,0x56,0x12,0x4f,0x89,0x7d,0xff,0x7f, -0x57,0x02,0x4f,0x89,0x90,0x00,0xf3,0xe0,0x7f,0x00,0x30,0xe3,0x03,0x7f,0x01,0x22, -0x22,0xe4,0x90,0x9e,0x69,0xf0,0xa3,0xf0,0x90,0x01,0x98,0xe0,0x7f,0x00,0x30,0xe4, -0x02,0x7f,0x01,0xef,0x64,0x01,0x60,0x3e,0xc3,0x90,0x9e,0x6a,0xe0,0x94,0x88,0x90, -0x9e,0x69,0xe0,0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0,0x44,0x80,0xf0,0x22,0x90, -0x9e,0x69,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b, -0xd3,0x90,0x9e,0x6a,0xe0,0x94,0x32,0x90,0x9e,0x69,0xe0,0x94,0x00,0x40,0xb9,0x90, -0x01,0xc7,0xe0,0x30,0xe0,0xb2,0x22,0x90,0x01,0x94,0xe0,0x44,0x01,0xf0,0x22,0x90, -0x01,0x01,0xe0,0x44,0x04,0xf0,0x90,0x01,0x9c,0x74,0x7e,0xf0,0xa3,0x74,0x92,0xf0, -0xa3,0x74,0xa0,0xf0,0xa3,0x74,0x24,0xf0,0x90,0x01,0x9b,0x74,0x49,0xf0,0x90,0x01, -0x9a,0x74,0xe0,0xf0,0x90,0x01,0x99,0xe4,0xf0,0x90,0x01,0x98,0x04,0xf0,0x22,0xc0, -0xe0,0xc0,0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x05,0xc0,0x06,0xc0,0x07, -0x7d,0xbf,0x90,0x01,0xc4,0xed,0xf0,0x74,0x60,0xff,0xa3,0xf0,0x53,0x91,0xef,0x90, -0x00,0x51,0xe0,0xfe,0x90,0x00,0x55,0xe0,0x5e,0xf5,0x3d,0xe5,0x3d,0x30,0xe6,0x03, -0x74,0x40,0xf0,0xe5,0x3d,0x30,0xe7,0x06,0x90,0x00,0x55,0x74,0x80,0xf0,0x90,0x01, -0xc4,0xed,0xf0,0xa3,0xef,0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0xd0,0xd0,0x82, -0xd0,0x83,0xd0,0xe0,0x32,0x8f,0x1f,0x8c,0x20,0x8d,0x21,0x22,0x8f,0x22,0x8c,0x23, -0x8d,0x24,0x22,0xe4,0x90,0x9e,0x69,0xf0,0xa3,0xf0,0x90,0x02,0x86,0xe0,0x20,0xe1, -0x2c,0xc3,0x90,0x9e,0x6a,0xe0,0x94,0xd0,0x90,0x9e,0x69,0xe0,0x94,0x07,0x40,0x0a, -0x90,0x01,0xc6,0xe0,0x44,0x20,0xf0,0x7f,0x00,0x22,0x90,0x9e,0x69,0xe4,0x75,0xf0, -0x01,0x12,0x42,0x54,0x7f,0x0a,0x7e,0x00,0x12,0x3b,0x3b,0x80,0xcd,0x7f,0x01,0x22, -0xe4,0xf5,0x67,0xf5,0x6b,0xf5,0x6a,0x75,0x69,0x0c,0x75,0x68,0x0c,0x90,0x9e,0xb0, -0xf0,0x90,0x9e,0xae,0xf0,0x90,0x9e,0xad,0xf0,0x90,0x9e,0xaf,0x04,0xf0,0x90,0x9e, -0xa1,0xf0,0xe4,0x90,0x9e,0xb1,0xf0,0x90,0x9e,0xa3,0xf0,0x90,0x9e,0xab,0x74,0x07, -0xf0,0xe4,0x90,0x9e,0xa2,0xf0,0x90,0x9e,0xa9,0xf0,0xa3,0x74,0x0b,0xf0,0x90,0x9e, -0xa7,0x74,0x01,0xf0,0xa3,0x74,0x03,0xf0,0x90,0x9e,0xa6,0x74,0x14,0xf0,0x90,0x9e, -0xac,0x74,0x05,0xf0,0xe4,0x90,0x9e,0xa5,0xf0,0x90,0x9e,0xa0,0xf0,0x90,0x9e,0x9c, -0xf0,0x90,0x9e,0xb2,0xf0,0x22,0xe4,0x90,0x9e,0xb1,0xf0,0x90,0x9e,0xa2,0xf0,0xf5, -0x6b,0x22,0xef,0xb4,0x01,0x07,0x7d,0xc8,0x7f,0x02,0x02,0x3a,0x71,0x7d,0x60,0x7f, -0x02,0x12,0x3a,0x54,0x90,0x01,0x3d,0x74,0x04,0xf0,0xa3,0x74,0xc8,0xf0,0x7d,0x04, -0x7f,0x01,0x12,0x3a,0xdf,0x7d,0xc8,0x7f,0x02,0x02,0x3a,0xdf,0xe5,0x57,0x60,0x08, -0x90,0x01,0xb9,0x74,0x01,0xf0,0x80,0x61,0xe5,0x69,0x54,0x0f,0xd3,0x94,0x01,0x40, -0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x50,0x90,0x02,0x87,0xe0,0x60,0x08,0x90, -0x01,0xb9,0x74,0x04,0xf0,0x80,0x42,0x90,0x9e,0x9b,0xe0,0xb4,0x01,0x10,0x90,0x9e, -0x82,0xe0,0xfe,0xa3,0xe0,0xf5,0x82,0x8e,0x83,0xe0,0x60,0x1c,0x80,0x2b,0x90,0x9e, -0x9b,0xe0,0x70,0x14,0x90,0x9d,0xa9,0xe0,0xff,0x90,0x9d,0xa8,0xe0,0x6f,0x60,0x08, -0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x11,0x90,0x9e,0xa5,0xe0,0x70,0x08,0x90,0x01, -0xb9,0x74,0x10,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x02,0xf0,0x7f, -0x00,0x22,0x90,0x06,0x04,0xe0,0x54,0xbf,0xf0,0xef,0x60,0x0a,0xe5,0x67,0xb4,0x01, -0x05,0xe4,0xff,0x12,0x47,0xd6,0x53,0x68,0xf0,0x43,0x68,0x0c,0x90,0x9e,0xd1,0xe0, -0x30,0xe0,0x07,0x90,0x05,0x27,0xe0,0x54,0x7f,0xf0,0x22,0x7f,0x01,0x51,0x72,0xe4, -0x90,0x9e,0xd2,0xf0,0x22,0x90,0x9e,0xd2,0xe0,0xfe,0x6f,0x70,0x02,0x81,0x59,0xef, -0x12,0x43,0x87,0x62,0xcc,0x00,0x63,0x00,0x01,0x63,0x3e,0x02,0x63,0x77,0x03,0x63, -0xae,0x04,0x63,0xe6,0x05,0x64,0x20,0x06,0x00,0x00,0x64,0x59,0xee,0xb4,0x04,0x04, -0x7f,0x01,0x81,0x8e,0x90,0x9e,0xd2,0xe0,0xff,0xb4,0x05,0x02,0x81,0x63,0xef,0xb4, -0x06,0x06,0x7f,0x01,0x91,0x78,0x80,0x16,0x90,0x9e,0xd2,0xe0,0xb4,0x03,0x06,0x7f, -0x01,0x91,0x5a,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x02,0x02,0x91,0x6d,0x80,0x9b, -0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01,0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2, -0xe0,0xb4,0x05,0x02,0x91,0x63,0x90,0x9e,0xd2,0xe0,0x70,0x02,0x81,0xa6,0x90,0x9e, -0xd2,0xe0,0xfe,0xb4,0x06,0x04,0x7f,0x01,0x81,0x78,0xee,0xb4,0x03,0x04,0x7f,0x01, -0x81,0x5a,0x90,0x9e,0xd2,0xe0,0x64,0x02,0x60,0x02,0x81,0x59,0x81,0x6d,0x90,0x9e, -0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01,0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4, -0x05,0x02,0x91,0x63,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x91,0xa6,0x80,0x16,0x90,0x9e, -0xd2,0xe0,0xfe,0xb4,0x06,0x06,0x7f,0x01,0x91,0x78,0x80,0x08,0xee,0xb4,0x03,0x04, -0x7f,0x01,0x91,0x5a,0x02,0x8b,0xba,0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01, -0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x05,0x02,0x91,0x63,0x90,0x9e,0xd2, -0xe0,0x70,0x04,0x91,0xa6,0x80,0x14,0x90,0x9e,0xd2,0xe0,0xfe,0xb4,0x06,0x06,0xe4, -0xff,0x91,0x78,0x80,0x06,0xee,0xb4,0x02,0x02,0x91,0x6d,0x02,0x68,0x4a,0x90,0x9e, -0xd2,0xe0,0xfe,0xb4,0x06,0x06,0xe4,0xff,0x91,0x78,0x80,0x13,0xee,0xb4,0x03,0x06, -0x7f,0x01,0x91,0x5a,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x02,0x02,0x91,0x6d,0x90, -0x9e,0xd2,0xe0,0xb4,0x01,0x04,0x51,0x9b,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x05, -0x02,0x91,0x63,0x02,0x6a,0x3b,0x90,0x9e,0xd2,0xe0,0xfe,0xb4,0x06,0x06,0xe4,0xff, -0x91,0x78,0x80,0x13,0xee,0xb4,0x03,0x06,0x7f,0x01,0x91,0x5a,0x80,0x09,0x90,0x9e, -0xd2,0xe0,0xb4,0x02,0x02,0x91,0x6d,0x90,0x9e,0xd2,0xe0,0xb4,0x01,0x04,0x51,0x9b, -0x80,0x0b,0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x04,0x7f,0x01,0x91,0x8e,0x02,0x8b,0xad, -0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01,0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2, -0xe0,0xb4,0x05,0x02,0x91,0x63,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x91,0xa6,0x80,0x16, -0x90,0x9e,0xd2,0xe0,0xb4,0x03,0x06,0xe4,0xff,0x91,0x5a,0x80,0x09,0x90,0x9e,0xd2, -0xe0,0xb4,0x02,0x02,0x91,0x6d,0x12,0x8b,0xc7,0x22,0xf1,0x85,0x90,0x9e,0xd2,0x74, -0x01,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd2,0xf0,0x22,0x90,0x05,0x22, -0xe4,0xf0,0x90,0x9e,0xd2,0x04,0xf0,0x22,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0xef, -0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd2,0x74,0x01,0xf0,0x22,0x90,0x9f, -0x18,0xef,0xf0,0xf1,0x9e,0x90,0x9f,0x18,0xe0,0x60,0x05,0x90,0x05,0x22,0xe4,0xf0, -0xe4,0x90,0x9e,0xd2,0xf0,0x22,0x12,0x68,0x03,0x90,0x9e,0xd2,0x74,0x01,0xf0,0x22, -0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0x74,0x12,0x43,0x7e,0xe4,0x90,0x9e, -0x77,0xf0,0x12,0x1f,0x04,0xc3,0x13,0x20,0xe0,0x02,0xc1,0x06,0x90,0x9e,0x74,0x12, -0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xd7,0xe0,0x54,0xfd,0x4e, -0xfe,0xf0,0xef,0x54,0x01,0xff,0xee,0x54,0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe, -0x54,0x08,0xfd,0xef,0x54,0xf7,0x4d,0xff,0x90,0x9e,0xd7,0xf0,0xee,0x54,0x10,0xfe, -0xef,0x54,0xef,0x4e,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54,0x20,0xfd,0xef,0x54,0xdf, -0x4d,0xff,0x90,0x9e,0xd7,0xf0,0xee,0x54,0x40,0xfe,0xef,0x54,0xbf,0x4e,0xf0,0x20, -0xe0,0x02,0xa1,0xf5,0xf1,0x5a,0x90,0x9e,0x77,0x74,0x21,0xf0,0x90,0x9e,0x74,0x12, -0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x54,0x01,0xfe,0x90,0x9e,0xd7,0xe0,0xfd, -0x13,0x13,0x54,0x01,0x6e,0x60,0x31,0xef,0x54,0x04,0xff,0xed,0x54,0xfb,0x4f,0xf0, -0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x15,0x90,0x01,0x34,0x74,0x40,0xf0,0xfd,0xe4, -0xff,0x12,0x3a,0xc5,0x90,0x9e,0x77,0xe0,0x44,0x08,0xf0,0x80,0x0b,0xe4,0x90,0x9e, -0xd9,0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54,0x90,0x9e,0xd7,0xe0,0xfd,0x13,0x13,0x13, -0x54,0x1f,0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x12,0xf0,0xed,0xc4,0x54,0x0f, -0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x14,0xf0,0x90,0x9e,0xd7,0xe0,0xc4,0x13, -0x54,0x07,0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x80,0xf0,0x90,0x9e,0xd7,0xe0, -0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x40,0xf0,0x90, -0x9e,0x77,0xe0,0x90,0x05,0x27,0xf0,0x90,0x9e,0xd8,0xe0,0x70,0x05,0x7f,0x01,0x12, -0x68,0x90,0x90,0x9e,0xd7,0xe0,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x04,0x7f,0x03, -0x80,0x0e,0x7f,0x01,0x12,0x56,0x0b,0xef,0x60,0x04,0x7f,0x01,0x80,0x02,0x7f,0x02, -0x12,0x68,0x90,0xe1,0x55,0x90,0x9e,0x77,0x74,0x01,0xf0,0x90,0x05,0x27,0xf0,0xe4, -0xff,0x12,0x68,0x90,0xe1,0x53,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff, -0x54,0x02,0xfe,0x90,0x9e,0xd1,0xe0,0x54,0xfd,0x4e,0xfe,0xf0,0xef,0x54,0x01,0xff, -0xee,0x54,0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54,0x08,0xfd,0xef,0x54,0xf7, -0x4d,0xff,0x90,0x9e,0xd1,0xf0,0xee,0x54,0x10,0xfe,0xef,0x54,0xef,0x4e,0xff,0xf0, -0x12,0x1f,0x04,0x54,0x40,0xfe,0xef,0x54,0xbf,0x4e,0x90,0x9e,0xd1,0xf0,0x20,0xe0, -0x02,0xe1,0x26,0xf1,0x5a,0x90,0x9e,0x77,0x74,0x31,0xf0,0x90,0x9e,0x74,0x12,0x43, -0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x54,0x01,0xfe,0x90,0x9e,0xd1,0xe0,0xfd,0x13, -0x13,0x54,0x01,0x6e,0x60,0x31,0xef,0x54,0x04,0xff,0xed,0x54,0xfb,0x4f,0xf0,0xe0, -0x13,0x13,0x54,0x3f,0x30,0xe0,0x15,0x90,0x01,0x34,0x74,0x40,0xf0,0xfd,0xe4,0xff, -0x12,0x3a,0xc5,0x90,0x9e,0x77,0xe0,0x44,0x08,0xf0,0x80,0x0b,0xe4,0x90,0x9e,0xd3, -0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54,0x90,0x9e,0xd1,0xe0,0xfd,0x13,0x13,0x13,0x54, -0x1f,0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x02,0xf0,0xed,0xc4,0x54,0x0f,0x30, -0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x04,0xf0,0x90,0x9e,0x77,0xe0,0x54,0x0e,0x60, -0x0c,0x90,0x01,0x3e,0x74,0x03,0xf0,0xfd,0x7f,0x02,0x12,0x3a,0xdf,0x90,0x9e,0x77, -0xe0,0x90,0x05,0x27,0xf0,0x90,0x9e,0xd1,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30, -0xe0,0x0c,0xa3,0xe0,0x64,0x06,0x60,0x5d,0x7f,0x06,0x51,0xa5,0x80,0x57,0x90,0x05, -0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xd2,0xe0,0xb4,0x06,0x15,0x7f,0x01,0x51,0xa5, -0xe4,0xff,0x12,0x56,0x0b,0xef,0x60,0x05,0x12,0x4c,0x80,0x80,0x04,0xf1,0xbb,0x80, -0x34,0x12,0x56,0x83,0x80,0x2f,0x90,0x9e,0x77,0x74,0x01,0xf0,0x90,0x05,0x27,0xf0, -0x7d,0x03,0x7f,0x02,0x12,0x3a,0x71,0x90,0x9e,0xd2,0xe0,0xb4,0x06,0x04,0x7f,0x01, -0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x04,0xe4,0xff,0x51,0xa5,0x12,0x56,0x52, -0x12,0x44,0xe8,0xf1,0x5a,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0xd7,0xe0,0x54,0xfe, -0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x90, -0x9e,0xd1,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0xf0,0x22,0x90,0x9f,0x15,0xef,0xf0,0xf1,0x9e,0x90,0x9f,0x15,0xe0, -0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0x53,0x68,0xf0,0x43,0x68,0x04,0x22,0x90,0x01, -0x01,0xe0,0x44,0x02,0xf0,0x90,0x01,0x00,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x44, -0x01,0xf0,0x12,0x4e,0x94,0x90,0x01,0xba,0xe4,0xf0,0x22,0x90,0x9e,0xa3,0xe0,0x60, -0x16,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x7f,0x05,0x80,0x1f,0x90,0x9e,0xd2,0xe0,0x64, -0x01,0x70,0x19,0x7f,0x02,0x80,0x13,0x90,0x9e,0xd2,0xe0,0xb4,0x01,0x04,0x7f,0x03, -0x80,0x08,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x7f,0x04,0x51,0xa5,0x22,0xf1,0x9e,0x90, -0x05,0x22,0x74,0x6f,0xf0,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x9e,0xd8,0x74, -0x03,0xf0,0x22,0x90,0x06,0x04,0xe0,0x44,0x40,0xf0,0xe5,0x67,0xb4,0x01,0x05,0x7f, -0x01,0x12,0x47,0xd6,0x53,0x68,0xf0,0x43,0x68,0x04,0x90,0x9e,0xd1,0xe0,0x30,0xe0, -0x07,0x90,0x05,0x27,0xe0,0x44,0x80,0xf0,0x22,0x90,0x01,0x37,0x74,0x02,0xf0,0x31, -0xe2,0xef,0x70,0x06,0x90,0x01,0xc8,0x74,0xfd,0xf0,0x7d,0x02,0x7f,0x03,0x12,0x3a, -0xc5,0x11,0x59,0x53,0x68,0xf0,0x43,0x68,0x02,0x22,0x11,0x29,0x90,0x9e,0xd2,0x74, -0x03,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x54,0xfe,0xf0, -0x12,0x4e,0x94,0x90,0x01,0x00,0x74,0x3f,0xf0,0xa3,0xe0,0x54,0xfd,0xf0,0x90,0x05, -0x53,0xe0,0x44,0x20,0xf0,0x90,0x01,0xba,0x74,0xcc,0xf0,0x22,0x31,0xe2,0xef,0x70, -0x06,0x90,0x01,0xc8,0x74,0xfd,0xf0,0x11,0x59,0x90,0x9e,0xd8,0x74,0x02,0xf0,0x22, -0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xd8,0xe0,0x90,0x9f,0x17,0xf0,0x6f, -0x70,0x02,0x21,0x5c,0xef,0x14,0x60,0x3b,0x14,0x60,0x5f,0x14,0x70,0x02,0x21,0x35, -0x24,0x03,0x60,0x02,0x21,0x5c,0x90,0x9f,0x17,0xe0,0xb4,0x03,0x04,0x31,0x7d,0x21, -0x5c,0x90,0x9f,0x17,0xe0,0xb4,0x02,0x04,0x31,0x95,0x21,0x5c,0x90,0x9f,0x17,0xe0, -0xb4,0x04,0x04,0x31,0x99,0x21,0x5c,0x90,0x9f,0x17,0xe0,0x64,0x01,0x70,0x7d,0x31, -0x7f,0x80,0x79,0x90,0x9f,0x17,0xe0,0xff,0xb4,0x03,0x04,0x31,0xcf,0x80,0x6d,0xef, -0xb4,0x02,0x04,0x31,0xb1,0x80,0x65,0x90,0x9f,0x17,0xe0,0xff,0xb4,0x04,0x04,0x31, -0xa6,0x80,0x59,0xef,0x70,0x56,0x31,0x6a,0x80,0x52,0x90,0x9f,0x17,0xe0,0xb4,0x03, -0x04,0x31,0xbf,0x80,0x47,0x90,0x9f,0x17,0xe0,0xb4,0x01,0x04,0x11,0x7c,0x80,0x3c, -0x90,0x9f,0x17,0xe0,0xb4,0x04,0x04,0x31,0x9d,0x80,0x31,0x90,0x9f,0x17,0xe0,0x70, -0x2b,0x31,0x61,0x80,0x27,0x90,0x9f,0x17,0xe0,0xff,0xb4,0x01,0x05,0x12,0x67,0xef, -0x80,0x1a,0xef,0xb4,0x02,0x05,0x12,0x67,0xed,0x80,0x11,0x90,0x9f,0x17,0xe0,0xff, -0xb4,0x04,0x04,0x51,0x29,0x80,0x05,0xef,0x70,0x02,0x31,0x65,0xd0,0xd0,0x92,0xaf, -0x22,0x31,0x6a,0x01,0x7c,0x31,0x6a,0x02,0x67,0xef,0x90,0x01,0x3e,0x74,0x03,0xf0, -0xfd,0x7f,0x02,0x12,0x3a,0xdf,0x90,0x9e,0xd8,0x74,0x01,0xf0,0x22,0x31,0xcf,0x7d, -0x03,0x7f,0x02,0x12,0x3a,0x71,0x90,0x05,0x27,0xe4,0xf0,0xe0,0x54,0xbf,0xf0,0xe4, -0x90,0x9e,0xd8,0xf0,0x22,0x31,0xb1,0x80,0xe6,0x31,0xa6,0x80,0xe2,0x11,0x59,0x90, -0x9e,0xd8,0x74,0x02,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd8,0x04,0xf0, -0x22,0x12,0x67,0x9e,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd8,0x04,0xf0,0x22,0x90, -0x05,0x27,0xe0,0x44,0x40,0xf0,0x11,0x53,0x90,0x9e,0xd8,0x74,0x02,0xf0,0x22,0x90, -0x05,0x22,0xe4,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xd8,0x74,0x01, -0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0xe4,0x90,0x9f,0x0e,0xf0,0xa3,0xf0,0x90, -0x05,0xf8,0xe0,0x70,0x0f,0xa3,0xe0,0x70,0x0b,0xa3,0xe0,0x70,0x07,0xa3,0xe0,0x70, -0x03,0x7f,0x01,0x22,0xd3,0x90,0x9f,0x0f,0xe0,0x94,0xe8,0x90,0x9f,0x0e,0xe0,0x94, -0x03,0x40,0x03,0x7f,0x00,0x22,0x7f,0x32,0x7e,0x00,0x12,0x3b,0x3b,0x90,0x9f,0x0e, -0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x80,0xc6,0x02,0x67,0xef,0x31,0x6a,0x90,0x05, -0x22,0x74,0xff,0xf0,0x90,0x9e,0xd8,0x74,0x04,0xf0,0x22,0x11,0x53,0x90,0x9e,0xd2, -0x74,0x04,0xf0,0x22,0x8f,0x25,0xe4,0x90,0x9f,0x0a,0xf0,0xa3,0xf0,0x90,0x01,0x09, -0xe0,0x7f,0x00,0x30,0xe7,0x02,0x7f,0x01,0xef,0x65,0x25,0x60,0x3e,0xc3,0x90,0x9f, -0x0b,0xe0,0x94,0x88,0x90,0x9f,0x0a,0xe0,0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0, -0x44,0x80,0xf0,0x22,0x90,0x9f,0x0a,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14, -0x7e,0x00,0x12,0x3b,0x3b,0xd3,0x90,0x9f,0x0b,0xe0,0x94,0x32,0x90,0x9f,0x0a,0xe0, -0x94,0x00,0x40,0xb9,0x90,0x01,0xc7,0xe0,0x30,0xe0,0xb2,0x22,0x90,0x9e,0x9b,0xe0, -0xb4,0x01,0x04,0x7d,0x91,0x80,0x0c,0x90,0x9e,0x9b,0xe0,0x70,0x04,0x7d,0x90,0x80, -0x02,0xe4,0xfd,0x7f,0x93,0x12,0x4f,0x89,0x90,0x00,0x29,0xe0,0x54,0x3f,0xfd,0x7f, -0x29,0x12,0x4f,0x89,0x90,0x00,0x28,0xe0,0x54,0xfc,0xfd,0x7f,0x28,0x12,0x4f,0x89, -0x90,0x00,0x08,0xe0,0x44,0x10,0xfd,0x7f,0x08,0x12,0x4f,0x89,0x7f,0x01,0x51,0x44, -0x90,0x00,0x00,0xe0,0x44,0x20,0xfd,0xe4,0xff,0x12,0x4f,0x89,0x90,0x00,0x20,0xe0, -0x54,0xfe,0xfd,0x7f,0x20,0x12,0x4f,0x89,0x90,0x00,0x90,0xe0,0x44,0x01,0xfd,0x7f, -0x90,0x12,0x4f,0x89,0x7f,0x14,0x7e,0x00,0x02,0x3b,0x3b,0x53,0x68,0xf0,0x43,0x68, -0x01,0x51,0x9c,0x12,0x4f,0x9e,0x53,0x68,0xf0,0x43,0x68,0x02,0x22,0xe5,0x69,0x30, -0xe6,0x19,0xe5,0x69,0x54,0x0f,0xff,0x90,0x9e,0x9f,0xe0,0xfe,0x4f,0x90,0x01,0x2f, -0xf0,0xee,0x64,0x80,0x90,0x9e,0x9f,0xf0,0x53,0x69,0xbf,0x22,0x8f,0x26,0x12,0x4f, -0xf8,0xef,0x64,0x01,0x70,0x2e,0x90,0x9e,0x98,0x12,0x50,0x26,0xe5,0x26,0x60,0x10, -0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e, -0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0x90,0x04, -0x1f,0x74,0x20,0xf0,0x22,0x90,0x06,0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0,0x54,0xc0, -0x70,0x09,0x53,0x6b,0xfe,0x53,0x6b,0xfd,0x02,0x44,0xe8,0x90,0x9e,0x52,0xe0,0x30, -0xe6,0x1e,0x90,0x9e,0xa0,0xe0,0x70,0x08,0x43,0x6b,0x01,0x12,0x56,0x19,0x80,0x13, -0x90,0x9e,0xb0,0xe0,0xb4,0x01,0x0c,0x43,0x6b,0x04,0x7f,0x01,0x71,0x3c,0x80,0x03, -0x53,0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x23,0x43,0x6b,0x02,0xe4,0xf5,0x48, -0x90,0x9e,0xa8,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9, -0x90,0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0xb1,0x74,0x01,0xf0,0x22,0x53,0x6b,0xfd, -0x22,0xe5,0x67,0x64,0x01,0x70,0x66,0xe5,0x6a,0x60,0x62,0xe5,0x6a,0x64,0x02,0x60, -0x06,0xe5,0x6a,0x64,0x05,0x70,0x27,0x90,0x06,0xab,0xe0,0x90,0x9e,0xa1,0xf0,0x90, -0x06,0xaa,0xe0,0x90,0x9e,0xaf,0xf0,0x90,0x9e,0xa1,0xe0,0x70,0x07,0x90,0x9e,0xaf, -0xe0,0xff,0x80,0x05,0x90,0x9e,0xa1,0xe0,0xff,0x90,0x9e,0xa1,0xef,0xf0,0x90,0x9e, -0xa3,0xe0,0x60,0x03,0xe0,0x14,0xf0,0xe4,0x90,0x9e,0xa2,0xf0,0x90,0x01,0x57,0xf0, -0x90,0x01,0x3c,0x74,0x02,0xf0,0x53,0x6b,0xfd,0x53,0x6b,0xef,0xe5,0x6a,0x14,0x24, -0xfd,0x50,0x06,0x24,0xfd,0x50,0x04,0x80,0x04,0x80,0x03,0x71,0x75,0x22,0x90,0x06, -0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0,0x54,0xc0,0x70,0x09,0x53,0x6b,0xfe,0x53,0x6b, -0xfd,0x12,0x44,0xe8,0x90,0x9e,0x52,0xe0,0x30,0xe6,0x15,0x43,0x6b,0x01,0x90,0x9e, -0xb0,0xe0,0x64,0x02,0x60,0x05,0x12,0x56,0x19,0x80,0x08,0x12,0x5e,0xf4,0x80,0x03, -0x53,0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x23,0x43,0x6b,0x02,0xe4,0xf5,0x48, -0x90,0x9e,0xa8,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9, -0x90,0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0xb1,0x74,0x01,0xf0,0x22,0x53,0x6b,0xfd, -0x22,0xe5,0x6a,0x60,0x39,0x90,0x9e,0xb1,0xe0,0x60,0x0d,0xe4,0xf0,0x53,0x6b,0xfd, -0xe5,0x6b,0x54,0x07,0x70,0x28,0x80,0x23,0x90,0x9e,0xa2,0xe0,0x04,0xf0,0x53,0x6b, -0xef,0x90,0x9e,0xa7,0xe0,0xff,0x90,0x9e,0xa2,0xe0,0xd3,0x9f,0x40,0x0d,0xe5,0x67, -0xb4,0x01,0x0b,0xa3,0xe0,0x70,0x07,0xe0,0x04,0xf0,0x22,0x12,0x44,0xe8,0x22,0xd3, -0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xf8,0x12,0x43,0x7e,0x90,0x9e,0xfb,0xe0, -0x54,0xf0,0x44,0x06,0xff,0xf0,0xed,0x54,0x0f,0xc4,0x54,0xf0,0xfe,0xef,0x54,0x0f, -0x4e,0xf0,0x90,0x9e,0xf8,0x12,0x43,0x5e,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7b,0x01, -0x7a,0x9e,0x79,0xfb,0x12,0x48,0xde,0xd0,0xd0,0x92,0xaf,0x22,0xe0,0xfd,0x74,0x26, -0x25,0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xed,0xf0,0xaf,0x13,0xd3,0x10,0xaf, -0x01,0xc3,0xc0,0xd0,0xef,0xc3,0x94,0x20,0x50,0x0e,0x74,0x84,0x2f,0xf5,0x82,0xe4, -0x34,0x04,0xf5,0x83,0xed,0xf0,0x80,0x29,0x74,0xa6,0x2f,0xf5,0x82,0xe4,0x34,0x9c, -0xf5,0x83,0xed,0xf0,0x90,0x9e,0xc4,0xef,0xf0,0x24,0xa6,0xf5,0x82,0xe4,0x34,0x9c, -0xf5,0x83,0xe0,0x90,0x9e,0xc5,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0xc4,0x7d,0x02,0x91, -0xef,0xd0,0xd0,0x92,0xaf,0x22,0x8f,0x0a,0x8d,0x0b,0xe5,0x0b,0x54,0x1f,0xf5,0x10, -0x74,0x01,0x2f,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0,0xf5,0x0e,0x90,0x04,0xfd, -0xe0,0xb4,0x01,0x05,0x75,0x11,0x03,0x80,0x03,0x75,0x11,0x01,0xeb,0xc3,0x95,0x11, -0x40,0x04,0xaf,0x0a,0x80,0x33,0xe5,0x0e,0x25,0x0d,0xf5,0x0f,0xe5,0x10,0x90,0x41, -0xdc,0x93,0xff,0xe5,0x0f,0xd3,0x9f,0x74,0x01,0x40,0x11,0x25,0x0a,0xf5,0x82,0xe4, -0x34,0x94,0xf5,0x83,0xe4,0xf0,0xad,0x0b,0xaf,0x0a,0xa1,0x3d,0x25,0x0a,0xf5,0x82, -0xe4,0x34,0x94,0xf5,0x83,0xe5,0x0f,0xf0,0x22,0xad,0x07,0x75,0xf0,0x09,0xed,0x90, -0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5, -0x83,0xe0,0x54,0x1f,0xf5,0x12,0xd3,0x9f,0x40,0x02,0x8f,0x12,0xe5,0x12,0x25,0xe0, -0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93,0xff, -0xe5,0x12,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93, -0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2, -0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x05,0xad,0x12, -0xb1,0x3d,0xaf,0x12,0x22,0xef,0xc3,0x94,0x20,0x50,0x39,0xef,0x30,0xe0,0x17,0xed, -0xc4,0x54,0xf0,0xfd,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x04,0xf5, -0x83,0xe0,0x54,0x0f,0x80,0x10,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34, -0x04,0xf5,0x83,0xe0,0x54,0xf0,0xf0,0x74,0xa4,0x2e,0xf5,0x82,0xe4,0x34,0x04,0xf5, -0x83,0xe0,0x4d,0xf0,0x22,0xad,0x07,0xed,0xc3,0x94,0x20,0x50,0x0d,0x74,0x84,0x2d, -0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b,0x74,0xa6,0x2d,0xf5,0x82,0xe4, -0x34,0x9c,0xf5,0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5,0x1e,0x54,0x1f,0xfc,0x75,0xf0, -0x09,0xed,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x90,0x9e,0x73,0xf0,0xed,0x25, -0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e, -0x74,0xcb,0xf0,0xa3,0xeb,0xf0,0xed,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b, -0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x76,0xcb,0xf0,0xa3,0xeb,0xf0,0xec,0x25, -0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfa,0x74,0x01,0x93, -0xfb,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xea,0xf0,0xa3, -0xeb,0xf0,0xec,0xc3,0x9f,0x40,0x02,0xe1,0xb3,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34, -0x9d,0xf5,0x83,0xec,0xf0,0x04,0xfb,0x90,0x9e,0x73,0xe0,0xff,0xeb,0xd3,0x9f,0x40, -0x02,0xe1,0xe4,0xeb,0xc3,0x94,0x10,0x40,0x21,0xeb,0x24,0xf0,0xff,0x74,0x01,0x7e, -0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e, -0x74,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x70,0x23,0xeb,0xc3,0x94,0x10,0x50,0x40, -0x74,0x01,0x7e,0x00,0xa8,0x03,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9, -0xff,0x90,0x9e,0x76,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x23,0xbb,0x11,0x09, -0x90,0x9e,0x75,0xe0,0x30,0xe7,0x02,0x7b,0x17,0xeb,0x64,0x13,0x60,0x03,0xbb,0x12, -0x09,0x90,0x9e,0x74,0xe0,0x30,0xe0,0x02,0x7b,0x18,0xac,0x03,0x8c,0x1e,0x80,0x34, -0x0b,0x80,0x84,0x90,0x9e,0x73,0xe0,0xfb,0x6c,0x70,0x69,0x74,0x67,0x2d,0xf5,0x82, -0xe4,0x34,0x9d,0xf5,0x83,0xec,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a,0x12,0x43, -0x52,0xe0,0xb4,0x01,0x0c,0xe5,0x1e,0x20,0xe6,0x07,0xec,0x44,0x40,0xf5,0x1e,0x80, -0x03,0xaf,0x1e,0x22,0xec,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83, -0xe4,0x93,0xfe,0x74,0x01,0x93,0xff,0xec,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34, -0x41,0xf5,0x83,0x74,0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13, -0xff,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3, -0xef,0xf0,0x80,0x5b,0xec,0xd3,0x9b,0x40,0x56,0x90,0x9e,0x73,0xe0,0xff,0x74,0x67, -0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xef,0xf0,0xac,0x07,0x8f,0x1e,0xec,0x25, -0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93, -0xff,0xec,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93, -0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2, -0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x1e,0x22,0x74, -0x01,0x2d,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe4,0xf0,0xaf,0x05,0xe5,0x1e,0x44, -0x80,0xfd,0x12,0x6d,0x3d,0xe5,0x1e,0x44,0x80,0xff,0x22,0xac,0x07,0xec,0xc3,0x94, -0x20,0x50,0x0d,0x74,0x84,0x2c,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b, -0x74,0xa6,0x2c,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5, -0x1e,0x54,0x1f,0xff,0x90,0x9e,0x75,0xf0,0x75,0xf0,0x09,0xec,0x90,0x96,0x49,0x12, -0x43,0x52,0xe0,0x90,0x9e,0x77,0xf0,0x75,0xf0,0x09,0xec,0x90,0x96,0x48,0x12,0x43, -0x52,0xe0,0xfe,0x90,0x9e,0x78,0xf0,0xec,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34, -0x9b,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x79,0xcb,0xf0,0xa3,0xeb,0xf0,0xec, -0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90, -0x9e,0x7b,0xcb,0xf0,0xa3,0xeb,0xf0,0xef,0xd3,0x9e,0x40,0x0a,0x90,0x9e,0x78,0xe0, -0x90,0x9e,0x75,0xf0,0xf5,0x1e,0xed,0x70,0x02,0x21,0xf1,0x90,0x9e,0x76,0xed,0xf0, -0xe5,0x1e,0x30,0xe6,0x0a,0x90,0x9e,0x75,0xe0,0xf5,0x1e,0xa3,0xe0,0x14,0xf0,0x90, -0x9e,0x76,0xe0,0x70,0x02,0x21,0xf1,0x90,0x9e,0x75,0xe0,0xff,0xd3,0x94,0x00,0x50, -0x02,0x21,0xf1,0xe4,0x90,0x9e,0x74,0xf0,0xef,0x14,0x90,0x9e,0x73,0xf0,0x90,0x9e, -0x77,0xe0,0xfd,0x90,0x9e,0x73,0xe0,0xff,0xd3,0x9d,0x40,0x6b,0xef,0x94,0x10,0x40, -0x21,0xef,0x24,0xf0,0xff,0x74,0x01,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33, -0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x7b,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e, -0x70,0x27,0x90,0x9e,0x73,0xe0,0xff,0xc3,0x94,0x10,0x50,0x33,0x74,0x01,0x7e,0x00, -0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x79, -0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x16,0x90,0x9e,0x73,0xe0,0xf5,0x1e,0xa3, -0xe0,0x04,0xf0,0x90,0x9e,0x76,0xe0,0xff,0x90,0x9e,0x74,0xe0,0x6f,0x60,0x08,0x90, -0x9e,0x73,0xe0,0x14,0xf0,0x80,0x87,0x90,0x9e,0x76,0xe0,0xff,0x90,0x9e,0x74,0xe0, -0xc3,0x9f,0x50,0x0d,0x90,0x9e,0x73,0xe0,0xb5,0x05,0x06,0x90,0x9e,0x77,0xe0,0xf5, -0x1e,0xe5,0x1e,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93, -0xfe,0x74,0x01,0x93,0xff,0xe5,0x1e,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41, -0xf5,0x83,0x74,0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff, -0xec,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef, -0xf0,0xaf,0x04,0xad,0x1e,0x12,0x6d,0x3d,0xaf,0x1e,0x22,0xe4,0xf5,0x13,0xe5,0x13, -0xb4,0x20,0x14,0x90,0x9a,0xc5,0xe0,0x04,0xf0,0x90,0x95,0x01,0xe0,0xff,0x90,0x9a, -0xc5,0xe0,0xb5,0x07,0x02,0xe4,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4b,0x12, -0x43,0x52,0xe0,0x64,0x01,0x60,0x03,0x02,0x78,0x83,0xe5,0x13,0x25,0xe0,0x24,0x80, -0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0xd3,0x94,0x00,0xee,0x94, -0x00,0x50,0x03,0x02,0x78,0x83,0xe5,0x13,0x94,0x20,0x40,0x09,0x90,0x9a,0xc5,0xe0, -0x60,0x03,0x02,0x78,0x8f,0xe5,0x13,0x75,0xf0,0x0a,0xa4,0x24,0x00,0xf9,0x74,0x90, -0x35,0xf0,0x75,0x18,0x01,0xf5,0x19,0x89,0x1a,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5, -0x82,0xe4,0x34,0x93,0xf5,0x83,0xe0,0xff,0xa3,0xe0,0x90,0x9e,0x6d,0xcf,0xf0,0xa3, -0xef,0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0, -0xff,0xa3,0xe0,0x90,0x9e,0x6f,0xcf,0xf0,0xa3,0xef,0xf0,0xe5,0x13,0xc3,0x94,0x20, -0x50,0x14,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x54,0x3f, -0x90,0x9e,0x69,0xf0,0x80,0x12,0x74,0xa6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5, -0x83,0xe0,0x54,0x3f,0x90,0x9e,0x69,0xf0,0x90,0x9e,0x69,0xe0,0xfe,0x54,0x1f,0xa3, -0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0x90,0x9e,0x72, -0xf0,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xc3,0x94,0x05, -0x40,0x02,0xa1,0x5c,0x90,0x9e,0x72,0xe0,0xff,0x90,0x9e,0x6a,0xe0,0x9f,0x40,0x13, -0x90,0x9e,0x72,0xe0,0x90,0x9e,0x6a,0xf0,0xee,0x54,0x40,0xfe,0x90,0x9e,0x69,0xf0, -0xef,0x4e,0xf0,0x90,0x04,0xfd,0xe0,0x54,0x05,0x64,0x01,0x70,0x29,0x90,0x9e,0x6a, -0xe0,0xff,0x90,0x41,0x50,0x93,0xfe,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a, -0xf5,0x83,0xe0,0xc3,0x9e,0x40,0x06,0xef,0x90,0x40,0xe0,0x80,0x30,0x90,0x9e,0x6a, -0xe0,0x90,0x40,0xfc,0x80,0x27,0x90,0x9e,0x6a,0xe0,0xff,0x90,0x41,0x50,0x93,0xfe, -0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xc3,0x9e,0x40,0x06, -0xef,0x90,0x41,0x18,0x80,0x07,0x90,0x9e,0x6a,0xe0,0x90,0x41,0x34,0x93,0x90,0x9e, -0x71,0xf0,0x90,0x9e,0x71,0xe0,0x75,0xf0,0x06,0xa4,0x24,0x56,0xf9,0x74,0x40,0x35, -0xf0,0x75,0x15,0xff,0xf5,0x16,0x89,0x17,0x90,0x9e,0x69,0xe0,0x90,0x41,0xf8,0x93, -0xff,0xd3,0x90,0x9e,0x70,0xe0,0x9f,0x90,0x9e,0x6f,0xe0,0x94,0x00,0x40,0x09,0xe4, -0xfd,0xaf,0x13,0x11,0x9b,0x02,0x78,0x1a,0xe5,0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82, -0xe4,0x34,0x95,0xf5,0x83,0xe0,0xf5,0x1b,0xa3,0xe0,0xf5,0x1c,0xab,0x15,0xaa,0x16, -0xa9,0x17,0x12,0x1f,0x04,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x12,0x42, -0x6a,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5, -0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x7e,0x00, -0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x02,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12, -0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16, -0xa9,0x17,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9, -0x1a,0x90,0x00,0x04,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c, -0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x03, -0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x06,0x12, -0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b, -0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x7e, -0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x08,0x12,0x42,0x95,0xfd,0xac,0xf0, -0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa, -0x16,0xa9,0x17,0x90,0x00,0x05,0x12,0x1f,0x1d,0xff,0x7e,0x00,0x90,0x9e,0x6d,0xe0, -0xfc,0xa3,0xe0,0xfd,0x12,0x1f,0x4a,0xd3,0xe5,0x1c,0x9f,0xe5,0x1b,0x9e,0x40,0x0c, -0xe5,0x1c,0x9f,0xf5,0x1c,0xe5,0x1b,0x9e,0xf5,0x1b,0x80,0x05,0xe4,0xf5,0x1b,0xf5, -0x1c,0xe5,0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe5,0x1b, -0xf0,0xa3,0xe5,0x1c,0xf0,0x90,0x9e,0x69,0xe0,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4, -0x34,0x41,0xf5,0x83,0xc3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b,0x50,0x07, -0xaf,0x13,0x12,0x6e,0x95,0xe1,0xee,0x90,0x9e,0x69,0xe0,0x25,0xe0,0x24,0xa4,0xf5, -0x82,0xe4,0x34,0x41,0xf5,0x83,0xd3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b, -0x50,0x02,0xe1,0xee,0x7d,0x01,0xaf,0x13,0x11,0x9b,0xe1,0xee,0x74,0xe6,0x25,0x13, -0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xfc,0x64,0x05,0x60,0x02,0xc1,0xf7,0x90, -0x96,0x43,0xe0,0xff,0xb4,0x03,0x0b,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x19,0x40,0x3d, -0x80,0x2e,0xef,0xb4,0x02,0x0b,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x11,0x40,0x2e,0x80, -0x1f,0x90,0x96,0x43,0xe0,0xff,0xb4,0x01,0x0b,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x0a, -0x40,0x1b,0x80,0x0c,0xef,0x70,0x11,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x03,0x40,0x0d, -0x90,0x9a,0x84,0x74,0x01,0xf0,0x80,0x05,0xe4,0x90,0x9a,0x84,0xf0,0x74,0x84,0x25, -0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0x74,0x44,0x25,0x13,0xf5, -0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xc3,0x94,0x30,0x50,0x02,0xc1,0xa4,0x90, -0x9a,0x84,0xe0,0x64,0x01,0x60,0x02,0xc1,0xa4,0x74,0x85,0x25,0x13,0xf5,0x82,0xe4, -0x34,0x9a,0xf5,0x83,0xe0,0x64,0x0a,0x60,0x51,0xef,0x24,0x05,0xff,0xe4,0x33,0xfe, -0x74,0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0,0xfd,0xd3,0x9f,0xee, -0x64,0x80,0xf8,0x74,0x80,0x98,0x50,0x32,0xed,0x24,0x05,0xff,0xe4,0x33,0xfe,0x74, -0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xd3,0x9f,0xee,0x64,0x80, -0xf8,0x74,0x80,0x98,0x50,0x14,0x74,0x26,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5, -0x83,0xe0,0xff,0x90,0x9e,0x6a,0xe0,0x6f,0x60,0x3d,0x74,0x44,0x25,0x13,0xf5,0x82, -0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xd3,0x94,0x42,0x40,0x05,0x75,0x1d,0x05,0x80, -0x0e,0xef,0xd3,0x94,0x39,0x40,0x05,0x75,0x1d,0x03,0x80,0x03,0x75,0x1d,0x01,0x74, -0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xef,0xf0,0x74,0x85,0x25,0x13, -0xf5,0x82,0xe4,0x34,0x9a,0x80,0x29,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c, -0xf5,0x83,0xe4,0xf0,0x74,0x85,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0, -0x04,0xf0,0x80,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c, -0xf5,0x83,0xe4,0xf0,0x90,0x9e,0x6a,0xe0,0xff,0x74,0x26,0x25,0x13,0xf5,0x82,0xe4, -0x34,0x9d,0xf5,0x83,0xef,0xf0,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5, -0x83,0xe5,0x1d,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4c,0x12,0x43,0x52,0xe0, -0xb4,0x01,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5, -0x83,0xe4,0xf0,0xad,0x1d,0xe1,0xe9,0xec,0x64,0x06,0x60,0x02,0xe1,0xee,0xf5,0x1b, -0xf5,0x1c,0x90,0x42,0x19,0x93,0xff,0x7e,0x00,0x90,0x9e,0x6d,0xe0,0xfc,0xa3,0xe0, -0xfd,0x12,0x1f,0x4a,0x90,0x9e,0x6b,0xee,0xf0,0xa3,0xef,0xf0,0x74,0x84,0x25,0x13, -0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0xe4,0xf5,0x14,0xab,0x18,0xaa, -0x19,0xa9,0x1a,0x75,0xf0,0x02,0xe5,0x14,0xa4,0xf5,0x82,0x85,0xf0,0x83,0x12,0x42, -0x95,0xfd,0xac,0xf0,0xe5,0x14,0x90,0x42,0x14,0x93,0xff,0x7e,0x00,0x12,0x1f,0x4a, -0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xc3,0x90,0x9e,0x6c,0xe0,0x95, -0x1c,0x90,0x9e,0x6b,0xe0,0x95,0x1b,0x40,0x07,0x05,0x14,0xe5,0x14,0xb4,0x05,0xbd, -0xe5,0x14,0xc3,0x13,0xf5,0x14,0xe5,0x1d,0xb4,0x01,0x06,0xe5,0x14,0x70,0x46,0x80, -0x13,0xe5,0x1d,0xb4,0x03,0x15,0xe5,0x14,0x70,0x05,0x75,0x1d,0x03,0x80,0x39,0xe5, -0x14,0xb4,0x01,0x05,0x75,0x1d,0x01,0x80,0x2f,0x80,0x2a,0xe5,0x1d,0xb4,0x05,0x28, -0xe5,0x14,0x70,0x05,0x75,0x1d,0x05,0x80,0x0d,0xe5,0x14,0xb4,0x01,0x05,0x75,0x1d, -0x03,0x80,0x03,0x75,0x1d,0x01,0xd3,0x90,0x9e,0x70,0xe0,0x94,0x03,0x90,0x9e,0x6f, -0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0xd3,0x90,0x9e,0x70,0xe0,0x94,0x03,0x90, -0x9e,0x6f,0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0x74,0x84,0x25,0x13,0xf5,0x82, -0xe4,0x34,0x98,0xf5,0x83,0xe5,0x1d,0xf0,0xfd,0xaf,0x13,0x12,0x6e,0x55,0x74,0xe6, -0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xd3,0x94,0x05,0x74,0xe6,0x50, -0x0e,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x04,0xf0,0x80,0x0b,0x25, -0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0xab,0x18,0xaa,0x19,0xa9,0x1a, -0xe4,0xf5,0xf0,0x12,0x42,0xcd,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x02,0xe4, -0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x04,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00, -0x06,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x08,0xe4,0xf5,0xf0,0x12,0x42,0xec, -0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe4,0xf0,0xa3, -0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0, -0xa3,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x44,0xf5,0x82,0xe4,0x34,0x99,0xf5,0x83,0xe4, -0xf0,0xa3,0xf0,0x05,0x13,0xe5,0x13,0xc3,0x94,0x40,0x50,0x03,0x02,0x72,0x3e,0x22, -0x90,0x04,0x44,0x74,0x11,0xf0,0xa3,0x74,0xf0,0xf0,0xa3,0x74,0x0f,0xf0,0xa3,0xe4, -0xf0,0xfd,0x74,0xa4,0x2d,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe4,0xf0,0x0d,0xbd, -0x10,0xf0,0xe4,0x90,0x9a,0xc5,0xf0,0x90,0x95,0x01,0x04,0xf0,0xe4,0xfd,0x75,0xf0, -0x0a,0xed,0x90,0x90,0x00,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed, -0x90,0x90,0x02,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90, -0x04,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90,0x06,0x12, -0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90,0x08,0x12,0x43,0x52, -0xe4,0xf0,0xa3,0xf0,0x74,0x26,0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0x74,0x13, -0xf0,0x74,0x85,0x2d,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe4,0xf0,0x74,0x84,0x2d, -0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xed,0x25,0xe0,0x24,0x80,0xf5,0x82, -0xe4,0x34,0x93,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0xc4,0xf5,0x82, -0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0xc4,0xf5,0x82, -0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0x44,0xf5,0x82, -0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0xc6,0xf5,0x82, -0xe4,0x34,0x9a,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0x46,0xf5,0x82, -0xe4,0x34,0x9b,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x74,0x86,0x2d,0xf5,0x82,0xe4,0x34, -0x9c,0xf5,0x83,0xe4,0xf0,0x74,0x46,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4, -0xf0,0x74,0xe6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x90,0x41,0xca, -0x93,0xfe,0x74,0x01,0x93,0xff,0x90,0x41,0x92,0x74,0x01,0x93,0x2f,0xff,0xe4,0x93, -0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34, -0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4b,0x12, -0x43,0x52,0x74,0x01,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a,0x12,0x43,0x52,0x74, -0x01,0xf0,0x74,0x82,0x2d,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0x74,0x0c,0xf0,0x75, -0xf0,0x09,0xed,0x90,0x96,0x46,0x12,0x43,0x52,0x74,0xff,0xf0,0xa3,0xf0,0x75,0xf0, -0x09,0xed,0x90,0x96,0x44,0x12,0x43,0x52,0xe4,0xf0,0xa3,0x74,0x0f,0xf0,0x75,0xf0, -0x09,0xed,0x90,0x96,0x48,0x12,0x43,0x52,0x74,0x13,0xf0,0x75,0xf0,0x09,0xed,0x90, -0x96,0x49,0x12,0x43,0x52,0xe4,0xf0,0xed,0xc3,0x94,0x20,0x50,0x0f,0x74,0x84,0x2d, -0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0x74,0x13,0xf0,0x80,0x0d,0x74,0xa6,0x2d,0xf5, -0x82,0xe4,0x34,0x9c,0xf5,0x83,0x74,0x13,0xf0,0x0d,0xed,0x64,0x40,0x60,0x02,0x01, -0xbe,0x22,0x8f,0x13,0xef,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xaf,0x82, -0xf5,0x15,0x8f,0x16,0xe5,0x13,0x75,0xf0,0x02,0xa4,0x24,0x02,0xf9,0x74,0x95,0x35, -0xf0,0x75,0x17,0x01,0xf5,0x18,0x89,0x19,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x46, -0x12,0x43,0x52,0xaf,0x82,0x85,0x83,0x1a,0x8f,0x1b,0xe5,0x13,0x75,0xf0,0x09,0xa4, -0x24,0x44,0xf9,0x74,0x96,0x35,0xf0,0x75,0x1c,0x01,0xf5,0x1d,0x89,0x1e,0x74,0x82, -0x25,0x13,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0x12,0x43,0x87,0x7a,0xe2,0x00, -0x7a,0xf7,0x01,0x7b,0x0c,0x02,0x7b,0x21,0x03,0x7b,0x4a,0x04,0x7b,0x5f,0x05,0x7b, -0x74,0x06,0x7b,0x9a,0x0c,0x7b,0xc7,0x0d,0x7b,0xf4,0x0e,0x7c,0x21,0x0f,0x00,0x00, -0x7c,0x55,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74, -0xf0,0xf0,0xa3,0x74,0x15,0x80,0x3c,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4, -0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x10,0x80,0x27,0xe5,0x13,0x25,0xe0, -0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x05,0x80, -0x12,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0, -0xf0,0xa3,0xe4,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5, -0x83,0x74,0x0f,0xf0,0xa3,0x74,0x8f,0xf0,0x81,0x55,0xe5,0x13,0x25,0xe0,0x24,0xc6, -0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0x0f,0xf0,0xa3,0x74,0xf5,0x80,0x27,0xe5, -0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0x0f,0xf0,0xa3, -0x74,0xf0,0x80,0x12,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5, -0x83,0xe4,0xf0,0xa3,0x74,0x0d,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4, -0x34,0x95,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x81,0x55,0x90,0x04,0x47,0xe0,0xab,0x17, -0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,0x46,0xe0,0xab,0x17,0xaa,0x18,0xa9, -0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,0x45,0xe0,0x85,0x16,0x82,0x85,0x15, -0x83,0xf0,0x90,0x04,0x44,0x81,0x4c,0x90,0x04,0x4b,0xe0,0xab,0x17,0xaa,0x18,0xa9, -0x19,0x12,0x42,0x20,0x90,0x04,0x4a,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00, -0x01,0x12,0x42,0x32,0x90,0x04,0x49,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90, -0x04,0x48,0x80,0x58,0x90,0x04,0x4f,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42, -0x20,0x90,0x04,0x4e,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42, -0x32,0x90,0x04,0x4d,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x4c,0x80, -0x2b,0x90,0x04,0x53,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04, -0x52,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04, -0x51,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x50,0xe0,0x85,0x16,0x82, -0x85,0x15,0x83,0xa3,0xf0,0xab,0x17,0xaa,0x18,0xa9,0x19,0xc0,0x03,0xc0,0x02,0xc0, -0x01,0x12,0x1f,0x04,0xff,0xab,0x1c,0xaa,0x1d,0xa9,0x1e,0x12,0x1f,0x04,0x5f,0xd0, -0x01,0xd0,0x02,0xd0,0x03,0x12,0x42,0x20,0xab,0x17,0xe5,0x19,0x24,0x01,0xf9,0xe4, -0x35,0x18,0xfa,0xc0,0x03,0xc0,0x02,0xc0,0x01,0x12,0x1f,0x04,0xff,0xab,0x1c,0xaa, -0x1d,0xa9,0x1e,0x90,0x00,0x01,0x12,0x1f,0x1d,0x5f,0xd0,0x01,0xd0,0x02,0xd0,0x03, -0x12,0x42,0x20,0x85,0x16,0x82,0x85,0x15,0x83,0xc0,0x83,0xc0,0x82,0xe0,0xff,0x85, -0x1b,0x82,0x85,0x1a,0x83,0xe0,0xfe,0xef,0x5e,0xd0,0x82,0xd0,0x83,0xf0,0x85,0x16, -0x82,0x85,0x15,0x83,0xa3,0xc0,0x83,0xc0,0x82,0xe0,0xff,0x85,0x1b,0x82,0x85,0x1a, -0x83,0xa3,0xe0,0xfe,0xef,0x5e,0xd0,0x82,0xd0,0x83,0xf0,0xe5,0x13,0x25,0xe0,0x24, -0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3b,0x75, -0x14,0x0b,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce, -0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83, -0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x06,0xe5,0x14,0x24,0x10,0x80,0x5d,0x15, -0x14,0xe5,0x14,0xc3,0x94,0x00,0x50,0xca,0x80,0x56,0xe5,0x13,0x25,0xe0,0x24,0xc6, -0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3d,0x75,0x14, -0x0f,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8, -0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0, -0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x08,0x90,0x9e,0x80,0xe5,0x14,0xf0,0x80,0x10, -0x15,0x14,0xe5,0x14,0xc3,0x94,0x00,0x50,0xc8,0x80,0x05,0xe4,0x90,0x9e,0x80,0xf0, -0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfe,0xa3, -0xe0,0x4e,0x60,0x3b,0xe4,0xf5,0x14,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05, -0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82, -0xe4,0x34,0x9b,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x08,0x90,0x9e, -0x81,0xe5,0x14,0xf0,0x80,0x5b,0x05,0x14,0xe5,0x14,0xb4,0x10,0xca,0x80,0x52,0xe5, -0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfe,0xa3,0xe0, -0x4e,0x60,0x39,0xe4,0xf5,0x14,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3, -0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4, -0x34,0x95,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x06,0xe5,0x14,0x24, -0x10,0x80,0x0a,0x05,0x14,0xe5,0x14,0xb4,0x0c,0xcc,0x80,0x05,0xe4,0x90,0x9e,0x81, -0xf0,0x90,0x9e,0x80,0xe0,0xff,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43, -0x52,0xef,0xf0,0x90,0x9e,0x81,0xe0,0xfe,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x49, -0x12,0x43,0x52,0xee,0xf0,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83, -0xe0,0xd3,0x9f,0x40,0x06,0x90,0x9e,0x80,0x12,0x6d,0x2c,0x74,0x84,0x25,0x13,0xf5, -0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0xff,0x90,0x9e,0x81,0xe0,0xfe,0xef,0xc3,0x9e, -0x50,0x03,0x12,0x6d,0x2c,0x90,0x9e,0x80,0xe0,0xff,0xd3,0x94,0x13,0x40,0x07,0x90, -0x96,0x43,0x74,0x03,0xf0,0x22,0xef,0xd3,0x94,0x0b,0x40,0x07,0x90,0x96,0x43,0x74, -0x02,0xf0,0x22,0xef,0xd3,0x94,0x03,0x40,0x07,0x90,0x96,0x43,0x74,0x01,0xf0,0x22, -0xe4,0x90,0x96,0x43,0xf0,0x22,0x90,0x9e,0x74,0xef,0xf0,0xa3,0xed,0xf0,0xa3,0x12, -0x43,0x7e,0x90,0x9e,0x76,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f,0x1d,0x54,0xf0, -0xc4,0x54,0x0f,0x90,0x9e,0x79,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x54,0x40,0xc4, -0x13,0x13,0x54,0x03,0x90,0x9e,0x7a,0xf0,0x90,0x9e,0x74,0xe0,0xff,0x75,0xf0,0x09, -0x90,0x96,0x46,0x12,0x43,0x52,0xad,0x82,0xac,0x83,0x90,0x9e,0x7b,0xec,0xf0,0xa3, -0xed,0xf0,0xef,0x75,0xf0,0x09,0xa4,0x24,0x44,0xf9,0x74,0x96,0x35,0xf0,0xfa,0x7b, -0x01,0xa3,0x12,0x43,0x7e,0x90,0x9e,0x76,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f, -0x1d,0x54,0x0f,0xff,0x90,0x9e,0x7d,0x12,0x43,0x5e,0xef,0x12,0x42,0x20,0x90,0x9e, -0x76,0x12,0x43,0x5e,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x90,0x9e,0x7d,0x12,0x43, -0x5e,0x90,0x00,0x01,0xef,0x12,0x42,0x32,0x90,0x9e,0x76,0x12,0x43,0x5e,0x90,0x00, -0x01,0x12,0x1f,0x1d,0xff,0x90,0x9e,0x7b,0xe0,0xfc,0xa3,0xe0,0xfd,0xf5,0x82,0x8c, -0x83,0xef,0xf0,0x12,0x1f,0x04,0x8d,0x82,0x8c,0x83,0xa3,0xf0,0x90,0x9e,0x79,0xe0, -0xfe,0x90,0x9e,0x74,0xe0,0xff,0x24,0x82,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee, -0xf0,0x90,0x9e,0x75,0xe0,0xfe,0x75,0xf0,0x09,0xef,0x90,0x96,0x4a,0x12,0x43,0x52, -0xee,0xf0,0x75,0xf0,0x09,0xef,0x90,0x96,0x4b,0x12,0x43,0x52,0x74,0x01,0xf0,0x90, -0x9e,0x7a,0xe0,0xfe,0x75,0xf0,0x09,0xef,0x90,0x96,0x4c,0x12,0x43,0x52,0xee,0xf0, -0x41,0x62,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x54,0x1f,0xfe,0xef,0x54,0x20,0xc4, -0x13,0x54,0x07,0xfd,0xaf,0x06,0xc1,0xa6,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x54, -0x3f,0xfe,0xef,0x54,0x80,0xc4,0x13,0x13,0x13,0x54,0x01,0xfd,0xaf,0x06,0xc1,0xa6, -0x12,0x1f,0x04,0xf5,0x13,0xc3,0x94,0x40,0x50,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d, -0xff,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xef,0xf0,0x22,0xe5, -0x13,0xb4,0x40,0x0a,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x96,0x42,0xf0,0x22,0x12, -0x1f,0x04,0x90,0x95,0x01,0xf0,0x22,0x90,0x9e,0x71,0x12,0x43,0x7e,0xef,0x12,0x43, -0x87,0x80,0x93,0x01,0x80,0x9b,0x02,0x80,0xbb,0x03,0x80,0xc4,0x05,0x80,0xcd,0x06, -0x81,0xf7,0x07,0x80,0xd6,0x08,0x80,0xdf,0x10,0x80,0xe8,0x11,0x80,0xf0,0x12,0x80, -0xf8,0x13,0x81,0x00,0x14,0x81,0x09,0x15,0x81,0x12,0x16,0x81,0x1c,0x17,0x81,0x26, -0x18,0x81,0x30,0x19,0x81,0xc6,0x1a,0x81,0xce,0x1b,0x81,0xd7,0x1c,0x81,0x39,0x1d, -0x81,0x43,0x1e,0x81,0x4e,0x21,0x81,0x56,0x22,0x81,0x5e,0x23,0x81,0x66,0x24,0x81, -0x6e,0x25,0x81,0x76,0x26,0x81,0x7e,0x27,0x81,0x86,0x28,0x81,0x8e,0x29,0x80,0xa3, -0x2d,0x80,0xab,0x2e,0x81,0x96,0x2f,0x81,0xe0,0x30,0x81,0xe8,0x31,0x81,0xa6,0x32, -0x81,0x9e,0x33,0x80,0xb3,0x34,0x81,0xae,0x36,0x81,0xb6,0x37,0x81,0xbe,0x38,0x00, -0x00,0x81,0xf0,0x90,0x9e,0x71,0x12,0x43,0x5e,0xc1,0xe1,0x90,0x9e,0x71,0x12,0x43, -0x5e,0x81,0x7c,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe1,0xe9,0x90,0x9e,0x71,0x12,0x43, -0x5e,0xe1,0x35,0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0xae,0x90,0x9e,0x71,0x12,0x43, -0x5e,0x02,0x88,0x31,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x7f,0xd0,0x90,0x9e,0x71, -0x12,0x43,0x5e,0x02,0x7f,0xa2,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x64,0xb0,0x90, -0x9e,0x71,0x12,0x43,0x5e,0x02,0x88,0x79,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0x08, -0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0xc9,0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0x94, -0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x88,0xc0,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02, -0x89,0x98,0x90,0x9e,0x71,0x12,0x43,0x5e,0x7f,0x01,0x80,0x2f,0x90,0x9e,0x71,0x12, -0x43,0x5e,0x7f,0x02,0x80,0x25,0x90,0x9e,0x71,0x12,0x43,0x5e,0x7f,0x03,0x80,0x1b, -0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x8b,0x1d,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe4, -0xff,0x80,0x08,0x90,0x9e,0x71,0x12,0x43,0x5e,0x7f,0x04,0x02,0x8a,0x3b,0x90,0x9e, -0x71,0x12,0x43,0x5e,0xa1,0x2f,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0x56,0x90,0x9e, -0x71,0x12,0x43,0x5e,0xa1,0x7d,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0xa4,0x90,0x9e, -0x71,0x12,0x43,0x5e,0xa1,0xcb,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0xf2,0x90,0x9e, -0x71,0x12,0x43,0x5e,0xe1,0x63,0x90,0x9e,0x71,0x12,0x43,0x5e,0xc1,0x19,0x90,0x9e, -0x71,0x12,0x43,0x5e,0xc1,0x67,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe1,0x9a,0x90,0x9e, -0x71,0x12,0x43,0x5e,0xc1,0x8f,0x90,0x9e,0x71,0x12,0x43,0x5e,0xc1,0xb8,0x90,0x9e, -0x71,0x12,0x43,0x5e,0x80,0x42,0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0x82,0x90,0x9e, -0x71,0x12,0x43,0x5e,0xc1,0x40,0x90,0x9e,0x71,0x12,0x43,0x5e,0x61,0x77,0x90,0x9e, -0x71,0x12,0x43,0x5e,0x02,0x7f,0xff,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x7f,0xb8, -0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0xe8,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe1,0x0b, -0x90,0x01,0xc6,0xe0,0x44,0x01,0xf0,0x22,0x12,0x1f,0x04,0x60,0x44,0x90,0xfd,0x58, -0xe0,0x20,0xe0,0x3d,0x90,0xfd,0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0x00, -0x01,0x12,0x1f,0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd, -0x53,0xf0,0xa3,0xe4,0xf0,0xa3,0x74,0xc0,0xf0,0xa3,0x74,0x10,0xf0,0xa3,0x74,0x80, -0xf0,0x90,0xfd,0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0xfd,0x58,0x74,0x01, -0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfe,0x90,0x00,0x01,0x12,0x1f,0x1d,0x7c,0x00, -0x24,0x00,0xff,0xec,0x3e,0xfe,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0xfc,0x74, -0x20,0x2f,0xff,0xe4,0x3e,0xfe,0x90,0x9e,0x74,0xef,0xf0,0xee,0xf9,0x90,0x02,0x09, -0xe0,0xc3,0x13,0x90,0xfd,0x10,0xf0,0xec,0xc3,0x99,0x50,0x43,0xec,0x70,0x04,0x7d, -0x04,0x80,0x02,0xe4,0xfd,0xed,0xc3,0x94,0x20,0x50,0x07,0xaf,0x05,0x51,0xcb,0x0d, -0x80,0xf3,0x0c,0x90,0xfd,0x10,0xe0,0x04,0xf0,0xec,0xb5,0x01,0xda,0xe4,0xfd,0xed, -0x75,0xf0,0x08,0xa4,0xff,0x90,0x9e,0x74,0xe0,0xfb,0xc3,0xef,0x9b,0x74,0x80,0xf8, -0x65,0xf0,0x98,0x50,0x07,0xaf,0x05,0x51,0xcb,0x0d,0x80,0xe3,0x0c,0x80,0xb8,0x90, -0x00,0x81,0xe0,0x44,0x80,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0x90,0xfd,0x58,0xe0,0x30, -0xe0,0x08,0x90,0x01,0xb8,0xe0,0x04,0xf0,0x80,0xf1,0xef,0x75,0xf0,0x08,0xa4,0x24, -0x00,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x50,0xf0,0xef,0x75,0xf0, -0x08,0xa4,0x24,0x01,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x51,0xf0, -0xef,0x75,0xf0,0x08,0xa4,0x24,0x02,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90, -0xfd,0x52,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x03,0xf5,0x82,0xe4,0x34,0xfc,0xf5, -0x83,0xe0,0x90,0xfd,0x53,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x04,0xf5,0x82,0xe4, -0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x54,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x05, -0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x55,0xf0,0xef,0x75,0xf0,0x08, -0xa4,0x24,0x06,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x56,0xf0,0xef, -0x75,0xf0,0x08,0xa4,0x24,0x07,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd, -0x57,0xf0,0xa3,0x74,0x01,0xf0,0x22,0x90,0x9e,0x74,0x12,0x43,0x7e,0x12,0x1f,0x04, -0x20,0xe0,0x1d,0x7d,0x08,0xe4,0xff,0x12,0x3a,0x54,0x90,0x06,0x90,0xe4,0xf0,0x12, -0x8d,0xfb,0x90,0x01,0x3f,0x74,0x04,0xf0,0x90,0x02,0x86,0xe0,0x54,0xfb,0xf0,0x22, -0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0xbc, -0xe0,0x54,0xfe,0x4e,0xf0,0xef,0x54,0x04,0xff,0xe0,0x54,0xfb,0x4f,0xf0,0x12,0x1f, -0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xbc,0xe0,0x54,0xfd,0x4e,0xf0,0xef,0x54,0x08, -0xff,0xe0,0x54,0xf7,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x10,0xfe,0x90,0x9e,0xbc, -0xe0,0x54,0xef,0x4e,0xf0,0xef,0x54,0x20,0xff,0xe0,0x54,0xdf,0x4f,0xf0,0x12,0x1f, -0x04,0xff,0x54,0x40,0xfe,0x90,0x9e,0xbc,0xe0,0x54,0xbf,0x4e,0xf0,0xef,0x54,0x80, -0xff,0xe0,0x54,0x7f,0x4f,0xf0,0x90,0x00,0x81,0xe4,0xf0,0x90,0x9e,0xbf,0xe0,0x54, -0xfe,0xf0,0x90,0x06,0x09,0xe0,0x54,0xfe,0xf0,0x12,0x1f,0x04,0xc3,0x13,0x30,0xe0, -0x07,0x90,0x06,0x90,0xe0,0x44,0x02,0xf0,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f, -0x04,0xff,0x13,0x13,0x54,0x3f,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0,0x44,0x04,0xf0, -0xef,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0,0x44,0x08,0xf0, -0x90,0x9e,0x9b,0xe0,0xb4,0x02,0x14,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xbd, -0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x9e,0xbe,0xf0,0x90,0x02,0x86,0xe0,0x44, -0x04,0xf0,0x43,0x57,0x04,0x7d,0x08,0xe4,0xff,0x02,0x3a,0xc5,0x12,0x1f,0x04,0xf5, -0x67,0x22,0x12,0x1f,0x04,0x90,0xfe,0x10,0x60,0x05,0xe0,0x44,0x01,0xf0,0x22,0xe0, -0x54,0xfe,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x0e,0x90,0x07,0x78,0xe0,0x54,0xfd, -0xf0,0x90,0x9e,0x50,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x50,0xf0,0x22,0x12,0x1f, -0x04,0x30,0xe0,0x07,0x54,0x01,0x90,0x9e,0xb2,0xf0,0x22,0x7d,0x10,0x7f,0x03,0x12, -0x3a,0x71,0x7d,0x01,0x7f,0x02,0x02,0x3a,0xc5,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x17, -0x90,0xfd,0x50,0x74,0x0d,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52, -0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90, -0x9e,0xb9,0xe0,0x54,0xfe,0x4e,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x0a,0x90,0x00,0x01, -0x12,0x1f,0x1d,0x90,0x9e,0xba,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90, -0xfd,0x50,0x74,0x0c,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0, -0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,0xfd,0x58,0x04,0xf0,0x22,0x90, -0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x17,0xf0,0xa3,0x74,0x01,0xf0, -0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50, -0x74,0x18,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4, -0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58, -0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x19,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f, -0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1a, -0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3, -0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20, -0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1b,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90, -0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04, -0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1c,0xf0,0xa3, -0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3, -0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f, -0x90,0xfd,0x50,0x74,0x1e,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52, -0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22, -0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x23,0xf0,0xa3,0x74,0x01, -0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3, -0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0xe4,0xfc,0xfd,0xfe,0x78, -0x18,0x12,0x1f,0xc4,0xa8,0x04,0xa9,0x05,0xaa,0x06,0xab,0x07,0x90,0x9e,0x4a,0x12, -0x43,0x46,0xec,0x54,0x03,0xfc,0x12,0x43,0x19,0x90,0x9e,0x46,0x02,0x1f,0xd7,0x90, -0xfd,0x58,0xe0,0x20,0xe0,0x21,0x90,0xfd,0x50,0x74,0x1f,0xf0,0xa3,0x74,0x01,0xf0, -0x12,0x1f,0x04,0x54,0x01,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x21,0x90, -0xfd,0x50,0x74,0x20,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x54,0x01,0x90,0xfd, -0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0, -0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e, -0xb0,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x9e,0xa0,0xf0,0x12,0x1f,0x04,0x65, -0x6a,0x60,0x03,0x12,0x4d,0xa5,0xd0,0xd0,0x92,0xaf,0x22,0x12,0x1f,0x04,0xff,0x54, -0x01,0xfe,0x90,0x9e,0xb4,0xe0,0x54,0xfe,0x4e,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x14, -0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xb5,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0x9e,0xb6,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x18,0xc3,0x13,0x54,0x7f,0x90, -0x9e,0xab,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x90,0x9e,0xa9,0xe4,0xf0,0xa3, -0xef,0xf0,0x22,0x90,0x9e,0xab,0x74,0x07,0xf0,0x90,0x9e,0xa9,0xe4,0xf0,0xa3,0x74, -0x0b,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x2f,0x90,0xfd,0x50,0x74,0x1d,0xf0, -0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0x90,0x00,0x01,0x12,0x1f, -0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd,0x54,0xf0,0xa3, -0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0, -0x3b,0x12,0x1f,0x04,0x90,0xfd,0x50,0xf0,0xa3,0x74,0x04,0xf0,0x90,0x00,0x01,0x12, -0x1f,0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0, -0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x54,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d, -0x90,0xfd,0x55,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0xe4,0x90,0x9d, -0xa8,0xf0,0xa3,0xf0,0x90,0x01,0xaf,0xf0,0x22,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff, -0x30,0xe0,0x25,0x12,0x1f,0x04,0x90,0x9e,0xa7,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d, -0x90,0x9e,0xa8,0xf0,0xef,0xc3,0x13,0x54,0x7f,0x90,0x9e,0xa6,0xf0,0x90,0x00,0x03, -0x12,0x1f,0x1d,0x90,0x9e,0xac,0xf0,0x22,0x90,0x9e,0xa7,0x74,0x01,0xf0,0x90,0x9e, -0xa8,0x74,0x03,0xf0,0x90,0x9e,0xa6,0x74,0x14,0xf0,0x90,0x9e,0xac,0x74,0x05,0xf0, -0x22,0x90,0x02,0x09,0xe0,0xfd,0x12,0x1f,0x04,0xfe,0xaf,0x05,0xed,0x2e,0x90,0x9e, -0x95,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0x96,0xf0,0x90, -0x00,0x02,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0x97,0xf0,0x90,0x00,0x03,0x12, -0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0x98,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff, -0xae,0x05,0xed,0x2f,0x90,0x9e,0x99,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x3f, -0x90,0xfd,0x50,0x74,0x0b,0xf0,0xa3,0x74,0x05,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52, -0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f, -0x1d,0x90,0xfd,0x54,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x55,0xf0,0x90, -0x00,0x04,0x12,0x1f,0x1d,0x90,0xfd,0x56,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22, -0x90,0x07,0x78,0xe0,0x44,0x0c,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe0,0x75,0x90,0xfd, -0x58,0xe0,0x20,0xe0,0x10,0x90,0xfd,0x50,0x74,0x14,0xf0,0xa3,0x74,0x01,0xf0,0xa3, -0xf0,0x90,0xfd,0x58,0xf0,0x90,0x9e,0x43,0xe0,0x44,0x08,0xf0,0xef,0x30,0xe1,0x0d, -0xe0,0x44,0x01,0xf0,0x90,0x07,0x78,0xe0,0x54,0xfd,0xf0,0x80,0x07,0x90,0x07,0x78, -0xe0,0x44,0x02,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe2,0x1e,0x90,0x9e,0x43,0xe0,0x44, -0x04,0xf0,0x90,0x04,0x26,0xe0,0x44,0x40,0xf0,0x90,0x07,0x78,0xe0,0x54,0xef,0xf0, -0x90,0x07,0x83,0xe0,0x44,0x40,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x44,0x10,0xf0, -0xef,0x30,0xe4,0x63,0x90,0x9e,0x43,0xe0,0x44,0x02,0xf0,0x90,0x04,0x26,0xe0,0x44, -0x80,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x12,0x90,0xfd,0x50,0x74,0x14,0xf0, -0xa3,0x74,0x01,0xf0,0xa3,0xe4,0xf0,0x90,0xfd,0x58,0x04,0xf0,0x90,0x9e,0x43,0xe0, -0x54,0xfe,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xf7,0xf0,0x90, -0x07,0x78,0xe0,0x54,0xe3,0xf0,0x90,0x07,0x83,0xe0,0x54,0x3f,0xf0,0x90,0x04,0x26, -0xe0,0x54,0x3f,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12,0x1f,0xd7, -0x7f,0x80,0x7e,0x08,0x12,0x34,0x55,0x22,0x12,0x1f,0x04,0xff,0x30,0xe0,0x4b,0x90, -0x07,0x78,0xe0,0x44,0x02,0xf0,0x90,0x07,0x83,0xe0,0x44,0x02,0xf0,0x90,0x07,0x78, -0xe0,0x44,0x80,0x54,0xbf,0xf0,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a,0x90,0xfd,0x50, -0x74,0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0xef,0x30,0xe1,0x5f,0x90,0x9e,0x43,0xe0,0x44, -0x02,0xf0,0x90,0x07,0x95,0xe0,0x44,0x06,0xf0,0x22,0x90,0x9e,0x43,0xe0,0x54,0xfd, -0xf0,0x90,0x07,0x78,0xe0,0x54,0x3f,0xf0,0x90,0x07,0x83,0xe0,0x54,0xfd,0xf0,0x90, -0x07,0x95,0xe0,0x54,0xf9,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12, -0x1f,0xd7,0x7f,0x80,0x7e,0x08,0x12,0x34,0x55,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a, -0x90,0xfd,0x50,0x74,0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3, -0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0xef,0x70,0x21,0x12,0x1f, -0x04,0x30,0xe0,0x14,0x90,0x00,0x40,0xe0,0x44,0x20,0xf0,0xe0,0x54,0x3f,0xf0,0x90, -0x07,0x78,0xe0,0x44,0x01,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x54,0xfe,0xf0,0xef, -0x64,0x01,0x70,0x6a,0x12,0x1f,0x04,0x90,0x00,0x01,0x30,0xe0,0x2e,0x12,0x1f,0x1d, -0x90,0x06,0xc0,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc1,0xf0,0x90,0x00, -0x03,0x12,0x1f,0x1d,0x90,0x06,0xc2,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06, -0xc3,0xf0,0x90,0x06,0xcc,0xe0,0x54,0xfe,0xf0,0x80,0x2c,0x12,0x1f,0x1d,0x90,0x06, -0xc4,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc5,0xf0,0x90,0x00,0x03,0x12, -0x1f,0x1d,0x90,0x06,0xc6,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06,0xc7,0xf0, -0x90,0x06,0xcc,0xe0,0x44,0x01,0xf0,0x90,0x06,0xcc,0xe0,0x44,0x02,0xf0,0xef,0xb4, -0x02,0x11,0x12,0x1f,0x04,0x90,0x06,0xc8,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90, -0x06,0xc9,0xf0,0xef,0xb4,0x03,0x11,0x12,0x1f,0x04,0x90,0x06,0xca,0xf0,0x90,0x00, -0x01,0x12,0x1f,0x1d,0x90,0x06,0xcb,0xf0,0xef,0x64,0x04,0x70,0x1f,0x12,0x1f,0x04, -0xff,0x90,0x07,0x83,0x30,0xe0,0x06,0xe0,0x44,0x10,0xf0,0x80,0x04,0xe0,0x54,0x6f, -0xf0,0xef,0x30,0xe1,0x07,0x90,0x07,0x83,0xe0,0x44,0x80,0xf0,0x22,0x90,0x9e,0x74, -0x12,0x43,0x7e,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x37,0x90,0xfd,0x50,0x74,0x11,0xf0, -0xa3,0x74,0x03,0xf0,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04,0x90,0xfd,0x52, -0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f, -0x1d,0x90,0xfd,0x54,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x80, -0x16,0x43,0x57,0x01,0x78,0xaa,0x7c,0x9d,0x7d,0x01,0x90,0x9e,0x74,0x12,0x43,0x5e, -0x7e,0x00,0x7f,0x03,0x12,0x1e,0xde,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04, -0x60,0x07,0x90,0x9e,0x51,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x51,0xf0,0x22,0x90, -0x05,0x22,0x74,0xff,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xd8,0x74, -0x04,0xf0,0x22,0x12,0x67,0x9e,0x90,0x9e,0xd8,0x74,0x04,0xf0,0x22,0x90,0x05,0x22, -0x74,0xff,0xf0,0x90,0x9e,0xd2,0x74,0x05,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0, -0x90,0x9e,0xd2,0x74,0x02,0xf0,0x22,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x05, -0x22,0x74,0x6f,0xf0,0x90,0x9e,0xd2,0x74,0x06,0xf0,0x22,0x90,0x01,0x57,0xe0,0x60, -0x3c,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0xb1,0xe0, -0x60,0x07,0xe4,0xf0,0x53,0x6b,0xfd,0x80,0x24,0x90,0x9e,0xa2,0xe0,0x04,0xf0,0x53, -0x6b,0xef,0x90,0x9e,0xa7,0xe0,0xff,0x90,0x9e,0xa2,0xe0,0xd3,0x9f,0x40,0x0e,0xe5, -0x67,0xb4,0x01,0x09,0x90,0x9e,0xa3,0xe0,0x70,0x03,0xe0,0x04,0xf0,0x90,0x01,0x5b, -0xe0,0x60,0x10,0x90,0x01,0x5b,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x04,0xf0,0xe4,0x90, -0x9e,0xae,0xf0,0x90,0x01,0x5f,0xe0,0x60,0x10,0x90,0x01,0x5f,0xe4,0xf0,0x90,0x01, -0x3c,0x74,0x08,0xf0,0xe4,0x90,0x9e,0xad,0xf0,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0, -0xd0,0x90,0x9f,0x19,0xef,0xf0,0xd3,0x94,0x07,0x50,0x47,0xe0,0xff,0x74,0x01,0xa8, -0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x46,0xe0,0x5f,0xf0, -0x12,0x4e,0x94,0x90,0x9f,0x19,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05,0x08,0x80, -0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x44,0xe0,0xfb,0xe4,0xfe, -0xef,0x5b,0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8,0xf8,0xff, -0x80,0x4c,0x90,0x9f,0x19,0xe0,0x24,0xf8,0xf0,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08, -0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x62,0xe0,0x5f,0xf0,0x12,0x4e, -0x94,0x90,0x9f,0x19,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05,0x08,0x80,0x05,0xc3, -0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x60,0xe0,0xfb,0xe4,0xfe,0xef,0x5b, -0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8,0xf8,0xff,0xd0,0xd0, -0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f,0x11,0xed,0xf0,0x90, -0x9f,0x10,0xef,0xf0,0xd3,0x94,0x07,0x50,0x4f,0xa3,0xe0,0x70,0x1a,0x90,0x9f,0x10, -0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90, -0x00,0x47,0xe0,0x5f,0xf0,0x80,0x17,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07, -0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x47,0xe0,0x4f,0xf0,0x12,0x4e, -0x94,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8, -0xfc,0xf4,0xff,0x90,0x00,0x46,0x80,0x67,0x90,0x9f,0x10,0xe0,0x24,0xf8,0xf0,0xa3, -0xe0,0x70,0x1a,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3, -0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x63,0xe0,0x5f,0xf0,0x80,0x17,0x90,0x9f,0x10, -0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00, -0x63,0xe0,0x4f,0xf0,0x12,0x4e,0x94,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07, -0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x12,0x4e,0x8c,0x90,0x9f,0x10,0xe0,0xff,0x74, -0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x62,0xe0, -0x5f,0xf0,0x12,0x4e,0x94,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0xb4,0xe0,0x54,0xfe, -0xf0,0xe4,0x90,0x9e,0xb7,0xf0,0xa3,0xf0,0x90,0x9e,0xb5,0x74,0x03,0xf0,0xa3,0xf0, -0x22,0xe4,0x90,0x9e,0xbb,0xf0,0x90,0x9e,0xb9,0xe0,0x54,0x7f,0xf0,0xa3,0x74,0x0a, -0xf0,0x22,0x90,0x9e,0xb9,0xe0,0x54,0xfe,0xf0,0x80,0xe6,0x90,0x9e,0xbc,0xe0,0x54, -0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xf7,0xf0,0xe0,0x54, -0xef,0xf0,0xe0,0x54,0xdf,0xf0,0xe0,0x54,0xbf,0xf0,0xe0,0x54,0x7f,0xf0,0xe4,0xa3, -0xf0,0xa3,0xf0,0xa3,0xe0,0x54,0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0x90,0x01,0x17,0xe0, -0xfe,0x90,0x01,0x16,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0xc0,0xf0, -0xa3,0xef,0xf0,0x90,0x01,0x04,0xe0,0x54,0x0f,0x90,0x9e,0x77,0xf0,0xe0,0xff,0x74, -0x40,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0x90, -0x9e,0xc3,0xf0,0xee,0x90,0x9e,0xc2,0xf0,0x22,0x75,0xe8,0x07,0x90,0xfd,0x68,0x74, -0x02,0xf0,0x90,0x9e,0x43,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0x54,0xfd,0xf0,0x54, -0xf7,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0x12,0x1f,0xe3,0x00,0x00,0x00,0x00,0x7f, -0x80,0x7e,0x08,0x12,0x2c,0x87,0x90,0x9e,0x4a,0x12,0x1f,0xd7,0x90,0x00,0x2e,0xe0, -0x90,0x9e,0x4e,0xf0,0x90,0x00,0x2d,0xe0,0x90,0x9e,0x4f,0xf0,0xe4,0xa3,0xf0,0xa3, -0xf0,0x90,0x04,0x26,0xe0,0x44,0x10,0xf0,0x90,0x07,0x83,0xe4,0xf0,0x90,0x07,0x78, -0x74,0x03,0xf0,0x7d,0x04,0x7f,0x02,0x02,0x3a,0xdf,0x90,0xfd,0x58,0xe0,0x20,0xe0, -0x2d,0x90,0xfd,0x50,0x74,0x11,0xf0,0xa3,0x74,0x04,0xf0,0x90,0x9d,0xaa,0xe0,0x90, -0xfd,0x52,0xf0,0x90,0x9d,0xab,0xe0,0x90,0xfd,0x53,0xf0,0x90,0x9d,0xac,0xe0,0x90, -0xfd,0x54,0xf0,0xa3,0x74,0x28,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x43,0x57, -0x01,0x22,0xae,0x07,0x90,0x9e,0x62,0xe0,0x54,0xf0,0x44,0x04,0xf0,0x54,0x0f,0x44, -0x20,0xf0,0x90,0x9e,0x64,0xee,0xf0,0xa3,0xed,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x64, -0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x62,0x02,0x48,0xde,0xad,0x07,0x90, -0x9e,0x5a,0xe0,0x54,0xf0,0x44,0x05,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x5c, -0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x5c,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e, -0x79,0x5a,0x02,0x48,0xde,0xad,0x07,0x90,0x9e,0x62,0xe0,0x54,0xf0,0x44,0x07,0xf0, -0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x64,0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x64, -0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x62,0x02,0x48,0xde,0xad,0x07,0x90, -0x9e,0x62,0xe0,0x54,0xf0,0x44,0x09,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x64, -0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x64,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e, -0x79,0x62,0x02,0x48,0xde,0x90,0x9e,0xdd,0xe0,0x54,0xf0,0x44,0x0a,0xf0,0x90,0xfd, -0x60,0xe0,0x90,0x9e,0xdf,0xf0,0x90,0xfd,0x62,0xe0,0x90,0x9e,0xe0,0xf0,0x90,0xfd, -0x63,0xe0,0x90,0x9e,0xe1,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x9e,0xe2,0xf0,0x90,0xfd, -0x65,0xe0,0x90,0x9e,0xe3,0xf0,0x90,0xfd,0x60,0xe0,0x90,0x9e,0xdd,0x30,0xe6,0x08, -0xe0,0x54,0x0f,0x44,0x50,0xf0,0x80,0x16,0xe0,0x54,0x0f,0x44,0x70,0xf0,0x90,0xfd, -0x66,0xe0,0x90,0x9e,0xe4,0xf0,0x90,0xfd,0x67,0xe0,0x90,0x9e,0xe5,0xf0,0x7b,0x01, -0x7a,0x9e,0x79,0xdf,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,0x79,0xdd,0x02,0x48, -0xde,0x90,0x9e,0x62,0xef,0xf0,0xa3,0xe0,0x54,0xf0,0x44,0x0c,0xf0,0x54,0x0f,0x44, -0x10,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e, -0x09,0x02,0x48,0xde,0x90,0x00,0x75,0xe0,0x44,0x01,0xf0,0x7f,0x01,0x7e,0x00,0x12, -0x3a,0xaa,0x90,0xfe,0x13,0x74,0x03,0xf0,0x7f,0x02,0x7e,0x00,0x12,0x3a,0xaa,0x90, -0xfe,0x13,0xe4,0xf0,0x90,0x00,0x75,0xe0,0x54,0xfe,0xf0,0x22,0x1b,0x4f,}; - - - //WiFi for BT MP New FW 0326 -const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength] = { -0x02, 0x23, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x03, 0x27, 0x23, 0x01, 0x4E, 0x5E, 0x01, 0x00, -0x73, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x4A, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x61, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x67, 0xDA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x68, 0x81, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x6B, 0xB7, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, -0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, -0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, -0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, -0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, -0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, -0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, -0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, -0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, -0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, -0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, -0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, -0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, -0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, -0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, -0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, -0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, -0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, -0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, -0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, -0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, -0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, -0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, -0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, -0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28, -0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09, -0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9, -0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, -0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, -0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, -0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, -0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, -0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, -0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, -0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, -0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, -0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, -0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, -0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, -0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, -0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, -0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, -0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE, -0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED, -0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC, -0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, -0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, -0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5, -0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, -0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, -0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, -0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, -0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, -0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, -0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, -0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3, -0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x63, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, -0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0, -0x0B, 0x90, 0x93, 0x40, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93, -0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90, -0x93, 0x58, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0xF5, 0x49, -0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, -0x58, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x04, 0x2F, 0xF5, -0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0xF5, 0x49, 0xE4, -0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, -0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, -0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x12, 0x9B, 0x79, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x22, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF, -0x02, 0x4E, 0x27, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5D, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x62, 0x64, 0x01, -0x60, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02, -0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3, -0xE0, 0x60, 0x14, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x78, 0x43, 0x66, 0x10, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F, -0xFF, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0x80, -0x2D, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, -0xFE, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3A, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x80, -0x2D, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, -0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, -0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x58, 0xE0, 0xD3, -0x9F, 0x40, 0x08, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0x14, 0xF0, -0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, -0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x4A, 0x65, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x55, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x48, 0x90, -0x93, 0x51, 0x74, 0x01, 0xF0, 0x12, 0x9B, 0x79, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xE5, 0x65, -0x70, 0x03, 0x02, 0x47, 0x32, 0x90, 0x93, 0x5A, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, -0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02, 0x47, 0x32, 0x02, 0x47, 0x2F, 0x90, 0x93, 0x41, 0xE0, -0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x58, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x36, -0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90, 0x93, 0x39, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, -0x90, 0x93, 0x58, 0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, -0x03, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, -0x93, 0x63, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x63, 0xE0, 0xFF, 0x90, 0x93, 0x48, 0xE0, 0x2F, 0xFF, -0xE4, 0x33, 0xFE, 0x90, 0x93, 0x41, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, -0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, -0x52, 0x17, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, -0x59, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, 0x57, 0x04, 0xF0, 0x90, -0x93, 0x40, 0xF0, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4F, 0x74, -0x05, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, -0x93, 0x48, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, -0x93, 0x50, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x93, -0xB2, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, -0x3D, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, -0x51, 0xF0, 0x90, 0x93, 0x4A, 0xF0, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, -0x49, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, -0x36, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, -0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, -0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, -0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, -0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19, -0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, -0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, -0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90, 0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, -0x40, 0xF0, 0x02, 0x49, 0x29, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, -0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, -0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, -0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, -0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, -0x28, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, -0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, -0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, -0x00, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0xE0, -0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x51, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14, 0x12, 0x52, 0x17, 0x80, 0x0F, 0x90, 0x93, 0x3D, 0xE0, -0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, -0x0C, 0x60, 0x13, 0x12, 0x51, 0x48, 0x80, 0x0E, 0x12, 0x50, 0x77, 0x80, 0x09, 0x90, 0x93, 0x51, -0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, -0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93, -0x5A, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, -0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0xEB, 0xAF, 0x26, 0xAE, -0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, -0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, -0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0xA1, 0xE5, -0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x53, 0x12, -0x51, 0xD4, 0x80, 0x4E, 0xE5, 0x63, 0x20, 0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69, -0x12, 0x51, 0x86, 0x80, 0x3D, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20, -0xE3, 0x09, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0xD4, 0xE5, 0x63, 0x54, 0x0F, 0xFF, -0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2, 0x09, 0x12, 0x48, 0x8F, 0xEF, 0x60, 0x14, 0x12, 0x51, -0x1F, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0xF7, 0xEF, 0x60, 0x03, 0x12, -0x52, 0x04, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4B, 0x35, 0x02, 0x52, 0xF4, 0xE4, 0x93, 0xA3, -0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, -0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, -0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, -0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F, 0x75, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, -0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, -0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, -0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, -0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, -0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, -0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x65, 0x90, 0x06, -0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, -0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, -0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, -0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4F, 0x28, 0xE5, 0x62, 0x20, 0xE0, -0x05, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51, -0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14, -0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, -0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60, -0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80, -0x07, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, -0x90, 0x93, 0x43, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, -0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, -0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, -0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x07, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x40, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xEF, 0xF0, -0x90, 0x93, 0x42, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x58, -0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, -0x03, 0x12, 0x49, 0x32, 0x22, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, -0x90, 0x93, 0xB1, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x54, -0x0A, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, -0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, -0x7F, 0x08, 0x12, 0x54, 0x0A, 0x7F, 0x01, 0x12, 0x4E, 0x81, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, -0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, -0x54, 0x0A, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x54, 0x0A, 0x7F, 0x14, -0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A, 0xE0, -0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12, -0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, -0x93, 0x55, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x52, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, -0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, -0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, -0x22, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, -0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x39, 0x80, 0x29, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x39, 0x1F, 0x80, 0x14, 0x90, -0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x50, -0x39, 0xE4, 0xFF, 0x12, 0x4B, 0x7A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24, -0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, -0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E, -0x42, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x1F, 0x12, 0x49, -0xD0, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, -0x12, 0x58, 0x1F, 0x12, 0x49, 0xD0, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00, -0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x45, 0xE0, 0x94, -0x88, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, -0x22, 0x90, 0x94, 0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, -0x3B, 0x09, 0xD3, 0x90, 0x94, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x00, 0x40, -0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, -0x7F, 0x20, 0x12, 0x54, 0x0A, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, -0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, -0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x54, 0x0A, -0xE4, 0xFF, 0x12, 0x4E, 0x81, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, -0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x54, 0x0A, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, -0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, -0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, -0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4E, 0xE0, 0x9D, 0x90, 0x93, 0x4D, -0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, -0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x48, 0x93, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x9F, 0x00, 0x41, -0x93, 0xAE, 0x00, 0x41, 0x93, 0x94, 0x00, 0x41, 0x94, 0x4C, 0x00, 0x41, 0x93, 0x13, 0x00, 0x41, -0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, -0x94, 0x3D, 0x00, 0x41, 0x94, 0x4A, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0x56, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, -0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, -0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, -0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x9B, 0x79, 0x90, 0x93, 0x59, 0xE0, -0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, -0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x57, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x40, 0xF0, -0xE4, 0x90, 0x93, 0x5C, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x93, 0x57, -0xF0, 0x80, 0x05, 0x90, 0x93, 0x57, 0xED, 0xF0, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, 0xF0, -0x90, 0x93, 0x5C, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, -0xF0, 0x90, 0x93, 0x52, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12, -0x4A, 0x65, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, -0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3E, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, -0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, -0xF9, 0x90, 0x93, 0x54, 0xF0, 0xEE, 0x90, 0x93, 0x53, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, -0xB0, 0xE0, 0x90, 0x94, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB0, 0xE0, 0x90, 0x94, 0x35, -0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x6B, 0x90, -0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x42, 0xEF, 0x70, -0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x54, -0x62, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x46, 0xE0, 0x70, 0x1A, 0x90, 0x04, -0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xA9, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x1F, 0x8E, 0x6A, -0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x16, 0x90, -0x93, 0x4A, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, -0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A, -0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x0C, -0x22, 0x90, 0x94, 0x4D, 0xEF, 0xF0, 0x12, 0x98, 0x8F, 0x90, 0x94, 0x4D, 0xE0, 0x60, 0x05, 0x90, -0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, -0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, -0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x05, -0x7F, 0x01, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30, 0xE6, -0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0, -0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xE5, 0x12, 0x4E, 0xD9, -0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x69, 0x90, 0x02, -0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x43, -0xF7, 0x52, 0x49, 0x00, 0x40, 0x52, 0x71, 0x00, 0x80, 0x52, 0x9C, 0x01, 0x00, 0x52, 0xB0, 0x02, -0x00, 0x52, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x52, 0xE5, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE, -0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80, -0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D, -0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35, -0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D, -0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00, -0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x21, 0xF0, -0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x75, 0xF0, 0xA3, 0xF0, 0xF1, 0x9F, 0x75, 0x8E, 0x02, -0xB1, 0x34, 0xF1, 0xBF, 0x90, 0x93, 0xB1, 0xEF, 0xF0, 0xF1, 0xA7, 0x90, 0x93, 0xB3, 0xEF, 0xF0, -0x12, 0x60, 0x3E, 0x90, 0x93, 0x95, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5, 0x09, -0xF5, 0x62, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x88, 0x65, -0x12, 0x47, 0x33, 0x12, 0x37, 0x1C, 0xF1, 0xB3, 0x71, 0xE1, 0x12, 0x60, 0x02, 0xF1, 0xD2, 0xF1, -0x98, 0x12, 0x60, 0x20, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xAC, 0xB1, 0x1C, 0x90, 0x93, 0x77, 0xE5, -0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x52, 0x75, 0xE8, 0x03, -0x43, 0xA8, 0x85, 0x12, 0x96, 0x00, 0xD2, 0xAF, 0x51, 0xEA, 0x12, 0x60, 0x56, 0x90, 0x93, 0x75, -0xE0, 0x64, 0x01, 0xF0, 0x24, 0xF4, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x14, -0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0xB1, 0x44, 0xD2, 0xAF, 0xE5, 0x14, 0x30, 0xE4, -0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x6F, 0xBB, 0xE5, 0x14, 0x30, 0xE6, 0x0A, -0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x80, 0x62, 0xE5, 0x14, 0x30, 0xE7, 0x09, 0xC2, -0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0xD2, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, -0x01, 0x0D, 0x90, 0x93, 0x43, 0x74, 0x01, 0xF0, 0x51, 0x17, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0xD2, -0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x63, 0xF0, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, -0x8C, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x55, 0x91, 0x0A, -0x7D, 0xFF, 0x7F, 0x56, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, -0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x52, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x51, 0x91, 0x0A, 0xE4, -0xFD, 0x7F, 0x52, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, -0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x00, 0x00, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x02, -0xE0, 0x54, 0xFE, 0xF0, 0x91, 0x52, 0x91, 0x4B, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, -0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, -0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x3D, -0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x56, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, -0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, -0xEB, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, -0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF6, 0xB1, 0x67, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x51, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x94, 0x3E, 0xE0, -0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, -0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xAD, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, -0x7F, 0x80, 0x81, 0x0A, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79, 0x6B, 0x12, 0x73, 0x5E, 0xEF, 0xB4, -0x02, 0x14, 0x90, 0x94, 0x4A, 0xE0, 0x64, 0x04, 0x60, 0x07, 0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, -0x22, 0xE4, 0x90, 0x94, 0x4A, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, -0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, -0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x97, 0x34, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, -0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79, 0x07, 0x7F, 0x80, 0x7E, 0x08, 0xB1, -0x6B, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xF1, 0x40, 0xEF, 0x60, 0x4E, 0x90, 0x92, -0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, -0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, -0xFA, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x31, 0x90, 0x92, 0x69, -0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, -0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90, 0x92, -0x68, 0xE0, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0xF1, 0x40, 0xEF, 0x70, 0x02, 0xC1, 0xEC, 0x90, -0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, -0x7A, 0x01, 0x79, 0xA0, 0xD1, 0xF1, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, -0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, -0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0xF1, 0x90, 0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, -0x93, 0xB1, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, -0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, 0xD1, 0xF1, 0x90, 0x94, -0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x22, 0xD1, -0xF1, 0x90, 0x93, 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, -0x92, 0x68, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, -0x0A, 0x12, 0x43, 0xC8, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xC8, -0xAF, 0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x94, 0x0D, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, -0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x94, 0x0A, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, -0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x94, 0x39, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, -0xF0, 0x90, 0x94, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, -0x90, 0x94, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x3B, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, -0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x3B, 0xE4, 0x75, 0xF0, 0x01, 0x12, -0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0x8F, 0x82, -0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0x90, -0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, -0x7F, 0x01, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0x90, -0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22, 0x7F, -0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, -0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, -0xC4, 0x74, 0xE7, 0xF0, 0x74, 0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, -0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, -0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, -0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, -0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, -0x54, 0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, -0x62, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x67, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x68, 0xF0, 0x90, -0x93, 0x67, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x1C, 0xEF, 0xF0, 0xA3, 0xED, -0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x94, -0x21, 0xF0, 0xD1, 0x3C, 0xBF, 0x01, 0x02, 0x11, 0xEC, 0x90, 0x94, 0x21, 0xE0, 0x90, 0x05, 0x22, -0xF0, 0x80, 0x02, 0x11, 0xEC, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAC, 0xE0, -0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x94, 0x1F, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, -0x94, 0x1C, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x2B, 0xF0, 0xEF, 0x60, 0x10, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, -0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x94, 0x2B, 0xE0, 0xFF, 0x74, 0x23, 0x2E, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x12, 0x9B, 0xA7, 0x90, 0x93, 0x27, 0xE0, -0x64, 0x01, 0x60, 0x02, 0x41, 0xAE, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, -0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, -0xE0, 0x90, 0x93, 0x63, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x63, 0xE0, 0x24, 0x03, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, -0x80, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x16, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xA1, 0xAC, 0x90, 0x93, -0x27, 0xE0, 0x64, 0x02, 0x60, 0x02, 0x61, 0x8D, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, -0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, 0xE4, 0xFF, 0xD1, 0xE6, -0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, -0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x90, -0x93, 0x1A, 0xE0, 0x54, 0xEF, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, -0x90, 0x93, 0x63, 0xE0, 0x2F, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x64, -0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x63, 0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1, 0x83, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, -0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, -0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xC1, 0x36, 0x90, 0x93, 0x27, -0xE0, 0x64, 0x03, 0x60, 0x02, 0x81, 0xE1, 0x7F, 0x01, 0xD1, 0xE6, 0x90, 0x93, 0x19, 0xE0, 0xFF, -0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x8F, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0x81, 0x3D, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, -0xE0, 0xD3, 0x9F, 0x40, 0x4D, 0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, -0xC3, 0xEF, 0x9E, 0xFF, 0x24, 0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, -0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x66, 0xF0, 0x80, -0x06, 0x90, 0x93, 0x66, 0x74, 0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, -0x80, 0x24, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, -0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, -0x90, 0x93, 0x65, 0xE0, 0xFF, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, -0x74, 0x05, 0xF0, 0x7F, 0x01, 0xD1, 0x83, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, -0xE0, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, -0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x08, 0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, -0x69, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, -0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x7F, 0x01, 0xC1, -0x38, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x04, 0x60, 0x02, 0xA1, 0xB2, 0xF5, 0x48, 0x75, 0x49, 0x03, -0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, -0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x17, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x90, 0x05, 0x22, 0xE4, -0xF0, 0x22, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x3B, 0x90, 0x93, 0x19, 0xE0, -0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, -0xE4, 0xFF, 0xD1, 0xE6, 0xD1, 0x83, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, -0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, -0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x22, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0xE4, 0x90, 0x94, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, -0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, -0x94, 0x49, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, -0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x94, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, -0x87, 0x80, 0xC6, 0x90, 0x94, 0x2C, 0xEF, 0xF0, 0x12, 0x9D, 0x50, 0x90, 0x93, 0x18, 0xE0, 0xFF, -0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x94, 0x2C, 0xE0, 0xFF, 0x12, 0x50, 0xEB, 0x90, -0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x94, 0x2C, 0xE0, 0xB4, 0x01, 0x10, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x94, 0x2D, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2D, 0x12, 0x55, 0x67, 0x90, 0x94, 0x2C, -0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0xEF, 0x64, 0x03, 0x60, 0x02, 0xE1, 0xB4, 0x90, 0x94, 0x02, -0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x30, 0xE0, 0x30, 0x90, 0x94, 0x06, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, -0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, -0x41, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, -0x74, 0x55, 0xF0, 0x80, 0x2D, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, -0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, -0xF0, 0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90, 0x94, 0x06, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x94, 0x02, 0xE0, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x94, 0x03, 0xE0, 0x90, 0x06, -0xC1, 0xF0, 0x90, 0x94, 0x04, 0xE0, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x94, 0x05, 0xE0, 0x90, 0x06, -0xC3, 0xF0, 0x90, 0x94, 0x06, 0xE0, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x94, 0x07, 0xE0, 0x90, 0x06, -0xC5, 0xF0, 0x90, 0x94, 0x08, 0xE0, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x94, 0x09, 0xE0, 0x90, 0x06, -0xC7, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, -0x17, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, -0x06, 0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0, 0x22, 0x74, 0x03, 0xF0, 0x22, 0x12, 0x57, 0xE7, 0xBF, -0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x04, 0x1F, 0x74, 0x20, -0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30, 0xE0, 0x02, -0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90, 0x01, 0x30, -0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B, 0xF0, 0x22, -0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32, 0x20, 0x90, -0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22, 0x90, 0x93, -0xB3, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, -0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, -0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, -0x79, 0xE0, 0x94, 0x88, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, -0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x78, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x78, 0xE0, -0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, -0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, -0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, -0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, -0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, -0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, -0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, -0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5D, 0xE0, 0xFE, 0xA3, -0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x9F, -0xF0, 0x22, 0x90, 0x93, 0x9F, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, -0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x5F, 0xCC, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, -0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, -0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x4B, 0xF0, 0x74, 0x61, -0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, -0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, -0x02, 0x61, 0x45, 0x90, 0x01, 0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, -0xD4, 0x0D, 0x85, 0xD5, 0x0E, 0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, -0x0B, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, -0x79, 0xA0, 0x12, 0x56, 0xF1, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, -0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02, 0x41, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0x41, 0xF0, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, -0x93, 0xA2, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, -0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, -0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, -0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, -0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, -0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, -0x2F, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, -0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFF, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x67, 0xAF, 0x4D, 0x12, 0x7A, 0xA1, 0x80, 0x60, -0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0xA4, -0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, -0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFE, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, -0x12, 0x7A, 0x3D, 0x80, 0x1B, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, -0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, -0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x46, 0x90, 0x93, 0x59, 0xE0, 0x60, 0x37, 0x90, -0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, -0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x55, 0xF0, 0x80, 0x09, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x17, 0x90, -0x94, 0x4B, 0xE0, 0x04, 0xF0, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xE7, 0x90, 0x01, 0x34, 0x74, -0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75, -0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, 0x50, 0x08, -0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55, -0x51, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25, -0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F, -0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15, -0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x97, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x97, 0xE0, -0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x6A, 0xE5, 0x12, 0x24, 0x01, -0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90, -0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74, -0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10, -0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0, -0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x54, 0x1F, 0x90, -0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x54, 0x52, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06, -0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0xF1, 0x90, 0x93, 0xB2, -0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0xAF, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, -0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x45, 0x09, 0x90, -0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0xE6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, -0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30, 0xE0, 0x54, 0xFE, -0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, -0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43, 0x84, 0x90, 0x81, -0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1C, 0x90, 0x93, 0x2D, -0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE, -0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x6B, 0x40, 0x12, 0x6B, 0x09, 0x90, 0x93, 0xB2, 0xE4, -0xF0, 0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x40, 0x12, -0x9D, 0xA9, 0x11, 0xDC, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, -0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, -0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, -0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, -0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x73, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x34, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x57, 0xE0, 0x90, -0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, -0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x40, -0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, -0x64, 0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, -0x74, 0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, -0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, -0x2B, 0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5A, 0xE4, 0xF0, -0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2E, 0x30, 0xE5, -0x25, 0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65, 0x60, 0x16, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x51, -0x48, 0x80, 0x03, 0x12, 0x50, 0x77, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, -0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, -0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, -0xF0, 0x12, 0x4F, 0xFA, 0x74, 0x4B, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, -0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, -0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5D, 0xE0, 0x54, 0xF0, -0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15, 0x90, 0x94, -0x19, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5D, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x94, 0x16, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, -0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, 0x69, 0xE0, 0x70, 0x06, 0xA3, -0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0F, -0x12, 0x57, 0x40, 0xEF, 0x60, 0x72, 0x12, 0x55, 0xD2, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x90, -0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xA8, 0x01, -0xFC, 0x7D, 0x01, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E, 0xD0, -0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, -0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x19, 0x12, 0x43, 0xA8, 0x8B, 0x20, -0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, -0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x56, 0xF1, 0x90, 0x92, 0x6A, 0xE0, -0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0x90, -0x93, 0x63, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x65, -0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x65, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0x63, 0xC1, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x07, 0xF0, 0x54, -0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0xC1, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, -0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, -0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, -0xC1, 0x89, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x92, 0xE0, 0x54, 0xF0, 0x44, 0x02, -0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, -0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x92, 0xC1, 0x89, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, -0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D, 0xDA, 0x90, 0x01, 0xC4, -0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, -0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, -0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, -0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, -0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, -0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, -0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, -0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, -0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, -0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, -0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, -0x00, 0x90, 0x01, 0xC4, 0x74, 0x81, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, -0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, -0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3C, -0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x79, 0xE5, 0x34, 0x30, 0xE2, 0x36, 0x90, 0x01, 0x3C, -0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, -0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, -0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x55, 0xE4, 0xF0, -0x12, 0x52, 0x17, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0x90, 0x06, -0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, -0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, -0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x52, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5, 0x34, -0x30, 0xE4, 0x34, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0, 0x24, -0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01, -0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, -0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0x97, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, -0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, -0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, 0xF0, 0x12, 0x51, 0xEC, 0x12, 0x52, 0x17, 0xE5, -0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, -0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0xAE, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, -0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, 0x90, -0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, -0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xD1, 0x50, 0xE5, 0x36, 0x30, -0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x76, 0x90, 0x01, 0x3E, -0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, 0x95, -0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x8F, -0xE0, 0x30, 0xE6, 0x12, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x07, -0x80, 0xE0, 0xFF, 0x12, 0x67, 0x3D, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0, -0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, -0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0, -0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF, -0x12, 0x55, 0xB2, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, -0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, -0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, -0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1C, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, 0x24, -0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x71, -0x40, 0x71, 0x09, 0x74, 0x81, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0xD0, 0x07, -0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, -0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x94, 0x3E, 0xE0, 0x30, 0xE0, 0x2F, -0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x3D, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, -0x94, 0x40, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x3D, 0xF0, 0x90, 0x94, 0x40, 0xE0, 0xFF, 0x90, -0x94, 0x3F, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x22, -0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x6F, 0x7F, 0x01, 0x12, 0x5E, 0xE6, 0x90, 0x93, 0x19, 0xE0, -0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x8F, 0x7F, 0x01, 0x12, 0x5E, 0x83, -0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x29, 0x90, 0x93, 0x15, 0xE0, 0xC4, -0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, -0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, -0x0C, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4C, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05, 0x74, 0x6F, 0xF0, -0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, -0x05, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, -0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, -0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x35, -0x90, 0x93, 0x94, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x00, -0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x94, 0x74, 0x01, 0xF0, 0x90, 0xFD, 0x60, 0xE0, -0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x03, 0x12, 0x99, 0xED, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x0E, -0x60, 0x02, 0x81, 0xB8, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20, 0xE0, -0x02, 0x81, 0xB8, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54, 0x3F, -0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x07, -0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01, 0xF0, -0xEF, 0x20, 0xE0, 0x44, 0x90, 0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19, 0x90, -0x07, 0x78, 0x12, 0x58, 0x7F, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49, 0x90, -0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, -0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, -0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x54, -0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x7F, 0x80, 0x0C, 0xE0, 0x44, 0x10, 0xF0, -0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A, 0x90, -0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xD1, 0xBF, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15, 0x70, -0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6A, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54, 0x3F, -0x04, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x69, 0xF0, -0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, -0x3F, 0xFF, 0x90, 0x93, 0x6A, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, 0x3F, -0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF, 0x54, -0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x69, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F, 0x90, -0x93, 0x6B, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10, 0xE0, -0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x16, 0x08, 0x90, 0xFD, -0x62, 0xE0, 0xFF, 0x12, 0x67, 0x64, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x08, 0x90, 0xFD, 0x62, -0xE0, 0xFF, 0x12, 0x67, 0x8B, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0xD1, 0x6E, 0x90, 0xFD, -0x60, 0xE0, 0x64, 0x23, 0x70, 0x7B, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C, 0x30, 0xE0, 0x05, -0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90, 0x93, -0x2D, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08, 0x12, -0x2C, 0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x7F, 0x70, 0x7E, -0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0, 0x04, -0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44, 0x20, -0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0x12, 0x9A, -0x59, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x02, 0xD1, 0x96, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25, -0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x93, -0x24, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, 0x12, 0x9A, 0xF5, -0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0xD1, 0xEA, 0x90, 0xFD, -0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, -0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, -0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, 0x93, 0x1C, 0xE0, -0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0x22, 0x90, 0x00, -0x75, 0xE0, 0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, -0x03, 0xF0, 0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, -0x75, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, -0x0F, 0x44, 0x10, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x7B, 0x01, 0x7A, 0x93, -0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, 0xAE, -0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, -0x93, 0x6E, 0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, -0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, 0xAC, 0x07, 0x90, 0x93, 0xD9, 0xE0, -0x44, 0x0F, 0xF0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0xDB, 0xEC, 0xF0, 0x60, 0x32, 0x90, -0xFD, 0x63, 0xE0, 0x90, 0x93, 0xDC, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDD, 0xF0, 0x90, -0xFD, 0x64, 0xE0, 0x90, 0x93, 0xDE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, -0xFD, 0x66, 0xE0, 0x90, 0x93, 0xE0, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x80, -0x11, 0x90, 0x93, 0xDC, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xDB, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0xD9, 0x02, 0x66, 0x89, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, -0x93, 0x83, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0x90, 0x93, 0x85, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x86, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, -0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x15, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x7F, 0x30, 0x12, -0x96, 0xD8, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x83, 0xE0, -0xFB, 0xE4, 0xFD, 0xFF, 0xD1, 0xEA, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0xFD, 0x70, 0x03, 0x02, 0x71, 0x06, 0x90, 0x94, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, -0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, 0x5D, 0x70, 0x03, -0x02, 0x70, 0xFF, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, 0x43, 0x9C, -0xE0, 0x90, 0x93, 0x79, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22, 0x79, 0x75, 0x23, -0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7A, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x94, 0x4C, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, 0x02, 0x90, -0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, -0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4C, 0xE0, -0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90, 0x94, -0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E, 0xF0, -0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x7F, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, -0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, -0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, 0x93, 0x79, -0x7B, 0x31, 0x0B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x90, 0x94, 0x4C, 0xE0, 0xFE, 0x74, 0x01, 0xA8, -0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x94, -0x4C, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0x90, 0x01, -0xCC, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x02, 0x6F, 0xCC, 0x90, -0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x80, 0x12, 0x43, -0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x71, 0xAF, 0x01, 0x71, 0xA6, 0x02, 0x71, 0xF7, 0x03, 0x72, 0x00, -0x05, 0x72, 0x09, 0x06, 0x73, 0x4B, 0x07, 0x72, 0x11, 0x0B, 0x72, 0x1A, 0x10, 0x72, 0x22, 0x11, -0x72, 0x2A, 0x12, 0x72, 0x32, 0x16, 0x72, 0x3C, 0x17, 0x72, 0x46, 0x18, 0x72, 0x50, 0x19, 0x73, -0x17, 0x1B, 0x73, 0x20, 0x1C, 0x72, 0x59, 0x1D, 0x72, 0x63, 0x1E, 0x72, 0x6E, 0x21, 0x72, 0x77, -0x22, 0x72, 0x80, 0x23, 0x72, 0x89, 0x24, 0x72, 0x92, 0x25, 0x72, 0x9B, 0x26, 0x72, 0xA4, 0x27, -0x72, 0xAD, 0x28, 0x72, 0xB6, 0x29, 0x71, 0xB8, 0x2D, 0x71, 0xC1, 0x2E, 0x72, 0xBF, 0x2F, 0x73, -0x29, 0x30, 0x72, 0xD0, 0x32, 0x72, 0xC7, 0x33, 0x71, 0xD3, 0x34, 0x72, 0xD9, 0x36, 0x72, 0xE2, -0x37, 0x72, 0xEB, 0x38, 0x72, 0xF3, 0x3A, 0x71, 0xCA, 0x3B, 0x72, 0xFC, 0x3E, 0x73, 0x05, 0x3F, -0x73, 0x0E, 0x41, 0x73, 0x32, 0x46, 0x71, 0xDC, 0x47, 0x71, 0xEE, 0x48, 0x71, 0xE5, 0x49, 0x73, -0x3B, 0x4B, 0x00, 0x00, 0x73, 0x44, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0x7D, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0x83, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8C, -0x64, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8C, 0xAC, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x02, 0x8C, 0xE5, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x17, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x02, 0x8D, 0x1D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0xDD, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xD0, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0xEE, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x5F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x81, -0x1C, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xAC, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x61, 0x4C, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x61, 0x52, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x61, 0x58, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x03, 0x80, 0x1B, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x18, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE4, -0xFF, 0x80, 0x08, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x04, 0x02, 0x8E, 0x36, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x50, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x69, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x82, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8F, 0x9B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xB4, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x8F, 0xCD, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xE6, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x8F, 0xFF, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x18, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x81, 0x0D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x40, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x59, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x90, 0x72, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x61, 0xEB, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x37, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x02, 0x96, 0x63, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0x7C, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xB7, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xA4, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x8B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x99, 0xB9, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x6F, 0x55, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x97, 0x22, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F, 0x0B, -0x80, 0x10, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, 0x7D, 0x03, -0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x41, 0x12, 0x43, 0xC8, 0xE4, -0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54, 0x0F, -0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, 0xEF, 0xF0, -0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x94, 0x41, 0x12, 0x43, 0xA8, 0x8E, 0x82, -0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, -0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, 0x74, 0x01, -0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, 0x90, 0x01, -0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x23, 0x71, 0x62, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9A, 0x59, 0x22, 0x12, 0x1E, 0xF6, -0xFF, 0xE9, 0x24, 0x01, 0xF9, 0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0x61, 0x62, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, -0x90, 0x93, 0x83, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x85, 0x12, -0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x88, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, -0x89, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, -0xAD, 0x82, 0xAC, 0x83, 0x90, 0x93, 0x8A, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, -0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, -0x8C, 0x12, 0x43, 0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, -0x42, 0x65, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, -0x93, 0x8A, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, -0x8D, 0x82, 0x8C, 0x83, 0xA3, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFE, 0x90, 0x93, 0x83, 0xE0, 0xFF, -0x24, 0xC2, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFE, -0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, -0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x75, 0xF0, -0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, -0x02, 0xA4, 0x24, 0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, -0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, -0x8F, 0x5E, 0xE5, 0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, -0x5F, 0x01, 0xF5, 0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, -0x83, 0xE0, 0x12, 0x43, 0xD1, 0x75, 0xAA, 0x00, 0x75, 0xBF, 0x01, 0x75, 0xD4, 0x02, 0x75, 0xE9, -0x03, 0x76, 0x12, 0x04, 0x76, 0x27, 0x05, 0x76, 0x3C, 0x06, 0x76, 0x62, 0x0C, 0x76, 0x8F, 0x0D, -0x76, 0xBC, 0x0E, 0x76, 0xE9, 0x0F, 0x00, 0x00, 0x77, 0x1D, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, -0x74, 0x10, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, -0xE1, 0x1D, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, -0x0F, 0xF0, 0xA3, 0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xE1, 0x1D, 0x90, 0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, -0x04, 0x46, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, -0x04, 0x45, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0xE1, 0x14, 0x90, -0x04, 0x4B, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, -0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, -0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, -0xF0, 0x90, 0x04, 0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, -0x60, 0xA9, 0x61, 0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, -0xAB, 0x5A, 0xE5, 0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, -0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, -0x83, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, -0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, -0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, -0xD0, 0x83, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x4C, 0x90, 0x93, 0x8F, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x8F, -0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x50, 0x03, 0x02, 0x78, 0x63, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, -0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, -0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, -0x0A, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x8F, 0xE0, 0x14, -0xF0, 0x80, 0xBA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x47, 0x90, 0x93, 0x8F, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x8F, -0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, -0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, -0x8F, 0xE0, 0xA3, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x8F, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, -0x93, 0x90, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, -0xFF, 0xC3, 0x94, 0x10, 0x40, 0x02, 0x21, 0x1C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, -0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, -0x93, 0x8F, 0xE0, 0x80, 0x63, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, -0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, -0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, -0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, -0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0x90, 0x93, 0x90, 0xE0, -0xFF, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, -0x91, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, -0xE5, 0x57, 0xC3, 0x94, 0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, -0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, -0x34, 0x04, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x91, 0xE0, 0xA3, 0xF0, 0x80, -0x37, 0x80, 0x2D, 0x74, 0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, -0x90, 0x93, 0x90, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x92, 0xEE, 0xF0, 0x80, -0x17, 0x90, 0x93, 0x91, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, -0x90, 0x93, 0x90, 0xE0, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFD, 0xAF, 0x57, 0x31, -0xF4, 0x90, 0x93, 0x92, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xEF, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, -0x74, 0x03, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, -0x22, 0xEF, 0xD3, 0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, -0x8A, 0x83, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, -0x0E, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x29, 0x74, -0x27, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCC, 0xEF, 0xF0, -0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCD, 0xF0, 0x7B, 0x01, -0x7A, 0x93, 0x79, 0xCC, 0x7D, 0x02, 0x71, 0xB9, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D, -0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x5F, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x60, 0x74, 0x01, 0xF0, 0xEB, 0xC3, -0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x5D, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3, -0xE0, 0x90, 0x41, 0xA4, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5, -0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x21, 0xF4, 0x90, 0x93, -0x5E, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0, -0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x62, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, -0x93, 0x61, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x62, -0xE0, 0xFF, 0x90, 0x93, 0x61, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x61, 0xE0, -0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, -0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, -0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, -0x90, 0x93, 0x61, 0xE0, 0xFD, 0x31, 0xF4, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, -0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, -0xCF, 0x04, 0xF0, 0x90, 0x93, 0x61, 0xE0, 0xFF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x94, 0x22, 0x12, 0x43, 0xC8, 0x90, 0x94, 0x25, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, -0xED, 0x54, 0x0F, 0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, 0x22, 0x12, -0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x25, 0x12, 0x66, -0x89, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, -0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, -0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, -0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0x75, 0xF0, 0x09, -0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8D, 0xF0, 0x75, 0xF0, 0x09, 0xEC, -0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8E, 0xF0, 0xEC, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8F, 0xCB, -0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x91, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, 0x2C, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, 0x93, 0x8E, -0xE0, 0x90, 0x93, 0x8B, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xED, 0x70, 0x02, 0xA1, 0x70, 0x90, 0x93, -0x8C, 0xED, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8B, 0xE0, 0x90, 0x93, -0x88, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x70, 0x02, 0xA1, 0x70, -0x90, 0x93, 0x8B, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0xA1, 0x70, 0xE4, 0x90, 0x93, 0x8A, -0xF0, 0xEF, 0x14, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFD, 0x90, 0x93, 0x89, 0xE0, -0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, 0x74, 0x01, -0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, -0x93, 0x91, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x89, 0xE0, 0xFF, -0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, -0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, -0x60, 0x1A, 0x90, 0x93, 0x89, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, -0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, 0x89, 0xE0, -0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xC3, 0x9F, 0x50, -0x0F, 0x90, 0x93, 0x89, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x8D, 0xE0, 0x90, 0x93, 0x88, 0xF0, -0x90, 0x93, 0x88, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, -0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, -0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, -0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x88, 0xE0, 0xFD, 0x31, 0xF4, 0x90, 0x93, 0x88, 0xE0, 0xFF, -0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, 0xF0, 0xFD, -0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x0F, -0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x4D, 0xF0, -0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, -0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, -0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, -0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xED, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, -0x8E, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x25, 0xE0, 0x24, 0x34, 0xF5, -0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, 0xEE, 0xC3, -0x9F, 0x40, 0x02, 0xE1, 0x5E, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x8B, 0xE0, -0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xE1, 0x98, 0xEE, 0xC3, 0x94, 0x10, -0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, -0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8C, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, -0x4E, 0x70, 0x27, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, 0x01, 0x7E, -0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, -0x8E, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8A, 0xE0, 0xB4, 0x11, -0x0D, 0x90, 0x93, 0x8D, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x17, 0xF0, 0x90, 0x93, -0x8A, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8C, 0xE0, 0x30, -0xE0, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x90, 0x93, 0x89, 0xF0, -0x90, 0x93, 0x88, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0xC1, 0xBC, 0x90, 0x93, -0x8B, 0xE0, 0xFC, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, -0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x89, 0xE0, 0x44, 0x40, 0x90, -0x93, 0x88, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x25, 0xE0, 0x24, -0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, -0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, -0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, -0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, 0x89, 0xE0, -0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, -0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x89, 0xEF, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xFC, 0xA3, -0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, -0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, -0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, -0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAF, 0x05, -0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, 0xFD, 0x12, 0x79, 0xF4, 0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, -0xFF, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, -0x03, 0x02, 0x88, 0x64, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, 0x90, 0x89, -0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, 0x03, 0x02, -0x88, 0x5B, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFE, -0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x88, 0x5B, 0x90, 0x93, 0x78, -0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x88, 0x64, 0x90, 0x93, -0x78, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, 0x5A, 0x01, -0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, -0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x7D, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x25, 0xE0, -0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7F, -0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, -0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, -0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, -0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x82, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, -0x40, 0x02, 0x61, 0xF9, 0x90, 0x93, 0x82, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x9F, 0x40, 0x13, -0x90, 0x93, 0x82, 0xE0, 0x90, 0x93, 0x7A, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, 0x79, 0xF0, -0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, 0x93, 0x78, -0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, 0x06, 0xEF, -0x90, 0x40, 0xE0, 0x80, 0x07, 0x90, 0x93, 0x7A, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, 0x93, 0x81, -0xF0, 0x90, 0x93, 0x81, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, 0x35, 0xF0, -0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, -0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7B, 0xCF, -0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, -0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, -0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, -0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, -0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, -0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, 0x12, 0x42, -0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, -0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, -0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, -0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, 0xA3, 0xE0, -0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, -0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, 0x90, 0x93, -0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x78, 0xE0, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, -0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, -0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x61, 0xC8, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0x74, -0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, 0x03, 0xEF, -0x80, 0x1C, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x90, -0x93, 0x83, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, 0x90, 0x93, -0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x01, -0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x80, -0x0F, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, -0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x60, -0x02, 0xE1, 0x09, 0x12, 0x7E, 0x01, 0xE1, 0x09, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x6C, -0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0xC3, 0x90, -0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x02, 0xE1, 0x09, 0x90, 0x93, 0x78, -0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x7B, 0xF6, 0xE1, 0x09, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0xA1, 0xD7, 0x90, -0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x19, 0x40, 0x3D, -0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x11, 0x40, 0x2E, 0x80, -0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x0A, -0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0x0D, -0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, 0x93, 0x78, -0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, -0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, 0x30, 0x50, -0x0A, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xA1, 0x82, 0x90, 0x8E, 0xC5, 0xE0, 0x64, -0x01, 0x60, 0x02, 0xA1, 0x77, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xEE, 0x24, 0x05, 0xFB, -0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, -0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x78, 0xE0, 0xFE, 0xEF, -0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, 0x78, 0xE0, -0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x6F, -0x60, 0x56, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x11, 0xEF, 0xD3, -0x94, 0x39, 0x90, 0x93, 0x87, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, -0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, -0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, -0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFE, -0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEE, 0xF0, -0x90, 0x93, 0x87, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xEE, -0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x11, 0xE4, -0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, -0x90, 0x93, 0x87, 0xE0, 0xFD, 0xE1, 0x06, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xE1, 0x09, 0x90, 0x93, -0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, -0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x85, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, -0x78, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, -0xE4, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, 0x47, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, 0x83, 0x12, -0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, 0x1F, 0x3C, -0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x85, 0xE0, 0xFE, 0xA3, 0xE0, -0xFF, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x50, 0x08, 0x90, 0x93, -0x84, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x84, 0xE0, 0xC3, 0x13, 0xF0, 0x90, 0x93, 0x87, -0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x84, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x87, 0x04, 0xF0, -0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x87, -0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x87, 0x74, 0x01, 0xF0, 0x80, -0x3C, 0x80, 0x35, 0x90, 0x93, 0x87, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x84, 0xE0, 0xFF, -0x70, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x87, 0xB4, 0x01, -0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, 0x94, 0x03, -0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0xD3, 0x90, 0x93, -0x80, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, -0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFD, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, 0x82, 0xE4, -0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x7D, 0xC1, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, 0x67, 0x2F, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78, 0xE0, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7F, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, 0x78, 0xE0, -0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, 0xA3, 0xE0, -0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xED, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, -0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, -0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x84, 0xF5, -0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, 0x9D, 0xFB, -0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x78, 0xE0, 0x50, 0x13, 0x25, 0xE0, -0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x80, -0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, -0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x04, 0xE4, -0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, -0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, -0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, -0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, -0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, -0xF0, 0x02, 0x80, 0x67, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, 0xF0, 0xA3, -0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, -0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE4, 0xF0, -0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, 0x89, 0x01, -0x04, 0xF0, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, -0x02, 0x41, 0x5E, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, -0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, -0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, -0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0x07, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0x90, -0x41, 0x5A, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, -0x90, 0x93, 0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, -0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, -0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x74, -0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, 0x09, 0xED, -0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, -0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, -0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x89, 0x12, -0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x01, 0xA7, 0x22, 0x12, -0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x74, -0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4, 0x40, 0x0A, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, -0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, -0x06, 0x02, 0x74, 0x30, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, 0x94, 0x40, 0x40, 0x02, -0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x83, 0xF0, 0xEE, 0xA3, -0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, -0xE0, 0x90, 0x93, 0x85, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xEC, -0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, -0x93, 0x89, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xEC, 0xF0, -0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x02, 0x67, 0xB2, 0x12, 0x1E, 0xF6, -0xF5, 0x62, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0x90, 0x93, 0x3D, -0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, -0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x44, 0xF0, 0xEF, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, -0x93, 0x4A, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01, 0x90, 0x93, 0x46, -0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, -0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x49, 0xF0, 0xE0, 0x70, 0x38, 0x90, 0x93, 0x47, -0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, -0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x03, 0x00, 0x90, 0x93, 0x86, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, -0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x12, 0x4D, 0xC1, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xE6, 0xF0, 0xD0, -0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0, 0x25, 0x12, 0x1E, -0xF6, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x4B, 0xF0, 0xEF, -0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, -0x50, 0xF0, 0x22, 0x90, 0x93, 0x48, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, -0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x30, -0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x4F, 0x74, 0x05, -0xF0, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, -0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4C, 0xF0, 0x60, 0x20, 0x90, 0x93, -0x15, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x3D, 0xE0, -0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x51, 0x69, 0x90, 0x93, -0x4C, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, -0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, -0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93, 0x36, 0xE0, 0x54, -0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x00, 0x03, -0x12, 0x1F, 0x0F, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3A, -0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, -0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, -0x40, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, -0x08, 0x90, 0x93, 0x37, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, -0x93, 0x37, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x37, -0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x06, -0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x37, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, -0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x90, 0x93, 0x3B, 0xF0, 0x22, 0x12, 0x1E, 0xF6, -0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x02, -0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93, 0xA8, 0xF0, 0x90, -0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xA9, 0xF0, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAA, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, -0xED, 0x2F, 0x90, 0x93, 0xAB, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, -0x2F, 0x90, 0x93, 0xAC, 0xF0, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, -0x00, 0x40, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, -0xF0, 0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, -0x1E, 0xF6, 0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, -0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, -0x06, 0xC2, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, -0xE0, 0x54, 0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, -0x01, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, -0x90, 0x06, 0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, -0x03, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x06, 0xCB, 0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, -0xE0, 0x06, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, -0x90, 0x07, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x90, 0x92, 0x6C, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, 0xF0, 0x90, -0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x73, 0x5E, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, -0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x17, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x18, 0x02, -0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x19, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x1A, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, -0x01, 0x7F, 0x1C, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, -0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x73, 0x62, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x1E, 0x02, 0x73, 0x62, 0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, -0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9, 0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, 0x93, 0x0B, -0x12, 0x43, 0x84, 0xEC, 0x54, 0x03, 0xFC, 0x12, 0x43, 0x59, 0x90, 0x93, 0x07, 0x02, 0x1F, 0xC9, -0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1F, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x20, 0x02, -0x73, 0x62, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, 0xE0, 0x5C, -0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, -0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, 0xFD, 0x55, -0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, 0x74, 0x10, -0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, -0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, -0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, 0xE4, 0x3E, -0xFE, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, 0xF0, 0x90, -0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, 0xEC, 0x70, -0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, 0x05, 0x31, -0x79, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, 0xDA, 0xE4, -0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xC3, 0xEF, 0x9B, 0x74, -0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF, 0x05, 0x31, 0x79, 0x0D, 0x80, 0xE3, 0x0C, 0x80, -0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12, 0x54, 0x0A, 0x90, 0x01, 0xBD, -0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0, 0x08, -0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x00, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, -0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, 0xEF, 0x75, -0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x52, -0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, -0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, 0xF5, 0x82, -0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, -0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, 0x75, 0xF0, -0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x57, 0xF0, -0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, 0x44, 0x01, -0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, -0x87, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, -0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, -0x54, 0x04, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, -0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, -0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFC, -0x54, 0x80, 0xFF, 0x90, 0x93, 0x15, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, -0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xED, 0x54, 0x02, -0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x04, 0xFF, -0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, -0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18, 0xE0, 0x54, -0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x04, -0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, -0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, -0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, -0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x19, -0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0xEC, 0x20, -0xE0, 0x02, 0x81, 0xB1, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, -0x17, 0xF0, 0x80, 0x4E, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x16, 0x50, 0x05, 0x74, -0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x16, 0x74, 0x2A, 0xF0, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, -0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x17, 0x74, -0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x3D, 0x90, 0x93, -0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0, 0xE0, 0xC3, 0x13, 0xA3, 0xF0, 0x90, -0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x16, 0xE0, 0xC3, -0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x22, 0xF0, 0x90, -0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0xE4, 0x90, 0x93, 0x11, 0xF0, -0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xC4, 0x13, 0x13, 0x54, -0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x04, 0x7F, -0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, -0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x03, 0x75, 0x64, 0x04, -0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, -0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x80, 0x2B, 0x90, -0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x80, 0x1C, 0x90, 0x93, -0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x1D, -0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x80, -0x64, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, -0x90, 0x93, 0x83, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x07, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0xB1, 0x4D, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0x90, 0x93, -0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, -0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x83, 0x12, 0x55, 0x67, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x00, 0x74, 0x1C, -0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0x90, 0x93, 0x26, -0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x09, 0x90, 0x93, -0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x93, 0x04, 0xE0, -0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0, 0xE4, 0x90, 0x93, 0x26, -0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, -0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF, -0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0xE0, 0x54, -0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, 0x28, 0x74, 0x02, 0xF0, -0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, -0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93, -0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFD, -0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, -0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x22, -0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7, 0xF0, -0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x93, 0x0B, -0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, 0x43, 0xE8, -0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x07, -0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90, 0x00, -0x40, 0x74, 0x20, 0xF0, 0xB1, 0x4D, 0x90, 0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F, 0x02, -0x02, 0x3A, 0xAD, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x24, 0x02, 0x73, 0x62, 0x12, 0x1E, 0xF6, 0xFF, -0x54, 0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, -0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, -0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, -0x1F, 0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, 0x73, 0x62, -0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0x8A, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD, -0x50, 0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x8E, -0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, -0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xAE, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x93, 0xAF, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x46, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, -0xC0, 0x60, 0x43, 0xC3, 0x90, 0x94, 0x47, 0xE0, 0x94, 0x88, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x13, -0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x46, 0xE4, -0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, -0x47, 0xE0, 0x94, 0x64, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, -0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, 0x22, 0x90, 0x93, 0xE2, 0x12, 0x1F, 0xC9, 0x90, -0x93, 0xE6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, -0x93, 0xE6, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, 0x73, 0x50, 0x41, 0x90, 0x93, 0xE6, 0x12, 0x43, -0x84, 0xA9, 0x07, 0x90, 0x93, 0xE2, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, -0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, -0x1B, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, -0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xE6, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE6, 0x02, -0x43, 0x84, 0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, -0xB8, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, 0x90, 0x93, 0xB4, 0x60, 0x68, 0x12, 0x43, 0x84, -0x12, 0x2C, 0x6E, 0x90, 0x93, 0xC0, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, -0x97, 0x89, 0x90, 0x93, 0xC4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, 0x43, -0x66, 0x90, 0x93, 0xC0, 0x12, 0x43, 0x90, 0x12, 0x43, 0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, -0xC0, 0x07, 0x90, 0x93, 0xC4, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, -0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, -0x90, 0x93, 0xC8, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, -0x90, 0x93, 0xC8, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xBC, 0x12, -0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xEA, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, -0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, -0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, -0x74, 0x03, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x14, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x0B, 0x90, -0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x2D, -0xE0, 0x20, 0xE0, 0x24, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x1E, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, -0x93, 0x5B, 0xE0, 0x60, 0x13, 0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, -0x01, 0x7A, 0x93, 0x79, 0xEE, 0x12, 0x55, 0x67, 0x12, 0x54, 0x4B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x4E, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, -0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, -0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, 0x90, 0x94, 0x4E, 0xE0, 0xFD, 0x74, 0x01, -0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, -0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, -0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, 0x94, 0x4E, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, -0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, -0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, 0x90, 0x94, 0x4E, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, -0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, -0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, -0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x12, -0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, -0x03, 0x12, 0x44, 0xFE, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, -0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x94, 0x3F, 0xF0, 0x22, 0x90, 0x93, 0x6C, -0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x90, 0xFD, -0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, -0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, -0x60, 0xE0, 0x90, 0x93, 0x6C, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F, 0x44, 0x50, 0xF0, 0x80, 0x16, -0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD, -0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, -0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, 0xAD, 0x07, 0x90, 0x93, 0xFA, 0xE0, 0x54, -0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0xFC, 0xF0, 0x90, -0xFD, 0x63, 0xE0, 0x90, 0x93, 0xFD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0xFE, 0xF0, 0x90, -0xFD, 0x65, 0xE0, 0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x94, 0x00, 0xF0, 0x90, -0xFD, 0x67, 0xE0, 0x90, 0x94, 0x01, 0xF0, 0xED, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, -0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, 0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, -0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, -0x60, 0xF0, 0x90, 0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, 0x93, 0xFC, 0x74, 0x01, 0xF0, 0x80, 0x05, -0xE4, 0x90, 0x93, 0xFC, 0xF0, 0xE4, 0x90, 0x93, 0xFD, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xFC, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0xFA, 0x02, 0x66, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, -0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, -0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, -0x93, 0x72, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, -0x93, 0x74, 0xF0, 0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, -0x90, 0x93, 0x6E, 0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90, 0x93, 0x6C, 0xE0, -0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x6C, 0xE0, 0xFF, -0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, -0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x12, 0x66, 0x89, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x27, 0x90, -0x93, 0x4A, 0xE0, 0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, -0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, -0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x20, 0xE0, 0x02, 0xA1, 0x4F, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, -0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, -0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x4B, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFF, -0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0x3A, 0xE4, 0x90, 0x93, 0x1D, 0xF0, -0x90, 0x93, 0x27, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, -0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, -0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x4B, 0xF0, 0x90, 0x93, 0x20, 0xE0, -0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0x3A, 0xE4, 0x90, 0x93, 0x1D, -0xF0, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, -0x81, 0xFE, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, -0x90, 0x93, 0x27, 0x30, 0xE0, 0x4E, 0xA1, 0x4C, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, -0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, -0x0F, 0x30, 0xE0, 0x02, 0xA1, 0x0D, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, -0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, -0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, -0x40, 0x02, 0xA1, 0x4C, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, -0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, -0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, -0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, -0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, -0x1D, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, -0x80, 0x3A, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x27, 0x80, 0x23, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, -0x01, 0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, -0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, -0xEF, 0x64, 0x01, 0x70, 0x3C, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, -0x07, 0x90, 0x07, 0x78, 0x74, 0x0D, 0xF0, 0x22, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, -0xE0, 0x0D, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, -0x93, 0x18, 0xE0, 0xC3, 0x13, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, -0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, -0x04, 0x74, 0x03, 0xF0, 0x22, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4B, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x30, 0xE0, 0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, -0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, -0x01, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, -0x90, 0x93, 0x5D, 0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, -0x74, 0x05, 0xF0, 0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, -0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, -0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0xE4, 0x90, 0x94, 0x4B, 0xF0, 0x22, 0x85, 0xD2, -}; - - - -const u8 Rtl8723SFwUMCBCutImgArrayWithBT[Rtl8723SUMCBCutImgArrayWithBTLength] = { -0x02, 0x23, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x03, 0x28, 0x14, 0x04, 0x16, 0x5E, 0x01, 0x00, -0x73, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x4A, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x61, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x67, 0xDB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x68, 0x82, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x6B, 0xB8, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, -0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, -0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, -0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, -0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, -0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, -0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, -0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, -0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, -0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, -0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, -0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, -0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, -0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, -0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, -0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, -0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, -0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, -0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, -0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, -0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, -0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, -0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, -0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, -0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28, -0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09, -0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9, -0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, -0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, -0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, -0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, -0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, -0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, -0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, -0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, -0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, -0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, -0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, -0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, -0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, -0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, -0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, -0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE, -0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED, -0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC, -0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, -0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, -0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5, -0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, -0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, -0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, -0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, -0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, -0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, -0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, -0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3, -0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x63, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, -0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0, -0x0B, 0x90, 0x93, 0x40, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93, -0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90, -0x93, 0x58, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0xF5, 0x49, -0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, -0x58, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x04, 0x2F, 0xF5, -0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0xF5, 0x49, 0xE4, -0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, -0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, -0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x12, 0x9B, 0x40, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x22, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF, -0x02, 0x4E, 0x27, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5D, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x62, 0x64, 0x01, -0x60, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02, -0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3, -0xE0, 0x60, 0x14, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x78, 0x43, 0x66, 0x10, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F, -0xFF, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0x80, -0x2D, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, -0xFE, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3A, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x80, -0x2D, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, -0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, -0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x58, 0xE0, 0xD3, -0x9F, 0x40, 0x08, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0x14, 0xF0, -0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, -0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x4A, 0x65, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x55, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x48, 0x90, -0x93, 0x51, 0x74, 0x01, 0xF0, 0x12, 0x9B, 0x40, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xE5, 0x65, -0x70, 0x03, 0x02, 0x47, 0x32, 0x90, 0x93, 0x5A, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, -0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02, 0x47, 0x32, 0x02, 0x47, 0x2F, 0x90, 0x93, 0x41, 0xE0, -0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x58, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x36, -0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90, 0x93, 0x39, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, -0x90, 0x93, 0x58, 0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, -0x03, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, -0x93, 0x63, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x63, 0xE0, 0xFF, 0x90, 0x93, 0x48, 0xE0, 0x2F, 0xFF, -0xE4, 0x33, 0xFE, 0x90, 0x93, 0x41, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, -0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, -0x52, 0x17, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, -0x59, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, 0x57, 0x04, 0xF0, 0x90, -0x93, 0x40, 0xF0, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4F, 0x74, -0x05, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, -0x93, 0x48, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, -0x93, 0x50, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x93, -0xB2, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, -0x3D, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, -0x51, 0xF0, 0x90, 0x93, 0x4A, 0xF0, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, -0x49, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, -0x36, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, -0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, -0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, -0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, -0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19, -0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, -0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, -0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90, 0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, -0x40, 0xF0, 0x02, 0x49, 0x29, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, -0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, -0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, -0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, -0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, -0x28, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, -0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, -0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, -0x00, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0xE0, -0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x51, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14, 0x12, 0x52, 0x17, 0x80, 0x0F, 0x90, 0x93, 0x3D, 0xE0, -0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, -0x0C, 0x60, 0x13, 0x12, 0x51, 0x48, 0x80, 0x0E, 0x12, 0x50, 0x77, 0x80, 0x09, 0x90, 0x93, 0x51, -0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, -0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93, -0x5A, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, -0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0xEB, 0xAF, 0x26, 0xAE, -0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, -0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, -0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0xA1, 0xE5, -0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x53, 0x12, -0x51, 0xD4, 0x80, 0x4E, 0xE5, 0x63, 0x20, 0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69, -0x12, 0x51, 0x86, 0x80, 0x3D, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20, -0xE3, 0x09, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0xD4, 0xE5, 0x63, 0x54, 0x0F, 0xFF, -0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2, 0x09, 0x12, 0x48, 0x8F, 0xEF, 0x60, 0x14, 0x12, 0x51, -0x1F, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0xF7, 0xEF, 0x60, 0x03, 0x12, -0x52, 0x04, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4B, 0x35, 0x02, 0x52, 0xF4, 0xE4, 0x93, 0xA3, -0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, -0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, -0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, -0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F, 0x75, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, -0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, -0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, -0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, -0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, -0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, -0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x65, 0x90, 0x06, -0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, -0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, -0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, -0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4F, 0x28, 0xE5, 0x62, 0x20, 0xE0, -0x05, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51, -0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14, -0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, -0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60, -0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80, -0x07, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, -0x90, 0x93, 0x43, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, -0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, -0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, -0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x07, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x40, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xEF, 0xF0, -0x90, 0x93, 0x42, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x58, -0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, -0x03, 0x12, 0x49, 0x32, 0x22, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, -0x90, 0x93, 0xB1, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x54, -0x0A, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, -0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, -0x7F, 0x08, 0x12, 0x54, 0x0A, 0x7F, 0x01, 0x12, 0x4E, 0x81, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, -0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, -0x54, 0x0A, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x54, 0x0A, 0x7F, 0x14, -0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A, 0xE0, -0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12, -0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, -0x93, 0x55, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x52, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, -0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, -0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, -0x22, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, -0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x39, 0x80, 0x29, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x39, 0x1F, 0x80, 0x14, 0x90, -0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x50, -0x39, 0xE4, 0xFF, 0x12, 0x4B, 0x7A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24, -0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, -0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E, -0x42, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x1F, 0x12, 0x49, -0xD0, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, -0x12, 0x58, 0x1F, 0x12, 0x49, 0xD0, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00, -0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x45, 0xE0, 0x94, -0x88, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, -0x22, 0x90, 0x94, 0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, -0x3B, 0x09, 0xD3, 0x90, 0x94, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x00, 0x40, -0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, -0x7F, 0x20, 0x12, 0x54, 0x0A, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, -0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, -0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x54, 0x0A, -0xE4, 0xFF, 0x12, 0x4E, 0x81, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, -0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x54, 0x0A, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, -0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, -0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, -0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4E, 0xE0, 0x9D, 0x90, 0x93, 0x4D, -0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, -0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x48, 0x93, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x9F, 0x00, 0x41, -0x93, 0xAE, 0x00, 0x41, 0x93, 0x94, 0x00, 0x41, 0x94, 0x4C, 0x00, 0x41, 0x93, 0x13, 0x00, 0x41, -0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, -0x94, 0x3D, 0x00, 0x41, 0x94, 0x4A, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0x56, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, -0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, -0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, -0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x9B, 0x40, 0x90, 0x93, 0x59, 0xE0, -0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, -0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x57, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x40, 0xF0, -0xE4, 0x90, 0x93, 0x5C, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x93, 0x57, -0xF0, 0x80, 0x05, 0x90, 0x93, 0x57, 0xED, 0xF0, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, 0xF0, -0x90, 0x93, 0x5C, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, -0xF0, 0x90, 0x93, 0x52, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12, -0x4A, 0x65, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, -0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3E, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, -0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, -0xF9, 0x90, 0x93, 0x54, 0xF0, 0xEE, 0x90, 0x93, 0x53, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, -0xB0, 0xE0, 0x90, 0x94, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB0, 0xE0, 0x90, 0x94, 0x35, -0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x6B, 0x90, -0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x42, 0xEF, 0x70, -0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x54, -0x62, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x46, 0xE0, 0x70, 0x1A, 0x90, 0x04, -0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xA9, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x1F, 0x8E, 0x6A, -0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x16, 0x90, -0x93, 0x4A, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, -0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A, -0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x0C, -0x22, 0x90, 0x94, 0x4D, 0xEF, 0xF0, 0x12, 0x98, 0x56, 0x90, 0x94, 0x4D, 0xE0, 0x60, 0x05, 0x90, -0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, -0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, -0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x05, -0x7F, 0x01, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30, 0xE6, -0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0, -0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xE5, 0x12, 0x4E, 0xD9, -0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x69, 0x90, 0x02, -0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x43, -0xF7, 0x52, 0x49, 0x00, 0x40, 0x52, 0x71, 0x00, 0x80, 0x52, 0x9C, 0x01, 0x00, 0x52, 0xB0, 0x02, -0x00, 0x52, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x52, 0xE5, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE, -0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80, -0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D, -0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35, -0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D, -0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00, -0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x21, 0xF0, -0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x75, 0xF0, 0xA3, 0xF0, 0xF1, 0x9F, 0x75, 0x8E, 0x02, -0xB1, 0x34, 0xF1, 0xBF, 0x90, 0x93, 0xB1, 0xEF, 0xF0, 0xF1, 0xA7, 0x90, 0x93, 0xB3, 0xEF, 0xF0, -0x12, 0x60, 0x3E, 0x90, 0x93, 0x95, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5, 0x09, -0xF5, 0x62, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x88, 0x77, -0x12, 0x47, 0x33, 0x12, 0x37, 0x1C, 0xF1, 0xB3, 0x71, 0xE1, 0x12, 0x60, 0x02, 0xF1, 0xD2, 0xF1, -0x98, 0x12, 0x60, 0x20, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xAC, 0xB1, 0x1C, 0x90, 0x93, 0x77, 0xE5, -0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x52, 0x75, 0xE8, 0x03, -0x43, 0xA8, 0x85, 0x12, 0x96, 0x12, 0xD2, 0xAF, 0x51, 0xEA, 0x12, 0x60, 0x56, 0x90, 0x93, 0x75, -0xE0, 0x64, 0x01, 0xF0, 0x24, 0xF4, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x14, -0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0xB1, 0x44, 0xD2, 0xAF, 0xE5, 0x14, 0x30, 0xE4, -0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x6F, 0xCE, 0xE5, 0x14, 0x30, 0xE6, 0x0A, -0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x80, 0x74, 0xE5, 0x14, 0x30, 0xE7, 0x09, 0xC2, -0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0xD2, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, -0x01, 0x0D, 0x90, 0x93, 0x43, 0x74, 0x01, 0xF0, 0x51, 0x17, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0xD2, -0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x63, 0xF0, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, -0x8C, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x55, 0x91, 0x0A, -0x7D, 0xFF, 0x7F, 0x56, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, -0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x52, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x51, 0x91, 0x0A, 0xE4, -0xFD, 0x7F, 0x52, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, -0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x00, 0x00, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x02, -0xE0, 0x54, 0xFE, 0xF0, 0x91, 0x52, 0x91, 0x4B, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, -0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, -0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x3D, -0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x56, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, -0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, -0xEB, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, -0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF6, 0xB1, 0x67, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x51, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x94, 0x3E, 0xE0, -0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, -0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xAD, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, -0x7F, 0x80, 0x81, 0x0A, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79, 0x6B, 0x12, 0x73, 0x70, 0xEF, 0xB4, -0x02, 0x14, 0x90, 0x94, 0x4A, 0xE0, 0x64, 0x04, 0x60, 0x07, 0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, -0x22, 0xE4, 0x90, 0x94, 0x4A, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, -0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, -0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x96, 0xFC, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, -0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79, 0x07, 0x7F, 0x80, 0x7E, 0x08, 0xB1, -0x6B, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xF1, 0x40, 0xEF, 0x60, 0x4E, 0x90, 0x92, -0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, -0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, -0xFA, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x31, 0x90, 0x92, 0x69, -0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, -0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90, 0x92, -0x68, 0xE0, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0xF1, 0x40, 0xEF, 0x70, 0x02, 0xC1, 0xEC, 0x90, -0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, -0x7A, 0x01, 0x79, 0xA0, 0xD1, 0xF1, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, -0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, -0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0xF1, 0x90, 0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, -0x93, 0xB1, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, -0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, 0xD1, 0xF1, 0x90, 0x94, -0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x22, 0xD1, -0xF1, 0x90, 0x93, 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, -0x92, 0x68, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, -0x0A, 0x12, 0x43, 0xC8, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xC8, -0xAF, 0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x94, 0x0D, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, -0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x94, 0x0A, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, -0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x94, 0x39, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, -0xF0, 0x90, 0x94, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, -0x90, 0x94, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x3B, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, -0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x3B, 0xE4, 0x75, 0xF0, 0x01, 0x12, -0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0x8F, 0x82, -0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0x90, -0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, -0x7F, 0x01, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0x90, -0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22, 0x7F, -0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, -0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, -0xC4, 0x74, 0xE7, 0xF0, 0x74, 0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, -0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, -0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, -0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, -0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, -0x54, 0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, -0x62, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x67, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x68, 0xF0, 0x90, -0x93, 0x67, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x1C, 0xEF, 0xF0, 0xA3, 0xED, -0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x94, -0x21, 0xF0, 0xD1, 0x3C, 0xBF, 0x01, 0x02, 0x11, 0xEC, 0x90, 0x94, 0x21, 0xE0, 0x90, 0x05, 0x22, -0xF0, 0x80, 0x02, 0x11, 0xEC, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAC, 0xE0, -0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x94, 0x1F, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, -0x94, 0x1C, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x2B, 0xF0, 0xEF, 0x60, 0x10, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, -0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x94, 0x2B, 0xE0, 0xFF, 0x74, 0x23, 0x2E, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x12, 0x9B, 0x6E, 0x90, 0x93, 0x27, 0xE0, -0x64, 0x01, 0x60, 0x02, 0x41, 0xAE, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, -0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, -0xE0, 0x90, 0x93, 0x63, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x63, 0xE0, 0x24, 0x03, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, -0x80, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x16, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xA1, 0xAC, 0x90, 0x93, -0x27, 0xE0, 0x64, 0x02, 0x60, 0x02, 0x61, 0x8D, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, -0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, 0xE4, 0xFF, 0xD1, 0xE6, -0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, -0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x90, -0x93, 0x1A, 0xE0, 0x54, 0xEF, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, -0x90, 0x93, 0x63, 0xE0, 0x2F, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x64, -0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x63, 0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1, 0x83, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, -0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, -0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xC1, 0x36, 0x90, 0x93, 0x27, -0xE0, 0x64, 0x03, 0x60, 0x02, 0x81, 0xE1, 0x7F, 0x01, 0xD1, 0xE6, 0x90, 0x93, 0x19, 0xE0, 0xFF, -0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x56, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0x81, 0x3D, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, -0xE0, 0xD3, 0x9F, 0x40, 0x4D, 0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, -0xC3, 0xEF, 0x9E, 0xFF, 0x24, 0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, -0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x66, 0xF0, 0x80, -0x06, 0x90, 0x93, 0x66, 0x74, 0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, -0x80, 0x24, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, -0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, -0x90, 0x93, 0x65, 0xE0, 0xFF, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, -0x74, 0x05, 0xF0, 0x7F, 0x01, 0xD1, 0x83, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, -0xE0, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, -0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x08, 0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, -0x69, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, -0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x7F, 0x01, 0xC1, -0x38, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x04, 0x60, 0x02, 0xA1, 0xB2, 0xF5, 0x48, 0x75, 0x49, 0x03, -0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, -0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x17, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x90, 0x05, 0x22, 0xE4, -0xF0, 0x22, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x3B, 0x90, 0x93, 0x19, 0xE0, -0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, -0xE4, 0xFF, 0xD1, 0xE6, 0xD1, 0x83, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, -0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, -0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x22, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0xE4, 0x90, 0x94, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, -0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, -0x94, 0x49, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, -0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x94, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, -0x87, 0x80, 0xC6, 0x90, 0x94, 0x2C, 0xEF, 0xF0, 0x12, 0x9D, 0x17, 0x90, 0x93, 0x18, 0xE0, 0xFF, -0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x94, 0x2C, 0xE0, 0xFF, 0x12, 0x50, 0xEB, 0x90, -0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x94, 0x2C, 0xE0, 0xB4, 0x01, 0x10, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x94, 0x2D, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2D, 0x12, 0x55, 0x67, 0x90, 0x94, 0x2C, -0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0xEF, 0x64, 0x03, 0x60, 0x02, 0xE1, 0xB4, 0x90, 0x94, 0x02, -0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x30, 0xE0, 0x30, 0x90, 0x94, 0x06, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, -0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, -0x41, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, -0x74, 0x55, 0xF0, 0x80, 0x2D, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, -0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, -0xF0, 0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90, 0x94, 0x06, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x94, 0x02, 0xE0, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x94, 0x03, 0xE0, 0x90, 0x06, -0xC1, 0xF0, 0x90, 0x94, 0x04, 0xE0, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x94, 0x05, 0xE0, 0x90, 0x06, -0xC3, 0xF0, 0x90, 0x94, 0x06, 0xE0, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x94, 0x07, 0xE0, 0x90, 0x06, -0xC5, 0xF0, 0x90, 0x94, 0x08, 0xE0, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x94, 0x09, 0xE0, 0x90, 0x06, -0xC7, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, -0x17, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, -0x06, 0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0, 0x22, 0x74, 0x03, 0xF0, 0x22, 0x12, 0x57, 0xE7, 0xBF, -0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x04, 0x1F, 0x74, 0x20, -0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30, 0xE0, 0x02, -0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90, 0x01, 0x30, -0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B, 0xF0, 0x22, -0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32, 0x20, 0x90, -0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22, 0x90, 0x93, -0xB3, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, -0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, -0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, -0x79, 0xE0, 0x94, 0x88, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, -0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x78, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x78, 0xE0, -0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, -0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, -0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, -0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, -0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, -0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, -0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, -0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5D, 0xE0, 0xFE, 0xA3, -0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x9F, -0xF0, 0x22, 0x90, 0x93, 0x9F, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, -0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x5F, 0xCC, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, -0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, -0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x4B, 0xF0, 0x74, 0x61, -0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, -0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, -0x02, 0x61, 0x45, 0x90, 0x01, 0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, -0xD4, 0x0D, 0x85, 0xD5, 0x0E, 0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, -0x0B, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, -0x79, 0xA0, 0x12, 0x56, 0xF1, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, -0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02, 0x41, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0x41, 0xF0, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, -0x93, 0xA2, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, -0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, -0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, -0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, -0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, -0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, -0x2F, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, -0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFF, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x67, 0xAF, 0x4D, 0x12, 0x7A, 0xB3, 0x80, 0x60, -0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0xA4, -0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, -0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFE, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, -0x12, 0x7A, 0x4F, 0x80, 0x1B, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, -0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, -0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x46, 0x90, 0x93, 0x59, 0xE0, 0x60, 0x37, 0x90, -0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, -0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x55, 0xF0, 0x80, 0x09, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x17, 0x90, -0x94, 0x4B, 0xE0, 0x04, 0xF0, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xE7, 0x90, 0x01, 0x34, 0x74, -0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75, -0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, 0x50, 0x08, -0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55, -0x51, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25, -0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F, -0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15, -0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x97, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x97, 0xE0, -0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x6A, 0xE5, 0x12, 0x24, 0x01, -0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90, -0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74, -0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10, -0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0, -0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x54, 0x1F, 0x90, -0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x54, 0x52, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06, -0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0xF1, 0x90, 0x93, 0xB2, -0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0xAF, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, -0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x45, 0x09, 0x90, -0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0xE6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, -0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30, 0xE0, 0x54, 0xFE, -0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, -0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43, 0x84, 0x90, 0x81, -0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1C, 0x90, 0x93, 0x2D, -0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE, -0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x6B, 0x41, 0x12, 0x6B, 0x0A, 0x90, 0x93, 0xB2, 0xE4, -0xF0, 0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x40, 0x12, -0x9D, 0x70, 0x11, 0xDC, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, -0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, -0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, -0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, -0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x73, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x34, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x57, 0xE0, 0x90, -0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, -0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x40, -0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, -0x64, 0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, -0x74, 0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, -0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, -0x2B, 0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5A, 0xE4, 0xF0, -0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2E, 0x30, 0xE5, -0x25, 0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65, 0x60, 0x16, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x51, -0x48, 0x80, 0x03, 0x12, 0x50, 0x77, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, -0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, -0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, -0xF0, 0x12, 0x4F, 0xFA, 0x74, 0x4B, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, -0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, -0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5D, 0xE0, 0x54, 0xF0, -0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15, 0x90, 0x94, -0x19, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5D, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x94, 0x16, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, -0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, 0x69, 0xE0, 0x70, 0x06, 0xA3, -0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0F, -0x12, 0x57, 0x40, 0xEF, 0x60, 0x72, 0x12, 0x55, 0xD2, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x90, -0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xA8, 0x01, -0xFC, 0x7D, 0x01, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E, 0xD0, -0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, -0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x19, 0x12, 0x43, 0xA8, 0x8B, 0x20, -0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, -0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x56, 0xF1, 0x90, 0x92, 0x6A, 0xE0, -0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0x90, -0x93, 0x63, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x65, -0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x65, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0x63, 0xC1, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54, -0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0xC1, 0x89, 0x90, 0x93, 0x8F, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x92, 0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, -0x93, 0x8F, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, -0x92, 0xC1, 0x89, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44, 0x10, -0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0xC1, 0x89, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, -0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D, 0xDB, 0x90, 0x01, -0xC4, 0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, -0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, -0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, -0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, -0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, -0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, -0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, -0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, -0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, -0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, -0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, -0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0x82, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, -0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, -0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01, -0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x79, 0xE5, 0x34, 0x30, 0xE2, 0x36, 0x90, 0x01, -0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, -0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x55, 0xE4, -0xF0, 0x12, 0x52, 0x17, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0x90, -0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, -0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, -0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x52, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5, -0x34, 0x30, 0xE4, 0x34, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0, -0x24, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, -0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, -0x12, 0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0x97, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, -0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, -0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, 0xF0, 0x12, 0x51, 0xEC, 0x12, 0x52, 0x17, -0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, -0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0xAE, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, -0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, -0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, -0xF0, 0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xD1, 0x43, 0xE5, 0x36, -0x30, 0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x76, 0x90, 0x01, -0x3E, 0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, -0x95, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, -0x8F, 0xE0, 0x30, 0xE6, 0x12, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x08, 0x90, -0x07, 0x80, 0xE0, 0xFF, 0x12, 0x67, 0x3D, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, -0xF0, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, -0x01, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, -0xF0, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, -0xFF, 0x12, 0x55, 0xB2, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, -0x36, 0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, -0x01, 0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, -0x43, 0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1C, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, -0x24, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, -0x71, 0x41, 0x71, 0x0A, 0x74, 0x82, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0xD0, -0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, -0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x94, 0x3E, 0xE0, 0x30, 0xE0, -0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x3D, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x0B, -0x90, 0x94, 0x40, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x3D, 0xF0, 0x90, 0x94, 0x40, 0xE0, 0xFF, -0x90, 0x94, 0x3F, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4, 0x90, 0x94, 0x40, 0xF0, -0x22, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x6F, 0x7F, 0x01, 0x12, 0x5E, 0xE6, 0x90, 0x93, 0x19, -0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x56, 0x7F, 0x01, 0x12, 0x5E, -0x83, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x29, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, -0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, -0x7F, 0x0C, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4C, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05, 0x74, 0x6F, -0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, -0xE0, 0x05, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, -0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, -0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02, 0xC1, -0x28, 0x90, 0x93, 0x94, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0, 0x90, -0x00, 0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x94, 0x74, 0x01, 0xF0, 0x90, 0xFD, 0x60, -0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x03, 0x12, 0x99, 0xB4, 0x90, 0xFD, 0x60, 0xE0, 0x64, -0x0E, 0x60, 0x02, 0x81, 0xB9, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20, -0xE0, 0x02, 0x81, 0xB9, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54, -0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, -0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01, -0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90, 0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19, -0x90, 0x07, 0x78, 0x12, 0x58, 0x7F, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49, -0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, -0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, -0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, -0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x7F, 0x80, 0x0C, 0xE0, 0x44, 0x10, -0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A, -0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xD1, 0x89, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15, -0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6A, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54, -0x3F, 0x04, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x69, -0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, -0x54, 0x3F, 0xFF, 0x90, 0x93, 0x6A, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, -0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF, -0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x69, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F, -0x90, 0x93, 0x6B, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10, -0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x08, 0x90, -0xFD, 0x62, 0xE0, 0xFF, 0x12, 0x67, 0x64, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0xD1, 0x61, -0x90, 0xFD, 0x60, 0xE0, 0x64, 0x23, 0x70, 0x7B, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C, 0x30, -0xE0, 0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, -0x90, 0x93, 0x2D, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, -0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x7F, -0x70, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, -0xE0, 0x04, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, -0x44, 0x20, 0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, -0x12, 0x9A, 0x20, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x03, 0x12, 0x67, 0xB3, 0x90, 0xFD, 0x60, -0xE0, 0xB4, 0x25, 0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, -0xF0, 0x90, 0x93, 0x24, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, -0x12, 0x9A, 0xBC, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0xD1, -0xB4, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, -0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, -0xD0, 0xE0, 0x32, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, -0x93, 0x1C, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, -0x22, 0x90, 0x00, 0x75, 0xE0, 0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, -0xFE, 0x13, 0x74, 0x03, 0xF0, 0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, -0xF0, 0x90, 0x00, 0x75, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xAE, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, -0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0xEE, 0xF0, 0xA3, 0xED, -0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, -0x6C, 0x02, 0x66, 0x89, 0xAC, 0x07, 0x90, 0x93, 0xD9, 0xE0, 0x44, 0x0F, 0xF0, 0x54, 0x0F, 0x44, -0x70, 0xF0, 0x90, 0x93, 0xDB, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0xDC, -0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0xDE, -0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0xE0, -0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x80, 0x11, 0x90, 0x93, 0xDC, 0xED, 0xF0, -0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, -0x79, 0xDB, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xD9, 0x02, 0x66, 0x89, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x83, 0xF0, 0x90, 0x00, 0x01, -0x12, 0x1F, 0x0F, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x85, -0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, -0x0F, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, -0x14, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x7F, 0x30, 0xF1, 0x84, 0x90, 0x93, 0x83, 0xE0, 0xFB, -0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xE4, 0xFD, 0xFF, 0xD1, 0xB4, 0xD0, -0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x8A, 0x12, 0x43, -0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD, 0x50, 0xEF, 0xF0, 0xEE, -0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x8E, 0x82, 0x75, 0x83, 0x00, -0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xEF, 0xF0, -0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, -0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x78, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x71, 0x18, 0x90, 0x94, 0x4C, 0xE0, 0xFF, 0x74, 0x01, -0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, -0x5D, 0x70, 0x02, 0x21, 0x11, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x79, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22, 0x79, -0x75, 0x23, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7A, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x7A, 0xE0, -0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x94, 0x4C, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, -0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, -0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, -0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, -0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x7E, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x7F, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, -0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, -0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x7B, 0x31, 0x1D, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x90, 0x94, 0x4C, 0xE0, 0xFE, 0x74, -0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x78, 0xF0, -0x90, 0x94, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, -0x90, 0x01, 0xCC, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x02, 0x6F, -0xDF, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x80, -0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x71, 0xC1, 0x01, 0x71, 0xB8, 0x02, 0x72, 0x09, 0x03, -0x72, 0x12, 0x05, 0x72, 0x1B, 0x06, 0x73, 0x5D, 0x07, 0x72, 0x23, 0x0B, 0x72, 0x2C, 0x10, 0x72, -0x34, 0x11, 0x72, 0x3C, 0x12, 0x72, 0x44, 0x16, 0x72, 0x4E, 0x17, 0x72, 0x58, 0x18, 0x72, 0x62, -0x19, 0x73, 0x29, 0x1B, 0x73, 0x32, 0x1C, 0x72, 0x6B, 0x1D, 0x72, 0x75, 0x1E, 0x72, 0x80, 0x21, -0x72, 0x89, 0x22, 0x72, 0x92, 0x23, 0x72, 0x9B, 0x24, 0x72, 0xA4, 0x25, 0x72, 0xAD, 0x26, 0x72, -0xB6, 0x27, 0x72, 0xBF, 0x28, 0x72, 0xC8, 0x29, 0x71, 0xCA, 0x2D, 0x71, 0xD3, 0x2E, 0x72, 0xD1, -0x2F, 0x73, 0x3B, 0x30, 0x72, 0xE2, 0x32, 0x72, 0xD9, 0x33, 0x71, 0xE5, 0x34, 0x72, 0xEB, 0x36, -0x72, 0xF4, 0x37, 0x72, 0xFD, 0x38, 0x73, 0x05, 0x3A, 0x71, 0xDC, 0x3B, 0x73, 0x0E, 0x3E, 0x73, -0x17, 0x3F, 0x73, 0x20, 0x41, 0x73, 0x44, 0x46, 0x71, 0xEE, 0x47, 0x72, 0x00, 0x48, 0x71, 0xF7, -0x49, 0x73, 0x4D, 0x4B, 0x00, 0x00, 0x73, 0x56, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, -0x8F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0x95, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x02, 0x8C, 0x76, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8C, 0xBE, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x02, 0x8C, 0xF7, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x29, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x2F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0xEF, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xE2, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8E, 0x00, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x71, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x81, 0x2E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xBE, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x61, 0x5E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x61, 0x64, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x61, 0x6A, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x03, -0x80, 0x1B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x2A, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0xE4, 0xFF, 0x80, 0x08, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x04, 0x02, 0x8E, 0x48, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x62, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8F, 0x7B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x94, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x8F, 0xAD, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xC6, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x8F, 0xDF, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xF8, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x11, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, -0x2A, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x81, 0x1F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x90, 0x52, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x6B, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x90, 0x84, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x37, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x61, 0xFD, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x49, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0x75, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0x8E, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xC9, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8A, 0xB6, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x9D, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x99, 0x80, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x6F, 0x1F, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x96, 0xEA, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, -0x7F, 0x0B, 0x80, 0x10, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, -0x7D, 0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x41, 0x12, 0x43, -0xC8, 0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, -0x54, 0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, -0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x94, 0x41, 0x12, 0x43, 0xA8, -0x8E, 0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0xFD, 0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, -0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, -0x74, 0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, -0x90, 0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, -0x01, 0x7F, 0x23, 0x71, 0x74, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9A, 0x20, 0x22, 0x12, -0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9, 0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0x61, 0x74, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, -0xAF, 0x06, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, -0x93, 0x88, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, -0x43, 0x9C, 0xAD, 0x82, 0xAC, 0x83, 0x90, 0x93, 0x8A, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, -0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, -0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, -0xEF, 0x12, 0x42, 0x65, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, -0x1E, 0xF6, 0x8D, 0x82, 0x8C, 0x83, 0xA3, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFE, 0x90, 0x93, 0x83, -0xE0, 0xFF, 0x24, 0xC2, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x84, -0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, -0x09, 0xEF, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, -0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, -0x75, 0xF0, 0x02, 0xA4, 0x24, 0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, -0x89, 0x5C, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, -0x83, 0x5D, 0x8F, 0x5E, 0xE5, 0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, -0xF0, 0x75, 0x5F, 0x01, 0xF5, 0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, -0x89, 0xF5, 0x83, 0xE0, 0x12, 0x43, 0xD1, 0x75, 0xBC, 0x00, 0x75, 0xD1, 0x01, 0x75, 0xE6, 0x02, -0x75, 0xFB, 0x03, 0x76, 0x24, 0x04, 0x76, 0x39, 0x05, 0x76, 0x4E, 0x06, 0x76, 0x74, 0x0C, 0x76, -0xA1, 0x0D, 0x76, 0xCE, 0x0E, 0x76, 0xFB, 0x0F, 0x00, 0x00, 0x77, 0x2F, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, -0x3C, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, -0xF0, 0xA3, 0x74, 0x10, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, -0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, -0x8F, 0xF0, 0xE1, 0x2F, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, -0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, -0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xE1, 0x2F, 0x90, 0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, -0x53, 0x90, 0x04, 0x46, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, -0x65, 0x90, 0x04, 0x45, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0xE1, -0x26, 0x90, 0x04, 0x4B, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, -0x4A, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, -0x49, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, -0x4F, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, -0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, -0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, -0x58, 0x83, 0xF0, 0x90, 0x04, 0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, -0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, -0x42, 0x53, 0xAB, 0x5A, 0xE5, 0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, -0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, -0x12, 0x1F, 0x0F, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, -0x85, 0x58, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, -0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, -0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, -0xD0, 0x82, 0xD0, 0x83, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x4C, 0x90, 0x93, 0x8F, 0x74, 0x0B, 0xF0, 0x90, -0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x50, 0x03, 0x02, 0x78, 0x75, 0x74, 0x01, 0x7E, 0x00, -0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, -0x4E, 0x60, 0x0A, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x8F, -0xE0, 0x14, 0xF0, 0x80, 0xBA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x47, 0x90, 0x93, 0x8F, 0x74, 0x0F, 0xF0, 0x90, -0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, -0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, -0x90, 0x93, 0x8F, 0xE0, 0xA3, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x8F, 0xE0, 0x14, 0xF0, 0x80, 0xBF, -0xE4, 0x90, 0x93, 0x90, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, -0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x40, 0x02, 0x21, 0x2E, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, -0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, -0x06, 0x90, 0x93, 0x8F, 0xE0, 0x80, 0x63, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, -0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, -0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0x80, -0x09, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0x90, 0x93, -0x90, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, -0x90, 0x93, 0x91, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, -0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, 0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, -0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, -0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x91, 0xE0, 0xA3, -0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, 0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xE0, 0xFF, 0x90, 0x93, 0x90, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x92, 0xEE, -0xF0, 0x80, 0x17, 0x90, 0x93, 0x91, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, -0x80, 0x08, 0x90, 0x93, 0x90, 0xE0, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFD, 0xAF, -0x57, 0x51, 0x06, 0x90, 0x93, 0x92, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, -0x8A, 0x83, 0x74, 0x03, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, -0x02, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, -0xE4, 0x90, 0x8A, 0x83, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, -0x20, 0x50, 0x0E, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, -0x29, 0x74, 0x27, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCC, -0xEF, 0xF0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCD, 0xF0, -0x7B, 0x01, 0x7A, 0x93, 0x79, 0xCC, 0x7D, 0x02, 0x71, 0xCB, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, -0x52, 0x8D, 0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x5F, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x60, 0x74, 0x01, 0xF0, -0xEB, 0xC3, 0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x5D, 0xE0, 0x25, 0x55, 0xFF, 0xA3, -0xF0, 0xA3, 0xE0, 0x90, 0x41, 0xA4, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, -0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x41, 0x06, -0x90, 0x93, 0x5E, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, -0xEF, 0xF0, 0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x62, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, -0x1F, 0x90, 0x93, 0x61, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, -0x04, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, -0x40, 0x5D, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x89, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xEF, 0xF0, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, -0x40, 0x0D, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, -0x93, 0x62, 0xE0, 0xFF, 0x90, 0x93, 0x61, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, -0x61, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, -0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, -0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, -0xAF, 0x05, 0x90, 0x93, 0x61, 0xE0, 0xFD, 0x51, 0x06, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, -0x03, 0x60, 0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, -0x90, 0x04, 0xCF, 0x04, 0xF0, 0x90, 0x93, 0x61, 0xE0, 0xFF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0x90, 0x94, 0x22, 0x12, 0x43, 0xC8, 0x90, 0x94, 0x25, 0xE0, 0x54, 0xF0, 0x44, 0x06, -0xFF, 0xF0, 0xED, 0x54, 0x0F, 0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, -0x22, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x25, -0x12, 0x66, 0x89, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, -0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, -0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, -0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0x75, -0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8D, 0xF0, 0x75, 0xF0, -0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8E, 0xF0, 0xEC, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, -0x8F, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x91, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, -0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, -0x93, 0x8E, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xED, 0x70, 0x02, 0xA1, 0x82, -0x90, 0x93, 0x8C, 0xED, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8B, 0xE0, -0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x70, 0x02, -0xA1, 0x82, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0xA1, 0x82, 0xE4, 0x90, -0x93, 0x8A, 0xF0, 0xEF, 0x14, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFD, 0x90, 0x93, -0x89, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, -0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0xFF, 0x90, 0x93, 0x91, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x89, -0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, -0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x89, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8A, 0xE0, -0x04, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, -0x89, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xC3, -0x9F, 0x50, 0x0F, 0x90, 0x93, 0x89, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x8D, 0xE0, 0x90, 0x93, -0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, -0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, -0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, -0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, -0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x88, 0xE0, 0xFD, 0x51, 0x06, 0x90, 0x93, 0x88, -0xE0, 0xFF, 0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, -0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, -0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x4D, 0xF0, 0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90, -0x93, 0x88, 0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, -0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, -0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, -0x90, 0x93, 0x8E, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x25, 0xE0, 0x24, -0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, -0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xE1, 0x70, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, -0x8B, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xE1, 0xAA, 0xEE, 0xC3, -0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, -0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8C, 0xE0, 0x5E, 0xFE, 0xA3, -0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, -0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, -0x90, 0x93, 0x8E, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8A, 0xE0, -0xB4, 0x11, 0x0D, 0x90, 0x93, 0x8D, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x17, 0xF0, -0x90, 0x93, 0x8A, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8C, -0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x90, 0x93, -0x89, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0xC1, 0xCE, -0x90, 0x93, 0x8B, 0xE0, 0xFC, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, -0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, -0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x89, 0xE0, 0x44, -0x40, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x25, -0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, -0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, -0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, -0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, -0x89, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x89, 0xEF, 0xF0, 0x90, 0x93, 0x88, 0xF0, -0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, -0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, -0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, -0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, -0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, -0xAF, 0x05, 0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, 0xFD, 0x12, 0x7A, 0x06, 0x90, 0x93, 0x88, 0xE0, -0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, -0x40, 0x40, 0x03, 0x02, 0x88, 0x76, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, -0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, -0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, -0x03, 0x02, 0x88, 0x6D, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x88, 0x6D, 0x90, -0x93, 0x78, 0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x88, 0x76, -0x90, 0x93, 0x78, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, -0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, -0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x7D, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, -0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, -0x93, 0x7F, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, -0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, -0x79, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, -0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x82, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, -0x94, 0x05, 0x40, 0x02, 0x81, 0x0B, 0x90, 0x93, 0x82, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x9F, -0x40, 0x13, 0x90, 0x93, 0x82, 0xE0, 0x90, 0x93, 0x7A, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, -0x79, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, -0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, -0x06, 0xEF, 0x90, 0x40, 0xE0, 0x80, 0x07, 0x90, 0x93, 0x7A, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, -0x93, 0x81, 0xF0, 0x90, 0x93, 0x81, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, -0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x78, 0xE0, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, -0x7B, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, -0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, -0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, -0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, -0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, -0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, -0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, -0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, -0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, -0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, -0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, -0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, -0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, -0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, -0x78, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, -0xEF, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, -0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x61, -0xDA, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, -0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, -0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, -0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, -0x9E, 0x90, 0x93, 0x83, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, -0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, -0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, -0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0x60, 0x02, 0xE1, 0x1B, 0x12, 0x7E, 0x13, 0xE1, 0x1B, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, -0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, -0xC3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x02, 0xE1, 0x1B, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x7C, 0x08, 0xE1, 0x1B, 0x90, 0x93, 0x78, 0xE0, 0xFF, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0xA1, -0xE9, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x19, -0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x11, 0x40, -0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, -0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x03, -0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, -0x87, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, -0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xA1, 0x94, 0x90, 0x8E, 0xC5, -0xE0, 0x64, 0x01, 0x60, 0x02, 0xA1, 0x89, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xEE, 0x24, -0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, -0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x78, 0xE0, -0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, -0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, -0x78, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7A, -0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, -0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x11, -0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x87, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, -0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x78, -0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, -0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, -0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7A, -0xE0, 0xFE, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xEE, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, -0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, -0x11, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFD, 0xE1, 0x18, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xE1, 0x1B, -0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, -0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x85, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, -0x90, 0x93, 0x78, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, -0x87, 0xF0, 0xE4, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, -0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, -0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, -0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x85, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x50, 0x08, -0x90, 0x93, 0x84, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x84, 0xE0, 0xC3, 0x13, 0xF0, 0x90, -0x93, 0x87, 0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x84, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x87, -0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, -0x93, 0x87, 0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x87, 0x74, 0x01, -0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93, 0x87, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x84, -0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x87, -0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, -0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0xD3, -0x90, 0x93, 0x80, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, -0x93, 0x87, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFD, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, -0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x7D, 0xD3, 0x90, 0x93, 0x78, 0xE0, 0xFF, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, -0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, -0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7F, -0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, -0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, -0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, -0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, -0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, -0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, -0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, -0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x78, 0xE0, 0x50, 0x13, -0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, -0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, -0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, -0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, -0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, -0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, -0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, -0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, -0xE0, 0x04, 0xF0, 0x02, 0x80, 0x79, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, -0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, -0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, -0x40, 0x40, 0x02, 0x41, 0x70, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, -0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, -0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, -0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, -0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, -0xFF, 0x90, 0x41, 0x5A, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, -0x13, 0xFF, 0x90, 0x93, 0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, -0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, -0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, -0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, -0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, -0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, -0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, -0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x01, 0xB9, -0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4, -0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x90, 0x00, 0x04, -0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, -0xFD, 0xAF, 0x06, 0x02, 0x74, 0x42, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, 0x94, 0x40, -0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x83, 0xF0, -0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, -0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x85, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x74, 0xFF, -0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, -0xE0, 0x90, 0x93, 0x89, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, -0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x02, 0x67, 0x8B, 0x12, -0x1E, 0xF6, 0xF5, 0x62, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x83, 0x12, -0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0x90, -0x93, 0x3D, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x44, 0xF0, 0xEF, 0x13, 0x13, 0x13, 0x54, -0x01, 0x90, 0x93, 0x4A, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01, 0x90, -0x93, 0x46, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x49, 0xF0, 0xE0, 0x70, 0x38, 0x90, -0x93, 0x47, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x86, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, -0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x4D, 0xC1, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xE6, -0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0, 0x25, -0x12, 0x1E, 0xF6, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x4B, -0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x50, 0xF0, 0x22, 0x90, 0x93, 0x48, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, -0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0x22, 0x12, 0x1E, -0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, -0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x4F, -0x74, 0x05, 0xF0, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4D, 0xE0, -0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4C, 0xF0, 0x60, 0x20, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, -0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x51, 0x69, -0x90, 0x93, 0x4C, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x02, 0x43, 0xC8, 0x12, -0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, -0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93, 0x36, -0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x38, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, -0x93, 0x3A, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, -0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, -0x60, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, -0x08, 0x90, 0x93, 0x37, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, -0x93, 0x37, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93, 0x37, -0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x37, 0x50, 0x05, 0x74, 0x07, -0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x90, 0x93, 0x3B, 0xF0, 0x22, 0x12, -0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, -0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93, 0xA8, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xA9, 0xF0, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAA, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, -0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAB, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, -0x05, 0xED, 0x2F, 0x90, 0x93, 0xAC, 0xF0, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, -0x14, 0x90, 0x00, 0x40, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, -0x44, 0x01, 0xF0, 0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, -0x6A, 0x12, 0x1E, 0xF6, 0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, -0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, -0x0F, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, -0x06, 0xCC, 0xE0, 0x54, 0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, -0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, -0x06, 0xC6, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, -0xE0, 0x44, 0x01, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, -0x1E, 0xF6, 0x90, 0x06, 0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, -0xEF, 0xB4, 0x03, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x90, 0x06, 0xCB, 0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, -0x83, 0x30, 0xE0, 0x06, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, -0xE1, 0x07, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, -0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6C, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, -0xF0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x73, 0x70, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, -0x01, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x17, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x18, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x19, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, -0x01, 0x7F, 0x1A, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, -0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0x02, 0x73, 0x74, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x1C, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x73, -0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, -0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1E, 0x02, 0x73, 0x74, 0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, -0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9, 0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, -0x93, 0x0B, 0x12, 0x43, 0x84, 0xEC, 0x54, 0x03, 0xFC, 0x12, 0x43, 0x59, 0x90, 0x93, 0x07, 0x02, -0x1F, 0xC9, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1F, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x20, 0x02, 0x73, 0x74, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, -0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, -0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, -0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, -0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, -0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, -0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, -0xE4, 0x3E, 0xFE, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, -0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, -0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, -0x05, 0x31, 0x8B, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, -0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xC3, 0xEF, -0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF, 0x05, 0x31, 0x8B, 0x0D, 0x80, 0xE3, -0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12, 0x54, 0x0A, 0x90, -0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, -0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, -0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, -0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, -0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, -0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, -0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, -0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, -0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, -0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, -0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, -0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10, -0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E, -0xF6, 0xFC, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x15, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03, -0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xED, -0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54, -0x04, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10, 0xFF, 0xE0, 0x54, -0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18, -0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, -0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, -0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E, -0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, -0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, -0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, -0x93, 0x19, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, -0xEC, 0x20, 0xE0, 0x02, 0x81, 0xC3, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x17, 0xF0, 0x80, 0x4E, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, -0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x16, 0x50, -0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x16, 0x74, 0x2A, 0xF0, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, -0x90, 0x93, 0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, -0x17, 0x74, 0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x3D, -0x90, 0x93, 0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0, 0xE0, 0xC3, 0x13, 0xA3, -0xF0, 0x90, 0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x16, -0xE0, 0xC3, 0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x22, -0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0xE4, 0x90, 0x93, -0x11, 0xF0, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, -0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, -0x0F, 0x30, 0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x03, 0x75, -0x64, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90, 0x05, 0x58, 0x74, -0x03, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x80, -0x2B, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x80, 0x1C, -0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02, 0xF0, 0x80, 0x0D, 0x90, -0x93, 0x1D, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x1D, -0xF0, 0x80, 0x64, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x90, 0x93, 0x83, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, -0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0xB1, 0x5F, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, -0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x13, 0x13, 0x13, 0x54, -0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x7B, -0x01, 0x7A, 0x93, 0x79, 0x83, 0x12, 0x55, 0x67, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x00, -0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0x90, -0x93, 0x26, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x09, -0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x93, -0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x93, 0x15, 0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0, 0xE4, 0x90, -0x93, 0x26, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, -0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, -0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, -0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, 0x28, 0x74, -0x02, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, -0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, -0x90, 0x93, 0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x1C, 0xE0, -0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, -0xFB, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, -0xF0, 0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, -0xF7, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, -0x93, 0x0B, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, -0x43, 0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, -0x90, 0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, -0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0xB1, 0x5F, 0x90, 0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, -0x7F, 0x02, 0x02, 0x3A, 0xAD, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x24, 0x02, 0x73, 0x74, 0x12, 0x1E, -0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, -0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, -0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, -0x73, 0x74, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xAE, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0xAF, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x46, -0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x94, 0x47, 0xE0, -0x94, 0x88, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, -0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x46, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x47, 0xE0, 0x94, 0x64, 0x90, 0x94, 0x46, 0xE0, -0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, -0x22, 0x90, 0x93, 0xE2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xE6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, -0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, -0x73, 0x50, 0x41, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xE2, 0x12, 0x43, -0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, -0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xEF, -0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xE6, 0x12, -0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE6, 0x02, 0x43, 0x84, 0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, -0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, -0x90, 0x93, 0xB4, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xC0, 0x12, 0x1F, -0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0xF1, 0x51, 0x90, 0x93, 0xC4, 0x12, 0x1F, 0xC9, 0x90, -0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0xC0, 0x12, 0x43, 0x90, 0x12, 0x43, -0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xC4, 0x12, 0x43, 0x84, 0xA9, -0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, -0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0xC8, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, -0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xC8, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, -0x06, 0xC0, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, -0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xEA, -0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, -0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, -0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x14, -0x12, 0x51, 0xBB, 0xBF, 0x01, 0x0B, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x30, 0xE0, -0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x24, 0x90, 0x93, 0x47, 0xE0, 0x60, -0x1E, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x13, 0x90, 0x93, 0xEE, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xEE, 0x12, 0x55, 0x67, 0x12, -0x54, 0x4B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, -0x4E, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, -0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, -0x90, 0x94, 0x4E, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, -0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, -0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, -0x94, 0x4E, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, -0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, 0x90, 0x94, -0x4E, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, -0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, -0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x94, 0x3E, 0xE0, -0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x44, 0xFE, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x94, 0x3F, 0xF0, 0x22, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, -0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, -0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, -0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6C, 0x30, 0xE6, 0x08, 0xE0, -0x54, 0x0F, 0x44, 0x50, 0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, -0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, -0xAD, 0x07, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, -0x62, 0xE0, 0x90, 0x93, 0xFC, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0xFD, 0xF0, 0x90, 0xFD, -0x64, 0xE0, 0x90, 0x93, 0xFE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, -0x66, 0xE0, 0x90, 0x94, 0x00, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x94, 0x01, 0xF0, 0xED, 0xB4, -0x02, 0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, -0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, -0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90, 0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, -0x93, 0xFC, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0xFC, 0xF0, 0xE4, 0x90, 0x93, 0xFD, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xFC, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xFA, 0x02, 0x66, 0x89, 0xAD, 0x07, 0x90, 0x93, -0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, -0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, -0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, -0x73, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, -0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, -0xB4, 0x02, 0x0F, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0x6E, 0x74, -0x02, 0xF0, 0x90, 0x93, 0x6C, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, -0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x12, 0x66, 0x89, 0x22, -0x90, 0x93, 0x47, 0xE0, 0x60, 0x27, 0x90, 0x93, 0x4A, 0xE0, 0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, -0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x44, -0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0xA1, 0x16, 0x90, 0x93, 0x1D, 0xE0, -0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, 0x60, -0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, -0x4B, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, -0xA1, 0x01, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, -0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, -0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, -0x94, 0x4B, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, -0x02, 0xA1, 0x01, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x22, 0x90, -0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, 0x81, 0xC5, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x4E, 0xA1, 0x13, 0x90, -0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, -0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x02, 0x81, 0xD4, 0x90, 0x93, 0x2A, -0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, -0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, -0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, 0x40, 0x02, 0xA1, 0x13, 0x74, 0x02, 0xF0, 0x22, 0x90, -0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, -0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, -0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, -0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, -0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58, 0x90, 0x07, -0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90, 0x93, 0x2A, -0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, 0x80, 0x3A, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, -0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x27, 0x80, 0x23, -0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, -0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, -0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x64, 0x01, 0x70, 0x3C, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x0D, 0xF0, 0x22, 0x90, -0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, -0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x93, 0x18, 0xE0, 0xC3, 0x13, 0x90, 0x07, 0x78, 0x30, -0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x13, -0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03, 0xF0, 0x22, 0x74, 0x01, 0xF0, 0x22, -0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x12, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, -0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, -0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, -0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x5D, 0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, -0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, -0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, -0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, -0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0xE4, 0x90, 0x94, -0x4B, 0xF0, 0x22, 0x00, 0x8C, 0xC1, -}; - - - -const u8 Rtl8723SFwUMCBCutImgArrayWithoutBT[Rtl8723SUMCBCutImgArrayWithoutBTLength] = { -0x02, 0x23, 0x02, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x10, 0x06, 0xE0, 0x4A, 0x01, 0x00, -0x03, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x4A, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x59, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x61, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x61, 0xDA, 0x00, 0x00, -0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, 0x00, 0x04, 0x06, 0x05, 0x04, 0x02, -0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, 0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, -0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, -0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, 0x00, 0x18, 0x22, 0x21, 0x20, 0x18, -0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, 0x20, 0x08, 0x00, 0x20, 0x22, 0x21, -0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, 0x22, 0x20, 0x18, 0x08, 0x00, 0x20, -0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, 0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, -0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, 0x10, 0x00, 0x00, 0x30, 0x31, 0x20, -0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, -0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, 0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, -0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, 0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, -0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, 0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, -0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, -0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, 0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, -0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60, -0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, 0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, -0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, 0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, -0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, -0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, -0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, 0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, -0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, 0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, -0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, 0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, -0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, -0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x05, 0x06, -0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28, -0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09, -0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9, -0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, -0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, -0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, -0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, -0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, -0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, -0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, -0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, -0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, -0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, -0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, -0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, -0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, -0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, -0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, -0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE, -0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED, -0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC, -0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, -0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, -0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5, -0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, -0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, -0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, -0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, -0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, -0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, -0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, -0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3, -0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0x90, 0x93, 0x07, 0xF0, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xDD, -0x90, 0x93, 0x51, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x60, -0x03, 0x02, 0x44, 0xDD, 0x02, 0x44, 0xDA, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, -0x90, 0x93, 0x4F, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, -0x30, 0xE0, 0x3A, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xB5, 0x07, -0x0A, 0x90, 0x93, 0x30, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x93, 0x2D, 0xE0, 0xC4, -0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xB5, -0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x2D, -0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x07, 0x74, 0x5A, 0xF0, -0x90, 0x93, 0x07, 0xE0, 0xFF, 0x90, 0x93, 0x3F, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, -0x38, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5, 0x62, 0xB4, -0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x51, 0x9C, 0x22, 0xEF, 0x60, -0x0F, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x22, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x22, 0x02, -0x55, 0xE5, 0x22, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xA3, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x62, 0x64, -0x01, 0x60, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x65, 0x14, 0x60, 0x29, 0x24, 0xFD, 0x60, 0x25, 0x24, -0x02, 0x24, 0xFB, 0x50, 0x02, 0x80, 0x23, 0x90, 0x93, 0x37, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, -0xA3, 0xE0, 0x60, 0x16, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x0A, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93, -0x37, 0xF0, 0x80, 0x00, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, -0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91, -0xEF, 0x70, 0x04, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x01, 0xE0, 0x70, 0x03, 0x02, 0x46, 0x9B, -0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, -0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x2E, 0x80, 0x2D, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, -0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, -0x98, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x31, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x2E, 0xE0, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, -0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, -0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04, -0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, -0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, -0x12, 0x48, 0xF4, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x2B, 0xE0, 0xFF, 0x90, 0x93, -0x4F, 0xE0, 0xD3, 0x9F, 0x40, 0x08, 0x90, 0x93, 0x2C, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, -0x93, 0x2C, 0xF0, 0x90, 0x93, 0x4F, 0xE0, 0x90, 0x93, 0x2B, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, -0x40, 0x46, 0xE4, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70, 0x03, -0x12, 0x4F, 0x63, 0x90, 0x93, 0x50, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x48, 0xF0, 0xE4, 0xF5, -0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, -0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x4C, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, -0x51, 0x2B, 0x90, 0x93, 0x48, 0x74, 0x01, 0xF0, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x98, 0xE0, 0x30, -0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x07, -0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x47, 0xA2, -0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x47, 0xA2, 0x90, 0x93, 0x07, 0x04, 0xF0, 0xE4, 0x90, -0x93, 0x37, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4, -0x90, 0x93, 0x07, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x04, 0x90, 0x93, 0x07, 0xF0, -0x90, 0x93, 0x07, 0xE0, 0x70, 0x03, 0x02, 0x47, 0xA2, 0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x32, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, -0xE0, 0xD3, 0x9F, 0x50, 0x09, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x2E, 0xE0, 0x80, 0x4A, 0xE4, 0xF5, -0x48, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, -0x03, 0xA4, 0xFF, 0x90, 0x93, 0x2E, 0xE0, 0x04, 0x2F, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64, -0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, -0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03, -0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, -0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x12, 0x51, 0x4C, 0x90, 0x05, 0x22, -0xE4, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, -0x50, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x93, 0x4E, 0x04, 0xF0, 0x90, -0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x93, 0x46, 0x74, -0x05, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, -0x93, 0x3F, 0xF0, 0x90, 0x93, 0x42, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90, -0x93, 0x47, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x93, -0x71, 0xF0, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x53, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x93, -0x34, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x93, 0x3B, 0xF0, 0x90, 0x93, -0x48, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, -0x40, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, -0x2D, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x93, 0x30, 0xF0, 0x22, 0x8E, 0x69, 0x8F, 0x6A, 0xAD, -0x6A, 0xAC, 0x69, 0xAF, 0x68, 0x12, 0x44, 0xDE, 0xAF, 0x6A, 0xAE, 0x69, 0x90, 0x04, 0x80, 0xE0, -0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, -0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xFB, -0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0xFA, -0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F, 0xF0, 0xAC, -0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F, 0xF0, 0x90, -0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0, 0x90, 0x04, -0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, -0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED, 0xF0, 0x22, -0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x6C, 0x8D, 0x6D, 0xE5, -0x6C, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x6C, 0x30, 0xE2, 0x30, -0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0x69, 0xE5, 0x63, 0x30, 0xE3, 0x10, 0xE5, -0x6C, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x9D, 0xEF, 0x60, 0x53, 0x12, 0x51, 0x05, 0x80, 0x4E, 0xE5, -0x63, 0x20, 0xE3, 0x49, 0xE5, 0x6C, 0x30, 0xE3, 0x44, 0xAF, 0x6D, 0x12, 0x50, 0x8A, 0x80, 0x3D, -0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x6C, 0x20, 0xE3, 0x09, 0x12, 0x4D, 0x9D, -0xEF, 0x60, 0x2A, 0x12, 0x51, 0x05, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E, 0xE5, 0x6C, -0x20, 0xE2, 0x09, 0x12, 0x4B, 0x16, 0xEF, 0x60, 0x14, 0x12, 0x50, 0xB3, 0xE5, 0x63, 0x54, 0x0F, -0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4C, 0x72, 0xEF, 0x60, 0x03, 0x12, 0x51, 0xB0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0xE0, -0x54, 0xC0, 0x70, 0x11, 0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, -0x12, 0x51, 0x9C, 0x80, 0x0F, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70, -0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x01, 0xE0, 0x30, 0xE6, 0x15, 0x43, 0x66, 0x01, 0x90, 0x93, -0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x0E, 0x12, 0x4F, 0x1D, 0x80, 0x09, -0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93, -0x01, 0xE0, 0x30, 0xE7, 0x23, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x42, 0xE0, 0xF5, -0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, -0xF0, 0x90, 0x93, 0x51, 0x74, 0x01, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, 0xEF, 0x64, 0x01, 0x70, -0x48, 0x7D, 0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, -0x01, 0x36, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, -0x3A, 0x3F, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x48, 0xF0, -0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x67, 0x4A, 0x90, 0x06, 0x04, 0xE0, 0x54, 0x7F, -0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0, 0xA3, -0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, -0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x06, -0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4E, 0x3E, 0xE5, 0x62, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x93, -0x39, 0xF0, 0x22, 0x02, 0x4A, 0xD1, 0x02, 0x52, 0xA5, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, -0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, -0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4, -0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, -0x80, 0x90, 0x4F, 0xE3, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, -0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60, -0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, -0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, -0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, -0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, -0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9, -0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, -0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90, -0x93, 0x39, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x43, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, -0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22, -0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, 0x02, 0x60, 0x06, -0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x06, -0xAA, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x07, 0x90, 0x93, 0x4E, 0xE0, -0xFF, 0x80, 0x05, 0x90, 0x93, 0x37, 0xE0, 0xFF, 0x90, 0x93, 0x37, 0xEF, 0xF0, 0x90, 0x93, 0x39, -0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x05, -0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x53, -0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x03, 0x12, 0x49, -0x82, 0x22, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, 0x90, 0x93, 0x70, -0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x53, 0xB6, 0x90, 0x00, -0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x28, 0xE0, 0x54, 0xFC, -0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, 0x7F, 0x08, 0x12, -0x53, 0xB6, 0x7F, 0x01, 0x12, 0x4D, 0x45, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, 0xFD, 0xE4, 0xFF, -0x12, 0x53, 0xB6, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x90, -0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0xB6, 0x7F, 0x14, 0x7E, 0x00, 0x02, -0x3B, 0x09, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, -0x80, 0x54, 0xE5, 0x18, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x48, 0xE5, 0x64, -0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x37, 0x90, -0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x29, 0x90, 0x02, 0x86, -0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x3A, 0xE0, -0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, -0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, 0x7F, 0x00, 0x22, 0x90, -0x93, 0x21, 0x12, 0x43, 0xC8, 0x12, 0x51, 0xC3, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x12, 0x1E, -0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, 0x70, 0x44, -0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0xFD, 0xE4, 0xFF, 0x12, 0x4F, 0xA5, 0x80, 0x29, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x4F, 0xA5, 0x1F, 0x80, 0x14, 0x90, 0x93, 0x21, -0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x4F, 0xA5, 0xE4, -0xFF, 0x12, 0x4A, 0x0C, 0x22, 0x8F, 0x70, 0xE4, 0x90, 0x93, 0xE3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, -0x09, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x70, 0x60, 0x3E, 0xC3, 0x90, -0x93, 0xE4, 0xE0, 0x94, 0x88, 0x90, 0x93, 0xE3, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, -0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0xE3, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, -0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE4, 0xE0, 0x94, 0x32, 0x90, 0x93, 0xE3, -0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x12, 0x51, 0x83, -0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, 0x93, 0x4C, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x49, 0xE0, 0x60, -0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x04, -0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, -0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, 0x22, 0x90, -0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x7F, 0xF4, 0x7E, 0x01, 0x12, -0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, 0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xB6, 0x90, 0x00, -0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, -0xFD, 0x7F, 0x08, 0x12, 0x53, 0xB6, 0xE4, 0xFF, 0x12, 0x4D, 0x45, 0x7F, 0x64, 0x7E, 0x00, 0x12, -0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, 0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x53, 0xB6, 0xE4, 0xFF, -0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, 0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, -0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, 0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, -0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, 0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, -0x45, 0xE0, 0x9D, 0x90, 0x93, 0x44, 0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, -0x90, 0x93, 0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0x8F, 0x68, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x6B, -0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x7D, 0x01, -0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x05, 0x22, 0xE5, 0x6B, 0xF0, 0x80, 0x0D, 0x90, 0x93, -0x69, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x04, 0x1F, 0x74, 0x20, -0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x3D, 0x90, -0x93, 0x50, 0xE0, 0x60, 0x27, 0x12, 0x48, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, -0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, -0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x22, 0xE5, 0x63, 0x54, 0x0F, -0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x22, 0x90, 0x01, 0x5F, -0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, -0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, -0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x49, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, -0xC3, 0x94, 0x0C, 0x50, 0x0D, 0x12, 0x48, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12, -0x67, 0x4A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x4D, 0x74, 0x01, 0xF0, -0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3, -0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3, -0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, -0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, 0x24, 0x02, 0x70, 0x32, -0x80, 0x0A, 0x90, 0x93, 0x4E, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x53, -0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x47, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x80, 0x05, 0x90, -0x93, 0x4E, 0xED, 0xF0, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x93, 0x53, 0x74, -0x01, 0xF0, 0x22, 0x48, 0x93, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x93, -0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x5E, 0x00, 0x41, 0x93, 0x6D, -0x00, 0x41, 0x93, 0xE9, 0x00, 0x41, 0x93, 0x2B, 0x00, 0x41, 0x93, 0x2C, 0x00, 0x41, 0x92, 0x69, -0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, 0x93, 0xDF, 0x00, 0x00, 0x90, 0x01, -0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0x90, 0x93, -0x35, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, 0xFF, 0x74, 0x40, 0x7E, 0x00, -0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x90, 0x93, 0x4B, 0xF0, -0xEE, 0x90, 0x93, 0x4A, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7, -0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7, 0x60, 0x09, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x01, 0x10, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0xD7, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x56, 0x9D, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, -0xF0, 0xEF, 0x60, 0x0A, 0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x8B, 0x53, 0x63, -0xF0, 0x43, 0x63, 0x0C, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x54, -0x7F, 0xF0, 0x22, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, -0x8A, 0x65, 0xEF, 0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, -0x3A, 0x93, 0x12, 0x54, 0x14, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0xE5, 0x64, 0x30, 0xE6, -0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0, -0x53, 0x64, 0xBF, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x83, 0xE0, 0x30, 0xE0, -0x03, 0x75, 0x64, 0x02, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, -0x05, 0x7F, 0x01, 0x12, 0x4E, 0x8B, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x90, 0x93, 0x98, 0xE0, -0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x3D, 0xE0, 0x70, -0x1A, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0x68, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, -0x95, 0x8E, 0x6E, 0x8F, 0x6F, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x3E, 0xE0, -0x60, 0x16, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x3B, 0xE0, 0x90, 0x07, 0x78, 0x60, -0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0xEA, 0xEF, 0xF0, 0x12, 0x56, -0x14, 0x90, 0x93, 0xEA, 0xE0, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, -0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, 0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, -0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, 0x02, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x98, 0xE0, -0x30, 0xE0, 0x05, 0xAF, 0x64, 0x02, 0x5F, 0x72, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x22, -0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0x02, 0x12, 0x4D, 0xEF, 0x53, 0x63, 0xF0, 0x43, -0x63, 0x02, 0x22, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x38, 0xF0, 0xF5, 0x66, 0x22, 0x90, -0x02, 0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, -0x43, 0xF7, 0x51, 0xFA, 0x00, 0x40, 0x52, 0x22, 0x00, 0x80, 0x52, 0x4D, 0x01, 0x00, 0x52, 0x61, -0x02, 0x00, 0x52, 0x79, 0x04, 0x00, 0x00, 0x00, 0x52, 0x96, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, -0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0x80, 0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, -0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, -0x07, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, -0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, -0x35, 0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, -0x2D, 0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, -0x00, 0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x1F, -0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0C, 0xF0, 0xA3, 0xF0, 0x12, 0x60, 0xFB, 0x75, -0x8E, 0x02, 0x91, 0xE6, 0x12, 0x60, 0x52, 0x90, 0x93, 0x70, 0xEF, 0xF0, 0x12, 0x60, 0x65, 0x90, -0x93, 0x72, 0xEF, 0xF0, 0x12, 0x60, 0x71, 0x90, 0x93, 0x54, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, -0xF5, 0x18, 0xF5, 0x0D, 0xF5, 0x62, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, -0xF0, 0x12, 0x7E, 0x58, 0x12, 0x47, 0xA3, 0x12, 0x37, 0x1C, 0x7F, 0x03, 0x12, 0x88, 0x1B, 0x71, -0x8D, 0x12, 0x60, 0x16, 0x12, 0x60, 0x89, 0x12, 0x60, 0x9E, 0x12, 0x60, 0x34, 0x12, 0x45, 0x02, -0x12, 0x61, 0x03, 0x91, 0xCE, 0x90, 0x93, 0x0E, 0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, -0xE0, 0x44, 0x40, 0xF0, 0x71, 0xFE, 0x75, 0xE8, 0x03, 0x43, 0xA8, 0x85, 0xD2, 0xAF, 0x12, 0x82, -0xBB, 0x51, 0x9B, 0x12, 0x60, 0xA5, 0x90, 0x93, 0x0C, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xA5, 0x90, -0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x18, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x18, -0xEF, 0xD2, 0xAF, 0x12, 0x67, 0x8F, 0xE5, 0x18, 0x30, 0xE6, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0xBF, -0xD2, 0xAF, 0x12, 0x76, 0x54, 0xE5, 0x18, 0x30, 0xE7, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0x7F, 0xD2, -0xAF, 0x12, 0x82, 0x61, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x93, -0x3A, 0x74, 0x01, 0xF0, 0x31, 0x9C, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0xD2, 0xAF, 0x90, 0x01, 0xBD, -0xE5, 0x63, 0xF0, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, 0x99, 0x90, 0x01, 0x3C, -0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, -0xF0, 0xFD, 0x7F, 0x54, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x55, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x56, -0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75, -0x83, 0x00, 0xED, 0xF0, 0x71, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x30, 0xE4, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xFD, 0x7F, 0x50, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x51, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x52, 0x71, -0xB6, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10, -0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x05, -0x22, 0x74, 0xFF, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xB4, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, -0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x71, 0xFE, 0x71, 0xF7, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, -0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, -0x44, 0x20, 0xF0, 0x90, 0x93, 0x41, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x34, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x4D, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, -0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, -0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, -0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x22, 0xE4, -0xFF, 0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB8, 0xD1, 0x99, 0x90, 0x07, 0x78, 0x74, 0x01, -0xF0, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, -0xE0, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0x7F, -0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x6C, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44, -0x80, 0xFD, 0x7F, 0x80, 0x61, 0xB6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xEF, -0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x9F, 0xE0, 0x90, 0x93, 0xEB, 0xF0, -0x6F, 0x70, 0x02, 0xA1, 0xDC, 0xEF, 0x14, 0x60, 0x3B, 0x14, 0x60, 0x5F, 0x14, 0x70, 0x02, 0xA1, -0xB6, 0x24, 0x03, 0x60, 0x02, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x03, 0x04, 0xD1, 0xE4, -0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x02, 0x04, 0xD1, 0xFC, 0xA1, 0xDC, 0x90, 0x93, 0xEB, -0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x00, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0x64, 0x01, 0x70, 0x7C, -0xD1, 0xE6, 0x80, 0x78, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x03, 0x04, 0xF1, 0x35, 0x80, 0x6C, -0xEF, 0xB4, 0x02, 0x04, 0xF1, 0x04, 0x80, 0x64, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x04, 0x04, -0xF1, 0x1A, 0x80, 0x58, 0xEF, 0x70, 0x55, 0xD1, 0x01, 0x80, 0x51, 0x90, 0x93, 0xEB, 0xE0, 0xB4, -0x03, 0x04, 0xF1, 0x25, 0x80, 0x46, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x01, 0x04, 0x91, 0xF6, 0x80, -0x3B, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x11, 0x80, 0x30, 0x90, 0x93, 0xEB, 0xE0, -0x70, 0x2A, 0xB1, 0xE1, 0x80, 0x26, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x01, 0x04, 0xB1, 0xE5, -0x80, 0x1A, 0xEF, 0xB4, 0x02, 0x04, 0xB1, 0xFD, 0x80, 0x12, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, -0x04, 0x05, 0x12, 0x44, 0xFF, 0x80, 0x05, 0xEF, 0x70, 0x02, 0xB1, 0xF9, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD1, 0x01, 0x81, 0xF6, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x54, -0xBF, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x03, 0xF0, 0x22, 0xD1, 0x01, 0x80, 0xE8, 0xD1, 0x14, 0x80, -0xE4, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x9F, -0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xAC, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, -0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x41, 0xE0, -0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x0A, 0x31, 0x83, -0xEF, 0x64, 0x01, 0x60, 0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x1C, 0x7F, 0x01, -0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB0, 0xD1, 0x99, 0x71, 0xF7, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x90, 0x93, 0xEC, 0xEF, 0xF0, 0xD1, 0x14, 0x90, 0x93, 0xEC, 0xE0, 0x60, 0x05, 0x90, 0x05, -0x22, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, -0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, -0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, -0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, -0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x88, 0x6C, 0xD0, -0xD0, 0x92, 0xAF, 0x22, 0xF1, 0x35, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x05, 0x27, -0xE4, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE4, 0x90, 0x93, 0x9F, 0xF0, 0x22, 0xF1, 0x04, 0x80, 0xE6, -0xF1, 0x1A, 0x80, 0xE2, 0xD1, 0x14, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x9F, 0x04, 0xF0, -0x22, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, -0x93, 0x9F, 0x04, 0xF0, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x0E, 0x90, 0x93, -0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, -0xF0, 0x90, 0x93, 0x9F, 0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0xED, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x46, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, -0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x71, 0xFE, -0x90, 0x93, 0xED, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, -0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, -0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4B, 0x90, -0x93, 0xED, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, -0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x71, 0xFE, 0x90, 0x93, 0xED, -0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, -0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, -0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, -0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x8B, 0x21, 0x8A, 0x22, 0x89, 0x23, 0x90, 0x93, 0xBC, 0x12, 0x43, 0xC8, 0xAB, 0x24, 0xAA, 0x25, -0xA9, 0x26, 0x90, 0x93, 0xBF, 0x12, 0x43, 0xC8, 0xAF, 0x27, 0x15, 0x27, 0xEF, 0x60, 0x1E, 0x90, -0x93, 0xBF, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x93, 0xBC, -0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x21, 0xAA, -0x22, 0xA9, 0x23, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x01, 0xC4, 0x74, 0x48, 0xF0, 0x74, 0x58, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, -0x05, 0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, -0xC7, 0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x11, 0x48, 0xBF, 0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x95, 0x90, 0x04, -0x1F, 0x74, 0x20, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, -0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, -0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, -0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, -0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, -0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, -0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13, -0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x01, -0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07, -0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3B, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D, -0xF0, 0x79, 0x40, 0x90, 0x93, 0x01, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0, -0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x22, 0x90, 0x93, 0x5E, 0xE0, 0x04, -0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0B, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x02, -0x11, 0x80, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, -0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, -0x90, 0x01, 0xC4, 0x74, 0x63, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28, -0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0, -0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x57, 0x90, 0x01, 0x34, 0x74, 0x01, -0xF0, 0x85, 0xD1, 0x0E, 0x85, 0xD3, 0x10, 0x85, 0xD4, 0x11, 0x85, 0xD5, 0x12, 0x85, 0xD6, 0x13, -0x85, 0xD7, 0x14, 0x85, 0xD9, 0x15, 0x85, 0xD2, 0x0F, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75, -0x26, 0x0E, 0x75, 0x27, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0x5F, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x60, -0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02, -0x61, 0x08, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, -0x61, 0x08, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0x61, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90, -0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, -0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03, -0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, -0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x63, 0xE0, 0x54, -0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, -0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, -0x60, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, -0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, -0x12, 0x42, 0x87, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, -0x67, 0xAF, 0x4D, 0x12, 0x71, 0x11, 0x80, 0x60, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13, -0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25, -0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87, -0x90, 0x93, 0x62, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54, -0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0x12, 0x70, 0xAD, 0x80, 0x1B, 0x90, 0x01, 0x02, -0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, -0x46, 0x90, 0x93, 0x50, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x04, 0xF0, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, -0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, -0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x80, 0x09, 0x12, 0x51, -0x83, 0xBF, 0x01, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xF9, 0x90, 0x01, -0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, -0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, -0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x16, 0x90, 0x04, 0x7E, -0xE0, 0x55, 0x51, 0xF5, 0x17, 0x65, 0x16, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x16, 0x75, 0xF0, 0x08, -0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, -0x19, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75, -0x26, 0x19, 0x75, 0x27, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x56, 0x12, 0x57, 0xF9, 0x90, 0x93, -0x56, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x9F, 0xE5, 0x16, -0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, -0x16, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x17, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, -0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, -0x18, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, -0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x53, -0xCB, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x53, 0xFE, 0x80, 0xFE, 0xE5, 0x2C, 0x30, -0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x30, 0xE0, 0x52, 0x90, 0x93, 0x71, -0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0x6E, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, -0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x9E, 0xE0, -0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90, 0x93, 0xA0, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x98, 0xE0, 0xFF, 0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90, -0x93, 0x9A, 0x74, 0x01, 0xF0, 0x12, 0x45, 0x09, 0xF1, 0xBF, 0x90, 0x93, 0x71, 0xE4, 0xF0, 0xE5, -0x2E, 0x30, 0xE1, 0x7D, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x62, 0xE0, 0xFE, 0x90, -0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0A, 0xEC, 0x3E, 0xF5, 0x09, 0x90, 0x05, 0x22, -0xE0, 0xB4, 0xFF, 0x06, 0x90, 0x01, 0xE6, 0xE0, 0x04, 0xF0, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x01, -0xE4, 0xF0, 0x43, 0x18, 0x40, 0x11, 0xF5, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0C, 0xE4, 0xFF, -0xD1, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x1D, -0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, -0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, -0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, -0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x7B, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x90, 0x05, 0x62, 0xE0, -0xFE, 0x90, 0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0C, 0xEC, 0x3E, 0xF5, 0x0B, 0xD3, -0xE5, 0x0C, 0x95, 0x0A, 0xE5, 0x0B, 0x95, 0x09, 0x40, 0x06, 0x90, 0x01, 0xE5, 0xE0, 0x04, 0xF0, -0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0D, 0x90, 0x93, 0x39, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0xE0, -0x64, 0x06, 0x60, 0x3D, 0x12, 0x4B, 0x90, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x34, 0x90, 0x93, 0x4E, -0xE0, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73, -0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01, 0x7F, -0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x37, 0xE0, 0x14, -0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, 0x64, 0x01, -0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, -0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x42, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B, 0x90, -0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, 0x90, 0x01, -0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE4, 0xF0, 0x53, 0x66, -0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2E, 0x30, 0xE5, 0x1F, 0x90, -0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x14, 0xE5, 0x65, 0x60, 0x10, 0x90, 0x93, -0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x03, 0x12, 0x4F, 0x1D, 0xE5, 0x2E, -0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, -0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2F, -0x30, 0xE1, 0x18, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x08, -0x90, 0x93, 0x9D, 0x74, 0x01, 0xF0, 0x80, 0x03, 0x12, 0x4E, 0xD6, 0x74, 0x63, 0x04, 0x90, 0x01, -0xC4, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, -0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, -0x32, 0x8F, 0x71, 0x90, 0x05, 0x43, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0x22, 0x90, -0x93, 0x01, 0xE0, 0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, -0x00, 0x79, 0x19, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x01, 0xD3, 0x10, -0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, -0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, -0x69, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, -0xA3, 0xE0, 0xB5, 0x07, 0x0F, 0x12, 0x81, 0x51, 0xEF, 0x60, 0x72, 0x12, 0x82, 0x61, 0x90, 0x01, -0x3F, 0x74, 0x02, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6B, 0xF9, 0x74, -0x92, 0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x7E, 0x00, -0x7F, 0x02, 0x12, 0x1E, 0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9, -0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x93, 0xCB, -0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x12, -0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x57, -0xF9, 0x90, 0x92, 0x6A, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xAE, 0x07, 0xE4, 0xFF, 0xD1, 0x91, 0xEF, 0x60, 0x19, 0x90, 0x93, 0x98, 0xE0, 0xC4, -0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x0D, 0xAF, 0x06, 0x7D, 0x01, 0x12, 0x48, 0xF4, 0x12, 0x67, -0x4A, 0x7F, 0x01, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x26, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x29, -0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x26, 0x12, 0x43, -0xA8, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x29, 0xC1, 0xBE, 0x90, -0x93, 0xE0, 0xE0, 0x30, 0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x93, 0xDF, 0xE0, 0x04, -0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x93, 0xE2, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0xDF, 0xF0, -0x90, 0x93, 0xE2, 0xE0, 0xFF, 0x90, 0x93, 0xE1, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x8A, 0xA6, -0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, -0xEF, 0x30, 0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, -0x05, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, -0x2B, 0x90, 0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, -0xE5, 0x2B, 0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, -0x43, 0x32, 0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, -0xF0, 0x22, 0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, -0x02, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, 0x7F, 0x01, -0x22, 0x90, 0x93, 0x72, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, -0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, -0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, -0x64, 0x74, 0x20, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0, -0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x10, -0xE0, 0x94, 0x88, 0x90, 0x93, 0x0F, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, -0x80, 0xF0, 0x22, 0x90, 0x93, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, -0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x10, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x0F, 0xE0, 0x94, -0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x94, 0xE0, 0x44, -0x01, 0xF0, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0, -0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74, -0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98, -0x04, 0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, -0xC0, 0x06, 0xC0, 0x07, 0x7D, 0x33, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x61, 0xFF, 0xA3, 0xF0, -0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, -0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, -0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, -0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, -0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, -0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, -0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, -0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, -0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, -0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, -0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xDA, 0xF0, -0x74, 0x61, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, -0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, -0x37, 0xE5, 0x34, 0x30, 0xE0, 0x1A, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0, -0x30, 0xE0, 0x0D, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0xE5, 0x34, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x44, 0x24, 0xE5, 0x34, -0x30, 0xE2, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, -0x75, 0x48, 0x00, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, -0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, -0x08, 0x90, 0x93, 0x4C, 0xE4, 0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, -0x3C, 0x74, 0x08, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, -0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x49, 0xE4, -0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE4, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0xE5, -0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, -0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, -0xF0, 0x12, 0x50, 0xDC, 0x12, 0x51, 0x9C, 0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, -0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x6D, -0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, -0x04, 0xF0, 0xE5, 0x36, 0x20, 0xE0, 0x02, 0x61, 0xAF, 0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x9E, 0xE0, 0x30, 0xE0, 0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E, -0x91, 0xEF, 0x60, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x5F, -0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x3B, 0x91, 0x86, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0x64, -0x06, 0x60, 0x30, 0xEF, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x04, -0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09, 0x90, -0x93, 0x99, 0xE0, 0xB4, 0x02, 0x04, 0x7F, 0x01, 0x91, 0xDA, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, -0xF4, 0xF1, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x75, 0x48, 0x00, 0x75, 0x49, 0x03, 0xE4, -0xFB, 0xFD, 0x7F, 0x50, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x53, 0x74, 0x05, 0xF0, 0xE5, -0x36, 0x30, 0xE1, 0x3C, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0x30, 0xE0, -0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x05, 0x7F, -0x02, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x15, 0x12, 0x89, 0xF6, 0x90, 0x93, -0x99, 0xE0, 0x64, 0x06, 0x60, 0x0A, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x02, 0x91, 0xA8, -0xE5, 0x36, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xE5, 0x36, 0x30, 0xE4, 0x06, -0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x04, -0xF0, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6, -0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74, -0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x18, 0x80, -0xE5, 0x37, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x46, 0xAC, 0x90, 0x93, -0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x5F, 0xBF, -0x74, 0xDA, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, -0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, -0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x98, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x30, 0xE0, 0x0A, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x04, 0x7F, 0x06, 0x91, 0xDA, 0x90, 0x93, 0x99, -0xE0, 0x64, 0x06, 0x60, 0x02, 0xF1, 0x29, 0x22, 0x90, 0x93, 0x39, 0xE0, 0x60, 0x16, 0x90, 0x93, -0x99, 0xE0, 0x70, 0x04, 0x7F, 0x05, 0x80, 0x1F, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x01, 0x70, 0x19, -0x7F, 0x02, 0x80, 0x13, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0x7F, 0x03, 0x80, 0x08, 0x90, -0x93, 0x99, 0xE0, 0x70, 0x04, 0x7F, 0x04, 0x91, 0xDA, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, -0xD0, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0x6F, 0x70, 0x02, 0xC1, 0xAC, 0xEF, 0x12, 0x43, 0xD1, 0x65, -0x08, 0x00, 0x65, 0x43, 0x01, 0x65, 0x8A, 0x02, 0x65, 0xC5, 0x03, 0x65, 0xFE, 0x04, 0x66, 0x37, -0x05, 0x66, 0x73, 0x06, 0x00, 0x00, 0x66, 0xAC, 0xEE, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, -0x81, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0xB4, 0x05, 0x04, 0xD1, 0xBB, 0xC1, 0xAC, 0xEF, -0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06, -0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xD1, -0xF0, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, -0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, -0xD1, 0xE6, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, -0xC1, 0xAC, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, -0x64, 0x02, 0x60, 0x02, 0xC1, 0xAC, 0xD1, 0xC5, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, -0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, -0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, 0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xFE, -0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x08, 0xEE, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0xD1, -0xB1, 0xF1, 0x1C, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, -0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, -0x70, 0x04, 0xD1, 0xE6, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF, -0xD1, 0xD0, 0x80, 0x06, 0xEE, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x05, 0xC1, 0xAC, 0x90, 0x93, -0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06, -0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90, -0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1, 0xF0, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, -0x02, 0xD1, 0xBB, 0xD1, 0xFB, 0x80, 0x75, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, -0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, -0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1, -0xF0, 0x80, 0x0C, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x05, 0x7F, 0x01, 0x12, 0x56, 0x81, 0xF1, -0x0F, 0x80, 0x39, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, -0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, -0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06, 0xE4, 0xFF, 0xD1, 0xB1, 0x80, -0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x36, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x12, 0x51, 0x69, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x90, 0x93, 0x99, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0x04, 0xF0, 0x22, -0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, -0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x51, 0x05, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, -0x7F, 0x01, 0x12, 0x50, 0x8A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x12, 0x54, 0x0E, 0x90, 0x93, -0x99, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x50, 0xB3, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0, 0x22, 0x90, -0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x05, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x93, 0x9D, 0xE0, 0xB4, 0x01, 0x05, -0xE4, 0xF0, 0x12, 0x4E, 0xD6, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x06, 0xF0, 0x22, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x06, -0x60, 0x3C, 0xE5, 0x63, 0x54, 0x0F, 0x14, 0x60, 0x2E, 0x14, 0x60, 0x1E, 0x24, 0xFE, 0x60, 0x0E, -0x24, 0xF8, 0x70, 0x2A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x90, 0x05, 0x22, 0xF0, 0x22, 0x90, 0x93, -0x99, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0, -0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x08, 0xF0, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x0F, 0xF0, -0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x68, 0xDA, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74, -0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, -0xEF, 0x5D, 0x70, 0x03, 0x02, 0x68, 0xD3, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, -0xD0, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x75, 0x24, 0x01, 0x75, 0x25, 0x93, 0x75, -0x26, 0x10, 0x75, 0x27, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x11, 0x12, 0x57, 0xF9, 0x90, 0x93, -0x11, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0xE9, 0x30, 0xE0, 0x59, 0xE0, -0x75, 0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93, -0xE9, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0, -0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x14, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x15, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, -0x9C, 0xE0, 0x90, 0x93, 0x16, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, -0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, -0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x14, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, -0x01, 0x7A, 0x93, 0x79, 0x12, 0x11, 0xDF, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x90, 0x93, 0xE9, 0xE0, -0xFE, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, -0x0F, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, -0xD8, 0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, -0x02, 0x67, 0xA0, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x93, 0x17, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x69, 0x2E, 0x01, 0x69, 0x26, 0x02, 0x69, -0x73, 0x03, 0x69, 0x7C, 0x05, 0x69, 0x85, 0x06, 0x69, 0xC8, 0x07, 0x69, 0x8D, 0x08, 0x69, 0x96, -0x0B, 0x69, 0x9F, 0x1B, 0x69, 0xA7, 0x1C, 0x69, 0x37, 0x2D, 0x69, 0x40, 0x2E, 0x69, 0xAF, 0x30, -0x69, 0x52, 0x34, 0x69, 0x49, 0x3B, 0x69, 0x5A, 0x47, 0x69, 0x6B, 0x48, 0x69, 0x63, 0x49, 0x69, -0xB8, 0x4B, 0x00, 0x00, 0x69, 0xC1, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xB9, 0x90, 0x93, -0x17, 0x12, 0x43, 0xA8, 0x02, 0x82, 0xC7, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xA8, -0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xF0, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, -0x84, 0x29, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xBF, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, -0x02, 0x84, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xD5, 0x90, 0x93, 0x17, 0x12, 0x43, -0xA8, 0xE1, 0xCD, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x85, 0x14, 0x90, 0x93, 0x17, 0x12, -0x43, 0xA8, 0x02, 0x80, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x80, 0x3C, 0x90, 0x93, 0x17, -0x12, 0x43, 0xA8, 0x02, 0x85, 0x5C, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x80, 0x80, 0x90, -0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xC5, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xA1, 0x90, -0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xAB, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x88, -0x5A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, -0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0x90, 0x93, 0x1A, -0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x20, 0xF0, 0x90, -0x93, 0x1A, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC, -0x83, 0x90, 0x93, 0x21, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, -0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12, -0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43, -0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, -0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90, -0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x21, 0xE0, -0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C, -0x83, 0xA3, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0xFF, 0x24, 0xC2, 0xF5, -0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFE, 0x75, 0xF0, 0x09, -0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B, -0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, -0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, -0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24, -0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09, -0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5, -0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5, -0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12, -0x43, 0xD1, 0x6B, 0x57, 0x00, 0x6B, 0x6C, 0x01, 0x6B, 0x81, 0x02, 0x6B, 0x96, 0x03, 0x6B, 0xBF, -0x04, 0x6B, 0xD4, 0x05, 0x6B, 0xE9, 0x06, 0x6C, 0x0F, 0x0C, 0x6C, 0x3C, 0x0D, 0x6C, 0x69, 0x0E, -0x6C, 0x96, 0x0F, 0x00, 0x00, 0x6C, 0xCA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80, -0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, -0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, -0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, -0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, 0x81, 0xCA, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, -0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x81, 0xCA, 0x90, -0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x46, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x45, 0xE0, -0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0x81, 0xC1, 0x90, 0x04, 0x4B, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, 0x85, 0x59, 0x82, -0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, -0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, -0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, -0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, -0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5, -0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, -0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0, -0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xC0, 0x83, -0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, -0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, -0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, -0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, -0xE0, 0x4E, 0x60, 0x4B, 0x90, 0x93, 0x26, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, -0x94, 0x00, 0x50, 0x02, 0xC1, 0x0F, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, -0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x0A, 0x90, 0x93, 0x26, -0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBB, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0x4E, 0x60, 0x47, 0x90, 0x93, 0x26, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, -0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, -0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0xA3, 0xF0, -0x80, 0x0D, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x10, -0x40, 0x02, 0xC1, 0xC8, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, -0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, 0x93, 0x26, 0xE0, 0x80, -0x63, 0x90, 0x93, 0x26, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, -0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, -0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, -0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, -0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, 0x93, 0x26, 0xE0, 0x04, -0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x28, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0xFF, 0x75, 0xF0, 0x09, -0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, 0x28, 0xE0, 0xFE, 0x75, -0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, -0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, -0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, -0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x28, 0xE0, 0xA3, 0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, -0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x27, 0xE0, -0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x29, 0xEE, 0xF0, 0x80, 0x17, 0x90, 0x93, 0x28, -0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x27, 0xE0, -0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0xFD, 0xAF, 0x57, 0x12, 0x70, 0x63, 0x90, 0x93, -0x29, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0, -0x90, 0x93, 0x27, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0, -0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3, -0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0, -0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, -0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0x21, 0xDD, 0x12, 0x1E, 0xF6, 0xF5, 0x62, 0x22, 0x90, -0x93, 0x1A, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, -0x90, 0x93, 0x6F, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, -0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xCE, -0x12, 0x43, 0xC8, 0x90, 0x93, 0xD1, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F, -0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x93, 0xCE, 0x12, 0x43, 0xA8, 0x90, -0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xD1, 0x12, 0x5E, 0xBE, 0xD0, 0xD0, -0x92, 0xAF, 0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, -0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, -0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x4D, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E, -0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x2A, 0x74, 0x27, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0x8B, 0xEF, 0xF0, 0x24, -0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x8C, 0xF0, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x8B, 0x7D, 0x02, 0x12, 0x6F, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D, -0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x03, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x04, 0x74, 0x01, 0xF0, 0xEB, 0xC3, -0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x01, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3, -0xE0, 0x90, 0x41, 0x9E, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5, -0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x01, 0x63, 0x90, 0x93, -0x02, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0, -0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x06, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, -0x93, 0x05, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x06, -0xE0, 0xFF, 0x90, 0x93, 0x05, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x05, 0xE0, -0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, -0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, -0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, -0x90, 0x93, 0x05, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, -0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, -0xCF, 0x04, 0xF0, 0x90, 0x93, 0x05, 0xE0, 0xFF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, -0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, -0x1F, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, -0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x22, 0xF0, -0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x24, 0xF0, 0x75, -0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x25, 0xF0, 0xEC, -0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, -0x93, 0x26, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, -0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x28, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, -0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, -0x90, 0x93, 0x25, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0xED, 0x70, 0x02, 0x61, -0xA3, 0x90, 0x93, 0x23, 0xED, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x22, -0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x70, -0x02, 0x61, 0xA3, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0x61, 0xA3, 0xE4, -0x90, 0x93, 0x21, 0xF0, 0xEF, 0x14, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x24, 0xE0, 0xFD, 0x90, -0x93, 0x20, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, -0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, -0xF9, 0xFF, 0x90, 0x93, 0x28, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, -0x20, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, -0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x26, 0xE0, 0x5E, 0xFE, 0xA3, -0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x20, 0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x21, -0xE0, 0x04, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0x6F, 0x60, 0x08, 0x90, -0x93, 0x20, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, -0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93, 0x20, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x24, 0xE0, 0x90, -0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, -0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, -0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x1F, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x93, -0x1F, 0xE0, 0xFF, 0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x11, 0x74, -0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0, -0x90, 0x93, 0x1F, 0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, -0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x22, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, -0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x23, 0xCB, 0xF0, 0xA3, 0xEB, -0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, -0xE0, 0x90, 0x93, 0x25, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x25, 0xE0, -0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, -0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, -0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xA1, 0x51, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x74, 0x28, 0x2D, -0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x21, 0xF0, 0x90, -0x93, 0x22, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xA1, 0x8B, 0xEE, -0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, -0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x23, 0xE0, 0x5E, 0xFE, -0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, -0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0xFF, 0x90, 0x93, 0x25, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x21, -0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93, 0x24, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x21, 0x74, 0x17, -0xF0, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, -0x23, 0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x21, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x21, 0xE0, 0x90, -0x93, 0x20, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x21, 0xE0, 0x04, 0xF0, 0x81, -0xAF, 0x90, 0x93, 0x22, 0xE0, 0xFC, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, -0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x20, 0xE0, -0x44, 0x40, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x20, 0xE0, 0xFF, -0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, -0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, -0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, -0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, -0x93, 0x20, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x20, 0xEF, 0xF0, 0x90, 0x93, 0x1F, -0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, -0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, -0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, -0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, -0xF0, 0xAF, 0x05, 0x90, 0x93, 0x1F, 0xE0, 0x44, 0x80, 0xFD, 0x11, 0x63, 0x90, 0x93, 0x1F, 0xE0, -0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94, -0x40, 0x40, 0x03, 0x02, 0x7E, 0x57, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, -0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, -0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, -0x03, 0x02, 0x7E, 0x4E, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x7E, 0x4E, 0x90, -0x93, 0x0F, 0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x7E, 0x57, -0x90, 0x93, 0x0F, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, -0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, -0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x14, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, -0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, -0x93, 0x16, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, -0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, -0x10, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, -0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x19, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, -0x94, 0x05, 0x40, 0x03, 0x02, 0x79, 0xEC, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x90, 0x93, 0x11, 0xE0, -0x9F, 0x40, 0x13, 0x90, 0x93, 0x19, 0xE0, 0x90, 0x93, 0x11, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, -0x93, 0x10, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x11, 0xE0, 0xFF, 0x90, 0x41, 0x12, 0x93, 0xFE, -0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, -0x40, 0x06, 0xEF, 0x90, 0x40, 0xDA, 0x80, 0x07, 0x90, 0x93, 0x11, 0xE0, 0x90, 0x40, 0xF6, 0x93, -0x90, 0x93, 0x18, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x50, 0xF9, 0x74, -0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x0F, 0xE0, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, -0x93, 0x12, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, -0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, -0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, -0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, -0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, -0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, -0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, -0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, -0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, -0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, -0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x14, 0xE0, -0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, -0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0xF0, 0x80, 0x07, -0xE4, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, -0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, -0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, -0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, -0x21, 0xBB, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, -0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, -0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, -0xC3, 0x9E, 0x90, 0x93, 0x1A, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, -0x23, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, -0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, -0x83, 0xE0, 0x60, 0x02, 0x81, 0xFC, 0x12, 0x73, 0xF4, 0x81, 0xFC, 0x90, 0x93, 0x10, 0xE0, 0x25, -0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, -0xFF, 0xC3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x40, 0x02, 0x81, 0xFC, -0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x72, 0x29, 0x81, 0xFC, 0x90, 0x93, 0x0F, 0xE0, -0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, -0x61, 0xCA, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, -0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, 0x11, -0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x11, 0xE0, -0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, -0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, -0x90, 0x93, 0x0F, 0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, -0x93, 0x1E, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, -0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0x61, 0x75, 0x90, 0x8E, -0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x61, 0x6A, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82, -0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xEE, -0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, -0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x0F, -0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, -0x93, 0x0F, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, -0x11, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, -0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80, -0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x1E, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, -0x01, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, -0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x0F, 0xE0, 0xFF, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x90, -0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, -0x11, 0xE0, 0xFE, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, -0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, -0x01, 0x11, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xE4, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x81, 0xF9, 0xEC, 0x64, 0x06, 0x60, 0x02, 0x81, -0xFC, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xDB, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, -0x14, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x1C, 0xEE, 0xF0, 0xA3, 0xEF, -0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, -0x93, 0x1E, 0xF0, 0xE4, 0x90, 0x93, 0x1B, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0xD3, 0x94, 0x04, -0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, -0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xD6, 0x93, 0xFF, 0x7E, 0x00, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x1C, 0xE0, -0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x50, -0x08, 0x90, 0x93, 0x1B, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x1B, 0xE0, 0xC3, 0x13, 0xF0, -0x90, 0x93, 0x1E, 0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x1B, 0xE0, 0x70, 0x5D, 0x90, 0x93, -0x1E, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0x70, 0x08, -0x90, 0x93, 0x1E, 0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x1E, 0x74, -0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93, 0x1E, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, -0x1B, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, -0x1E, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x17, -0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x1E, 0xF0, -0xD3, 0x90, 0x93, 0x17, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, -0x90, 0x93, 0x1E, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC4, -0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x70, 0x23, 0x90, 0x93, 0x0F, 0xE0, -0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, -0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, -0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, -0x16, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, -0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, -0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x16, 0xE0, 0xFE, 0xA3, 0xE0, -0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, -0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25, 0xE0, -0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, -0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, -0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x0F, 0xE0, 0x50, -0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, -0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, -0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, -0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, -0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25, -0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, -0x0F, 0xE0, 0x04, 0xF0, 0x02, 0x76, 0x59, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, -0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, -0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, -0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, -0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, -0x94, 0x40, 0x40, 0x03, 0x02, 0x80, 0x53, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, -0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, -0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, -0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, -0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x8C, 0x93, 0xFE, 0x74, -0x01, 0x93, 0xFF, 0x90, 0x41, 0x54, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, -0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, -0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, -0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, -0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, -0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, -0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0, -0x02, 0x7E, 0x9A, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, -0x22, 0xEF, 0xB4, 0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, -0x94, 0x40, 0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, -0x1A, 0xF0, 0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, -0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x1C, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, -0x74, 0xFF, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, -0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x20, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, -0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0xEE, 0xA3, -0xF0, 0xA3, 0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x1A, 0x02, 0x5F, -0x97, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x93, 0xDB, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0xDB, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, -0xC3, 0x90, 0x93, 0xDE, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xDD, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, -0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xDD, 0xE4, 0x75, 0xF0, 0x01, -0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x68, 0xE0, -0xFF, 0x04, 0xF0, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x31, 0x51, 0xEF, 0x70, 0x02, 0x41, -0x5C, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02, -0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B, -0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, -0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0x12, 0x57, 0xF9, 0x90, 0x01, 0xAF, -0x74, 0xFF, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0x64, 0x01, 0x70, 0x4A, 0x90, 0x93, 0xC2, 0x12, 0x43, -0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, -0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, -0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01, -0x7A, 0xFD, 0x79, 0x22, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x54, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, -0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, -0x24, 0x6B, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, -0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x90, 0x93, 0xC5, 0x12, 0x43, -0xC8, 0xD0, 0x01, 0xD0, 0x02, 0x31, 0x9F, 0x90, 0x92, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, -0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, -0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, -0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, -0x1A, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, -0x1A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x50, 0xF0, 0x90, 0x00, -0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, -0x01, 0x90, 0x93, 0x34, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3B, 0xF0, 0xEF, 0x13, 0x13, -0x13, 0x54, 0x01, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, -0x01, 0x90, 0x93, 0x3D, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x40, 0xF0, 0xE0, 0x70, -0x38, 0x90, 0x93, 0x3E, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x1D, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, -0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x34, 0xE0, 0x70, 0x03, 0x12, -0x4F, 0x63, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x4C, 0xDF, 0x90, 0x93, 0x50, 0xE0, 0x90, -0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, -0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x3F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x93, 0x42, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0x90, 0x93, 0x47, 0xF0, 0x22, 0x90, 0x93, 0x3F, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x42, -0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x47, 0x74, 0x05, 0xF0, 0x22, -0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, -0x93, 0x46, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, -0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x43, 0xF0, -0x60, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, -0x93, 0x4D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x63, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x43, 0xE0, 0x90, -0x01, 0xE7, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x2D, 0xE0, 0x54, -0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, -0x70, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x2F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x30, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, -0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, -0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x02, 0xF0, -0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x03, 0xF0, 0x80, 0x3B, -0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, -0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, -0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, -0x2E, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x2E, 0xE0, 0x90, -0x93, 0x32, 0xF0, 0x22, 0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, -0x2E, 0x90, 0x93, 0x67, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, -0x68, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x6A, 0xF0, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F, 0x90, 0x93, 0x6B, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, -0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x12, 0x1E, -0xF6, 0xC3, 0x13, 0x20, 0xE0, 0x02, 0xC1, 0xB6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, -0xF6, 0xFF, 0x54, 0x02, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54, -0x01, 0xFF, 0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF, -0x54, 0xF7, 0x4D, 0xFF, 0x90, 0x93, 0x9E, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E, -0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x20, 0xFD, 0xEF, 0x54, 0xDF, 0x4D, 0xFF, 0x90, 0x93, -0x9E, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0xEF, 0x54, 0xBF, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xC1, 0xA2, -0x90, 0x93, 0x1D, 0x74, 0x21, 0xF0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, -0x13, 0x13, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x60, -0x31, 0xEF, 0x54, 0x04, 0xFF, 0xED, 0x54, 0xFB, 0x4F, 0xF0, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, -0xE0, 0x15, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93, -0x1D, 0xE0, 0x44, 0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0xA0, 0xF0, 0x7D, 0x40, 0xFF, 0x12, -0x3A, 0x22, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90, -0x93, 0x1D, 0xE0, 0x44, 0x12, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, -0xE0, 0x44, 0x14, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x07, 0x90, -0x93, 0x1D, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, -0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27, -0xF0, 0x90, 0x93, 0x9F, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x9E, 0xE0, -0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x04, 0x7F, 0x03, 0x80, 0x0E, 0x7F, 0x01, 0x12, 0x5E, -0x91, 0xEF, 0x60, 0x04, 0x7F, 0x01, 0x80, 0x02, 0x7F, 0x02, 0x12, 0x55, 0x11, 0x7F, 0x02, 0x02, -0x88, 0x14, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27, 0xF0, 0xE4, 0xFF, 0x12, 0x55, -0x11, 0x7F, 0x03, 0x02, 0x88, 0x14, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, -0x54, 0x02, 0xFE, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54, 0x01, 0xFF, -0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF, 0x54, 0xF7, -0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E, 0xFF, 0xF0, -0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x40, 0xFD, 0xEF, 0x54, 0xBF, 0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0, -0xEE, 0x54, 0x04, 0xFE, 0xEF, 0x54, 0xFB, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xE1, 0xC7, 0x90, 0x93, -0x1D, 0x74, 0x31, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x15, 0x90, -0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93, 0x1D, 0xE0, 0x44, -0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0x9A, 0xF0, 0x7D, 0x40, 0xFF, 0x12, 0x3A, 0x22, 0x90, -0x93, 0x98, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, -0x44, 0x02, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x04, -0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x54, 0x0E, 0x60, 0x0C, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD, -0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27, 0xF0, 0x90, 0x93, 0x98, -0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x33, -0x7F, 0x06, 0x12, 0x64, 0xDA, 0x80, 0x2C, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, -0x99, 0xE0, 0xB4, 0x06, 0x1B, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, -0x60, 0x09, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x80, 0x05, 0x12, 0x64, 0xA8, 0x80, 0x03, -0x12, 0x67, 0x4A, 0x7F, 0x01, 0x80, 0x4D, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27, -0xF0, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x06, 0x02, 0x80, -0x1B, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, -0x04, 0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09, -0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x05, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0x12, 0x67, 0x29, 0x12, -0x51, 0x9C, 0x7F, 0x03, 0x11, 0x1B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0xEF, 0x64, 0x01, -0x60, 0x04, 0xEF, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, -0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xED, 0x64, 0x02, 0x60, 0x04, -0xED, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x6D, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x6E, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE5, -0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x93, 0xE6, 0xE0, -0x94, 0x88, 0x90, 0x93, 0xE5, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, -0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xE5, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE6, 0xE0, 0x94, 0x64, 0x90, 0x93, 0xE5, 0xE0, -0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, -0x22, 0x90, 0x93, 0xA4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xA8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, -0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, -0x73, 0x50, 0x41, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xA4, 0x12, 0x43, -0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, -0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xEF, -0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xA8, 0x12, -0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xA8, 0x02, 0x43, 0x84, 0x90, 0x93, 0x73, 0x12, 0x1F, 0xC9, -0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0x77, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, -0x90, 0x93, 0x73, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x7F, 0x12, 0x1F, -0xC9, 0x90, 0x93, 0x77, 0x12, 0x43, 0x84, 0x11, 0xC1, 0x90, 0x93, 0x83, 0x12, 0x1F, 0xC9, 0x90, -0x93, 0x77, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0x7F, 0x12, 0x43, 0x90, 0x12, 0x43, -0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x83, 0x12, 0x43, 0x84, 0xA9, -0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, -0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0x73, -0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x87, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, -0x06, 0xC0, 0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, -0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x9F, 0x74, -0x04, 0xF0, 0x22, 0x12, 0x56, 0x01, 0x80, 0xEE, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x05, -0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x56, 0x14, 0x90, -0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x57, 0xE0, 0x60, 0x3C, 0x90, 0x01, 0x57, 0xE4, -0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE0, 0x60, 0x07, 0xE4, 0xF0, 0x53, -0x66, 0xFD, 0x80, 0x24, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x3F, -0xE0, 0xFF, 0x90, 0x93, 0x38, 0xE0, 0xD3, 0x9F, 0x40, 0x0E, 0xE5, 0x62, 0xB4, 0x01, 0x09, 0x90, -0x93, 0x39, 0xE0, 0x70, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x5B, 0xE0, 0x60, 0x10, 0x90, 0x01, -0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x01, -0x5F, 0xE0, 0x60, 0x10, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4, -0x90, 0x93, 0x49, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE7, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, -0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, -0x22, 0xD3, 0x90, 0x93, 0xE8, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xE7, 0xE0, 0x94, 0x03, 0x40, 0x03, -0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x93, 0xE7, 0xE4, 0x75, 0xF0, -0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0xE4, 0xFF, 0x02, 0x4E, 0x8B, 0x90, 0x93, 0x1A, 0x12, 0x43, -0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, -0x30, 0xE0, 0x02, 0x51, 0xA6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, -0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0xE1, 0xF0, 0x22, 0x7E, 0xBF, -}; - -#ifdef CONFIG_MP_INCLUDED -u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] = { -0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x4E,0xB2,0xCF,0xF7,0x12,0x6B,0x6B,0xEB, -0x4F,0xB4,0x60,0xCA,0x4C,0xB2,0x68,0xF1,0x1A,0x6B,0x4E,0xB5,0x60,0xCA,0x4B,0xB2, -0x00,0x68,0x0A,0x6E,0x00,0x18,0x2E,0x2E,0x00,0xC2,0x44,0xB7,0x4A,0xB2,0x4B,0xB3, -0xE8,0x4F,0x00,0xC2,0xC0,0xF0,0x58,0x9F,0x40,0xF0,0x0C,0xC7,0x4A,0xB0,0x6D,0xEA, -0xC0,0xF0,0x58,0xDF,0x45,0xF1,0x09,0x6A,0x00,0xF1,0x50,0xCF,0x0E,0xF0,0x1D,0x6A, -0x80,0xF1,0x62,0xA7,0x43,0xDF,0x42,0xB2,0x00,0x69,0x25,0xDF,0x44,0xDF,0x68,0x32, -0x69,0xE2,0x40,0xB3,0x44,0x32,0x26,0xDF,0x27,0xDF,0x28,0xDF,0x29,0xDF,0x40,0xCB, -0x90,0x67,0xB1,0x67,0x30,0x6E,0x00,0x18,0x64,0x2E,0x04,0xD7,0x01,0x6A,0x4B,0xEA, -0x47,0xD8,0x3A,0xB3,0x40,0x98,0x3A,0xB4,0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x0A,0x6B, -0x08,0x6A,0x6C,0xC0,0x0C,0x6E,0x00,0x18,0x64,0x2E,0x4D,0xC0,0x27,0xB3,0x02,0x6C, -0x8B,0xEC,0x40,0x9B,0x03,0x6B,0x6B,0xEB,0x8C,0xEA,0x6C,0xEA,0x05,0x6B,0x6B,0xEB, -0x6C,0xEA,0x22,0xB3,0x40,0xDB,0x22,0xB3,0x40,0x9B,0x8C,0xEA,0x40,0xDB,0x04,0x97, -0x0E,0xF0,0x1D,0x6A,0x2C,0xB3,0x43,0xDF,0x2A,0xB2,0x60,0xDA,0x2C,0xB3,0x2B,0xB2, -0x60,0xDA,0x2D,0xB3,0x2B,0xB2,0x60,0xDA,0x2D,0xB3,0x2C,0xB2,0x60,0xDA,0x2E,0xB3, -0x2C,0xB2,0x60,0xDA,0x2E,0xB3,0x2D,0xB2,0x60,0xDA,0x2F,0xB3,0x2D,0xB2,0x60,0xDA, -0x2F,0xB3,0x2E,0xB2,0x60,0xDA,0x30,0xB3,0x2E,0xB2,0x60,0xDA,0x30,0xB3,0x2F,0xB2, -0x60,0xDA,0x31,0xB3,0x2F,0xB2,0x60,0xDA,0x30,0xB2,0x32,0xB3,0x20,0xCA,0x30,0xB2, -0x60,0xDA,0x31,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x20,0xCA,0x2F,0xB2,0x60,0xCA, -0x2F,0xB2,0x20,0xDA,0x2F,0xB2,0x80,0x18,0x43,0x36,0x20,0xDA,0x08,0x97,0x07,0x91, -0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0xF4,0x00,0x11,0x80,0xF0,0x00,0x11,0x80, -0xD0,0x04,0x11,0x80,0xD2,0x04,0x11,0x80,0xCA,0xA0,0x11,0x80,0xCC,0xA0,0x11,0x80, -0xC4,0xF5,0x04,0x80,0xD6,0xA0,0x11,0x80,0x00,0x00,0x00,0x18,0x58,0xC5,0xC8,0x19, -0x14,0xA1,0x11,0x80,0xD8,0xA0,0x11,0x80,0x00,0x00,0x00,0x70,0x08,0xA1,0x11,0x80, -0xBC,0x00,0x11,0x80,0xA1,0xA9,0x10,0x80,0x44,0x00,0x11,0x80,0x21,0xA3,0x10,0x80, -0x4C,0x05,0x11,0x80,0x25,0xAD,0x10,0x80,0x44,0x05,0x11,0x80,0x3D,0xCD,0x10,0x80, -0x58,0x09,0x11,0x80,0x11,0xD1,0x10,0x80,0x3C,0x00,0x11,0x80,0x6D,0xA6,0x10,0x80, -0xA0,0x05,0x11,0x80,0x41,0xAA,0x10,0x80,0x5C,0x05,0x11,0x80,0x61,0xD7,0x10,0x80, -0x90,0x06,0x11,0x80,0x45,0xC9,0x10,0x80,0xEC,0x04,0x11,0x80,0xAD,0xAE,0x10,0x80, -0x6C,0x06,0x11,0x80,0x45,0xD0,0x10,0x80,0x16,0xA1,0x11,0x80,0xD4,0x04,0x11,0x80, -0xB1,0xCE,0x10,0x80,0xC8,0xA0,0x11,0x80,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80, -0x20,0xA1,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x04,0x67,0x2F,0x24, -0x80,0x98,0x00,0x6A,0x00,0xF4,0x24,0x98,0xBD,0x67,0x00,0xF4,0x44,0xD8,0xE1,0xF7, -0x1F,0x6A,0x4C,0xEC,0x00,0x18,0x2A,0xDF,0x10,0x4D,0x12,0x2A,0x5D,0x67,0x68,0xAA, -0xFF,0xF7,0x1F,0x6A,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x0E,0xB3,0x48,0x32,0x69,0xE2,0xE0,0xF0,0x4B,0xA2,0x01,0x72,0x0A,0x60, -0x0B,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D,0x83,0x9A,0x07,0x2A,0x00,0x18,0x6A,0x1E, -0x11,0x67,0x04,0x10,0x00,0x18,0x7B,0x57,0x90,0x67,0x11,0x67,0xD1,0x29,0x08,0x97, -0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0x9C,0x31,0x11,0x80, -0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x0A,0xD4,0xFF,0x6C,0x8C,0xEE,0x04,0x76, -0x04,0xD6,0x34,0x61,0x1F,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA, -0x01,0x72,0x2C,0x61,0x0A,0x93,0x40,0xA3,0x8C,0xEA,0x03,0x72,0x27,0x61,0x22,0xA3, -0x8C,0xE9,0x24,0x29,0x44,0xA3,0x03,0xA3,0x8C,0xEA,0x40,0x32,0x8C,0xE8,0x00,0x1C, -0xDD,0x31,0x4D,0xE8,0x14,0xB3,0x1A,0x65,0x40,0xAB,0x0E,0xEA,0x14,0x2A,0x13,0xB2, -0x98,0x67,0x00,0x9A,0x20,0xDA,0x12,0xB2,0x20,0xDA,0x08,0xF1,0x11,0x6A,0x4B,0xEA, -0x00,0x1C,0xE5,0x31,0x40,0xCB,0x00,0x18,0xA9,0x1D,0x01,0x6C,0x07,0x20,0x80,0x18, -0x79,0x28,0x90,0x67,0x03,0x10,0x00,0x1C,0xE5,0x31,0x98,0x67,0x0A,0x94,0x00,0x18, -0xBD,0x89,0x04,0x95,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00, -0x6C,0x1D,0x11,0x80,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80,0x20,0xA1,0x11,0x80, -0x03,0xB2,0x01,0x6B,0x40,0x9A,0x52,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0, -0x03,0xB2,0x01,0x6B,0x40,0x9A,0x4A,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0, -0xF3,0x63,0x18,0x62,0x17,0xD1,0x16,0xD0,0x7D,0x67,0x00,0x6A,0x20,0xF0,0x50,0xC3, -0xB4,0xB3,0x9D,0x67,0x00,0x69,0x58,0xAB,0x40,0xF0,0x48,0xCC,0x20,0xF0,0x5A,0xA3, -0x20,0xF0,0x79,0xA3,0x40,0x32,0x4D,0xEB,0xAF,0xB2,0x0D,0xD3,0x01,0x6B,0x40,0x9A, -0x0F,0xD2,0xAE,0xB2,0x40,0x9A,0x0E,0xD2,0xAD,0xB2,0x00,0x9A,0xAD,0xB2,0x40,0x9A, -0x10,0xD2,0x0E,0x92,0x6C,0xEA,0x3A,0x22,0xBD,0x67,0x83,0x67,0x30,0x4D,0x00,0x6E, -0x00,0x18,0x71,0x23,0x23,0x67,0x02,0x2A,0x03,0x69,0x26,0x11,0x9D,0x67,0x20,0xF0, -0x70,0xA4,0x0F,0x94,0xFF,0x6A,0x4C,0xEB,0x80,0xF7,0x82,0x32,0x2C,0xEA,0x4E,0xEB, -0xA2,0xB4,0x1B,0x2B,0xA0,0xB2,0x4D,0xE8,0x40,0x9C,0x56,0x32,0x2C,0xEA,0x02,0x2A, -0x9F,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A,0x05,0x69, -0x6C,0xEA,0xFF,0xF7,0x1F,0x6B,0x6C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94, -0x0D,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x09,0x10,0x96,0xB2,0x4C,0xE8,0x40,0x9C, -0x56,0x32,0x2C,0xEA,0x02,0x2A,0x94,0xB2,0x4C,0xE8,0x09,0x69,0x0E,0x94,0x01,0x6F, -0x86,0x32,0xEC,0xEA,0x41,0x22,0x8D,0xB3,0x40,0x9B,0x56,0x32,0xEC,0xEA,0x3C,0x22, -0xBD,0x67,0x10,0x6A,0xC7,0x67,0x02,0x6C,0x30,0x4D,0x14,0xD7,0x00,0x18,0x71,0x23, -0x4D,0xE9,0x14,0x97,0x06,0x2A,0x20,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6C,0x8C,0xE9, -0xDB,0x10,0x0F,0x94,0x5D,0x67,0x20,0xF0,0x70,0xA2,0x40,0xF7,0x82,0x32,0xEC,0xEA, -0x4E,0xEB,0x7E,0xB2,0x80,0x9A,0x19,0x2B,0x7D,0xB2,0x4D,0xE8,0x44,0x67,0xEC,0xEA, -0x02,0x2A,0x79,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A, -0xFF,0xF7,0x1F,0x6C,0x6C,0xEA,0x8C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94, -0x0B,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x07,0x10,0x73,0xB2,0x4C,0xE8,0x44,0x67, -0xEC,0xEA,0x02,0x2A,0x6F,0xB2,0x4C,0xE8,0x0E,0x93,0x01,0x6C,0x6A,0x32,0x8C,0xEA, -0x41,0x22,0x6A,0xB3,0x40,0x9B,0x0F,0x6B,0x46,0xEC,0x6C,0xEA,0x03,0x72,0x3A,0x60, -0xFF,0x6A,0xBD,0x67,0x01,0x4A,0x04,0x6C,0x30,0x4D,0x02,0x6E,0x00,0x18,0x71,0x23, -0x4D,0xE9,0x03,0x2A,0x00,0xF2,0x00,0x6A,0x45,0x10,0x9D,0x67,0x20,0xF0,0x50,0xA4, -0x5E,0xB3,0x80,0x9B,0x13,0x22,0x61,0xB2,0x03,0x6B,0x4D,0xE8,0x82,0x32,0x4A,0x32, -0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6C,0x8C,0xEA,0x02,0x2A,0x5C,0xB2, -0x4D,0xE8,0x00,0xF4,0x00,0x6A,0x4D,0xE9,0x01,0x6B,0x12,0x10,0x5A,0xB2,0x03,0x6B, -0x4C,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6B, -0x6C,0xEA,0x02,0x2A,0x55,0xB2,0x4C,0xE8,0x01,0xF0,0x00,0x6A,0x4D,0xE9,0x00,0x6B, -0x50,0xB2,0x60,0xC2,0x0E,0x94,0x01,0x6B,0x8E,0x32,0x6C,0xEA,0x18,0x22,0x47,0xB2, -0x40,0x9A,0x46,0xEB,0x0F,0x6B,0x6C,0xEA,0x03,0x72,0x11,0x60,0xBD,0x67,0x02,0xF0, -0x00,0x6A,0x08,0x6C,0x30,0x4D,0x03,0x6E,0x00,0x18,0x71,0x23,0x4D,0xE9,0x07,0x2A, -0x04,0xF0,0x00,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6A,0x4C,0xE9,0x4D,0x10,0x44,0xB2, -0x3E,0xB3,0x0C,0xEA,0x6E,0xEA,0x11,0x2A,0x38,0xB2,0x0F,0x6B,0x40,0x9A,0x46,0x32, -0x6C,0xEA,0x01,0x72,0x0A,0x61,0x80,0x18,0xC0,0x28,0x00,0x65,0x06,0x22,0x80,0x6A, -0x4D,0xE9,0x39,0xB2,0x4C,0xE8,0x39,0xB2,0x4C,0xE8,0xC0,0xF5,0x02,0x32,0x01,0x6B, -0x6C,0xEA,0x0C,0x22,0x2D,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA, -0x01,0x72,0x04,0x61,0x2B,0xB2,0x4C,0xE8,0x2B,0xB2,0x4C,0xE8,0x04,0x6A,0x2C,0xEA, -0x08,0x2A,0x2D,0xB2,0x4C,0xE8,0x2D,0xB2,0x4C,0xE8,0x26,0xB2,0x4C,0xE8,0x26,0xB2, -0x4C,0xE8,0x2C,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0C,0x2A,0x1F,0xB2,0x03,0x6B, -0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x61,0x1F,0xB2,0x4D,0xE8, -0x1F,0xB2,0x4D,0xE8,0x24,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x03,0x2A,0x00,0x18, -0xBB,0x30,0x00,0x6C,0x12,0xB2,0x00,0xDA,0x05,0x6A,0x10,0x94,0x04,0xD2,0x0C,0x0A, -0x05,0xD2,0x0E,0x93,0x0F,0x92,0x0A,0xD4,0xFA,0x6D,0x04,0x6C,0x21,0xF3,0x1F,0x6E, -0xA1,0xF1,0x1A,0x6F,0x06,0xD1,0x09,0xD0,0x07,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD3, -0x18,0x97,0x17,0x91,0x16,0x90,0x00,0xEF,0x0D,0x63,0x00,0x00,0x41,0x00,0x00,0x00, -0xDC,0x00,0x11,0x80,0x44,0xA0,0x00,0xB0,0x40,0x60,0x00,0xB0,0x40,0xA0,0x00,0xB0, -0x50,0xA0,0x00,0xB0,0x00,0x00,0x80,0x00,0x6C,0x1D,0x11,0x80,0x00,0x00,0x40,0x00, -0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xBF,0xFF,0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00, -0x17,0x00,0x11,0x80,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0x00,0x00,0xA0,0x00, -0x00,0x00,0xC0,0x00,0x00,0x00,0x30,0x00,0x01,0x6D,0xA4,0xEC,0x07,0xB2,0x06,0xB4, -0x60,0x9C,0x40,0x9A,0x6E,0xEA,0xAC,0xEA,0x02,0x2A,0xAE,0xEB,0x60,0xDC,0x20,0xE8, -0x00,0x65,0x00,0x00,0x3C,0x60,0x00,0xB0,0x50,0x60,0x00,0xB0,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0x6A,0xB2,0x01,0x6F,0x20,0x9A,0x2A,0x65,0x36,0x36,0xEC,0xEE, -0x0B,0x2E,0x68,0xB4,0x03,0x6B,0x6B,0xEB,0x40,0x9C,0x6C,0xEA,0x40,0xDC,0x66,0xB4, -0x02,0x6B,0x40,0x9C,0x6D,0xEA,0x40,0xDC,0x64,0xB2,0x00,0x6B,0x0A,0xD3,0xA3,0x67, -0x60,0x9A,0x63,0xB2,0x40,0x9A,0x0A,0x65,0x62,0xB2,0x00,0x9A,0x51,0x67,0xEC,0xEA, -0x10,0x22,0x80,0xF7,0x62,0x32,0x88,0x67,0x8E,0xEA,0xEC,0xEA,0x01,0x5A,0xA7,0x67, -0x08,0x60,0x5D,0xB2,0x03,0x6D,0x4D,0xE8,0x03,0x2E,0x5C,0xB2,0x07,0x6D,0x4D,0xE8, -0x0A,0xD7,0x29,0x67,0xC0,0x99,0x01,0x6C,0xD6,0x32,0x8C,0xEA,0x1E,0x22,0x08,0x6A, -0x4D,0xED,0x02,0x32,0x52,0x32,0x8C,0xEA,0xFF,0xF7,0x1F,0x6F,0x16,0x22,0x28,0x67, -0x26,0x32,0x40,0xF7,0x62,0x33,0x4E,0xEB,0x8C,0xEB,0x83,0xEB,0x0E,0x60,0x10,0x6A, -0x4D,0xED,0x4E,0xB2,0xEC,0xED,0x4D,0xE8,0x46,0x67,0x8C,0xEA,0x05,0x2A,0x4A,0xB2, -0x4D,0xE8,0x20,0x6A,0x4D,0xED,0xEC,0xED,0x0A,0xD4,0x68,0x67,0x6A,0x32,0x01,0x6E, -0xCC,0xEA,0x16,0x22,0x40,0x6A,0x29,0x67,0x4D,0xED,0x80,0x99,0x44,0xB2,0x03,0x6B, -0x4D,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0xCA,0xEA,0x03,0x60,0x96,0x32,0xCC,0xEA, -0x07,0x2A,0x80,0x6A,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0x3D,0xB2,0x4D,0xE8, -0x02,0x6A,0xAC,0xEA,0x08,0x2A,0x3C,0xB2,0x4C,0xE8,0x3C,0xB2,0x4C,0xE8,0x3C,0xB2, -0x4C,0xE8,0x3C,0xB2,0x4C,0xE8,0x3C,0xB2,0x0C,0xEA,0x07,0x22,0x36,0xB2,0x01,0x6B, -0x4C,0xE8,0x36,0xB2,0x4C,0xE8,0x39,0xB2,0x60,0xC2,0x29,0xB3,0x03,0x69,0x40,0x9B, -0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x31,0xB2,0x4C,0xE8,0x2E,0xB2, -0x4C,0xE8,0x33,0xB2,0x88,0x67,0x06,0xD5,0x07,0xD4,0xFA,0x6D,0x04,0x6C,0x01,0xF4, -0x00,0x6E,0xA1,0xF1,0x19,0x6F,0x04,0xD1,0x05,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD0, -0x0A,0x92,0x12,0x22,0x2B,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0B,0x2A,0x18,0xB3, -0x40,0x9B,0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x1C,0xB2,0x4D,0xE8, -0x1C,0xB2,0x4D,0xE8,0x17,0xB2,0x00,0xDA,0x23,0xB2,0x01,0x6C,0xA0,0x9A,0xBE,0x32, -0x8C,0xEA,0x17,0x22,0x40,0xF5,0x02,0x32,0x8C,0xEA,0x07,0x22,0x1B,0xB2,0x00,0x6B, -0x80,0xC2,0x1E,0xB2,0x60,0xC2,0x1E,0xB2,0x60,0xC2,0xA2,0x32,0x8C,0xEA,0x05,0x22, -0x00,0x18,0xA5,0x23,0x00,0x65,0x19,0xB3,0x40,0xC3,0x14,0xB2,0x00,0x18,0x04,0x24, -0x80,0xA2,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x6C,0x1D,0x11,0x80, -0x30,0x60,0x00,0xB0,0x34,0x60,0x00,0xB0,0x44,0xA0,0x00,0xB0,0x50,0x60,0x00,0xB0, -0x40,0xA0,0x00,0xB0,0x00,0x00,0x80,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0x00, -0x00,0x00,0x10,0x00,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x7F,0xFF, -0xFF,0xFF,0xBF,0xFF,0x00,0x00,0x30,0x00,0x17,0x00,0x11,0x80,0xFC,0xA5,0x10,0x80, -0x00,0x00,0xC0,0x00,0x54,0x45,0x11,0x80,0x16,0x00,0x11,0x80,0x18,0x00,0x11,0x80, -0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x34,0xB2,0x00,0x6E,0x01,0x6B,0x20,0x6C, -0xFF,0xF7,0x1F,0x6D,0x0A,0x65,0xE6,0x67,0x06,0x67,0x4B,0x65,0x2C,0x65,0x6D,0x65, -0x2D,0xB1,0xC8,0x32,0x15,0xE1,0x10,0x27,0x68,0x67,0x69,0xE2,0x80,0x9A,0x6A,0x67, -0x64,0xEF,0x86,0xEF,0x80,0xDD,0x41,0x9A,0xFF,0x4B,0x29,0x67,0x6C,0xEA,0xEF,0xE1, -0x44,0xEB,0x4D,0xEC,0x80,0xDD,0x04,0x10,0x68,0x67,0x69,0xE2,0x40,0x9A,0x40,0xDD, -0x01,0x4E,0xFF,0x69,0x2C,0xEE,0x10,0x76,0x11,0x61,0x88,0x67,0x1E,0xB5,0x01,0x4F, -0x60,0x9C,0x2C,0xEF,0x4A,0x67,0x44,0xEF,0x11,0xE5,0xFF,0x4A,0xA9,0x67,0x4C,0xEB, -0xEB,0xE5,0x64,0xEA,0x40,0x9C,0x00,0x6E,0x6D,0xEA,0x40,0xDC,0x04,0x48,0x4B,0x67, -0x4C,0xE8,0x00,0xF4,0x01,0x58,0xCC,0x61,0x13,0xB4,0xFF,0x6E,0x55,0x6D,0x00,0xF4, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0F,0xB4,0xFF,0x6E,0x00,0x6D,0x00,0xF5, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0B,0xB4,0xFF,0x6E,0xB1,0x67,0x00,0xF6, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x07,0xB4,0xFF,0x6E,0x0F,0x6D,0x00,0xF7, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF, -0x04,0x63,0x00,0x00,0x00,0xF8,0x10,0x80,0xDC,0xF4,0x04,0x80,0xFD,0x63,0x05,0x62, -0x04,0xD0,0x11,0xB2,0x00,0x68,0xEE,0x6C,0x00,0xDA,0x10,0xB2,0x07,0x6D,0x00,0xDA, -0x00,0x18,0x9A,0x33,0x00,0x65,0x0E,0xB4,0x4A,0xF5,0x16,0x6B,0x6B,0xEB,0xFF,0xF7, -0x1F,0x6A,0x01,0x48,0x4C,0xE8,0x00,0xF4,0x00,0x58,0x60,0xCC,0xFA,0x61,0x07,0xB2, -0x03,0x6B,0x05,0x97,0x60,0xDA,0x04,0x90,0x03,0xB2,0x01,0x6B,0x60,0xDA,0x00,0xEF, -0x03,0x63,0x00,0x00,0x10,0xA3,0x00,0xB0,0x20,0xA3,0x00,0xB0,0xF0,0x00,0x00,0xB6, -0xFD,0x63,0x04,0x62,0x17,0xB3,0x16,0xB2,0x80,0x18,0x53,0x2A,0x60,0xDA,0x16,0xB3, -0x16,0xB2,0x21,0xB4,0x04,0x97,0x52,0xDB,0x15,0xB2,0x55,0xDB,0x15,0xB2,0x49,0xDB, -0x15,0xB2,0x4C,0xDB,0x15,0xB2,0x4F,0xDB,0x15,0xB2,0x46,0xDB,0x15,0xB2,0x5B,0xDB, -0x15,0xB2,0x40,0xDB,0x15,0xB2,0x58,0xDB,0x16,0xB3,0x15,0xB2,0x60,0xDA,0xC0,0xF0, -0x50,0x9C,0x40,0x6B,0x6D,0xEA,0xC0,0xF0,0x50,0xDC,0x14,0xB3,0x49,0x9C,0x6D,0xEA, -0x13,0xB3,0x6D,0xEA,0x49,0xDC,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0x2C,0x11,0x80, -0xB9,0xAD,0x10,0x80,0xB8,0x95,0x11,0x80,0x45,0xD4,0x10,0x80,0xB9,0xAF,0x10,0x80, -0x4D,0xB0,0x10,0x80,0x51,0xB1,0x10,0x80,0x95,0xD0,0x10,0x80,0x01,0xD1,0x10,0x80, -0x01,0xC8,0x10,0x80,0x0D,0xD0,0x10,0x80,0x35,0xC9,0x10,0x80,0x3C,0x1C,0x11,0x80, -0x61,0xA2,0x10,0x80,0xDC,0x00,0x11,0x80,0x00,0x00,0x00,0x01,0x00,0x00,0x80,0x00, -0xF6,0x63,0x12,0x62,0x11,0xD1,0x10,0xD0,0x14,0xD4,0x16,0xD6,0x80,0xAC,0xFF,0xF7, -0x1F,0x6B,0x8C,0xEB,0x7F,0xF4,0x08,0x73,0x47,0x60,0x7F,0xF4,0x08,0x6A,0x62,0xEA, -0x0E,0x61,0x3F,0xF4,0x00,0x73,0x35,0x60,0x3F,0xF4,0x00,0x6A,0x42,0xEB,0x20,0xF1, -0x04,0x61,0x7F,0xF4,0x06,0x6A,0x42,0xEB,0x00,0xF1,0x1F,0x61,0x0F,0x10,0x7F,0xF4, -0x0A,0x73,0x5C,0x60,0x7F,0xF4,0x0A,0x6A,0x42,0xEB,0x34,0x61,0x5F,0xF5,0x00,0x73, -0x5E,0x60,0x5F,0xF5,0x03,0x73,0x00,0xF1,0x02,0x60,0x0F,0x11,0xFF,0xF7,0x1F,0x6A, -0x8C,0xEA,0x7F,0xF4,0x06,0x72,0x03,0x61,0x88,0xB2,0x00,0x6B,0x60,0xDA,0x88,0xB2, -0x0F,0x6B,0x40,0x9A,0x46,0x32,0x6C,0xEA,0x03,0x72,0x04,0x61,0x85,0xB2,0x60,0x9A, -0x85,0xB2,0x60,0xDA,0x86,0xB3,0x85,0xB2,0x60,0xDA,0x87,0xB3,0x85,0xB2,0x60,0xDA, -0xFF,0x17,0x7E,0xB2,0x85,0xB3,0x40,0x9A,0x6E,0xEA,0xE0,0xF0,0x0E,0x2A,0x14,0x92, -0x63,0xA2,0x83,0xB2,0x60,0xC2,0xE1,0x10,0x14,0x94,0x82,0xB2,0x63,0xA4,0x80,0xF1, -0x61,0xC2,0xDB,0x10,0x14,0x93,0x80,0xB1,0xFF,0xF7,0x1F,0x6C,0x43,0xA3,0x44,0x33, -0x4D,0xE3,0x6C,0x33,0x4D,0xE3,0x40,0x99,0x68,0x30,0x8C,0xE8,0x4F,0xEA,0x03,0x22, -0x00,0x18,0xFD,0x1D,0x91,0x67,0x0F,0x20,0x00,0x18,0x40,0xA4,0x00,0x65,0x77,0xB6, -0x00,0x6A,0x01,0x6C,0xB1,0x67,0xE2,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD2,0x80,0x99, -0x00,0x18,0x0C,0x1E,0xB0,0x67,0x72,0xB2,0x00,0xCA,0xB7,0x10,0x14,0x93,0x00,0x6E, -0x43,0xA3,0x01,0x22,0x01,0x6E,0x6B,0xB2,0x80,0xF1,0xD1,0xC2,0xAE,0x10,0x14,0x94, -0x14,0x93,0x61,0xF3,0x06,0x6D,0x85,0xA4,0x0E,0xD4,0x48,0xA3,0x27,0xA3,0xFF,0xF7, -0x1F,0x6C,0x40,0x32,0x4D,0xE9,0x00,0x6A,0x45,0xC3,0x4A,0xC3,0x8C,0xE9,0x00,0x18, -0x9A,0x33,0x22,0x6C,0x5F,0xB0,0xF3,0x6A,0xFF,0xF7,0x1F,0x6B,0x20,0xF0,0xBF,0xA0, -0x24,0x6C,0xA0,0x35,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6C,0xED,0x40,0xF0,0x41,0xA0, -0x40,0xF0,0xA0,0xA0,0x26,0x6C,0x40,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18, -0x9A,0x33,0x4C,0xED,0xEB,0xF0,0x12,0x6D,0x00,0x18,0x9A,0x33,0x28,0x6C,0x93,0xF7, -0x1A,0x6D,0x00,0x18,0x9A,0x33,0x2A,0x6C,0x00,0x18,0xEE,0x33,0x01,0x6C,0x7D,0x21, -0xFF,0xF7,0x1F,0x6B,0x51,0x67,0x6C,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4, -0x00,0x6A,0xFF,0xF7,0x1F,0x69,0x4C,0xE9,0x0E,0x92,0xFF,0x6C,0xFF,0x4A,0x8C,0xEA, -0x04,0x5A,0x28,0x61,0x47,0xB0,0x00,0x6A,0x7D,0x67,0x06,0xD2,0x0C,0xCB,0xE0,0xF7, -0x1F,0x6A,0x4C,0xE9,0x44,0xB3,0x06,0x92,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA, -0x8D,0xEA,0x06,0xD2,0x00,0x6C,0x41,0xB2,0x04,0xD4,0x05,0xD4,0x9D,0x67,0x18,0x4C, -0xC5,0x67,0x00,0x6F,0x07,0xD2,0x3F,0x10,0xE0,0xF7,0x1F,0x6A,0x8C,0xEA,0x88,0x67, -0x80,0xF4,0x40,0x32,0x8C,0xEB,0x4D,0xEB,0x38,0xB2,0xFF,0x6D,0xEC,0xED,0x60,0xDE, -0x41,0xDE,0x2B,0x10,0x0E,0x92,0x00,0x6D,0x91,0x67,0x40,0x33,0x34,0xB2,0x25,0x67, -0x41,0xE3,0x7D,0x67,0x18,0x4B,0x30,0xB2,0x8B,0x65,0x32,0xB3,0x0A,0x65,0xFF,0xF7, -0x1F,0x6A,0x6B,0x65,0xFF,0x6B,0x4A,0x65,0x2B,0x65,0x6C,0x67,0xAC,0x32,0x79,0xE2, -0x20,0xDE,0x00,0xF1,0x01,0x5C,0x00,0xCE,0x21,0xDE,0x60,0x9E,0xE1,0x45,0xD4,0x61, -0x48,0x67,0x6C,0xEA,0xA9,0x67,0x6B,0x67,0x6D,0xEA,0x80,0x4C,0xEC,0xED,0x40,0xDE, -0x80,0x4C,0x4A,0x67,0x04,0x5D,0x4C,0xEC,0xE8,0x61,0x00,0x6F,0x9D,0x67,0x04,0xD7, -0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65,0x0E,0x10,0x02,0x6C, -0x01,0x6D,0x00,0x18,0x1C,0x80,0x00,0x6E,0x08,0x10,0x14,0x93,0x16,0x92,0x80,0xAB, -0x00,0x18,0xFA,0x8B,0xA0,0xA2,0x01,0x6A,0x01,0x10,0x00,0x6A,0x12,0x97,0x11,0x91, -0x10,0x90,0x00,0xEF,0x0A,0x63,0x00,0x00,0x38,0x91,0x10,0x80,0x6C,0x1D,0x11,0x80, -0x2C,0x00,0x00,0xB5,0x48,0x91,0x10,0x80,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23, -0x78,0xA0,0x00,0xB0,0x01,0x00,0xA5,0x01,0xAE,0x23,0x87,0x54,0xD0,0x00,0x11,0x80, -0xDC,0x00,0x11,0x80,0x88,0x07,0x11,0x80,0x01,0x91,0x02,0x80,0x14,0xA1,0x11,0x80, -0x00,0xF8,0x10,0x80,0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80, -0x00,0x00,0x00,0x04,0x03,0xB2,0x00,0x6B,0x60,0xDA,0x20,0xE8,0x00,0x65,0x00,0x00, -0x04,0x60,0x00,0xB0,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x40,0xAC,0x01,0xF4, -0x03,0x72,0x2C,0x61,0x80,0x18,0x53,0x2A,0x00,0x69,0x80,0x18,0x45,0x2B,0x00,0x65, -0x16,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x60,0xCA,0x15,0xB2,0x91,0x67,0x20,0xDA, -0x14,0xB2,0x20,0x18,0x83,0x39,0x20,0xDA,0x14,0xB2,0x15,0xB0,0xB1,0x67,0x80,0xF1, -0x62,0xA2,0x90,0x67,0x30,0x6E,0x68,0x32,0x69,0xE2,0x0F,0xB3,0x44,0x32,0x00,0x18, -0x64,0x2E,0x40,0xCB,0x01,0x6A,0x4B,0xEA,0x47,0xD8,0x0E,0xB3,0x40,0x98,0x0E,0xB4, -0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x00,0x18,0x64,0x2E,0x0C,0x6E,0x06,0x97,0x05,0x91, -0x04,0x90,0x00,0x6A,0x00,0xEF,0x04,0x63,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80, -0x20,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0xDC,0x00,0x11,0x80,0xD8,0xA0,0x11,0x80, -0x00,0x00,0x00,0x70,0x08,0xA1,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0, -0xFF,0xF7,0x1F,0x6A,0xCC,0xEA,0x02,0x74,0x0A,0xD4,0x0B,0xD5,0x0D,0xD7,0x04,0xD2, -0x0D,0x61,0x33,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72, -0x05,0x61,0x30,0xB3,0x40,0x9B,0xC0,0xF7,0x42,0x32,0xFC,0x2A,0x0A,0x93,0x04,0x73, -0x3A,0x61,0x0B,0x95,0xFF,0x6C,0x44,0x67,0x60,0xA5,0x6C,0xEA,0x10,0x72,0x0A,0x61, -0x42,0xA5,0x8C,0xEA,0x02,0x72,0x06,0x61,0x27,0xB2,0x00,0x18,0xE0,0x1D,0x81,0x9A, -0x00,0x6A,0x3E,0x10,0xFF,0x6A,0x6C,0xEA,0x02,0x72,0x01,0x6D,0x04,0x60,0x22,0x72, -0x02,0x60,0x2F,0x72,0x20,0x61,0xFF,0x6C,0x44,0x67,0x6C,0xEA,0x2F,0x72,0x01,0x6A, -0x03,0x60,0x0B,0x93,0x42,0xA3,0x8C,0xEA,0xFF,0x6E,0x6F,0x42,0xCC,0xEB,0xCA,0xEB, -0x12,0x60,0xE6,0x67,0x01,0x68,0x0B,0x92,0x06,0x4D,0xCC,0xED,0xB1,0xE2,0x42,0xA4, -0xCC,0xEA,0x03,0x5A,0x01,0x61,0x02,0xC4,0xFF,0x4B,0xEC,0xEB,0xFF,0x6E,0x08,0x4D, -0xCA,0xEB,0xEC,0xED,0xF0,0x61,0x00,0x1C,0xDD,0x31,0x00,0x65,0x0F,0xB1,0x02,0x67, -0x40,0xA1,0x05,0x22,0x00,0x18,0x43,0x30,0x00,0x65,0x00,0x6A,0x40,0xC1,0x00,0x1C, -0xE5,0x31,0x90,0x67,0x0A,0x94,0x0B,0x95,0x04,0x96,0x00,0x18,0xCA,0x1E,0x0D,0x97, -0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0x6C,0x1D,0x11,0x80, -0x1C,0xA3,0x00,0xB0,0x9C,0x31,0x11,0x80,0x17,0x00,0x11,0x80,0xFD,0x63,0x04,0x62, -0x09,0xB2,0x0F,0x6B,0x40,0x9A,0x46,0x32,0x6C,0xEA,0x01,0x72,0x07,0x61,0x80,0x18, -0xC0,0x28,0x00,0x65,0x03,0x22,0x00,0x18,0xA2,0x31,0x00,0x65,0x04,0x97,0x00,0xEF, -0x03,0x63,0x00,0x00,0x6C,0x1D,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0, -0xFF,0xF7,0x1F,0x69,0x8C,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32, -0x18,0xB3,0x2B,0xE2,0x48,0x32,0x61,0xE2,0x5C,0x98,0x4F,0xEA,0x05,0x22,0x01,0x6A, -0x00,0x6B,0x20,0xF2,0x5E,0xC0,0x1E,0x10,0x00,0x18,0x41,0x5E,0x91,0x67,0x04,0xD2, -0x0C,0x6B,0x18,0x2A,0x5F,0x98,0x41,0xA2,0x44,0x72,0x14,0x60,0x00,0x18,0xA5,0x5E, -0x91,0x67,0x06,0x22,0x00,0x18,0x69,0x5E,0x91,0x67,0x1F,0x6B,0x0B,0x22,0x05,0x10, -0x00,0x18,0x80,0x49,0x91,0x67,0x62,0x67,0x05,0x10,0x91,0x67,0x20,0x18,0x13,0x26, -0x0E,0x6D,0x04,0x93,0x08,0x97,0x07,0x91,0x06,0x90,0x43,0x67,0x00,0xEF,0x05,0x63, -0x48,0x60,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x03,0x44,0x90,0x67, -0x00,0x18,0xF2,0x5A,0x0B,0xD5,0x22,0x67,0x1A,0x65,0x1E,0x2A,0xBD,0x67,0x90,0x67, -0x00,0x18,0x07,0xDF,0x10,0x4D,0x7D,0x67,0x48,0xAB,0x0B,0x93,0xFF,0xF7,0x1F,0x6D, -0x40,0xCB,0x65,0x67,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x09,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF2,0x3E,0xC2,0x5D,0x67,0x88,0xAA, -0x80,0x18,0xB6,0x2B,0xAC,0xEC,0x1A,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x58,0x67, -0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0, -0x20,0xB0,0x00,0x6A,0x04,0xD2,0x40,0x98,0x01,0x69,0xC0,0xF6,0x42,0x32,0x2C,0xEA, -0x09,0x22,0x00,0x18,0x4F,0x9A,0x06,0xD4,0x04,0xD1,0x40,0x98,0x1A,0xB3,0x6C,0xEA, -0x40,0xD8,0x06,0x94,0x44,0xAC,0xFF,0xF7,0x1F,0x6B,0x06,0x72,0x19,0x61,0x40,0x9C, -0x17,0x2A,0x45,0xAC,0x6C,0xEA,0x17,0x2A,0x41,0x9C,0x82,0x67,0x42,0x32,0x42,0x32, -0x6C,0xEA,0x01,0xF0,0x0B,0x72,0x6C,0xEC,0x04,0x61,0x80,0x18,0xB6,0x2B,0x00,0x65, -0x0A,0x10,0x01,0xF0,0x05,0x72,0x07,0x61,0x00,0x18,0x2C,0x48,0x00,0x65,0x03,0x10, -0x00,0x18,0x74,0x56,0x00,0x65,0x04,0x92,0x05,0x22,0x06,0xB2,0x07,0xB4,0x60,0x9A, -0x8D,0xEB,0x60,0xDA,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00, -0x54,0x45,0x11,0x80,0xFF,0xFF,0xFF,0xF7,0x00,0x00,0x00,0x08,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0x39,0xB2,0x03,0x6E,0x40,0x9A,0x42,0x32,0x4A,0x32,0xCC,0xEA, -0x01,0x72,0x61,0x61,0x44,0xAC,0xFF,0xF7,0x1F,0x69,0x07,0x72,0x11,0x61,0x60,0x9C, -0xFF,0x6E,0x40,0xA3,0x03,0x72,0x57,0x61,0x42,0xA3,0xCC,0xEA,0x54,0x2A,0x43,0xA3, -0x64,0xA3,0xCC,0xEA,0xCC,0xEB,0x60,0x33,0x6D,0xEA,0x2D,0xB3,0x40,0xCB,0x4B,0x10, -0x08,0x72,0x49,0x61,0xA0,0x9C,0x60,0x9D,0x62,0x32,0x5A,0x32,0xCC,0xEA,0x2C,0x22, -0xE1,0xF7,0x1F,0x6A,0x4C,0xEB,0x1C,0x73,0x27,0x61,0x26,0xB2,0x00,0x18,0xE0,0x1D, -0x83,0x9A,0x00,0x18,0x6A,0x1E,0x00,0x65,0x23,0xB2,0x60,0xF1,0x47,0xA2,0x18,0x2A, -0x22,0xB2,0x11,0x67,0xFF,0x6C,0x40,0xAA,0x1F,0x4C,0x4C,0xE8,0xFF,0xF7,0x0F,0x6A, -0x4C,0xE8,0x00,0x18,0x9A,0x33,0xB0,0x67,0x00,0x18,0xE2,0xBF,0x00,0x65,0x10,0x6A, -0x4D,0xE8,0xB0,0x67,0xFF,0x6C,0x1F,0x4C,0x00,0x18,0x9A,0x33,0x2C,0xED,0x1E,0x10, -0x00,0x18,0xF7,0x4F,0x33,0x6C,0x1A,0x10,0x66,0x6A,0x7D,0x67,0x50,0xCB,0x14,0xB2, -0xFD,0x67,0x06,0xD5,0x80,0x9A,0x00,0x6D,0x04,0x06,0x24,0x4F,0xA9,0xE7,0x40,0xA2, -0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18, -0x40,0x1E,0x08,0x97,0x03,0x10,0x00,0x18,0x64,0x8B,0x00,0x65,0x0E,0x97,0x0D,0x91, -0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x6C,0x1D,0x11,0x80,0x18,0xA1,0x11,0x80, -0x9C,0x31,0x11,0x80,0x48,0x5C,0x11,0x80,0x1E,0x01,0x00,0xB6,0x84,0x21,0x11,0x80, -0xFD,0x63,0x04,0x62,0x17,0xB2,0x03,0x6B,0xC4,0x67,0x40,0x9A,0x42,0x32,0x4A,0x32, -0x6C,0xEA,0x01,0x72,0x1E,0x61,0x44,0xAC,0x66,0x72,0x1B,0x61,0xA0,0x9C,0xE1,0xF7, -0x1F,0x6A,0xFF,0xF7,0x1F,0x6B,0x80,0x9D,0x4C,0xEC,0x0F,0xB2,0x40,0xAA,0x6C,0xEA, -0x4E,0xEC,0x0F,0x2C,0x0D,0xB3,0x00,0x6A,0x00,0xF4,0x44,0xDD,0x40,0x9B,0x02,0x2A, -0xA0,0xDB,0x04,0x10,0x0A,0xB2,0x40,0x9A,0x00,0xF4,0xA4,0xDA,0x08,0xB2,0xA0,0xDA, -0x03,0x10,0x00,0x18,0x18,0x58,0x86,0x67,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00, -0x6C,0x1D,0x11,0x80,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80,0x20,0xA1,0x11,0x80, -0xFD,0x63,0x05,0x62,0x04,0xD0,0x0B,0xB0,0xE3,0xF7,0x1F,0x6B,0x7C,0x6C,0x40,0x98, -0x01,0x6D,0x56,0x32,0x6C,0xEA,0x69,0x98,0x58,0xEB,0x12,0xEA,0x00,0x18,0xEB,0x9F, -0x4A,0xD8,0x6B,0x98,0x05,0x97,0x4D,0xE3,0x6B,0xD8,0x04,0x90,0x00,0xEF,0x03,0x63, -0xD8,0xA0,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0x3B,0xB0,0xBD,0x67, -0x10,0x4D,0x90,0xA0,0x4F,0xA0,0x80,0x34,0x4D,0xEC,0x4E,0xA0,0x80,0x34,0x00,0x18, -0x3A,0xBA,0x4D,0xEC,0x7D,0x67,0x48,0xAB,0x8F,0xA0,0xFD,0x67,0x4C,0xCB,0x49,0xAB, -0x4D,0xCB,0x6A,0xAB,0x03,0x6A,0x4C,0xEB,0x4E,0xA0,0x48,0x32,0x4D,0xEB,0x80,0x32, -0x48,0x32,0x4D,0xEB,0x50,0xA0,0x6E,0xCF,0x70,0x80,0x48,0x32,0x9A,0x34,0x4D,0xEC, -0x00,0x53,0x8F,0xCF,0x05,0x60,0x09,0xF4,0x00,0x6A,0x8D,0xEA,0x4F,0xCF,0x06,0x10, -0x0A,0xF0,0x00,0x6A,0x4B,0xEA,0x8D,0xEA,0x7D,0x67,0x4F,0xCB,0x9D,0x67,0x10,0x4C, -0xFF,0xF7,0x1F,0x6F,0x0F,0x6A,0x00,0x6E,0x2C,0x65,0x0F,0x65,0x01,0x69,0x4A,0x65, -0x89,0x67,0xC4,0x30,0x89,0xE0,0x84,0xAA,0x00,0x6D,0xE8,0x67,0x65,0x67,0xEC,0xEC, -0x44,0x67,0x47,0xEB,0x2C,0xEA,0x07,0x22,0xEA,0x67,0x6B,0xE7,0xF1,0x67,0xE4,0xEA, -0xED,0xED,0x48,0x67,0x4C,0xED,0x01,0x4B,0xFF,0x6F,0xEC,0xEB,0x10,0x5B,0xF0,0x61, -0x01,0x4E,0x69,0x67,0xEC,0xEE,0x69,0xE0,0x04,0x5E,0xA4,0xCA,0xE1,0x61,0xFD,0x67, -0xCC,0xAF,0x51,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x5D,0x67,0xCD,0xAA,0x50,0x6C, -0x00,0x18,0x01,0xA0,0x01,0x6D,0x7D,0x67,0xCE,0xAB,0x4F,0x6C,0x00,0x18,0x01,0xA0, -0x01,0x6D,0xFD,0x67,0xCF,0xAF,0x4E,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x0A,0x97, -0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0xD8,0xA0,0x11,0x80,0xFB,0x63,0x08,0x62, -0x07,0xD1,0x06,0xD0,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6B, -0x04,0xD3,0x6C,0xEA,0xFF,0x6B,0x02,0x4B,0x6B,0xEB,0x6C,0xEA,0xFF,0x6B,0x01,0x4B, -0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x51,0xB1,0x52,0xB3, -0x07,0x68,0x41,0x99,0x51,0xB4,0x01,0x6D,0x4E,0x32,0x0C,0xEA,0x69,0xE2,0x60,0xA2, -0x40,0x99,0x0C,0xEB,0x40,0xF6,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x57,0x6C,0x00,0x18, -0xEB,0x9F,0x40,0xD9,0x04,0x93,0x57,0x6C,0x01,0x6D,0x4C,0xEB,0x71,0x6A,0x04,0xD3, -0x4B,0xEA,0x4C,0xEB,0x40,0x99,0xC3,0x67,0x40,0xF6,0x42,0x32,0x0C,0xEA,0x50,0x32, -0x00,0x18,0x01,0xA0,0x4D,0xEE,0x40,0x99,0x01,0x6B,0x03,0x67,0x6C,0xEA,0x06,0x22, -0x41,0x99,0x80,0x6B,0x6C,0xEA,0x01,0x5A,0x18,0x67,0x02,0x48,0x56,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x00,0x36,0x37,0xB0,0xFF,0xF7,0x1F,0x69,0x1C,0xF0,0x00,0x6B, -0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x60,0x98,0xE3,0xF7,0x1F,0x6C,0xD8,0x36,0x76,0x33, -0x8C,0xEB,0x6D,0xEE,0xFB,0xF7,0x1F,0x6B,0x6C,0xEE,0x4D,0xEE,0x56,0x6C,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x47,0xA0,0xC6,0xA0,0x58,0x6C,0x40,0x32,0x4D,0xEE,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xC8,0xA0,0x04,0x6B, -0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x03,0x6B,0x6C,0xEE,0x4D,0xEE,0x59,0x6C,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x80,0x18,0x7D,0x2C,0x00,0x65,0x40,0x98,0xC0,0xF7,0x42,0x32, -0x24,0x22,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x81,0x6B,0x2C,0xEA,0x6B,0xEB, -0x6C,0xEA,0xC2,0x67,0x80,0x6B,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D, -0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE9,0xE0,0xF1,0x1D,0x6A,0x4B,0xEA, -0x4C,0xE9,0x45,0xA0,0xFF,0x6B,0xD1,0x67,0x6C,0xEA,0x48,0x32,0xE0,0xF1,0x1C,0x6B, -0x6C,0xEA,0x59,0x6C,0x01,0x6D,0x4D,0xEE,0x0B,0x10,0x57,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x4C,0xE9,0x81,0x6A,0x4B,0xEA,0xD1,0x67,0x57,0x6C,0x01,0x6D,0x4C,0xEE, -0x00,0x18,0x01,0xA0,0x00,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63, -0xD8,0xA0,0x11,0x80,0x78,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xFB,0x63,0x08,0x62, -0x07,0xD1,0x06,0xD0,0x0F,0xB1,0xFF,0x68,0x8C,0xE8,0x47,0x99,0x4F,0xEA,0x04,0x22, -0x87,0x41,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x0E,0x20,0x0B,0xB6,0x00,0x68,0xA7,0x41, -0x01,0x6C,0x15,0x4D,0xF0,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD0,0x87,0x99,0x00,0x18, -0x0C,0x1E,0x14,0x6D,0x10,0xC9,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63, -0xD8,0xA0,0x11,0x80,0x85,0xB5,0x10,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0, -0x00,0x6C,0x02,0xF0,0x00,0x6E,0x00,0x18,0x01,0xA0,0xA4,0x67,0x2D,0xB2,0x3C,0x6C, -0x00,0x6D,0xC0,0x9A,0x7F,0x6A,0xFF,0xF7,0x1F,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE, -0xC4,0x36,0xFF,0x6A,0x01,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C, -0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x01,0xF6,0x01,0x69,0x2B,0xE9,0xC2,0x67, -0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x01,0xF6,0x00,0x6B,0xC2,0x67,0x6D,0xEE,0x57,0x6C, -0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA, -0x03,0x69,0x2B,0xE9,0xC2,0x67,0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D, -0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x02,0x6B,0xC2,0x67, -0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x4C,0xE8,0xD0,0x67,0x2C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0,0x57,0x6C, -0x80,0x18,0x1B,0x2D,0x01,0x6C,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63, -0xD8,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x1A,0xB2,0x06,0xD4,0x47,0x9A, -0x8E,0xEA,0x05,0x22,0x8F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x06,0x04,0x15,0xB0, -0x42,0x6B,0x41,0x98,0x6C,0xEA,0x6A,0xEA,0x08,0x60,0x47,0x98,0x4F,0xEA,0x1C,0x22, -0x87,0x40,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x17,0x10,0x7D,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x02,0x6E,0x4C,0xEE,0x04,0x26,0x50,0xA8,0x01,0x4A,0x50,0xC8,0x0C,0x10, -0x86,0x67,0x00,0x18,0x01,0xA0,0xA6,0x67,0x49,0x98,0x01,0x4A,0x80,0x18,0x70,0x2C, -0x49,0xD8,0x80,0x18,0x2E,0x2D,0x00,0x65,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63, -0xD8,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x00,0x6C,0xC4,0x67,0x00,0x18, -0x01,0xA0,0xA4,0x67,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E, -0x4C,0xEE,0xFF,0x6A,0x04,0x4A,0x4B,0xEA,0x4C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0, -0x57,0x6C,0x0A,0xB0,0x41,0x6B,0x6B,0xEB,0x41,0x98,0x00,0x6C,0x6C,0xEA,0x80,0x18, -0x1B,0x2D,0x41,0xD8,0x80,0x18,0x70,0x2C,0x00,0x65,0x00,0x6A,0x49,0xC0,0x05,0x97, -0x04,0x90,0x00,0xEF,0x03,0x63,0x00,0x00,0xD8,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62, -0x80,0x18,0xBB,0x2C,0x00,0x65,0x0D,0xB3,0x00,0x6A,0x59,0x6C,0x4B,0xDB,0x49,0xDB, -0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x00,0xF2,0x01,0x6A, -0x4B,0xEA,0x59,0x6C,0x01,0x6D,0x00,0x18,0x01,0xA0,0x4C,0xEE,0x80,0x18,0x2E,0x2D, -0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0xD8,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62, -0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1, -0x01,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C, -0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x06,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C, -0x04,0x97,0x6C,0xEA,0x41,0xDC,0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x00,0x00, -0xD8,0xA0,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x80,0x18,0xBB,0x2C, -0x00,0x65,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x69,0x02,0xF0, -0x01,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x02,0xF0,0x00,0x68,0xC2,0x67,0x0D,0xEE, -0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D, -0x2C,0xEA,0x00,0xF2,0x01,0x6B,0x6B,0xEB,0xC2,0x67,0x6C,0xEE,0x59,0x6C,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x00,0x6C,0xD0,0x67,0x00,0x18,0x01,0xA0,0xA4,0x67,0x28,0xB2, -0x03,0x6C,0x00,0x6D,0x00,0x9A,0x07,0x6A,0x00,0xF7,0x02,0x30,0x00,0x18,0xEB,0x9F, -0x4C,0xE8,0x2C,0xEA,0x1F,0xF4,0x01,0x6B,0x6B,0xEB,0x6C,0xEA,0x21,0xB3,0x05,0x48, -0x1F,0xF4,0x00,0x6C,0x61,0xE0,0x20,0xF1,0x7A,0xA0,0xC2,0x67,0x00,0x6D,0x60,0x33, -0x68,0x33,0x8C,0xEB,0x6D,0xEE,0x00,0x18,0x01,0xA0,0x03,0x6C,0x18,0xB3,0x7F,0x6A, -0x3C,0x6C,0xC0,0x9B,0x00,0x6D,0x01,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE,0xC4,0x36, -0xFF,0x6A,0x06,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0xC2,0x67,0x0D,0xEE, -0xB0,0x67,0x00,0x18,0x01,0xA0,0x57,0x6C,0xB0,0x67,0x00,0x18,0xEB,0x9F,0x57,0x6C, -0x02,0x6E,0x4C,0xE9,0xCB,0xEE,0xB0,0x67,0x2C,0xEE,0x00,0x18,0x01,0xA0,0x57,0x6C, -0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x00,0x00,0xD8,0xA0,0x11,0x80, -0xDC,0x00,0x11,0x80,0xFD,0x63,0x04,0x62,0x7F,0xF7,0x0F,0x6D,0x00,0x18,0x5D,0xBA, -0x5E,0x6C,0x0E,0xB2,0xFF,0xF6,0x1F,0x6D,0x00,0x18,0x5D,0xBA,0x81,0xA2,0xFF,0x6D, -0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33, -0x00,0x6D,0x07,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C,0x04,0x97,0x6C,0xEA,0x41,0xDC, -0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x30,0xF4,0x04,0x80,0xD8,0xA0,0x11,0x80, -0xF7,0x63,0x10,0x62,0x0F,0xD1,0x0E,0xD0,0x72,0xB5,0x73,0xB3,0x07,0x6C,0xC0,0x9D, -0xFF,0xF7,0x1F,0x6F,0xC0,0x32,0x58,0x32,0x80,0xF5,0x42,0x31,0x41,0x9D,0x4E,0x32, -0x8C,0xEA,0x69,0xE2,0x60,0xA2,0x6D,0xB2,0x8C,0xEB,0x40,0xF6,0x60,0x33,0xCC,0xEA, -0x6D,0xEA,0x40,0xF6,0x42,0x33,0x40,0xDD,0xFF,0x6E,0x8C,0xEB,0x61,0x21,0x51,0x67, -0xEC,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4,0x00,0x6A,0x27,0x67,0x4C,0xE9, -0x4F,0x43,0xCC,0xEA,0x04,0x5A,0x23,0x61,0x61,0xB0,0x00,0x6F,0x5D,0x67,0x06,0xD7, -0x0C,0xCA,0x06,0x92,0x5F,0xB3,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA,0x8D,0xEA, -0x06,0xD2,0x5D,0xB2,0x9D,0x67,0x18,0x4C,0xC5,0x67,0x07,0xD2,0x04,0xD7,0x05,0xD7, -0x3C,0x10,0xE0,0xF7,0x1F,0x6A,0x4C,0xEB,0x49,0x67,0x80,0xF4,0x60,0x33,0xCC,0xEA, -0x6D,0xEA,0x40,0xDC,0x54,0xB2,0xFF,0x6D,0xEC,0xED,0x41,0xDC,0x28,0x10,0x53,0xB2, -0x60,0x33,0x00,0x6D,0x41,0xE3,0x5D,0x67,0x18,0x4A,0xAA,0x65,0x4D,0xB2,0x71,0x67, -0x0D,0x65,0x2A,0x65,0x4E,0xB2,0x6F,0x65,0x4E,0x65,0x8A,0x65,0xAC,0x32,0xCD,0x67, -0xD1,0xE2,0x48,0x67,0x40,0xDC,0x00,0xF1,0x01,0x5B,0x00,0xCC,0x41,0xDC,0xC0,0x9C, -0xE1,0x45,0xD7,0x61,0x49,0x67,0xCC,0xEA,0xAC,0x67,0xAD,0xEA,0xAA,0x67,0x80,0x4B, -0xEC,0xED,0x80,0x4B,0xCB,0x67,0x04,0x5D,0x40,0xDC,0xCC,0xEB,0xE7,0x61,0x00,0x6F, -0x9D,0x67,0x04,0xD7,0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65, -0x34,0xB2,0xC4,0x6C,0xA0,0x9A,0x7F,0x6A,0x80,0xF4,0xA2,0x35,0x4C,0xED,0xA0,0x32, -0x00,0x18,0x9A,0x33,0x4D,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x60,0x6D,0x35,0xB2, -0x35,0xB0,0x2C,0xB3,0x81,0xA2,0x01,0xF4,0x00,0x6D,0x09,0xE4,0x40,0xAA,0x4C,0xED, -0x40,0x9B,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x40,0x32,0x50,0x32,0x4D,0xED,0x00,0x18, -0x9A,0x33,0x2D,0xED,0x2D,0xB2,0x23,0xB6,0xEE,0xF1,0x1F,0x6D,0x21,0xA2,0x60,0x9E, -0x01,0xE1,0x40,0xA8,0x07,0x68,0x91,0x67,0x4C,0xED,0x01,0x6A,0x6C,0xEA,0x00,0xF7, -0x62,0x33,0x0C,0xEB,0x40,0x32,0x5C,0x32,0x60,0x33,0x64,0x33,0x4D,0xED,0x00,0x18, -0x9A,0x33,0x6D,0xED,0x17,0xB2,0x01,0x6C,0xA0,0x9A,0x00,0xF7,0xA2,0x35,0x00,0x18, -0x68,0x91,0x0C,0xED,0x13,0xB3,0x01,0x6C,0xA0,0x9B,0x00,0xF7,0xA2,0x35,0x00,0x18, -0x82,0x91,0x0C,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x90,0x6D,0xFF,0x6D,0x91,0x67, -0x00,0x18,0x78,0xBA,0x01,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x03,0x6D, -0xFF,0x6D,0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFE,0xF7,0x1F,0x6D,0x00,0x18, -0x5D,0xBA,0x5E,0x6C,0x10,0x97,0x0F,0x91,0x0E,0x90,0x00,0xEF,0x09,0x63,0x00,0x00, -0xD8,0xA0,0x11,0x80,0x80,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0x00,0xF8,0x10,0x80, -0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80,0x00,0x00,0x00,0x04, -0x38,0xF4,0x04,0x80,0x00,0x00,0x00,0xB6,0x30,0xF4,0x04,0x80,0xE0,0x63,0x3F,0x62, -0x3E,0xD0,0x0F,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x00,0x68, -0x7D,0x67,0x04,0xF0,0x1F,0x6A,0x9D,0x67,0x12,0xC3,0x48,0xCB,0x00,0x18,0xEC,0xC6, -0x10,0x4C,0x08,0xB4,0x04,0x63,0x41,0x6B,0x41,0x9C,0x09,0xC4,0x3F,0x97,0x3E,0x90, -0x6B,0xEB,0x6C,0xEA,0x41,0xDC,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80, -0xD8,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x18,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18, -0x64,0x2E,0x08,0x6E,0x16,0xB5,0x17,0xB3,0x07,0x6E,0x41,0x9D,0x16,0xB4,0x4E,0x32, -0xCC,0xEA,0x69,0xE2,0x40,0xA2,0x60,0x9D,0xCC,0xEA,0x40,0xF6,0x40,0x32,0x8C,0xEB, -0x4D,0xEB,0x9D,0x67,0x04,0xF0,0x1E,0x6A,0x60,0xDD,0x48,0xCC,0x03,0x6A,0x52,0xC4, -0x80,0xF4,0x62,0x32,0x7F,0x6C,0x8C,0xEA,0x9D,0x67,0x53,0xC4,0x62,0x32,0x40,0xF6, -0x62,0x33,0xCC,0xEB,0x75,0xC4,0x54,0xC4,0x00,0x18,0xAA,0xC6,0x10,0x4C,0x04,0x63, -0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xD8,0xA0,0x11,0x80, -0x70,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xE0,0x63,0x3E,0x62,0x3D,0xD1,0x3C,0xD0, -0x11,0xB4,0xFB,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x7D,0x67,0x04,0xF0, -0x1F,0x6A,0x48,0xCB,0x0D,0xB2,0x0E,0xB0,0x00,0x69,0xA1,0xF1,0x48,0xAA,0x9D,0x67, -0x32,0xC3,0x49,0xD8,0x00,0x18,0xEC,0xC6,0x10,0x4C,0x41,0x98,0x41,0x6B,0x6B,0xEB, -0x05,0x63,0x6C,0xEA,0x29,0xC0,0x41,0xD8,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x00,0xEF, -0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0x58,0x46,0x11,0x80,0xD8,0xA0,0x11,0x80, -0xE0,0x63,0x3E,0x62,0x0E,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E, -0x7D,0x67,0x04,0xF0,0x1D,0x6A,0x48,0xCB,0x01,0x6A,0x52,0xC3,0x09,0xB2,0x7F,0x6B, -0x9D,0x67,0x40,0x9A,0x10,0x4C,0x80,0xF4,0x42,0x32,0x6C,0xEA,0x7D,0x67,0x00,0x18, -0x7C,0xC6,0x53,0xC3,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80, -0xD8,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x24,0xB4,0xFC,0x63,0x08,0x6E,0x00,0x18, -0x64,0x2E,0x00,0x6D,0x7D,0x67,0x04,0xF0,0x0D,0x6A,0x48,0xCB,0x19,0x6A,0x00,0x6C, -0x52,0xC3,0x60,0x6A,0x4B,0xEA,0x53,0xC3,0x94,0xC3,0x55,0xC3,0x96,0xC3,0x97,0xC3, -0x98,0xC3,0x1B,0xB3,0xBD,0x67,0x9F,0xC5,0x54,0xA3,0x20,0xF0,0x80,0xC5,0x20,0xF0, -0x82,0xC5,0x59,0xC5,0x55,0xA3,0x20,0xF0,0x84,0xC5,0x20,0xF0,0x85,0xC5,0x5A,0xC5, -0x56,0xA3,0x20,0xF0,0x87,0xC5,0x20,0xF0,0x89,0xC5,0x5B,0xC5,0x57,0xA3,0x5C,0xC5, -0x58,0xA3,0x5D,0xC5,0x59,0xA3,0x5E,0xC5,0x02,0x6A,0x20,0xF0,0x41,0xC5,0x20,0xF0, -0x43,0xC5,0x1E,0x6A,0x20,0xF0,0x46,0xC5,0x12,0x6A,0x20,0xF0,0x48,0xC5,0x20,0xF0, -0x4A,0xC5,0x20,0xF0,0x8B,0xC5,0x9D,0x67,0x00,0x18,0xFC,0xC2,0x10,0x4C,0x04,0x63, -0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xD8,0xA0,0x11,0x80, -0xE0,0x63,0x3E,0x62,0x1A,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E, -0x7D,0x67,0x04,0xF0,0x06,0x6A,0x48,0xCB,0x0F,0x6A,0x9D,0x67,0x52,0xC3,0x00,0x6A, -0x54,0xC4,0x56,0xC4,0x57,0xC4,0x58,0xC4,0x59,0xC4,0x5A,0xC4,0x5B,0xC4,0x5C,0xC4, -0x5D,0xC4,0x5E,0xC4,0x5F,0xC4,0x07,0x6A,0x20,0x6B,0x20,0xF0,0x40,0xC4,0x03,0x6A, -0x73,0xC4,0x75,0xC4,0x20,0xF0,0x41,0xC4,0x00,0x18,0xA8,0xC1,0x10,0x4C,0x7D,0x67, -0x04,0xF0,0x0A,0x6A,0x48,0xCB,0x9D,0x67,0x01,0x6A,0x52,0xC3,0x53,0xC3,0x00,0x18, -0x5E,0xC2,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80, -0xE0,0x63,0x3E,0x62,0xFB,0x63,0x7D,0x67,0x00,0xF4,0x06,0x6A,0x48,0xCB,0x03,0x6A, -0x52,0xC3,0x13,0x6A,0x55,0xC3,0x26,0xB2,0x6D,0xA2,0x08,0x73,0x22,0x60,0x70,0x32, -0x69,0xE2,0x24,0xB6,0x48,0x32,0x6B,0xE2,0x48,0x32,0xD1,0xE2,0x20,0xF1,0x4F,0xA4, -0x01,0x6D,0xAC,0xEA,0x16,0x22,0x00,0xF1,0x52,0xAE,0x47,0xEB,0xAC,0xEA,0x11,0x22, -0x20,0xF1,0x6C,0xAC,0xFF,0xF7,0x1F,0x6A,0x9D,0x67,0x4C,0xEB,0x5D,0x67,0x73,0xC2, -0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18,0xD2,0x48, -0x10,0x4C,0x13,0xB2,0x6C,0xA2,0x0A,0x73,0x1D,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32, -0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x10,0xB3,0x48,0x32,0x71,0xE2,0xE0,0xF0,0x4B,0xA4, -0xFF,0x6B,0x6C,0xEA,0x01,0x72,0x0E,0x61,0x60,0xF2,0x7C,0xAC,0x5D,0x67,0x9D,0x67, -0x73,0xC2,0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18, -0xD2,0x48,0x10,0x4C,0x05,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0xD8,0xA0,0x11,0x80, -0x58,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x12,0xB0, -0x00,0x6A,0xFF,0x6D,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1, -0x58,0xC0,0x0E,0xB2,0x02,0x6B,0xAC,0xEC,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0, -0xC0,0xF1,0x79,0xC0,0x40,0xF1,0x9E,0xC0,0x60,0xC2,0x00,0x18,0xEB,0xA4,0xAC,0xEC, -0x20,0xF1,0x8E,0x40,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x05,0x97,0x04,0x90, -0x00,0xEF,0x03,0x63,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80,0xE0,0x63,0x3E,0x62, -0x3D,0xD1,0x3C,0xD0,0xF5,0x63,0x7D,0x67,0x00,0xF4,0x05,0x6A,0x7E,0xB5,0x54,0xCB, -0x9D,0x67,0x0D,0x6A,0x20,0xF0,0x4A,0xC3,0x2B,0x4C,0x00,0x18,0x2E,0x2E,0x06,0x6E, -0x7A,0xB0,0x00,0x6A,0x9D,0x67,0x01,0x6B,0x20,0xF0,0x51,0xC4,0x20,0xF0,0x52,0xC4, -0x20,0xF0,0x73,0xC4,0x20,0xF0,0x54,0xC4,0x20,0xF0,0x55,0xC4,0x20,0xF0,0x56,0xC4, -0x20,0xF0,0x77,0xC4,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1, -0x58,0xC0,0x6F,0xB2,0x02,0x6B,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0,0xC0,0xF1, -0x79,0xC0,0x20,0xF1,0x8E,0x40,0x60,0xC2,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E, -0x60,0xF1,0x4E,0xA0,0x02,0x72,0x07,0x60,0x03,0x52,0x02,0x60,0x01,0x72,0x01,0x10, -0x03,0x72,0x15,0x61,0xAF,0x10,0x63,0xB5,0x00,0x6B,0xFF,0x6C,0x64,0x32,0x69,0xE2, -0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x48,0x32,0xA9,0xE2,0x20,0xF0,0x58,0xA2, -0x8C,0xEA,0x80,0xF0,0x1F,0x2A,0x01,0x4B,0x8C,0xEB,0x0A,0x5B,0xEF,0x61,0x00,0x18, -0xD4,0x5A,0x0A,0x04,0x62,0x67,0x80,0xF0,0x1D,0x2A,0x0A,0x02,0x06,0x4A,0x64,0xA2, -0xFF,0xF7,0x1F,0x6C,0xBD,0x67,0x60,0x33,0x4C,0xD3,0x43,0xA2,0x22,0x4D,0x4D,0xEB, -0x8C,0xEB,0x4C,0xD3,0x5D,0x67,0x20,0xF0,0x53,0xA2,0x7D,0x67,0x4D,0xD2,0x20,0xF0, -0x74,0xA3,0x0A,0x02,0x0A,0x4A,0x4E,0xD3,0x24,0xA2,0x43,0xA2,0x20,0x31,0x8C,0xE9, -0x4D,0xE9,0x8C,0xE9,0x9D,0x67,0x20,0xF0,0x97,0xA4,0x4F,0xD4,0x9D,0x67,0x00,0x18, -0x8E,0xDF,0x20,0x4C,0x50,0xD2,0x62,0x67,0x75,0x2A,0x5D,0x67,0x71,0xAA,0xFF,0xF7, -0x1F,0x6C,0x3D,0xB5,0x8C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x3C,0xB3,0x48,0x32,0x61,0xE2,0xE0,0xF0,0x8D,0x40,0x00,0x18,0x2E,0x2E, -0x06,0x6E,0x5D,0x67,0x20,0xF1,0x50,0xAA,0x7D,0x67,0x9D,0x67,0x60,0xF2,0x5E,0xC8, -0x20,0xF1,0x74,0xA3,0x5D,0x67,0xE0,0xF0,0x7A,0xC0,0x20,0xF1,0x98,0xA4,0x7D,0x67, -0xE0,0xF0,0x9C,0xC0,0x20,0xF1,0x5C,0xA2,0xE0,0xF0,0x5D,0xC0,0x20,0xF0,0x40,0xA3, -0xE0,0xF0,0x53,0xC0,0x01,0x6A,0x80,0xF2,0x42,0xC0,0x91,0xAB,0xFF,0xF7,0x1F,0x6A, -0x00,0x18,0x45,0x95,0x4C,0xEC,0x7D,0x67,0x40,0xF1,0x60,0xA3,0x22,0x32,0x5E,0x32, -0x00,0xF1,0x71,0xC0,0x18,0x22,0xEF,0xF7,0x1F,0x6A,0x4C,0xE9,0x01,0x6A,0x80,0xF0, -0x3E,0xC8,0x04,0xD2,0x20,0xB2,0xFF,0xF7,0x1F,0x6C,0xFA,0x6D,0x05,0xD2,0x80,0xF0, -0x5E,0xA8,0x24,0xF2,0x15,0x6E,0x20,0xF5,0x17,0x6F,0x8C,0xEA,0x06,0x6C,0x20,0x18, -0x1B,0x32,0x06,0xD2,0x05,0x10,0x5D,0x67,0x40,0xF1,0x40,0xAA,0x80,0xF0,0x5E,0xC8, -0x00,0x18,0x4E,0x9B,0x0A,0x04,0x22,0x67,0x0F,0x22,0x7D,0x67,0x20,0xF0,0x80,0xA3, -0xE0,0xF0,0xA8,0xA0,0x00,0x18,0xB6,0xDF,0x00,0x65,0x0B,0xB4,0x00,0x18,0xD3,0xDF, -0x00,0x65,0x07,0x10,0x0C,0x6B,0x06,0x10,0x5D,0x67,0x91,0xAA,0x20,0x18,0x13,0x26, -0x01,0x6D,0x71,0x67,0x0B,0x63,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x43,0x67,0x00,0xEF, -0x20,0x63,0x00,0x00,0xEC,0xA0,0x11,0x80,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80, -0x48,0x60,0x11,0x80,0xFC,0xA5,0x10,0x80,0xF4,0x63,0x16,0x62,0x15,0xD1,0x14,0xD0, -0x00,0x6A,0x0B,0xD2,0x0C,0xD2,0x0D,0xD2,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x18,0xD4, -0x54,0xCB,0x62,0xA4,0x23,0xA4,0x02,0x6A,0x1E,0x5B,0xC0,0xF3,0x1B,0x60,0x04,0x0A, -0x64,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x3D,0x00,0x49,0x00, -0x9D,0x00,0x5B,0x02,0x07,0x03,0x47,0x03,0xD3,0x03,0xAB,0x07,0xF5,0x03,0x07,0x04, -0x21,0x04,0x33,0x04,0x9D,0x06,0x9D,0x05,0x45,0x04,0x6D,0x05,0x85,0x05,0x9D,0x06, -0xAD,0x05,0xBF,0x05,0xD1,0x05,0xFF,0x05,0x0B,0x06,0x21,0x06,0x2D,0x06,0x41,0x06, -0x51,0x06,0x61,0x06,0x6D,0x06,0x7F,0x06,0xA0,0xF7,0x00,0xB2,0x03,0x6C,0x40,0xAA, -0x0B,0xD2,0x0A,0x13,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E, -0x4C,0xEE,0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0, -0x01,0x6D,0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x80,0x18,0x1B,0x2D, -0x00,0x6C,0x00,0x18,0xFE,0x4F,0x00,0x65,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18, -0x49,0x2B,0xC5,0x67,0x40,0xF7,0x18,0xB3,0x0A,0x6A,0x4C,0xC3,0x08,0x6A,0x4D,0xC3, -0x00,0x6A,0x49,0xC3,0x4A,0xC3,0x87,0x13,0x0B,0x59,0x18,0x67,0x60,0xF3,0x11,0x20, -0x20,0xF7,0x1C,0xB4,0x05,0x21,0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x07,0x22,0x53,0x13, -0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x02,0x2A,0x29,0xC4,0x75,0x13,0x20,0xF7,0x00,0xB3, -0x04,0x6A,0x01,0x6C,0x29,0xC3,0x04,0xD2,0x00,0xF7,0x18,0xB2,0x06,0xD1,0xFA,0x6D, -0x05,0xD2,0x4A,0xA3,0x43,0xF7,0x0A,0x6E,0xE1,0xF4,0x11,0x6F,0x07,0xD2,0x61,0x9B, -0x6A,0x32,0x66,0xEC,0x8C,0xEA,0x8C,0xEB,0x08,0xD2,0x20,0x18,0x1B,0x32,0x09,0xD3, -0xA0,0xF0,0x04,0x20,0x00,0xF0,0x10,0x0A,0x24,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3, -0x00,0xEB,0x00,0x65,0x17,0x00,0x8D,0x00,0xB9,0x00,0xEF,0x00,0x0F,0x01,0x13,0x01, -0x17,0x01,0x39,0x01,0x21,0x01,0x29,0x01,0x31,0x01,0xC0,0xF6,0x04,0xB2,0x61,0x9A, -0x01,0x6A,0x6C,0xEA,0x0B,0x22,0x02,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0x7D,0x2D, -0x00,0x65,0x15,0x10,0x80,0x18,0xA3,0x2D,0x00,0x65,0x11,0x10,0x02,0x6A,0x6C,0xEA, -0x04,0x22,0x80,0x18,0xB6,0x2E,0x00,0x65,0x0A,0x10,0x04,0x6A,0x6C,0xEA,0x04,0x22, -0x80,0x18,0x87,0x2E,0x00,0x65,0x03,0x10,0x80,0x18,0xF5,0x2D,0x00,0x65,0x80,0xF6, -0x00,0xB0,0x8A,0x98,0x4B,0x98,0x29,0x98,0x0E,0xD4,0x00,0x18,0xFE,0x4F,0x0F,0xD2, -0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x49,0x2B,0xC5,0x67,0x0E,0x93,0x0F,0x94, -0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x4D,0xC0,0x29,0xD8,0x6A,0xD8,0x8B,0xD8,0x0B,0x13, -0x40,0xF6,0x0C,0xB4,0x02,0x6A,0x61,0x9C,0x4D,0xEB,0x04,0x6A,0x6C,0xEA,0x61,0xDC, -0x07,0x22,0x02,0x6A,0x4B,0xEA,0x6C,0xEA,0x80,0x18,0xCC,0x2E,0x41,0xDC,0x1A,0x10, -0x01,0x6A,0x6D,0xEA,0x80,0x18,0x93,0x2D,0x41,0xDC,0x14,0x10,0x20,0xF6,0x00,0xB4, -0x03,0x6A,0x4B,0xEA,0x61,0x9C,0x4C,0xEB,0x02,0x6A,0x4B,0xEA,0x4C,0xEB,0x04,0x6A, -0x6C,0xEA,0x61,0xDC,0x04,0x22,0x80,0x18,0x99,0x2E,0x00,0x65,0x03,0x10,0x80,0x18, -0x08,0x2E,0x00,0x65,0xE0,0xF5,0x18,0xB2,0x40,0x6C,0x61,0x9A,0x8D,0xEB,0x61,0xDA, -0xDA,0x12,0xE0,0xF5,0x0C,0xB0,0x03,0x6B,0x6B,0xEB,0x41,0x98,0x6C,0xEA,0x01,0x6B, -0x6D,0xEA,0x80,0x18,0xB5,0x2D,0x41,0xD8,0x41,0x98,0x40,0x6B,0x6D,0xEA,0x41,0xD8, -0xCA,0x12,0x01,0x6C,0x03,0x10,0x02,0x6C,0x01,0x10,0x03,0x6C,0x80,0x18,0x4E,0x2F, -0x00,0x65,0xC1,0x12,0x80,0x18,0xDD,0x2E,0x00,0x65,0xBD,0x12,0x80,0x18,0x04,0x2F, -0x00,0x65,0xB9,0x12,0x80,0x18,0x20,0x2F,0x00,0x65,0xB5,0x12,0x80,0x18,0x63,0x2F, -0x00,0x65,0xA0,0xF2,0x10,0x22,0x12,0x72,0x58,0x67,0x01,0x5A,0x78,0x67,0x01,0x5B, -0x58,0x67,0x03,0x4A,0xA7,0x12,0x04,0x59,0x60,0xF2,0x1D,0x60,0x80,0x18,0x1B,0x2D, -0x00,0x6C,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE, -0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D, -0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x00,0x18,0xFE,0x4F,0x00,0x65, -0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x49,0x2B,0xC5,0x67,0x40,0xF5,0x00,0xB0, -0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x2A,0xC0,0x00,0x1C,0xDD,0x31,0x4D,0xC0,0x10,0xD2, -0x41,0x98,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0x01,0x71,0x41,0xD8,0x06,0x61,0x80,0x18, -0x4E,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x02,0x71,0x04,0x61,0x41,0x98, -0x04,0x6B,0x6D,0xEA,0x41,0xD8,0x00,0x1C,0xE5,0x31,0x10,0x94,0x02,0x6A,0x04,0xD2, -0x00,0xF5,0x00,0xB2,0x06,0xD1,0x01,0x6C,0x05,0xD2,0x41,0x98,0xFA,0x6D,0xE3,0xF7, -0x1E,0x6E,0x4A,0x32,0x8C,0xEA,0xE1,0xF4,0x12,0x6F,0x20,0x18,0x1B,0x32,0x07,0xD2, -0x52,0x12,0x4F,0x59,0x25,0x60,0x18,0x93,0x44,0xA3,0x08,0x5A,0x21,0x60,0xC0,0xF4, -0x10,0xB5,0x7F,0x6A,0x4C,0xE9,0x80,0x9D,0xC0,0xF4,0x0C,0xB2,0x80,0xF4,0x20,0x33, -0x4C,0xEC,0x6D,0xEC,0x80,0xDD,0x18,0x92,0x64,0xA2,0xFF,0x6A,0x4C,0xEB,0x07,0x6A, -0x4C,0xEB,0xA0,0xF4,0x18,0xB2,0x00,0xF7,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x40,0xDD, -0x32,0x12,0x18,0x93,0x0A,0x59,0x45,0xA3,0x84,0xA3,0x40,0x32,0x4D,0xEC,0x03,0x61, -0x03,0x6C,0x0C,0xD4,0x28,0x12,0x80,0xF4,0x08,0xB6,0x80,0xF4,0x14,0xB3,0xE3,0xF7, -0x1F,0x6A,0xA0,0x9E,0x8C,0xEA,0x54,0x32,0x6C,0xED,0x80,0xF4,0x08,0xB3,0x4D,0xED, -0x24,0x32,0x69,0xE2,0x40,0xAA,0xFF,0xF7,0x1F,0x6B,0xA0,0xDE,0x6C,0xEA,0x4C,0x32, -0x82,0xEA,0xE0,0xF1,0x1E,0x61,0x03,0x59,0x05,0x60,0x02,0x6A,0x4B,0xEA,0x4C,0xED, -0xA0,0xDE,0x0F,0x10,0x06,0x59,0xFF,0x6B,0x58,0x67,0x01,0x6C,0x6C,0xEA,0x61,0x9E, -0x8D,0xED,0x8C,0xEA,0x81,0x6C,0x8B,0xEC,0x5C,0x32,0x8C,0xEB,0x4D,0xEB,0xA0,0xDE, -0x61,0xDE,0x40,0xF4,0x04,0xB2,0x1F,0x6B,0x6B,0xEB,0x49,0xE1,0x80,0xA2,0x0F,0x6A, -0x4C,0xEC,0x40,0x9E,0x84,0x34,0x6C,0xEA,0x8D,0xEA,0x40,0xDE,0xEC,0x11,0x18,0x92, -0x85,0xA2,0x05,0x5C,0xA0,0xF1,0x1F,0x60,0x00,0xF4,0x04,0xB5,0x07,0x6A,0x4C,0xEC, -0x41,0x9D,0x39,0x6B,0x6B,0xEB,0x8C,0x34,0x6C,0xEA,0x8D,0xEA,0x41,0xDD,0xDB,0x11, -0x18,0x94,0xFB,0xB3,0x43,0xA4,0x46,0xC3,0x44,0xA4,0x47,0xC3,0x45,0xA4,0x48,0xC3, -0xD2,0x11,0xF7,0xB5,0xFD,0xB3,0x3E,0x34,0x40,0x9D,0xC0,0xF7,0x80,0x34,0x6C,0xEA, -0x8D,0xEA,0x40,0xDD,0x7F,0x6A,0x4C,0xE9,0x25,0xC5,0xC5,0x11,0x18,0x94,0xF0,0xB3, -0x43,0xA4,0x4E,0xC3,0x44,0xA4,0x4F,0xC3,0x45,0xA4,0x50,0xC3,0xBC,0x11,0x18,0x94, -0xEB,0xB3,0x43,0xA4,0x51,0xC3,0x44,0xA4,0x52,0xC3,0x45,0xA4,0x53,0xC3,0xB3,0x11, -0xE7,0xB6,0xFF,0x6C,0xA4,0x67,0x69,0xA6,0x6C,0xED,0x0A,0x75,0x3F,0x61,0x4C,0xA6, -0x00,0x6F,0x8C,0xEA,0x0A,0x72,0x13,0x60,0x22,0x67,0x44,0x32,0x29,0xE2,0x4C,0x32, -0x2B,0xE2,0x4C,0x32,0xE6,0xB3,0x2B,0xE2,0x48,0x32,0x69,0xE2,0x20,0xF0,0x58,0xA2, -0x05,0x6F,0x8C,0xEA,0x04,0x72,0x03,0x60,0x0A,0x6A,0x00,0x6F,0x4C,0xC6,0x4D,0xA6, -0x08,0x72,0x6A,0x60,0x22,0x67,0x50,0x32,0x29,0xE2,0xDE,0xB4,0x48,0x32,0x2B,0xE2, -0x48,0x32,0x89,0xE2,0x20,0xF1,0x4F,0xA2,0x01,0x6B,0x05,0x6F,0x6C,0xEA,0x05,0x22, -0x00,0xF1,0x52,0xAC,0x47,0xE9,0x6C,0xEA,0x57,0x2A,0x08,0x6A,0x00,0x6F,0x4D,0xC6, -0x53,0x10,0xD5,0xB0,0x7F,0x4D,0x6E,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E, -0x00,0x18,0x2E,0x2E,0x13,0xD7,0xFF,0xF7,0x38,0xC0,0x25,0x10,0x4B,0x43,0x8C,0xEA, -0x03,0x5A,0x23,0x60,0xCA,0xB5,0x04,0x6F,0x00,0x69,0x24,0x32,0x29,0xE2,0x4C,0x32, -0x2B,0xE2,0x4C,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF0,0x58,0xA2,0x8C,0xEA, -0x04,0x72,0xDF,0x60,0x01,0x49,0x8C,0xE9,0x0A,0x59,0xEF,0x61,0x2D,0x10,0xC2,0xB0, -0x60,0xF1,0x02,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E,0x00,0x18,0x2E,0x2E, -0x13,0xD7,0xFF,0xF7,0x39,0xC0,0x13,0x97,0x1F,0x10,0x48,0x43,0x8C,0xEA,0x02,0x5A, -0xE5,0x67,0x1A,0x60,0xB7,0xB5,0x04,0x6F,0x00,0x69,0x01,0x6E,0xFF,0xF7,0x1F,0x68, -0x30,0x32,0x29,0xE2,0x48,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF1,0x4F,0xA2, -0xCC,0xEA,0x06,0x22,0x00,0xF1,0x52,0xAD,0x0C,0xEA,0x47,0xE9,0xCC,0xEA,0xD7,0x2A, -0x01,0x49,0x8C,0xE9,0x08,0x59,0xEC,0x61,0xA1,0xB2,0x4A,0xA2,0x0B,0xD2,0x0B,0x93, -0xE0,0x32,0x4D,0xEB,0x0B,0xD3,0x77,0x10,0xA8,0xB2,0x20,0xF0,0x7C,0xA2,0x0B,0xD3, -0x20,0xF0,0x7D,0xA2,0x0B,0x94,0x20,0xF0,0x5E,0xA2,0x60,0x33,0x6D,0xEC,0x85,0x10, -0xA2,0xB2,0x20,0xF0,0x7F,0xA2,0x0B,0xD3,0x40,0xF0,0x60,0xA2,0x0B,0x94,0x40,0xF0, -0x41,0xA2,0x60,0x33,0x6D,0xEC,0x79,0x10,0x18,0x93,0x43,0xA3,0x62,0xAB,0x60,0x33, -0x6D,0xEA,0x9B,0xB3,0x41,0xDB,0xFF,0x10,0x18,0x94,0x8D,0xB3,0x43,0xA4,0x54,0xC3, -0x44,0xA4,0x55,0xC3,0x45,0xA4,0x56,0xC3,0xF6,0x10,0x18,0x94,0x88,0xB3,0x43,0xA4, -0x57,0xC3,0x44,0xA4,0x58,0xC3,0x45,0xA4,0x59,0xC3,0xED,0x10,0x4F,0x41,0xFF,0x6B, -0x6C,0xEA,0x09,0x5A,0xC0,0xF0,0x15,0x60,0x5C,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D, -0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x79,0x6A,0x4B,0xEA,0x4C,0xEE,0x2C,0x33,0x78,0x6A, -0x4C,0xEB,0x5C,0x6C,0x01,0x6D,0x6D,0xEE,0xA7,0x10,0x79,0xB2,0x92,0xAA,0x69,0x9A, -0x0B,0xD4,0x84,0xB4,0x07,0x10,0x76,0xB2,0x69,0x9A,0x62,0x34,0x82,0x34,0x0B,0xD4, -0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x69,0xDA,0x02,0x6A,0x3C,0x10,0x70,0xB2,0x96,0xAA, -0x6B,0x9A,0x0B,0xD4,0x7B,0xB4,0x07,0x10,0x6D,0xB2,0x6B,0x9A,0x62,0x34,0x82,0x34, -0x0B,0xD4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x6B,0xDA,0xEE,0x17,0x78,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x0B,0xD2,0x0D,0xD3,0xAD,0x10,0x76,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x0B,0xD2,0x02,0x6C,0x0D,0xD4,0xA5,0x10,0x77,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x0B,0xD2,0xD8,0x17,0x5D,0xB2,0x74,0xA2,0x0B,0xD3,0x75,0xA2, -0x0B,0x94,0x56,0xA2,0x60,0x33,0x6D,0xEC,0x08,0x10,0x59,0xB2,0x77,0xA2,0x0B,0xD3, -0x78,0xA2,0x0B,0x94,0x59,0xA2,0x60,0x33,0x6D,0xEC,0x40,0x32,0x40,0x32,0x4D,0xEC, -0x0B,0xD4,0x03,0x6A,0x0D,0xD2,0x87,0x10,0x00,0x6B,0x05,0x59,0x11,0xD3,0x78,0x67, -0x70,0x23,0x18,0x94,0x42,0xA4,0x02,0xAC,0x0C,0x72,0x05,0x61,0x58,0xB2,0x01,0x6F, -0x41,0x9A,0x11,0xD2,0x03,0x10,0x11,0x97,0x03,0x6A,0x0D,0xD2,0x74,0x23,0x00,0xF0, -0x12,0x0A,0x24,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x0B,0x00, -0x29,0x00,0x83,0x00,0xA5,0x00,0xAF,0x00,0x06,0x27,0x11,0x96,0x3F,0x6A,0x90,0x67, -0x4C,0xEC,0x00,0x6D,0x31,0x10,0x3F,0x6A,0x90,0x67,0x4C,0xEC,0x00,0x18,0xEB,0x9F, -0xA7,0x67,0x0B,0xD2,0x58,0x10,0x02,0x31,0x01,0x6B,0x6C,0xE9,0x09,0x21,0xA3,0x67, -0x40,0x6C,0xD1,0x67,0x12,0xD3,0x00,0x18,0x01,0xA0,0x13,0xD7,0x13,0x97,0x12,0x93, -0x0C,0x27,0x7F,0x6A,0x4C,0xE8,0x07,0x34,0x40,0x6A,0x11,0x96,0x4D,0xEC,0xFF,0x6A, -0x4C,0xEC,0x00,0x18,0x01,0xA0,0xA3,0x67,0x0B,0x10,0x7F,0x6A,0x4C,0xE8,0x07,0x34, -0x40,0x6A,0x4D,0xEC,0xFF,0x6A,0x4C,0xEC,0x00,0x18,0xEB,0x9F,0xA3,0x67,0x0B,0xD2, -0x32,0x21,0x40,0x6C,0x01,0x6D,0x00,0x6E,0x00,0x18,0x01,0xA0,0x00,0x65,0x2B,0x10, -0x01,0x6A,0x0C,0xEA,0x03,0x22,0x03,0x6B,0x0C,0xD3,0x25,0x10,0x08,0x27,0x11,0x95, -0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x00,0x18,0x9A,0x33,0x4C,0xED,0x1C,0x10,0x2A,0xB2, -0x12,0x10,0x01,0x6A,0x0C,0xEA,0x05,0x2A,0x28,0xB2,0x06,0x10,0x01,0x6A,0x0C,0xEA, -0x02,0x22,0x03,0x6A,0x0F,0x10,0x26,0xB2,0x06,0x27,0x7D,0x67,0x40,0xF0,0x64,0xAB, -0x49,0xE0,0x60,0xCA,0x08,0x10,0x49,0xE0,0x40,0xAA,0xFF,0xF7,0x1F,0x6C,0x4C,0xEC, -0x0B,0xD4,0x01,0x10,0x0C,0xD2,0x0D,0x93,0x0C,0x94,0x70,0x32,0x4D,0xEC,0x18,0x92, -0x83,0xC2,0x18,0x93,0x18,0x94,0x41,0xA3,0x10,0x6B,0x6B,0xEB,0x6C,0xEA,0x41,0xC4, -0x18,0x92,0x0B,0x96,0x02,0x6C,0x00,0x18,0x2C,0x2B,0xA0,0x9A,0x16,0x97,0x15,0x91, -0x14,0x90,0x00,0xEF,0x0C,0x63,0x00,0x00,0xD2,0x04,0x11,0x80,0xD8,0xA0,0x11,0x80, -0xFC,0xA5,0x10,0x80,0xFF,0xFF,0x03,0xFE,0xFF,0xFF,0xFF,0x8F,0x1F,0x00,0xFC,0xFF, -0x88,0xDB,0x10,0x80,0x9C,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0x7F,0x48,0x60,0x11,0x80, -0x58,0x46,0x11,0x80,0xEC,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0x08,0xA1,0x11,0x80, -0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0xB6,0x00,0xA0,0x00,0xB0,0x00,0x10,0x00,0xB6, -0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x44,0xAC,0x24,0x67,0x01,0x72,0x55,0x61, -0x00,0x9C,0x5D,0x67,0xFA,0x6D,0x20,0xF0,0x08,0xC2,0x02,0x6A,0x04,0xD2,0x3F,0xB2, -0x06,0xD0,0x44,0xF2,0x1E,0x6E,0x05,0xD2,0x41,0x9C,0xC1,0xF4,0x1C,0x6F,0x04,0x6C, -0x20,0x18,0x1B,0x32,0x07,0xD2,0x3F,0x6A,0x4C,0xE8,0x20,0x70,0x0A,0x61,0x62,0xA1, -0xFF,0x6A,0x4C,0xEB,0x06,0x2B,0x36,0xB2,0x60,0xDA,0x36,0xB2,0x60,0xDA,0x01,0x6A, -0x42,0xC1,0x7D,0x67,0x20,0xF0,0x68,0xA3,0x3F,0x6A,0x6C,0xEA,0x24,0x72,0x03,0x67, -0x24,0x61,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x00,0x1C,0xDD,0x31,0x50,0xCB,0x00,0x18, -0xFE,0x4F,0x02,0x67,0x00,0x6D,0x9D,0x67,0x20,0x4C,0x80,0x18,0x49,0x2B,0xC5,0x67, -0x29,0xB3,0x40,0x99,0x6C,0xEA,0x29,0xB3,0x6E,0xEA,0x06,0x2A,0x80,0x18,0x4E,0x2F, -0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0xA0,0x99,0x02,0x6C,0x00,0x18,0x2C,0x2B, -0x00,0x6E,0x00,0x1C,0xE5,0x31,0x90,0x67,0x32,0x10,0xFF,0x6A,0x4C,0xE8,0x30,0x70, -0x04,0x61,0x80,0x18,0xEA,0x2F,0x91,0x67,0x2A,0x10,0x44,0xA9,0x02,0x72,0x24,0x61, -0x1B,0xB2,0x40,0xA2,0x21,0x2A,0x40,0x99,0x04,0xF0,0x0F,0x6B,0x6C,0xEA,0x6A,0xEA, -0x0B,0x61,0x18,0xB2,0xFF,0xF7,0x1F,0x6B,0x40,0xAA,0x6C,0xEA,0x40,0x32,0x40,0x32, -0x00,0xF2,0x0F,0x6B,0x6D,0xEA,0x40,0xD9,0x02,0x6A,0x04,0xD2,0x0B,0xB2,0x05,0x6C, -0xFA,0x6D,0x05,0xD2,0x40,0x99,0xA4,0xF2,0x0E,0x6E,0xC1,0xF4,0x1D,0x6F,0x06,0xD2, -0x41,0x99,0x20,0x18,0x1B,0x32,0x07,0xD2,0x00,0x18,0xF4,0x2C,0x91,0x67,0x0E,0x97, -0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0xFC,0xA5,0x10,0x80,0xAC,0xDB,0x10,0x80, -0x38,0x91,0x10,0x80,0x00,0x00,0xFF,0x00,0x00,0x00,0x01,0x00,0x98,0x00,0x11,0x80, -0x04,0x09,0x11,0x80,0xFD,0x63,0x04,0x62,0x00,0x18,0x23,0xEA,0x00,0x65,0x04,0x97, -0x00,0xEF,0x03,0x63,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x80,0xAC,0x00,0x6A, -0xC6,0xB3,0x11,0xD4,0xA0,0xA5,0x1B,0xD2,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2, -0x4C,0x32,0x8B,0xE2,0x48,0x32,0x69,0xE2,0x19,0xD2,0x12,0xD5,0xE0,0xF0,0x6C,0xA2, -0x18,0xD3,0xA0,0xF0,0x9A,0xAA,0x19,0x93,0x13,0xD4,0xA0,0xF0,0x58,0xAA,0x19,0x94, -0x14,0xD2,0xA0,0xF0,0x7C,0xAB,0x19,0x92,0x15,0xD3,0x7D,0x67,0x60,0xF0,0x6C,0xA3, -0xC0,0xF0,0x80,0xAC,0x16,0xD4,0xC0,0xF2,0x74,0xC2,0x9D,0x67,0xE0,0xF0,0x13,0xA2, -0x60,0xF0,0x8C,0xA4,0xE0,0xF0,0x28,0xA2,0xC0,0xF2,0x95,0xC2,0xB1,0x67,0x00,0x18, -0x7B,0xBB,0x90,0x67,0x17,0xD2,0x17,0x93,0x48,0x32,0x1C,0xD2,0x69,0xE2,0xAC,0xB3, -0x44,0x32,0x69,0xE2,0x1A,0xD2,0x19,0x92,0xE0,0xF0,0xA8,0xA2,0x00,0x18,0xC3,0x34, -0x90,0x67,0x12,0x93,0x0E,0x23,0x18,0x94,0x01,0x74,0x0B,0x61,0x1A,0x92,0x03,0xF4, -0x00,0x6C,0x18,0xF0,0x00,0x6D,0xC3,0xAA,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x8D,0x93, -0x4C,0xEE,0x14,0x93,0x05,0x23,0x19,0x94,0x00,0xF2,0x57,0xA4,0x01,0x72,0x15,0x60, -0x03,0x6A,0x04,0xD2,0x9B,0xB2,0x19,0x93,0x12,0x94,0x05,0xD2,0x14,0x92,0xFA,0x6D, -0xC4,0xF3,0x1C,0x6E,0x06,0xD2,0x00,0xF2,0x57,0xA3,0x64,0xF4,0x18,0x6F,0x08,0xD4, -0x04,0x6C,0x20,0x18,0x1B,0x32,0x07,0xD2,0x18,0x11,0x00,0x1C,0xDD,0x31,0x00,0x65, -0x9D,0x67,0x40,0x4C,0xB1,0x67,0x00,0x18,0x3B,0x94,0x1B,0xD2,0x10,0x92,0x8E,0xB6, -0x46,0x32,0x01,0x4A,0xCC,0xEA,0x10,0xD2,0x19,0x92,0xC0,0xF2,0xEE,0xAA,0x07,0x2F, -0x12,0x93,0x01,0x73,0x04,0x61,0x00,0x1C,0xE5,0x31,0x1B,0x94,0xFE,0x10,0x10,0x95, -0x08,0x25,0x14,0x94,0x06,0x24,0x9B,0xED,0x01,0x2C,0xE5,0xE8,0x10,0xEA,0x00,0x65, -0x01,0x10,0x00,0x6A,0x14,0x93,0xFF,0xF7,0x1F,0x6C,0x4B,0xE3,0x13,0x93,0x8C,0xEA, -0x65,0xE2,0x14,0x92,0x23,0xEA,0x01,0x60,0x47,0xE1,0x12,0x93,0x01,0x73,0x18,0x61, -0x19,0x92,0xEC,0xEC,0xA0,0xF2,0x74,0x9A,0x14,0xD4,0xCC,0xEB,0x73,0xE5,0xA3,0xEB, -0x44,0x67,0x02,0x61,0x75,0xB2,0x49,0xE4,0x14,0x94,0x9A,0xEA,0x01,0x2C,0xE5,0xE8, -0x12,0xE9,0x41,0x41,0x00,0x65,0x98,0xEA,0x12,0xEA,0x65,0xE2,0xA7,0xE1,0xCC,0xE9, -0x19,0x94,0xFF,0x6B,0x14,0x35,0xE0,0xF0,0x48,0xA4,0x6C,0xED,0x02,0x6C,0x6C,0xEA, -0x40,0x32,0x4C,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED, -0x10,0x92,0x2D,0xE2,0x1D,0xD3,0x08,0x59,0x06,0x60,0x1D,0x94,0x14,0x93,0x71,0xE4, -0x65,0xE1,0x1D,0xD4,0xF8,0x17,0x1D,0x94,0x43,0xE4,0x00,0x18,0xC4,0x36,0x04,0x30, -0x41,0xE0,0x19,0x92,0x4E,0x6C,0x13,0xDA,0x00,0x18,0x9A,0x33,0x14,0x95,0x1D,0x95, -0xFF,0xF7,0x1F,0x6B,0x48,0x6C,0x00,0x18,0x9A,0x33,0x6C,0xED,0x18,0x94,0x14,0x24, -0x16,0x92,0x15,0x93,0x63,0xEA,0x06,0x60,0x43,0xE3,0xFF,0xF7,0x1F,0x6C,0xA2,0x67, -0x8C,0xE8,0x0C,0x10,0x15,0x92,0x16,0x93,0x63,0xEA,0x06,0x60,0x57,0xE3,0xFF,0xF7, -0x1F,0x6C,0x8C,0xED,0x02,0x67,0x02,0x10,0x16,0x95,0x15,0x90,0x00,0x18,0x9A,0x33, -0x4C,0x6C,0x4A,0x6C,0x00,0x18,0x9A,0x33,0xB0,0x67,0x00,0x6C,0x00,0x18,0x9A,0x33, -0x07,0x6D,0x12,0x92,0x0D,0x2A,0x18,0x93,0x01,0x73,0x0A,0x61,0x17,0x94,0x44,0xB2, -0x7D,0x67,0x40,0xF0,0x68,0xA3,0x49,0xE4,0x60,0xC2,0x42,0xB2,0x49,0xE4,0x60,0xC2, -0x1B,0x94,0x00,0x1C,0xE5,0x31,0x02,0x49,0x00,0x18,0x4E,0x05,0x00,0x65,0x01,0xF0, -0x00,0x6D,0x00,0x18,0x78,0xBA,0x5E,0x6C,0x12,0x92,0x21,0x2A,0x18,0x93,0x01,0x73, -0x0D,0x61,0x1A,0x92,0x18,0xF0,0x00,0x6C,0x03,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93, -0xC3,0xAA,0x19,0x93,0x20,0x6A,0x00,0xF2,0x55,0xC3,0x11,0x10,0x51,0x59,0x07,0x61, -0x11,0x95,0xFF,0xF7,0x1F,0x6A,0x91,0x67,0x00,0x18,0x3A,0x96,0x4C,0xEC,0x1A,0x92, -0x18,0xF0,0x00,0x6C,0x01,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93,0xC3,0xAA,0x18,0x93, -0x14,0x2B,0x12,0x94,0x12,0x24,0x51,0x59,0x10,0x61,0x11,0x95,0xFF,0xF7,0x1F,0x68, -0x91,0x67,0x00,0x18,0x3A,0x96,0x0C,0xEC,0x1A,0x92,0x01,0xF4,0x00,0x6C,0x18,0xF0, -0x00,0x6D,0xC3,0xAA,0x00,0x18,0x8D,0x93,0x0C,0xEE,0x2B,0x6A,0x7D,0x67,0x58,0xCB, -0x14,0x94,0x1D,0xB2,0xFD,0x67,0x0A,0xD4,0x80,0x9A,0x00,0x6D,0x04,0x06,0x34,0x4F, -0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x0A,0x95, -0x0B,0x96,0x00,0x18,0x40,0x1E,0x0C,0x97,0x17,0x92,0x0F,0x22,0x1C,0x93,0x13,0xB2, -0x49,0xE3,0x00,0x6B,0xFF,0xF7,0x7C,0xDA,0x1C,0x94,0x11,0xB2,0x49,0xE4,0xFF,0xF7, -0x7C,0xDA,0x10,0xB2,0x49,0xE4,0xFF,0xF7,0x7C,0xDA,0x20,0x97,0x1F,0x91,0x1E,0x90, -0x01,0x6A,0x00,0xEF,0x11,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x70,0x45,0x11,0x80, -0xFC,0xA5,0x10,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x08,0x48,0x06,0x11,0x80, -0x3C,0x06,0x11,0x80,0x68,0x52,0x11,0x80,0x18,0x07,0x11,0x80,0xE8,0x06,0x11,0x80, -0xB8,0x06,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x6A, -0x8C,0xEA,0x04,0xD2,0x04,0x93,0x01,0x69,0x44,0xE9,0x69,0xE2,0x4C,0x32,0x6B,0xE2, -0x4C,0x32,0x6B,0xE2,0x20,0xB3,0x48,0x32,0x0D,0xD5,0x69,0xE2,0x05,0xD2,0x00,0x68, -0x20,0x18,0xE4,0x06,0x90,0x67,0x01,0x48,0xFF,0x6B,0x6C,0xE8,0x45,0xE1,0x04,0x58, -0x6C,0xE9,0xF6,0x61,0x05,0x94,0x44,0x41,0xA0,0xF0,0x88,0xAC,0x98,0xEA,0x17,0xB2, -0x06,0xD4,0x60,0xF1,0x42,0xA2,0x6C,0xEA,0x02,0x5A,0x12,0xE9,0x00,0x65,0x06,0x61, -0x40,0xF1,0x00,0x59,0x06,0x60,0xFF,0x69,0x41,0x49,0x03,0x10,0xEE,0x59,0x01,0x60, -0xEE,0x69,0x00,0x1C,0xDD,0x31,0x00,0x65,0x05,0x93,0x02,0x67,0x26,0x32,0xA0,0xF0, -0x48,0xCB,0x04,0x94,0x00,0x18,0x2A,0xFF,0x0D,0x95,0x9D,0x67,0x4C,0xAC,0x05,0x94, -0xA0,0xF0,0x48,0xCC,0x00,0x1C,0xE5,0x31,0x90,0x67,0x0A,0x97,0x09,0x91,0x08,0x90, -0x00,0xEF,0x06,0x63,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0x5D,0x67,0x03,0x46,0x10,0xD4,0x26,0x67,0x13,0xD7,0x06,0x04, -0x40,0xF0,0xA4,0xCA,0x06,0x6E,0x00,0x18,0x2E,0x2E,0xB0,0x67,0x69,0xA1,0x9D,0x67, -0x09,0xD3,0x40,0xF0,0x64,0xAC,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x4D,0xB3,0x48,0x32,0x69,0xE2,0x0A,0xD2,0x20,0xF0,0x58,0xA2,0x0D,0x72, -0x3D,0x60,0x0E,0x52,0x03,0x60,0x06,0x72,0x04,0x60,0x7F,0x10,0x1B,0x72,0x36,0x60, -0x7C,0x10,0x13,0x93,0x01,0x6A,0x00,0x6D,0x40,0xC3,0x80,0xA9,0xFF,0xF7,0x1F,0x6A, -0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x0A,0x94,0x00,0x18,0xFD,0x1D,0x28,0x4C,0x09,0x93, -0x9D,0x67,0x40,0xF0,0x44,0xAC,0x01,0x73,0x14,0x60,0xFF,0xF7,0x1F,0x6C,0x20,0x18, -0x7C,0x2F,0x4C,0xEC,0x62,0x67,0x0A,0x92,0xE0,0xF0,0x9F,0xA2,0xFF,0x6A,0x4C,0xEC, -0x20,0x6A,0x4C,0xEC,0x01,0x2C,0x64,0x67,0x01,0x73,0x7D,0x67,0x40,0xF0,0x44,0xAB, -0x06,0x60,0xFF,0xF7,0x1F,0x6C,0x00,0x18,0xAD,0xE1,0x4C,0xEC,0x52,0x10,0xFF,0xF7, -0x1F,0x6C,0x4C,0xEC,0x80,0x18,0x25,0x33,0x06,0x05,0x4B,0x10,0x00,0x6C,0x40,0x6B, -0x1F,0x6A,0x66,0xC0,0x00,0xF0,0x47,0xC8,0x8C,0xC1,0x6A,0xC0,0x27,0xB3,0x00,0xF0, -0x4B,0xC8,0x10,0x6A,0x90,0xC1,0x8F,0xC0,0x4E,0xC0,0x50,0xAB,0xBD,0x67,0xDD,0x67, -0x50,0xC0,0x50,0xAB,0xE0,0x6B,0x44,0x4D,0x42,0x32,0x54,0xC1,0x20,0xB2,0x92,0xC0, -0x20,0x4E,0x41,0xA2,0x91,0x67,0x01,0x6F,0x48,0x32,0x6C,0xEA,0x56,0x32,0xC0,0xF3, -0x00,0x6B,0x6D,0xEA,0x00,0xF0,0x53,0xC8,0x13,0x93,0x01,0x6A,0x00,0x18,0x37,0x40, -0x40,0xC3,0x02,0x67,0x16,0x22,0x5D,0x67,0x40,0xF0,0x84,0xAA,0xFF,0xF7,0x1F,0x6B, -0x00,0x18,0xAE,0x5D,0x6C,0xEC,0x0A,0x94,0x0A,0x96,0x00,0x6F,0x60,0xF2,0xBC,0xAC, -0x7F,0x4E,0x04,0xD2,0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x4C,0xED,0x00,0x18,0x6F,0x4E, -0x6E,0x4E,0x10,0x93,0x00,0x6C,0x80,0xC3,0x07,0x10,0x10,0x93,0x0C,0x6A,0x40,0xC3, -0x03,0x10,0x10,0x94,0x00,0x6A,0x40,0xC4,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF, -0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xC0,0x5B,0x11,0x80, -0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x4C,0xB2,0x60,0xF1,0x42,0xA2,0x3C,0x22, -0x00,0x6C,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x48,0xB3,0x8B,0xE2, -0x48,0x32,0x79,0xE2,0x47,0xB2,0xFF,0x6D,0x20,0xF1,0x4C,0xA2,0x28,0x22,0x46,0xB2, -0x40,0xA2,0xAC,0xEA,0x24,0x22,0x20,0xF0,0x78,0xA6,0xAC,0xEB,0x20,0x23,0x40,0xF2, -0x41,0xA6,0xAC,0xEA,0x01,0x72,0x1B,0x61,0x0F,0x73,0x19,0x60,0x14,0x73,0x17,0x60, -0x3E,0xB3,0xFF,0xF7,0x1F,0x6E,0x40,0xAB,0x01,0x4A,0x40,0xCB,0xCC,0xEA,0xE0,0xF3, -0x08,0x5A,0x12,0x61,0x00,0x6A,0x40,0xCB,0x39,0xB2,0x02,0x6C,0xA0,0xAA,0x04,0xF0, -0x0F,0x6A,0x4D,0xED,0xCC,0xED,0x00,0x18,0x2C,0x2B,0x00,0x6E,0x05,0x10,0x01,0x4C, -0xFF,0x6A,0x4C,0xEC,0x0A,0x5C,0xC5,0x61,0x2C,0xB5,0x01,0x68,0xFF,0x6E,0x40,0xF1, -0x5E,0xA5,0x0C,0xEA,0x4A,0x22,0x2F,0xB2,0x00,0x6F,0xFF,0xF7,0x1F,0x6C,0x60,0xAA, -0x02,0xF0,0x00,0x6A,0x6C,0xEA,0x25,0x2A,0x60,0xF1,0x42,0xA5,0xCC,0xEA,0x05,0x2A, -0x01,0x10,0x00,0x6F,0x28,0xB2,0xE0,0xCA,0x2E,0x10,0x06,0x67,0x20,0xB1,0x27,0xB6, -0x67,0x67,0xA4,0x67,0x64,0x34,0x69,0xE4,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2, -0x48,0x32,0x29,0xE2,0xE0,0xF0,0x4B,0xA2,0x0C,0xEA,0x01,0x72,0x05,0x61,0xC9,0xE4, -0x40,0xAA,0xAC,0xEA,0x02,0x5A,0xE5,0x61,0x01,0x4B,0xAC,0xEB,0x0A,0x5B,0xEA,0x61, -0x12,0x10,0x19,0xB2,0x60,0xAA,0x01,0x4B,0x60,0xCA,0x4F,0xAD,0x8C,0xEB,0x8C,0xEA, -0x4A,0x32,0x8C,0xEA,0x43,0xEB,0x07,0x61,0x4D,0xAD,0x8C,0xEA,0x4A,0x32,0x8C,0xEA, -0x43,0xEB,0x01,0x61,0xF0,0x67,0x09,0x27,0x00,0x18,0xB7,0xB5,0x00,0x65,0x00,0x18, -0x31,0xBE,0x00,0x65,0x0C,0xB2,0x00,0x6B,0x60,0xCA,0x06,0x97,0x05,0x91,0x04,0x90, -0x00,0x6A,0x00,0xEF,0x04,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x48,0x60,0x11,0x80, -0xDC,0x00,0x11,0x80,0xFE,0x08,0x11,0x80,0x16,0xA1,0x11,0x80,0x04,0x09,0x11,0x80, -0xE0,0x00,0x00,0xB6,0xC8,0xA0,0x11,0x80,0x10,0x06,0x11,0x80,0xFD,0x63,0x04,0x62, -0x44,0xAC,0x04,0x72,0x0F,0x61,0x0A,0xB2,0x00,0x6B,0x00,0x18,0x3B,0x2B,0x60,0xC2, -0x08,0xB6,0x00,0x6B,0x0A,0x6D,0xFF,0x6C,0xC9,0xE3,0x01,0x4B,0x8C,0xEB,0x04,0x5B, -0xA0,0xC2,0xFA,0x61,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0xFE,0x08,0x11,0x80, -0xB4,0x5B,0x11,0x80,0xFD,0x63,0x04,0x62,0x80,0x18,0x45,0x2B,0x00,0x65,0x0E,0xB2, -0x00,0x6B,0x0F,0xB4,0x60,0xCA,0x0D,0xB2,0x02,0xF0,0x00,0x6D,0x04,0x97,0x60,0xC2, -0x0C,0xB2,0x01,0xF0,0x00,0x6B,0xA0,0xF0,0x72,0xCC,0x6C,0xCA,0xAE,0xCA,0x80,0xF0, -0x43,0xA4,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xA0,0xF0,0xB6,0xCC,0x80,0xF0,0x43,0xC4, -0x00,0xEF,0x03,0x63,0xC8,0xA0,0x11,0x80,0xCA,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80, -0x48,0x5C,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x44,0xAC,0xC9,0x72, -0x24,0x61,0x00,0x1C,0xDD,0x31,0x00,0x65,0x15,0xB1,0x04,0xD2,0x60,0xF1,0x54,0xA1, -0x40,0xF1,0x9E,0xA1,0x04,0x99,0x05,0xD2,0x80,0x6A,0x44,0xD9,0x55,0x6A,0x60,0xF1, -0x54,0xC1,0x00,0x18,0xEB,0xA4,0x00,0x65,0x60,0xF1,0x54,0xA1,0x04,0xD9,0x55,0x72, -0x04,0x60,0x00,0x18,0x31,0xBE,0x00,0x65,0x04,0x10,0x5D,0x67,0x54,0xA2,0x60,0xF1, -0x54,0xC1,0x00,0x1C,0xE5,0x31,0x04,0x94,0x03,0x10,0x00,0x18,0x2F,0xB9,0x00,0x65, -0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0x48,0x5C,0x11,0x80, -0xFD,0x63,0x04,0x62,0x00,0x18,0x24,0xB4,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63, -0x0D,0xB2,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x43,0xA2,0x01,0x6D,0xAC,0xEA,0x10,0x22, -0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x07,0xB3,0x48,0x32, -0x69,0xE2,0x60,0xF2,0x4D,0xA2,0xAA,0xEA,0x03,0x61,0x45,0x67,0x20,0xE8,0xA0,0xC4, -0x20,0xE8,0x00,0x6A,0x00,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0xC4,0x67,0xFF,0xF7,0x1F,0x6D,0xAC,0xEE,0xFF,0x76,0x68,0x60, -0xC4,0x32,0xC9,0xE2,0x4C,0x32,0xCB,0xE2,0x35,0xB3,0x4C,0x32,0xCB,0xE2,0x48,0x32, -0x65,0xE2,0xC0,0xF0,0x74,0xA9,0x40,0x6F,0xAC,0xEB,0x6C,0xEF,0x25,0x27,0x04,0x6A, -0x6C,0xEA,0x08,0x22,0xE0,0xF0,0x8D,0x41,0x00,0xF1,0xA7,0x41,0x00,0x18,0x47,0x43, -0x0A,0xD6,0x0A,0x96,0x7D,0x67,0x01,0x6A,0x58,0xC3,0x86,0x67,0x00,0x6A,0x03,0x6E, -0xBD,0x67,0x5A,0xC3,0x00,0x68,0x00,0xF2,0x4A,0xC1,0x18,0x4D,0x64,0x6A,0xE6,0x67, -0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD0,0x02,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67, -0x6F,0x99,0x4D,0xEB,0x6F,0xD9,0x2D,0x10,0xE0,0xF0,0x4C,0xA1,0xFF,0x6C,0x01,0x72, -0x1C,0xB2,0x15,0x61,0x43,0xA2,0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x58,0xA1, -0x8C,0xEA,0x1F,0x2A,0x33,0x6A,0x7D,0x67,0xBD,0x67,0x58,0xC3,0x86,0x67,0x64,0x6A, -0x18,0x4D,0x02,0x6E,0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD7,0x12,0x10,0x43,0xA2, -0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x57,0xA1,0x8C,0xEA,0x0A,0x2A,0x60,0xF2, -0x4D,0xA1,0x8C,0xEA,0x01,0x72,0x05,0x61,0x9D,0x67,0x20,0x4C,0x80,0x18,0x44,0x34, -0xA6,0x67,0xC0,0xF0,0x54,0xA9,0x07,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC9, -0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80, -0x00,0x46,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0xF7,0x1F,0x6F, -0xAC,0xEF,0xE4,0x32,0xE9,0xE2,0x4C,0x32,0xEB,0xE2,0x38,0xB3,0x4C,0x32,0xEB,0xE2, -0x48,0x32,0x65,0xE2,0xC0,0xF0,0x54,0xA9,0xFF,0xF7,0x1F,0x6B,0xC4,0x67,0x6C,0xEA, -0x02,0x6B,0x6C,0xEA,0x09,0x2A,0xC4,0xA4,0x01,0x6A,0x87,0x67,0x28,0x6D,0x4C,0xEE, -0x20,0x18,0x9B,0x27,0x24,0x6F,0x52,0x10,0xF0,0xF0,0x0F,0x41,0xA5,0x46,0x90,0x67, -0x08,0x6E,0x00,0x18,0x2E,0x2E,0x04,0xD7,0x29,0xB2,0x01,0x6D,0xFF,0x6E,0x60,0xA2, -0x28,0xB2,0x04,0x97,0x83,0xA2,0xAC,0xEC,0x0E,0x24,0xC0,0xF2,0x56,0xA1,0xCC,0xEA, -0x03,0x2A,0xC0,0xF2,0xB6,0xC1,0x0C,0x10,0x60,0xF2,0xBC,0xA9,0xFF,0xF7,0x1F,0x6A, -0x00,0x6C,0x4C,0xED,0x29,0x10,0x20,0xF0,0x58,0xA1,0xCC,0xEA,0x03,0x72,0x1F,0x61, -0x00,0xF1,0x46,0x81,0x00,0x52,0x17,0x60,0x7E,0x32,0x15,0x22,0xC0,0xF0,0x54,0xA9, -0x04,0x68,0x03,0x6E,0x0D,0xEA,0x87,0x67,0xC0,0xF0,0x54,0xC9,0x00,0xF1,0xAF,0xC1, -0x00,0x18,0x2D,0xE2,0xE6,0x67,0x7F,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67,0x6F,0x99, -0x4D,0xEB,0x6F,0xD9,0x13,0x10,0x80,0x18,0x53,0x34,0x87,0x67,0x0F,0x10,0x60,0xF2, -0xBC,0xA9,0xFF,0xF7,0x1F,0x6B,0x6C,0xED,0x00,0x18,0xF8,0x4E,0xD0,0x67,0xC0,0xF0, -0x54,0xA9,0x03,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC9,0x08,0x97,0x07,0x91, -0x06,0x90,0x01,0x6A,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xC0,0x5B,0x11,0x80, -0x00,0x46,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x69, -0xAC,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x38,0xB3,0x4C,0x32,0x2B,0xE2, -0x48,0x32,0x0C,0xD4,0x61,0xE2,0xC0,0xF0,0x54,0xA8,0x66,0xA4,0xFF,0xF7,0x1F,0x6C, -0x8C,0xEA,0x04,0x6E,0xCC,0xEA,0x06,0x22,0x00,0xF1,0x4F,0xA0,0xFF,0x6D,0xAC,0xEA, -0x6E,0xEA,0x0D,0x22,0x0C,0x92,0xFF,0x6C,0x7F,0x6D,0xE4,0xA2,0x24,0x6A,0x04,0xD2, -0x8C,0xEF,0x01,0x6A,0x91,0x67,0x00,0x18,0xEF,0xE1,0x4C,0xEF,0x47,0x10,0x02,0x5B, -0x0B,0x60,0x0C,0x95,0x6C,0x34,0x11,0xE4,0xE0,0xF0,0x1F,0x4C,0x08,0x4D,0x08,0x6E, -0x00,0x18,0x2E,0x2E,0x06,0xD3,0x06,0x93,0x21,0xB2,0x01,0x6D,0x83,0xA2,0xAC,0xEC, -0x15,0x24,0xC0,0xF2,0x57,0xA0,0xFF,0x6C,0x8C,0xEA,0x07,0x2A,0x80,0x18,0x53,0x34, -0x91,0x67,0x01,0x6D,0xC0,0xF2,0xB7,0xC0,0x29,0x10,0x1A,0xB2,0x60,0xF2,0xBC,0xA8, -0x00,0x6C,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0x11,0x10,0x20,0xF0,0x58,0xA0, -0xFF,0x6D,0xAC,0xEA,0x03,0x72,0x04,0x61,0x00,0x18,0xA5,0xFF,0x91,0x67,0x16,0x10, -0x10,0xB2,0x60,0xF2,0xBC,0xA8,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0xFF,0xF7, -0x1F,0x6A,0x4C,0xED,0xFF,0x6A,0xC3,0x67,0x00,0x18,0x8A,0x41,0x4C,0xEF,0xC0,0xF0, -0x54,0xA8,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC8,0x0A,0x97,0x09,0x91, -0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x00,0x46,0x11,0x80, -0xC0,0x5B,0x11,0x80,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x64,0xAC,0xC4,0x67, -0x24,0x73,0x22,0x61,0x94,0xB2,0x60,0xF1,0x50,0xA2,0x1E,0x22,0x7D,0x67,0x01,0xF4, -0x03,0x6A,0x40,0xF0,0x58,0xCB,0x00,0x1C,0xDD,0x31,0x00,0x65,0x00,0x18,0xFE,0x4F, -0x02,0x67,0x00,0x6D,0x9D,0x67,0xC5,0x67,0x80,0x18,0x49,0x2B,0x58,0x4C,0x80,0x18, -0x4E,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x20,0x18,0x10,0x2F,0x00,0x65, -0x00,0x1C,0xE5,0x31,0x90,0x67,0x01,0x11,0xFF,0xF7,0x1F,0x69,0x51,0x67,0x6C,0xEA, -0x9C,0x72,0x1A,0x61,0x00,0x9E,0xFF,0x6F,0x44,0xA0,0x46,0x32,0x2C,0xEA,0x18,0x72, -0x13,0x61,0xBA,0xA0,0x99,0xA0,0xDD,0x67,0xEC,0xED,0xEC,0xEC,0x00,0x18,0x1A,0xDF, -0x5A,0x4E,0x06,0x2A,0xBD,0x67,0x40,0xF0,0x9A,0xAD,0x20,0x18,0x62,0x23,0x2C,0xEC, -0x20,0x18,0xCF,0x06,0x90,0x67,0xD8,0x10,0xFF,0xF7,0x1F,0x6C,0x44,0x67,0x6C,0xEA, -0x93,0x72,0x29,0x61,0x00,0x9E,0x44,0xA0,0x46,0x32,0x11,0x72,0x07,0x60,0x7F,0x72, -0x22,0x61,0x45,0xA0,0xFF,0x6B,0x6C,0xEA,0x17,0x72,0x1D,0x61,0x6B,0xA8,0x8C,0xEB, -0xFF,0x73,0x19,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2, -0x67,0xB3,0x48,0x32,0x69,0xE2,0xBF,0x9A,0x82,0x67,0x00,0x18,0xB2,0x69,0x1C,0xD6, -0x01,0x72,0x64,0xA0,0x1C,0x96,0x03,0x61,0x01,0x6A,0x6D,0xEA,0x03,0x10,0x02,0x6A, -0x4B,0xEA,0x6C,0xEA,0x44,0xC0,0x44,0xAE,0xFF,0xF7,0x1F,0x6C,0x93,0x72,0xA0,0xF0, -0x09,0x61,0x00,0x9E,0xFF,0x6A,0xA2,0x67,0x64,0xA0,0x6C,0xED,0xA6,0x35,0x8C,0xED, -0x18,0xD5,0xA5,0xA0,0x4C,0xED,0x19,0xD5,0x4B,0xA8,0x18,0x95,0x8C,0xEA,0x7F,0x75, -0x1A,0xD2,0x03,0x61,0x19,0x92,0x04,0x72,0x04,0x60,0x18,0x95,0x28,0x75,0x80,0xF0, -0x11,0x61,0xFF,0x69,0xC1,0x9E,0x51,0x67,0x6C,0xEA,0x46,0x32,0x2C,0xEA,0xA6,0x67, -0x9D,0x67,0x18,0xD2,0x5C,0x4C,0xDA,0xC0,0x2C,0xED,0x00,0x18,0x3B,0x94,0x1C,0xD6, -0x18,0x92,0x1C,0x96,0x7F,0x72,0x58,0x67,0x1B,0xD2,0x04,0x22,0xE1,0xF4,0x03,0x6F, -0x00,0x6B,0x04,0x10,0x65,0xA0,0x01,0xF4,0x16,0x6F,0x2C,0xEB,0x10,0x6A,0x04,0xD2, -0x40,0xB2,0x18,0x95,0x08,0xD3,0x05,0xD2,0x17,0x92,0x07,0xD5,0x01,0x6B,0x06,0xD2, -0x59,0xA0,0x0A,0xD6,0x04,0x6C,0x09,0xD2,0x44,0xA0,0xFA,0x6D,0x6C,0xEA,0x0B,0xD2, -0x4B,0xA8,0x0C,0xD2,0x38,0xB2,0x49,0xE6,0x44,0xA2,0xA2,0xF4,0x10,0x6E,0x6C,0xEA, -0x0D,0xD2,0x44,0xA0,0x0E,0xD2,0x45,0xA0,0x0F,0xD2,0x46,0xA0,0x10,0xD2,0x47,0xA0, -0x11,0xD2,0x48,0xA0,0x12,0xD2,0x49,0xA0,0x13,0xD2,0x4A,0xA0,0x14,0xD2,0x4B,0xA0, -0x20,0x18,0x1B,0x32,0x15,0xD2,0x1A,0x92,0xFF,0x72,0x3E,0x60,0x1A,0x93,0x44,0x32, -0xFF,0x6D,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x24,0xB3,0x48,0x32, -0x65,0xE2,0xE0,0xF0,0x4B,0xA1,0xAC,0xEA,0x01,0x72,0x2E,0x61,0x20,0xF0,0x58,0xA1, -0xFF,0x6B,0x6C,0xEA,0x0B,0x72,0x13,0x61,0x1C,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D, -0x80,0x9A,0x00,0xF2,0x54,0xA1,0xFF,0x6D,0xAC,0xEA,0x01,0x72,0x26,0x61,0x8D,0x99, -0x00,0x18,0x1A,0x1E,0x00,0x6D,0x00,0x6A,0x00,0xF2,0x54,0xC1,0x1E,0x10,0x1A,0x94, -0x00,0x18,0x5E,0xDE,0xB0,0x67,0x1B,0x92,0x08,0x2A,0x19,0x93,0x04,0x73,0x05,0x61, -0x1A,0x95,0x80,0x18,0xD1,0x34,0x90,0x67,0x07,0x10,0x18,0x95,0x28,0x75,0x04,0x61, -0x1A,0x95,0x80,0x18,0x91,0x34,0x90,0x67,0x08,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D, -0x80,0x9A,0x03,0x10,0x20,0x18,0xFA,0x24,0x86,0x67,0x20,0x97,0x1F,0x91,0x1E,0x90, -0x00,0xEF,0x11,0x63,0x48,0x5C,0x11,0x80,0x64,0x52,0x11,0x80,0x48,0x60,0x11,0x80, -0xFC,0xA5,0x10,0x80,0x04,0x46,0x11,0x80,0xFF,0x63,0x00,0xD0,0x0F,0xB0,0xFF,0xF7, -0x1F,0x6A,0x4C,0xEC,0x00,0x6B,0xE2,0x67,0xFF,0x6E,0x64,0x32,0x69,0xE2,0x48,0x32, -0x6B,0xE2,0x48,0x32,0x15,0xE2,0x43,0xAD,0xEC,0xEA,0x8E,0xEA,0x05,0x2A,0x42,0x9D, -0x08,0x72,0x02,0x61,0x00,0x6A,0x05,0x10,0x01,0x4B,0xCC,0xEB,0x03,0x5B,0xED,0x61, -0x01,0x6A,0x00,0x90,0x20,0xE8,0x01,0x63,0x98,0x5F,0x11,0x80,0xFD,0x63,0x04,0x62, -0x16,0xB2,0x00,0x6B,0x60,0xF1,0x43,0xA2,0x01,0x72,0x14,0x61,0x14,0xB6,0x83,0x67, -0xFF,0x6D,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x8B,0xE2,0x48,0x32, -0xC9,0xE2,0xE0,0xF0,0x4B,0xA2,0xAC,0xEA,0x01,0x72,0x0D,0x60,0x01,0x4C,0xAC,0xEC, -0x0A,0x5C,0xEF,0x61,0x09,0xB2,0x60,0xF1,0x43,0xA2,0x02,0x5A,0x02,0x60,0x43,0x67, -0x07,0x23,0x0C,0x6A,0x05,0x10,0x80,0x18,0xAE,0x35,0x00,0x65,0x62,0x67,0xF2,0x17, -0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x48,0x60,0x11,0x80, -0xF9,0x63,0x0C,0x62,0x0B,0xD1,0x0A,0xD0,0x00,0x6A,0x0F,0xD5,0x06,0xD2,0x40,0xAC, -0x24,0x67,0x01,0xF0,0x0B,0x72,0x0C,0x61,0xBD,0x67,0x80,0x18,0xD5,0x2B,0x10,0x4D, -0x80,0xA9,0xFF,0xF7,0x1F,0x6B,0xA2,0x67,0x00,0x18,0xC5,0x4A,0x6C,0xEC,0xAC,0x10, -0x00,0xF4,0x19,0x72,0x2C,0x61,0x49,0xA4,0x03,0x5A,0x02,0x61,0x01,0x6A,0x49,0xC4, -0x7D,0x67,0x58,0xA3,0x00,0x1C,0xDD,0x31,0x52,0xC3,0xBD,0x67,0x91,0x67,0x12,0x4D, -0x00,0x18,0xB7,0x45,0x07,0xD2,0x02,0x67,0x0C,0x2A,0xA9,0xA1,0xFF,0x6B,0x20,0x6A, -0x6C,0xED,0xB8,0x35,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0xAA,0x6C,0x00,0x18,0xB6,0x33, -0x4C,0xED,0x00,0x1C,0xE5,0x31,0x07,0x94,0x7D,0x67,0x52,0xA3,0xFF,0x6B,0x6C,0xEA, -0x61,0x2A,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0xB0,0x67,0x4C,0xEC,0x58,0x10,0x00,0xF4, -0x05,0x72,0x06,0x61,0x4B,0xA4,0x03,0x5A,0x79,0x61,0x01,0x6A,0x4B,0xC4,0x76,0x10, -0x41,0xF4,0x12,0x72,0x10,0x61,0x00,0x18,0xE5,0x41,0x00,0x65,0x06,0x94,0x00,0x18, -0x78,0x36,0x02,0x67,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x18, -0x33,0x4B,0xB0,0x67,0x3F,0x10,0x01,0xF0,0x04,0x72,0x3F,0x61,0x04,0xA4,0xFF,0xF7, -0x1F,0x6A,0xFF,0xF7,0x1F,0x6B,0x00,0x30,0x4C,0xE8,0x43,0xA4,0xBD,0x67,0x14,0x4D, -0x4D,0xE8,0x6C,0xE8,0x00,0x18,0x2A,0xDF,0x90,0x67,0x04,0x22,0x5D,0x67,0x0A,0xCA, -0x02,0x6A,0x23,0x10,0x7D,0x67,0xAA,0xAB,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x64,0x32, -0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x27,0xB3,0x48,0x32,0x69,0xE2, -0x20,0xF0,0x78,0xA2,0xFF,0x6A,0x4C,0xEB,0x12,0x73,0x0A,0x60,0x19,0x73,0x08,0x60, -0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0x0C,0x6D,0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x2E,0x10, -0xFF,0xF7,0x1F,0x6C,0x00,0x18,0x0C,0x48,0xAC,0xEC,0x80,0xA9,0xA2,0x67,0x00,0x18, -0xC5,0x4A,0x00,0x65,0x01,0x6B,0x06,0xD3,0x21,0x10,0x21,0xF4,0x06,0x72,0x1E,0x61, -0x80,0x18,0xBF,0x35,0x00,0x65,0x10,0x2A,0x14,0xB0,0x7D,0x67,0x78,0xA3,0x60,0xF1, -0x43,0xA0,0x91,0x67,0x60,0xF1,0x63,0xC0,0x00,0x18,0xFC,0x52,0x08,0xD2,0x7D,0x67, -0x20,0xF0,0x60,0xA3,0x60,0xF1,0x63,0xC0,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6B, -0x6C,0xEC,0x00,0x18,0x33,0x4B,0xA2,0x67,0x01,0x6A,0x06,0xD2,0x06,0x92,0x03,0x22, -0x0F,0x93,0x66,0x6A,0x40,0xC3,0x0C,0x97,0x0B,0x91,0x0A,0x90,0x01,0x6A,0x00,0xEF, -0x07,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF5,0x63,0x14,0x62, -0x13,0xD1,0x12,0xD0,0x00,0x6D,0x17,0xF7,0x0C,0x6E,0x00,0x18,0x01,0xA0,0x33,0x6C, -0x61,0xB4,0x20,0x18,0xD6,0x32,0x00,0x69,0x20,0x18,0x5B,0x30,0x00,0x65,0x00,0x18, -0xA6,0x5C,0x00,0x65,0x00,0x18,0xC8,0x8A,0x00,0x65,0x00,0x18,0xA3,0x9B,0x00,0x65, -0x5A,0xB4,0x00,0x18,0x44,0x81,0x00,0x65,0x59,0xB0,0x00,0x18,0x4C,0x81,0x90,0x67, -0x87,0x40,0x00,0x18,0x4C,0x81,0x01,0x4C,0x56,0xB4,0x57,0xB5,0x20,0xC0,0x00,0x18, -0x2E,0x2E,0x30,0x6E,0x55,0xB5,0x88,0x40,0xD8,0x4C,0x00,0x18,0x2E,0x2E,0x30,0x6E, -0x53,0xB5,0x87,0x40,0x11,0x4C,0x00,0x18,0x2E,0x2E,0x18,0x6E,0x51,0xB0,0x03,0x6B, -0x40,0x98,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x6A,0xEA,0x05,0x60,0x4E,0xB2,0x20,0xF1, -0x2C,0xC2,0x20,0xF1,0x36,0xC2,0x00,0x18,0x04,0xF6,0x00,0x65,0x00,0x18,0x48,0x3C, -0x00,0x65,0x00,0x18,0x71,0x32,0x00,0x65,0x00,0x18,0xE2,0x24,0x00,0x65,0x00,0x18, -0x9A,0x7E,0x00,0x65,0x00,0x18,0xB5,0xC8,0x00,0x65,0x45,0xB3,0x43,0xB2,0x60,0xDA, -0x00,0x18,0x0B,0x2B,0x00,0x65,0x40,0x98,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x03,0x72, -0x05,0x61,0x9D,0x67,0x40,0x4C,0x00,0x18,0x1B,0x28,0x00,0x6D,0x00,0x18,0xE9,0x2F, -0x00,0x65,0x80,0x18,0x68,0x2A,0x00,0x65,0x20,0x18,0xA2,0x39,0x00,0x65,0x80,0x18, -0x1C,0x2A,0x00,0x65,0x00,0x1C,0xAD,0x31,0x00,0x65,0x29,0xF6,0x00,0x6D,0x00,0x18, -0x17,0x2D,0x01,0x6C,0x09,0x6A,0x04,0xD2,0x32,0xB2,0x2F,0xB3,0x01,0x6C,0x05,0xD2, -0x68,0xF1,0x1A,0x6A,0x06,0xD2,0x30,0xF0,0x0E,0x6A,0x07,0xD2,0x2E,0xB2,0xFA,0x6D, -0x09,0xF6,0x17,0x6E,0x40,0x9A,0xA1,0xF3,0x16,0x6F,0x08,0xD2,0x40,0xF0,0x41,0xA3, -0x09,0xD2,0x40,0xF0,0x40,0xA3,0x0A,0xD2,0x20,0xF0,0x5F,0xA3,0x0B,0xD2,0x20,0xF0, -0x5E,0xA3,0x0C,0xD2,0x20,0xF0,0x5D,0xA3,0x0D,0xD2,0x20,0xF0,0x5C,0xA3,0x20,0x18, -0x1B,0x32,0x0E,0xD2,0x21,0xB2,0x22,0xB3,0x40,0x9A,0x6E,0xEA,0x19,0x2A,0x21,0xB1, -0x21,0xB3,0x40,0x99,0x6E,0xEA,0x14,0x2A,0x20,0xB0,0x21,0xB2,0x21,0xB3,0x80,0x98, -0x8C,0xEA,0x6E,0xEA,0x0B,0x2A,0x20,0xB3,0x00,0xF6,0x82,0x32,0x00,0x6D,0x3F,0xF4, -0x00,0x6C,0x00,0x18,0xFA,0x8B,0x40,0xC3,0x00,0x6A,0x40,0xD8,0x00,0x6A,0x40,0xD9, -0x13,0xB3,0x12,0xB2,0x20,0x18,0x3D,0x36,0x60,0xDA,0x14,0x97,0x13,0x91,0x12,0x90, -0x00,0xEF,0x0B,0x63,0x84,0xC8,0x00,0x80,0x03,0x00,0x00,0xC4,0x98,0x24,0x11,0x80, -0x38,0x24,0x11,0x80,0xF8,0xDA,0x10,0x80,0x40,0xDB,0x10,0x80,0x28,0xDB,0x10,0x80, -0x6C,0x1D,0x11,0x80,0xDC,0x00,0x11,0x80,0x5C,0xA1,0x00,0xB0,0x00,0x00,0x01,0x00, -0xFC,0xA5,0x10,0x80,0x90,0x1E,0x11,0x80,0x3C,0x91,0x10,0x80,0xEF,0xBE,0x23,0x87, -0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x40,0x91,0x10,0x80,0xFF,0xFF,0xFF,0x00, -0xEE,0xFF,0xC0,0x00,0xD0,0x00,0x11,0x80,0x2E,0x5A,0x2C,0x4B,0xCF,0x9D,0xF2,0xCB, -0x74,0x9C,0x13,0xCE,0x57,0xF4,0x4C,0x54,0x48,0xA9,0xD3,0x53,0xC5,0x19,0x73,0x6F, -0xF7,0xEB,0x68,0x53,0xCC,0xAE,0x50,0xF1,0x57,0x02,0xE2,0x66,0xA3,0x5C,0xBC,0xD3, -0xB7,0xA6,0x2F,0xC9,0xAE,0xDC,0x77,0x9E,0x07,0x91,0x5F,0x86,0x91,0x8D,0xDC,0x27, -0x00,0x5D,0xF1,0xD6,0xCF,0x0C,0x14,0x2B,0x62,0x5E,0xD2,0xEF,0xF4,0xA5,0x18,0xFF, -0x15,0x20,0x70,0x09,0x98,0x44,0x21,0xA6,0x58,0x6F,0x9F,0xC3,0xFE,0x7E,0x43,0x29, -0xD2,0x80,0x9E,0xA5,0x11,0x25,0xF8,0xED,0xB0,0x9D,0x42,0xB8,0x1B,0xC5,0xBD,0x00, -0x9F,0x79,0xE4,0xB5,0x9D,0xBB,0xAA,0x85,0x7F,0xCA,0x85,0x6F,0xB9,0xF7,0xEA,0x25, -0x07,0x04,0x05,0x01,0x00,0x00,0x00,0x00,0x02,0x01,0x00,0x02,0x04,0x00,0x00,0x00, -0x01,0x03,0x02,0x04,0x00,0x00,0x00,0x00,0x1B,0x00,0xB7,0x00,0x53,0x01,0x36,0x00, -0x6F,0x01,0xA7,0x02,0x53,0x00,0x28,0x02,0xFD,0x03,0x25,0x00,0x04,0x0B,0x0F,0x04, -0x0A,0x0E,0x08,0x0B,0x0F,0x00,0x00,0x00,0x7A,0x41,0x2E,0x80,}; - -#endif //CONFIG_MP_INCLUDED -#ifndef CONFIG_PHY_SETTING_WITH_ODM -const u32 Rtl8723SPHY_REG_2TArray[Rtl8723SPHY_REG_2TArrayLength] = { -0x0, }; - -const u32 Rtl8723SPHY_REG_1TArray[Rtl8723SPHY_REG_1TArrayLength] = { -0x800,0x80040000, -0x804,0x00000003, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10005388, -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66f60110, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x32323200, -0x870,0x07000760, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xa78,0x00000900, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x7116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00080740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -const u32 Rtl8723SPHY_ChangeTo_1T1RArray[Rtl8723SPHY_ChangeTo_1T1RArrayLength] = { -0x0, }; - -const u32 Rtl8723SPHY_ChangeTo_1T2RArray[Rtl8723SPHY_ChangeTo_1T2RArrayLength] = { -0x0, }; - -const u32 Rtl8723SPHY_ChangeTo_2T2RArray[Rtl8723SPHY_ChangeTo_2T2RArrayLength] = { -0x0, }; - -const u32 Rtl8723SRadioA_2TArray[Rtl8723SRadioA_2TArrayLength] = { -0x0, }; - -const u32 Rtl8723SRadioB_2TArray[Rtl8723SRadioB_2TArrayLength] = { -0x0, }; - -const u32 Rtl8723SRadioA_1TArray[Rtl8723SRadioA_1TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00039c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001a3f1, -0x00b,0x00014787, -0x00c,0x000896fe, -0x00d,0x0000e02c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00030355, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0000024f, -0x01f,0x00000000, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x00057730, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f474, -0x015,0x0004f477, -0x015,0x0008f474, -0x015,0x000cf474, -0x016,0x00000339, -0x016,0x00040339, -0x016,0x00080339, -0x016,0x000c0366, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00000003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00000247, -0x01f,0x00000000, -0x000,0x00030159, -}; - -const u32 Rtl8723SRadioB_1TArray[Rtl8723SRadioB_1TArrayLength] = { -0x0, }; - -const u32 Rtl8723SRadioB_GM_Array[Rtl8723SRadioB_GM_ArrayLength] = { -0x0, }; - -const u32 Rtl8723SMAC_2T_Array[Rtl8723SMAC_2T_ArrayLength] = { -0x420,0x00000080, -0x423,0x00000000, -0x430,0x00000000, -0x431,0x00000000, -0x432,0x00000000, -0x433,0x00000001, -0x434,0x00000004, -0x435,0x00000005, -0x436,0x00000006, -0x437,0x00000007, -0x438,0x00000000, -0x439,0x00000000, -0x43a,0x00000000, -0x43b,0x00000001, -0x43c,0x00000004, -0x43d,0x00000005, -0x43e,0x00000006, -0x43f,0x00000007, -0x440,0x0000005d, -0x441,0x00000001, -0x442,0x00000000, -0x444,0x00000015, -0x445,0x000000f0, -0x446,0x0000000f, -0x447,0x00000000, -0x458,0x00000041, -0x459,0x000000a8, -0x45a,0x00000072, -0x45b,0x000000b9, -0x460,0x00000066, -0x461,0x00000066, -0x462,0x00000008, -0x463,0x00000003, -0x4c8,0x000000ff, -0x4c9,0x00000008, -0x4cc,0x000000ff, -0x4cd,0x000000ff, -0x4ce,0x00000001, -0x500,0x00000026, -0x501,0x000000a2, -0x502,0x0000002f, -0x503,0x00000000, -0x504,0x00000028, -0x505,0x000000a3, -0x506,0x0000005e, -0x507,0x00000000, -0x508,0x0000002b, -0x509,0x000000a4, -0x50a,0x0000005e, -0x50b,0x00000000, -0x50c,0x0000004f, -0x50d,0x000000a4, -0x50e,0x00000000, -0x50f,0x00000000, -0x512,0x0000001c, -0x514,0x0000000a, -0x515,0x00000010, -0x516,0x0000000a, -0x517,0x00000010, -0x51a,0x00000016, -0x524,0x0000000f, -0x525,0x0000004f, -0x546,0x00000040, -0x547,0x00000000, -0x550,0x00000010, -0x551,0x00000010, -0x559,0x00000002, -0x55a,0x00000002, -0x55d,0x000000ff, -0x605,0x00000030, -0x608,0x0000000e, -0x609,0x0000002a, -0x652,0x00000020, -0x63c,0x0000000a, -0x63d,0x0000000e, -0x63e,0x0000000a, -0x63f,0x0000000e, -0x66e,0x00000005, -0x700,0x00000021, -0x701,0x00000043, -0x702,0x00000065, -0x703,0x00000087, -0x708,0x00000021, -0x709,0x00000043, -0x70a,0x00000065, -0x70b,0x00000087, -}; - -const u32 Rtl8723SAGCTAB_2TArray[Rtl8723SAGCTAB_2TArrayLength] = { -0x0, }; - -const u32 Rtl8723SAGCTAB_1TArray[Rtl8723SAGCTAB_1TArrayLength] = { -0xc78,0x7b000001, -0xc78,0x7b010001, -0xc78,0x7b020001, -0xc78,0x7b030001, -0xc78,0x7b040001, -0xc78,0x7b050001, -0xc78,0x7a060001, -0xc78,0x79070001, -0xc78,0x78080001, -0xc78,0x77090001, -0xc78,0x760a0001, -0xc78,0x750b0001, -0xc78,0x740c0001, -0xc78,0x730d0001, -0xc78,0x720e0001, -0xc78,0x710f0001, -0xc78,0x70100001, -0xc78,0x6f110001, -0xc78,0x6e120001, -0xc78,0x6d130001, -0xc78,0x6c140001, -0xc78,0x6b150001, -0xc78,0x6a160001, -0xc78,0x69170001, -0xc78,0x68180001, -0xc78,0x67190001, -0xc78,0x661a0001, -0xc78,0x651b0001, -0xc78,0x641c0001, -0xc78,0x631d0001, -0xc78,0x621e0001, -0xc78,0x611f0001, -0xc78,0x60200001, -0xc78,0x49210001, -0xc78,0x48220001, -0xc78,0x47230001, -0xc78,0x46240001, -0xc78,0x45250001, -0xc78,0x44260001, -0xc78,0x43270001, -0xc78,0x42280001, -0xc78,0x41290001, -0xc78,0x402a0001, -0xc78,0x262b0001, -0xc78,0x252c0001, -0xc78,0x242d0001, -0xc78,0x232e0001, -0xc78,0x222f0001, -0xc78,0x21300001, -0xc78,0x20310001, -0xc78,0x06320001, -0xc78,0x05330001, -0xc78,0x04340001, -0xc78,0x03350001, -0xc78,0x02360001, -0xc78,0x01370001, -0xc78,0x00380001, -0xc78,0x00390001, -0xc78,0x003a0001, -0xc78,0x003b0001, -0xc78,0x003c0001, -0xc78,0x003d0001, -0xc78,0x003e0001, -0xc78,0x003f0001, -0xc78,0x7b400001, -0xc78,0x7b410001, -0xc78,0x7b420001, -0xc78,0x7b430001, -0xc78,0x7b440001, -0xc78,0x7b450001, -0xc78,0x7a460001, -0xc78,0x79470001, -0xc78,0x78480001, -0xc78,0x77490001, -0xc78,0x764a0001, -0xc78,0x754b0001, -0xc78,0x744c0001, -0xc78,0x734d0001, -0xc78,0x724e0001, -0xc78,0x714f0001, -0xc78,0x70500001, -0xc78,0x6f510001, -0xc78,0x6e520001, -0xc78,0x6d530001, -0xc78,0x6c540001, -0xc78,0x6b550001, -0xc78,0x6a560001, -0xc78,0x69570001, -0xc78,0x68580001, -0xc78,0x67590001, -0xc78,0x665a0001, -0xc78,0x655b0001, -0xc78,0x645c0001, -0xc78,0x635d0001, -0xc78,0x625e0001, -0xc78,0x615f0001, -0xc78,0x60600001, -0xc78,0x49610001, -0xc78,0x48620001, -0xc78,0x47630001, -0xc78,0x46640001, -0xc78,0x45650001, -0xc78,0x44660001, -0xc78,0x43670001, -0xc78,0x42680001, -0xc78,0x41690001, -0xc78,0x406a0001, -0xc78,0x266b0001, -0xc78,0x256c0001, -0xc78,0x246d0001, -0xc78,0x236e0001, -0xc78,0x226f0001, -0xc78,0x21700001, -0xc78,0x20710001, -0xc78,0x06720001, -0xc78,0x05730001, -0xc78,0x04740001, -0xc78,0x03750001, -0xc78,0x02760001, -0xc78,0x01770001, -0xc78,0x00780001, -0xc78,0x00790001, -0xc78,0x007a0001, -0xc78,0x007b0001, -0xc78,0x007c0001, -0xc78,0x007d0001, -0xc78,0x007e0001, -0xc78,0x007f0001, -0xc78,0x3800001e, -0xc78,0x3801001e, -0xc78,0x3802001e, -0xc78,0x3803001e, -0xc78,0x3804001e, -0xc78,0x3805001e, -0xc78,0x3806001e, -0xc78,0x3807001e, -0xc78,0x3808001e, -0xc78,0x3c09001e, -0xc78,0x3e0a001e, -0xc78,0x400b001e, -0xc78,0x440c001e, -0xc78,0x480d001e, -0xc78,0x4c0e001e, -0xc78,0x500f001e, -0xc78,0x5210001e, -0xc78,0x5611001e, -0xc78,0x5a12001e, -0xc78,0x5e13001e, -0xc78,0x6014001e, -0xc78,0x6015001e, -0xc78,0x6016001e, -0xc78,0x6217001e, -0xc78,0x6218001e, -0xc78,0x6219001e, -0xc78,0x621a001e, -0xc78,0x621b001e, -0xc78,0x621c001e, -0xc78,0x621d001e, -0xc78,0x621e001e, -0xc78,0x621f001e, -}; - -#endif//endif CONFIG_PHY_SETTING_ODM - -const u32 Rtl8723SPHY_REG_Array_PG[Rtl8723SPHY_REG_Array_PGLength] = { -0xe00,0xffffffff,0x0a0c0c0c, -0xe04,0xffffffff,0x02040608, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x0a0c0d0e, -0xe14,0xffffffff,0x02040608, -0xe18,0xffffffff,0x0a0c0d0e, -0xe1c,0xffffffff,0x02040608, -0x830,0xffffffff,0x0a0c0c0c, -0x834,0xffffffff,0x02040608, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x0a0c0d0e, -0x848,0xffffffff,0x02040608, -0x84c,0xffffffff,0x0a0c0d0e, -0x868,0xffffffff,0x02040608, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x06060606, -0xe14,0xffffffff,0x00020406, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x06060606, -0x848,0xffffffff,0x00020406, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -}; - -const u32 Rtl8723SMACPHY_Array_PG[Rtl8723SMACPHY_Array_PGLength] = { -0x0, }; -#if MP_DRIVER == 1 -const u32 Rtl8723SPHY_REG_Array_MP[Rtl8723SPHY_REG_Array_MPLength] = { -0xc30,0x69e9ac4a, -0xc3c,0x0a979718, -}; -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+/*Created on 2013/02/26, 18:59*/
+#include "../odm_precomp.h"
+
+const u8 Rtl8723SFwImgArray[Rtl8723SImgArrayLength] = {
+0x01,0x23,0x02,0x00,0x0e,0x00,0x00,0x00,0x11,0x16,0x12,0x05,0x5e,0x50,0x01,0x00,
+0x31,0x84,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x02,0x44,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x58,0x67,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x60,0xbf,0x00,0x00,0x00,0x00,0x00,0x02,0x53,0x36,0x00,0x00,
+0x00,0x00,0x00,0x02,0x51,0x6b,0x05,0x04,0x03,0x02,0x00,0x03,0x06,0x05,0x04,0x03,
+0x00,0x04,0x06,0x05,0x04,0x02,0x00,0x04,0x08,0x07,0x06,0x04,0x00,0x06,0x0a,0x09,
+0x08,0x06,0x00,0x08,0x0a,0x09,0x08,0x04,0x00,0x08,0x0a,0x09,0x08,0x02,0x00,0x08,
+0x0a,0x09,0x08,0x00,0x00,0x08,0x12,0x11,0x10,0x08,0x00,0x10,0x1a,0x19,0x18,0x10,
+0x00,0x18,0x22,0x21,0x20,0x18,0x00,0x20,0x22,0x21,0x20,0x10,0x00,0x20,0x22,0x21,
+0x20,0x08,0x00,0x20,0x22,0x21,0x1c,0x08,0x00,0x20,0x22,0x21,0x14,0x08,0x00,0x20,
+0x22,0x20,0x18,0x08,0x00,0x20,0x31,0x30,0x20,0x10,0x00,0x30,0x31,0x30,0x18,0x00,
+0x00,0x30,0x31,0x2f,0x10,0x10,0x00,0x30,0x31,0x2c,0x10,0x10,0x00,0x30,0x31,0x28,
+0x10,0x00,0x00,0x30,0x31,0x20,0x10,0x00,0x00,0x30,0x31,0x10,0x10,0x00,0x00,0x30,
+0x04,0x04,0x04,0x05,0x04,0x04,0x04,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x04,0x05,
+0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05,
+0x05,0x05,0x06,0x07,0x0a,0x0b,0x0d,0x10,0x04,0x05,0x05,0x06,0x06,0x09,0x0c,0x11,
+0x08,0x08,0x09,0x09,0x0a,0x0c,0x10,0x11,0x04,0x04,0x04,0x05,0x04,0x04,0x05,0x07,
+0x07,0x07,0x08,0x0a,0x04,0x04,0x04,0x04,0x06,0x0a,0x0b,0x0d,0x05,0x05,0x07,0x07,
+0x08,0x0b,0x0d,0x0f,0x04,0x04,0x04,0x05,0x07,0x07,0x09,0x09,0x0c,0x0e,0x10,0x12,
+0x04,0x04,0x05,0x05,0x06,0x0a,0x11,0x13,0x09,0x09,0x09,0x09,0x0c,0x0e,0x11,0x13,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x26,0x2a,0x18,0x1a,0x1d,0x1f,
+0x21,0x27,0x29,0x2a,0x00,0x00,0x00,0x1f,0x23,0x28,0x2a,0x2c,0x00,0x04,0x00,0x04,
+0x00,0x08,0x00,0x10,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x90,
+0x00,0xc0,0x00,0xd8,0x00,0x50,0x00,0x78,0x00,0xa0,0x00,0xc8,0x01,0x40,0x01,0x90,
+0x01,0xe0,0x02,0x30,0x01,0x2c,0x01,0x40,0x01,0xe0,0x02,0xd0,0x03,0xe8,0x04,0xb0,
+0x06,0x40,0x07,0xd0,0x00,0x02,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x0c,0x00,0x12,
+0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x6c,0x00,0x28,0x00,0x3c,
+0x00,0x50,0x00,0x64,0x00,0xa0,0x00,0xc8,0x00,0xf0,0x01,0x18,0x00,0x64,0x00,0xa0,
+0x00,0xf0,0x01,0x68,0x01,0xf4,0x02,0x58,0x03,0x20,0x03,0xe8,0x02,0x02,0x02,0x02,
+0x02,0x02,0x03,0x03,0x04,0x04,0x05,0x07,0x04,0x04,0x07,0x0a,0x0a,0x0c,0x0c,0x12,
+0x05,0x07,0x07,0x08,0x0b,0x12,0x24,0x3c,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x04,
+0x05,0x06,0x07,0x08,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x05,0x06,0x07,0x08,
+0x09,0x0a,0x0b,0x0c,0x20,0x1e,0x1c,0x18,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
+0xbb,0x01,0x06,0x89,0x82,0x8a,0x83,0xf0,0x22,0x50,0x02,0xf7,0x22,0xbb,0xfe,0x01,
+0xf3,0x22,0xf8,0xbb,0x01,0x0d,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83,
+0xe8,0xf0,0x22,0x50,0x06,0xe9,0x25,0x82,0xc8,0xf6,0x22,0xbb,0xfe,0x05,0xe9,0x25,
+0x82,0xc8,0xf2,0x22,0xc5,0xf0,0xf8,0xa3,0xe0,0x28,0xf0,0xc5,0xf0,0xf8,0xe5,0x82,
+0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0x38,0xf0,0x22,0xbb,0x01,0x0a,0x89,0x82,0x8a,
+0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x06,0x87,0xf0,0x09,0xe7,0x19,0x22,0xbb,
+0xfe,0x07,0xe3,0xf5,0xf0,0x09,0xe3,0x19,0x22,0x89,0x82,0x8a,0x83,0xe4,0x93,0xf5,
+0xf0,0x74,0x01,0x93,0x22,0xbb,0x01,0x10,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,
+0xf5,0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x09,0xe9,0x25,0x82,0xf8,0x86,0xf0,
+0x08,0xe6,0x22,0xbb,0xfe,0x0a,0xe9,0x25,0x82,0xf8,0xe2,0xf5,0xf0,0x08,0xe2,0x22,
+0xe5,0x83,0x2a,0xf5,0x83,0xe9,0x93,0xf5,0xf0,0xa3,0xe9,0x93,0x22,0xbb,0x01,0x0a,
+0x89,0x82,0x8a,0x83,0xf0,0xe5,0xf0,0xa3,0xf0,0x22,0x50,0x06,0xf7,0x09,0xa7,0xf0,
+0x19,0x22,0xbb,0xfe,0x06,0xf3,0xe5,0xf0,0x09,0xf3,0x19,0x22,0xf8,0xbb,0x01,0x11,
+0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83,0xe8,0xf0,0xe5,0xf0,0xa3,0xf0,
+0x22,0x50,0x09,0xe9,0x25,0x82,0xc8,0xf6,0x08,0xa6,0xf0,0x22,0xbb,0xfe,0x09,0xe9,
+0x25,0x82,0xc8,0xf2,0xe5,0xf0,0x08,0xf2,0x22,0xef,0x4b,0xff,0xee,0x4a,0xfe,0xed,
+0x49,0xfd,0xec,0x48,0xfc,0x22,0xbb,0x01,0x07,0x89,0x82,0x8a,0x83,0x02,0x43,0x46,
+0x50,0x05,0xe9,0xf8,0x02,0x43,0xda,0xbb,0xfe,0x05,0xe9,0xf8,0x02,0x43,0xe6,0x89,
+0x82,0x8a,0x83,0x02,0x43,0xf2,0xe0,0xfc,0xa3,0xe0,0xfd,0xa3,0xe0,0xfe,0xa3,0xe0,
+0xff,0x22,0xa4,0x25,0x82,0xf5,0x82,0xe5,0xf0,0x35,0x83,0xf5,0x83,0x22,0xe0,0xfb,
+0xa3,0xe0,0xfa,0xa3,0xe0,0xf9,0x22,0xf8,0xe0,0xfb,0xa3,0xa3,0xe0,0xf9,0x25,0xf0,
+0xf0,0xe5,0x82,0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0xfa,0x38,0xf0,0x22,0xeb,0xf0,
+0xa3,0xea,0xf0,0xa3,0xe9,0xf0,0x22,0xd0,0x83,0xd0,0x82,0xf8,0xe4,0x93,0x70,0x12,
+0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74,0x01,0x93,0xf5,0x82,0x88,0x83,
+0xe4,0x73,0x74,0x02,0x93,0x68,0x60,0xef,0xa3,0xa3,0xa3,0x80,0xdf,0xd0,0x83,0xd0,
+0x82,0xf8,0xe4,0x93,0x70,0x12,0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74,
+0x01,0x93,0xf5,0x82,0x88,0x83,0xe4,0x73,0x74,0x02,0x93,0xb5,0xf0,0x06,0x74,0x03,
+0x93,0x68,0x60,0xe9,0xa3,0xa3,0xa3,0xa3,0x80,0xd8,0xe6,0xfc,0x08,0xe6,0xfd,0x08,
+0xe6,0xfe,0x08,0xe6,0xff,0x22,0xe2,0xfc,0x08,0xe2,0xfd,0x08,0xe2,0xfe,0x08,0xe2,
+0xff,0x22,0xe4,0x93,0xfc,0x74,0x01,0x93,0xfd,0x74,0x02,0x93,0xfe,0x74,0x03,0x93,
+0xff,0x22,0x02,0x44,0x40,0x02,0x4b,0x85,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0x40,
+0x03,0xf6,0x80,0x01,0xf2,0x08,0xdf,0xf4,0x80,0x29,0xe4,0x93,0xa3,0xf8,0x54,0x07,
+0x24,0x0c,0xc8,0xc3,0x33,0xc4,0x54,0x0f,0x44,0x20,0xc8,0x83,0x40,0x04,0xf4,0x56,
+0x80,0x01,0x46,0xf6,0xdf,0xe4,0x80,0x0b,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
+0x90,0x44,0x85,0xe4,0x7e,0x01,0x93,0x60,0xbc,0xa3,0xff,0x54,0x3f,0x30,0xe5,0x09,
+0x54,0x1f,0xfe,0xe4,0x93,0xa3,0x60,0x01,0x0e,0xcf,0x54,0xc0,0x25,0xe0,0x60,0xa8,
+0x40,0xb8,0xe4,0x93,0xa3,0xfa,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0xc8,0xc5,0x82,
+0xc8,0xca,0xc5,0x83,0xca,0xf0,0xa3,0xc8,0xc5,0x82,0xc8,0xca,0xc5,0x83,0xca,0xdf,
+0xe9,0xde,0xe7,0x80,0xbe,0x48,0x9e,0x8d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x48,0x9e,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x9e,0x8c,0x00,0x41,
+0x9f,0x14,0x00,0x41,0x9e,0x9e,0x80,0x41,0x9e,0x9f,0x80,0x41,0x9d,0xa8,0x00,0x41,
+0x9d,0xa9,0x00,0x41,0x9d,0xa7,0x00,0x41,0x9e,0xb3,0x00,0x00,0x90,0x9e,0x69,0xe0,
+0xfe,0xa3,0xe0,0xff,0x90,0x02,0x84,0xef,0xf0,0xa3,0xee,0xf0,0xa3,0x74,0x05,0xf0,
+0x22,0xe5,0x68,0x30,0xe3,0x04,0xe4,0xff,0x80,0x02,0x7f,0x01,0xe1,0xd6,0x8f,0x82,
+0x8e,0x83,0xa3,0xa3,0xa3,0xe4,0xf0,0x22,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x05,0xaf,
+0x69,0x02,0x56,0x5f,0x02,0x4c,0x80,0x22,0x7f,0x00,0x22,0x90,0x01,0x64,0x74,0x20,
+0xf0,0x22,0x22,0x02,0x61,0x15,0x02,0x61,0x1c,0xef,0x8e,0xf0,0x71,0xad,0x45,0x26,
+0x00,0x40,0x45,0x4e,0x00,0x80,0x45,0x79,0x01,0x00,0x45,0x8d,0x02,0x00,0x45,0xa5,
+0x04,0x00,0x00,0x00,0x45,0xc2,0xed,0x54,0x3f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,
+0x00,0x7f,0x40,0xef,0x2d,0xff,0xee,0x3c,0xfe,0xef,0x78,0x06,0xce,0xc3,0x13,0xce,
+0x13,0xd8,0xf9,0x78,0x06,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0x80,0x26,0xed,0x54,
+0x7f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x00,0x7f,0x80,0xef,0x2d,0xff,0xee,0x3c,
+0xfe,0xef,0x78,0x07,0xce,0xc3,0x13,0xce,0x13,0xd8,0xf9,0x78,0x07,0xc3,0x33,0xce,
+0x33,0xce,0xd8,0xf9,0xfd,0xac,0x06,0x80,0x49,0xed,0x70,0x04,0xfe,0xff,0x80,0x04,
+0x7e,0x01,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x7d,0x00,0xfc,0x80,0x35,0xec,0x54,0x01,
+0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x02,0x7f,0x00,0xef,0x2d,0xee,0x3c,0xc3,
+0x13,0x7d,0x00,0x80,0x1a,0xec,0x54,0x03,0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,
+0x04,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x13,0x13,0x54,0x3f,0x7d,0x00,0x25,0xe0,0x25,
+0xe0,0xfc,0xae,0x04,0xaf,0x05,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0x90,
+0x9e,0x6f,0xf0,0xa3,0x74,0x08,0xf0,0xa3,0xf0,0x90,0x01,0x1f,0xe0,0xfe,0x90,0x01,
+0x1e,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0x69,0xf0,0xa3,0xef,0xf0,
+0x90,0x02,0x87,0xe0,0x90,0x9e,0x6e,0xf0,0x90,0x9e,0xbc,0xe0,0x20,0xe0,0x02,0xe1,
+0x49,0xe4,0x90,0x9e,0x6d,0xf0,0x90,0x9e,0x6e,0xe0,0xff,0x90,0x9e,0x6d,0xe0,0xc3,
+0x9f,0x40,0x02,0xe1,0x49,0x90,0x9e,0x69,0xe0,0xfc,0xa3,0xe0,0xfd,0xec,0x90,0xfd,
+0x11,0xf0,0x74,0x02,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0x0f,0xfc,
+0x33,0x33,0x33,0x54,0xf8,0xff,0xed,0x24,0x18,0x2f,0x90,0x9e,0x6b,0xf0,0xe0,0x24,
+0x00,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0xfc,0x90,0x9e,0x6c,0xf0,0x74,
+0x01,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0xfe,0x74,0x00,0x2d,0xf5,0x82,
+0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x7a,0x00,0x24,0x00,0xff,0xea,0x3e,0x54,0x3f,0xab,
+0x07,0xfa,0xaf,0x04,0xef,0x75,0xf0,0x08,0xa4,0x24,0x18,0xff,0xe4,0x35,0xf0,0xfe,
+0xef,0x2b,0xfb,0xee,0x3a,0xfa,0x90,0x9e,0xc2,0xe0,0xfe,0xa3,0xe0,0xff,0xad,0x03,
+0xac,0x02,0xb1,0x09,0xaa,0x06,0xab,0x07,0x90,0x9e,0x69,0xee,0x8f,0xf0,0x51,0x54,
+0x90,0x9e,0xc0,0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0x69,0xe0,0xfc,0xa3,0xe0,0xfd,
+0xd3,0x9f,0xec,0x9e,0x40,0x1b,0x90,0x9e,0xc1,0xe0,0x24,0x01,0xff,0x90,0x9e,0xc0,
+0xe0,0x34,0x00,0xfe,0xc3,0xed,0x9f,0xff,0xec,0x9e,0x90,0x9e,0x69,0xf0,0xa3,0xef,
+0xf0,0x90,0x9e,0x6c,0xe0,0xff,0x24,0x40,0x60,0x04,0x24,0x20,0x70,0x24,0x90,0x9e,
+0xbc,0xe0,0xfe,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x29,0xef,0x90,0x00,0x81,
+0xb4,0xa0,0x06,0xe0,0x44,0x04,0xf0,0x80,0x04,0xe0,0x44,0x08,0xf0,0x90,0x9e,0xbf,
+0x80,0x0f,0x90,0x9e,0xbc,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x06,0x80,
+0x04,0xe0,0x44,0x01,0xf0,0x90,0x9e,0xbf,0xe0,0x20,0xe0,0x07,0x90,0x01,0x3f,0xe0,
+0x30,0xe2,0x10,0xf1,0x4e,0x90,0x9e,0xbc,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x12,0x91,
+0xbc,0x80,0x0e,0x91,0xbc,0x90,0x01,0xbf,0xe0,0x04,0xf0,0x90,0x00,0xe2,0xe0,0x04,
+0xf0,0x90,0x9e,0x6d,0xe0,0x04,0xf0,0xc1,0x06,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,
+0x9b,0xe0,0x64,0x02,0x70,0x33,0x90,0x9e,0xbd,0xe0,0xff,0x90,0x9e,0xbc,0xe0,0xfe,
+0xc4,0x13,0x54,0x01,0xfd,0x12,0x4e,0xa4,0x90,0x9e,0xbe,0xe0,0x75,0xf0,0x20,0xa4,
+0xff,0xae,0xf0,0x12,0x3b,0x3b,0x90,0x9e,0xbd,0xe0,0xff,0x90,0x9e,0xbc,0xe0,0xfe,
+0xc4,0x13,0x54,0x01,0xf4,0xfd,0x02,0x4e,0xa4,0x90,0x06,0x90,0xe0,0x44,0x01,0xf0,
+0x22,0x90,0x9e,0xb4,0xe0,0x30,0xe0,0x3d,0xe5,0x67,0x64,0x01,0x70,0x37,0x90,0x9e,
+0xb8,0xe0,0x60,0x31,0x90,0x9e,0x8e,0xe0,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x02,
+0x80,0x15,0x90,0x9e,0xb8,0xe0,0xff,0x90,0x9e,0xb6,0xe0,0xb5,0x07,0x0f,0xf1,0x4e,
+0x90,0x00,0x81,0xe0,0x44,0x10,0xf0,0xe4,0x90,0x9e,0xb8,0xf0,0x22,0x91,0xd1,0x90,
+0x9e,0xb8,0xe0,0x04,0xf0,0x22,0x8f,0x27,0x12,0x4f,0xf8,0xef,0x64,0x01,0x70,0x2e,
+0x90,0x9e,0x97,0x12,0x50,0x26,0xe5,0x27,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,
+0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4,
+0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xd3,
+0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x8b,0x60,0x8a,0x61,0x89,0x62,0x90,0x9e,0xe6,0x12,
+0x43,0x7e,0xab,0x63,0xaa,0x64,0xa9,0x65,0x90,0x9e,0xe9,0x12,0x43,0x7e,0xaf,0x66,
+0x15,0x66,0xef,0x60,0x1e,0x90,0x9e,0xe9,0xe4,0x75,0xf0,0x01,0x12,0x43,0x67,0x12,
+0x1f,0x04,0xff,0x90,0x9e,0xe6,0xe4,0x75,0xf0,0x01,0x12,0x43,0x67,0xef,0x12,0x42,
+0x20,0x80,0xdb,0xab,0x60,0xaa,0x61,0xa9,0x62,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,
+0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xec,0x12,0x43,0x7e,0x90,0x9e,0x9b,0xe0,0x64,
+0x01,0x60,0x66,0x90,0x9e,0x9b,0xe0,0x70,0x60,0x90,0x9d,0xa7,0xe0,0xff,0x04,0xf0,
+0x90,0x9e,0xec,0x12,0x43,0x5e,0x90,0x00,0x01,0xef,0x12,0x42,0x32,0x31,0x8f,0xef,
+0x60,0x47,0x90,0x9e,0xec,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x75,0x66,
+0x02,0x7b,0x01,0x7a,0x01,0x79,0xa0,0x11,0x0f,0x90,0x9e,0xef,0x12,0x43,0x5e,0x8b,
+0x63,0x8a,0x64,0x89,0x65,0x90,0x9e,0xec,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc4,
+0x54,0x0f,0xf5,0x66,0x7b,0x01,0x7a,0x01,0x79,0xa2,0x11,0x0f,0x90,0x01,0xaf,0x74,
+0xff,0xf0,0x90,0x01,0xcb,0xe0,0x64,0x80,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,
+0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xf2,0x12,0x43,0x7e,0x90,0x9d,0xa9,0xe0,0xff,
+0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07,0x7d,0x02,0x7f,0x03,0x12,0x3a,0xdf,0x90,0x9d,
+0xa8,0xe0,0x70,0x06,0xa3,0xe0,0x64,0x09,0x60,0x0b,0x90,0x9d,0xa8,0xe0,0x14,0xff,
+0xa3,0xe0,0xb5,0x07,0x0d,0x31,0x8f,0xef,0x60,0x70,0x31,0xe9,0x90,0x01,0x3f,0x74,
+0x02,0xf0,0x90,0x9d,0xa9,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35,
+0xf0,0xa8,0x01,0xfc,0x7d,0x01,0x90,0x9e,0xf2,0x12,0x43,0x5e,0x7e,0x00,0x7f,0x02,
+0x12,0x1e,0xde,0x90,0x9d,0xa9,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d,
+0x35,0xf0,0xfa,0x7b,0x01,0xc0,0x03,0xc0,0x02,0xc0,0x01,0x90,0x9e,0xf5,0x12,0x43,
+0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x90,0x9e,0xf2,0x12,0x43,0x5e,0x12,0x1f,0x04,
+0xff,0xc4,0x54,0x0f,0xf5,0x66,0xd0,0x01,0xd0,0x02,0xd0,0x03,0x11,0x0f,0x90,0x9d,
+0xa9,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x02,0xe4,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0x7f,
+0xaf,0x7e,0x01,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xfd,0xee,0xf0,0xa3,
+0xef,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0x90,0x9e,0xfd,0xe0,0xfe,0xa3,0xe0,0xf5,0x82,
+0x8e,0x83,0xe0,0x60,0x2d,0xc3,0x90,0x9f,0x00,0xe0,0x94,0xe8,0x90,0x9e,0xff,0xe0,
+0x94,0x03,0x40,0x0b,0x90,0x01,0xc6,0xe0,0x44,0x10,0xf0,0x7f,0x00,0x80,0x15,0x90,
+0x9e,0xff,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x0a,0x7e,0x00,0x12,0x3b,0x3b,
+0x80,0xc5,0x7f,0x01,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,
+0x90,0x9d,0xa8,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35,0xf0,0xfa,
+0x7b,0x01,0xc0,0x02,0xc0,0x01,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d,
+0x35,0xf0,0xfa,0x90,0x9e,0xef,0x12,0x43,0x7e,0xd0,0x01,0xd0,0x02,0x11,0x5e,0x90,
+0x9d,0xa8,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x02,0xe4,0xf0,0x90,0x9d,0xa9,0xe0,0xff,
+0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x71,0xd0,0xd0,
+0x92,0xaf,0x22,0x90,0x01,0xcc,0xe0,0x54,0x0f,0x90,0x9e,0x69,0xf0,0x90,0x9e,0x69,
+0xe0,0xfd,0x70,0x02,0x61,0x84,0x90,0x9f,0x14,0xe0,0xff,0x74,0x01,0x7e,0x00,0xa8,
+0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xef,0x5d,0x70,0x02,
+0x61,0x7d,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd0,0x12,0x43,0x52,0xe0,
+0x90,0x9e,0x6a,0xf0,0x75,0x63,0x01,0x75,0x64,0x9e,0x75,0x65,0x6a,0x75,0x66,0x01,
+0x7b,0x01,0x7a,0x9e,0x79,0x6b,0x11,0x0f,0x90,0x9e,0x6b,0xe0,0xff,0xc4,0x13,0x13,
+0x13,0x54,0x01,0x90,0x9f,0x14,0x30,0xe0,0x59,0xe0,0x75,0xf0,0x02,0x90,0x00,0x88,
+0x12,0x43,0x52,0xe0,0x90,0x9e,0x6c,0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x02,0x90,
+0x00,0x89,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6d,0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0,
+0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6e,0xf0,0x90,0x9f,0x14,0xe0,
+0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6f,0xf0,0x90,0x9f,
+0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52,0xe0,0x90,0x9e,0x70,0xf0,
+0x80,0x33,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6c,
+0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90,
+0x9e,0x6d,0xf0,0x90,0x9f,0x14,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52,
+0xe0,0x90,0x9e,0x6e,0xf0,0xef,0x54,0x7f,0xff,0x7b,0x01,0x7a,0x9e,0x79,0x6c,0x12,
+0x80,0x07,0x90,0x9e,0x69,0xe0,0xff,0x90,0x9f,0x14,0xe0,0xfe,0x74,0x01,0xa8,0x06,
+0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0x5f,0x90,0x9e,0x69,0xf0,0x90,0x9f,0x14,
+0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x90,0x01,0xcc,
+0xf0,0x90,0x9f,0x14,0xe0,0x04,0xf0,0xe0,0x54,0x03,0xf0,0x41,0x4d,0x90,0x01,0xc6,
+0xe0,0x44,0x02,0xf0,0x22,0xe4,0x90,0x9e,0x66,0xf0,0xa3,0xf0,0x12,0x60,0x87,0x75,
+0x8e,0x02,0xf1,0xe8,0x12,0x44,0xf8,0x90,0x9e,0x9b,0xef,0xf0,0x12,0x60,0x24,0x90,
+0x9e,0x9d,0xef,0xf0,0xe4,0xf5,0x57,0x12,0x78,0x90,0x12,0x61,0x60,0x12,0x37,0x4e,
+0x12,0x67,0x5a,0x12,0x57,0xfe,0x90,0x00,0xf3,0xe0,0x30,0xe2,0x0d,0x90,0x05,0x41,
+0x74,0x10,0xf0,0x90,0x05,0x5a,0xf0,0xa3,0xe4,0xf0,0x12,0x44,0xfb,0x12,0x58,0x1c,
+0x12,0x44,0xf7,0x12,0x60,0x8f,0x12,0x8d,0xfb,0x12,0x8d,0xf2,0x12,0x8d,0xca,0x90,
+0x9e,0x68,0xe5,0xd9,0xf0,0x12,0x5f,0xf5,0xc2,0xaf,0x90,0x00,0x80,0xe0,0x44,0x40,
+0xf0,0xd1,0x94,0x75,0xe8,0x03,0x43,0xa8,0x85,0x12,0x8e,0x69,0xd2,0xaf,0x12,0x87,
+0xdd,0x12,0x60,0x31,0x90,0x9e,0x66,0xe0,0x64,0x01,0xf0,0x24,0x85,0x90,0x01,0xc4,
+0xf0,0x74,0x4b,0xa3,0xf0,0xe5,0x57,0x30,0xe0,0x0a,0xc2,0xaf,0x53,0x57,0xfe,0x12,
+0x8e,0xca,0xd2,0xaf,0xe5,0x57,0x30,0xe2,0x10,0x12,0x61,0x23,0xbf,0x01,0x0a,0xc2,
+0xaf,0x53,0x57,0xfb,0xd2,0xaf,0x12,0x45,0xc7,0xe5,0x57,0x30,0xe4,0x09,0xc2,0xaf,
+0x53,0x57,0xef,0xd2,0xaf,0x51,0x43,0xe5,0x57,0x30,0xe6,0x0a,0xc2,0xaf,0x53,0x57,
+0xbf,0xd2,0xaf,0x12,0x72,0x3b,0xe5,0x57,0x30,0xe7,0x09,0xc2,0xaf,0x53,0x57,0x7f,
+0xd2,0xaf,0x31,0xe9,0xc2,0xaf,0xe5,0x69,0x54,0x0f,0xff,0xbf,0x01,0x0e,0x90,0x9e,
+0xa5,0x74,0x01,0xf0,0x12,0x44,0xe8,0xe4,0x90,0x9e,0xa5,0xf0,0xd2,0xaf,0x80,0x84,
+0x7d,0x01,0xaf,0x69,0x90,0x9f,0x09,0xed,0xf0,0x90,0x9f,0x08,0xef,0xf0,0x54,0x0f,
+0xff,0xe5,0x68,0x54,0x0f,0x6f,0x60,0x73,0x90,0x9f,0x08,0xe0,0x30,0xe2,0x2b,0xe5,
+0x68,0x20,0xe2,0x05,0x7f,0x01,0x12,0x67,0x85,0xe5,0x68,0x30,0xe3,0x0a,0x90,0x9f,
+0x08,0xe0,0x20,0xe3,0x03,0x02,0x68,0x03,0xe5,0x68,0x20,0xe3,0x4e,0x90,0x9f,0x08,
+0xe0,0x30,0xe3,0x47,0xa3,0xe0,0xff,0x02,0x62,0x72,0xe5,0x68,0x54,0x0f,0xff,0xbf,
+0x0c,0x10,0x90,0x9f,0x08,0xe0,0x20,0xe3,0x09,0x12,0x5e,0xac,0xef,0x60,0x2c,0x12,
+0x68,0x03,0xe5,0x68,0x54,0x0f,0xff,0xbf,0x04,0x10,0x90,0x9f,0x08,0xe0,0x20,0xe2,
+0x09,0x12,0x5f,0x93,0xef,0x60,0x14,0x12,0x68,0x29,0xe5,0x68,0x54,0x0f,0xff,0xbf,
+0x02,0x09,0x12,0x61,0xfc,0xef,0x60,0x03,0x12,0x6b,0x0b,0x22,0xef,0x64,0x01,0x70,
+0x38,0x7d,0x7c,0x7f,0x02,0x12,0x3a,0x54,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0x90,
+0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x7d,0x01,0x7f,0x0c,0x91,0x84,
+0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x03,0x12,0x56,0x83,0x90,0x06,0x04,0xe0,0x54,0x7f,
+0xf0,0x90,0x06,0x0a,0xe0,0x54,0xf8,0xf0,0x22,0x90,0x01,0x36,0x74,0x7c,0xf0,0xa3,
+0x74,0x02,0xf0,0x7d,0x7c,0xff,0x12,0x3a,0xc5,0x7d,0x02,0x7f,0x03,0x12,0x3a,0xc5,
+0x90,0x06,0x04,0xe0,0x44,0x80,0xf0,0x90,0x06,0x0a,0xe0,0x44,0x07,0xf0,0x90,0x9e,
+0xa9,0xe0,0xa3,0xe0,0x90,0x05,0x58,0xf0,0xe5,0x67,0x30,0xe0,0x22,0x90,0x9e,0xa3,
+0xe0,0x70,0x21,0xe0,0x04,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x06,0x7d,
+0x01,0x7f,0x04,0x91,0x84,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x08,0x02,0x56,0x83,0xe4,
+0x90,0x9e,0xa3,0xf0,0x22,0x8b,0x13,0x8a,0x14,0x89,0x15,0x12,0x61,0xc6,0xab,0x13,
+0xaa,0x14,0xa9,0x15,0x12,0x1f,0x04,0xf5,0x6a,0x12,0x43,0x87,0x4d,0xd5,0x00,0x4d,
+0xdd,0x01,0x4d,0xf0,0x02,0x4e,0x04,0x03,0x4e,0x0a,0x04,0x4e,0x21,0x05,0x4e,0x39,
+0x06,0x00,0x00,0x4e,0x44,0x7f,0x01,0xb1,0x0c,0x7f,0x01,0x80,0x64,0xab,0x13,0xaa,
+0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xd1,0x54,0x80,0x18,
+0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01,0xd1,
+0x54,0x1f,0x80,0x04,0xd1,0x45,0xe4,0xff,0xa1,0x0c,0xab,0x13,0xaa,0x14,0xa9,0x15,
+0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xd1,0x54,0xb1,0x0c,0xe4,0xff,0x80,
+0x20,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01,
+0xd1,0x54,0x1f,0xb1,0x0c,0xe4,0xff,0x80,0x08,0xd1,0x45,0xe4,0xff,0xb1,0x0c,0xe4,
+0xff,0x12,0x61,0xd2,0x22,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,
+0x1d,0xfd,0x7f,0x02,0xef,0x24,0xfe,0x60,0x12,0x04,0x70,0x2f,0x90,0x9e,0xaf,0x74,
+0x01,0xf0,0x90,0x9e,0xa1,0xf0,0x90,0x9e,0xb2,0xf0,0x22,0xed,0x70,0x0a,0x90,0x9e,
+0xac,0xe0,0x90,0x9e,0xaf,0xf0,0x80,0x05,0x90,0x9e,0xaf,0xed,0xf0,0x90,0x9e,0xaf,
+0xe0,0x90,0x9e,0xa1,0xf0,0x90,0x9e,0xb2,0x74,0x01,0xf0,0x22,0xf4,0xff,0x90,0x00,
+0x63,0xe0,0x5f,0xf0,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x7f,0x10,0xdf,0xfe,0xd0,
+0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f,0x13,0xed,0xf0,
+0x90,0x9f,0x12,0xef,0xf0,0xd3,0x94,0x07,0x50,0x63,0xe0,0xff,0x74,0x01,0xa8,0x07,
+0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x47,0xe0,0x5f,0xf0,0xd1,
+0x94,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,
+0xfc,0xff,0x90,0x00,0x46,0xe0,0x4f,0xf0,0xd1,0x94,0x90,0x9f,0x13,0xe0,0x60,0x16,
+0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,
+0xff,0x90,0x00,0x45,0x80,0x60,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,
+0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x45,0x80,0x62,0x90,0x9f,0x12,
+0xe0,0x24,0xf8,0xf0,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,
+0xfc,0xd1,0x8c,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,
+0x33,0xd8,0xfc,0xff,0x90,0x00,0x62,0xe0,0x4f,0xf0,0xd1,0x94,0x90,0x9f,0x13,0xe0,
+0x60,0x18,0x90,0x9f,0x12,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,
+0xd8,0xfc,0xff,0x90,0x00,0x61,0xe0,0x4f,0x80,0x17,0x90,0x9f,0x12,0xe0,0xff,0x74,
+0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x61,0xe0,
+0x5f,0xf0,0xd1,0x94,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,
+0x8f,0x82,0x75,0x83,0x00,0xed,0xf0,0xd1,0x94,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x00,
+0x20,0xe0,0x44,0x01,0xfd,0x7f,0x20,0xf1,0x89,0x7f,0xf4,0x7e,0x01,0x12,0x3b,0x3b,
+0x90,0x00,0x00,0xe0,0x54,0xdf,0xfd,0xe4,0xff,0xf1,0x89,0x90,0x00,0x28,0xe0,0x44,
+0x03,0xfd,0x7f,0x28,0xf1,0x89,0x90,0x00,0x08,0xe0,0x54,0xef,0xfd,0x7f,0x08,0xf1,
+0x89,0xe4,0xff,0x12,0x6a,0x44,0x7f,0x64,0x7e,0x00,0x12,0x3b,0x3b,0x90,0x00,0x29,
+0xe0,0x44,0xc0,0xfd,0x7f,0x29,0x80,0xa1,0xe4,0x90,0x9e,0x9a,0xf0,0x90,0x00,0x80,
+0xe0,0x44,0x80,0xfd,0x7f,0x80,0x80,0x91,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,
+0x04,0x1d,0xe0,0x60,0x1a,0x90,0x05,0x22,0xe0,0x54,0x90,0x60,0x07,0x90,0x01,0xc6,
+0xe0,0x44,0x40,0xf0,0x90,0x01,0xc7,0xe0,0x30,0xe1,0xe4,0x7f,0x00,0x80,0x02,0x7f,
+0x01,0xd0,0xd0,0x92,0xaf,0x22,0xe0,0xff,0x7d,0x01,0xe4,0xfb,0xfa,0xef,0x30,0xe0,
+0x02,0x7b,0x80,0xef,0xc3,0x13,0x90,0xfd,0x10,0xf0,0x90,0x04,0x25,0xef,0xf0,0xed,
+0x60,0x0e,0x74,0x0f,0x2b,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x80,0xf0,
+0xaf,0x03,0x74,0x08,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe4,0xf0,0x74,0x09,
+0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf0,0xf0,0x74,0x21,0x2b,0xf5,
+0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf7,0xf0,0xae,0x02,0xaf,0x03,0x22,0xe0,
+0x54,0xef,0xf0,0x90,0xfd,0x63,0xe0,0x54,0x3f,0x25,0xe0,0x25,0xe0,0xff,0x90,0xfd,
+0x62,0xe0,0x54,0x03,0x4f,0x90,0x9e,0x5d,0xf0,0x90,0xfd,0x64,0xe0,0x54,0x3f,0x25,
+0xe0,0x25,0xe0,0xff,0x90,0xfd,0x63,0xe0,0x54,0x03,0x4f,0x90,0x9e,0x5e,0xf0,0x90,
+0x9e,0x5d,0xe0,0xfd,0xa3,0xe0,0xfb,0xe4,0xff,0x90,0x9e,0x62,0xef,0xf0,0xa3,0xed,
+0xf0,0xa3,0xeb,0xf0,0x12,0x4f,0xf8,0xef,0x64,0x01,0x60,0x02,0x21,0x6a,0x90,0x9e,
+0x99,0x11,0x26,0x90,0x9e,0x62,0xe0,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,
+0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,
+0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0xad,0x07,0x74,0x06,0x2d,0xf5,0x82,0xe4,0x34,
+0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x74,0x11,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,
+0x83,0xe0,0x54,0xef,0xf0,0xad,0x07,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,
+0x83,0xe0,0x44,0x02,0xf0,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,
+0x54,0x03,0xf0,0x90,0x9e,0x63,0xe0,0xfd,0xac,0x07,0x74,0x22,0x2c,0xf5,0x82,0xe4,
+0x34,0xfc,0xf5,0x83,0xed,0xf0,0x90,0x9e,0x64,0xe0,0xfd,0x74,0x23,0x2c,0xf5,0x82,
+0xe4,0x34,0xfc,0xf5,0x83,0xed,0xf0,0x74,0x24,0x2c,0xf5,0x82,0xe4,0x34,0xfc,0xf5,
+0x83,0xe0,0x04,0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xc0,0xe0,0xc0,0xf0,0xc0,
+0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,
+0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07,0x53,0x91,0xbf,0x90,0xfd,0x68,0xe0,0x20,
+0xe0,0x02,0x41,0xfb,0x90,0xfd,0x60,0xe0,0x64,0x0e,0x60,0x02,0x41,0x3f,0x90,0x9e,
+0x43,0xe0,0xff,0x13,0x13,0x13,0x54,0x1f,0x20,0xe0,0x02,0x41,0x3f,0x90,0xfd,0x62,
+0xe0,0x54,0xc0,0xfe,0x90,0x07,0x90,0xe0,0x54,0x3f,0x4e,0xf0,0x90,0xfd,0x63,0xe0,
+0x90,0x07,0x91,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x07,0x92,0xf0,0x90,0xfd,0x65,0xe0,
+0x90,0x07,0x93,0xf0,0x90,0x07,0x95,0x74,0x01,0xf0,0xef,0x20,0xe0,0x42,0x90,0x9e,
+0x43,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x18,0x90,0x07,0x78,0x11,0x7f,0x90,0x9e,
+0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x47,0x90,0x07,0x83,0xe0,0x44,0x40,0xf0,0x80,
+0x3e,0x90,0x9e,0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x10,0xe4,0xff,0x71,0x16,0x90,
+0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01,0xf0,0x90,0x07,0x78,0x80,0x13,
+0x90,0x9e,0x43,0xe0,0xff,0x13,0x13,0x54,0x3f,0x90,0x07,0x78,0x30,0xe0,0x04,0x11,
+0x7f,0x80,0x0c,0xe0,0x44,0x10,0xf0,0xe0,0x44,0x20,0xf0,0xe0,0x54,0xdf,0xf0,0x90,
+0xfd,0x60,0xe0,0xb4,0x0f,0x0b,0x90,0xfd,0x62,0xe0,0xff,0xa3,0xe0,0xfd,0x12,0x8f,
+0x02,0x90,0xfd,0x60,0xe0,0x64,0x15,0x70,0x64,0x90,0xfd,0x62,0xe0,0x90,0x9e,0x60,
+0xf0,0x90,0xfd,0x62,0xe0,0x30,0xe0,0x15,0x90,0x9e,0x60,0xe0,0xf4,0x54,0x3f,0x04,
+0xff,0x90,0x9e,0x4e,0xe0,0x13,0x13,0x54,0x3f,0xc3,0x9f,0x80,0x10,0x90,0x9e,0x4e,
+0xe0,0x13,0x13,0x54,0x3f,0xff,0x90,0x9e,0x60,0xe0,0x54,0x3f,0x2f,0x90,0x9e,0x5f,
+0xf0,0x90,0x9e,0x5f,0xe0,0xff,0x54,0x30,0xc4,0x54,0x0f,0xfe,0xef,0x25,0xe0,0x25,
+0xe0,0x4e,0x90,0x9e,0x61,0xf0,0x90,0x00,0x2e,0xf0,0x90,0x9e,0x5f,0xe0,0xc4,0x54,
+0xf0,0xff,0x90,0x9e,0x4f,0xe0,0x54,0x0f,0x4f,0x90,0x00,0x2d,0xf0,0x90,0xfd,0x60,
+0xe0,0xb4,0x16,0x08,0x90,0xfd,0x62,0xe0,0xff,0x12,0x8f,0x55,0x90,0xfd,0x60,0xe0,
+0xb4,0x21,0x08,0x90,0xfd,0x62,0xe0,0xff,0x12,0x8f,0x7d,0x90,0xfd,0x60,0xe0,0xb4,
+0x22,0x03,0x12,0x90,0x34,0x90,0xfd,0x60,0xe0,0xb4,0x23,0x08,0x90,0xfd,0x62,0xe0,
+0xff,0x12,0x90,0x11,0x90,0xfd,0x68,0xe0,0x44,0x01,0xf0,0xd0,0x07,0xd0,0x06,0xd0,
+0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0,0xd0,0xd0,0x82,0xd0,
+0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x90,0x9e,0x43,0xe0,0xc3,0x13,0x30,0xe0,0x16,0xef,
+0x7b,0x01,0xb4,0x01,0x06,0x7a,0x9e,0x79,0x4a,0x80,0x04,0x7a,0x9e,0x79,0x46,0x7f,
+0x80,0x7e,0x08,0xf1,0x70,0x22,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0,0xd0,
+0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05,0xc0,
+0x06,0xc0,0x07,0x90,0x01,0xc4,0x74,0x36,0xf0,0x74,0x53,0xa3,0xf0,0x53,0x91,0xdf,
+0x90,0x01,0x3c,0xe0,0x55,0x30,0xf5,0x34,0xa3,0xe0,0x55,0x31,0xf5,0x35,0xa3,0xe0,
+0x55,0x32,0xf5,0x36,0xa3,0xe0,0x55,0x33,0xf5,0x37,0xe5,0x34,0x30,0xe0,0x06,0x90,
+0x01,0x3c,0x74,0x01,0xf0,0xe5,0x34,0x30,0xe1,0x0b,0x90,0x01,0x3c,0x74,0x02,0xf0,
+0x12,0x6c,0xb1,0xf1,0xb7,0xe5,0x34,0x30,0xe2,0x36,0x90,0x01,0x3c,0x74,0x04,0xf0,
+0x90,0x06,0x92,0xe0,0x30,0xe0,0x21,0x75,0x48,0x00,0x90,0x9e,0xa6,0xe0,0xf5,0x49,
+0xe4,0xfb,0xfd,0x7f,0x58,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x5b,0x74,0x05,0xf0,
+0x90,0x06,0x92,0x74,0x01,0xf0,0x80,0x08,0x90,0x9e,0xae,0xe4,0xf0,0x12,0x44,0xe8,
+0xe5,0x34,0x30,0xe3,0x36,0x90,0x01,0x3c,0x74,0x08,0xf0,0x90,0x06,0x92,0xe0,0x30,
+0xe1,0x21,0x75,0x48,0x00,0x90,0x9e,0xa6,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c,
+0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02,
+0xf0,0x80,0x08,0x90,0x9e,0xad,0xe4,0xf0,0x12,0x44,0xe8,0xe5,0x34,0x30,0xe4,0x06,
+0x90,0x01,0x3c,0x74,0x10,0xf0,0xe5,0x34,0x30,0xe5,0x06,0x90,0x01,0x3c,0x74,0x20,
+0xf0,0xe5,0x35,0x30,0xe0,0x19,0x90,0x01,0x3d,0x74,0x01,0xf0,0x90,0x01,0x2f,0xe0,
+0x44,0x7f,0xf0,0x90,0x00,0x83,0xe0,0xf5,0x69,0x12,0x6b,0x1d,0x12,0x44,0xe8,0xe5,
+0x35,0x30,0xe2,0x0c,0x90,0x01,0x3d,0x74,0x04,0xf0,0x53,0x6b,0xfb,0x12,0x44,0xe8,
+0xe5,0x36,0x30,0xe0,0x69,0x90,0x01,0x3e,0x74,0x01,0xf0,0x90,0x9e,0xd7,0xe0,0x30,
+0xe0,0x12,0xa3,0xe0,0x64,0x03,0x60,0x0c,0x7f,0x01,0xd1,0x0b,0xef,0x60,0x05,0x7f,
+0x01,0x12,0x68,0x90,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x43,0xe4,0xff,0xd1,0x0b,0xef,
+0x60,0x3c,0xd1,0x2f,0x90,0x9e,0xd2,0xe0,0xff,0x64,0x06,0x60,0x31,0xef,0xb4,0x04,
+0x02,0x80,0x07,0x90,0x9e,0xd2,0xe0,0xb4,0x05,0x04,0xe4,0xff,0x80,0x14,0x90,0x9e,
+0xd2,0xe0,0xb4,0x03,0x04,0x7f,0x01,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x02,0x05,
+0x7f,0x01,0x12,0x62,0xa5,0x7d,0x01,0xaf,0x69,0x12,0x4c,0x84,0xd1,0x83,0xe5,0x36,
+0x30,0xe1,0x3b,0x90,0x01,0x3e,0x74,0x02,0xf0,0x90,0x9e,0xd7,0xe0,0x30,0xe0,0x12,
+0xa3,0xe0,0x64,0x03,0x60,0x0c,0x7f,0x01,0xd1,0x0b,0xef,0x70,0x05,0x7f,0x02,0x12,
+0x68,0x90,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x15,0x12,0x8b,0xdb,0x90,0x9e,0xd2,0xe0,
+0x64,0x06,0x60,0x0a,0xe4,0xff,0xd1,0x0b,0xef,0x70,0x03,0x12,0x67,0xbb,0xe5,0x36,
+0x30,0xe3,0x09,0x90,0x01,0x3e,0x74,0x08,0xf0,0x43,0x6b,0x04,0xe5,0x36,0x30,0xe4,
+0x06,0x90,0x01,0x3e,0x74,0x10,0xf0,0xe5,0x36,0x30,0xe2,0x72,0x90,0x01,0x3e,0x74,
+0x04,0xf0,0x90,0x07,0x8f,0xe0,0x30,0xe7,0x12,0x74,0x80,0xf0,0x90,0x07,0x95,0x74,
+0x04,0xf0,0xa3,0xe0,0x44,0x04,0xf0,0xe4,0xff,0x71,0x16,0x90,0x07,0x8f,0xe0,0x30,
+0xe6,0x12,0x74,0x40,0xf0,0x90,0x07,0x7c,0xe0,0xb4,0x06,0x08,0x90,0x07,0x80,0xe0,
+0xff,0x12,0x8f,0x2d,0x90,0x07,0x8f,0xe0,0x30,0xe5,0x13,0x74,0x20,0xf0,0xe4,0xff,
+0x71,0x16,0x90,0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01,0xf0,0x90,0x07,
+0x95,0xe0,0x30,0xe2,0x0c,0x74,0x04,0xf0,0xa3,0xe0,0x54,0xfb,0xf0,0x7f,0x01,0x71,
+0x16,0x90,0x07,0x95,0xe0,0x30,0xe0,0x06,0x74,0x01,0xf0,0xff,0x71,0x16,0xe5,0x36,
+0x30,0xe5,0x06,0x90,0x01,0x3e,0x74,0x20,0xf0,0xe5,0x36,0x30,0xe6,0x08,0x90,0x01,
+0x3e,0x74,0x40,0xf0,0xd1,0x19,0xe5,0x36,0x30,0xe7,0x0c,0x90,0x01,0x3e,0x74,0x80,
+0xf0,0x53,0x6b,0xfe,0x12,0x44,0xe8,0xe5,0x37,0x30,0xe1,0x09,0x90,0x01,0x3f,0x74,
+0x02,0xf0,0x43,0x57,0x80,0xe5,0x37,0x30,0xe4,0x1b,0x90,0x01,0x3f,0x74,0x10,0xf0,
+0xd1,0xc8,0x90,0x9e,0xaf,0xe0,0x90,0x05,0x73,0xf0,0x90,0x01,0x36,0x74,0x02,0xf0,
+0xfd,0xff,0x12,0x3a,0xc5,0x74,0x36,0x04,0x90,0x01,0xc4,0xf0,0x74,0x53,0xa3,0xf0,
+0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00,
+0xd0,0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x8f,0x6c,0x90,0x05,0x43,
+0xe0,0x7f,0x00,0x30,0xe7,0x02,0x7f,0x01,0x22,0x12,0x4f,0xf8,0xbf,0x01,0x0f,0x90,
+0x9e,0x96,0xe0,0xff,0xe4,0xfd,0x11,0x2a,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x90,
+0x9e,0xd1,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x0b,0xa3,0xe0,0x64,0x06,
+0x60,0x05,0x7f,0x06,0x12,0x62,0xa5,0x90,0x9e,0xd2,0xe0,0x64,0x06,0x60,0x02,0xd1,
+0x52,0x22,0x90,0x9e,0xd6,0xe0,0xb4,0x01,0x05,0xe4,0xf0,0x12,0x5d,0x03,0x22,0xae,
+0x07,0xe4,0xff,0xd1,0x0b,0xef,0x60,0x18,0x90,0x9e,0xd1,0xe0,0xc4,0x13,0x13,0x54,
+0x03,0x20,0xe0,0x0c,0xaf,0x06,0x7d,0x01,0x12,0x4c,0x84,0xd1,0x83,0x7f,0x01,0x22,
+0x7f,0x00,0x22,0x90,0x9e,0xd2,0xe0,0x64,0x06,0x60,0x3c,0xe5,0x68,0x54,0x0f,0x14,
+0x60,0x2e,0x14,0x60,0x1e,0x24,0xfe,0x60,0x0e,0x24,0xf8,0x70,0x2a,0xe4,0x90,0x9e,
+0xd2,0xf0,0x90,0x05,0x22,0xf0,0x22,0x90,0x9e,0xd2,0x74,0x01,0xf0,0x90,0x05,0x22,
+0xe4,0xf0,0x22,0x90,0x9e,0xd2,0x74,0x03,0xf0,0x90,0x05,0x22,0x74,0xff,0xf0,0x22,
+0x90,0x01,0xc6,0xe0,0x44,0x08,0xf0,0x22,0xe4,0x90,0x9f,0x16,0xf0,0xe5,0x6a,0x70,
+0x02,0xe1,0x6b,0xe5,0x67,0x64,0x01,0x60,0x02,0xe1,0x6b,0xe5,0x6a,0x14,0x60,0x28,
+0x24,0xfd,0x60,0x24,0x24,0x02,0x24,0xfb,0x50,0x02,0x80,0x22,0xe4,0x90,0x9e,0xa1,
+0xf0,0xe0,0x60,0x04,0xa3,0xe0,0x60,0x16,0x90,0x9e,0xa1,0xe0,0x70,0x0a,0x90,0x9e,
+0xaf,0xe0,0x90,0x9e,0xa1,0xf0,0x80,0x00,0x90,0x9f,0x16,0x74,0x01,0xf0,0x90,0x9e,
+0xd1,0xe0,0x30,0xe0,0x15,0xa3,0xe0,0xb4,0x06,0x05,0xe4,0x90,0x9f,0x16,0xf0,0xe4,
+0xff,0xd1,0x0b,0xef,0x70,0x04,0x90,0x9f,0x16,0xf0,0x90,0x9f,0x16,0xe0,0x60,0x3b,
+0x43,0x6b,0x10,0xe4,0xf5,0x48,0x90,0x9e,0xab,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,
+0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x68,0x54,0x0f,
+0xc3,0x94,0x04,0x50,0x07,0x7d,0x01,0x7f,0x04,0x12,0x4c,0x84,0x90,0x9e,0xd1,0xe0,
+0x30,0xe0,0x08,0xd1,0x83,0x90,0x05,0x22,0x74,0xff,0xf0,0x22,0x7f,0x70,0x7e,0x08,
+0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0,0xee,
+0x44,0xf0,0xa3,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x01,0xec,0xf0,0x90,0x00,
+0x02,0x12,0x1f,0x1d,0x90,0x01,0xed,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x01,
+0xee,0xf0,0x12,0x1f,0x04,0x90,0x01,0xef,0xf0,0x90,0x01,0xeb,0x74,0x40,0xf0,0x12,
+0x5f,0x3e,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0x51,0xe0,0xff,0x90,0x9e,0x50,0xe0,
+0x5f,0x60,0x24,0x12,0x5d,0x8a,0xef,0x54,0x9f,0xff,0xec,0x90,0x9f,0x01,0x12,0x1f,
+0xd7,0x7b,0x01,0x7a,0x9f,0x79,0x01,0xf1,0x6c,0x90,0x00,0x40,0x74,0x24,0xf0,0xe5,
+0x6a,0x70,0x04,0x90,0x01,0x57,0xf0,0x22,0x12,0x4f,0xf8,0xbf,0x01,0x0f,0x90,0x02,
+0x09,0xe0,0xff,0x7d,0x01,0x11,0x2a,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x75,0x28,
+0x33,0xe4,0xf5,0x29,0x75,0x2a,0x07,0xf5,0x2b,0x90,0x01,0x30,0xe5,0x28,0xf0,0xa3,
+0xe5,0x29,0xf0,0xa3,0xe5,0x2a,0xf0,0xa3,0xe5,0x2b,0xf0,0x22,0x75,0x30,0x1f,0x75,
+0x31,0x01,0xe4,0xf5,0x32,0x43,0x32,0x20,0x90,0x01,0x38,0xe5,0x30,0xf0,0xa3,0xe5,
+0x31,0xf0,0xa3,0xe5,0x32,0xf0,0x22,0x90,0x01,0x30,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0x90,0x01,0x38,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xfd,0x7f,0x50,0x12,
+0x4f,0x89,0xe4,0xfd,0x7f,0x51,0x12,0x4f,0x89,0xe4,0xfd,0x7f,0x52,0x12,0x4f,0x89,
+0xe4,0xfd,0x7f,0x53,0x02,0x4f,0x89,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0,
+0xd0,0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05,
+0xc0,0x06,0xc0,0x07,0x90,0x01,0xc4,0x74,0x67,0xf0,0x74,0x58,0xa3,0xf0,0x90,0x01,
+0x34,0xe0,0x55,0x28,0xf5,0x2c,0x90,0x01,0x36,0xe0,0x55,0x2a,0xf5,0x2e,0xa3,0xe0,
+0x55,0x2b,0xf5,0x2f,0xe5,0x2c,0x20,0xe0,0x02,0x41,0x20,0x90,0x01,0x34,0x74,0x01,
+0xf0,0x85,0xd1,0x4d,0x85,0xd3,0x4f,0x85,0xd4,0x50,0x85,0xd5,0x51,0x85,0xd6,0x52,
+0x85,0xd7,0x53,0x85,0xd9,0x54,0x85,0xd2,0x4e,0x78,0x8d,0x7c,0x9e,0xfd,0x7b,0x00,
+0x7a,0x00,0x79,0x4d,0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde,0x90,0x9e,0x8e,0xe0,0xff,
+0xc4,0x13,0x54,0x01,0xfe,0xef,0xc4,0x13,0x13,0x54,0x01,0x6e,0x70,0x02,0x21,0xcf,
+0x90,0x9e,0x8e,0xe0,0xff,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x02,0x21,0xcf,
+0xef,0x54,0x1f,0xf5,0x08,0x90,0x9e,0x8f,0xe0,0x54,0x3f,0xf5,0x09,0x90,0x9e,0x91,
+0xe0,0x54,0x1f,0xff,0xe5,0x08,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,
+0x83,0xe4,0x8f,0xf0,0x12,0x42,0x54,0xe5,0x09,0xd3,0x94,0x04,0x40,0x03,0x75,0x09,
+0x04,0x75,0xf0,0x0a,0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75,0xf0,0x02,0xe5,
+0x09,0x12,0x43,0x52,0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0x91,0xe0,0x54,0x1f,0x2f,
+0xff,0xe4,0x3e,0xfe,0x75,0xf0,0x0a,0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75,
+0xf0,0x02,0xe5,0x09,0x12,0x43,0x52,0xee,0xf0,0xa3,0xef,0xf0,0x90,0x9e,0x8e,0xe0,
+0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x28,0x90,0x9e,0x91,0xe0,0x54,0x1f,0xff,0xe5,
+0x08,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0x8f,0xf0,0x12,
+0x42,0x54,0x90,0x9e,0x90,0xe0,0x30,0xe7,0x36,0xaf,0x08,0x12,0x6d,0xe9,0x80,0x2f,
+0x90,0x9e,0x91,0xe0,0x54,0x1f,0xff,0xfd,0xe5,0x08,0x25,0xe0,0x24,0x44,0xf5,0x82,
+0xe4,0x34,0x99,0xf5,0x83,0xe4,0x8d,0xf0,0x12,0x42,0x54,0x90,0x9e,0x90,0xe0,0xfe,
+0x30,0xe7,0x0c,0x54,0x7f,0xfd,0x8f,0x0d,0xab,0x09,0xaf,0x08,0x12,0x6d,0x86,0xe5,
+0x6a,0x14,0x24,0xfd,0x50,0x02,0x80,0x45,0x90,0x9e,0xb0,0xe0,0x60,0x37,0x90,0x01,
+0x5b,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x04,0xf0,0x91,0xea,0xef,0x64,0x01,0x70,0x2d,
+0x90,0x9e,0xa6,0xe0,0xf5,0x48,0x75,0x49,0x00,0xe4,0xfb,0xfd,0x7f,0x58,0x7e,0x01,
+0x12,0x39,0xa9,0x90,0x01,0x5b,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x01,0xf0,0x90,
+0x9e,0xae,0xf0,0x80,0x08,0x91,0xea,0xbf,0x01,0x03,0x12,0x44,0xe8,0x12,0x47,0x91,
+0xe5,0x2c,0x30,0xe1,0x7b,0x90,0x01,0x34,0x74,0x02,0xf0,0x90,0xfd,0x10,0x74,0x7f,
+0xf0,0x90,0x04,0x7f,0xe0,0x54,0x07,0xf5,0x55,0x90,0x04,0x7e,0xe0,0x54,0x07,0xf5,
+0x56,0x65,0x55,0x60,0x5b,0xe4,0xff,0x75,0xf0,0x08,0xe5,0x55,0xa4,0x2f,0xf5,0x82,
+0xe4,0x35,0xf0,0xf5,0x83,0xe5,0x82,0x24,0xc0,0xf5,0x82,0xe5,0x83,0x34,0xfc,0xf5,
+0x83,0xe0,0xfe,0x74,0x58,0x2f,0xf8,0xa6,0x06,0x0f,0xbf,0x08,0xda,0x78,0x84,0x7c,
+0x9e,0x7d,0x01,0x7b,0x00,0x7a,0x00,0x79,0x58,0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde,
+0x90,0x9e,0x84,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x02,0xb1,0xe3,0xe5,
+0x55,0x24,0x01,0xff,0xef,0x54,0x07,0xf5,0x55,0x90,0x04,0x7f,0xf0,0xb5,0x56,0xa5,
+0xe5,0x2c,0x30,0xe3,0x10,0x90,0x01,0x34,0x74,0x08,0xf0,0x90,0x9e,0xbc,0xe0,0x30,
+0xe0,0x03,0x43,0x57,0x04,0xe5,0x2c,0x30,0xe4,0x09,0x90,0x01,0x34,0x74,0x10,0xf0,
+0x43,0x57,0x10,0xe5,0x2c,0x30,0xe5,0x25,0x90,0x01,0xcf,0xe0,0x30,0xe5,0x1e,0xe0,
+0x54,0xdf,0xf0,0x90,0x01,0x34,0x74,0x20,0xf0,0x75,0xa8,0x00,0x75,0xe8,0x00,0x11,
+0x37,0x90,0x00,0x03,0xe0,0x54,0xfb,0xf0,0x12,0x4e,0x94,0x80,0xfe,0xe5,0x2c,0x30,
+0xe6,0x06,0x90,0x01,0x34,0x74,0x40,0xf0,0xe5,0x2e,0x30,0xe0,0x41,0x90,0x9e,0x9c,
+0x74,0x01,0xf0,0x90,0x01,0x36,0xf0,0xb1,0x43,0xd1,0x05,0x90,0x9e,0xd7,0xe0,0x30,
+0xe0,0x0d,0x13,0x13,0x54,0x3f,0x30,0xe0,0x06,0x90,0x9e,0xd9,0x74,0x01,0xf0,0x90,
+0x9e,0xd1,0xe0,0xff,0x30,0xe0,0x0d,0x13,0x13,0x54,0x3f,0x30,0xe0,0x06,0x90,0x9e,
+0xd3,0x74,0x01,0xf0,0x12,0x56,0xc8,0xd1,0x36,0x90,0x9e,0x9c,0xe4,0xf0,0xe5,0x2e,
+0x30,0xe1,0x5f,0x90,0x01,0x36,0x74,0x02,0xf0,0x43,0x57,0x40,0x90,0x01,0x02,0xe0,
+0x54,0x03,0x64,0x01,0x70,0x29,0x90,0x01,0x37,0xe0,0x30,0xe0,0x0a,0x74,0x01,0xf0,
+0x90,0x9e,0x8c,0xe4,0xf0,0x80,0x18,0x90,0x9e,0x8c,0xe0,0x04,0xf0,0xe0,0xc3,0x94,
+0x0a,0x40,0x0c,0xe4,0xf0,0x90,0x04,0x19,0xe0,0x30,0xe0,0x03,0x12,0x57,0xe8,0x90,
+0x9e,0xd1,0xe0,0x30,0xe0,0x0d,0xe4,0xff,0x12,0x56,0x0b,0xef,0x60,0x05,0x90,0x05,
+0x22,0xe4,0xf0,0xd1,0x6c,0x90,0x9e,0xb2,0xe0,0x60,0x07,0x7d,0x02,0x7f,0x02,0x12,
+0x3a,0x54,0xe5,0x2e,0x30,0xe2,0x46,0x90,0x01,0x36,0x74,0x04,0xf0,0x90,0x9e,0xd1,
+0xe0,0x30,0xe0,0x06,0xa3,0xe0,0x64,0x06,0x60,0x30,0x12,0x6b,0xe1,0x90,0x9e,0xb2,
+0xe0,0x60,0x27,0x90,0x9e,0xaf,0xe0,0xff,0x90,0x9e,0xa1,0xe0,0xb5,0x07,0x1b,0x90,
+0x9e,0xaf,0xe0,0x90,0x05,0x73,0xf0,0x90,0x01,0x3f,0x74,0x10,0xf0,0xfd,0x7f,0x03,
+0x12,0x3a,0xdf,0x7d,0x01,0x7f,0x02,0x12,0x3a,0x54,0x12,0x57,0xb7,0xe5,0x2e,0x30,
+0xe3,0x34,0x90,0x01,0x36,0x74,0x08,0xf0,0xe5,0x67,0x64,0x01,0x70,0x28,0xe5,0x6a,
+0x60,0x24,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x75,0x48,0x00,
+0x90,0x9e,0xa8,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,
+0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x2e,0x30,0xe4,0x2b,0x90,0x01,0x36,0x74,0x10,
+0xf0,0xe5,0x67,0xb4,0x01,0x20,0xe5,0x6a,0x60,0x1c,0x90,0x01,0x57,0xe4,0xf0,0x90,
+0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0xb1,0xe4,0xf0,0x53,0x6b,0xfd,0xe5,0x6b,0x54,
+0x07,0x70,0x03,0x12,0x44,0xe8,0xe5,0x2e,0x30,0xe5,0x1e,0x90,0x01,0x36,0x74,0x20,
+0xf0,0xe5,0x67,0xb4,0x01,0x13,0xe5,0x6a,0x60,0x0f,0x90,0x9e,0xb0,0xe0,0x64,0x02,
+0x60,0x05,0x12,0x56,0x19,0x80,0x02,0xd1,0xf4,0xe5,0x2e,0x30,0xe6,0x1b,0x90,0x01,
+0x36,0x74,0x40,0xf0,0xe5,0x67,0xb4,0x01,0x10,0xe5,0x6a,0x60,0x0c,0x53,0x6b,0xfe,
+0xe5,0x6b,0x54,0x07,0x70,0x03,0x12,0x44,0xe8,0xe5,0x2f,0x30,0xe1,0x26,0x90,0x01,
+0x37,0x74,0x02,0xf0,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x17,0xe4,0xff,0x12,0x56,0x0b,
+0xef,0x60,0x07,0xb1,0x03,0x12,0x56,0x83,0x80,0x0a,0x90,0x9e,0xd6,0x74,0x01,0xf0,
+0x80,0x02,0xb1,0x03,0x74,0x67,0x04,0x90,0x01,0xc4,0xf0,0x74,0x58,0xa3,0xf0,0xd0,
+0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0,
+0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x90,0x04,0x1a,0xe0,0xf4,0x60,
+0x03,0x7f,0x00,0x22,0x90,0x04,0x1b,0xe0,0x54,0x07,0x64,0x07,0x7f,0x01,0x60,0x02,
+0x7f,0x00,0x22,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0xe5,0x6a,0x14,0x24,0xfd,0x50,
+0x06,0x24,0xfd,0x50,0x1d,0x80,0x2b,0x90,0x9e,0xb0,0xe0,0x60,0x06,0x7d,0x01,0x7f,
+0x0c,0x80,0x1c,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x16,0x7d,0x01,0x7f,0x04,
+0x80,0x0d,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x07,0x7d,0x01,0x7f,0x04,0x12,
+0x4c,0x84,0x22,0x90,0x9e,0x51,0xe0,0xff,0x90,0x9e,0x50,0xe0,0x5f,0x60,0x3a,0x90,
+0x00,0x40,0x74,0x04,0xf0,0xb1,0x8a,0xef,0x44,0x60,0xff,0xec,0x90,0x9e,0x52,0x12,
+0x1f,0xd7,0x7f,0x60,0x7e,0x08,0xb1,0x8e,0xef,0x44,0x20,0xff,0xec,0x90,0x9e,0x56,
+0x12,0x1f,0xd7,0x7b,0x01,0x7a,0x9e,0x79,0x52,0x12,0x57,0x6c,0x7b,0x01,0x7a,0x9e,
+0x79,0x56,0x7f,0x60,0x7e,0x08,0x12,0x57,0x70,0x22,0x7f,0x70,0x7e,0x08,0xd3,0x10,
+0xaf,0x01,0xc3,0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0,0xee,0xa3,0xf0,
+0x90,0x01,0xeb,0x74,0x80,0xf0,0xf1,0x3e,0x90,0x01,0xec,0xe0,0xff,0x90,0x9f,0x05,
+0x12,0x43,0x5e,0x90,0x00,0x03,0xef,0x12,0x42,0x32,0x90,0x01,0xed,0xe0,0x90,0x00,
+0x02,0x12,0x42,0x32,0x90,0x01,0xee,0xe0,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x01,
+0xef,0xe0,0x12,0x42,0x20,0x90,0x9f,0x05,0x12,0x43,0x5e,0x12,0x43,0x26,0xd0,0xd0,
+0x92,0xaf,0x22,0x90,0x9e,0x52,0xe0,0x54,0xf0,0x44,0x03,0xf0,0x54,0x0f,0x44,0x80,
+0xf0,0x7b,0x00,0x7a,0x00,0x79,0x58,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x0b,0x7a,0x9e,
+0x79,0x52,0x02,0x48,0xde,0x90,0x9e,0x51,0xe0,0xff,0x90,0x9e,0x50,0xe0,0x5f,0xff,
+0xe5,0x6a,0x7e,0x00,0x70,0x02,0x7e,0x01,0xee,0x5f,0x60,0x19,0xe4,0xf5,0x48,0x90,
+0x9e,0xab,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,
+0x01,0x57,0x74,0x05,0xf0,0x22,0x90,0x9e,0xb9,0xe0,0x30,0xe0,0x2e,0xe5,0x67,0xb4,
+0x01,0x29,0x90,0x9e,0xb3,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x0b,0x90,0x9e,0xbb,0xe0,
+0x04,0xf0,0xe4,0x90,0x9e,0xb3,0xf0,0x90,0x9e,0xbb,0xe0,0xff,0x90,0x9e,0xba,0xe0,
+0xb5,0x07,0x08,0x12,0x44,0xd1,0xe4,0x90,0x9e,0xbb,0xf0,0x22,0x90,0x9e,0xb4,0xe0,
+0x30,0xe0,0x38,0xe5,0x67,0x64,0x01,0x70,0x32,0x90,0x9e,0xb7,0xe0,0x04,0xf0,0xe0,
+0xff,0x90,0x9e,0xb5,0xe0,0xb5,0x07,0x23,0x90,0x06,0x92,0xe0,0x54,0x1c,0x70,0x0b,
+0x12,0x44,0xd1,0x90,0x9e,0xb8,0xe0,0x04,0xf0,0x80,0x0b,0x90,0x06,0x92,0x74,0x1c,
+0xf0,0xe4,0x90,0x9e,0xb8,0xf0,0xe4,0x90,0x9e,0xb7,0xf0,0x22,0x91,0xea,0xef,0x64,
+0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01,0xf0,0x80,0x30,0x90,0x9e,0xae,0xe0,0x60,
+0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x22,0x90,0x9e,0xad,0xe0,0x60,0x08,0x90,
+0x01,0xb9,0x74,0x04,0xf0,0x80,0x14,0xe5,0x69,0x54,0x0f,0xd3,0x94,0x04,0x40,0x08,
+0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x08,
+0xf0,0x7f,0x00,0x22,0x90,0x01,0x5f,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x08,0xf0,0xe4,
+0xf5,0x48,0x90,0x9e,0xa6,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c,0x7e,0x01,0x12,
+0x39,0xa9,0x90,0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02,0xf0,0x90,0x9e,
+0xad,0x14,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x0c,0x50,0x11,0x7d,0x01,0x7f,0x0c,
+0x12,0x4c,0x84,0x90,0x9e,0xd1,0xe0,0x30,0xe0,0x03,0x12,0x56,0x83,0x22,0xe4,0x90,
+0x9f,0x0c,0xf0,0xa3,0xf0,0x90,0x01,0xeb,0xe0,0x54,0xc0,0x60,0x43,0xc3,0x90,0x9f,
+0x0d,0xe0,0x94,0x88,0x90,0x9f,0x0c,0xe0,0x94,0x13,0x40,0x0a,0x90,0x01,0xc6,0xe0,
+0x44,0x04,0xf0,0x7f,0x00,0x22,0x90,0x9f,0x0c,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,
+0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b,0xd3,0x90,0x9f,0x0d,0xe0,0x94,0x64,0x90,0x9f,
+0x0c,0xe0,0x94,0x00,0x40,0xbf,0x90,0x01,0xc7,0xe0,0x30,0xe2,0xb8,0x7f,0x00,0x22,
+0x7f,0x01,0x22,0x91,0xea,0xef,0x64,0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01,0xf0,
+0x80,0x4a,0xe5,0x6b,0x54,0x03,0x60,0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x3c,
+0xe5,0x69,0x54,0x0f,0xd3,0x94,0x02,0x40,0x08,0x90,0x01,0xb9,0x74,0x04,0xf0,0x80,
+0x2b,0xe5,0x6b,0x30,0xe2,0x08,0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x1e,0xe5,0x6b,
+0x30,0xe4,0x08,0x90,0x01,0xb9,0x74,0x10,0xf0,0x80,0x11,0x90,0x9e,0xa3,0xe0,0x60,
+0x08,0x90,0x01,0xb9,0x74,0x20,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,
+0x04,0xf0,0x7f,0x00,0x22,0x90,0x01,0x3c,0x74,0xff,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,
+0x01,0x34,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xfd,0x7f,0x54,0x12,0x4f,0x89,0x7d,
+0xff,0x7f,0x55,0x12,0x4f,0x89,0x7d,0xff,0x7f,0x56,0x12,0x4f,0x89,0x7d,0xff,0x7f,
+0x57,0x02,0x4f,0x89,0x90,0x00,0xf3,0xe0,0x7f,0x00,0x30,0xe3,0x03,0x7f,0x01,0x22,
+0x22,0xe4,0x90,0x9e,0x69,0xf0,0xa3,0xf0,0x90,0x01,0x98,0xe0,0x7f,0x00,0x30,0xe4,
+0x02,0x7f,0x01,0xef,0x64,0x01,0x60,0x3e,0xc3,0x90,0x9e,0x6a,0xe0,0x94,0x88,0x90,
+0x9e,0x69,0xe0,0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0,0x44,0x80,0xf0,0x22,0x90,
+0x9e,0x69,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b,
+0xd3,0x90,0x9e,0x6a,0xe0,0x94,0x32,0x90,0x9e,0x69,0xe0,0x94,0x00,0x40,0xb9,0x90,
+0x01,0xc7,0xe0,0x30,0xe0,0xb2,0x22,0x90,0x01,0x94,0xe0,0x44,0x01,0xf0,0x22,0x90,
+0x01,0x01,0xe0,0x44,0x04,0xf0,0x90,0x01,0x9c,0x74,0x7e,0xf0,0xa3,0x74,0x92,0xf0,
+0xa3,0x74,0xa0,0xf0,0xa3,0x74,0x24,0xf0,0x90,0x01,0x9b,0x74,0x49,0xf0,0x90,0x01,
+0x9a,0x74,0xe0,0xf0,0x90,0x01,0x99,0xe4,0xf0,0x90,0x01,0x98,0x04,0xf0,0x22,0xc0,
+0xe0,0xc0,0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x05,0xc0,0x06,0xc0,0x07,
+0x7d,0xbf,0x90,0x01,0xc4,0xed,0xf0,0x74,0x60,0xff,0xa3,0xf0,0x53,0x91,0xef,0x90,
+0x00,0x51,0xe0,0xfe,0x90,0x00,0x55,0xe0,0x5e,0xf5,0x3d,0xe5,0x3d,0x30,0xe6,0x03,
+0x74,0x40,0xf0,0xe5,0x3d,0x30,0xe7,0x06,0x90,0x00,0x55,0x74,0x80,0xf0,0x90,0x01,
+0xc4,0xed,0xf0,0xa3,0xef,0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0xd0,0xd0,0x82,
+0xd0,0x83,0xd0,0xe0,0x32,0x8f,0x1f,0x8c,0x20,0x8d,0x21,0x22,0x8f,0x22,0x8c,0x23,
+0x8d,0x24,0x22,0xe4,0x90,0x9e,0x69,0xf0,0xa3,0xf0,0x90,0x02,0x86,0xe0,0x20,0xe1,
+0x2c,0xc3,0x90,0x9e,0x6a,0xe0,0x94,0xd0,0x90,0x9e,0x69,0xe0,0x94,0x07,0x40,0x0a,
+0x90,0x01,0xc6,0xe0,0x44,0x20,0xf0,0x7f,0x00,0x22,0x90,0x9e,0x69,0xe4,0x75,0xf0,
+0x01,0x12,0x42,0x54,0x7f,0x0a,0x7e,0x00,0x12,0x3b,0x3b,0x80,0xcd,0x7f,0x01,0x22,
+0xe4,0xf5,0x67,0xf5,0x6b,0xf5,0x6a,0x75,0x69,0x0c,0x75,0x68,0x0c,0x90,0x9e,0xb0,
+0xf0,0x90,0x9e,0xae,0xf0,0x90,0x9e,0xad,0xf0,0x90,0x9e,0xaf,0x04,0xf0,0x90,0x9e,
+0xa1,0xf0,0xe4,0x90,0x9e,0xb1,0xf0,0x90,0x9e,0xa3,0xf0,0x90,0x9e,0xab,0x74,0x07,
+0xf0,0xe4,0x90,0x9e,0xa2,0xf0,0x90,0x9e,0xa9,0xf0,0xa3,0x74,0x0b,0xf0,0x90,0x9e,
+0xa7,0x74,0x01,0xf0,0xa3,0x74,0x03,0xf0,0x90,0x9e,0xa6,0x74,0x14,0xf0,0x90,0x9e,
+0xac,0x74,0x05,0xf0,0xe4,0x90,0x9e,0xa5,0xf0,0x90,0x9e,0xa0,0xf0,0x90,0x9e,0x9c,
+0xf0,0x90,0x9e,0xb2,0xf0,0x22,0xe4,0x90,0x9e,0xb1,0xf0,0x90,0x9e,0xa2,0xf0,0xf5,
+0x6b,0x22,0xef,0xb4,0x01,0x07,0x7d,0xc8,0x7f,0x02,0x02,0x3a,0x71,0x7d,0x60,0x7f,
+0x02,0x12,0x3a,0x54,0x90,0x01,0x3d,0x74,0x04,0xf0,0xa3,0x74,0xc8,0xf0,0x7d,0x04,
+0x7f,0x01,0x12,0x3a,0xdf,0x7d,0xc8,0x7f,0x02,0x02,0x3a,0xdf,0xe5,0x57,0x60,0x08,
+0x90,0x01,0xb9,0x74,0x01,0xf0,0x80,0x61,0xe5,0x69,0x54,0x0f,0xd3,0x94,0x01,0x40,
+0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x50,0x90,0x02,0x87,0xe0,0x60,0x08,0x90,
+0x01,0xb9,0x74,0x04,0xf0,0x80,0x42,0x90,0x9e,0x9b,0xe0,0xb4,0x01,0x10,0x90,0x9e,
+0x82,0xe0,0xfe,0xa3,0xe0,0xf5,0x82,0x8e,0x83,0xe0,0x60,0x1c,0x80,0x2b,0x90,0x9e,
+0x9b,0xe0,0x70,0x14,0x90,0x9d,0xa9,0xe0,0xff,0x90,0x9d,0xa8,0xe0,0x6f,0x60,0x08,
+0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x11,0x90,0x9e,0xa5,0xe0,0x70,0x08,0x90,0x01,
+0xb9,0x74,0x10,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x02,0xf0,0x7f,
+0x00,0x22,0x90,0x06,0x04,0xe0,0x54,0xbf,0xf0,0xef,0x60,0x0a,0xe5,0x67,0xb4,0x01,
+0x05,0xe4,0xff,0x12,0x47,0xd6,0x53,0x68,0xf0,0x43,0x68,0x0c,0x90,0x9e,0xd1,0xe0,
+0x30,0xe0,0x07,0x90,0x05,0x27,0xe0,0x54,0x7f,0xf0,0x22,0x7f,0x01,0x51,0x72,0xe4,
+0x90,0x9e,0xd2,0xf0,0x22,0x90,0x9e,0xd2,0xe0,0xfe,0x6f,0x70,0x02,0x81,0x59,0xef,
+0x12,0x43,0x87,0x62,0xcc,0x00,0x63,0x00,0x01,0x63,0x3e,0x02,0x63,0x77,0x03,0x63,
+0xae,0x04,0x63,0xe6,0x05,0x64,0x20,0x06,0x00,0x00,0x64,0x59,0xee,0xb4,0x04,0x04,
+0x7f,0x01,0x81,0x8e,0x90,0x9e,0xd2,0xe0,0xff,0xb4,0x05,0x02,0x81,0x63,0xef,0xb4,
+0x06,0x06,0x7f,0x01,0x91,0x78,0x80,0x16,0x90,0x9e,0xd2,0xe0,0xb4,0x03,0x06,0x7f,
+0x01,0x91,0x5a,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x02,0x02,0x91,0x6d,0x80,0x9b,
+0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01,0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2,
+0xe0,0xb4,0x05,0x02,0x91,0x63,0x90,0x9e,0xd2,0xe0,0x70,0x02,0x81,0xa6,0x90,0x9e,
+0xd2,0xe0,0xfe,0xb4,0x06,0x04,0x7f,0x01,0x81,0x78,0xee,0xb4,0x03,0x04,0x7f,0x01,
+0x81,0x5a,0x90,0x9e,0xd2,0xe0,0x64,0x02,0x60,0x02,0x81,0x59,0x81,0x6d,0x90,0x9e,
+0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01,0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,
+0x05,0x02,0x91,0x63,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x91,0xa6,0x80,0x16,0x90,0x9e,
+0xd2,0xe0,0xfe,0xb4,0x06,0x06,0x7f,0x01,0x91,0x78,0x80,0x08,0xee,0xb4,0x03,0x04,
+0x7f,0x01,0x91,0x5a,0x02,0x8b,0xba,0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01,
+0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x05,0x02,0x91,0x63,0x90,0x9e,0xd2,
+0xe0,0x70,0x04,0x91,0xa6,0x80,0x14,0x90,0x9e,0xd2,0xe0,0xfe,0xb4,0x06,0x06,0xe4,
+0xff,0x91,0x78,0x80,0x06,0xee,0xb4,0x02,0x02,0x91,0x6d,0x02,0x68,0x4a,0x90,0x9e,
+0xd2,0xe0,0xfe,0xb4,0x06,0x06,0xe4,0xff,0x91,0x78,0x80,0x13,0xee,0xb4,0x03,0x06,
+0x7f,0x01,0x91,0x5a,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x02,0x02,0x91,0x6d,0x90,
+0x9e,0xd2,0xe0,0xb4,0x01,0x04,0x51,0x9b,0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x05,
+0x02,0x91,0x63,0x02,0x6a,0x3b,0x90,0x9e,0xd2,0xe0,0xfe,0xb4,0x06,0x06,0xe4,0xff,
+0x91,0x78,0x80,0x13,0xee,0xb4,0x03,0x06,0x7f,0x01,0x91,0x5a,0x80,0x09,0x90,0x9e,
+0xd2,0xe0,0xb4,0x02,0x02,0x91,0x6d,0x90,0x9e,0xd2,0xe0,0xb4,0x01,0x04,0x51,0x9b,
+0x80,0x0b,0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x04,0x7f,0x01,0x91,0x8e,0x02,0x8b,0xad,
+0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x06,0x7f,0x01,0x91,0x8e,0x80,0x09,0x90,0x9e,0xd2,
+0xe0,0xb4,0x05,0x02,0x91,0x63,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x91,0xa6,0x80,0x16,
+0x90,0x9e,0xd2,0xe0,0xb4,0x03,0x06,0xe4,0xff,0x91,0x5a,0x80,0x09,0x90,0x9e,0xd2,
+0xe0,0xb4,0x02,0x02,0x91,0x6d,0x12,0x8b,0xc7,0x22,0xf1,0x85,0x90,0x9e,0xd2,0x74,
+0x01,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd2,0xf0,0x22,0x90,0x05,0x22,
+0xe4,0xf0,0x90,0x9e,0xd2,0x04,0xf0,0x22,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0xef,
+0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd2,0x74,0x01,0xf0,0x22,0x90,0x9f,
+0x18,0xef,0xf0,0xf1,0x9e,0x90,0x9f,0x18,0xe0,0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,
+0xe4,0x90,0x9e,0xd2,0xf0,0x22,0x12,0x68,0x03,0x90,0x9e,0xd2,0x74,0x01,0xf0,0x22,
+0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0x74,0x12,0x43,0x7e,0xe4,0x90,0x9e,
+0x77,0xf0,0x12,0x1f,0x04,0xc3,0x13,0x20,0xe0,0x02,0xc1,0x06,0x90,0x9e,0x74,0x12,
+0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xd7,0xe0,0x54,0xfd,0x4e,
+0xfe,0xf0,0xef,0x54,0x01,0xff,0xee,0x54,0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe,
+0x54,0x08,0xfd,0xef,0x54,0xf7,0x4d,0xff,0x90,0x9e,0xd7,0xf0,0xee,0x54,0x10,0xfe,
+0xef,0x54,0xef,0x4e,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54,0x20,0xfd,0xef,0x54,0xdf,
+0x4d,0xff,0x90,0x9e,0xd7,0xf0,0xee,0x54,0x40,0xfe,0xef,0x54,0xbf,0x4e,0xf0,0x20,
+0xe0,0x02,0xa1,0xf5,0xf1,0x5a,0x90,0x9e,0x77,0x74,0x21,0xf0,0x90,0x9e,0x74,0x12,
+0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x54,0x01,0xfe,0x90,0x9e,0xd7,0xe0,0xfd,
+0x13,0x13,0x54,0x01,0x6e,0x60,0x31,0xef,0x54,0x04,0xff,0xed,0x54,0xfb,0x4f,0xf0,
+0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x15,0x90,0x01,0x34,0x74,0x40,0xf0,0xfd,0xe4,
+0xff,0x12,0x3a,0xc5,0x90,0x9e,0x77,0xe0,0x44,0x08,0xf0,0x80,0x0b,0xe4,0x90,0x9e,
+0xd9,0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54,0x90,0x9e,0xd7,0xe0,0xfd,0x13,0x13,0x13,
+0x54,0x1f,0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x12,0xf0,0xed,0xc4,0x54,0x0f,
+0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x14,0xf0,0x90,0x9e,0xd7,0xe0,0xc4,0x13,
+0x54,0x07,0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x80,0xf0,0x90,0x9e,0xd7,0xe0,
+0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x40,0xf0,0x90,
+0x9e,0x77,0xe0,0x90,0x05,0x27,0xf0,0x90,0x9e,0xd8,0xe0,0x70,0x05,0x7f,0x01,0x12,
+0x68,0x90,0x90,0x9e,0xd7,0xe0,0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x04,0x7f,0x03,
+0x80,0x0e,0x7f,0x01,0x12,0x56,0x0b,0xef,0x60,0x04,0x7f,0x01,0x80,0x02,0x7f,0x02,
+0x12,0x68,0x90,0xe1,0x55,0x90,0x9e,0x77,0x74,0x01,0xf0,0x90,0x05,0x27,0xf0,0xe4,
+0xff,0x12,0x68,0x90,0xe1,0x53,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,
+0x54,0x02,0xfe,0x90,0x9e,0xd1,0xe0,0x54,0xfd,0x4e,0xfe,0xf0,0xef,0x54,0x01,0xff,
+0xee,0x54,0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54,0x08,0xfd,0xef,0x54,0xf7,
+0x4d,0xff,0x90,0x9e,0xd1,0xf0,0xee,0x54,0x10,0xfe,0xef,0x54,0xef,0x4e,0xff,0xf0,
+0x12,0x1f,0x04,0x54,0x40,0xfe,0xef,0x54,0xbf,0x4e,0x90,0x9e,0xd1,0xf0,0x20,0xe0,
+0x02,0xe1,0x26,0xf1,0x5a,0x90,0x9e,0x77,0x74,0x31,0xf0,0x90,0x9e,0x74,0x12,0x43,
+0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x54,0x01,0xfe,0x90,0x9e,0xd1,0xe0,0xfd,0x13,
+0x13,0x54,0x01,0x6e,0x60,0x31,0xef,0x54,0x04,0xff,0xed,0x54,0xfb,0x4f,0xf0,0xe0,
+0x13,0x13,0x54,0x3f,0x30,0xe0,0x15,0x90,0x01,0x34,0x74,0x40,0xf0,0xfd,0xe4,0xff,
+0x12,0x3a,0xc5,0x90,0x9e,0x77,0xe0,0x44,0x08,0xf0,0x80,0x0b,0xe4,0x90,0x9e,0xd3,
+0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54,0x90,0x9e,0xd1,0xe0,0xfd,0x13,0x13,0x13,0x54,
+0x1f,0x30,0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x02,0xf0,0xed,0xc4,0x54,0x0f,0x30,
+0xe0,0x07,0x90,0x9e,0x77,0xe0,0x44,0x04,0xf0,0x90,0x9e,0x77,0xe0,0x54,0x0e,0x60,
+0x0c,0x90,0x01,0x3e,0x74,0x03,0xf0,0xfd,0x7f,0x02,0x12,0x3a,0xdf,0x90,0x9e,0x77,
+0xe0,0x90,0x05,0x27,0xf0,0x90,0x9e,0xd1,0xe0,0xff,0xc4,0x13,0x13,0x54,0x03,0x30,
+0xe0,0x0c,0xa3,0xe0,0x64,0x06,0x60,0x5d,0x7f,0x06,0x51,0xa5,0x80,0x57,0x90,0x05,
+0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xd2,0xe0,0xb4,0x06,0x15,0x7f,0x01,0x51,0xa5,
+0xe4,0xff,0x12,0x56,0x0b,0xef,0x60,0x05,0x12,0x4c,0x80,0x80,0x04,0xf1,0xbb,0x80,
+0x34,0x12,0x56,0x83,0x80,0x2f,0x90,0x9e,0x77,0x74,0x01,0xf0,0x90,0x05,0x27,0xf0,
+0x7d,0x03,0x7f,0x02,0x12,0x3a,0x71,0x90,0x9e,0xd2,0xe0,0xb4,0x06,0x04,0x7f,0x01,
+0x80,0x09,0x90,0x9e,0xd2,0xe0,0xb4,0x04,0x04,0xe4,0xff,0x51,0xa5,0x12,0x56,0x52,
+0x12,0x44,0xe8,0xf1,0x5a,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0xd7,0xe0,0x54,0xfe,
+0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,
+0x9e,0xd1,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0xf0,0x22,0x90,0x9f,0x15,0xef,0xf0,0xf1,0x9e,0x90,0x9f,0x15,0xe0,
+0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0x53,0x68,0xf0,0x43,0x68,0x04,0x22,0x90,0x01,
+0x01,0xe0,0x44,0x02,0xf0,0x90,0x01,0x00,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x44,
+0x01,0xf0,0x12,0x4e,0x94,0x90,0x01,0xba,0xe4,0xf0,0x22,0x90,0x9e,0xa3,0xe0,0x60,
+0x16,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x7f,0x05,0x80,0x1f,0x90,0x9e,0xd2,0xe0,0x64,
+0x01,0x70,0x19,0x7f,0x02,0x80,0x13,0x90,0x9e,0xd2,0xe0,0xb4,0x01,0x04,0x7f,0x03,
+0x80,0x08,0x90,0x9e,0xd2,0xe0,0x70,0x04,0x7f,0x04,0x51,0xa5,0x22,0xf1,0x9e,0x90,
+0x05,0x22,0x74,0x6f,0xf0,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x9e,0xd8,0x74,
+0x03,0xf0,0x22,0x90,0x06,0x04,0xe0,0x44,0x40,0xf0,0xe5,0x67,0xb4,0x01,0x05,0x7f,
+0x01,0x12,0x47,0xd6,0x53,0x68,0xf0,0x43,0x68,0x04,0x90,0x9e,0xd1,0xe0,0x30,0xe0,
+0x07,0x90,0x05,0x27,0xe0,0x44,0x80,0xf0,0x22,0x90,0x01,0x37,0x74,0x02,0xf0,0x31,
+0xe2,0xef,0x70,0x06,0x90,0x01,0xc8,0x74,0xfd,0xf0,0x7d,0x02,0x7f,0x03,0x12,0x3a,
+0xc5,0x11,0x59,0x53,0x68,0xf0,0x43,0x68,0x02,0x22,0x11,0x29,0x90,0x9e,0xd2,0x74,
+0x03,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x54,0xfe,0xf0,
+0x12,0x4e,0x94,0x90,0x01,0x00,0x74,0x3f,0xf0,0xa3,0xe0,0x54,0xfd,0xf0,0x90,0x05,
+0x53,0xe0,0x44,0x20,0xf0,0x90,0x01,0xba,0x74,0xcc,0xf0,0x22,0x31,0xe2,0xef,0x70,
+0x06,0x90,0x01,0xc8,0x74,0xfd,0xf0,0x11,0x59,0x90,0x9e,0xd8,0x74,0x02,0xf0,0x22,
+0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xd8,0xe0,0x90,0x9f,0x17,0xf0,0x6f,
+0x70,0x02,0x21,0x5c,0xef,0x14,0x60,0x3b,0x14,0x60,0x5f,0x14,0x70,0x02,0x21,0x35,
+0x24,0x03,0x60,0x02,0x21,0x5c,0x90,0x9f,0x17,0xe0,0xb4,0x03,0x04,0x31,0x7d,0x21,
+0x5c,0x90,0x9f,0x17,0xe0,0xb4,0x02,0x04,0x31,0x95,0x21,0x5c,0x90,0x9f,0x17,0xe0,
+0xb4,0x04,0x04,0x31,0x99,0x21,0x5c,0x90,0x9f,0x17,0xe0,0x64,0x01,0x70,0x7d,0x31,
+0x7f,0x80,0x79,0x90,0x9f,0x17,0xe0,0xff,0xb4,0x03,0x04,0x31,0xcf,0x80,0x6d,0xef,
+0xb4,0x02,0x04,0x31,0xb1,0x80,0x65,0x90,0x9f,0x17,0xe0,0xff,0xb4,0x04,0x04,0x31,
+0xa6,0x80,0x59,0xef,0x70,0x56,0x31,0x6a,0x80,0x52,0x90,0x9f,0x17,0xe0,0xb4,0x03,
+0x04,0x31,0xbf,0x80,0x47,0x90,0x9f,0x17,0xe0,0xb4,0x01,0x04,0x11,0x7c,0x80,0x3c,
+0x90,0x9f,0x17,0xe0,0xb4,0x04,0x04,0x31,0x9d,0x80,0x31,0x90,0x9f,0x17,0xe0,0x70,
+0x2b,0x31,0x61,0x80,0x27,0x90,0x9f,0x17,0xe0,0xff,0xb4,0x01,0x05,0x12,0x67,0xef,
+0x80,0x1a,0xef,0xb4,0x02,0x05,0x12,0x67,0xed,0x80,0x11,0x90,0x9f,0x17,0xe0,0xff,
+0xb4,0x04,0x04,0x51,0x29,0x80,0x05,0xef,0x70,0x02,0x31,0x65,0xd0,0xd0,0x92,0xaf,
+0x22,0x31,0x6a,0x01,0x7c,0x31,0x6a,0x02,0x67,0xef,0x90,0x01,0x3e,0x74,0x03,0xf0,
+0xfd,0x7f,0x02,0x12,0x3a,0xdf,0x90,0x9e,0xd8,0x74,0x01,0xf0,0x22,0x31,0xcf,0x7d,
+0x03,0x7f,0x02,0x12,0x3a,0x71,0x90,0x05,0x27,0xe4,0xf0,0xe0,0x54,0xbf,0xf0,0xe4,
+0x90,0x9e,0xd8,0xf0,0x22,0x31,0xb1,0x80,0xe6,0x31,0xa6,0x80,0xe2,0x11,0x59,0x90,
+0x9e,0xd8,0x74,0x02,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd8,0x04,0xf0,
+0x22,0x12,0x67,0x9e,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xd8,0x04,0xf0,0x22,0x90,
+0x05,0x27,0xe0,0x44,0x40,0xf0,0x11,0x53,0x90,0x9e,0xd8,0x74,0x02,0xf0,0x22,0x90,
+0x05,0x22,0xe4,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xd8,0x74,0x01,
+0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0xe4,0x90,0x9f,0x0e,0xf0,0xa3,0xf0,0x90,
+0x05,0xf8,0xe0,0x70,0x0f,0xa3,0xe0,0x70,0x0b,0xa3,0xe0,0x70,0x07,0xa3,0xe0,0x70,
+0x03,0x7f,0x01,0x22,0xd3,0x90,0x9f,0x0f,0xe0,0x94,0xe8,0x90,0x9f,0x0e,0xe0,0x94,
+0x03,0x40,0x03,0x7f,0x00,0x22,0x7f,0x32,0x7e,0x00,0x12,0x3b,0x3b,0x90,0x9f,0x0e,
+0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x80,0xc6,0x02,0x67,0xef,0x31,0x6a,0x90,0x05,
+0x22,0x74,0xff,0xf0,0x90,0x9e,0xd8,0x74,0x04,0xf0,0x22,0x11,0x53,0x90,0x9e,0xd2,
+0x74,0x04,0xf0,0x22,0x8f,0x25,0xe4,0x90,0x9f,0x0a,0xf0,0xa3,0xf0,0x90,0x01,0x09,
+0xe0,0x7f,0x00,0x30,0xe7,0x02,0x7f,0x01,0xef,0x65,0x25,0x60,0x3e,0xc3,0x90,0x9f,
+0x0b,0xe0,0x94,0x88,0x90,0x9f,0x0a,0xe0,0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0,
+0x44,0x80,0xf0,0x22,0x90,0x9f,0x0a,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,
+0x7e,0x00,0x12,0x3b,0x3b,0xd3,0x90,0x9f,0x0b,0xe0,0x94,0x32,0x90,0x9f,0x0a,0xe0,
+0x94,0x00,0x40,0xb9,0x90,0x01,0xc7,0xe0,0x30,0xe0,0xb2,0x22,0x90,0x9e,0x9b,0xe0,
+0xb4,0x01,0x04,0x7d,0x91,0x80,0x0c,0x90,0x9e,0x9b,0xe0,0x70,0x04,0x7d,0x90,0x80,
+0x02,0xe4,0xfd,0x7f,0x93,0x12,0x4f,0x89,0x90,0x00,0x29,0xe0,0x54,0x3f,0xfd,0x7f,
+0x29,0x12,0x4f,0x89,0x90,0x00,0x28,0xe0,0x54,0xfc,0xfd,0x7f,0x28,0x12,0x4f,0x89,
+0x90,0x00,0x08,0xe0,0x44,0x10,0xfd,0x7f,0x08,0x12,0x4f,0x89,0x7f,0x01,0x51,0x44,
+0x90,0x00,0x00,0xe0,0x44,0x20,0xfd,0xe4,0xff,0x12,0x4f,0x89,0x90,0x00,0x20,0xe0,
+0x54,0xfe,0xfd,0x7f,0x20,0x12,0x4f,0x89,0x90,0x00,0x90,0xe0,0x44,0x01,0xfd,0x7f,
+0x90,0x12,0x4f,0x89,0x7f,0x14,0x7e,0x00,0x02,0x3b,0x3b,0x53,0x68,0xf0,0x43,0x68,
+0x01,0x51,0x9c,0x12,0x4f,0x9e,0x53,0x68,0xf0,0x43,0x68,0x02,0x22,0xe5,0x69,0x30,
+0xe6,0x19,0xe5,0x69,0x54,0x0f,0xff,0x90,0x9e,0x9f,0xe0,0xfe,0x4f,0x90,0x01,0x2f,
+0xf0,0xee,0x64,0x80,0x90,0x9e,0x9f,0xf0,0x53,0x69,0xbf,0x22,0x8f,0x26,0x12,0x4f,
+0xf8,0xef,0x64,0x01,0x70,0x2e,0x90,0x9e,0x98,0x12,0x50,0x26,0xe5,0x26,0x60,0x10,
+0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e,
+0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0x90,0x04,
+0x1f,0x74,0x20,0xf0,0x22,0x90,0x06,0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0,0x54,0xc0,
+0x70,0x09,0x53,0x6b,0xfe,0x53,0x6b,0xfd,0x02,0x44,0xe8,0x90,0x9e,0x52,0xe0,0x30,
+0xe6,0x1e,0x90,0x9e,0xa0,0xe0,0x70,0x08,0x43,0x6b,0x01,0x12,0x56,0x19,0x80,0x13,
+0x90,0x9e,0xb0,0xe0,0xb4,0x01,0x0c,0x43,0x6b,0x04,0x7f,0x01,0x71,0x3c,0x80,0x03,
+0x53,0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x23,0x43,0x6b,0x02,0xe4,0xf5,0x48,
+0x90,0x9e,0xa8,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,
+0x90,0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0xb1,0x74,0x01,0xf0,0x22,0x53,0x6b,0xfd,
+0x22,0xe5,0x67,0x64,0x01,0x70,0x66,0xe5,0x6a,0x60,0x62,0xe5,0x6a,0x64,0x02,0x60,
+0x06,0xe5,0x6a,0x64,0x05,0x70,0x27,0x90,0x06,0xab,0xe0,0x90,0x9e,0xa1,0xf0,0x90,
+0x06,0xaa,0xe0,0x90,0x9e,0xaf,0xf0,0x90,0x9e,0xa1,0xe0,0x70,0x07,0x90,0x9e,0xaf,
+0xe0,0xff,0x80,0x05,0x90,0x9e,0xa1,0xe0,0xff,0x90,0x9e,0xa1,0xef,0xf0,0x90,0x9e,
+0xa3,0xe0,0x60,0x03,0xe0,0x14,0xf0,0xe4,0x90,0x9e,0xa2,0xf0,0x90,0x01,0x57,0xf0,
+0x90,0x01,0x3c,0x74,0x02,0xf0,0x53,0x6b,0xfd,0x53,0x6b,0xef,0xe5,0x6a,0x14,0x24,
+0xfd,0x50,0x06,0x24,0xfd,0x50,0x04,0x80,0x04,0x80,0x03,0x71,0x75,0x22,0x90,0x06,
+0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0,0x54,0xc0,0x70,0x09,0x53,0x6b,0xfe,0x53,0x6b,
+0xfd,0x12,0x44,0xe8,0x90,0x9e,0x52,0xe0,0x30,0xe6,0x15,0x43,0x6b,0x01,0x90,0x9e,
+0xb0,0xe0,0x64,0x02,0x60,0x05,0x12,0x56,0x19,0x80,0x08,0x12,0x5e,0xf4,0x80,0x03,
+0x53,0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x23,0x43,0x6b,0x02,0xe4,0xf5,0x48,
+0x90,0x9e,0xa8,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,
+0x90,0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0xb1,0x74,0x01,0xf0,0x22,0x53,0x6b,0xfd,
+0x22,0xe5,0x6a,0x60,0x39,0x90,0x9e,0xb1,0xe0,0x60,0x0d,0xe4,0xf0,0x53,0x6b,0xfd,
+0xe5,0x6b,0x54,0x07,0x70,0x28,0x80,0x23,0x90,0x9e,0xa2,0xe0,0x04,0xf0,0x53,0x6b,
+0xef,0x90,0x9e,0xa7,0xe0,0xff,0x90,0x9e,0xa2,0xe0,0xd3,0x9f,0x40,0x0d,0xe5,0x67,
+0xb4,0x01,0x0b,0xa3,0xe0,0x70,0x07,0xe0,0x04,0xf0,0x22,0x12,0x44,0xe8,0x22,0xd3,
+0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xf8,0x12,0x43,0x7e,0x90,0x9e,0xfb,0xe0,
+0x54,0xf0,0x44,0x06,0xff,0xf0,0xed,0x54,0x0f,0xc4,0x54,0xf0,0xfe,0xef,0x54,0x0f,
+0x4e,0xf0,0x90,0x9e,0xf8,0x12,0x43,0x5e,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7b,0x01,
+0x7a,0x9e,0x79,0xfb,0x12,0x48,0xde,0xd0,0xd0,0x92,0xaf,0x22,0xe0,0xfd,0x74,0x26,
+0x25,0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xed,0xf0,0xaf,0x13,0xd3,0x10,0xaf,
+0x01,0xc3,0xc0,0xd0,0xef,0xc3,0x94,0x20,0x50,0x0e,0x74,0x84,0x2f,0xf5,0x82,0xe4,
+0x34,0x04,0xf5,0x83,0xed,0xf0,0x80,0x29,0x74,0xa6,0x2f,0xf5,0x82,0xe4,0x34,0x9c,
+0xf5,0x83,0xed,0xf0,0x90,0x9e,0xc4,0xef,0xf0,0x24,0xa6,0xf5,0x82,0xe4,0x34,0x9c,
+0xf5,0x83,0xe0,0x90,0x9e,0xc5,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0xc4,0x7d,0x02,0x91,
+0xef,0xd0,0xd0,0x92,0xaf,0x22,0x8f,0x0a,0x8d,0x0b,0xe5,0x0b,0x54,0x1f,0xf5,0x10,
+0x74,0x01,0x2f,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0,0xf5,0x0e,0x90,0x04,0xfd,
+0xe0,0xb4,0x01,0x05,0x75,0x11,0x03,0x80,0x03,0x75,0x11,0x01,0xeb,0xc3,0x95,0x11,
+0x40,0x04,0xaf,0x0a,0x80,0x33,0xe5,0x0e,0x25,0x0d,0xf5,0x0f,0xe5,0x10,0x90,0x41,
+0xdc,0x93,0xff,0xe5,0x0f,0xd3,0x9f,0x74,0x01,0x40,0x11,0x25,0x0a,0xf5,0x82,0xe4,
+0x34,0x94,0xf5,0x83,0xe4,0xf0,0xad,0x0b,0xaf,0x0a,0xa1,0x3d,0x25,0x0a,0xf5,0x82,
+0xe4,0x34,0x94,0xf5,0x83,0xe5,0x0f,0xf0,0x22,0xad,0x07,0x75,0xf0,0x09,0xed,0x90,
+0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5,
+0x83,0xe0,0x54,0x1f,0xf5,0x12,0xd3,0x9f,0x40,0x02,0x8f,0x12,0xe5,0x12,0x25,0xe0,
+0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93,0xff,
+0xe5,0x12,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93,
+0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2,
+0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x05,0xad,0x12,
+0xb1,0x3d,0xaf,0x12,0x22,0xef,0xc3,0x94,0x20,0x50,0x39,0xef,0x30,0xe0,0x17,0xed,
+0xc4,0x54,0xf0,0xfd,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x04,0xf5,
+0x83,0xe0,0x54,0x0f,0x80,0x10,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34,
+0x04,0xf5,0x83,0xe0,0x54,0xf0,0xf0,0x74,0xa4,0x2e,0xf5,0x82,0xe4,0x34,0x04,0xf5,
+0x83,0xe0,0x4d,0xf0,0x22,0xad,0x07,0xed,0xc3,0x94,0x20,0x50,0x0d,0x74,0x84,0x2d,
+0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b,0x74,0xa6,0x2d,0xf5,0x82,0xe4,
+0x34,0x9c,0xf5,0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5,0x1e,0x54,0x1f,0xfc,0x75,0xf0,
+0x09,0xed,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x90,0x9e,0x73,0xf0,0xed,0x25,
+0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,
+0x74,0xcb,0xf0,0xa3,0xeb,0xf0,0xed,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,
+0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x76,0xcb,0xf0,0xa3,0xeb,0xf0,0xec,0x25,
+0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfa,0x74,0x01,0x93,
+0xfb,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xea,0xf0,0xa3,
+0xeb,0xf0,0xec,0xc3,0x9f,0x40,0x02,0xe1,0xb3,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,
+0x9d,0xf5,0x83,0xec,0xf0,0x04,0xfb,0x90,0x9e,0x73,0xe0,0xff,0xeb,0xd3,0x9f,0x40,
+0x02,0xe1,0xe4,0xeb,0xc3,0x94,0x10,0x40,0x21,0xeb,0x24,0xf0,0xff,0x74,0x01,0x7e,
+0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,
+0x74,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x70,0x23,0xeb,0xc3,0x94,0x10,0x50,0x40,
+0x74,0x01,0x7e,0x00,0xa8,0x03,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,
+0xff,0x90,0x9e,0x76,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x23,0xbb,0x11,0x09,
+0x90,0x9e,0x75,0xe0,0x30,0xe7,0x02,0x7b,0x17,0xeb,0x64,0x13,0x60,0x03,0xbb,0x12,
+0x09,0x90,0x9e,0x74,0xe0,0x30,0xe0,0x02,0x7b,0x18,0xac,0x03,0x8c,0x1e,0x80,0x34,
+0x0b,0x80,0x84,0x90,0x9e,0x73,0xe0,0xfb,0x6c,0x70,0x69,0x74,0x67,0x2d,0xf5,0x82,
+0xe4,0x34,0x9d,0xf5,0x83,0xec,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a,0x12,0x43,
+0x52,0xe0,0xb4,0x01,0x0c,0xe5,0x1e,0x20,0xe6,0x07,0xec,0x44,0x40,0xf5,0x1e,0x80,
+0x03,0xaf,0x1e,0x22,0xec,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,
+0xe4,0x93,0xfe,0x74,0x01,0x93,0xff,0xec,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,
+0x41,0xf5,0x83,0x74,0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,
+0xff,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,
+0xef,0xf0,0x80,0x5b,0xec,0xd3,0x9b,0x40,0x56,0x90,0x9e,0x73,0xe0,0xff,0x74,0x67,
+0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xef,0xf0,0xac,0x07,0x8f,0x1e,0xec,0x25,
+0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93,
+0xff,0xec,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93,
+0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2,
+0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x1e,0x22,0x74,
+0x01,0x2d,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe4,0xf0,0xaf,0x05,0xe5,0x1e,0x44,
+0x80,0xfd,0x12,0x6d,0x3d,0xe5,0x1e,0x44,0x80,0xff,0x22,0xac,0x07,0xec,0xc3,0x94,
+0x20,0x50,0x0d,0x74,0x84,0x2c,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b,
+0x74,0xa6,0x2c,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5,
+0x1e,0x54,0x1f,0xff,0x90,0x9e,0x75,0xf0,0x75,0xf0,0x09,0xec,0x90,0x96,0x49,0x12,
+0x43,0x52,0xe0,0x90,0x9e,0x77,0xf0,0x75,0xf0,0x09,0xec,0x90,0x96,0x48,0x12,0x43,
+0x52,0xe0,0xfe,0x90,0x9e,0x78,0xf0,0xec,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,
+0x9b,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x79,0xcb,0xf0,0xa3,0xeb,0xf0,0xec,
+0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,
+0x9e,0x7b,0xcb,0xf0,0xa3,0xeb,0xf0,0xef,0xd3,0x9e,0x40,0x0a,0x90,0x9e,0x78,0xe0,
+0x90,0x9e,0x75,0xf0,0xf5,0x1e,0xed,0x70,0x02,0x21,0xf1,0x90,0x9e,0x76,0xed,0xf0,
+0xe5,0x1e,0x30,0xe6,0x0a,0x90,0x9e,0x75,0xe0,0xf5,0x1e,0xa3,0xe0,0x14,0xf0,0x90,
+0x9e,0x76,0xe0,0x70,0x02,0x21,0xf1,0x90,0x9e,0x75,0xe0,0xff,0xd3,0x94,0x00,0x50,
+0x02,0x21,0xf1,0xe4,0x90,0x9e,0x74,0xf0,0xef,0x14,0x90,0x9e,0x73,0xf0,0x90,0x9e,
+0x77,0xe0,0xfd,0x90,0x9e,0x73,0xe0,0xff,0xd3,0x9d,0x40,0x6b,0xef,0x94,0x10,0x40,
+0x21,0xef,0x24,0xf0,0xff,0x74,0x01,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,
+0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x7b,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,
+0x70,0x27,0x90,0x9e,0x73,0xe0,0xff,0xc3,0x94,0x10,0x50,0x33,0x74,0x01,0x7e,0x00,
+0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x79,
+0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x16,0x90,0x9e,0x73,0xe0,0xf5,0x1e,0xa3,
+0xe0,0x04,0xf0,0x90,0x9e,0x76,0xe0,0xff,0x90,0x9e,0x74,0xe0,0x6f,0x60,0x08,0x90,
+0x9e,0x73,0xe0,0x14,0xf0,0x80,0x87,0x90,0x9e,0x76,0xe0,0xff,0x90,0x9e,0x74,0xe0,
+0xc3,0x9f,0x50,0x0d,0x90,0x9e,0x73,0xe0,0xb5,0x05,0x06,0x90,0x9e,0x77,0xe0,0xf5,
+0x1e,0xe5,0x1e,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,
+0xfe,0x74,0x01,0x93,0xff,0xe5,0x1e,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,
+0xf5,0x83,0x74,0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,
+0xec,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,
+0xf0,0xaf,0x04,0xad,0x1e,0x12,0x6d,0x3d,0xaf,0x1e,0x22,0xe4,0xf5,0x13,0xe5,0x13,
+0xb4,0x20,0x14,0x90,0x9a,0xc5,0xe0,0x04,0xf0,0x90,0x95,0x01,0xe0,0xff,0x90,0x9a,
+0xc5,0xe0,0xb5,0x07,0x02,0xe4,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4b,0x12,
+0x43,0x52,0xe0,0x64,0x01,0x60,0x03,0x02,0x78,0x83,0xe5,0x13,0x25,0xe0,0x24,0x80,
+0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0xd3,0x94,0x00,0xee,0x94,
+0x00,0x50,0x03,0x02,0x78,0x83,0xe5,0x13,0x94,0x20,0x40,0x09,0x90,0x9a,0xc5,0xe0,
+0x60,0x03,0x02,0x78,0x8f,0xe5,0x13,0x75,0xf0,0x0a,0xa4,0x24,0x00,0xf9,0x74,0x90,
+0x35,0xf0,0x75,0x18,0x01,0xf5,0x19,0x89,0x1a,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,
+0x82,0xe4,0x34,0x93,0xf5,0x83,0xe0,0xff,0xa3,0xe0,0x90,0x9e,0x6d,0xcf,0xf0,0xa3,
+0xef,0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,
+0xff,0xa3,0xe0,0x90,0x9e,0x6f,0xcf,0xf0,0xa3,0xef,0xf0,0xe5,0x13,0xc3,0x94,0x20,
+0x50,0x14,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x54,0x3f,
+0x90,0x9e,0x69,0xf0,0x80,0x12,0x74,0xa6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,
+0x83,0xe0,0x54,0x3f,0x90,0x9e,0x69,0xf0,0x90,0x9e,0x69,0xe0,0xfe,0x54,0x1f,0xa3,
+0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0x90,0x9e,0x72,
+0xf0,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xc3,0x94,0x05,
+0x40,0x02,0xa1,0x5c,0x90,0x9e,0x72,0xe0,0xff,0x90,0x9e,0x6a,0xe0,0x9f,0x40,0x13,
+0x90,0x9e,0x72,0xe0,0x90,0x9e,0x6a,0xf0,0xee,0x54,0x40,0xfe,0x90,0x9e,0x69,0xf0,
+0xef,0x4e,0xf0,0x90,0x04,0xfd,0xe0,0x54,0x05,0x64,0x01,0x70,0x29,0x90,0x9e,0x6a,
+0xe0,0xff,0x90,0x41,0x50,0x93,0xfe,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,
+0xf5,0x83,0xe0,0xc3,0x9e,0x40,0x06,0xef,0x90,0x40,0xe0,0x80,0x30,0x90,0x9e,0x6a,
+0xe0,0x90,0x40,0xfc,0x80,0x27,0x90,0x9e,0x6a,0xe0,0xff,0x90,0x41,0x50,0x93,0xfe,
+0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xc3,0x9e,0x40,0x06,
+0xef,0x90,0x41,0x18,0x80,0x07,0x90,0x9e,0x6a,0xe0,0x90,0x41,0x34,0x93,0x90,0x9e,
+0x71,0xf0,0x90,0x9e,0x71,0xe0,0x75,0xf0,0x06,0xa4,0x24,0x56,0xf9,0x74,0x40,0x35,
+0xf0,0x75,0x15,0xff,0xf5,0x16,0x89,0x17,0x90,0x9e,0x69,0xe0,0x90,0x41,0xf8,0x93,
+0xff,0xd3,0x90,0x9e,0x70,0xe0,0x9f,0x90,0x9e,0x6f,0xe0,0x94,0x00,0x40,0x09,0xe4,
+0xfd,0xaf,0x13,0x11,0x9b,0x02,0x78,0x1a,0xe5,0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82,
+0xe4,0x34,0x95,0xf5,0x83,0xe0,0xf5,0x1b,0xa3,0xe0,0xf5,0x1c,0xab,0x15,0xaa,0x16,
+0xa9,0x17,0x12,0x1f,0x04,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x12,0x42,
+0x6a,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,
+0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x7e,0x00,
+0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x02,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,
+0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,
+0xa9,0x17,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,
+0x1a,0x90,0x00,0x04,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,
+0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x03,
+0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x06,0x12,
+0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,
+0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x7e,
+0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x08,0x12,0x42,0x95,0xfd,0xac,0xf0,
+0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,
+0x16,0xa9,0x17,0x90,0x00,0x05,0x12,0x1f,0x1d,0xff,0x7e,0x00,0x90,0x9e,0x6d,0xe0,
+0xfc,0xa3,0xe0,0xfd,0x12,0x1f,0x4a,0xd3,0xe5,0x1c,0x9f,0xe5,0x1b,0x9e,0x40,0x0c,
+0xe5,0x1c,0x9f,0xf5,0x1c,0xe5,0x1b,0x9e,0xf5,0x1b,0x80,0x05,0xe4,0xf5,0x1b,0xf5,
+0x1c,0xe5,0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe5,0x1b,
+0xf0,0xa3,0xe5,0x1c,0xf0,0x90,0x9e,0x69,0xe0,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,
+0x34,0x41,0xf5,0x83,0xc3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b,0x50,0x07,
+0xaf,0x13,0x12,0x6e,0x95,0xe1,0xee,0x90,0x9e,0x69,0xe0,0x25,0xe0,0x24,0xa4,0xf5,
+0x82,0xe4,0x34,0x41,0xf5,0x83,0xd3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b,
+0x50,0x02,0xe1,0xee,0x7d,0x01,0xaf,0x13,0x11,0x9b,0xe1,0xee,0x74,0xe6,0x25,0x13,
+0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xfc,0x64,0x05,0x60,0x02,0xc1,0xf7,0x90,
+0x96,0x43,0xe0,0xff,0xb4,0x03,0x0b,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x19,0x40,0x3d,
+0x80,0x2e,0xef,0xb4,0x02,0x0b,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x11,0x40,0x2e,0x80,
+0x1f,0x90,0x96,0x43,0xe0,0xff,0xb4,0x01,0x0b,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x0a,
+0x40,0x1b,0x80,0x0c,0xef,0x70,0x11,0x90,0x9e,0x6a,0xe0,0xc3,0x94,0x03,0x40,0x0d,
+0x90,0x9a,0x84,0x74,0x01,0xf0,0x80,0x05,0xe4,0x90,0x9a,0x84,0xf0,0x74,0x84,0x25,
+0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0x74,0x44,0x25,0x13,0xf5,
+0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xc3,0x94,0x30,0x50,0x02,0xc1,0xa4,0x90,
+0x9a,0x84,0xe0,0x64,0x01,0x60,0x02,0xc1,0xa4,0x74,0x85,0x25,0x13,0xf5,0x82,0xe4,
+0x34,0x9a,0xf5,0x83,0xe0,0x64,0x0a,0x60,0x51,0xef,0x24,0x05,0xff,0xe4,0x33,0xfe,
+0x74,0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0,0xfd,0xd3,0x9f,0xee,
+0x64,0x80,0xf8,0x74,0x80,0x98,0x50,0x32,0xed,0x24,0x05,0xff,0xe4,0x33,0xfe,0x74,
+0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xd3,0x9f,0xee,0x64,0x80,
+0xf8,0x74,0x80,0x98,0x50,0x14,0x74,0x26,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5,
+0x83,0xe0,0xff,0x90,0x9e,0x6a,0xe0,0x6f,0x60,0x3d,0x74,0x44,0x25,0x13,0xf5,0x82,
+0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xd3,0x94,0x42,0x40,0x05,0x75,0x1d,0x05,0x80,
+0x0e,0xef,0xd3,0x94,0x39,0x40,0x05,0x75,0x1d,0x03,0x80,0x03,0x75,0x1d,0x01,0x74,
+0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xef,0xf0,0x74,0x85,0x25,0x13,
+0xf5,0x82,0xe4,0x34,0x9a,0x80,0x29,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,
+0xf5,0x83,0xe4,0xf0,0x74,0x85,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,
+0x04,0xf0,0x80,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,
+0xf5,0x83,0xe4,0xf0,0x90,0x9e,0x6a,0xe0,0xff,0x74,0x26,0x25,0x13,0xf5,0x82,0xe4,
+0x34,0x9d,0xf5,0x83,0xef,0xf0,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,
+0x83,0xe5,0x1d,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4c,0x12,0x43,0x52,0xe0,
+0xb4,0x01,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,
+0x83,0xe4,0xf0,0xad,0x1d,0xe1,0xe9,0xec,0x64,0x06,0x60,0x02,0xe1,0xee,0xf5,0x1b,
+0xf5,0x1c,0x90,0x42,0x19,0x93,0xff,0x7e,0x00,0x90,0x9e,0x6d,0xe0,0xfc,0xa3,0xe0,
+0xfd,0x12,0x1f,0x4a,0x90,0x9e,0x6b,0xee,0xf0,0xa3,0xef,0xf0,0x74,0x84,0x25,0x13,
+0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0xe4,0xf5,0x14,0xab,0x18,0xaa,
+0x19,0xa9,0x1a,0x75,0xf0,0x02,0xe5,0x14,0xa4,0xf5,0x82,0x85,0xf0,0x83,0x12,0x42,
+0x95,0xfd,0xac,0xf0,0xe5,0x14,0x90,0x42,0x14,0x93,0xff,0x7e,0x00,0x12,0x1f,0x4a,
+0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xc3,0x90,0x9e,0x6c,0xe0,0x95,
+0x1c,0x90,0x9e,0x6b,0xe0,0x95,0x1b,0x40,0x07,0x05,0x14,0xe5,0x14,0xb4,0x05,0xbd,
+0xe5,0x14,0xc3,0x13,0xf5,0x14,0xe5,0x1d,0xb4,0x01,0x06,0xe5,0x14,0x70,0x46,0x80,
+0x13,0xe5,0x1d,0xb4,0x03,0x15,0xe5,0x14,0x70,0x05,0x75,0x1d,0x03,0x80,0x39,0xe5,
+0x14,0xb4,0x01,0x05,0x75,0x1d,0x01,0x80,0x2f,0x80,0x2a,0xe5,0x1d,0xb4,0x05,0x28,
+0xe5,0x14,0x70,0x05,0x75,0x1d,0x05,0x80,0x0d,0xe5,0x14,0xb4,0x01,0x05,0x75,0x1d,
+0x03,0x80,0x03,0x75,0x1d,0x01,0xd3,0x90,0x9e,0x70,0xe0,0x94,0x03,0x90,0x9e,0x6f,
+0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0xd3,0x90,0x9e,0x70,0xe0,0x94,0x03,0x90,
+0x9e,0x6f,0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0x74,0x84,0x25,0x13,0xf5,0x82,
+0xe4,0x34,0x98,0xf5,0x83,0xe5,0x1d,0xf0,0xfd,0xaf,0x13,0x12,0x6e,0x55,0x74,0xe6,
+0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xd3,0x94,0x05,0x74,0xe6,0x50,
+0x0e,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x04,0xf0,0x80,0x0b,0x25,
+0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0xab,0x18,0xaa,0x19,0xa9,0x1a,
+0xe4,0xf5,0xf0,0x12,0x42,0xcd,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x02,0xe4,
+0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x04,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,
+0x06,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x08,0xe4,0xf5,0xf0,0x12,0x42,0xec,
+0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe4,0xf0,0xa3,
+0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,
+0xa3,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x44,0xf5,0x82,0xe4,0x34,0x99,0xf5,0x83,0xe4,
+0xf0,0xa3,0xf0,0x05,0x13,0xe5,0x13,0xc3,0x94,0x40,0x50,0x03,0x02,0x72,0x3e,0x22,
+0x90,0x04,0x44,0x74,0x11,0xf0,0xa3,0x74,0xf0,0xf0,0xa3,0x74,0x0f,0xf0,0xa3,0xe4,
+0xf0,0xfd,0x74,0xa4,0x2d,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe4,0xf0,0x0d,0xbd,
+0x10,0xf0,0xe4,0x90,0x9a,0xc5,0xf0,0x90,0x95,0x01,0x04,0xf0,0xe4,0xfd,0x75,0xf0,
+0x0a,0xed,0x90,0x90,0x00,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,
+0x90,0x90,0x02,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90,
+0x04,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90,0x06,0x12,
+0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90,0x08,0x12,0x43,0x52,
+0xe4,0xf0,0xa3,0xf0,0x74,0x26,0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0x74,0x13,
+0xf0,0x74,0x85,0x2d,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe4,0xf0,0x74,0x84,0x2d,
+0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xed,0x25,0xe0,0x24,0x80,0xf5,0x82,
+0xe4,0x34,0x93,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0xc4,0xf5,0x82,
+0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0xc4,0xf5,0x82,
+0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0x44,0xf5,0x82,
+0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0xc6,0xf5,0x82,
+0xe4,0x34,0x9a,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,0x24,0x46,0xf5,0x82,
+0xe4,0x34,0x9b,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x74,0x86,0x2d,0xf5,0x82,0xe4,0x34,
+0x9c,0xf5,0x83,0xe4,0xf0,0x74,0x46,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,
+0xf0,0x74,0xe6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x90,0x41,0xca,
+0x93,0xfe,0x74,0x01,0x93,0xff,0x90,0x41,0x92,0x74,0x01,0x93,0x2f,0xff,0xe4,0x93,
+0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,
+0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4b,0x12,
+0x43,0x52,0x74,0x01,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a,0x12,0x43,0x52,0x74,
+0x01,0xf0,0x74,0x82,0x2d,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0x74,0x0c,0xf0,0x75,
+0xf0,0x09,0xed,0x90,0x96,0x46,0x12,0x43,0x52,0x74,0xff,0xf0,0xa3,0xf0,0x75,0xf0,
+0x09,0xed,0x90,0x96,0x44,0x12,0x43,0x52,0xe4,0xf0,0xa3,0x74,0x0f,0xf0,0x75,0xf0,
+0x09,0xed,0x90,0x96,0x48,0x12,0x43,0x52,0x74,0x13,0xf0,0x75,0xf0,0x09,0xed,0x90,
+0x96,0x49,0x12,0x43,0x52,0xe4,0xf0,0xed,0xc3,0x94,0x20,0x50,0x0f,0x74,0x84,0x2d,
+0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0x74,0x13,0xf0,0x80,0x0d,0x74,0xa6,0x2d,0xf5,
+0x82,0xe4,0x34,0x9c,0xf5,0x83,0x74,0x13,0xf0,0x0d,0xed,0x64,0x40,0x60,0x02,0x01,
+0xbe,0x22,0x8f,0x13,0xef,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xaf,0x82,
+0xf5,0x15,0x8f,0x16,0xe5,0x13,0x75,0xf0,0x02,0xa4,0x24,0x02,0xf9,0x74,0x95,0x35,
+0xf0,0x75,0x17,0x01,0xf5,0x18,0x89,0x19,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x46,
+0x12,0x43,0x52,0xaf,0x82,0x85,0x83,0x1a,0x8f,0x1b,0xe5,0x13,0x75,0xf0,0x09,0xa4,
+0x24,0x44,0xf9,0x74,0x96,0x35,0xf0,0x75,0x1c,0x01,0xf5,0x1d,0x89,0x1e,0x74,0x82,
+0x25,0x13,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0x12,0x43,0x87,0x7a,0xe2,0x00,
+0x7a,0xf7,0x01,0x7b,0x0c,0x02,0x7b,0x21,0x03,0x7b,0x4a,0x04,0x7b,0x5f,0x05,0x7b,
+0x74,0x06,0x7b,0x9a,0x0c,0x7b,0xc7,0x0d,0x7b,0xf4,0x0e,0x7c,0x21,0x0f,0x00,0x00,
+0x7c,0x55,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,
+0xf0,0xf0,0xa3,0x74,0x15,0x80,0x3c,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,
+0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x10,0x80,0x27,0xe5,0x13,0x25,0xe0,
+0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x05,0x80,
+0x12,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,
+0xf0,0xa3,0xe4,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,
+0x83,0x74,0x0f,0xf0,0xa3,0x74,0x8f,0xf0,0x81,0x55,0xe5,0x13,0x25,0xe0,0x24,0xc6,
+0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0x0f,0xf0,0xa3,0x74,0xf5,0x80,0x27,0xe5,
+0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0x0f,0xf0,0xa3,
+0x74,0xf0,0x80,0x12,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,
+0x83,0xe4,0xf0,0xa3,0x74,0x0d,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,
+0x34,0x95,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x81,0x55,0x90,0x04,0x47,0xe0,0xab,0x17,
+0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,0x46,0xe0,0xab,0x17,0xaa,0x18,0xa9,
+0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,0x45,0xe0,0x85,0x16,0x82,0x85,0x15,
+0x83,0xf0,0x90,0x04,0x44,0x81,0x4c,0x90,0x04,0x4b,0xe0,0xab,0x17,0xaa,0x18,0xa9,
+0x19,0x12,0x42,0x20,0x90,0x04,0x4a,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,
+0x01,0x12,0x42,0x32,0x90,0x04,0x49,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,
+0x04,0x48,0x80,0x58,0x90,0x04,0x4f,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,
+0x20,0x90,0x04,0x4e,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,
+0x32,0x90,0x04,0x4d,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x4c,0x80,
+0x2b,0x90,0x04,0x53,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,
+0x52,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,
+0x51,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x50,0xe0,0x85,0x16,0x82,
+0x85,0x15,0x83,0xa3,0xf0,0xab,0x17,0xaa,0x18,0xa9,0x19,0xc0,0x03,0xc0,0x02,0xc0,
+0x01,0x12,0x1f,0x04,0xff,0xab,0x1c,0xaa,0x1d,0xa9,0x1e,0x12,0x1f,0x04,0x5f,0xd0,
+0x01,0xd0,0x02,0xd0,0x03,0x12,0x42,0x20,0xab,0x17,0xe5,0x19,0x24,0x01,0xf9,0xe4,
+0x35,0x18,0xfa,0xc0,0x03,0xc0,0x02,0xc0,0x01,0x12,0x1f,0x04,0xff,0xab,0x1c,0xaa,
+0x1d,0xa9,0x1e,0x90,0x00,0x01,0x12,0x1f,0x1d,0x5f,0xd0,0x01,0xd0,0x02,0xd0,0x03,
+0x12,0x42,0x20,0x85,0x16,0x82,0x85,0x15,0x83,0xc0,0x83,0xc0,0x82,0xe0,0xff,0x85,
+0x1b,0x82,0x85,0x1a,0x83,0xe0,0xfe,0xef,0x5e,0xd0,0x82,0xd0,0x83,0xf0,0x85,0x16,
+0x82,0x85,0x15,0x83,0xa3,0xc0,0x83,0xc0,0x82,0xe0,0xff,0x85,0x1b,0x82,0x85,0x1a,
+0x83,0xa3,0xe0,0xfe,0xef,0x5e,0xd0,0x82,0xd0,0x83,0xf0,0xe5,0x13,0x25,0xe0,0x24,
+0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3b,0x75,
+0x14,0x0b,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,
+0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,
+0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x06,0xe5,0x14,0x24,0x10,0x80,0x5d,0x15,
+0x14,0xe5,0x14,0xc3,0x94,0x00,0x50,0xca,0x80,0x56,0xe5,0x13,0x25,0xe0,0x24,0xc6,
+0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3d,0x75,0x14,
+0x0f,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,
+0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,
+0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x08,0x90,0x9e,0x80,0xe5,0x14,0xf0,0x80,0x10,
+0x15,0x14,0xe5,0x14,0xc3,0x94,0x00,0x50,0xc8,0x80,0x05,0xe4,0x90,0x9e,0x80,0xf0,
+0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfe,0xa3,
+0xe0,0x4e,0x60,0x3b,0xe4,0xf5,0x14,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,
+0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,
+0xe4,0x34,0x9b,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x08,0x90,0x9e,
+0x81,0xe5,0x14,0xf0,0x80,0x5b,0x05,0x14,0xe5,0x14,0xb4,0x10,0xca,0x80,0x52,0xe5,
+0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,
+0x4e,0x60,0x39,0xe4,0xf5,0x14,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,
+0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,
+0x34,0x95,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x06,0xe5,0x14,0x24,
+0x10,0x80,0x0a,0x05,0x14,0xe5,0x14,0xb4,0x0c,0xcc,0x80,0x05,0xe4,0x90,0x9e,0x81,
+0xf0,0x90,0x9e,0x80,0xe0,0xff,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43,
+0x52,0xef,0xf0,0x90,0x9e,0x81,0xe0,0xfe,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x49,
+0x12,0x43,0x52,0xee,0xf0,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,
+0xe0,0xd3,0x9f,0x40,0x06,0x90,0x9e,0x80,0x12,0x6d,0x2c,0x74,0x84,0x25,0x13,0xf5,
+0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0xff,0x90,0x9e,0x81,0xe0,0xfe,0xef,0xc3,0x9e,
+0x50,0x03,0x12,0x6d,0x2c,0x90,0x9e,0x80,0xe0,0xff,0xd3,0x94,0x13,0x40,0x07,0x90,
+0x96,0x43,0x74,0x03,0xf0,0x22,0xef,0xd3,0x94,0x0b,0x40,0x07,0x90,0x96,0x43,0x74,
+0x02,0xf0,0x22,0xef,0xd3,0x94,0x03,0x40,0x07,0x90,0x96,0x43,0x74,0x01,0xf0,0x22,
+0xe4,0x90,0x96,0x43,0xf0,0x22,0x90,0x9e,0x74,0xef,0xf0,0xa3,0xed,0xf0,0xa3,0x12,
+0x43,0x7e,0x90,0x9e,0x76,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f,0x1d,0x54,0xf0,
+0xc4,0x54,0x0f,0x90,0x9e,0x79,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x54,0x40,0xc4,
+0x13,0x13,0x54,0x03,0x90,0x9e,0x7a,0xf0,0x90,0x9e,0x74,0xe0,0xff,0x75,0xf0,0x09,
+0x90,0x96,0x46,0x12,0x43,0x52,0xad,0x82,0xac,0x83,0x90,0x9e,0x7b,0xec,0xf0,0xa3,
+0xed,0xf0,0xef,0x75,0xf0,0x09,0xa4,0x24,0x44,0xf9,0x74,0x96,0x35,0xf0,0xfa,0x7b,
+0x01,0xa3,0x12,0x43,0x7e,0x90,0x9e,0x76,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f,
+0x1d,0x54,0x0f,0xff,0x90,0x9e,0x7d,0x12,0x43,0x5e,0xef,0x12,0x42,0x20,0x90,0x9e,
+0x76,0x12,0x43,0x5e,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x90,0x9e,0x7d,0x12,0x43,
+0x5e,0x90,0x00,0x01,0xef,0x12,0x42,0x32,0x90,0x9e,0x76,0x12,0x43,0x5e,0x90,0x00,
+0x01,0x12,0x1f,0x1d,0xff,0x90,0x9e,0x7b,0xe0,0xfc,0xa3,0xe0,0xfd,0xf5,0x82,0x8c,
+0x83,0xef,0xf0,0x12,0x1f,0x04,0x8d,0x82,0x8c,0x83,0xa3,0xf0,0x90,0x9e,0x79,0xe0,
+0xfe,0x90,0x9e,0x74,0xe0,0xff,0x24,0x82,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,
+0xf0,0x90,0x9e,0x75,0xe0,0xfe,0x75,0xf0,0x09,0xef,0x90,0x96,0x4a,0x12,0x43,0x52,
+0xee,0xf0,0x75,0xf0,0x09,0xef,0x90,0x96,0x4b,0x12,0x43,0x52,0x74,0x01,0xf0,0x90,
+0x9e,0x7a,0xe0,0xfe,0x75,0xf0,0x09,0xef,0x90,0x96,0x4c,0x12,0x43,0x52,0xee,0xf0,
+0x41,0x62,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x54,0x1f,0xfe,0xef,0x54,0x20,0xc4,
+0x13,0x54,0x07,0xfd,0xaf,0x06,0xc1,0xa6,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x54,
+0x3f,0xfe,0xef,0x54,0x80,0xc4,0x13,0x13,0x13,0x54,0x01,0xfd,0xaf,0x06,0xc1,0xa6,
+0x12,0x1f,0x04,0xf5,0x13,0xc3,0x94,0x40,0x50,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0xff,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xef,0xf0,0x22,0xe5,
+0x13,0xb4,0x40,0x0a,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x96,0x42,0xf0,0x22,0x12,
+0x1f,0x04,0x90,0x95,0x01,0xf0,0x22,0x90,0x9e,0x71,0x12,0x43,0x7e,0xef,0x12,0x43,
+0x87,0x80,0x93,0x01,0x80,0x9b,0x02,0x80,0xbb,0x03,0x80,0xc4,0x05,0x80,0xcd,0x06,
+0x81,0xf7,0x07,0x80,0xd6,0x08,0x80,0xdf,0x10,0x80,0xe8,0x11,0x80,0xf0,0x12,0x80,
+0xf8,0x13,0x81,0x00,0x14,0x81,0x09,0x15,0x81,0x12,0x16,0x81,0x1c,0x17,0x81,0x26,
+0x18,0x81,0x30,0x19,0x81,0xc6,0x1a,0x81,0xce,0x1b,0x81,0xd7,0x1c,0x81,0x39,0x1d,
+0x81,0x43,0x1e,0x81,0x4e,0x21,0x81,0x56,0x22,0x81,0x5e,0x23,0x81,0x66,0x24,0x81,
+0x6e,0x25,0x81,0x76,0x26,0x81,0x7e,0x27,0x81,0x86,0x28,0x81,0x8e,0x29,0x80,0xa3,
+0x2d,0x80,0xab,0x2e,0x81,0x96,0x2f,0x81,0xe0,0x30,0x81,0xe8,0x31,0x81,0xa6,0x32,
+0x81,0x9e,0x33,0x80,0xb3,0x34,0x81,0xae,0x36,0x81,0xb6,0x37,0x81,0xbe,0x38,0x00,
+0x00,0x81,0xf0,0x90,0x9e,0x71,0x12,0x43,0x5e,0xc1,0xe1,0x90,0x9e,0x71,0x12,0x43,
+0x5e,0x81,0x7c,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe1,0xe9,0x90,0x9e,0x71,0x12,0x43,
+0x5e,0xe1,0x35,0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0xae,0x90,0x9e,0x71,0x12,0x43,
+0x5e,0x02,0x88,0x31,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x7f,0xd0,0x90,0x9e,0x71,
+0x12,0x43,0x5e,0x02,0x7f,0xa2,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x64,0xb0,0x90,
+0x9e,0x71,0x12,0x43,0x5e,0x02,0x88,0x79,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0x08,
+0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0xc9,0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0x94,
+0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x88,0xc0,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,
+0x89,0x98,0x90,0x9e,0x71,0x12,0x43,0x5e,0x7f,0x01,0x80,0x2f,0x90,0x9e,0x71,0x12,
+0x43,0x5e,0x7f,0x02,0x80,0x25,0x90,0x9e,0x71,0x12,0x43,0x5e,0x7f,0x03,0x80,0x1b,
+0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x8b,0x1d,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe4,
+0xff,0x80,0x08,0x90,0x9e,0x71,0x12,0x43,0x5e,0x7f,0x04,0x02,0x8a,0x3b,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0xa1,0x2f,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0x56,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0xa1,0x7d,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0xa4,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0xa1,0xcb,0x90,0x9e,0x71,0x12,0x43,0x5e,0xa1,0xf2,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0xe1,0x63,0x90,0x9e,0x71,0x12,0x43,0x5e,0xc1,0x19,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0xc1,0x67,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe1,0x9a,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0xc1,0x8f,0x90,0x9e,0x71,0x12,0x43,0x5e,0xc1,0xb8,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0x80,0x42,0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0x82,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0xc1,0x40,0x90,0x9e,0x71,0x12,0x43,0x5e,0x61,0x77,0x90,0x9e,
+0x71,0x12,0x43,0x5e,0x02,0x7f,0xff,0x90,0x9e,0x71,0x12,0x43,0x5e,0x02,0x7f,0xb8,
+0x90,0x9e,0x71,0x12,0x43,0x5e,0x81,0xe8,0x90,0x9e,0x71,0x12,0x43,0x5e,0xe1,0x0b,
+0x90,0x01,0xc6,0xe0,0x44,0x01,0xf0,0x22,0x12,0x1f,0x04,0x60,0x44,0x90,0xfd,0x58,
+0xe0,0x20,0xe0,0x3d,0x90,0xfd,0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0x00,
+0x01,0x12,0x1f,0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd,
+0x53,0xf0,0xa3,0xe4,0xf0,0xa3,0x74,0xc0,0xf0,0xa3,0x74,0x10,0xf0,0xa3,0x74,0x80,
+0xf0,0x90,0xfd,0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0xfd,0x58,0x74,0x01,
+0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfe,0x90,0x00,0x01,0x12,0x1f,0x1d,0x7c,0x00,
+0x24,0x00,0xff,0xec,0x3e,0xfe,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0xfc,0x74,
+0x20,0x2f,0xff,0xe4,0x3e,0xfe,0x90,0x9e,0x74,0xef,0xf0,0xee,0xf9,0x90,0x02,0x09,
+0xe0,0xc3,0x13,0x90,0xfd,0x10,0xf0,0xec,0xc3,0x99,0x50,0x43,0xec,0x70,0x04,0x7d,
+0x04,0x80,0x02,0xe4,0xfd,0xed,0xc3,0x94,0x20,0x50,0x07,0xaf,0x05,0x51,0xcb,0x0d,
+0x80,0xf3,0x0c,0x90,0xfd,0x10,0xe0,0x04,0xf0,0xec,0xb5,0x01,0xda,0xe4,0xfd,0xed,
+0x75,0xf0,0x08,0xa4,0xff,0x90,0x9e,0x74,0xe0,0xfb,0xc3,0xef,0x9b,0x74,0x80,0xf8,
+0x65,0xf0,0x98,0x50,0x07,0xaf,0x05,0x51,0xcb,0x0d,0x80,0xe3,0x0c,0x80,0xb8,0x90,
+0x00,0x81,0xe0,0x44,0x80,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0x90,0xfd,0x58,0xe0,0x30,
+0xe0,0x08,0x90,0x01,0xb8,0xe0,0x04,0xf0,0x80,0xf1,0xef,0x75,0xf0,0x08,0xa4,0x24,
+0x00,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x50,0xf0,0xef,0x75,0xf0,
+0x08,0xa4,0x24,0x01,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x51,0xf0,
+0xef,0x75,0xf0,0x08,0xa4,0x24,0x02,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,
+0xfd,0x52,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x03,0xf5,0x82,0xe4,0x34,0xfc,0xf5,
+0x83,0xe0,0x90,0xfd,0x53,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x04,0xf5,0x82,0xe4,
+0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x54,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x05,
+0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x55,0xf0,0xef,0x75,0xf0,0x08,
+0xa4,0x24,0x06,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x56,0xf0,0xef,
+0x75,0xf0,0x08,0xa4,0x24,0x07,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,
+0x57,0xf0,0xa3,0x74,0x01,0xf0,0x22,0x90,0x9e,0x74,0x12,0x43,0x7e,0x12,0x1f,0x04,
+0x20,0xe0,0x1d,0x7d,0x08,0xe4,0xff,0x12,0x3a,0x54,0x90,0x06,0x90,0xe4,0xf0,0x12,
+0x8d,0xfb,0x90,0x01,0x3f,0x74,0x04,0xf0,0x90,0x02,0x86,0xe0,0x54,0xfb,0xf0,0x22,
+0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0xbc,
+0xe0,0x54,0xfe,0x4e,0xf0,0xef,0x54,0x04,0xff,0xe0,0x54,0xfb,0x4f,0xf0,0x12,0x1f,
+0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xbc,0xe0,0x54,0xfd,0x4e,0xf0,0xef,0x54,0x08,
+0xff,0xe0,0x54,0xf7,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x10,0xfe,0x90,0x9e,0xbc,
+0xe0,0x54,0xef,0x4e,0xf0,0xef,0x54,0x20,0xff,0xe0,0x54,0xdf,0x4f,0xf0,0x12,0x1f,
+0x04,0xff,0x54,0x40,0xfe,0x90,0x9e,0xbc,0xe0,0x54,0xbf,0x4e,0xf0,0xef,0x54,0x80,
+0xff,0xe0,0x54,0x7f,0x4f,0xf0,0x90,0x00,0x81,0xe4,0xf0,0x90,0x9e,0xbf,0xe0,0x54,
+0xfe,0xf0,0x90,0x06,0x09,0xe0,0x54,0xfe,0xf0,0x12,0x1f,0x04,0xc3,0x13,0x30,0xe0,
+0x07,0x90,0x06,0x90,0xe0,0x44,0x02,0xf0,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,
+0x04,0xff,0x13,0x13,0x54,0x3f,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0,0x44,0x04,0xf0,
+0xef,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0,0x44,0x08,0xf0,
+0x90,0x9e,0x9b,0xe0,0xb4,0x02,0x14,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xbd,
+0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x9e,0xbe,0xf0,0x90,0x02,0x86,0xe0,0x44,
+0x04,0xf0,0x43,0x57,0x04,0x7d,0x08,0xe4,0xff,0x02,0x3a,0xc5,0x12,0x1f,0x04,0xf5,
+0x67,0x22,0x12,0x1f,0x04,0x90,0xfe,0x10,0x60,0x05,0xe0,0x44,0x01,0xf0,0x22,0xe0,
+0x54,0xfe,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x0e,0x90,0x07,0x78,0xe0,0x54,0xfd,
+0xf0,0x90,0x9e,0x50,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x50,0xf0,0x22,0x12,0x1f,
+0x04,0x30,0xe0,0x07,0x54,0x01,0x90,0x9e,0xb2,0xf0,0x22,0x7d,0x10,0x7f,0x03,0x12,
+0x3a,0x71,0x7d,0x01,0x7f,0x02,0x02,0x3a,0xc5,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x17,
+0x90,0xfd,0x50,0x74,0x0d,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,
+0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,
+0x9e,0xb9,0xe0,0x54,0xfe,0x4e,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x0a,0x90,0x00,0x01,
+0x12,0x1f,0x1d,0x90,0x9e,0xba,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,
+0xfd,0x50,0x74,0x0c,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,
+0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,0xfd,0x58,0x04,0xf0,0x22,0x90,
+0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x17,0xf0,0xa3,0x74,0x01,0xf0,
+0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,
+0x74,0x18,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,
+0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,
+0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x19,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,
+0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1a,
+0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,
+0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,
+0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1b,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,
+0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,
+0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1c,0xf0,0xa3,
+0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,
+0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,
+0x90,0xfd,0x50,0x74,0x1e,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,
+0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,
+0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x23,0xf0,0xa3,0x74,0x01,
+0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,
+0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0xe4,0xfc,0xfd,0xfe,0x78,
+0x18,0x12,0x1f,0xc4,0xa8,0x04,0xa9,0x05,0xaa,0x06,0xab,0x07,0x90,0x9e,0x4a,0x12,
+0x43,0x46,0xec,0x54,0x03,0xfc,0x12,0x43,0x19,0x90,0x9e,0x46,0x02,0x1f,0xd7,0x90,
+0xfd,0x58,0xe0,0x20,0xe0,0x21,0x90,0xfd,0x50,0x74,0x1f,0xf0,0xa3,0x74,0x01,0xf0,
+0x12,0x1f,0x04,0x54,0x01,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x21,0x90,
+0xfd,0x50,0x74,0x20,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x54,0x01,0x90,0xfd,
+0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,
+0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,
+0xb0,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x9e,0xa0,0xf0,0x12,0x1f,0x04,0x65,
+0x6a,0x60,0x03,0x12,0x4d,0xa5,0xd0,0xd0,0x92,0xaf,0x22,0x12,0x1f,0x04,0xff,0x54,
+0x01,0xfe,0x90,0x9e,0xb4,0xe0,0x54,0xfe,0x4e,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x14,
+0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xb5,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0x9e,0xb6,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x18,0xc3,0x13,0x54,0x7f,0x90,
+0x9e,0xab,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x90,0x9e,0xa9,0xe4,0xf0,0xa3,
+0xef,0xf0,0x22,0x90,0x9e,0xab,0x74,0x07,0xf0,0x90,0x9e,0xa9,0xe4,0xf0,0xa3,0x74,
+0x0b,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x2f,0x90,0xfd,0x50,0x74,0x1d,0xf0,
+0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0x90,0x00,0x01,0x12,0x1f,
+0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd,0x54,0xf0,0xa3,
+0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,
+0x3b,0x12,0x1f,0x04,0x90,0xfd,0x50,0xf0,0xa3,0x74,0x04,0xf0,0x90,0x00,0x01,0x12,
+0x1f,0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,
+0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x54,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,
+0x90,0xfd,0x55,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0xe4,0x90,0x9d,
+0xa8,0xf0,0xa3,0xf0,0x90,0x01,0xaf,0xf0,0x22,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,
+0x30,0xe0,0x25,0x12,0x1f,0x04,0x90,0x9e,0xa7,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,
+0x90,0x9e,0xa8,0xf0,0xef,0xc3,0x13,0x54,0x7f,0x90,0x9e,0xa6,0xf0,0x90,0x00,0x03,
+0x12,0x1f,0x1d,0x90,0x9e,0xac,0xf0,0x22,0x90,0x9e,0xa7,0x74,0x01,0xf0,0x90,0x9e,
+0xa8,0x74,0x03,0xf0,0x90,0x9e,0xa6,0x74,0x14,0xf0,0x90,0x9e,0xac,0x74,0x05,0xf0,
+0x22,0x90,0x02,0x09,0xe0,0xfd,0x12,0x1f,0x04,0xfe,0xaf,0x05,0xed,0x2e,0x90,0x9e,
+0x95,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0x96,0xf0,0x90,
+0x00,0x02,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0x97,0xf0,0x90,0x00,0x03,0x12,
+0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0x98,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,
+0xae,0x05,0xed,0x2f,0x90,0x9e,0x99,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x3f,
+0x90,0xfd,0x50,0x74,0x0b,0xf0,0xa3,0x74,0x05,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,
+0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,
+0x1d,0x90,0xfd,0x54,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x55,0xf0,0x90,
+0x00,0x04,0x12,0x1f,0x1d,0x90,0xfd,0x56,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,
+0x90,0x07,0x78,0xe0,0x44,0x0c,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe0,0x75,0x90,0xfd,
+0x58,0xe0,0x20,0xe0,0x10,0x90,0xfd,0x50,0x74,0x14,0xf0,0xa3,0x74,0x01,0xf0,0xa3,
+0xf0,0x90,0xfd,0x58,0xf0,0x90,0x9e,0x43,0xe0,0x44,0x08,0xf0,0xef,0x30,0xe1,0x0d,
+0xe0,0x44,0x01,0xf0,0x90,0x07,0x78,0xe0,0x54,0xfd,0xf0,0x80,0x07,0x90,0x07,0x78,
+0xe0,0x44,0x02,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe2,0x1e,0x90,0x9e,0x43,0xe0,0x44,
+0x04,0xf0,0x90,0x04,0x26,0xe0,0x44,0x40,0xf0,0x90,0x07,0x78,0xe0,0x54,0xef,0xf0,
+0x90,0x07,0x83,0xe0,0x44,0x40,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x44,0x10,0xf0,
+0xef,0x30,0xe4,0x63,0x90,0x9e,0x43,0xe0,0x44,0x02,0xf0,0x90,0x04,0x26,0xe0,0x44,
+0x80,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x12,0x90,0xfd,0x50,0x74,0x14,0xf0,
+0xa3,0x74,0x01,0xf0,0xa3,0xe4,0xf0,0x90,0xfd,0x58,0x04,0xf0,0x90,0x9e,0x43,0xe0,
+0x54,0xfe,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xf7,0xf0,0x90,
+0x07,0x78,0xe0,0x54,0xe3,0xf0,0x90,0x07,0x83,0xe0,0x54,0x3f,0xf0,0x90,0x04,0x26,
+0xe0,0x54,0x3f,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12,0x1f,0xd7,
+0x7f,0x80,0x7e,0x08,0x12,0x34,0x55,0x22,0x12,0x1f,0x04,0xff,0x30,0xe0,0x4b,0x90,
+0x07,0x78,0xe0,0x44,0x02,0xf0,0x90,0x07,0x83,0xe0,0x44,0x02,0xf0,0x90,0x07,0x78,
+0xe0,0x44,0x80,0x54,0xbf,0xf0,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a,0x90,0xfd,0x50,
+0x74,0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0xef,0x30,0xe1,0x5f,0x90,0x9e,0x43,0xe0,0x44,
+0x02,0xf0,0x90,0x07,0x95,0xe0,0x44,0x06,0xf0,0x22,0x90,0x9e,0x43,0xe0,0x54,0xfd,
+0xf0,0x90,0x07,0x78,0xe0,0x54,0x3f,0xf0,0x90,0x07,0x83,0xe0,0x54,0xfd,0xf0,0x90,
+0x07,0x95,0xe0,0x54,0xf9,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12,
+0x1f,0xd7,0x7f,0x80,0x7e,0x08,0x12,0x34,0x55,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a,
+0x90,0xfd,0x50,0x74,0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,
+0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0xef,0x70,0x21,0x12,0x1f,
+0x04,0x30,0xe0,0x14,0x90,0x00,0x40,0xe0,0x44,0x20,0xf0,0xe0,0x54,0x3f,0xf0,0x90,
+0x07,0x78,0xe0,0x44,0x01,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x54,0xfe,0xf0,0xef,
+0x64,0x01,0x70,0x6a,0x12,0x1f,0x04,0x90,0x00,0x01,0x30,0xe0,0x2e,0x12,0x1f,0x1d,
+0x90,0x06,0xc0,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc1,0xf0,0x90,0x00,
+0x03,0x12,0x1f,0x1d,0x90,0x06,0xc2,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06,
+0xc3,0xf0,0x90,0x06,0xcc,0xe0,0x54,0xfe,0xf0,0x80,0x2c,0x12,0x1f,0x1d,0x90,0x06,
+0xc4,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc5,0xf0,0x90,0x00,0x03,0x12,
+0x1f,0x1d,0x90,0x06,0xc6,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06,0xc7,0xf0,
+0x90,0x06,0xcc,0xe0,0x44,0x01,0xf0,0x90,0x06,0xcc,0xe0,0x44,0x02,0xf0,0xef,0xb4,
+0x02,0x11,0x12,0x1f,0x04,0x90,0x06,0xc8,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,
+0x06,0xc9,0xf0,0xef,0xb4,0x03,0x11,0x12,0x1f,0x04,0x90,0x06,0xca,0xf0,0x90,0x00,
+0x01,0x12,0x1f,0x1d,0x90,0x06,0xcb,0xf0,0xef,0x64,0x04,0x70,0x1f,0x12,0x1f,0x04,
+0xff,0x90,0x07,0x83,0x30,0xe0,0x06,0xe0,0x44,0x10,0xf0,0x80,0x04,0xe0,0x54,0x6f,
+0xf0,0xef,0x30,0xe1,0x07,0x90,0x07,0x83,0xe0,0x44,0x80,0xf0,0x22,0x90,0x9e,0x74,
+0x12,0x43,0x7e,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x37,0x90,0xfd,0x50,0x74,0x11,0xf0,
+0xa3,0x74,0x03,0xf0,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04,0x90,0xfd,0x52,
+0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,
+0x1d,0x90,0xfd,0x54,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x80,
+0x16,0x43,0x57,0x01,0x78,0xaa,0x7c,0x9d,0x7d,0x01,0x90,0x9e,0x74,0x12,0x43,0x5e,
+0x7e,0x00,0x7f,0x03,0x12,0x1e,0xde,0x90,0x9e,0x74,0x12,0x43,0x5e,0x12,0x1f,0x04,
+0x60,0x07,0x90,0x9e,0x51,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x51,0xf0,0x22,0x90,
+0x05,0x22,0x74,0xff,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xd8,0x74,
+0x04,0xf0,0x22,0x12,0x67,0x9e,0x90,0x9e,0xd8,0x74,0x04,0xf0,0x22,0x90,0x05,0x22,
+0x74,0xff,0xf0,0x90,0x9e,0xd2,0x74,0x05,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,
+0x90,0x9e,0xd2,0x74,0x02,0xf0,0x22,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x05,
+0x22,0x74,0x6f,0xf0,0x90,0x9e,0xd2,0x74,0x06,0xf0,0x22,0x90,0x01,0x57,0xe0,0x60,
+0x3c,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0xb1,0xe0,
+0x60,0x07,0xe4,0xf0,0x53,0x6b,0xfd,0x80,0x24,0x90,0x9e,0xa2,0xe0,0x04,0xf0,0x53,
+0x6b,0xef,0x90,0x9e,0xa7,0xe0,0xff,0x90,0x9e,0xa2,0xe0,0xd3,0x9f,0x40,0x0e,0xe5,
+0x67,0xb4,0x01,0x09,0x90,0x9e,0xa3,0xe0,0x70,0x03,0xe0,0x04,0xf0,0x90,0x01,0x5b,
+0xe0,0x60,0x10,0x90,0x01,0x5b,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x04,0xf0,0xe4,0x90,
+0x9e,0xae,0xf0,0x90,0x01,0x5f,0xe0,0x60,0x10,0x90,0x01,0x5f,0xe4,0xf0,0x90,0x01,
+0x3c,0x74,0x08,0xf0,0xe4,0x90,0x9e,0xad,0xf0,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,
+0xd0,0x90,0x9f,0x19,0xef,0xf0,0xd3,0x94,0x07,0x50,0x47,0xe0,0xff,0x74,0x01,0xa8,
+0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x46,0xe0,0x5f,0xf0,
+0x12,0x4e,0x94,0x90,0x9f,0x19,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05,0x08,0x80,
+0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x44,0xe0,0xfb,0xe4,0xfe,
+0xef,0x5b,0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8,0xf8,0xff,
+0x80,0x4c,0x90,0x9f,0x19,0xe0,0x24,0xf8,0xf0,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,
+0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x62,0xe0,0x5f,0xf0,0x12,0x4e,
+0x94,0x90,0x9f,0x19,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05,0x08,0x80,0x05,0xc3,
+0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x60,0xe0,0xfb,0xe4,0xfe,0xef,0x5b,
+0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8,0xf8,0xff,0xd0,0xd0,
+0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f,0x11,0xed,0xf0,0x90,
+0x9f,0x10,0xef,0xf0,0xd3,0x94,0x07,0x50,0x4f,0xa3,0xe0,0x70,0x1a,0x90,0x9f,0x10,
+0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,
+0x00,0x47,0xe0,0x5f,0xf0,0x80,0x17,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07,
+0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x47,0xe0,0x4f,0xf0,0x12,0x4e,
+0x94,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,
+0xfc,0xf4,0xff,0x90,0x00,0x46,0x80,0x67,0x90,0x9f,0x10,0xe0,0x24,0xf8,0xf0,0xa3,
+0xe0,0x70,0x1a,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,
+0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x63,0xe0,0x5f,0xf0,0x80,0x17,0x90,0x9f,0x10,
+0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,
+0x63,0xe0,0x4f,0xf0,0x12,0x4e,0x94,0x90,0x9f,0x10,0xe0,0xff,0x74,0x01,0xa8,0x07,
+0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x12,0x4e,0x8c,0x90,0x9f,0x10,0xe0,0xff,0x74,
+0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x62,0xe0,
+0x5f,0xf0,0x12,0x4e,0x94,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0xb4,0xe0,0x54,0xfe,
+0xf0,0xe4,0x90,0x9e,0xb7,0xf0,0xa3,0xf0,0x90,0x9e,0xb5,0x74,0x03,0xf0,0xa3,0xf0,
+0x22,0xe4,0x90,0x9e,0xbb,0xf0,0x90,0x9e,0xb9,0xe0,0x54,0x7f,0xf0,0xa3,0x74,0x0a,
+0xf0,0x22,0x90,0x9e,0xb9,0xe0,0x54,0xfe,0xf0,0x80,0xe6,0x90,0x9e,0xbc,0xe0,0x54,
+0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xf7,0xf0,0xe0,0x54,
+0xef,0xf0,0xe0,0x54,0xdf,0xf0,0xe0,0x54,0xbf,0xf0,0xe0,0x54,0x7f,0xf0,0xe4,0xa3,
+0xf0,0xa3,0xf0,0xa3,0xe0,0x54,0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0x90,0x01,0x17,0xe0,
+0xfe,0x90,0x01,0x16,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0xc0,0xf0,
+0xa3,0xef,0xf0,0x90,0x01,0x04,0xe0,0x54,0x0f,0x90,0x9e,0x77,0xf0,0xe0,0xff,0x74,
+0x40,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0x90,
+0x9e,0xc3,0xf0,0xee,0x90,0x9e,0xc2,0xf0,0x22,0x75,0xe8,0x07,0x90,0xfd,0x68,0x74,
+0x02,0xf0,0x90,0x9e,0x43,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0x54,0xfd,0xf0,0x54,
+0xf7,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0x12,0x1f,0xe3,0x00,0x00,0x00,0x00,0x7f,
+0x80,0x7e,0x08,0x12,0x2c,0x87,0x90,0x9e,0x4a,0x12,0x1f,0xd7,0x90,0x00,0x2e,0xe0,
+0x90,0x9e,0x4e,0xf0,0x90,0x00,0x2d,0xe0,0x90,0x9e,0x4f,0xf0,0xe4,0xa3,0xf0,0xa3,
+0xf0,0x90,0x04,0x26,0xe0,0x44,0x10,0xf0,0x90,0x07,0x83,0xe4,0xf0,0x90,0x07,0x78,
+0x74,0x03,0xf0,0x7d,0x04,0x7f,0x02,0x02,0x3a,0xdf,0x90,0xfd,0x58,0xe0,0x20,0xe0,
+0x2d,0x90,0xfd,0x50,0x74,0x11,0xf0,0xa3,0x74,0x04,0xf0,0x90,0x9d,0xaa,0xe0,0x90,
+0xfd,0x52,0xf0,0x90,0x9d,0xab,0xe0,0x90,0xfd,0x53,0xf0,0x90,0x9d,0xac,0xe0,0x90,
+0xfd,0x54,0xf0,0xa3,0x74,0x28,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x43,0x57,
+0x01,0x22,0xae,0x07,0x90,0x9e,0x62,0xe0,0x54,0xf0,0x44,0x04,0xf0,0x54,0x0f,0x44,
+0x20,0xf0,0x90,0x9e,0x64,0xee,0xf0,0xa3,0xed,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x64,
+0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x62,0x02,0x48,0xde,0xad,0x07,0x90,
+0x9e,0x5a,0xe0,0x54,0xf0,0x44,0x05,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x5c,
+0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x5c,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,
+0x79,0x5a,0x02,0x48,0xde,0xad,0x07,0x90,0x9e,0x62,0xe0,0x54,0xf0,0x44,0x07,0xf0,
+0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x64,0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x64,
+0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x62,0x02,0x48,0xde,0xad,0x07,0x90,
+0x9e,0x62,0xe0,0x54,0xf0,0x44,0x09,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x64,
+0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x64,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,
+0x79,0x62,0x02,0x48,0xde,0x90,0x9e,0xdd,0xe0,0x54,0xf0,0x44,0x0a,0xf0,0x90,0xfd,
+0x60,0xe0,0x90,0x9e,0xdf,0xf0,0x90,0xfd,0x62,0xe0,0x90,0x9e,0xe0,0xf0,0x90,0xfd,
+0x63,0xe0,0x90,0x9e,0xe1,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x9e,0xe2,0xf0,0x90,0xfd,
+0x65,0xe0,0x90,0x9e,0xe3,0xf0,0x90,0xfd,0x60,0xe0,0x90,0x9e,0xdd,0x30,0xe6,0x08,
+0xe0,0x54,0x0f,0x44,0x50,0xf0,0x80,0x16,0xe0,0x54,0x0f,0x44,0x70,0xf0,0x90,0xfd,
+0x66,0xe0,0x90,0x9e,0xe4,0xf0,0x90,0xfd,0x67,0xe0,0x90,0x9e,0xe5,0xf0,0x7b,0x01,
+0x7a,0x9e,0x79,0xdf,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,0x79,0xdd,0x02,0x48,
+0xde,0x90,0x9e,0x62,0xef,0xf0,0xa3,0xe0,0x54,0xf0,0x44,0x0c,0xf0,0x54,0x0f,0x44,
+0x10,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62,0x90,0x9e,0xf5,0x12,0x43,0x7e,0x7a,0x9e,
+0x09,0x02,0x48,0xde,0x90,0x00,0x75,0xe0,0x44,0x01,0xf0,0x7f,0x01,0x7e,0x00,0x12,
+0x3a,0xaa,0x90,0xfe,0x13,0x74,0x03,0xf0,0x7f,0x02,0x7e,0x00,0x12,0x3a,0xaa,0x90,
+0xfe,0x13,0xe4,0xf0,0x90,0x00,0x75,0xe0,0x54,0xfe,0xf0,0x22,0x1b,0x4f,};
+
+
+ //WiFi for BT MP New FW 0326
+const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength] = {
+0x02, 0x23, 0x02, 0x00, 0x22, 0x00, 0x00, 0x00, 0x05, 0x15, 0x14, 0x10, 0x14, 0x47, 0x01, 0x00,
+0x74, 0x24, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x4A, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x61, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x67, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x68, 0x55, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x6F, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xE4, 0xFB, 0x90, 0x85, 0x76, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x50, 0x70, 0x03,
+0x02, 0x43, 0x8F, 0xE5, 0x4D, 0x64, 0x01, 0x60, 0x03, 0x02, 0x43, 0x8F, 0xE5, 0x50, 0x14, 0x60,
+0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02, 0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x85, 0x59,
+0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3, 0xE0, 0x60, 0x14, 0x90, 0x85, 0x59, 0xE0, 0x70, 0x08,
+0x90, 0x85, 0x70, 0xE0, 0x90, 0x85, 0x59, 0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70,
+0x03, 0x02, 0x43, 0x8F, 0x43, 0x51, 0x10, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xC3, 0x9F, 0x50, 0x08,
+0xE4, 0xF5, 0x48, 0x90, 0x85, 0x50, 0x80, 0x2D, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x54, 0x07, 0xFF,
+0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x85, 0x71, 0xE0, 0xC3, 0x9F, 0xEE, 0x64,
+0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x53, 0x80, 0x06, 0xE4,
+0xF5, 0x48, 0x90, 0x85, 0x50, 0xE0, 0x80, 0x2D, 0x90, 0x85, 0x71, 0xE0, 0x64, 0x01, 0x60, 0x03,
+0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0xFF, 0x90, 0x85, 0x68, 0xE0, 0x2F,
+0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90,
+0x85, 0x68, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x4E, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07,
+0x7D, 0x01, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0xE5, 0x4E, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x85, 0x2B,
+0xE0, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xD3, 0x9F, 0x40, 0x08, 0x90, 0x85, 0x2C, 0xE0, 0x04, 0xF0,
+0x80, 0x05, 0xE4, 0x90, 0x85, 0x2C, 0xF0, 0x90, 0x85, 0x71, 0xE0, 0x90, 0x85, 0x2B, 0xF0, 0xA3,
+0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, 0xF0, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90, 0x85,
+0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x85, 0x72, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12,
+0x49, 0xC2, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x6E, 0x80, 0x09,
+0x43, 0x51, 0x01, 0x12, 0x50, 0xA5, 0x90, 0x85, 0x6A, 0x74, 0x01, 0xF0, 0x12, 0x84, 0xC4, 0x22,
+0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28,
+0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09,
+0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9,
+0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22,
+0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83,
+0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE,
+0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0,
+0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xEF, 0x5B, 0xFF,
+0xEE, 0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE,
+0xED, 0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD,
+0xCC, 0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0,
+0xE8, 0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF,
+0x22, 0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82,
+0xF5, 0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0,
+0xF9, 0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82,
+0x70, 0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9,
+0xF0, 0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D,
+0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93,
+0x68, 0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70,
+0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88,
+0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3,
+0xA3, 0xA3, 0xA3, 0x80, 0xD8, 0x90, 0x85, 0x60, 0xE0, 0x60, 0x16, 0x90, 0x85, 0x63, 0xE0, 0x70,
+0x10, 0x90, 0x85, 0x5D, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09,
+0xF0, 0x22, 0x22, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x85, 0x7A, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x50, 0x70, 0x03, 0x02, 0x45, 0xD5, 0xE5, 0x4D, 0x64, 0x01,
+0x60, 0x03, 0x02, 0x45, 0xD5, 0x0B, 0x90, 0x85, 0x59, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x45, 0xD5,
+0x43, 0x51, 0x10, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A,
+0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90,
+0x85, 0x50, 0xE0, 0xF5, 0x49, 0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x4F, 0xE0,
+0x54, 0x0F, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x85,
+0x50, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x85, 0x71, 0xE0, 0x64, 0x01,
+0x60, 0x03, 0xE0, 0x70, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0xFF, 0x90, 0x85, 0x68,
+0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0x14,
+0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x85, 0x68, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD,
+0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x4E, 0x54,
+0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0x12, 0x84, 0xC4,
+0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0x7A, 0xF0, 0xE5, 0x50, 0x70, 0x03, 0x02,
+0x46, 0x8F, 0x90, 0x85, 0x73, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x51, 0xFD, 0xE5, 0x51, 0x54,
+0x07, 0x60, 0x03, 0x02, 0x46, 0x8F, 0x02, 0x46, 0x8C, 0x90, 0x85, 0x5A, 0xE0, 0x04, 0xF0, 0x53,
+0x51, 0xEF, 0x90, 0x85, 0x71, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x85, 0x71, 0xE0, 0xFF, 0x90, 0x85, 0x4F, 0xE0, 0x54, 0x0F,
+0xB5, 0x07, 0x0A, 0x90, 0x85, 0x52, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x85, 0x4F,
+0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x85, 0x71,
+0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90,
+0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x85, 0x7A, 0x74,
+0x5A, 0xF0, 0x90, 0x85, 0x7A, 0xE0, 0xFF, 0x90, 0x85, 0x61, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE,
+0x90, 0x85, 0x5A, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5,
+0x4D, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x51, 0x63, 0x22,
+0xE4, 0xF5, 0x51, 0xF5, 0x50, 0x75, 0x4F, 0x0C, 0x75, 0x4E, 0x0C, 0x90, 0x85, 0x72, 0xF0, 0x90,
+0x85, 0x6E, 0xF0, 0x90, 0x85, 0x6B, 0xF0, 0x90, 0x85, 0x70, 0x04, 0xF0, 0x90, 0x85, 0x59, 0xF0,
+0xE4, 0x90, 0x85, 0x73, 0xF0, 0x90, 0x85, 0x5B, 0xF0, 0x90, 0x85, 0x68, 0x74, 0x05, 0xF0, 0xE4,
+0x90, 0x85, 0x5A, 0xF0, 0x90, 0x85, 0x66, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x85, 0x61, 0xF0,
+0x90, 0x85, 0x64, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x5E, 0x74, 0x14, 0xF0, 0x90, 0x85, 0x69, 0x74,
+0x05, 0xF0, 0xE4, 0x90, 0x85, 0x5C, 0xF0, 0x90, 0x85, 0x55, 0xF0, 0x90, 0x85, 0xC4, 0xF0, 0x90,
+0x85, 0x65, 0xF0, 0x90, 0x85, 0x75, 0xF0, 0x90, 0x85, 0x71, 0xF0, 0x90, 0x85, 0x56, 0xF0, 0x90,
+0x85, 0x6F, 0xF0, 0x90, 0x85, 0x60, 0xF0, 0x90, 0x85, 0x5D, 0xF0, 0x90, 0x85, 0x6A, 0xF0, 0x90,
+0x85, 0x63, 0xF0, 0x90, 0x85, 0x5F, 0xF0, 0x90, 0x85, 0x74, 0xF0, 0x90, 0x85, 0x62, 0xF0, 0x90,
+0x85, 0xC3, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x85, 0x4F, 0xE0, 0x54,
+0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90,
+0x85, 0x53, 0xF0, 0x90, 0x85, 0x52, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, 0x74, 0x21, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6B,
+0x90, 0x85, 0x43, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74,
+0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, 0x23, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, 0x21, 0x2F, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13,
+0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0C, 0x74,
+0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, 0x85, 0x2D, 0xE0,
+0x30, 0xE0, 0x22, 0x90, 0x85, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, 0x40, 0xF0, 0x02,
+0x48, 0x86, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, 0x90, 0x85, 0x65,
+0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x50, 0xFB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9,
+0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x51, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02,
+0xF0, 0x80, 0x53, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74,
+0x04, 0xF0, 0x80, 0x42, 0xE5, 0x51, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80,
+0x35, 0xE5, 0x51, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90, 0x85,
+0x5B, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x85, 0x65, 0xE0,
+0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90,
+0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0xE4,
+0x90, 0x85, 0x76, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x85, 0x76, 0xF0, 0xE0, 0x54, 0xC0, 0x70,
+0x18, 0x90, 0x85, 0x6A, 0xE0, 0x70, 0x03, 0x53, 0x51, 0xFE, 0x53, 0x51, 0xFD, 0x90, 0x85, 0x2D,
+0xE0, 0x20, 0xE0, 0x14, 0x12, 0x51, 0x63, 0x80, 0x0F, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90,
+0x85, 0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x85, 0x76, 0xE0, 0x30, 0xE6, 0x1B, 0x43,
+0x51, 0x01, 0x90, 0x85, 0x72, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x4E, 0x64, 0x0C, 0x60, 0x13,
+0x12, 0x50, 0xA5, 0x80, 0x0E, 0x12, 0x4F, 0xD4, 0x80, 0x09, 0x90, 0x85, 0x6A, 0xE0, 0x70, 0x03,
+0x53, 0x51, 0xFE, 0xE4, 0x90, 0x85, 0x6A, 0xF0, 0x90, 0x85, 0x76, 0xE0, 0x30, 0xE7, 0x2A, 0x43,
+0x51, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x64, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x73, 0x74, 0x01,
+0xF0, 0x90, 0x85, 0x32, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x51, 0xFD, 0x22, 0x8E, 0x25, 0x8F,
+0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0x48, 0xAF, 0x26, 0xAE, 0x25, 0x90, 0x04,
+0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F,
+0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F,
+0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0,
+0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED,
+0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x5C, 0x8D,
+0x5D, 0xE5, 0x5C, 0x54, 0x0F, 0xFF, 0xE5, 0x4E, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x5C, 0x30,
+0xE2, 0x30, 0xE5, 0x4E, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x50, 0xE1, 0xE5, 0x4E, 0x30, 0xE3,
+0x10, 0xE5, 0x5C, 0x20, 0xE3, 0x0B, 0x12, 0x4C, 0xB2, 0xEF, 0x60, 0x53, 0x12, 0x51, 0x14, 0x80,
+0x4E, 0xE5, 0x4E, 0x20, 0xE3, 0x49, 0xE5, 0x5C, 0x30, 0xE3, 0x44, 0xAF, 0x5D, 0x12, 0x50, 0xC6,
+0x80, 0x3D, 0xE5, 0x4E, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x5C, 0x20, 0xE3, 0x09, 0x12,
+0x4C, 0xB2, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0x14, 0xE5, 0x4E, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E,
+0xE5, 0x5C, 0x20, 0xE2, 0x09, 0x12, 0x47, 0xEC, 0xEF, 0x60, 0x14, 0x12, 0x50, 0x7C, 0xE5, 0x4E,
+0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0x54, 0xEF, 0x60, 0x03, 0x12, 0x51, 0x44, 0xD0,
+0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4A, 0x92, 0x02, 0x52, 0x40, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93,
+0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8,
+0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04,
+0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20,
+0x40, 0x80, 0x90, 0x4E, 0xD2, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30,
+0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0,
+0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8,
+0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83,
+0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, 0x78, 0x7F, 0x02,
+0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, 0x74, 0x03, 0xF0,
+0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x01, 0x57,
+0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x49, 0xC2, 0x90, 0x06, 0x04, 0xE0, 0x54,
+0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0,
+0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A,
+0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90,
+0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4E, 0x85, 0xE5, 0x4D, 0x20, 0xE0, 0x05, 0xE4, 0x90,
+0x85, 0x5B, 0xF0, 0x22, 0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x50, 0xFB, 0xEF, 0x64,
+0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14, 0x60, 0x08, 0x90,
+0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08,
+0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01,
+0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80, 0x07, 0x90, 0x02,
+0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, 0x90, 0x85, 0x5C,
+0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0,
+0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, 0x7F, 0x00, 0x22,
+0xE5, 0x4D, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x50, 0x60, 0x67, 0xE5, 0x50, 0x64, 0x02, 0x60, 0x06,
+0xE5, 0x50, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x85, 0x59, 0xF0, 0x90, 0x06,
+0xAA, 0xE0, 0x90, 0x85, 0x70, 0xF0, 0x90, 0x85, 0x59, 0xE0, 0x70, 0x07, 0x90, 0x85, 0x70, 0xE0,
+0xFF, 0x80, 0x05, 0x90, 0x85, 0x59, 0xE0, 0xFF, 0x90, 0x85, 0x59, 0xEF, 0xF0, 0x90, 0x85, 0x5B,
+0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x85, 0x5A, 0xF0, 0x90, 0x85, 0x71, 0xF0, 0x90, 0x05,
+0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x53,
+0x51, 0xFD, 0x53, 0x51, 0xEF, 0xE5, 0x50, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x03, 0x12, 0x48,
+0x8F, 0x22, 0x90, 0x85, 0xC3, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, 0x90, 0x85, 0xC3,
+0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0xE4, 0xFD, 0x7F, 0x93, 0x12, 0x53, 0x26, 0x90, 0x00,
+0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0x26, 0x90, 0x00, 0x28, 0xE0, 0x54, 0xFC,
+0xFD, 0x7F, 0x28, 0x12, 0x53, 0x26, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, 0x7F, 0x08, 0x12,
+0x53, 0x26, 0x7F, 0x01, 0x12, 0x4D, 0xDE, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, 0xFD, 0xE4, 0xFF,
+0x12, 0x53, 0x26, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0x26, 0x90,
+0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0x26, 0x7F, 0x14, 0x7E, 0x00, 0x02,
+0x3B, 0x09, 0x90, 0x85, 0x2D, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x85, 0x32, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12, 0x50, 0xFB, 0xEF,
+0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, 0x85, 0x6E, 0xE0,
+0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x85, 0x6B, 0xE0, 0x60, 0x08,
+0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x04, 0x40,
+0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, 0x01,
+0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x85,
+0xA1, 0x12, 0x44, 0x89, 0x12, 0x51, 0x57, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6,
+0xF5, 0x50, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, 0x70, 0x44, 0x7F,
+0x01, 0x80, 0x3D, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD,
+0xE4, 0xFF, 0x12, 0x4F, 0x96, 0x80, 0x29, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x4F, 0x96, 0x1F, 0x80, 0x14, 0x90, 0x85, 0xA1, 0x12,
+0x44, 0x69, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x4F, 0x96, 0xE4, 0xFF,
+0x12, 0x4A, 0xD7, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24, 0x90, 0x85, 0x56,
+0xE0, 0x60, 0x09, 0x90, 0x85, 0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x04, 0x1D, 0xE0,
+0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x51, 0xBF, 0x01,
+0x0D, 0x90, 0x85, 0xBC, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x2E, 0x12, 0x49, 0x2D, 0x90, 0x05,
+0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x85, 0xBC, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x2E,
+0x12, 0x49, 0x2D, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x60,
+0xE4, 0x90, 0x86, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02,
+0x7F, 0x01, 0xEF, 0x65, 0x60, 0x60, 0x3E, 0xC3, 0x90, 0x86, 0x45, 0xE0, 0x94, 0x88, 0x90, 0x86,
+0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x86,
+0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3,
+0x90, 0x86, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x86, 0x44, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01,
+0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x20, 0x12,
+0x53, 0x26, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, 0x54, 0xDF, 0xFD,
+0xE4, 0xFF, 0x12, 0x53, 0x26, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, 0x28, 0x12, 0x53,
+0x26, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x53, 0x26, 0xE4, 0xFF, 0x12,
+0x4D, 0xDE, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, 0x44, 0xC0, 0xFD,
+0x7F, 0x29, 0x02, 0x53, 0x26, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, 0x22, 0xE0, 0x30,
+0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, 0xE3, 0x13, 0x7F,
+0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, 0x02, 0x80, 0x02,
+0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x85, 0x67, 0xE0, 0x9D, 0x90, 0x85, 0x66, 0xE0, 0x94, 0x00,
+0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x85, 0x66, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58,
+0xF0, 0x22, 0x48, 0x85, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x85, 0xA9,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x85, 0xB1, 0x00, 0x41, 0x85, 0xC0, 0x00,
+0x41, 0x85, 0xA6, 0x00, 0x41, 0x86, 0x4C, 0x00, 0x41, 0x85, 0x2B, 0x00, 0x41, 0x85, 0x2C, 0x00,
+0x41, 0x84, 0x01, 0x00, 0x41, 0x84, 0x02, 0x00, 0x41, 0x84, 0x00, 0x00, 0x41, 0x86, 0x3D, 0x00,
+0x41, 0x86, 0x4A, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x85, 0x6F, 0x74,
+0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x86, 0x31, 0x12, 0x1F, 0xC9, 0x90,
+0x86, 0x31, 0x12, 0x44, 0x45, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x86, 0x31, 0x12, 0x1F, 0xC9, 0x90,
+0x86, 0x31, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12,
+0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x50, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x35,
+0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90, 0x85, 0x6F,
+0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x12, 0x84, 0xC4, 0x90, 0x85, 0x72, 0xE0, 0x60, 0x06, 0x7D,
+0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x4E, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01,
+0x7F, 0x04, 0x12, 0x49, 0xC6, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, 0x24, 0x02, 0x70,
+0x32, 0x80, 0x0A, 0x90, 0x85, 0x70, 0x74, 0x01, 0xF0, 0x90, 0x85, 0x59, 0xF0, 0xE4, 0x90, 0x85,
+0x75, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x85, 0x69, 0xE0, 0x90, 0x85, 0x70, 0xF0, 0x80, 0x05,
+0x90, 0x85, 0x70, 0xED, 0xF0, 0x90, 0x85, 0x70, 0xE0, 0x90, 0x85, 0x59, 0xF0, 0x90, 0x85, 0x75,
+0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4,
+0xF5, 0x48, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x90, 0x85,
+0x6B, 0x14, 0xF0, 0xE5, 0x4E, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12, 0x49, 0xC2, 0x22,
+0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E,
+0x90, 0x85, 0x57, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, 0xFF, 0x74, 0x40,
+0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x90, 0x85,
+0x6D, 0xF0, 0xEE, 0x90, 0x85, 0x6C, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x85, 0xC2, 0xE0, 0x90,
+0x86, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x85, 0xC2, 0xE0, 0x90, 0x86, 0x35, 0x60, 0x09, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x01, 0x10, 0x7B,
+0x01, 0x7A, 0x86, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x11, 0x90, 0x01, 0x37, 0x74,
+0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x51, 0xEF, 0x70, 0x06, 0x90, 0x01,
+0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x54, 0x08, 0x53, 0x4E,
+0xF0, 0x43, 0x4E, 0x02, 0x22, 0x90, 0x85, 0x5F, 0xE0, 0x70, 0x1A, 0x90, 0x04, 0x1D, 0xE0, 0x70,
+0x14, 0x90, 0x85, 0xBB, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x2E, 0x8E, 0x5E, 0x8F, 0x5F, 0x90,
+0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A,
+0xE5, 0x4D, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4D, 0x84, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x0C,
+0x22, 0x90, 0x86, 0x4D, 0xEF, 0xF0, 0x12, 0x66, 0x8A, 0x90, 0x86, 0x4D, 0xE0, 0x60, 0x05, 0x90,
+0x05, 0x22, 0xE4, 0xF0, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4,
+0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60,
+0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x05,
+0x7F, 0x01, 0x12, 0x4D, 0x84, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x04, 0x22, 0xE5, 0x4F, 0x30, 0xE6,
+0x12, 0xE5, 0x4F, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0,
+0x53, 0x4F, 0xBF, 0x22, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x01, 0x12, 0x4C, 0x42, 0x12, 0x4E, 0x36,
+0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x02, 0x22, 0xE4, 0x90, 0x85, 0x73, 0xF0, 0x90, 0x85, 0x5A, 0xF0,
+0xF5, 0x51, 0x22, 0x7D, 0x01, 0xAF, 0x4F, 0x02, 0x49, 0xC6, 0x90, 0x02, 0x84, 0xEF, 0xF0, 0xA3,
+0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x44, 0xB8, 0x51, 0x95, 0x00,
+0x40, 0x51, 0xBD, 0x00, 0x80, 0x51, 0xE8, 0x01, 0x00, 0x51, 0xFC, 0x02, 0x00, 0x52, 0x14, 0x04,
+0x00, 0x00, 0x00, 0x52, 0x31, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00,
+0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE, 0xC3, 0x13, 0xCE, 0x13,
+0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80, 0x26, 0xED, 0x54, 0x7F,
+0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE,
+0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07, 0xC3, 0x33, 0xCE, 0x33,
+0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E,
+0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35, 0xEC, 0x54, 0x01, 0x4D,
+0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0xC3, 0x13,
+0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x04,
+0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00, 0x25, 0xE0, 0x25, 0xE0,
+0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x22, 0xF0, 0xA3, 0xE4, 0xF0, 0x22,
+0xE4, 0x90, 0x85, 0x8C, 0xF0, 0xA3, 0xF0, 0x12, 0x60, 0xEF, 0x75, 0x8E, 0x02, 0x91, 0xDA, 0x12,
+0x60, 0x4D, 0x90, 0x85, 0xC3, 0xEF, 0xF0, 0x12, 0x60, 0x60, 0x90, 0x85, 0xC5, 0xEF, 0xF0, 0x12,
+0x60, 0x6C, 0x90, 0x85, 0xA7, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5, 0x09, 0xF5,
+0x4D, 0x90, 0x85, 0xC2, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x46, 0x90, 0x12,
+0x37, 0x1C, 0x12, 0x77, 0x6C, 0x71, 0x3B, 0x12, 0x60, 0x11, 0x12, 0x60, 0x84, 0xF1, 0xEF, 0x12,
+0x60, 0x2F, 0x12, 0x45, 0x02, 0x12, 0x60, 0xF7, 0x91, 0xC2, 0x90, 0x85, 0x8E, 0xE5, 0xD9, 0xF0,
+0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x71, 0x99, 0x75, 0xE8, 0x03, 0x43, 0xA8,
+0x85, 0x12, 0x83, 0x81, 0xD2, 0xAF, 0x51, 0x36, 0x12, 0x60, 0x99, 0x7D, 0xDD, 0x7F, 0x8F, 0x71,
+0x26, 0x90, 0x85, 0x8C, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0x40, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52,
+0xA3, 0xF0, 0xE5, 0x14, 0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0x91, 0xEA, 0xD2, 0xAF,
+0xE5, 0x14, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x76, 0x1E, 0xE5,
+0x14, 0x30, 0xE7, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0x78, 0xC2, 0xAF, 0xE5,
+0x4F, 0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x85, 0x5C, 0x74, 0x01, 0xF0, 0x31, 0x63, 0xE4,
+0x90, 0x85, 0x5C, 0xF0, 0xD2, 0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x4E, 0xF0, 0x90, 0x85, 0x72, 0xE0,
+0x90, 0x01, 0xBC, 0xF0, 0x80, 0x9B, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75,
+0x83, 0x00, 0xED, 0xF0, 0x71, 0x99, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x3C, 0x74, 0xFF,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD,
+0x7F, 0x54, 0x71, 0x26, 0x7D, 0xFF, 0x7F, 0x55, 0x71, 0x26, 0x7D, 0xFF, 0x7F, 0x56, 0x71, 0x26,
+0x7D, 0xFF, 0x7F, 0x57, 0x80, 0xC0, 0x90, 0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x71, 0x26,
+0xE4, 0xFD, 0x7F, 0x51, 0x71, 0x26, 0xE4, 0xFD, 0x7F, 0x52, 0x71, 0x26, 0xE4, 0xFD, 0x7F, 0x53,
+0x80, 0x94, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8E, 0x53, 0x8F, 0x54, 0x8B, 0x55, 0x8A,
+0x56, 0x89, 0x57, 0xE4, 0x90, 0x86, 0x4E, 0xF0, 0xEF, 0x90, 0x00, 0x31, 0xF0, 0x71, 0x99, 0xE5,
+0x53, 0x54, 0x03, 0xFF, 0x90, 0x00, 0x32, 0xE0, 0x54, 0xFC, 0x4F, 0xF0, 0x71, 0x99, 0x90, 0x00,
+0x33, 0xE0, 0x54, 0x7F, 0xF0, 0x71, 0x99, 0x90, 0x00, 0x33, 0xE0, 0x20, 0xE7, 0x0E, 0x90, 0x86,
+0x4E, 0xE0, 0xC3, 0x94, 0x64, 0x50, 0x05, 0xE0, 0x04, 0xF0, 0x80, 0xEB, 0x90, 0x86, 0x4E, 0xE0,
+0xC3, 0x94, 0x64, 0x50, 0x10, 0x90, 0x00, 0x30, 0xE0, 0xAB, 0x55, 0xAA, 0x56, 0xA9, 0x57, 0x12,
+0x43, 0xC3, 0x7F, 0x01, 0x22, 0x7F, 0x00, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x85, 0xF7, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x85, 0xFB, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x71, 0x99, 0x71, 0x92, 0x90, 0x00,
+0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0,
+0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x85, 0x63, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78,
+0x74, 0x01, 0xF0, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x85, 0x6F, 0xF0, 0xFF, 0x7E,
+0x08, 0x12, 0x2C, 0x6E, 0x90, 0x85, 0xF7, 0x12, 0x1F, 0xC9, 0x90, 0x85, 0xF7, 0x12, 0x44, 0x45,
+0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x85, 0xF7, 0x12, 0x1F, 0xC9, 0x90, 0x85, 0xF7, 0x12, 0x44, 0x45,
+0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x60,
+0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, 0x48, 0x90, 0x85, 0x74, 0xE0, 0x60, 0x12, 0x90, 0x85, 0xFB,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0xFB, 0xB1, 0x0D, 0x90,
+0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x85, 0x6A, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x86, 0x3E, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x86, 0x40, 0xF0, 0x90, 0x86,
+0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0xBF, 0xF0, 0x90,
+0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x80, 0x61, 0x26, 0xE4, 0x7B, 0x01, 0x7A, 0x84, 0x79,
+0x03, 0x12, 0x6D, 0x3F, 0xEF, 0xB4, 0x02, 0x14, 0x90, 0x86, 0x4A, 0xE0, 0x64, 0x04, 0x60, 0x07,
+0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x86, 0x4A, 0xF0, 0x22, 0x7F, 0x70, 0x7E,
+0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0,
+0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90,
+0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0,
+0x12, 0x81, 0x7E, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x84, 0x9C, 0xE0, 0xC3, 0x13, 0x30, 0xE0,
+0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, 0x06, 0x7A, 0x84, 0x79, 0xA3, 0x80, 0x04, 0x7A, 0x84, 0x79,
+0x9F, 0x7F, 0x80, 0x7E, 0x08, 0xB1, 0x11, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xF1,
+0x97, 0xEF, 0x60, 0x4E, 0x90, 0x84, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x06, 0xF9, 0x74,
+0x84, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24,
+0x08, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0xFA, 0x90, 0x86, 0x18, 0x12, 0x44, 0x89, 0xD0, 0x01, 0xD0,
+0x02, 0xB1, 0xD7, 0x90, 0x84, 0x01, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90,
+0x84, 0x02, 0xE0, 0xFF, 0x90, 0x84, 0x01, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12,
+0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x86,
+0x15, 0x12, 0x44, 0x89, 0x90, 0x84, 0x00, 0xE0, 0x90, 0x00, 0x01, 0x12, 0x43, 0xD5, 0xF1, 0x97,
+0xEF, 0x70, 0x02, 0xC1, 0x92, 0x90, 0x86, 0x15, 0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89,
+0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0xD1, 0x97, 0x90, 0x86, 0x18, 0x12,
+0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x86, 0x15, 0x12, 0x44, 0x69, 0x12, 0x1E,
+0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0x97, 0x90,
+0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, 0x85, 0xC3, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x86, 0x15,
+0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD,
+0x79, 0x20, 0xD1, 0x97, 0x90, 0x86, 0x18, 0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22,
+0x90, 0x86, 0x15, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B,
+0x01, 0x7A, 0xFD, 0x79, 0x22, 0xD1, 0x97, 0x90, 0x85, 0xA7, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82,
+0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x84, 0x00, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64,
+0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D,
+0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x86, 0x0F, 0x12, 0x44, 0x89, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22,
+0x90, 0x86, 0x12, 0x12, 0x44, 0x89, 0xAF, 0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x86, 0x12,
+0xE4, 0x75, 0xF0, 0x01, 0x12, 0x44, 0x72, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x86, 0x0F, 0xE4, 0x75,
+0xF0, 0x01, 0x12, 0x44, 0x72, 0xEF, 0x12, 0x43, 0xC3, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9,
+0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x86, 0x1B,
+0x12, 0x44, 0x89, 0x90, 0x84, 0x02, 0xE0, 0xFF, 0x90, 0x84, 0x01, 0xE0, 0xB5, 0x07, 0x07, 0x7D,
+0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x84, 0x01, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09,
+0x60, 0x0B, 0x90, 0x84, 0x01, 0xE0, 0x14, 0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0D, 0xF1, 0x97, 0xEF,
+0x60, 0x70, 0xB1, 0x78, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x90, 0x84, 0x02, 0xE0, 0x75, 0xF0,
+0x0F, 0xA4, 0x24, 0x06, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x86,
+0x1B, 0x12, 0x44, 0x69, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E, 0xD0, 0x90, 0x84, 0x02, 0xE0, 0x75,
+0xF0, 0x0F, 0xA4, 0x24, 0x08, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0,
+0x02, 0xC0, 0x01, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90,
+0x86, 0x1B, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0xD0, 0x01,
+0xD0, 0x02, 0xD0, 0x03, 0xD1, 0x97, 0x90, 0x84, 0x02, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02,
+0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x86, 0x39, 0xEE, 0xF0,
+0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x86, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5,
+0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, 0x90, 0x86, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x86, 0x3B,
+0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90,
+0x86, 0x3B, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09,
+0x80, 0xC6, 0x7F, 0x01, 0x22, 0x8F, 0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90,
+0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xC4,
+0x74, 0xF6, 0xF0, 0x74, 0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, 0x22,
+0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, 0xE0,
+0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3,
+0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, 0x54,
+0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x62,
+0xE0, 0x54, 0x03, 0x4F, 0x90, 0x85, 0x7E, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, 0xE0,
+0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x85, 0x7F, 0xF0, 0x90, 0x85,
+0x7E, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x86, 0x21, 0xEF, 0xF0, 0xA3, 0xED, 0xF0,
+0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x86, 0x26,
+0xF0, 0xD1, 0x4B, 0xBF, 0x01, 0x02, 0x11, 0xFB, 0x90, 0x86, 0x26, 0xE0, 0x90, 0x05, 0x22, 0xF0,
+0x80, 0x02, 0x11, 0xFB, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x85, 0xBE, 0xE0, 0xFF,
+0x7D, 0x01, 0x11, 0x2E, 0x90, 0x86, 0x24, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, 0x86,
+0x21, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x86, 0x2B, 0xF0, 0xEF, 0x60, 0x10, 0x74,
+0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, 0x74,
+0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74,
+0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x86, 0x2B, 0xE0, 0xFF, 0x74, 0x23, 0x2E, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0x7A, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90,
+0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0x12, 0x85, 0x10, 0x90, 0x85, 0x3F, 0xE0, 0x64,
+0x01, 0x60, 0x02, 0x41, 0xBD, 0x90, 0x85, 0x32, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, 0x30,
+0xE0, 0x02, 0x80, 0x0A, 0x90, 0x85, 0x32, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, 0xE0,
+0x90, 0x85, 0x7A, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x7A, 0xE0, 0x24, 0x03, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90,
+0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x85, 0x3F, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, 0x80,
+0x03, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90,
+0x85, 0x2E, 0xE0, 0xFF, 0x90, 0x85, 0x3D, 0xE0, 0xC3, 0x9F, 0x90, 0x85, 0x43, 0xF0, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x6E, 0x90, 0x85, 0x43, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0,
+0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC8, 0x80,
+0x51, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x85, 0x32, 0xE0, 0x54,
+0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0,
+0xE4, 0x90, 0x85, 0x42, 0xF0, 0x90, 0x85, 0x3F, 0xF0, 0x90, 0x85, 0x35, 0x74, 0x06, 0xF0, 0x90,
+0x85, 0x65, 0xE0, 0x60, 0x07, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74,
+0x6F, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0xA1, 0xBB, 0x90, 0x85, 0x3F,
+0xE0, 0x64, 0x02, 0x60, 0x02, 0x61, 0x9C, 0x90, 0x85, 0x31, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F,
+0x30, 0xE0, 0x08, 0xD1, 0x4B, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x08, 0xE4, 0xFF, 0xD1, 0xF5, 0x90,
+0x85, 0x32, 0xE0, 0x30, 0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x85,
+0x32, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x85, 0x7A, 0xF0, 0x90, 0x85,
+0x32, 0xE0, 0x54, 0xEF, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x2E, 0xE0, 0x24, 0x03, 0xFF, 0x90,
+0x85, 0x7A, 0xE0, 0x2F, 0xFF, 0x90, 0x85, 0x3D, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x85, 0x7B, 0xE0,
+0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63,
+0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1, 0x92, 0x90, 0x85, 0x3F, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x2D,
+0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F,
+0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x80, 0x0B, 0xE5, 0x50,
+0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90,
+0x85, 0x30, 0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4,
+0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0xC1, 0x45, 0x90, 0x85, 0x3F, 0xE0,
+0x64, 0x03, 0x60, 0x02, 0x81, 0xF0, 0x7F, 0x01, 0xD1, 0xF5, 0x90, 0x85, 0x31, 0xE0, 0xFF, 0x13,
+0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x66, 0x8A, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x20, 0xE0, 0x02, 0x81, 0x4C, 0x90, 0x85, 0x37, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0,
+0xD3, 0x9F, 0x40, 0x4D, 0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x85, 0x39, 0xE0, 0xFE, 0xC3,
+0xEF, 0x9E, 0xFF, 0x24, 0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x85, 0x2F, 0xE0, 0xD3, 0x9D, 0xEC,
+0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x85, 0x7D, 0xF0, 0x80, 0x06,
+0x90, 0x85, 0x7D, 0x74, 0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x7D, 0xE0, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x3F, 0xE0, 0x04, 0xF0, 0x80,
+0x24, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x3A, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x35, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x85, 0x3F, 0xF0, 0x90,
+0x06, 0x92, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x85, 0x41, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90,
+0x85, 0x7C, 0xE0, 0xFF, 0x90, 0x85, 0x2F, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F,
+0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x3F, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, 0x74,
+0x05, 0xF0, 0x7F, 0x01, 0xD1, 0x92, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0,
+0x2F, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x85, 0x32, 0xE0, 0x44,
+0x20, 0xF0, 0x90, 0x85, 0x65, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D,
+0x01, 0x7F, 0x0C, 0x80, 0x08, 0xE5, 0x50, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49, 0xC6,
+0x90, 0x85, 0x65, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x85, 0x2D, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x50, 0xA5, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85, 0x30,
+0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0x7F, 0x01, 0xC1, 0x47,
+0x90, 0x85, 0x3F, 0xE0, 0x64, 0x04, 0x60, 0x02, 0xA1, 0xC1, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB,
+0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x85,
+0x3F, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90,
+0x85, 0x2F, 0xE0, 0xFF, 0x90, 0x85, 0x3D, 0xE0, 0xC3, 0x9F, 0x90, 0x85, 0x43, 0xF0, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x6E, 0x90, 0x85, 0x43, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0,
+0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC8, 0x80,
+0x51, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x85, 0x32, 0xE0, 0x54,
+0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0,
+0xE4, 0x90, 0x85, 0x42, 0xF0, 0x90, 0x85, 0x3F, 0xF0, 0x90, 0x85, 0x35, 0x74, 0x07, 0xF0, 0x90,
+0x85, 0x65, 0xE0, 0x60, 0x07, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74,
+0x6F, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x22, 0x90, 0x85, 0x3F, 0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x4A, 0x90, 0x85, 0x31, 0xE0, 0xFF,
+0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x4B, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x08, 0xE4,
+0xFF, 0xD1, 0xF5, 0xD1, 0x92, 0xE4, 0x90, 0x85, 0x3F, 0xF0, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x85, 0x2D,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20,
+0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x80, 0x0B, 0xE5, 0x50, 0x60, 0x0D, 0xE4,
+0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x85, 0x30, 0xE0,
+0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0x58, 0x22, 0x90, 0x05, 0x22, 0x74, 0xFF,
+0xF0, 0xE4, 0x90, 0x86, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, 0xE0,
+0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, 0x86,
+0x49, 0xE0, 0x94, 0xE8, 0x90, 0x86, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, 0x7F,
+0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x86, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7,
+0x80, 0xC6, 0x90, 0x86, 0x2C, 0xEF, 0xF0, 0x12, 0x86, 0xB9, 0x90, 0x85, 0x30, 0xE0, 0xFF, 0xC4,
+0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x86, 0x2C, 0xE0, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x86,
+0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x86, 0x2C, 0xE0, 0xB4, 0x01, 0x10, 0x90,
+0x85, 0x2D, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, 0x90,
+0x85, 0x2D, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x86, 0x2D, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x86, 0x79, 0x2D, 0x12, 0x55, 0x0D, 0x90, 0x86, 0x2C, 0xE0,
+0x90, 0x85, 0x3E, 0xF0, 0x22, 0xEF, 0x64, 0x03, 0x60, 0x02, 0xE1, 0xC3, 0x90, 0x86, 0x07, 0x74,
+0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0x13, 0x13, 0x13, 0x54,
+0x1F, 0x30, 0xE0, 0x30, 0x90, 0x86, 0x0B, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, 0x74,
+0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41,
+0x90, 0x86, 0x07, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74,
+0x55, 0xF0, 0x80, 0x2D, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, 0x86,
+0x07, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0,
+0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90, 0x86, 0x0B, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0x90, 0x86, 0x07, 0xE0, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x86, 0x08, 0xE0, 0x90, 0x06, 0xC1,
+0xF0, 0x90, 0x86, 0x09, 0xE0, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x86, 0x0A, 0xE0, 0x90, 0x06, 0xC3,
+0xF0, 0x90, 0x86, 0x0B, 0xE0, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x86, 0x0C, 0xE0, 0x90, 0x06, 0xC5,
+0xF0, 0x90, 0x86, 0x0D, 0xE0, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x86, 0x0E, 0xE0, 0x90, 0x06, 0xC7,
+0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, 0x17,
+0xE4, 0xF0, 0x22, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, 0x06,
+0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0, 0x22, 0x74, 0x03, 0xF0, 0x22, 0x12, 0x57, 0xF6, 0xBF, 0x01,
+0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x2E, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0,
+0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30, 0xE0, 0x02, 0x7D,
+0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90, 0x01, 0x30, 0xE5,
+0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B, 0xF0, 0x22, 0x75,
+0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32, 0x20, 0x90, 0x01,
+0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22, 0x90, 0x00, 0xF4,
+0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22, 0x7F, 0x00, 0x22,
+0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, 0x7F, 0x01, 0x22, 0x90, 0x85, 0xC5, 0xE0,
+0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, 0x22, 0x7E,
+0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10,
+0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0x8F, 0xF0, 0xA3, 0xF0,
+0x90, 0x01, 0x98, 0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E,
+0xC3, 0x90, 0x85, 0x90, 0xE0, 0x94, 0x88, 0x90, 0x85, 0x8F, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90,
+0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x85, 0x8F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43,
+0xF7, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x85, 0x90, 0xE0, 0x94, 0x32, 0x90,
+0x85, 0x8F, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90,
+0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01,
+0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0,
+0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4,
+0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54,
+0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90,
+0x85, 0x76, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01,
+0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x85, 0x76, 0x74, 0x01, 0xF0, 0xA3,
+0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x85, 0x76, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E,
+0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x85, 0xB1, 0xF0, 0x22, 0x90, 0x85, 0xB1,
+0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30,
+0xE0, 0x03, 0x12, 0x5F, 0xDB, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0,
+0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0,
+0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x96, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0x90, 0x01, 0x34,
+0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5,
+0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x41, 0x65, 0x90, 0x01,
+0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, 0xD4, 0x0D, 0x85, 0xD5, 0x0E,
+0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, 0x0B, 0x75, 0x20, 0x00, 0x75,
+0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x85, 0x79, 0xB2, 0x12, 0x56, 0x97,
+0xE5, 0x50, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x46, 0x90, 0x85, 0x72, 0xE0, 0x60, 0x37, 0x90,
+0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x50, 0xFB, 0xEF, 0x64, 0x01,
+0x70, 0x2D, 0xF5, 0x48, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0,
+0x90, 0x85, 0x6E, 0xF0, 0x80, 0x09, 0x12, 0x50, 0xFB, 0xBF, 0x01, 0x03, 0x12, 0x51, 0x63, 0x90,
+0x86, 0x4B, 0xE0, 0x04, 0xF0, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0x07, 0x90, 0x01, 0x34, 0x74,
+0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75,
+0x58, 0x88, 0x75, 0x59, 0x0F, 0x75, 0x5A, 0x0F, 0x80, 0x09, 0x75, 0x58, 0xC0, 0x75, 0x59, 0x08,
+0x75, 0x5A, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x5A, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55,
+0x5A, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25,
+0x58, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F,
+0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15,
+0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0xA9, 0x12, 0x56, 0x97, 0x90, 0x85, 0xA9, 0xE0,
+0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xB1, 0xBF, 0xE5, 0x12, 0x24, 0x01,
+0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x59, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90,
+0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74,
+0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10,
+0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0,
+0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x53, 0x66, 0x90,
+0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x53, 0x99, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06,
+0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0x0F, 0x90, 0x85, 0xC4,
+0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x85, 0xC1, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90,
+0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x42, 0x20, 0x90,
+0x85, 0x45, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0x06, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF,
+0x12, 0x50, 0x48, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x45, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30, 0xE0, 0x54, 0xFE,
+0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x85, 0x4A, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x46, 0x12, 0x44, 0x45, 0x90, 0x81,
+0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1B, 0x90, 0x85, 0x45,
+0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE,
+0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x02, 0xD1, 0x14, 0xB1, 0x84, 0x90, 0x85, 0xC4, 0xE4, 0xF0, 0xE5,
+0x2E, 0x30, 0xE1, 0x41, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0xF1, 0x0B, 0x31, 0x27, 0x90, 0x85,
+0x75, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12,
+0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x85, 0x70, 0xE0, 0x90, 0x05, 0x73,
+0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE,
+0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0,
+0x12, 0x4B, 0xD0, 0x90, 0x85, 0x75, 0xE0, 0x60, 0x34, 0x90, 0x85, 0x70, 0xE0, 0xFF, 0x90, 0x85,
+0x59, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x85, 0x70, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F,
+0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22,
+0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x85, 0x59, 0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30,
+0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x4D, 0x64, 0x01, 0x70, 0x28, 0xE5, 0x50,
+0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x75, 0x48, 0x00,
+0x90, 0x85, 0x64, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77,
+0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B, 0x90, 0x01, 0x36, 0x74, 0x10,
+0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x20, 0xE5, 0x50, 0x60, 0x1C, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90,
+0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x85, 0x73, 0xE4, 0xF0, 0x53, 0x51, 0xFD, 0xE5, 0x51, 0x54,
+0x07, 0x70, 0x03, 0x12, 0x51, 0x63, 0xE5, 0x2E, 0x30, 0xE5, 0x25, 0x90, 0x01, 0x36, 0x74, 0x20,
+0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x1A, 0xE5, 0x50, 0x60, 0x16, 0x90, 0x85, 0x72, 0xE0, 0x64, 0x02,
+0x60, 0x0B, 0xE5, 0x4E, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x50, 0xA5, 0x80, 0x03, 0x12, 0x4F, 0xD4,
+0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x10,
+0xE5, 0x50, 0x60, 0x0C, 0x53, 0x51, 0xFE, 0xE5, 0x51, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x63,
+0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x12, 0x4F, 0x57, 0x74, 0x96,
+0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0,
+0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0,
+0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x86, 0x3E, 0xE0, 0x30, 0xE0, 0x2E, 0xE5, 0x4D, 0xB4, 0x01, 0x29,
+0x90, 0x86, 0x3D, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x86, 0x40, 0xE0, 0x04, 0xF0,
+0xE4, 0x90, 0x86, 0x3D, 0xF0, 0x90, 0x86, 0x40, 0xE0, 0xFF, 0x90, 0x86, 0x3F, 0xE0, 0xD3, 0x9F,
+0x50, 0x07, 0xB1, 0xBA, 0xE4, 0x90, 0x86, 0x40, 0xF0, 0x22, 0xE4, 0xFF, 0x02, 0x4D, 0x84, 0x90,
+0x85, 0x76, 0xE0, 0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A,
+0x00, 0x79, 0x15, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x0B, 0x7A, 0x85, 0x79, 0x76, 0x02, 0x56,
+0xE6, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x86, 0x3E,
+0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x02, 0xB1, 0xBA, 0x90, 0x85, 0x9A, 0x12, 0x44,
+0x69, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x86, 0x3F, 0xF0, 0x22, 0x90, 0x85, 0x2D, 0xE0, 0x30, 0xE0, 0x6E, 0x7F, 0x01, 0x12, 0x5E, 0xF5,
+0x90, 0x85, 0x31, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x02, 0xD1, 0x8A, 0x7F, 0x01,
+0x12, 0x5E, 0x92, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x29, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x85, 0x32, 0xE0, 0x44, 0x20, 0xF0, 0x90,
+0x85, 0x65, 0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x7D, 0x01, 0x7F, 0x0C, 0x12, 0x49, 0xC6, 0x90, 0x85, 0x65, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05,
+0x74, 0x6F, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x58, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0,
+0xD0, 0x90, 0x85, 0xEF, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x85, 0xF3, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74,
+0xFF, 0xF0, 0x90, 0x85, 0x63, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x85,
+0x56, 0xE0, 0x60, 0x14, 0x12, 0x50, 0xFB, 0xBF, 0x01, 0x0B, 0x90, 0x85, 0x2D, 0xE0, 0xFF, 0xC4,
+0x54, 0x0F, 0x30, 0xE0, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x85, 0x45, 0xE0, 0x20, 0xE0, 0x24, 0x90,
+0x85, 0x60, 0xE0, 0x60, 0x1E, 0x7F, 0x01, 0x12, 0x50, 0x48, 0x90, 0x85, 0x74, 0xE0, 0x60, 0x13,
+0x90, 0x85, 0xF3, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0xF3,
+0x12, 0x55, 0x0D, 0x12, 0x53, 0x92, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x85, 0x76, 0xF0,
+0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0xE1, 0xAD, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x39, 0xE0, 0xF5, 0x49, 0xE4, 0xFB,
+0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x85,
+0x35, 0x74, 0x01, 0xF0, 0xE4, 0x90, 0x85, 0x41, 0xF0, 0x90, 0x85, 0x3F, 0xF0, 0x80, 0x20, 0xE4,
+0xF5, 0x48, 0x90, 0x85, 0x76, 0xE0, 0xFF, 0x90, 0x85, 0x2E, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x3F, 0x74, 0x01, 0xF0, 0x90,
+0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x3E, 0x74, 0x01, 0xF0, 0x90, 0x85, 0x65, 0xE0, 0x60,
+0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x85, 0x2D, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x50, 0xA5, 0xE4, 0x90, 0x86, 0x4B, 0xF0, 0x22, 0xC0, 0xE0,
+0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D,
+0xAE, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00,
+0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90,
+0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10,
+0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6,
+0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74,
+0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30,
+0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56,
+0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01,
+0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82,
+0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75,
+0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06,
+0xC0, 0x07, 0x75, 0x5B, 0x00, 0x90, 0x01, 0xC4, 0x74, 0x55, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0x53,
+0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35,
+0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0,
+0x06, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74,
+0x02, 0xF0, 0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x45, 0xD6, 0xE5, 0x34, 0x30, 0xE2,
+0x36, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48,
+0x00, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90,
+0x85, 0x6E, 0xE4, 0xF0, 0x12, 0x51, 0x63, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74,
+0x08, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x85, 0x5E, 0xE0,
+0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74,
+0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x85, 0x6B, 0xE4, 0xF0, 0x12,
+0x51, 0x63, 0xE5, 0x34, 0x30, 0xE4, 0x3C, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x85, 0x45,
+0xE0, 0x30, 0xE0, 0x24, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x90,
+0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F,
+0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0xA6, 0x90, 0x85, 0x4E, 0xE0, 0x60,
+0x02, 0x51, 0xE8, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35,
+0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x4F, 0x90,
+0x01, 0xBB, 0xE5, 0x4F, 0xF0, 0x12, 0x51, 0x2C, 0x12, 0x51, 0x63, 0xE5, 0x35, 0x30, 0xE2, 0x06,
+0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10,
+0xF0, 0x90, 0x85, 0xC0, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0,
+0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x01,
+0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0xE5, 0x36, 0x30, 0xE3,
+0x09, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0x12, 0x84, 0xF2, 0xE5, 0x36, 0x30, 0xE4, 0x06, 0x90,
+0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x76, 0x90, 0x01, 0x3E, 0x74, 0x04, 0xF0,
+0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x04, 0xF0,
+0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0x58, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE6,
+0x12, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x07, 0x80, 0xE0, 0xFF,
+0x12, 0x84, 0x9C, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0, 0xE4, 0xFF, 0x12,
+0x55, 0x58, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07,
+0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0, 0x7F, 0x01, 0x12,
+0x55, 0x58, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF, 0x12, 0x55, 0x58,
+0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6, 0x06,
+0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x80,
+0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x80, 0xE5,
+0x37, 0x30, 0xE4, 0x1E, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x45, 0x09, 0x90, 0x85, 0x70,
+0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x66, 0x14, 0x12,
+0x65, 0x84, 0x74, 0x55, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0xD0, 0x07, 0xD0,
+0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0,
+0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x01, 0x63, 0xE4, 0xF0, 0x90, 0x81, 0x57,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x7F, 0x01,
+0x02, 0x55, 0x58, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x4E, 0xF0, 0x70, 0x02, 0x51, 0xE8, 0x22, 0x90,
+0x85, 0x97, 0x12, 0x44, 0x89, 0xEF, 0x12, 0x44, 0x92, 0x6B, 0xAC, 0x01, 0x6B, 0xA4, 0x02, 0x6B,
+0xF3, 0x03, 0x6B, 0xFC, 0x10, 0x6C, 0x04, 0x11, 0x6C, 0x0C, 0x12, 0x6C, 0x14, 0x16, 0x6C, 0x1E,
+0x17, 0x6C, 0x28, 0x18, 0x6C, 0x32, 0x19, 0x6C, 0x3B, 0x1D, 0x6C, 0x45, 0x1E, 0x6C, 0x50, 0x21,
+0x6C, 0x58, 0x22, 0x6C, 0x60, 0x23, 0x6C, 0x68, 0x24, 0x6C, 0x70, 0x25, 0x6C, 0x78, 0x26, 0x6C,
+0x80, 0x27, 0x6C, 0x88, 0x28, 0x6C, 0x90, 0x29, 0x6B, 0xB5, 0x2D, 0x6B, 0xBE, 0x2E, 0x6C, 0x99,
+0x2F, 0x6C, 0xF9, 0x30, 0x6C, 0xA9, 0x32, 0x6C, 0xA1, 0x33, 0x6B, 0xD0, 0x34, 0x6C, 0xB1, 0x36,
+0x6C, 0xBA, 0x37, 0x6C, 0xC3, 0x38, 0x6C, 0xCB, 0x3A, 0x6B, 0xC7, 0x3B, 0x6C, 0xD4, 0x3E, 0x6C,
+0xDC, 0x3F, 0x6C, 0xE5, 0x41, 0x6D, 0x02, 0x46, 0x6B, 0xD8, 0x47, 0x6B, 0xEA, 0x48, 0x6B, 0xE1,
+0x49, 0x6D, 0x1C, 0x4B, 0x6D, 0x0B, 0x4E, 0x6C, 0xEE, 0x52, 0x6C, 0xF1, 0x53, 0x6D, 0x13, 0x54,
+0x00, 0x00, 0x6D, 0x25, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xED, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0x02, 0x77, 0x78, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x78, 0x59, 0x90, 0x85,
+0x97, 0x12, 0x44, 0x69, 0x02, 0x78, 0xA1, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x78, 0xDA,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xF3, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x79,
+0x0C, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x79, 0xCC, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69,
+0x02, 0x80, 0xE2, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x79, 0xDD, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0xA1, 0x2D, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xA1, 0x33, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0xA1, 0x39, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x85,
+0x97, 0x12, 0x44, 0x69, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x7F, 0x03,
+0x80, 0x1B, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x7B, 0x07, 0x90, 0x85, 0x97, 0x12, 0x44,
+0x69, 0xE4, 0xFF, 0x80, 0x08, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x7F, 0x04, 0x02, 0x7A, 0x25,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xC1, 0xE5, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xC1, 0xFD,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x15, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x2D,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x45, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x5D,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x75, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x8D,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x7B, 0x3F, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xC1,
+0xD6, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xA5, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1,
+0xBD, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x7B, 0x67, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69,
+0x02, 0x7D, 0x1A, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xA1, 0xCC, 0x90, 0x85, 0x97, 0x12, 0x44,
+0x69, 0x02, 0x7D, 0x2C, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xD5, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0x02, 0x80, 0x43, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x80, 0x7E, 0x02, 0x80,
+0x97, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x61, 0x03, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02,
+0x65, 0xE1, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x73, 0xE3, 0x90, 0x85, 0x97, 0x12, 0x44,
+0x69, 0xA1, 0xEE, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x80, 0xEA, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0x02, 0x81, 0x6C, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F,
+0x0B, 0x80, 0x10, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, 0x7D,
+0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x86, 0x41, 0x12, 0x44, 0x89,
+0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54,
+0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, 0xEF,
+0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x86, 0x41, 0x12, 0x44, 0x69, 0x8E,
+0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD,
+0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, 0x2E,
+0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, 0x74,
+0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, 0x90,
+0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x85, 0x9A, 0x12,
+0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01,
+0x7F, 0x23, 0xB1, 0x43, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x75, 0x82, 0x22, 0x90, 0x85,
+0x9A, 0x12, 0x44, 0x89, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x85, 0x9D, 0x74, 0x0A,
+0xF0, 0x90, 0x85, 0x9D, 0xE0, 0xFF, 0x70, 0x02, 0xC1, 0xD1, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0,
+0x02, 0xC1, 0xC8, 0x90, 0xFD, 0x50, 0x74, 0x86, 0xF0, 0xA3, 0xE4, 0xF0, 0xEF, 0xB4, 0x0A, 0x05,
+0xA3, 0x74, 0x10, 0x80, 0x75, 0x90, 0x85, 0x9D, 0xE0, 0xFF, 0xB4, 0x09, 0x0E, 0x90, 0xFD, 0x52,
+0x74, 0x0C, 0xF0, 0x90, 0xFD, 0x54, 0x74, 0x83, 0xF0, 0x80, 0x77, 0xEF, 0xB4, 0x08, 0x0D, 0x90,
+0xFD, 0x52, 0xE4, 0xF0, 0x90, 0xFD, 0x54, 0x74, 0x1D, 0xF0, 0x80, 0x66, 0xEF, 0xB4, 0x07, 0x07,
+0x90, 0xFD, 0x52, 0x74, 0x04, 0x80, 0x43, 0xEF, 0xB4, 0x06, 0x0E, 0x90, 0xFD, 0x52, 0x74, 0x20,
+0xF0, 0x90, 0xFD, 0x54, 0x74, 0x70, 0xF0, 0x80, 0x49, 0xEF, 0xB4, 0x05, 0x0E, 0x90, 0xFD, 0x52,
+0x74, 0x0C, 0xF0, 0x90, 0xFD, 0x54, 0x74, 0x03, 0xF0, 0x80, 0x37, 0xEF, 0xB4, 0x04, 0x07, 0x90,
+0xFD, 0x52, 0x74, 0x24, 0x80, 0x14, 0xEF, 0xB4, 0x03, 0x07, 0x90, 0xFD, 0x52, 0x74, 0x30, 0x80,
+0x09, 0xEF, 0xB4, 0x02, 0x0D, 0x90, 0xFD, 0x52, 0x74, 0x28, 0xF0, 0x90, 0xFD, 0x54, 0xE4, 0xF0,
+0x80, 0x10, 0xEF, 0xB4, 0x01, 0x0C, 0x90, 0xFD, 0x52, 0x74, 0x10, 0xF0, 0x90, 0xFD, 0x54, 0x74,
+0x80, 0xF0, 0x90, 0xFD, 0x53, 0xE4, 0xF0, 0x90, 0xFD, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0x04, 0xF0, 0x90, 0x85, 0x9D, 0xE0, 0x14, 0xF0, 0x7F, 0x46, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xC1,
+0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9, 0xE4, 0x3A,
+0xFA, 0x7D, 0x04, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x17, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x18, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x19, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x1A, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x1B, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x1C, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x03, 0x7F, 0x1D, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x1E, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x1F, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x20, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x24, 0xA1, 0x43, 0x12, 0x1E, 0xF6,
+0xF5, 0x4D, 0x22, 0x90, 0x85, 0x9A, 0x02, 0x44, 0x89, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0,
+0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04,
+0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02,
+0x41, 0xB9, 0x90, 0x85, 0xA6, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x84, 0xA7, 0xF0,
+0x90, 0x00, 0x2D, 0xE0, 0x90, 0x84, 0xA8, 0xF0, 0x90, 0x85, 0xA6, 0x74, 0x01, 0xF0, 0x90, 0xFD,
+0x60, 0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x02, 0x91, 0x92, 0x90, 0xFD, 0x60, 0xE0, 0x64,
+0x0E, 0x60, 0x02, 0x01, 0xF9, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20,
+0xE0, 0x02, 0x01, 0xF9, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54,
+0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90,
+0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01,
+0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90, 0x84, 0x9C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19,
+0x90, 0x07, 0x78, 0x12, 0x58, 0x8E, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49,
+0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0xC3, 0x13,
+0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x55, 0x58, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3,
+0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x8E, 0x80, 0x0C, 0xE0, 0x44, 0x10,
+0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A,
+0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0x71, 0x4D, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15,
+0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x81, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54,
+0x3F, 0x04, 0xFF, 0x90, 0x84, 0xA7, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x85, 0x80,
+0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x84, 0xA7, 0xE0, 0x13, 0x13,
+0x54, 0x3F, 0xFF, 0x90, 0x85, 0x81, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x85, 0x80, 0xF0, 0xD3, 0x94,
+0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x85, 0x80, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF,
+0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x85, 0x80, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F,
+0x90, 0x85, 0x82, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x84, 0xA8,
+0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x07, 0x90,
+0xFD, 0x62, 0xE0, 0xFF, 0x51, 0xD4, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0x51, 0xFC, 0x90,
+0xFD, 0x60, 0xE0, 0x64, 0x23, 0x70, 0x7A, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x44, 0x30, 0xE0,
+0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90,
+0x85, 0x45, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08,
+0x12, 0x2C, 0x6E, 0x90, 0x85, 0x4A, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x7F, 0x70,
+0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x85, 0x46, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0,
+0x04, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x85, 0x45, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44,
+0x20, 0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0xB1,
+0x82, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x02, 0x71, 0x24, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25,
+0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x85,
+0x3C, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x04, 0x7F, 0x01, 0x91, 0xFE, 0x90,
+0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0x71, 0x78, 0x90, 0x85, 0x4E,
+0xE0, 0x60, 0x4F, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x31, 0x70, 0x47, 0x90, 0xFD, 0x62, 0xE0, 0x30,
+0xE0, 0x36, 0x90, 0x01, 0x63, 0xE4, 0xF0, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0xE4, 0xFF, 0x12, 0x55, 0x58,
+0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x80, 0x0A, 0x90, 0xFD, 0x62, 0xE0, 0x30, 0xE1, 0x03, 0x12,
+0x6A, 0xE8, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0,
+0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0,
+0xF0, 0xD0, 0xE0, 0x32, 0xAD, 0x07, 0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54,
+0x0F, 0x44, 0x10, 0xF0, 0x90, 0x85, 0x85, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x85, 0x90,
+0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0x90, 0x00, 0x75, 0xE0,
+0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, 0x03, 0xF0,
+0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, 0x75, 0xE0,
+0x54, 0xFE, 0xF0, 0x22, 0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44,
+0x10, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x85, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x85,
+0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0xAE, 0x07, 0x90,
+0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x85, 0x85,
+0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x85, 0x90, 0x86, 0x1E, 0x12, 0x44,
+0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0xAC, 0x07, 0x90, 0x85, 0xDE, 0xE0, 0x44, 0x0F,
+0xF0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x85, 0xE0, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63,
+0xE0, 0x90, 0x85, 0xE1, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x85, 0xE2, 0xF0, 0x90, 0xFD, 0x64,
+0xE0, 0x90, 0x85, 0xE3, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x85, 0xE4, 0xF0, 0x90, 0xFD, 0x66,
+0xE0, 0x90, 0x85, 0xE5, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x85, 0xE6, 0xF0, 0x80, 0x11, 0x90,
+0x85, 0xE1, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0x7B, 0x01, 0x7A, 0x85, 0x79, 0xE0, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0xDE,
+0x02, 0x56, 0xE6, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x9A,
+0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x9B, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x85, 0x9C, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x9D, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x9E, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD,
+0x58, 0xE0, 0x20, 0xE0, 0x14, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x9A, 0x7F, 0x30, 0x91, 0x48, 0x90,
+0x85, 0x9A, 0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x85, 0x9A, 0xE0, 0xFB, 0xE4, 0xFD,
+0xFF, 0x71, 0x78, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x85, 0xA1, 0x12, 0x44, 0x89, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD,
+0x50, 0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x8E,
+0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD,
+0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90,
+0x85, 0x85, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x86, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90,
+0x85, 0x87, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x85, 0x88, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90,
+0x85, 0x89, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x85, 0x83, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F,
+0x44, 0x50, 0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90,
+0x85, 0x8A, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x85, 0x8B, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79,
+0x85, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0xAD, 0x07,
+0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0,
+0x90, 0x85, 0x86, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x85, 0x87, 0xF0, 0x90, 0xFD, 0x64, 0xE0,
+0x90, 0x85, 0x88, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x85, 0x89, 0xF0, 0x90, 0xFD, 0x66, 0xE0,
+0x90, 0x85, 0x8A, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x85, 0x8B, 0xF0, 0xED, 0xB4, 0x01, 0x11,
+0x90, 0x85, 0x83, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x85, 0x85, 0x74, 0x01, 0xF0, 0x80,
+0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90, 0x85, 0x83, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x85,
+0x85, 0x74, 0x02, 0xF0, 0x90, 0x85, 0x83, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01,
+0x7A, 0x85, 0x79, 0x85, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x12, 0x56,
+0xE6, 0x22, 0xAD, 0x07, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0,
+0x90, 0xFD, 0x62, 0xE0, 0x90, 0x86, 0x01, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x86, 0x02, 0xF0,
+0x90, 0xFD, 0x64, 0xE0, 0x90, 0x86, 0x03, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x86, 0x04, 0xF0,
+0x90, 0xFD, 0x66, 0xE0, 0x90, 0x86, 0x05, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x86, 0x06, 0xF0,
+0xED, 0xB4, 0x02, 0x0B, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED,
+0xB4, 0x04, 0x0B, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4,
+0x70, 0x29, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90, 0x85, 0x44, 0xE0, 0x60,
+0x08, 0x90, 0x86, 0x01, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x86, 0x01, 0xF0, 0xE4, 0x90,
+0x86, 0x02, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x86, 0x79,
+0x01, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0xFF, 0x02, 0x56, 0xE6, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x85, 0x8F, 0xF0, 0x90,
+0x85, 0x8F, 0xE0, 0xFD, 0x70, 0x02, 0xE1, 0x67, 0x90, 0x86, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0x7E,
+0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, 0x5D,
+0x70, 0x02, 0xE1, 0x60, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, 0x44,
+0x5D, 0xE0, 0x90, 0x85, 0x90, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x85, 0x75, 0x22, 0x90, 0x75,
+0x23, 0x01, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x91, 0x12, 0x56, 0x97, 0x90, 0x85, 0x91, 0xE0, 0xFF,
+0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x86, 0x4C, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, 0x02,
+0x90, 0x00, 0x88, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x92, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75,
+0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x93, 0xF0, 0x90, 0x86, 0x4C,
+0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x94, 0xF0, 0x90,
+0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x95,
+0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x44, 0x5D, 0xE0, 0x90,
+0x85, 0x96, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x44, 0x5D, 0xE0,
+0x90, 0x85, 0x92, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x44,
+0x5D, 0xE0, 0x90, 0x85, 0x93, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3,
+0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x94, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, 0x85,
+0x79, 0x92, 0x12, 0x6B, 0x0F, 0x90, 0x85, 0x8F, 0xE0, 0xFF, 0x90, 0x86, 0x4C, 0xE0, 0xFE, 0x74,
+0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x85, 0x8F, 0xF0,
+0x90, 0x86, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC,
+0x90, 0x01, 0xCC, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0xC1, 0x2F,
+0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x84, 0x01,
+0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x85, 0x9A, 0x12, 0x44, 0x69, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x72, 0xF0, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x55, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0x54, 0x01, 0x90, 0x85, 0x56, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x85, 0x60, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x85, 0x5D, 0xF0, 0xEF, 0x13,
+0x13, 0x13, 0x54, 0x01, 0x90, 0x85, 0x63, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4,
+0x54, 0x01, 0x90, 0x85, 0x5F, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x85, 0x74, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x85, 0x62, 0xF0, 0xE0,
+0x70, 0x38, 0x90, 0x85, 0x60, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x85, 0x9D, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0x48, 0x90, 0x85, 0x9D,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57,
+0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x56, 0xE0, 0x70, 0x03,
+0x12, 0x4F, 0x15, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x12, 0x4D, 0x1E, 0x90, 0x85, 0x72, 0xE0,
+0x90, 0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF,
+0x30, 0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x61, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F,
+0x90, 0x85, 0x64, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x85, 0x5E, 0xF0, 0x90, 0x00, 0x03,
+0x12, 0x1F, 0x0F, 0x90, 0x85, 0x69, 0xF0, 0x22, 0x90, 0x85, 0x61, 0x74, 0x03, 0xF0, 0x90, 0x85,
+0x64, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x5E, 0x74, 0x14, 0xF0, 0x90, 0x85, 0x69, 0x74, 0x05, 0xF0,
+0x22, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x85, 0x68, 0xF0, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x85, 0x66, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F,
+0x90, 0x85, 0x68, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x66, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90,
+0x85, 0x66, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x65,
+0xF0, 0x60, 0x20, 0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49,
+0xC6, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90, 0x85, 0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15,
+0x12, 0x44, 0xE5, 0x90, 0x85, 0x65, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xFF,
+0x54, 0x80, 0xFE, 0x90, 0x85, 0x4F, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0,
+0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x85, 0x4F, 0xE0, 0x54, 0x8F,
+0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x51, 0xF0, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0x90, 0x85, 0x52, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x53, 0xF0,
+0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x43, 0x90, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3,
+0x94, 0x20, 0x50, 0x08, 0x90, 0x85, 0x50, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40,
+0x50, 0x08, 0x90, 0x85, 0x50, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08,
+0x90, 0x85, 0x50, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x85,
+0x50, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, 0x85, 0x50, 0x74,
+0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x85, 0x50, 0x74, 0x06, 0xF0,
+0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x85, 0x50, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03,
+0x74, 0x08, 0xF0, 0x90, 0x85, 0x50, 0xE0, 0x90, 0x85, 0x54, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60,
+0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x02, 0x09,
+0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x85, 0xBA, 0xF0, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x85, 0xBB, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x85, 0xBC, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED,
+0x2F, 0x90, 0x85, 0xBD, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F,
+0x90, 0x85, 0xBE, 0xF0, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, 0x00,
+0x40, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, 0xF0,
+0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, 0x1E,
+0xF6, 0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x00,
+0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06,
+0xC2, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, 0xE0,
+0x54, 0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, 0x12,
+0x1F, 0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, 0xF0,
+0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x01,
+0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, 0x90,
+0x06, 0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, 0x03,
+0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06,
+0xCB, 0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, 0xE0,
+0x06, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, 0x90,
+0x07, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0x90, 0x84, 0x03, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F,
+0x90, 0x84, 0x04, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x84, 0x05, 0xF0, 0x90, 0x85,
+0x9A, 0x12, 0x44, 0x69, 0x12, 0x6D, 0x3F, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, 0x12,
+0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9, 0x05,
+0xAA, 0x06, 0xAB, 0x07, 0x90, 0x84, 0xA3, 0x12, 0x44, 0x45, 0xEC, 0x54, 0x03, 0xFC, 0x12, 0x44,
+0x1A, 0x90, 0x84, 0x9F, 0x02, 0x1F, 0xC9, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC,
+0xF0, 0xEF, 0x30, 0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74,
+0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6,
+0xC3, 0x13, 0x90, 0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0,
+0x90, 0xFD, 0x56, 0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0,
+0xA3, 0x74, 0x06, 0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01,
+0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00,
+0x24, 0x00, 0xFF, 0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74,
+0x20, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x90, 0x85, 0x9A, 0xEF, 0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD,
+0xE0, 0x44, 0x02, 0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3,
+0x99, 0x50, 0x43, 0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20,
+0x50, 0x07, 0xAF, 0x05, 0x91, 0x6E, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0,
+0xEC, 0xB5, 0x01, 0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90, 0x85, 0x9A, 0xE0,
+0xFB, 0xC3, 0xEF, 0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF, 0x05, 0x91, 0x6E,
+0x0D, 0x80, 0xE3, 0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12,
+0x53, 0x26, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD,
+0x58, 0xE0, 0x30, 0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0,
+0x08, 0xA4, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0,
+0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90,
+0xFD, 0x51, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x90, 0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08,
+0xA4, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF,
+0x75, 0xF0, 0x08, 0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD,
+0x56, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x90, 0xFD, 0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10,
+0x60, 0x05, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x89, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE,
+0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F,
+0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFB, 0x4E, 0xF0,
+0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE,
+0x90, 0x85, 0x2D, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F,
+0xF0, 0x12, 0x1E, 0xF6, 0xFC, 0x54, 0x80, 0xFF, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0x7F, 0x4F, 0xF0,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x85, 0x30, 0xE0, 0x54, 0xFE,
+0x4F, 0xF0, 0xED, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0xFD, 0x54, 0x04, 0xFF, 0x90, 0x85, 0x30, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10,
+0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE,
+0x90, 0x85, 0x30, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F,
+0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x85, 0x30, 0xE0, 0x54, 0x7F,
+0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x85, 0x31, 0xE0,
+0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x85, 0x31, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF,
+0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54,
+0x04, 0xFE, 0x90, 0x85, 0x31, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54,
+0xF7, 0x4F, 0xF0, 0xEC, 0x20, 0xE0, 0x02, 0xE1, 0xA6, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90,
+0x85, 0x3D, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x85, 0x9E,
+0x12, 0x44, 0x69, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x2E, 0xF0, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0x90, 0x85, 0x2F, 0xF0, 0x80, 0x4E, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90,
+0x85, 0x2E, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x85, 0x2E,
+0x74, 0x2A, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF,
+0xC3, 0x94, 0x03, 0x90, 0x85, 0x2F, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80,
+0x06, 0x90, 0x85, 0x2F, 0x74, 0x2A, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03,
+0x30, 0xE0, 0x3D, 0x90, 0x85, 0x2E, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x85, 0x36, 0xF0, 0xE0,
+0xC3, 0x13, 0xA3, 0xF0, 0x90, 0x85, 0x2F, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x85, 0x38, 0xF0,
+0x90, 0x85, 0x2E, 0xE0, 0xC3, 0x13, 0x90, 0x85, 0x39, 0xF0, 0x90, 0x85, 0x2F, 0xE0, 0xC3, 0x13,
+0x90, 0x85, 0x3A, 0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD,
+0xE4, 0x90, 0x84, 0xA9, 0xF0, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54,
+0x1F, 0x30, 0xE0, 0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x85, 0x2D,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x18, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30,
+0xE0, 0x03, 0x75, 0x4F, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90,
+0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x85, 0x3F, 0x74,
+0x01, 0xF0, 0x80, 0x2B, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x85, 0x3F, 0x74, 0x04,
+0xF0, 0x80, 0x1C, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x85, 0x3F, 0x74, 0x02, 0xF0,
+0x80, 0x0D, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x85, 0x3F, 0x74, 0x05, 0xF0, 0xE4,
+0x90, 0x85, 0x35, 0xF0, 0x80, 0x65, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0xFF,
+0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x85, 0x9A, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x03, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x12, 0x83, 0xE4, 0x90, 0x00,
+0x40, 0x74, 0x20, 0xF0, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F,
+0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03,
+0x74, 0x01, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x9A, 0x12, 0x55, 0x0D, 0x90, 0x05, 0x22, 0xE4,
+0xF0, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x85, 0x32, 0xE0, 0x54,
+0xDF, 0xF0, 0xE4, 0x90, 0x85, 0x3E, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x09, 0x90, 0x84, 0x9C, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12,
+0x55, 0x58, 0x90, 0x84, 0x9C, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0xF5, 0xD0, 0xD0,
+0x92, 0xAF, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x85, 0x32, 0xE0, 0x54, 0xFE,
+0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54,
+0x04, 0xFE, 0x90, 0x85, 0x32, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54,
+0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x33, 0xF0, 0x22, 0x90, 0x85,
+0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69,
+0x7D, 0x03, 0x7F, 0x26, 0x02, 0x6D, 0x43, 0x90, 0x00, 0xCC, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x00,
+0x6A, 0xE4, 0xF0, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x44,
+0x04, 0xF0, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x10, 0xF0,
+0x90, 0x00, 0x32, 0xE0, 0x44, 0x04, 0xF0, 0x7F, 0x05, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0x00,
+0x6A, 0x74, 0x15, 0xF0, 0x90, 0x00, 0xFA, 0xE0, 0x44, 0x04, 0xF0, 0x7D, 0xDD, 0x7F, 0x81, 0x02,
+0x53, 0x26, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0xC2, 0xF0, 0x22, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89,
+0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0xE4, 0x90, 0x85, 0xA1,
+0xF0, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xA2,
+0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0x90, 0x85, 0xA4, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xA5, 0xF0, 0x90,
+0x85, 0x9D, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0x70, 0x12, 0x90, 0x85, 0xA0, 0x74, 0x3C, 0xF0,
+0x7B, 0x01, 0x7A, 0x85, 0x79, 0xA0, 0x7D, 0x06, 0x7F, 0x87, 0x80, 0x1C, 0x90, 0x85, 0x9D, 0x12,
+0x44, 0x69, 0x12, 0x1E, 0xF6, 0xB4, 0x01, 0x13, 0x90, 0x85, 0xA0, 0x74, 0x40, 0xF0, 0x7B, 0x01,
+0x7A, 0x85, 0x79, 0xA0, 0x7D, 0x04, 0x7F, 0xC7, 0x12, 0x6D, 0x43, 0x22, 0x12, 0x1E, 0xF6, 0x90,
+0x85, 0xC0, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xC1, 0xF0, 0x22, 0xE4, 0x90,
+0x86, 0x46, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x86,
+0x47, 0xE0, 0x94, 0x88, 0x90, 0x86, 0x46, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0,
+0x44, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x86, 0x46, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7,
+0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x86, 0x47, 0xE0, 0x94, 0x64, 0x90, 0x86,
+0x46, 0xE0, 0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22,
+0x7F, 0x01, 0x22, 0x90, 0x85, 0xE7, 0x12, 0x1F, 0xC9, 0x90, 0x85, 0xEB, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x85, 0xEB, 0x12, 0x44, 0x51, 0xD3,
+0x12, 0x44, 0x34, 0x50, 0x41, 0x90, 0x85, 0xEB, 0x12, 0x44, 0x45, 0xA9, 0x07, 0x90, 0x85, 0xE7,
+0x12, 0x44, 0x45, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC,
+0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x44, 0x34, 0x60, 0x1B, 0x90, 0x85, 0xEB, 0x12, 0x44,
+0x45, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x85,
+0xEB, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x85, 0xEB, 0x02, 0x44, 0x45, 0x90, 0x85, 0xC6, 0x12,
+0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x85, 0xCA, 0x12, 0x44, 0x51, 0xC3, 0x12,
+0x44, 0x34, 0x90, 0x85, 0xC6, 0x60, 0x67, 0x12, 0x44, 0x45, 0x12, 0x2C, 0x6E, 0x90, 0x85, 0xD2,
+0x12, 0x1F, 0xC9, 0x90, 0x85, 0xCA, 0x12, 0x44, 0x45, 0x31, 0xD3, 0x90, 0x85, 0xD6, 0x12, 0x1F,
+0xC9, 0x90, 0x85, 0xCA, 0x12, 0x44, 0x45, 0x12, 0x44, 0x27, 0x90, 0x85, 0xD2, 0x12, 0x44, 0x51,
+0x12, 0x44, 0x0D, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x85, 0xD6, 0x12, 0x44,
+0x45, 0xA9, 0x07, 0x90, 0x85, 0xCE, 0x12, 0x44, 0x45, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03,
+0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x44, 0x1A, 0x90, 0x85, 0xDA, 0x12, 0x1F, 0xC9, 0x90,
+0x85, 0xC6, 0x12, 0x44, 0x45, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x85, 0xDA, 0x80, 0x0A, 0x12, 0x44,
+0x45, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x85, 0xCE, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x86, 0x4F, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08,
+0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x53,
+0x99, 0x90, 0x86, 0x4F, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3,
+0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B,
+0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C,
+0x90, 0x86, 0x4F, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02,
+0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x53, 0x99, 0x90,
+0x86, 0x4F, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE,
+0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05,
+0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x90, 0x84, 0x9C, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7,
+0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x84,
+0xA3, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70, 0xE4, 0x90, 0x84, 0xA9, 0xF0, 0xA3, 0xF0, 0x43,
+0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90,
+0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90,
+0x00, 0x40, 0x74, 0x20, 0xF0, 0x71, 0xE4, 0x90, 0x85, 0x44, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F,
+0x02, 0x02, 0x3A, 0xAD, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3,
+0x74, 0x08, 0xF0, 0xE4, 0x90, 0x85, 0x3E, 0xF0, 0xA3, 0xF0, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFD,
+0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF,
+0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0,
+0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0,
+0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F,
+0xF0, 0x90, 0x85, 0x40, 0x74, 0x02, 0xF0, 0x90, 0x85, 0x32, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54,
+0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x85, 0x3D, 0xF0, 0x90, 0x85, 0x34,
+0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x85, 0x3B, 0xF0, 0xA3, 0xF0, 0x90, 0x85, 0x41, 0xF0, 0xA3,
+0xF0, 0x90, 0x85, 0x34, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x85, 0x31, 0xE0,
+0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x85, 0x45, 0xE0, 0x54,
+0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0xE4, 0x90, 0x85, 0x4E, 0xF0, 0x22, 0xAD, 0x07, 0x90, 0x85,
+0x7A, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x85, 0x7C, 0xEF,
+0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x7C, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79,
+0x7A, 0x02, 0x56, 0xE6, 0x90, 0x85, 0x60, 0xE0, 0x60, 0x27, 0x90, 0x85, 0x63, 0xE0, 0x70, 0x21,
+0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0,
+0x22, 0x90, 0x85, 0x5D, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09,
+0xF0, 0x22, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, 0x85,
+0x34, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0x22,
+0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0xC1, 0xB8, 0x90, 0x85,
+0x35, 0xE0, 0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x86, 0x4B,
+0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x85, 0x41, 0xE0, 0x04, 0xF0, 0xE4,
+0x90, 0x86, 0x4B, 0xF0, 0x90, 0x85, 0x36, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0, 0xB5, 0x07, 0x02,
+0x80, 0x02, 0xC1, 0xA3, 0xE4, 0x90, 0x85, 0x35, 0xF0, 0x90, 0x85, 0x3F, 0x04, 0xF0, 0x22, 0x90,
+0x85, 0x35, 0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x86,
+0x4B, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x85, 0x41, 0xE0, 0x04, 0xF0,
+0xE4, 0x90, 0x86, 0x4B, 0xF0, 0x90, 0x85, 0x38, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0, 0xB5, 0x07,
+0x02, 0x80, 0x02, 0xC1, 0xA3, 0xE4, 0x90, 0x85, 0x35, 0xF0, 0x90, 0x85, 0x3F, 0x74, 0x04, 0xF0,
+0x22, 0x90, 0x85, 0x35, 0xE0, 0x64, 0x06, 0x60, 0x02, 0xC1, 0x67, 0x90, 0x85, 0x42, 0xE0, 0xB4,
+0x04, 0x0F, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x85, 0x3F, 0x30, 0xE0, 0x4E, 0xC1,
+0xB5, 0x90, 0x85, 0x34, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0,
+0xE4, 0xA3, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x02, 0xC1, 0x76, 0x90,
+0x85, 0x42, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D,
+0x03, 0x12, 0x1F, 0x3C, 0x90, 0x85, 0x39, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94,
+0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x90, 0x85, 0x3F, 0x40, 0x02, 0xC1, 0xB5, 0x74, 0x02, 0xF0,
+0x22, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4D, 0x84, 0x90, 0x85, 0x42, 0xE0,
+0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x42, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0,
+0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x85, 0x39, 0xE0,
+0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58,
+0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x85, 0x35, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90,
+0x85, 0x42, 0xE0, 0xB4, 0x04, 0x05, 0x90, 0x85, 0x3F, 0x80, 0x3A, 0x90, 0x85, 0x34, 0xE0, 0x13,
+0x13, 0x54, 0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x85, 0x3F,
+0x80, 0x23, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4D, 0x84, 0x90, 0x85, 0x42,
+0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x64, 0x01, 0x70, 0x3C, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x0D, 0xF0,
+0x22, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0, 0x13, 0x13, 0x54, 0x3F,
+0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x85, 0x30, 0xE0, 0xC3, 0x13, 0x90, 0x07,
+0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13,
+0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03, 0xF0, 0x22, 0x74, 0x01,
+0xF0, 0x22, 0xBB, 0x72,
+};
+
+const u8 Rtl8723SFwUMCBCutImgArrayWithBT[Rtl8723SUMCBCutImgArrayWithBTLength] = {
+0x02, 0x23, 0x02, 0x00, 0x25, 0x00, 0x00, 0x00, 0x06, 0x27, 0x22, 0x20, 0xFC, 0x5E, 0x01, 0x00,
+0x17, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x4A, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x61, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x67, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x67, 0xA9, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x6A, 0x89, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03,
+0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09,
+0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08,
+0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10,
+0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21,
+0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20,
+0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00,
+0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28,
+0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30,
+0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04,
+0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05,
+0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13,
+0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F,
+0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24,
+0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78,
+0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40,
+0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48,
+0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8,
+0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58,
+0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07,
+0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04,
+0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18,
+0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28,
+0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09,
+0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9,
+0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22,
+0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83,
+0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE,
+0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0,
+0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A,
+0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7,
+0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83,
+0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82,
+0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82,
+0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0,
+0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22,
+0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7,
+0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8,
+0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5,
+0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB,
+0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE,
+0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED,
+0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC,
+0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8,
+0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22,
+0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5,
+0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9,
+0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70,
+0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0,
+0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3,
+0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68,
+0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12,
+0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83,
+0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3,
+0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x64, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00,
+0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0,
+0x0B, 0x90, 0x93, 0x41, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93,
+0x37, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90,
+0x93, 0x59, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x38, 0xE0, 0xF5, 0x49,
+0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93,
+0x59, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x38, 0xE0, 0x04, 0x2F, 0xF5,
+0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x59, 0xE0, 0xFF, 0x90, 0x93, 0x50, 0xE0, 0x2F, 0xF5, 0x49, 0xE4,
+0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x59, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF,
+0x90, 0x93, 0x50, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50,
+0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x12, 0x9C, 0x26, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x22, 0xE4, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, 0x42, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF,
+0x02, 0x4E, 0x27, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5E, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x62, 0x64, 0x01,
+0x60, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02,
+0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x41, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3,
+0xE0, 0x60, 0x14, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x41,
+0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x78, 0x43, 0x66, 0x10,
+0x90, 0x93, 0x37, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F,
+0xFF, 0x90, 0x93, 0x59, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x38, 0x80,
+0x2D, 0x90, 0x93, 0x37, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33,
+0xFE, 0x90, 0x93, 0x59, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3B, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x38, 0xE0, 0x80,
+0x2D, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90,
+0x93, 0x59, 0xE0, 0xFF, 0x90, 0x93, 0x50, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x59, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x50, 0xE0, 0x04, 0x2F, 0xF5, 0x49,
+0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0,
+0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69,
+0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x59, 0xE0, 0xD3,
+0x9F, 0x40, 0x08, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0x14, 0xF0,
+0x90, 0x93, 0x59, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4,
+0xF0, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8,
+0x90, 0x93, 0x5A, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x4A, 0x65, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01,
+0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x56, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x48, 0x90,
+0x93, 0x52, 0x74, 0x01, 0xF0, 0x12, 0x9C, 0x26, 0x22, 0xE4, 0x90, 0x93, 0x64, 0xF0, 0xE5, 0x65,
+0x70, 0x03, 0x02, 0x47, 0x32, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD,
+0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02, 0x47, 0x32, 0x02, 0x47, 0x2F, 0x90, 0x93, 0x42, 0xE0,
+0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x59, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0xC4,
+0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x93, 0x59, 0xE0, 0xFF, 0x90, 0x93, 0x37,
+0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90, 0x93, 0x3A, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22,
+0x90, 0x93, 0x37, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE,
+0x90, 0x93, 0x59, 0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74,
+0x03, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90,
+0x93, 0x64, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x64, 0xE0, 0xFF, 0x90, 0x93, 0x49, 0xE0, 0x2F, 0xFF,
+0xE4, 0x33, 0xFE, 0x90, 0x93, 0x42, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98,
+0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12,
+0x52, 0x17, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93,
+0x5A, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90, 0x93, 0x53, 0xF0, 0x90, 0x93, 0x58, 0x04, 0xF0, 0x90,
+0x93, 0x41, 0xF0, 0xE4, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x50, 0x74,
+0x05, 0xF0, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4E, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90,
+0x93, 0x49, 0xF0, 0x90, 0x93, 0x4C, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x46, 0x74, 0x14, 0xF0, 0x90,
+0x93, 0x51, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93,
+0xB4, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x93,
+0x3E, 0xF0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x93,
+0x52, 0xF0, 0x90, 0x93, 0x4B, 0xF0, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x93,
+0x4A, 0xF0, 0x90, 0x93, 0xB3, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93,
+0x37, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0x3B, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05,
+0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93,
+0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07,
+0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25,
+0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74,
+0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74,
+0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19,
+0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30,
+0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90,
+0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90, 0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74,
+0x40, 0xF0, 0x02, 0x49, 0x29, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F,
+0x90, 0x93, 0x4D, 0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08,
+0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01,
+0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90,
+0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74,
+0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80,
+0x28, 0x90, 0x93, 0x43, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90,
+0x93, 0x4D, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9,
+0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F,
+0x00, 0x22, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5E, 0xF0, 0xE0,
+0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x52, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD,
+0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14, 0x12, 0x52, 0x17, 0x80, 0x0F, 0x90, 0x93, 0x3E, 0xE0,
+0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x5E, 0xE0, 0x30,
+0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93, 0x5A, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64,
+0x0C, 0x60, 0x13, 0x12, 0x51, 0x48, 0x80, 0x0E, 0x12, 0x50, 0x77, 0x80, 0x09, 0x90, 0x93, 0x52,
+0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, 0x5E, 0xE0, 0x30,
+0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB,
+0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93,
+0x5B, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22,
+0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0xEB, 0xAF, 0x26, 0xAE,
+0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51,
+0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72,
+0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0xA1, 0xE5,
+0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x53, 0x12,
+0x51, 0xD4, 0x80, 0x4E, 0xE5, 0x63, 0x20, 0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69,
+0x12, 0x51, 0x86, 0x80, 0x3D, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20,
+0xE3, 0x09, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0xD4, 0xE5, 0x63, 0x54, 0x0F, 0xFF,
+0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2, 0x09, 0x12, 0x48, 0x8F, 0xEF, 0x60, 0x14, 0x12, 0x51,
+0x1F, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0xF7, 0xEF, 0x60, 0x03, 0x12,
+0x52, 0x04, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4B, 0x35, 0x02, 0x52, 0xF4, 0xE4, 0x93, 0xA3,
+0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4,
+0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8,
+0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04,
+0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F, 0x75, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF,
+0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54,
+0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4,
+0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8,
+0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D,
+0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36,
+0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F,
+0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x65, 0x90, 0x06,
+0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36,
+0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F,
+0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44,
+0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4F, 0x28, 0xE5, 0x62, 0x20, 0xE0,
+0x05, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51,
+0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14,
+0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94,
+0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60,
+0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80,
+0x07, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A,
+0x90, 0x93, 0x44, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01,
+0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0,
+0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64,
+0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x41,
+0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x07, 0x90,
+0x93, 0x58, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x41, 0xE0, 0xFF, 0x90, 0x93, 0x41, 0xEF, 0xF0,
+0x90, 0x93, 0x43, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x59,
+0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80,
+0x03, 0x12, 0x49, 0x32, 0x22, 0x90, 0x93, 0xB3, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C,
+0x90, 0x93, 0xB3, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0xE4, 0xFD, 0x7F, 0x93, 0x12, 0x54,
+0x1B, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x28,
+0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD,
+0x7F, 0x08, 0x12, 0x54, 0x1B, 0x7F, 0x01, 0x12, 0x4E, 0x81, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20,
+0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12,
+0x54, 0x1B, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x54, 0x1B, 0x7F, 0x14,
+0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A, 0xE0,
+0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12,
+0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90,
+0x93, 0x56, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x53,
+0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3,
+0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4,
+0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00,
+0x22, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8,
+0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03,
+0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12,
+0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x39, 0x80, 0x29, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x39, 0x1F, 0x80, 0x14, 0x90,
+0x93, 0x8B, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x50,
+0x39, 0xE4, 0xFF, 0x12, 0x4B, 0x7A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24,
+0x90, 0x93, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90,
+0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E,
+0x9B, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAC, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x2A, 0x12, 0x49,
+0xD0, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAC, 0xE0, 0xFF, 0x7D, 0x01,
+0x12, 0x58, 0x2A, 0x12, 0x49, 0xD0, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x3E, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00,
+0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x3F, 0xE0, 0x94,
+0x88, 0x90, 0x94, 0x3E, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0,
+0x22, 0x90, 0x94, 0x3E, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12,
+0x3B, 0x09, 0xD3, 0x90, 0x94, 0x3F, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x3E, 0xE0, 0x94, 0x00, 0x40,
+0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD,
+0x7F, 0x20, 0x12, 0x54, 0x1B, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0,
+0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F,
+0x28, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x54, 0x1B,
+0xE4, 0xFF, 0x12, 0x4E, 0x81, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0,
+0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x54, 0x1B, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2,
+0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30,
+0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F,
+0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4F, 0xE0, 0x9D, 0x90, 0x93, 0x4E,
+0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4E, 0xE0, 0xA3, 0xE0,
+0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x48, 0x93, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0xA0, 0x00, 0x41,
+0x93, 0xB0, 0x00, 0x41, 0x93, 0x95, 0x00, 0x41, 0x94, 0x46, 0x00, 0x41, 0x93, 0x13, 0x00, 0x41,
+0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41,
+0x94, 0x37, 0x00, 0x41, 0x94, 0x44, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0x57, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x2B, 0x12,
+0x1F, 0xC9, 0x90, 0x94, 0x2B, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x2B, 0x12,
+0x1F, 0xC9, 0x90, 0x94, 0x2B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00,
+0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50,
+0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x09,
+0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x9C, 0x26, 0x90, 0x93, 0x5A, 0xE0,
+0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50,
+0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16,
+0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x41, 0xF0,
+0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x51, 0xE0, 0x90, 0x93, 0x58,
+0xF0, 0x80, 0x05, 0x90, 0x93, 0x58, 0xED, 0xF0, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x41, 0xF0,
+0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02,
+0xF0, 0x90, 0x93, 0x53, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12,
+0x4A, 0x65, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00,
+0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3F, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F,
+0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+0xF9, 0x90, 0x93, 0x55, 0xF0, 0xEE, 0x90, 0x93, 0x54, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93,
+0xB2, 0xE0, 0x90, 0x94, 0x2F, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB2, 0xE0, 0x90, 0x94, 0x2F,
+0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2F, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x95, 0x86, 0x90,
+0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x9B, 0xEF, 0x70,
+0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x99,
+0x48, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x70, 0x1A, 0x90, 0x04,
+0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xAB, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x2A, 0x8E, 0x6A,
+0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x16, 0x90,
+0x93, 0x4B, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x45, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D,
+0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A,
+0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x0C,
+0x22, 0x90, 0x94, 0x47, 0xEF, 0xF0, 0x12, 0x95, 0xCC, 0x90, 0x94, 0x47, 0xE0, 0x60, 0x05, 0x90,
+0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4,
+0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60,
+0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x05,
+0x7F, 0x01, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30, 0xE6,
+0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0,
+0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xE5, 0x12, 0x4E, 0xD9,
+0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x69, 0x90, 0x02,
+0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x43,
+0xF7, 0x52, 0x49, 0x00, 0x40, 0x52, 0x71, 0x00, 0x80, 0x52, 0x9C, 0x01, 0x00, 0x52, 0xB0, 0x02,
+0x00, 0x52, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x52, 0xE5, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF,
+0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE,
+0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80,
+0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D,
+0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07,
+0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35,
+0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D,
+0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF,
+0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00,
+0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x25, 0xF0,
+0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x76, 0xF0, 0xA3, 0xF0, 0xF1, 0xBA, 0x75, 0x8E, 0x02,
+0xF1, 0x99, 0x12, 0x60, 0x51, 0x90, 0x93, 0xB3, 0xEF, 0xF0, 0xF1, 0xDA, 0x90, 0x93, 0xB5, 0xEF,
+0xF0, 0x12, 0x60, 0x64, 0x90, 0x93, 0x96, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5,
+0x09, 0xF5, 0x62, 0x90, 0x93, 0xB2, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x88,
+0x60, 0x12, 0x47, 0x33, 0x12, 0x37, 0x1C, 0xF1, 0xE6, 0x71, 0xF2, 0x12, 0x60, 0x15, 0x12, 0x60,
+0x7C, 0xF1, 0xB3, 0x12, 0x60, 0x33, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xE7, 0xF1, 0xC2, 0x90, 0x93,
+0x78, 0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x63, 0x75,
+0xE8, 0x03, 0x43, 0xA8, 0x85, 0x12, 0x97, 0x59, 0xD2, 0xAF, 0x51, 0xEA, 0x12, 0x60, 0x91, 0x90,
+0x93, 0x76, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xF4, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0,
+0xE5, 0x14, 0x30, 0xE0, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0x12, 0x9A, 0xE3, 0xD2, 0xAF, 0x90,
+0x93, 0xA9, 0xE0, 0xB4, 0x01, 0x07, 0x91, 0xD2, 0xE4, 0x90, 0x93, 0xA9, 0xF0, 0xE5, 0x14, 0x30,
+0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x6F, 0x9E, 0xE5, 0x14, 0x30, 0xE6,
+0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x80, 0x5D, 0xE5, 0x14, 0x30, 0xE7, 0x09,
+0xC2, 0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xD1, 0xEC, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF,
+0xBF, 0x01, 0x0D, 0x90, 0x93, 0x44, 0x74, 0x01, 0xF0, 0x51, 0x17, 0xE4, 0x90, 0x93, 0x44, 0xF0,
+0xD2, 0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x63, 0xF0, 0x90, 0x93, 0x5A, 0xE0, 0x90, 0x01, 0xBC, 0xF0,
+0x61, 0x6F, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0,
+0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x91, 0x1B, 0x7D, 0xFF, 0x7F, 0x55, 0x91,
+0x1B, 0x7D, 0xFF, 0x7F, 0x56, 0x91, 0x1B, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3,
+0xC0, 0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x63, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0x90, 0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x91, 0x1B, 0xE4, 0xFD, 0x7F, 0x51, 0x91, 0x1B,
+0xE4, 0xFD, 0x7F, 0x52, 0x91, 0x1B, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0,
+0x44, 0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0,
+0x92, 0xAF, 0x22, 0x8E, 0x57, 0x8F, 0x58, 0x8B, 0x59, 0x8A, 0x5A, 0x89, 0x5B, 0xE4, 0x90, 0x93,
+0x7C, 0xF0, 0xEF, 0x90, 0x00, 0x31, 0xF0, 0x91, 0x63, 0xE5, 0x57, 0x54, 0x03, 0xFF, 0x90, 0x00,
+0x32, 0xE0, 0x54, 0xFC, 0x4F, 0xF0, 0x91, 0x63, 0x90, 0x00, 0x33, 0xE0, 0x54, 0x7F, 0xF0, 0x91,
+0x63, 0x90, 0x00, 0x33, 0xE0, 0x20, 0xE7, 0x0E, 0x90, 0x93, 0x7C, 0xE0, 0xC3, 0x94, 0x64, 0x50,
+0x05, 0xE0, 0x04, 0xF0, 0x80, 0xEB, 0x90, 0x93, 0x7C, 0xE0, 0xC3, 0x94, 0x64, 0x50, 0x10, 0x90,
+0x00, 0x30, 0xE0, 0xAB, 0x59, 0xAA, 0x5A, 0xA9, 0x5B, 0x12, 0x42, 0x53, 0x7F, 0x01, 0x22, 0x7F,
+0x00, 0x22, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x79, 0x7F, 0xF5, 0x7E, 0x01, 0x91, 0x73, 0xBF, 0x01,
+0x06, 0x90, 0x93, 0x79, 0xE0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x79, 0x7F, 0xF6, 0x7E,
+0x01, 0x91, 0x73, 0xBF, 0x01, 0x08, 0x90, 0x93, 0x79, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x93,
+0x7A, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xAE, 0x07, 0x90, 0x93, 0x7C, 0xE0, 0x54, 0xF0, 0xF0, 0x54,
+0x0F, 0x44, 0x50, 0xF0, 0x90, 0x93, 0x7E, 0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93,
+0x79, 0x7E, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x7C, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92,
+0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, 0x69, 0xE0,
+0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, 0xA3, 0xE0,
+0xB5, 0x07, 0x0D, 0xF1, 0x4B, 0xEF, 0x60, 0x70, 0xD1, 0xEC, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0,
+0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xA8,
+0x01, 0xFC, 0x7D, 0x01, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E,
+0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0,
+0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B,
+0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4,
+0x54, 0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0xB1, 0xDD, 0x90, 0x92, 0x6A, 0xE0,
+0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF,
+0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, 0x04, 0x12, 0x43, 0xC8,
+0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x07, 0x12, 0x43, 0xC8, 0xAF, 0x23, 0x15, 0x23,
+0xEF, 0x60, 0x1E, 0x90, 0x94, 0x07, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0x12, 0x1E, 0xF6,
+0xFF, 0x90, 0x94, 0x04, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12, 0x42, 0x53, 0x80,
+0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x68, 0xE0, 0x90, 0x00, 0x01,
+0x12, 0x42, 0x65, 0xF1, 0x4B, 0xEF, 0x70, 0x02, 0xC1, 0xE7, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xA8,
+0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0xB1,
+0xDD, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x0A,
+0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0x01,
+0x79, 0xA2, 0xB1, 0xDD, 0x90, 0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0xB3, 0xE0, 0x64, 0x01,
+0x70, 0x48, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23,
+0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, 0xB1, 0xDD, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xA8, 0x8B,
+0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4,
+0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x22, 0xB1, 0xDD, 0x90, 0x93, 0x96, 0xE0,
+0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x92, 0x68, 0xE0, 0x04, 0xF0,
+0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0xF1, 0x4B, 0xEF, 0x60, 0x4E, 0x90, 0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4,
+0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75,
+0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x90, 0x94, 0x0D, 0x12, 0x43,
+0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x2C, 0x90, 0x92, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A,
+0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D,
+0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x7F, 0xAF, 0x7E, 0x01, 0x90,
+0x94, 0x33, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x94, 0x33, 0xE0,
+0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, 0x90, 0x94, 0x36, 0xE0, 0x94,
+0xE8, 0x90, 0x94, 0x35, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0,
+0x7F, 0x00, 0x22, 0x90, 0x94, 0x35, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E,
+0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0xE4, 0x90, 0x93, 0xAF, 0xF0, 0x90, 0x00,
+0x80, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x80, 0x81, 0x1B, 0x8F, 0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3,
+0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x01, 0x94, 0xE0, 0x44, 0x01,
+0xF0, 0x22, 0x90, 0x94, 0x38, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x3A, 0xF0, 0x90, 0x94,
+0x38, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00,
+0x30, 0xE3, 0x02, 0x7F, 0x01, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF,
+0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xC4, 0x74, 0xF2, 0xF0, 0x74,
+0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, 0x22, 0xE0, 0x54, 0x90, 0x60,
+0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE1, 0xE4, 0x7F,
+0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0,
+0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10,
+0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7,
+0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0xFD,
+0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0x03, 0x4F,
+0x90, 0x93, 0x68, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90,
+0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x69, 0xF0, 0x90, 0x93, 0x68, 0xE0, 0xFD, 0xA3,
+0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x16, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0x90,
+0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x94, 0x1B, 0xF0, 0xD1, 0x95, 0xBF,
+0x01, 0x02, 0x11, 0xF7, 0x90, 0x94, 0x1B, 0xE0, 0x90, 0x05, 0x22, 0xF0, 0x80, 0x02, 0x11, 0xF7,
+0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAE, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x2A,
+0x90, 0x94, 0x19, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, 0x94, 0x16, 0xE0, 0xFF, 0xA3,
+0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x25, 0xF0, 0xEF, 0x60, 0x10, 0x74, 0x21, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, 0x74, 0x21, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x06, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xEB, 0xF0, 0x90, 0x94, 0x25, 0xE0, 0xFF, 0x74, 0x23, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x04,
+0xF0, 0x22, 0xE4, 0x90, 0x93, 0x64, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20,
+0xE0, 0x02, 0xC1, 0x45, 0x12, 0x9C, 0x54, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x41,
+0xB9, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A,
+0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, 0xE0, 0x90, 0x93, 0x64, 0xF0,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x64, 0xE0, 0x24, 0x03, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4,
+0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, 0x80, 0x03, 0xE0, 0x04, 0xF0,
+0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x16, 0xE0, 0xFF,
+0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E,
+0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4,
+0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC4, 0x80, 0x51, 0x90, 0x93, 0x15,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD,
+0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0,
+0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A,
+0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0x60,
+0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93,
+0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0xA1, 0xB7, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x02, 0x60,
+0x02, 0x61, 0x98, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1,
+0x95, 0xBF, 0x01, 0x03, 0x12, 0x99, 0x48, 0xE4, 0xFF, 0xD1, 0x67, 0x90, 0x93, 0x1A, 0xE0, 0x30,
+0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54,
+0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x64, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xEF,
+0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, 0x90, 0x93, 0x64, 0xE0, 0x2F,
+0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x65, 0xE0, 0x2F, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0xE4,
+0xFF, 0xD1, 0xDC, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0,
+0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0,
+0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD,
+0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30,
+0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0xC1, 0x41, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x03, 0x60, 0x02,
+0x81, 0xEC, 0x7F, 0x01, 0xD1, 0x67, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30,
+0xE0, 0x03, 0x12, 0x95, 0xCC, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0,
+0x02, 0x81, 0x48, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xD3, 0x9F, 0x40, 0x4D,
+0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFF, 0x24,
+0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74,
+0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x67, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x67, 0x74,
+0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x67, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x80, 0x24, 0xE4, 0xF5, 0x48,
+0x90, 0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77,
+0x90, 0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x04,
+0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xFF,
+0x90, 0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x7F, 0x01,
+0xD1, 0xDC, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x2F, 0x90, 0x93, 0x15,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93,
+0x4D, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, 0x0C, 0x80,
+0x08, 0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4D, 0xE0,
+0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0,
+0x03, 0x12, 0x51, 0x48, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13,
+0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0x7F, 0x01, 0xC1, 0x43, 0x90, 0x93, 0x27, 0xE0,
+0x64, 0x04, 0x60, 0x02, 0xA1, 0xBD, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0,
+0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x17, 0xE0, 0xFF,
+0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E,
+0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4,
+0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC4, 0x80, 0x51, 0x90, 0x93, 0x15,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD,
+0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0,
+0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A,
+0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0x60,
+0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93,
+0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x27,
+0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x45, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F,
+0x30, 0xE0, 0x08, 0xD1, 0x95, 0xBF, 0x01, 0x03, 0x12, 0x99, 0x48, 0xE4, 0xFF, 0xD1, 0x67, 0xD1,
+0xDC, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0,
+0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F,
+0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD,
+0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64, 0x12,
+0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05, 0x90,
+0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x04, 0xE4, 0xFF, 0xD1, 0x46, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x17, 0xEF,
+0x7B, 0x01, 0xB4, 0x01, 0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79, 0x07, 0x7F,
+0x80, 0x7E, 0x08, 0x12, 0x95, 0x86, 0x22, 0xEF, 0xB4, 0x03, 0x12, 0x90, 0x93, 0x18, 0xE0, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, 0x17, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x19,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, 0x06, 0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0,
+0x22, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0x90, 0x94, 0x42, 0xF0,
+0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07,
+0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, 0x94, 0x43, 0xE0, 0x94, 0xE8, 0x90, 0x94,
+0x42, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09,
+0x90, 0x94, 0x42, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0x90, 0x94, 0x26, 0xEF,
+0xF0, 0x12, 0x9D, 0xFD, 0x90, 0x93, 0x18, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08,
+0x90, 0x94, 0x26, 0xE0, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x94, 0x27, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x03, 0x10, 0x90, 0x94, 0x26, 0xE0, 0xB4, 0x01, 0x10, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13,
+0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13,
+0x30, 0xE0, 0x0A, 0x90, 0x94, 0x27, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A,
+0x94, 0x79, 0x27, 0x12, 0x95, 0x82, 0x90, 0x94, 0x26, 0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0x90,
+0x93, 0x15, 0xE0, 0x30, 0xE0, 0x72, 0x7F, 0x01, 0xD1, 0x67, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13,
+0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x95, 0xCC, 0x7F, 0x01, 0xD1, 0xDC, 0x90, 0x93, 0x15,
+0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x05, 0x12, 0x95, 0xCC, 0x80, 0x29, 0x90, 0x93,
+0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90,
+0x93, 0x4D, 0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x7D, 0x01, 0x7F, 0x0C, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4D, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05,
+0x74, 0x6F, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x04, 0x7F, 0x01, 0xD1, 0x46, 0x22, 0x12, 0x57, 0xF2, 0xBF, 0x01, 0x0F, 0x90,
+0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x2A, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90,
+0x01, 0x63, 0xE4, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7F, 0x70,
+0x7E, 0x08, 0x12, 0x34, 0x30, 0x7F, 0x01, 0xC1, 0x46, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x36, 0xF0,
+0x70, 0x02, 0xF1, 0xCF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF,
+0x30, 0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B,
+0x90, 0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5,
+0x2B, 0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43,
+0x32, 0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0,
+0x22, 0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02,
+0x22, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xB5, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30,
+0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0,
+0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0,
+0x22, 0xE4, 0x90, 0x93, 0x79, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0, 0x7F, 0x00, 0x30, 0xE4,
+0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x7A, 0xE0, 0x94, 0x88, 0x90,
+0x93, 0x79, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90,
+0x93, 0x79, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09,
+0xD3, 0x90, 0x93, 0x7A, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90,
+0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01,
+0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0,
+0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4,
+0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54,
+0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90,
+0x93, 0x5E, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01,
+0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, 0x5E, 0x74, 0x01, 0xF0, 0xA3,
+0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5E, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E,
+0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0xA0, 0xF0, 0x22, 0x90, 0x93, 0xA0,
+0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30,
+0xE0, 0x03, 0x12, 0x5F, 0xB9, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0,
+0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0,
+0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x86, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0x90, 0x01, 0x34,
+0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5,
+0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x80, 0x90, 0x01,
+0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, 0xD4, 0x0D, 0x85, 0xD5, 0x0E,
+0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, 0x0B, 0x75, 0x20, 0x00, 0x75,
+0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0xA1, 0x12, 0x55, 0xDD,
+0x90, 0x93, 0xA2, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01,
+0x6E, 0x70, 0x02, 0x61, 0x2B, 0x90, 0x93, 0xA2, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x02, 0x61, 0x2B, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0xA3, 0xE0, 0x54, 0x3F,
+0xF5, 0x4E, 0x90, 0x93, 0xA5, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5,
+0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94,
+0x04, 0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43,
+0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93,
+0xA5, 0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84,
+0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF,
+0xF0, 0x90, 0x93, 0xA2, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0xA5, 0xE0,
+0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83,
+0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA4, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x67, 0xAF, 0x4D, 0x12, 0x7A, 0x9C, 0x80, 0x60, 0x90, 0x93, 0xA2, 0xE0, 0xFF,
+0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0xA5, 0xE0, 0x54, 0x1F, 0xFF, 0xFD,
+0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0,
+0x12, 0x42, 0x87, 0x90, 0x93, 0xA4, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x0F, 0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0x12, 0x7A, 0x38, 0x80, 0x1B,
+0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01,
+0x0A, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD,
+0x50, 0x02, 0x80, 0x46, 0x90, 0x93, 0x5A, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90,
+0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90,
+0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90,
+0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x80,
+0x09, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x17, 0x90, 0x94, 0x45, 0xE0, 0x04, 0xF0,
+0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x81, 0x22, 0x90, 0x01, 0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10,
+0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F,
+0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, 0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04,
+0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55, 0x51, 0xF5, 0x13, 0x65, 0x12,
+0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF,
+0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15, 0x75, 0x23, 0x08, 0x7B, 0x01,
+0x7A, 0x93, 0x79, 0x98, 0x12, 0x55, 0xDD, 0x90, 0x93, 0x98, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0xA9, 0xE5, 0x12, 0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD,
+0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5,
+0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30,
+0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26,
+0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20,
+0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x54, 0x30, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB,
+0xF0, 0x12, 0x54, 0x63, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40,
+0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0xA1, 0x30, 0x90, 0x93, 0xB4, 0x74, 0x01, 0xF0, 0x90, 0x01,
+0x36, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x02,
+0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x45, 0x09, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0,
+0x02, 0xA1, 0x26, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07,
+0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70,
+0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0xFF, 0xE0, 0xFE,
+0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x35, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0,
+0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x60, 0x7E, 0x08,
+0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F,
+0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x2D,
+0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE,
+0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x5F, 0x3F, 0xD1, 0xCB, 0x90, 0x93, 0xB4, 0xE4, 0xF0,
+0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x40, 0x12, 0x9E,
+0x56, 0x31, 0x17, 0x90, 0x93, 0x5D, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16,
+0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93,
+0x58, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90,
+0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, 0x90,
+0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x73, 0x90, 0x93, 0x5D, 0xE0, 0x60, 0x34, 0x90, 0x93,
+0x58, 0xE0, 0xFF, 0x90, 0x93, 0x41, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x05,
+0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01,
+0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x41, 0xE0,
+0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, 0x64,
+0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B,
+0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, 0x90,
+0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5B, 0xE4, 0xF0, 0x53,
+0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2E, 0x30, 0xE5, 0x25,
+0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65, 0x60, 0x16, 0x90,
+0x93, 0x5A, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x51, 0x48,
+0x80, 0x03, 0x12, 0x50, 0x77, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0,
+0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, 0x07,
+0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0,
+0x12, 0x4F, 0xFA, 0x74, 0x86, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07,
+0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0,
+0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5E, 0xE0, 0x54, 0xF0, 0x44,
+0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15, 0x90, 0x94, 0x13,
+0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5E, 0x02, 0x55, 0x2C, 0x90, 0x94, 0x38, 0xE0, 0x30,
+0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x37, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A,
+0x0B, 0x90, 0x94, 0x3A, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x37, 0xF0, 0x90, 0x94, 0x3A, 0xE0,
+0xFF, 0x90, 0x94, 0x39, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4, 0x90, 0x94, 0x3A,
+0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0,
+0x06, 0xC0, 0x07, 0x7D, 0x02, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53,
+0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00,
+0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90,
+0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0,
+0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06,
+0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01,
+0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2,
+0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74,
+0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05,
+0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0,
+0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04,
+0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xA9, 0xF0, 0x74,
+0x67, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0,
+0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37,
+0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10,
+0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x79,
+0xE5, 0x34, 0x30, 0xE2, 0x3A, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0xE5, 0x65, 0x60, 0x30, 0x90,
+0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90,
+0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x56, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5,
+0x34, 0x30, 0xE3, 0x3A, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE5, 0x65, 0x60, 0x30, 0x90, 0x06,
+0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB,
+0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06,
+0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x53, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5, 0x34,
+0x30, 0xE4, 0x3D, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0, 0x24,
+0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01,
+0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12,
+0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0xA2, 0x90, 0x93, 0x36, 0xE0, 0x60, 0x03, 0x12, 0x5F, 0xCF,
+0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18,
+0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5,
+0x64, 0xF0, 0x12, 0x51, 0xEC, 0x12, 0x52, 0x17, 0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D,
+0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93,
+0xB0, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD,
+0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36,
+0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01,
+0x3E, 0x74, 0x08, 0xF0, 0x51, 0x43, 0xE5, 0x36, 0x30, 0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10,
+0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x75, 0x90, 0x01, 0x3E, 0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0,
+0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04,
+0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE6, 0x11, 0x74, 0x40, 0xF0,
+0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x07, 0x90, 0x07, 0x80, 0xE0, 0xFF, 0x51, 0x61, 0x90, 0x07,
+0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x95,
+0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D,
+0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0, 0x7F, 0x01, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x95,
+0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF, 0x12, 0x5E, 0x46, 0xE5, 0x36, 0x30, 0xE5, 0x06,
+0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40,
+0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1,
+0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1E, 0x90,
+0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, 0x24, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x05, 0x73, 0xF0,
+0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x5F, 0x3F, 0x12, 0x66, 0xCB, 0x74, 0xA9, 0x04,
+0x90, 0x01, 0xC4, 0xF0, 0x74, 0x67, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04,
+0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0,
+0xD0, 0xE0, 0x32, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90,
+0x93, 0x1C, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0,
+0x22, 0xAD, 0x07, 0x90, 0x93, 0x64, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10,
+0xF0, 0x90, 0x93, 0x66, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x66, 0x90, 0x94, 0x13, 0x12,
+0x43, 0xC8, 0x7A, 0x93, 0x79, 0x64, 0x02, 0x55, 0x2C, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0,
+0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04,
+0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02,
+0xA1, 0x59, 0x90, 0x93, 0x95, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0,
+0x90, 0x00, 0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x95, 0x74, 0x01, 0xF0, 0x90, 0xFD,
+0x60, 0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x02, 0xF1, 0x32, 0x90, 0xFD, 0x60, 0xE0, 0x64,
+0x0E, 0x60, 0x02, 0x61, 0x89, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20,
+0xE0, 0x02, 0x61, 0x89, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54,
+0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90,
+0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01,
+0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90, 0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19,
+0x90, 0x07, 0x78, 0x12, 0x58, 0x8A, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49,
+0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13,
+0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3,
+0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x8A, 0x80, 0x0C, 0xE0, 0x44, 0x10,
+0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A,
+0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xB1, 0xED, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15,
+0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6B, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54,
+0x3F, 0x04, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x6A,
+0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13,
+0x54, 0x3F, 0xFF, 0x90, 0x93, 0x6B, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x6A, 0xF0, 0xD3, 0x94,
+0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x93, 0x6A, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF,
+0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x6A, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F,
+0x90, 0x93, 0x6C, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10,
+0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x07, 0x90,
+0xFD, 0x62, 0xE0, 0xFF, 0xB1, 0x74, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0xB1, 0x9C, 0x90,
+0xFD, 0x60, 0xE0, 0x64, 0x23, 0x60, 0x02, 0x81, 0xC0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C,
+0x30, 0xE0, 0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13,
+0x13, 0x54, 0x03, 0x20, 0xE0, 0x62, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90, 0x93, 0x2D,
+0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x2C,
+0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x7F, 0x70, 0x7E, 0x08,
+0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0, 0x04, 0xF0,
+0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44, 0x20, 0xF0,
+0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0x12, 0x9B, 0x06,
+0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x02, 0xB1, 0xC4, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25, 0x13,
+0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x93, 0x24,
+0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, 0x12, 0x9B, 0xA2, 0x90,
+0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0xD1, 0x18, 0x90, 0x93, 0x36,
+0xE0, 0x60, 0x4F, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x31, 0x70, 0x47, 0x90, 0xFD, 0x62, 0xE0, 0x30,
+0xE0, 0x36, 0x90, 0x01, 0x63, 0xE4, 0xF0, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0xE4, 0xFF, 0x12, 0x5E, 0x46,
+0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x80, 0x0A, 0x90, 0xFD, 0x62, 0xE0, 0x30, 0xE1, 0x03, 0x12,
+0x5F, 0xCF, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0,
+0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0,
+0xF0, 0xD0, 0xE0, 0x32, 0xAD, 0x07, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54,
+0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6F, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F, 0x90,
+0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0x90, 0x00, 0x75, 0xE0,
+0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, 0x03, 0xF0,
+0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, 0x75, 0xE0,
+0x54, 0xFE, 0xF0, 0x22, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44,
+0x10, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F,
+0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0xAE, 0x07, 0x90,
+0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6F,
+0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F, 0x90, 0x94, 0x13, 0x12, 0x43,
+0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0xAC, 0x07, 0x90, 0x93, 0xDB, 0xE0, 0x44, 0x0F,
+0xF0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0xDD, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63,
+0xE0, 0x90, 0x93, 0xDE, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, 0xFD, 0x64,
+0xE0, 0x90, 0x93, 0xE0, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x90, 0xFD, 0x66,
+0xE0, 0x90, 0x93, 0xE2, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE3, 0xF0, 0x80, 0x11, 0x90,
+0x93, 0xDE, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0x7B, 0x01, 0x7A, 0x93, 0x79, 0xDD, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xDB,
+0x02, 0x55, 0x2C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x84,
+0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x85, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x87, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x88, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD,
+0x58, 0xE0, 0x20, 0xE0, 0x14, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x84, 0x7F, 0x30, 0xD1, 0xE8, 0x90,
+0x93, 0x84, 0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x84, 0xE0, 0xFB, 0xE4, 0xFD,
+0xFF, 0xD1, 0x18, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0x8B, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD,
+0x50, 0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8, 0x8E,
+0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD,
+0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90,
+0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90,
+0x93, 0x71, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90,
+0x93, 0x73, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6D, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F,
+0x44, 0x50, 0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90,
+0x93, 0x74, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x75, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79,
+0x6F, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x79, 0xF0, 0x90,
+0x93, 0x79, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x70, 0xE9, 0x90, 0x94, 0x46, 0xE0, 0xFF, 0x74, 0x01,
+0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF,
+0x5D, 0x70, 0x03, 0x02, 0x70, 0xE2, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0,
+0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7A, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22,
+0x7A, 0x75, 0x23, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7B, 0x12, 0x55, 0xDD, 0x90, 0x93, 0x7B,
+0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x94, 0x46, 0x30, 0xE0, 0x59, 0xE0, 0x75,
+0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x46,
+0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90,
+0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E,
+0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90,
+0x93, 0x7F, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C,
+0xE0, 0x90, 0x93, 0x80, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43,
+0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2,
+0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90,
+0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01,
+0x7A, 0x93, 0x79, 0x7C, 0x11, 0xEE, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x90, 0x94, 0x46, 0xE0, 0xFE,
+0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x79,
+0xF0, 0x90, 0x94, 0x46, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8,
+0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x02,
+0x6F, 0xAF, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93,
+0x81, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x71, 0x98, 0x01, 0x71, 0x8F, 0x02, 0x71, 0xE0,
+0x03, 0x71, 0xE9, 0x05, 0x71, 0xF2, 0x06, 0x73, 0x46, 0x07, 0x71, 0xFA, 0x0B, 0x72, 0x03, 0x10,
+0x72, 0x0B, 0x11, 0x72, 0x13, 0x12, 0x72, 0x1B, 0x16, 0x72, 0x25, 0x17, 0x72, 0x2F, 0x18, 0x72,
+0x39, 0x19, 0x73, 0x09, 0x1B, 0x73, 0x12, 0x1C, 0x72, 0x42, 0x1D, 0x72, 0x4C, 0x1E, 0x72, 0x57,
+0x21, 0x72, 0x60, 0x22, 0x72, 0x69, 0x23, 0x72, 0x72, 0x24, 0x72, 0x7B, 0x25, 0x72, 0x84, 0x26,
+0x72, 0x8D, 0x27, 0x72, 0x96, 0x28, 0x72, 0x9F, 0x29, 0x71, 0xA1, 0x2D, 0x71, 0xAA, 0x2E, 0x72,
+0xA8, 0x2F, 0x73, 0x1B, 0x30, 0x72, 0xB9, 0x32, 0x72, 0xB0, 0x33, 0x71, 0xBC, 0x34, 0x72, 0xC2,
+0x36, 0x72, 0xCB, 0x37, 0x72, 0xD4, 0x38, 0x72, 0xDC, 0x3A, 0x71, 0xB3, 0x3B, 0x72, 0xE5, 0x3E,
+0x72, 0xEE, 0x3F, 0x72, 0xF7, 0x41, 0x73, 0x24, 0x46, 0x71, 0xC5, 0x47, 0x71, 0xD7, 0x48, 0x71,
+0xCE, 0x49, 0x73, 0x2D, 0x4B, 0x73, 0x36, 0x51, 0x73, 0x00, 0x53, 0x00, 0x00, 0x73, 0x3F, 0x90,
+0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0xA0, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8B,
+0xA6, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8C, 0x87, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8,
+0x02, 0x8C, 0xCF, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x08, 0x90, 0x93, 0x81, 0x12,
+0x43, 0xA8, 0x02, 0x8D, 0x3A, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x40, 0x90, 0x93,
+0x81, 0x12, 0x43, 0xA8, 0x02, 0x8E, 0x00, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x29,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8E, 0x11, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8A, 0x5A, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x81, 0x17, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8,
+0x02, 0x8A, 0xD0, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x61, 0x47, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x61, 0x4D, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x61, 0x53, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90,
+0x93, 0x81, 0x12, 0x43, 0xA8, 0x7F, 0x03, 0x80, 0x1B, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8F, 0x43, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0xE4, 0xFF, 0x80, 0x08, 0x90, 0x93, 0x81, 0x12,
+0x43, 0xA8, 0x7F, 0x04, 0x02, 0x8E, 0x61, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x7B,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x94, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8F, 0xAD, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xC6, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x02, 0x8F, 0xDF, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xF8, 0x90, 0x93, 0x81,
+0x12, 0x43, 0xA8, 0x02, 0x90, 0x11, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x2A, 0x90,
+0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x43, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x81, 0x08,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x6B, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x90, 0x84, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x9D, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x02, 0x92, 0x50, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x61, 0xE6, 0x90, 0x93, 0x81, 0x12,
+0x43, 0xA8, 0x02, 0x92, 0x62, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xBC, 0x90, 0x93,
+0x81, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xD5, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x10,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x5F, 0xE9, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8A, 0x9F, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x86, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x02, 0x9A, 0xAF, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x6E, 0x83, 0x90, 0x93, 0x81,
+0x12, 0x43, 0xA8, 0x02, 0x98, 0x31, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8E, 0x59, 0x90,
+0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F, 0x0B, 0x80, 0x10, 0x7D, 0x01, 0x7F,
+0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, 0x7D, 0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF,
+0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x3B, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0,
+0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54, 0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90,
+0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3,
+0x9D, 0x50, 0x1E, 0x90, 0x94, 0x3B, 0x12, 0x43, 0xA8, 0x8E, 0x82, 0x75, 0x83, 0x00, 0x12, 0x1F,
+0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80,
+0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5,
+0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90,
+0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, 0x90, 0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F,
+0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12,
+0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x23, 0x71, 0x5D, 0xEF, 0xB4,
+0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9B, 0x06, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9,
+0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0x61, 0x5D, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x1F,
+0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0x90, 0x93, 0x84, 0xEF, 0xF0,
+0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03,
+0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x00, 0x04, 0x12,
+0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x84,
+0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC, 0x83, 0x90,
+0x93, 0x8B, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74,
+0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xA8,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x8D, 0x12, 0x43, 0xA8, 0xEF,
+0x12, 0x42, 0x53, 0x90, 0x93, 0x86, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF,
+0x90, 0x93, 0x8D, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90, 0x93, 0x86,
+0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8B, 0xE0, 0xFC, 0xA3,
+0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C, 0x83, 0xA3,
+0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x24, 0xC2, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x85, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90,
+0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B, 0x12, 0x43,
+0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C,
+0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34,
+0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24, 0x02, 0xF9,
+0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09, 0xE5, 0x57,
+0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5, 0x57, 0x75,
+0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5, 0x60, 0x89,
+0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12, 0x43, 0xD1,
+0x75, 0xA5, 0x00, 0x75, 0xBA, 0x01, 0x75, 0xCF, 0x02, 0x75, 0xE4, 0x03, 0x76, 0x0D, 0x04, 0x76,
+0x22, 0x05, 0x76, 0x37, 0x06, 0x76, 0x5D, 0x0C, 0x76, 0x8A, 0x0D, 0x76, 0xB7, 0x0E, 0x76, 0xE4,
+0x0F, 0x00, 0x00, 0x77, 0x18, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90,
+0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80, 0x27, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3,
+0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, 0xE1, 0x18, 0xE5, 0x57, 0x25,
+0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF5,
+0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74,
+0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02,
+0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xE1, 0x18, 0x90, 0x04, 0x47,
+0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x46, 0xE0, 0xAB, 0x5A,
+0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x45, 0xE0, 0x85, 0x59,
+0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0xE1, 0x0F, 0x90, 0x04, 0x4B, 0xE0, 0xAB, 0x5A,
+0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9,
+0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58,
+0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9,
+0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00,
+0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90,
+0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42,
+0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42,
+0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x50, 0xE0,
+0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xC0, 0x03,
+0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x12, 0x1E,
+0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5, 0x5C, 0x24,
+0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF,
+0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0, 0x01, 0xD0,
+0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xC0, 0x83, 0xC0, 0x82,
+0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83,
+0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E,
+0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0xE5, 0x57,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E,
+0x60, 0x4C, 0x90, 0x93, 0x90, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x00,
+0x50, 0x03, 0x02, 0x78, 0x5E, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33,
+0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x0A, 0x90, 0x93, 0x90, 0xE0,
+0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x90, 0xE0, 0x14, 0xF0, 0x80, 0xBA, 0xE5, 0x57,
+0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E,
+0x60, 0x47, 0x90, 0x93, 0x90, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x00,
+0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83,
+0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x90, 0xE0, 0xA3, 0xF0, 0x80,
+0x0D, 0x90, 0x93, 0x90, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0xE5, 0x57,
+0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E,
+0x60, 0x46, 0xE4, 0x90, 0x93, 0x90, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x40,
+0x02, 0x21, 0x17, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33,
+0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, 0x93, 0x90, 0xE0, 0x80, 0x63,
+0x90, 0x93, 0x90, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82,
+0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x90,
+0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8,
+0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0,
+0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E,
+0x60, 0x08, 0x90, 0x93, 0x90, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, 0x93, 0x90, 0xE0, 0x04, 0xF0,
+0x80, 0xBF, 0xE4, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x91, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0xE5,
+0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFE, 0x75, 0xF0,
+0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, 0x20,
+0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, 0x9F,
+0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0,
+0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x92, 0xE0, 0xA3, 0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, 0x27,
+0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x91, 0xE0, 0xFE,
+0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x93, 0xEE, 0xF0, 0x80, 0x17, 0x90, 0x93, 0x92, 0xE0,
+0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x91, 0xE0, 0x90,
+0x93, 0x93, 0xF0, 0x90, 0x93, 0x93, 0xE0, 0xFD, 0xAF, 0x57, 0x31, 0xEF, 0x90, 0x93, 0x93, 0xE0,
+0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93,
+0x91, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0, 0x22, 0xEF,
+0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x03,
+0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0, 0x22, 0xD3,
+0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E, 0x74, 0x84, 0x2F, 0xF5,
+0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x29, 0x74, 0x27, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCE, 0xEF, 0xF0, 0x24, 0x27, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xCE, 0x7D,
+0x02, 0x71, 0xB4, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D, 0x53, 0xE5, 0x53, 0x54, 0x1F,
+0x90, 0x93, 0x60, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0x90,
+0x93, 0x5E, 0xF0, 0x90, 0x93, 0x61, 0x74, 0x01, 0xF0, 0xEB, 0xC3, 0x94, 0x01, 0x40, 0x02, 0x80,
+0x3B, 0x90, 0x93, 0x5E, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3, 0xE0, 0x90, 0x41, 0xA4, 0x93,
+0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5,
+0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x21, 0xEF, 0x90, 0x93, 0x5F, 0xE0, 0xFF, 0x74, 0x01,
+0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0xAD, 0x07, 0x75, 0xF0,
+0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x74, 0x28, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, 0x93, 0x62, 0xF0, 0x74, 0xE8,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, 0x74, 0xE8, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEF, 0xF0, 0x74,
+0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74,
+0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0xC6, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, 0x74, 0xC6, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x63, 0xE0, 0xFF, 0x90, 0x93, 0x62,
+0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C,
+0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25,
+0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4,
+0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x62, 0xE0, 0xFD,
+0x31, 0xEF, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x12, 0x90, 0x04, 0x30, 0xE0,
+0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, 0xCF, 0x04, 0xF0, 0x90, 0x93,
+0x62, 0xE0, 0xFF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x1C, 0x12, 0x43,
+0xC8, 0x90, 0x94, 0x1F, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F, 0xC4, 0x54,
+0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x13,
+0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x1F, 0x12, 0x55, 0x2C, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34,
+0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x89, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5,
+0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x89,
+0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8C, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12,
+0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8E, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43,
+0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8F, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34,
+0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x90, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90,
+0x93, 0x92, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, 0x93, 0x8F, 0xE0, 0x90, 0x93, 0x8C, 0xF0,
+0x90, 0x93, 0x89, 0xF0, 0xED, 0x70, 0x02, 0xA1, 0x6B, 0x90, 0x93, 0x8D, 0xED, 0xF0, 0x90, 0x93,
+0x89, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8C, 0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D,
+0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0x70, 0x02, 0xA1, 0x6B, 0x90, 0x93, 0x8C, 0xE0, 0xFF,
+0xD3, 0x94, 0x00, 0x50, 0x02, 0xA1, 0x6B, 0xE4, 0x90, 0x93, 0x8B, 0xF0, 0xEF, 0x14, 0x90, 0x93,
+0x8A, 0xF0, 0x90, 0x93, 0x8E, 0xE0, 0xFD, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F,
+0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08,
+0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x92, 0xE0, 0x5E, 0xFE,
+0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37,
+0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9,
+0xFF, 0x90, 0x93, 0x90, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x8A,
+0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFF,
+0x90, 0x93, 0x8B, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, 0x8A, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90,
+0x93, 0x8D, 0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xE0, 0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93, 0x8A, 0xE0,
+0xB5, 0x05, 0x08, 0x90, 0x93, 0x8E, 0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFF,
+0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01,
+0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01,
+0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24,
+0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90,
+0x93, 0x89, 0xE0, 0xFD, 0x31, 0xEF, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x22, 0xEF, 0xC3, 0x94, 0x20,
+0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, 0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24,
+0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13,
+0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4,
+0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x4D, 0xF0, 0x22, 0xAD, 0x07, 0xED, 0xC3,
+0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54,
+0x7F, 0x90, 0x93, 0x89, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xF9, 0x54, 0x1F, 0xA3,
+0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x8C,
+0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3,
+0xE0, 0x90, 0x93, 0x8D, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8F, 0xCB, 0xF0, 0xA3, 0xEB,
+0xF0, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5,
+0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xE1, 0x59,
+0x90, 0x93, 0x8A, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF,
+0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8B, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xE0,
+0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xE1, 0x93, 0xEE, 0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0,
+0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+0xF9, 0xFF, 0x90, 0x93, 0x8D, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93,
+0x8B, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80,
+0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3,
+0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8B, 0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93, 0x8E, 0xE0,
+0x30, 0xE7, 0x06, 0x90, 0x93, 0x8B, 0x74, 0x17, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x64, 0x13,
+0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8D, 0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x8B,
+0x74, 0x18, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x89, 0xF0, 0x80,
+0x42, 0x90, 0x93, 0x8B, 0xE0, 0x04, 0xF0, 0xC1, 0xB7, 0x90, 0x93, 0x8C, 0xE0, 0xFC, 0x90, 0x93,
+0x8A, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83,
+0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10,
+0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x8A, 0xE0, 0x44, 0x40, 0x90, 0x93, 0x89, 0xF0, 0x80, 0x03,
+0xAF, 0x01, 0x22, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5,
+0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13,
+0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83,
+0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, 0x8A, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90,
+0x93, 0x8C, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0,
+0x90, 0x93, 0x8A, 0xEF, 0xF0, 0x90, 0x93, 0x89, 0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24,
+0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF,
+0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF,
+0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82,
+0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x89, 0xE0, 0x44,
+0x80, 0xFD, 0x12, 0x79, 0xEF, 0x90, 0x93, 0x89, 0xE0, 0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93,
+0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x03, 0x02, 0x88, 0x5F, 0xEF,
+0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, 0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F,
+0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90,
+0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, 0x03, 0x02, 0x88, 0x56, 0xEF, 0x25, 0xE0,
+0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00,
+0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x88, 0x56, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x20, 0x40, 0x09,
+0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x88, 0x5F, 0x90, 0x93, 0x79, 0xE0, 0x75, 0xF0, 0x0A,
+0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0,
+0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0,
+0x90, 0x93, 0x7E, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4,
+0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x80, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0,
+0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x7A, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x79,
+0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x7A,
+0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x75,
+0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x83, 0xF0, 0x74, 0x67, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x02, 0x61, 0xF4, 0x90,
+0x93, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7B, 0xE0, 0x9F, 0x40, 0x13, 0x90, 0x93, 0x83, 0xE0, 0x90,
+0x93, 0x7B, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, 0x7A, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93,
+0x7B, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x85, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, 0x06, 0xEF, 0x90, 0x40, 0xE0, 0x80, 0x07,
+0x90, 0x93, 0x7B, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, 0x93, 0x82, 0xF0, 0x90, 0x93, 0x82, 0xE0,
+0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57,
+0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7C, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12,
+0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC,
+0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA,
+0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B,
+0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93,
+0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12,
+0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42,
+0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12,
+0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9,
+0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE,
+0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F,
+0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7E, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3,
+0x90, 0x93, 0x7D, 0xE0, 0x9F, 0x90, 0x93, 0x7C, 0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0,
+0x90, 0x93, 0x7C, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, 0x90, 0x93, 0x7C, 0xF0, 0xA3, 0xF0, 0x90,
+0x93, 0x7C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5,
+0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0x25,
+0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93,
+0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x61, 0xC3, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24,
+0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x79,
+0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x93,
+0x84, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0xC6,
+0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x79, 0xE0,
+0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF,
+0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x60, 0x02, 0xE1, 0x04, 0x12, 0x7D,
+0xFC, 0xE1, 0x04, 0x90, 0x93, 0x7A, 0xE0, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41,
+0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0xC3, 0x90, 0x93, 0x7D, 0xE0, 0x9F, 0x90,
+0x93, 0x7C, 0xE0, 0x9E, 0x40, 0x02, 0xE1, 0x04, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x7D, 0x01, 0x12,
+0x7B, 0xF1, 0xE1, 0x04, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91,
+0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0xA1, 0xD2, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4,
+0x03, 0x0B, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02,
+0x0B, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x11, 0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0,
+0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE,
+0x70, 0x11, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01,
+0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x24, 0xC4, 0xF5,
+0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x88,
+0xF0, 0x74, 0x67, 0x2F, 0xA1, 0x7D, 0x90, 0x8E, 0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0xA1, 0x72,
+0x90, 0x93, 0x79, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A,
+0x60, 0x5B, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xEE, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8,
+0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33,
+0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64,
+0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, 0x79, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7B, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x79,
+0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40,
+0x08, 0x90, 0x93, 0x88, 0x74, 0x05, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x88,
+0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24,
+0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34,
+0x8F, 0x80, 0x2F, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0,
+0x80, 0x14, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0xFE, 0x90, 0x93, 0x79, 0xE0, 0xFF,
+0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFE,
+0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF,
+0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x11, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0x74,
+0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFD,
+0xE1, 0x01, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xE1, 0x04, 0x90, 0x93, 0x7C, 0xF0, 0xA3, 0xF0, 0x90,
+0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7E, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F,
+0x3C, 0x90, 0x93, 0x86, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x24, 0xC4, 0xF5,
+0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0xE4, 0x90, 0x93, 0x85, 0xF0,
+0x90, 0x93, 0x85, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0,
+0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F,
+0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x86, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x7D,
+0xE0, 0x9F, 0x90, 0x93, 0x7C, 0xE0, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x85, 0xE0, 0x04, 0xF0, 0x80,
+0xAF, 0x90, 0x93, 0x85, 0xE0, 0xC3, 0x13, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFF, 0xB4, 0x01, 0x0D,
+0x90, 0x93, 0x85, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x88, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03,
+0x1D, 0x90, 0x93, 0x85, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x88, 0x74, 0x03, 0xF0, 0x80, 0x48,
+0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x88, 0x74, 0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93,
+0x88, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x85, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x88,
+0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x88, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80,
+0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x81, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x80, 0xE0, 0x94,
+0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0xD3, 0x90, 0x93, 0x81, 0xE0, 0x94, 0x03, 0x90,
+0x93, 0x80, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0,
+0xFD, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED,
+0xF0, 0x12, 0x7D, 0xBC, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91,
+0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91,
+0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x80, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74,
+0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, 0x79, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50,
+0x1C, 0x90, 0x93, 0x80, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x79,
+0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3,
+0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5,
+0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF,
+0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3,
+0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x79, 0xE0, 0x50, 0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7,
+0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B,
+0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00,
+0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F,
+0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12,
+0x43, 0x1F, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x04, 0xF0, 0x02, 0x80, 0x62, 0x22,
+0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4,
+0xF0, 0x90, 0x93, 0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74,
+0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x04,
+0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93,
+0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x02, 0x41, 0x59, 0x75, 0xF0,
+0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF,
+0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84,
+0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12,
+0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C,
+0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13,
+0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82,
+0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82,
+0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82,
+0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4,
+0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04,
+0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0x90, 0x41, 0x5A, 0x74, 0x01, 0x93,
+0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x79, 0xE0, 0xFD,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0,
+0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09,
+0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43,
+0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C,
+0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C,
+0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED,
+0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74,
+0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13,
+0xF0, 0x90, 0x93, 0x79, 0xE0, 0x04, 0xF0, 0x01, 0xA2, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94,
+0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4, 0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE,
+0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0x02, 0x74, 0x2B, 0x12,
+0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x93, 0x90, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x93,
+0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x90, 0x12, 0x43,
+0xA8, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x93, 0x02, 0x55, 0x2C,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3,
+0x94, 0x40, 0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25,
+0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93,
+0x84, 0xF0, 0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5,
+0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x86, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3,
+0x74, 0xFF, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0,
+0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8A, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5,
+0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xF0, 0xEE, 0xA3,
+0xF0, 0xA3, 0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x84, 0x41, 0xA7,
+0x12, 0x1E, 0xF6, 0xF5, 0x62, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x00, 0x03,
+0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01,
+0x90, 0x93, 0x3E, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x45, 0xF0, 0xEF, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x90, 0x93, 0x4B, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01,
+0x90, 0x93, 0x47, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x4A, 0xF0, 0xE0, 0x70, 0x38,
+0x90, 0x93, 0x48, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x87, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x87, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3E, 0xE0, 0x70, 0x03, 0x12, 0x4F,
+0xB8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x12, 0x4D, 0xC1, 0x90, 0x93, 0x5A, 0xE0, 0x90, 0x01,
+0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0,
+0x25, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93,
+0x4C, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0x90, 0x93, 0x51, 0xF0, 0x22, 0x90, 0x93, 0x49, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4C, 0x74,
+0x05, 0xF0, 0x90, 0x93, 0x46, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x51, 0x74, 0x05, 0xF0, 0x22, 0x12,
+0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x50, 0xF0, 0x90, 0x00, 0x01,
+0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x4E, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93,
+0x50, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x4E, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4E,
+0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4D, 0xF0, 0x60,
+0x20, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90,
+0x93, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x51,
+0x69, 0x90, 0x93, 0x4D, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x84, 0x02, 0x43, 0xC8,
+0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x37, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF,
+0x54, 0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93,
+0x37, 0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x39, 0xF0,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F,
+0x90, 0x93, 0x3B, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12,
+0x1F, 0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x01, 0xF0, 0x80, 0x57,
+0xEF, 0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3,
+0x94, 0x60, 0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80,
+0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08,
+0x90, 0x93, 0x38, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93,
+0x38, 0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x38, 0x50, 0x05, 0x74,
+0x07, 0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x38, 0xE0, 0x90, 0x93, 0x3C, 0xF0, 0x22,
+0x12, 0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0,
+0x22, 0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93,
+0xAA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAB, 0xF0, 0x90,
+0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAC, 0xF0, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAD, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0xAE, 0x05, 0xED, 0x2F, 0x90, 0x93, 0xAE, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xA9, 0xF0,
+0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, 0x00, 0x40, 0xE0, 0x44, 0x20,
+0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, 0xF0, 0x80, 0x07, 0x90, 0x07,
+0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, 0x1E, 0xF6, 0x90, 0x00, 0x01,
+0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x54, 0xFE, 0xF0, 0x80,
+0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06,
+0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x00, 0x04, 0x12,
+0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x06, 0xCC,
+0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xC8, 0xF0, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, 0x03, 0x11, 0x12, 0x1E, 0xF6,
+0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xCB, 0xF0, 0xEF, 0x64,
+0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, 0xE0, 0x06, 0xE0, 0x44, 0x10,
+0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, 0x90, 0x07, 0x83, 0xE0, 0x44,
+0x80, 0xF0, 0x22, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x12,
+0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6C, 0xF0,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, 0xF0, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8,
+0x12, 0x73, 0x59, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, 0x90, 0x93, 0x84, 0x12, 0x43,
+0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F,
+0x17, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8,
+0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x18, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D,
+0x01, 0x7F, 0x19, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12,
+0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1A, 0x02, 0x73, 0x5D, 0x90,
+0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43,
+0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93,
+0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1C, 0x02, 0x73,
+0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8,
+0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1E,
+0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6,
+0xA8, 0x04, 0xA9, 0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, 0x93, 0x0B, 0x12, 0x43, 0x84, 0xEC, 0x54,
+0x03, 0xFC, 0x12, 0x43, 0x59, 0x90, 0x93, 0x07, 0x02, 0x1F, 0xC9, 0x90, 0x93, 0x84, 0x12, 0x43,
+0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F,
+0x1F, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8,
+0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x20, 0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6,
+0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, 0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20,
+0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12,
+0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0,
+0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, 0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0,
+0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, 0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0,
+0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0,
+0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x90, 0x93, 0x84, 0xEF,
+0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13,
+0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, 0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02,
+0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, 0x05, 0x31, 0xA4, 0x0D, 0x80, 0xF3, 0x0C,
+0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, 0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08,
+0xA4, 0xFF, 0x90, 0x93, 0x84, 0xE0, 0xFB, 0xC3, 0xEF, 0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98,
+0x50, 0x07, 0xAF, 0x05, 0x31, 0xA4, 0x0D, 0x80, 0xE3, 0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0,
+0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12, 0x54, 0x1B, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0,
+0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04,
+0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08,
+0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF,
+0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD,
+0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22,
+0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE,
+0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xC8, 0x12,
+0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54,
+0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93,
+0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12,
+0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54,
+0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x15,
+0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0xFE, 0x90,
+0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB,
+0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40,
+0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90,
+0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20,
+0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF,
+0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0,
+0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF,
+0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x20, 0xE0,
+0x07, 0xB1, 0xCC, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x12, 0x1E,
+0xF6, 0x20, 0xE0, 0x02, 0x81, 0xE7, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0,
+0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x16, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F,
+0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x17, 0xF0, 0x80, 0x48,
+0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03,
+0x90, 0x93, 0x16, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93,
+0x16, 0x74, 0x2A, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12,
+0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0,
+0x80, 0x06, 0x90, 0x93, 0x17, 0x74, 0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54,
+0x03, 0x30, 0xE0, 0x3D, 0x90, 0x93, 0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0,
+0xE0, 0xC3, 0x13, 0xA3, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20,
+0xF0, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3,
+0x13, 0x90, 0x93, 0x22, 0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A,
+0xAD, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13,
+0x54, 0x1F, 0x30, 0xE0, 0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93,
+0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07,
+0x30, 0xE0, 0x03, 0x75, 0x64, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0,
+0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27,
+0x74, 0x01, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74,
+0x04, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02,
+0xF0, 0x80, 0x0D, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0,
+0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x80, 0x63, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6,
+0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x93, 0x84, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0xD1, 0xA1, 0x90, 0x00,
+0x40, 0x74, 0x20, 0xF0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F,
+0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03,
+0x74, 0x01, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x84, 0xB1, 0x82, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF,
+0xF0, 0xE4, 0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x09, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x5E,
+0x46, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0x67, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC,
+0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F,
+0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90,
+0x01, 0xEB, 0x74, 0x40, 0xF0, 0xD1, 0x4C, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xEC, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xF0,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01,
+0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x4B, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0,
+0x90, 0x93, 0x3E, 0xE0, 0x60, 0x14, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x0B, 0x90, 0x93, 0x15, 0xE0,
+0xFF, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0,
+0x23, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x1D, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x5C, 0xE0,
+0x60, 0x12, 0x90, 0x93, 0xF0, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93,
+0x79, 0xF0, 0xB1, 0x82, 0x12, 0x54, 0x5C, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x94, 0x40,
+0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x94, 0x41, 0xE0,
+0x94, 0x88, 0x90, 0x94, 0x40, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04,
+0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x40, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14,
+0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x41, 0xE0, 0x94, 0x64, 0x90, 0x94, 0x40, 0xE0,
+0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01,
+0x22, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0,
+0xE4, 0x90, 0x93, 0x26, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54,
+0xFB, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54,
+0x7F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB,
+0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F,
+0xF0, 0xA3, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93,
+0x28, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0,
+0x54, 0xDF, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE,
+0xF0, 0xE4, 0x90, 0x93, 0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93,
+0x1C, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0,
+0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0,
+0x54, 0xE1, 0xF0, 0xE4, 0x90, 0x93, 0x36, 0xF0, 0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0,
+0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12,
+0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x93, 0x0B, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70,
+0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, 0x43, 0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0,
+0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74,
+0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0xD1, 0xA1, 0x90,
+0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F, 0x02, 0x02, 0x3A, 0xAD, 0x90, 0x93, 0x84, 0x12,
+0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01,
+0x7F, 0x24, 0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0,
+0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6,
+0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF,
+0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22,
+0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12,
+0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB2, 0xF0,
+0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93,
+0xB1, 0xF0, 0x22, 0x90, 0x93, 0xE4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xE8, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xE8, 0x12, 0x43, 0x90, 0xD3,
+0x12, 0x43, 0x73, 0x50, 0x41, 0x90, 0x93, 0xE8, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xE4,
+0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC,
+0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xE8, 0x12, 0x43,
+0x84, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93,
+0xE8, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE8, 0x02, 0x43, 0x84, 0x90, 0x93, 0xB6, 0x12,
+0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xBA, 0x12, 0x43, 0x90, 0xC3, 0x12,
+0x43, 0x73, 0x90, 0x93, 0xB6, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xC2,
+0x12, 0x1F, 0xC9, 0x90, 0x93, 0xBA, 0x12, 0x43, 0x84, 0x11, 0x43, 0x90, 0x93, 0xC6, 0x12, 0x1F,
+0xC9, 0x90, 0x93, 0xBA, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0xC2, 0x12, 0x43, 0x90,
+0x12, 0x43, 0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xC6, 0x12, 0x43,
+0x84, 0xA9, 0x07, 0x90, 0x93, 0xBE, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03,
+0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0xCA, 0x12, 0x1F, 0xC9, 0x90,
+0x93, 0xB6, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xCA, 0x80, 0x0A, 0x12, 0x43,
+0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xBE, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0xF4, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xF8, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x12, 0x54, 0x63, 0x12, 0x54, 0x5C,
+0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54,
+0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4B, 0xE0, 0x60, 0x06, 0x90,
+0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x57, 0xF0,
+0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xF4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF4, 0x12,
+0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, 0xF4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF4, 0x12,
+0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90,
+0x93, 0x48, 0xE0, 0x60, 0x24, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x13,
+0x90, 0x93, 0xF8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF8,
+0x12, 0x95, 0x82, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x02, 0xE4,
+0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x48,
+0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02,
+0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x63, 0x90,
+0x94, 0x48, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE,
+0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05,
+0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, 0x94,
+0x48, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33,
+0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x63, 0x90, 0x94, 0x48,
+0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80,
+0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90,
+0x93, 0x84, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x94, 0x38, 0xE0, 0x54,
+0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x44, 0xFE, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8,
+0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x94,
+0x39, 0xF0, 0x22, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79, 0x6B, 0x12, 0x73, 0x59, 0xEF, 0xB4, 0x02,
+0x14, 0x90, 0x94, 0x44, 0xE0, 0x64, 0x04, 0x60, 0x07, 0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, 0x22,
+0xE4, 0x90, 0x94, 0x44, 0xF0, 0x22, 0xAD, 0x07, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0xF0, 0x44, 0x0C,
+0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0xFE, 0xF0, 0x90, 0xFD, 0x63, 0xE0,
+0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x94, 0x00, 0xF0, 0x90, 0xFD, 0x65, 0xE0,
+0x90, 0x94, 0x01, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x94, 0x02, 0xF0, 0x90, 0xFD, 0x67, 0xE0,
+0x90, 0x94, 0x03, 0xF0, 0xED, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0x0F, 0x44, 0x20,
+0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, 0x0B, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0,
+0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90,
+0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, 0x93, 0xFE, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93,
+0xFE, 0xF0, 0xE4, 0x90, 0x93, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B,
+0x01, 0x7A, 0x93, 0x79, 0xFE, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xFC, 0x02,
+0x55, 0x2C, 0xAD, 0x07, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0,
+0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x71, 0xF0,
+0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x73, 0xF0,
+0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x75, 0xF0,
+0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6F,
+0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0x0F, 0x44,
+0x70, 0xF0, 0x90, 0x93, 0x6F, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x6D, 0xE0, 0xFF, 0xC4, 0x54, 0x0F,
+0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93,
+0x79, 0x6D, 0x12, 0x55, 0x2C, 0x22, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x27, 0x90, 0x93, 0x4B, 0xE0,
+0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74,
+0x03, 0xF0, 0x22, 0x90, 0x93, 0x45, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22,
+0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02,
+0xA1, 0xFC, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2,
+0x06, 0x90, 0x94, 0x45, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29,
+0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x45, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFF, 0x90, 0x93, 0x29,
+0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0xE7, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27,
+0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, 0x92, 0xE0, 0x20,
+0xE2, 0x06, 0x90, 0x94, 0x45, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93,
+0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x45, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x90, 0x93,
+0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0xE7, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93,
+0x27, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, 0xA1, 0xAB, 0x90,
+0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27,
+0x30, 0xE0, 0x4E, 0xA1, 0xF9, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45,
+0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0,
+0x02, 0xA1, 0xBA, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33,
+0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E,
+0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, 0x40, 0x02, 0xA1,
+0xF9, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x27,
+0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x2A, 0xE0, 0xFF,
+0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C,
+0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80,
+0x94, 0x80, 0x40, 0x58, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64,
+0x07, 0x70, 0x49, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, 0x80, 0x3A, 0x90,
+0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3,
+0xF0, 0x90, 0x93, 0x27, 0x80, 0x23, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E,
+0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F,
+0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x64, 0x01,
+0x70, 0x3C, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07,
+0x78, 0x74, 0x0D, 0xF0, 0x22, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0,
+0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x93, 0x18, 0xE0,
+0xC3, 0x13, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93,
+0x19, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03,
+0xF0, 0x22, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20,
+0xE0, 0x02, 0xC1, 0xF8, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x2A,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01,
+0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0xE4,
+0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x5E,
+0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0,
+0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74,
+0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03,
+0x12, 0x51, 0x48, 0xE4, 0x90, 0x94, 0x45, 0xF0, 0x22, 0x00, 0xAA, 0x13
+};
+
+
+const u8 Rtl8723SFwUMCBCutImgArrayWithoutBT[Rtl8723SUMCBCutImgArrayWithoutBTLength] = {
+0x02, 0x23, 0x02, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x10, 0x06, 0xE0, 0x4A, 0x01, 0x00,
+0x03, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x4A, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x59, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x61, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x61, 0xDA, 0x00, 0x00,
+0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, 0x00, 0x04, 0x06, 0x05, 0x04, 0x02,
+0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, 0x08, 0x06, 0x00, 0x08, 0x0A, 0x09,
+0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x00, 0x00, 0x08,
+0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, 0x00, 0x18, 0x22, 0x21, 0x20, 0x18,
+0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, 0x20, 0x08, 0x00, 0x20, 0x22, 0x21,
+0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, 0x22, 0x20, 0x18, 0x08, 0x00, 0x20,
+0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, 0x00, 0x30, 0x31, 0x2F, 0x10, 0x10,
+0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, 0x10, 0x00, 0x00, 0x30, 0x31, 0x20,
+0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04,
+0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, 0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05,
+0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, 0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E,
+0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, 0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E,
+0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A,
+0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, 0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60,
+0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, 0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40,
+0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, 0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8,
+0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x0C,
+0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x6C, 0x00, 0x28,
+0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, 0x00, 0xF0, 0x01, 0x18, 0x00, 0x64,
+0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, 0x03, 0x20, 0x03, 0xE8, 0x02, 0x02,
+0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, 0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E,
+0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x05, 0x06,
+0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28,
+0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09,
+0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9,
+0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22,
+0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83,
+0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE,
+0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0,
+0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A,
+0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7,
+0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83,
+0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82,
+0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82,
+0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0,
+0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22,
+0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7,
+0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8,
+0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5,
+0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB,
+0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE,
+0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED,
+0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC,
+0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8,
+0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22,
+0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5,
+0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9,
+0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70,
+0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0,
+0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3,
+0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68,
+0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12,
+0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83,
+0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3,
+0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0x90, 0x93, 0x07, 0xF0, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xDD,
+0x90, 0x93, 0x51, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x60,
+0x03, 0x02, 0x44, 0xDD, 0x02, 0x44, 0xDA, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF,
+0x90, 0x93, 0x4F, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x3A, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xB5, 0x07,
+0x0A, 0x90, 0x93, 0x30, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x93, 0x2D, 0xE0, 0xC4,
+0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xB5,
+0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x2D,
+0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x07, 0x74, 0x5A, 0xF0,
+0x90, 0x93, 0x07, 0xE0, 0xFF, 0x90, 0x93, 0x3F, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93,
+0x38, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5, 0x62, 0xB4,
+0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x51, 0x9C, 0x22, 0xEF, 0x60,
+0x0F, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x22,
+0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x22, 0x02,
+0x55, 0xE5, 0x22, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xA3, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x62, 0x64,
+0x01, 0x60, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x65, 0x14, 0x60, 0x29, 0x24, 0xFD, 0x60, 0x25, 0x24,
+0x02, 0x24, 0xFB, 0x50, 0x02, 0x80, 0x23, 0x90, 0x93, 0x37, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04,
+0xA3, 0xE0, 0x60, 0x16, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x0A, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93,
+0x37, 0xF0, 0x80, 0x00, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0,
+0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91,
+0xEF, 0x70, 0x04, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x01, 0xE0, 0x70, 0x03, 0x02, 0x46, 0x9B,
+0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44,
+0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90,
+0x93, 0x2E, 0x80, 0x2D, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F,
+0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80,
+0x98, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x31, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x2E, 0xE0, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4,
+0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5,
+0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04,
+0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57,
+0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04,
+0x12, 0x48, 0xF4, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x2B, 0xE0, 0xFF, 0x90, 0x93,
+0x4F, 0xE0, 0xD3, 0x9F, 0x40, 0x08, 0x90, 0x93, 0x2C, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90,
+0x93, 0x2C, 0xF0, 0x90, 0x93, 0x4F, 0xE0, 0x90, 0x93, 0x2B, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05,
+0x40, 0x46, 0xE4, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70, 0x03,
+0x12, 0x4F, 0x63, 0x90, 0x93, 0x50, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x48, 0xF0, 0xE4, 0xF5,
+0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x4C, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12,
+0x51, 0x2B, 0x90, 0x93, 0x48, 0x74, 0x01, 0xF0, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x98, 0xE0, 0x30,
+0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x07,
+0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x47, 0xA2,
+0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x47, 0xA2, 0x90, 0x93, 0x07, 0x04, 0xF0, 0xE4, 0x90,
+0x93, 0x37, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4,
+0x90, 0x93, 0x07, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x04, 0x90, 0x93, 0x07, 0xF0,
+0x90, 0x93, 0x07, 0xE0, 0x70, 0x03, 0x02, 0x47, 0xA2, 0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0,
+0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x32, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F,
+0xE0, 0xD3, 0x9F, 0x50, 0x09, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x2E, 0xE0, 0x80, 0x4A, 0xE4, 0xF5,
+0x48, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x75, 0xF0,
+0x03, 0xA4, 0xFF, 0x90, 0x93, 0x2E, 0xE0, 0x04, 0x2F, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64,
+0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93,
+0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03,
+0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94,
+0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x12, 0x51, 0x4C, 0x90, 0x05, 0x22,
+0xE4, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74,
+0xFF, 0xF0, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93,
+0x50, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x93, 0x4E, 0x04, 0xF0, 0x90,
+0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x93, 0x46, 0x74,
+0x05, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90,
+0x93, 0x3F, 0xF0, 0x90, 0x93, 0x42, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90,
+0x93, 0x47, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x93,
+0x71, 0xF0, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x53, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x93,
+0x34, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x93, 0x3B, 0xF0, 0x90, 0x93,
+0x48, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93,
+0x40, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93,
+0x2D, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x93, 0x30, 0xF0, 0x22, 0x8E, 0x69, 0x8F, 0x6A, 0xAD,
+0x6A, 0xAC, 0x69, 0xAF, 0x68, 0x12, 0x44, 0xDE, 0xAF, 0x6A, 0xAE, 0x69, 0x90, 0x04, 0x80, 0xE0,
+0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xFB,
+0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0xFA,
+0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F, 0xF0, 0xAC,
+0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F, 0xF0, 0x90,
+0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0, 0x90, 0x04,
+0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54,
+0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED, 0xF0, 0x22,
+0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x6C, 0x8D, 0x6D, 0xE5,
+0x6C, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x6C, 0x30, 0xE2, 0x30,
+0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0x69, 0xE5, 0x63, 0x30, 0xE3, 0x10, 0xE5,
+0x6C, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x9D, 0xEF, 0x60, 0x53, 0x12, 0x51, 0x05, 0x80, 0x4E, 0xE5,
+0x63, 0x20, 0xE3, 0x49, 0xE5, 0x6C, 0x30, 0xE3, 0x44, 0xAF, 0x6D, 0x12, 0x50, 0x8A, 0x80, 0x3D,
+0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x6C, 0x20, 0xE3, 0x09, 0x12, 0x4D, 0x9D,
+0xEF, 0x60, 0x2A, 0x12, 0x51, 0x05, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E, 0xE5, 0x6C,
+0x20, 0xE2, 0x09, 0x12, 0x4B, 0x16, 0xEF, 0x60, 0x14, 0x12, 0x50, 0xB3, 0xE5, 0x63, 0x54, 0x0F,
+0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4C, 0x72, 0xEF, 0x60, 0x03, 0x12, 0x51, 0xB0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0xE0,
+0x54, 0xC0, 0x70, 0x11, 0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD,
+0x12, 0x51, 0x9C, 0x80, 0x0F, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70,
+0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x01, 0xE0, 0x30, 0xE6, 0x15, 0x43, 0x66, 0x01, 0x90, 0x93,
+0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x0E, 0x12, 0x4F, 0x1D, 0x80, 0x09,
+0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93,
+0x01, 0xE0, 0x30, 0xE7, 0x23, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x42, 0xE0, 0xF5,
+0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05,
+0xF0, 0x90, 0x93, 0x51, 0x74, 0x01, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, 0xEF, 0x64, 0x01, 0x70,
+0x48, 0x7D, 0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90,
+0x01, 0x36, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12,
+0x3A, 0x3F, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x48, 0xF0,
+0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x67, 0x4A, 0x90, 0x06, 0x04, 0xE0, 0x54, 0x7F,
+0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0, 0xA3,
+0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93,
+0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x06,
+0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4E, 0x3E, 0xE5, 0x62, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x93,
+0x39, 0xF0, 0x22, 0x02, 0x4A, 0xD1, 0x02, 0x52, 0xA5, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3,
+0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54,
+0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4,
+0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40,
+0x80, 0x90, 0x4F, 0xE3, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5,
+0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60,
+0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5,
+0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA,
+0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01,
+0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74,
+0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9,
+0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0,
+0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90,
+0x93, 0x39, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x43,
+0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0,
+0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22,
+0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, 0x02, 0x60, 0x06,
+0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x06,
+0xAA, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x07, 0x90, 0x93, 0x4E, 0xE0,
+0xFF, 0x80, 0x05, 0x90, 0x93, 0x37, 0xE0, 0xFF, 0x90, 0x93, 0x37, 0xEF, 0xF0, 0x90, 0x93, 0x39,
+0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x05,
+0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x53,
+0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x03, 0x12, 0x49,
+0x82, 0x22, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, 0x90, 0x93, 0x70,
+0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x53, 0xB6, 0x90, 0x00,
+0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x28, 0xE0, 0x54, 0xFC,
+0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, 0x7F, 0x08, 0x12,
+0x53, 0xB6, 0x7F, 0x01, 0x12, 0x4D, 0x45, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, 0xFD, 0xE4, 0xFF,
+0x12, 0x53, 0xB6, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x90,
+0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0xB6, 0x7F, 0x14, 0x7E, 0x00, 0x02,
+0x3B, 0x09, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0,
+0x80, 0x54, 0xE5, 0x18, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x48, 0xE5, 0x64,
+0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x37, 0x90,
+0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x29, 0x90, 0x02, 0x86,
+0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x3A, 0xE0,
+0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90,
+0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, 0x7F, 0x00, 0x22, 0x90,
+0x93, 0x21, 0x12, 0x43, 0xC8, 0x12, 0x51, 0xC3, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x12, 0x1E,
+0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, 0x70, 0x44,
+0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0xFD, 0xE4, 0xFF, 0x12, 0x4F, 0xA5, 0x80, 0x29, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00,
+0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x4F, 0xA5, 0x1F, 0x80, 0x14, 0x90, 0x93, 0x21,
+0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x4F, 0xA5, 0xE4,
+0xFF, 0x12, 0x4A, 0x0C, 0x22, 0x8F, 0x70, 0xE4, 0x90, 0x93, 0xE3, 0xF0, 0xA3, 0xF0, 0x90, 0x01,
+0x09, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x70, 0x60, 0x3E, 0xC3, 0x90,
+0x93, 0xE4, 0xE0, 0x94, 0x88, 0x90, 0x93, 0xE3, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6,
+0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0xE3, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F,
+0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE4, 0xE0, 0x94, 0x32, 0x90, 0x93, 0xE3,
+0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x12, 0x51, 0x83,
+0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, 0x93, 0x4C,
+0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x49, 0xE0, 0x60,
+0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x04,
+0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90,
+0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, 0x22, 0x90,
+0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x7F, 0xF4, 0x7E, 0x01, 0x12,
+0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, 0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xB6, 0x90, 0x00,
+0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF,
+0xFD, 0x7F, 0x08, 0x12, 0x53, 0xB6, 0xE4, 0xFF, 0x12, 0x4D, 0x45, 0x7F, 0x64, 0x7E, 0x00, 0x12,
+0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, 0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x53, 0xB6, 0xE4, 0xFF,
+0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, 0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90,
+0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, 0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0,
+0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, 0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93,
+0x45, 0xE0, 0x9D, 0x90, 0x93, 0x44, 0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0,
+0x90, 0x93, 0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3,
+0xC0, 0xD0, 0x8F, 0x68, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x6B,
+0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x7D, 0x01,
+0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x05, 0x22, 0xE5, 0x6B, 0xF0, 0x80, 0x0D, 0x90, 0x93,
+0x69, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x04, 0x1F, 0x74, 0x20,
+0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x3D, 0x90,
+0x93, 0x50, 0xE0, 0x60, 0x27, 0x12, 0x48, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5,
+0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05,
+0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x22, 0xE5, 0x63, 0x54, 0x0F,
+0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x22, 0x90, 0x01, 0x5F,
+0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5,
+0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05,
+0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x49, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F,
+0xC3, 0x94, 0x0C, 0x50, 0x0D, 0x12, 0x48, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12,
+0x67, 0x4A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x4D, 0x74, 0x01, 0xF0,
+0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3,
+0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3,
+0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, 0x24, 0x02, 0x70, 0x32,
+0x80, 0x0A, 0x90, 0x93, 0x4E, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x53,
+0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x47, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x80, 0x05, 0x90,
+0x93, 0x4E, 0xED, 0xF0, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x93, 0x53, 0x74,
+0x01, 0xF0, 0x22, 0x48, 0x93, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x93,
+0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x5E, 0x00, 0x41, 0x93, 0x6D,
+0x00, 0x41, 0x93, 0xE9, 0x00, 0x41, 0x93, 0x2B, 0x00, 0x41, 0x93, 0x2C, 0x00, 0x41, 0x92, 0x69,
+0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, 0x93, 0xDF, 0x00, 0x00, 0x90, 0x01,
+0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0x90, 0x93,
+0x35, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, 0xFF, 0x74, 0x40, 0x7E, 0x00,
+0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x90, 0x93, 0x4B, 0xF0,
+0xEE, 0x90, 0x93, 0x4A, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7,
+0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7, 0x60, 0x09, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x01, 0x10, 0x7B, 0x01, 0x7A,
+0x93, 0x79, 0xD7, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x56, 0x9D, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF,
+0xF0, 0xEF, 0x60, 0x0A, 0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x8B, 0x53, 0x63,
+0xF0, 0x43, 0x63, 0x0C, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x54,
+0x7F, 0xF0, 0x22, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12,
+0x8A, 0x65, 0xEF, 0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12,
+0x3A, 0x93, 0x12, 0x54, 0x14, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0xE5, 0x64, 0x30, 0xE6,
+0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0,
+0x53, 0x64, 0xBF, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x83, 0xE0, 0x30, 0xE0,
+0x03, 0x75, 0x64, 0x02, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01,
+0x05, 0x7F, 0x01, 0x12, 0x4E, 0x8B, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x90, 0x93, 0x98, 0xE0,
+0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x3D, 0xE0, 0x70,
+0x1A, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0x68, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58,
+0x95, 0x8E, 0x6E, 0x8F, 0x6F, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x3E, 0xE0,
+0x60, 0x16, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x3B, 0xE0, 0x90, 0x07, 0x78, 0x60,
+0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0xEA, 0xEF, 0xF0, 0x12, 0x56,
+0x14, 0x90, 0x93, 0xEA, 0xE0, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43,
+0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, 0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B,
+0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, 0x02, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x98, 0xE0,
+0x30, 0xE0, 0x05, 0xAF, 0x64, 0x02, 0x5F, 0x72, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x22,
+0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0x02, 0x12, 0x4D, 0xEF, 0x53, 0x63, 0xF0, 0x43,
+0x63, 0x02, 0x22, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x38, 0xF0, 0xF5, 0x66, 0x22, 0x90,
+0x02, 0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12,
+0x43, 0xF7, 0x51, 0xFA, 0x00, 0x40, 0x52, 0x22, 0x00, 0x80, 0x52, 0x4D, 0x01, 0x00, 0x52, 0x61,
+0x02, 0x00, 0x52, 0x79, 0x04, 0x00, 0x00, 0x00, 0x52, 0x96, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06,
+0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9,
+0x80, 0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF,
+0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78,
+0x07, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04,
+0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80,
+0x35, 0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF,
+0x2D, 0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D,
+0x00, 0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x1F,
+0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0C, 0xF0, 0xA3, 0xF0, 0x12, 0x60, 0xFB, 0x75,
+0x8E, 0x02, 0x91, 0xE6, 0x12, 0x60, 0x52, 0x90, 0x93, 0x70, 0xEF, 0xF0, 0x12, 0x60, 0x65, 0x90,
+0x93, 0x72, 0xEF, 0xF0, 0x12, 0x60, 0x71, 0x90, 0x93, 0x54, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4,
+0xF5, 0x18, 0xF5, 0x0D, 0xF5, 0x62, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7,
+0xF0, 0x12, 0x7E, 0x58, 0x12, 0x47, 0xA3, 0x12, 0x37, 0x1C, 0x7F, 0x03, 0x12, 0x88, 0x1B, 0x71,
+0x8D, 0x12, 0x60, 0x16, 0x12, 0x60, 0x89, 0x12, 0x60, 0x9E, 0x12, 0x60, 0x34, 0x12, 0x45, 0x02,
+0x12, 0x61, 0x03, 0x91, 0xCE, 0x90, 0x93, 0x0E, 0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80,
+0xE0, 0x44, 0x40, 0xF0, 0x71, 0xFE, 0x75, 0xE8, 0x03, 0x43, 0xA8, 0x85, 0xD2, 0xAF, 0x12, 0x82,
+0xBB, 0x51, 0x9B, 0x12, 0x60, 0xA5, 0x90, 0x93, 0x0C, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xA5, 0x90,
+0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x18, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x18,
+0xEF, 0xD2, 0xAF, 0x12, 0x67, 0x8F, 0xE5, 0x18, 0x30, 0xE6, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0xBF,
+0xD2, 0xAF, 0x12, 0x76, 0x54, 0xE5, 0x18, 0x30, 0xE7, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0x7F, 0xD2,
+0xAF, 0x12, 0x82, 0x61, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x93,
+0x3A, 0x74, 0x01, 0xF0, 0x31, 0x9C, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0xD2, 0xAF, 0x90, 0x01, 0xBD,
+0xE5, 0x63, 0xF0, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, 0x99, 0x90, 0x01, 0x3C,
+0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0xFD, 0x7F, 0x54, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x55, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x56,
+0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75,
+0x83, 0x00, 0xED, 0xF0, 0x71, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x30, 0xE4, 0xF0,
+0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0xFD, 0x7F, 0x50, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x51, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x52, 0x71,
+0xB6, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x05,
+0x22, 0x74, 0xFF, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xB4, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x71, 0xFE, 0x71, 0xF7, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE,
+0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0,
+0x44, 0x20, 0xF0, 0x90, 0x93, 0x41, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90,
+0x93, 0x34, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x4D, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E,
+0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC,
+0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12,
+0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x22, 0xE4,
+0xFF, 0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB8, 0xD1, 0x99, 0x90, 0x07, 0x78, 0x74, 0x01,
+0xF0, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93,
+0xE0, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0x7F,
+0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x6C, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44,
+0x80, 0xFD, 0x7F, 0x80, 0x61, 0xB6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xEF,
+0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0,
+0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x9F, 0xE0, 0x90, 0x93, 0xEB, 0xF0,
+0x6F, 0x70, 0x02, 0xA1, 0xDC, 0xEF, 0x14, 0x60, 0x3B, 0x14, 0x60, 0x5F, 0x14, 0x70, 0x02, 0xA1,
+0xB6, 0x24, 0x03, 0x60, 0x02, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x03, 0x04, 0xD1, 0xE4,
+0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x02, 0x04, 0xD1, 0xFC, 0xA1, 0xDC, 0x90, 0x93, 0xEB,
+0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x00, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0x64, 0x01, 0x70, 0x7C,
+0xD1, 0xE6, 0x80, 0x78, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x03, 0x04, 0xF1, 0x35, 0x80, 0x6C,
+0xEF, 0xB4, 0x02, 0x04, 0xF1, 0x04, 0x80, 0x64, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x04, 0x04,
+0xF1, 0x1A, 0x80, 0x58, 0xEF, 0x70, 0x55, 0xD1, 0x01, 0x80, 0x51, 0x90, 0x93, 0xEB, 0xE0, 0xB4,
+0x03, 0x04, 0xF1, 0x25, 0x80, 0x46, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x01, 0x04, 0x91, 0xF6, 0x80,
+0x3B, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x11, 0x80, 0x30, 0x90, 0x93, 0xEB, 0xE0,
+0x70, 0x2A, 0xB1, 0xE1, 0x80, 0x26, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x01, 0x04, 0xB1, 0xE5,
+0x80, 0x1A, 0xEF, 0xB4, 0x02, 0x04, 0xB1, 0xFD, 0x80, 0x12, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4,
+0x04, 0x05, 0x12, 0x44, 0xFF, 0x80, 0x05, 0xEF, 0x70, 0x02, 0xB1, 0xF9, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0xD1, 0x01, 0x81, 0xF6, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x54,
+0xBF, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x03, 0xF0, 0x22, 0xD1, 0x01, 0x80, 0xE8, 0xD1, 0x14, 0x80,
+0xE4, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x9F,
+0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xAC, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x41, 0xE0,
+0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x0A, 0x31, 0x83,
+0xEF, 0x64, 0x01, 0x60, 0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x1C, 0x7F, 0x01,
+0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB0, 0xD1, 0x99, 0x71, 0xF7, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x90, 0x93, 0xEC, 0xEF, 0xF0, 0xD1, 0x14, 0x90, 0x93, 0xEC, 0xE0, 0x60, 0x05, 0x90, 0x05,
+0x22, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF,
+0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3,
+0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12,
+0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x88, 0x6C, 0xD0,
+0xD0, 0x92, 0xAF, 0x22, 0xF1, 0x35, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x05, 0x27,
+0xE4, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE4, 0x90, 0x93, 0x9F, 0xF0, 0x22, 0xF1, 0x04, 0x80, 0xE6,
+0xF1, 0x1A, 0x80, 0xE2, 0xD1, 0x14, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x9F, 0x04, 0xF0,
+0x22, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90,
+0x93, 0x9F, 0x04, 0xF0, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x0E, 0x90, 0x93,
+0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40,
+0xF0, 0x90, 0x93, 0x9F, 0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0xED, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x46, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08,
+0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x71, 0xFE,
+0x90, 0x93, 0xED, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33,
+0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8,
+0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4B, 0x90,
+0x93, 0xED, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3,
+0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x71, 0xFE, 0x90, 0x93, 0xED,
+0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80,
+0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F,
+0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x8B, 0x21, 0x8A, 0x22, 0x89, 0x23, 0x90, 0x93, 0xBC, 0x12, 0x43, 0xC8, 0xAB, 0x24, 0xAA, 0x25,
+0xA9, 0x26, 0x90, 0x93, 0xBF, 0x12, 0x43, 0xC8, 0xAF, 0x27, 0x15, 0x27, 0xEF, 0x60, 0x1E, 0x90,
+0x93, 0xBF, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x93, 0xBC,
+0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x21, 0xAA,
+0x22, 0xA9, 0x23, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x01, 0xC4, 0x74, 0x48, 0xF0, 0x74, 0x58, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90,
+0x05, 0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01,
+0xC7, 0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0x11, 0x48, 0xBF, 0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x95, 0x90, 0x04,
+0x1F, 0x74, 0x20, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF,
+0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF,
+0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44,
+0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0,
+0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21,
+0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13,
+0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x01,
+0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07,
+0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3B, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D,
+0xF0, 0x79, 0x40, 0x90, 0x93, 0x01, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0,
+0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x22, 0x90, 0x93, 0x5E, 0xE0, 0x04,
+0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0B, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x02,
+0x11, 0x80, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00,
+0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07,
+0x90, 0x01, 0xC4, 0x74, 0x63, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28,
+0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0,
+0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x57, 0x90, 0x01, 0x34, 0x74, 0x01,
+0xF0, 0x85, 0xD1, 0x0E, 0x85, 0xD3, 0x10, 0x85, 0xD4, 0x11, 0x85, 0xD5, 0x12, 0x85, 0xD6, 0x13,
+0x85, 0xD7, 0x14, 0x85, 0xD9, 0x15, 0x85, 0xD2, 0x0F, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75,
+0x26, 0x0E, 0x75, 0x27, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0x5F, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x60,
+0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02,
+0x61, 0x08, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02,
+0x61, 0x08, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0x61, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90,
+0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34,
+0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03,
+0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0,
+0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x63, 0xE0, 0x54,
+0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43,
+0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93,
+0x60, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF,
+0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0,
+0x12, 0x42, 0x87, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x67, 0xAF, 0x4D, 0x12, 0x71, 0x11, 0x80, 0x60, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25,
+0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87,
+0x90, 0x93, 0x62, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54,
+0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0x12, 0x70, 0xAD, 0x80, 0x1B, 0x90, 0x01, 0x02,
+0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0,
+0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80,
+0x46, 0x90, 0x93, 0x50, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x04, 0xF0, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0,
+0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74,
+0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x80, 0x09, 0x12, 0x51,
+0x83, 0xBF, 0x01, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xF9, 0x90, 0x01,
+0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5,
+0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75,
+0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x16, 0x90, 0x04, 0x7E,
+0xE0, 0x55, 0x51, 0xF5, 0x17, 0x65, 0x16, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x16, 0x75, 0xF0, 0x08,
+0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74,
+0x19, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75,
+0x26, 0x19, 0x75, 0x27, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x56, 0x12, 0x57, 0xF9, 0x90, 0x93,
+0x56, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x9F, 0xE5, 0x16,
+0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F,
+0x16, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x17, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01,
+0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43,
+0x18, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54,
+0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x53,
+0xCB, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x53, 0xFE, 0x80, 0xFE, 0xE5, 0x2C, 0x30,
+0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x30, 0xE0, 0x52, 0x90, 0x93, 0x71,
+0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0x6E, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90,
+0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x9E, 0xE0,
+0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90, 0x93, 0xA0, 0x74, 0x01, 0xF0,
+0x90, 0x93, 0x98, 0xE0, 0xFF, 0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90,
+0x93, 0x9A, 0x74, 0x01, 0xF0, 0x12, 0x45, 0x09, 0xF1, 0xBF, 0x90, 0x93, 0x71, 0xE4, 0xF0, 0xE5,
+0x2E, 0x30, 0xE1, 0x7D, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x62, 0xE0, 0xFE, 0x90,
+0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0A, 0xEC, 0x3E, 0xF5, 0x09, 0x90, 0x05, 0x22,
+0xE0, 0xB4, 0xFF, 0x06, 0x90, 0x01, 0xE6, 0xE0, 0x04, 0xF0, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x01,
+0xE4, 0xF0, 0x43, 0x18, 0x40, 0x11, 0xF5, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0C, 0xE4, 0xFF,
+0xD1, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x1D,
+0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01,
+0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5,
+0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01,
+0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x7B, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x90, 0x05, 0x62, 0xE0,
+0xFE, 0x90, 0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0C, 0xEC, 0x3E, 0xF5, 0x0B, 0xD3,
+0xE5, 0x0C, 0x95, 0x0A, 0xE5, 0x0B, 0x95, 0x09, 0x40, 0x06, 0x90, 0x01, 0xE5, 0xE0, 0x04, 0xF0,
+0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0D, 0x90, 0x93, 0x39, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0xE0,
+0x64, 0x06, 0x60, 0x3D, 0x12, 0x4B, 0x90, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x34, 0x90, 0x93, 0x4E,
+0xE0, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73,
+0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01, 0x7F,
+0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x37, 0xE0, 0x14,
+0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, 0x64, 0x01,
+0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02,
+0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x42, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B, 0x90,
+0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, 0x90, 0x01,
+0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE4, 0xF0, 0x53, 0x66,
+0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2E, 0x30, 0xE5, 0x1F, 0x90,
+0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x14, 0xE5, 0x65, 0x60, 0x10, 0x90, 0x93,
+0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x03, 0x12, 0x4F, 0x1D, 0xE5, 0x2E,
+0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65,
+0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2F,
+0x30, 0xE1, 0x18, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x08,
+0x90, 0x93, 0x9D, 0x74, 0x01, 0xF0, 0x80, 0x03, 0x12, 0x4E, 0xD6, 0x74, 0x63, 0x04, 0x90, 0x01,
+0xC4, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03,
+0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0,
+0x32, 0x8F, 0x71, 0x90, 0x05, 0x43, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0x22, 0x90,
+0x93, 0x01, 0xE0, 0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A,
+0x00, 0x79, 0x19, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x01, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF,
+0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92,
+0x69, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF,
+0xA3, 0xE0, 0xB5, 0x07, 0x0F, 0x12, 0x81, 0x51, 0xEF, 0x60, 0x72, 0x12, 0x82, 0x61, 0x90, 0x01,
+0x3F, 0x74, 0x02, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6B, 0xF9, 0x74,
+0x92, 0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x7E, 0x00,
+0x7F, 0x02, 0x12, 0x1E, 0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9,
+0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x93, 0xCB,
+0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x12,
+0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x57,
+0xF9, 0x90, 0x92, 0x6A, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0xAE, 0x07, 0xE4, 0xFF, 0xD1, 0x91, 0xEF, 0x60, 0x19, 0x90, 0x93, 0x98, 0xE0, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x0D, 0xAF, 0x06, 0x7D, 0x01, 0x12, 0x48, 0xF4, 0x12, 0x67,
+0x4A, 0x7F, 0x01, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x26, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x29,
+0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x26, 0x12, 0x43,
+0xA8, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x29, 0xC1, 0xBE, 0x90,
+0x93, 0xE0, 0xE0, 0x30, 0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x93, 0xDF, 0xE0, 0x04,
+0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x93, 0xE2, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0xDF, 0xF0,
+0x90, 0x93, 0xE2, 0xE0, 0xFF, 0x90, 0x93, 0xE1, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x8A, 0xA6,
+0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC,
+0xEF, 0x30, 0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF,
+0x05, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5,
+0x2B, 0x90, 0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3,
+0xE5, 0x2B, 0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32,
+0x43, 0x32, 0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32,
+0xF0, 0x22, 0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F,
+0x02, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, 0x7F, 0x01,
+0x22, 0x90, 0x93, 0x72, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E,
+0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D,
+0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01,
+0x64, 0x74, 0x20, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0,
+0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x10,
+0xE0, 0x94, 0x88, 0x90, 0x93, 0x0F, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44,
+0x80, 0xF0, 0x22, 0x90, 0x93, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E,
+0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x10, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x0F, 0xE0, 0x94,
+0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x94, 0xE0, 0x44,
+0x01, 0xF0, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0,
+0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74,
+0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98,
+0x04, 0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05,
+0xC0, 0x06, 0xC0, 0x07, 0x7D, 0x33, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x61, 0xFF, 0xA3, 0xF0,
+0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90,
+0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06,
+0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20,
+0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7,
+0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74,
+0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30,
+0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56,
+0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0,
+0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83,
+0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0,
+0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xDA, 0xF0,
+0x74, 0x61, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3,
+0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5,
+0x37, 0xE5, 0x34, 0x30, 0xE0, 0x1A, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0,
+0x30, 0xE0, 0x0D, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0xE5, 0x34, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x44, 0x24, 0xE5, 0x34,
+0x30, 0xE2, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21,
+0x75, 0x48, 0x00, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01,
+0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80,
+0x08, 0x90, 0x93, 0x4C, 0xE4, 0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01,
+0x3C, 0x74, 0x08, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93,
+0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01,
+0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x49, 0xE4,
+0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE4, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0xE5,
+0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90,
+0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64,
+0xF0, 0x12, 0x50, 0xDC, 0x12, 0x51, 0x9C, 0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74,
+0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x6D,
+0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0,
+0x04, 0xF0, 0xE5, 0x36, 0x20, 0xE0, 0x02, 0x61, 0xAF, 0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0x90,
+0x93, 0x9E, 0xE0, 0x30, 0xE0, 0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E,
+0x91, 0xEF, 0x60, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x5F,
+0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x3B, 0x91, 0x86, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0x64,
+0x06, 0x60, 0x30, 0xEF, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x04,
+0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09, 0x90,
+0x93, 0x99, 0xE0, 0xB4, 0x02, 0x04, 0x7F, 0x01, 0x91, 0xDA, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48,
+0xF4, 0xF1, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x75, 0x48, 0x00, 0x75, 0x49, 0x03, 0xE4,
+0xFB, 0xFD, 0x7F, 0x50, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x53, 0x74, 0x05, 0xF0, 0xE5,
+0x36, 0x30, 0xE1, 0x3C, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0x30, 0xE0,
+0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x05, 0x7F,
+0x02, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x15, 0x12, 0x89, 0xF6, 0x90, 0x93,
+0x99, 0xE0, 0x64, 0x06, 0x60, 0x0A, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x02, 0x91, 0xA8,
+0xE5, 0x36, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xE5, 0x36, 0x30, 0xE4, 0x06,
+0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x04,
+0xF0, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6,
+0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74,
+0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x18, 0x80,
+0xE5, 0x37, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x46, 0xAC, 0x90, 0x93,
+0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x5F, 0xBF,
+0x74, 0xDA, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0,
+0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0,
+0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x98, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03,
+0x30, 0xE0, 0x0A, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x04, 0x7F, 0x06, 0x91, 0xDA, 0x90, 0x93, 0x99,
+0xE0, 0x64, 0x06, 0x60, 0x02, 0xF1, 0x29, 0x22, 0x90, 0x93, 0x39, 0xE0, 0x60, 0x16, 0x90, 0x93,
+0x99, 0xE0, 0x70, 0x04, 0x7F, 0x05, 0x80, 0x1F, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x01, 0x70, 0x19,
+0x7F, 0x02, 0x80, 0x13, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0x7F, 0x03, 0x80, 0x08, 0x90,
+0x93, 0x99, 0xE0, 0x70, 0x04, 0x7F, 0x04, 0x91, 0xDA, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0,
+0xD0, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0x6F, 0x70, 0x02, 0xC1, 0xAC, 0xEF, 0x12, 0x43, 0xD1, 0x65,
+0x08, 0x00, 0x65, 0x43, 0x01, 0x65, 0x8A, 0x02, 0x65, 0xC5, 0x03, 0x65, 0xFE, 0x04, 0x66, 0x37,
+0x05, 0x66, 0x73, 0x06, 0x00, 0x00, 0x66, 0xAC, 0xEE, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56,
+0x81, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0xB4, 0x05, 0x04, 0xD1, 0xBB, 0xC1, 0xAC, 0xEF,
+0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06,
+0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xD1,
+0xF0, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80,
+0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04,
+0xD1, 0xE6, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0,
+0xC1, 0xAC, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0,
+0x64, 0x02, 0x60, 0x02, 0xC1, 0xAC, 0xD1, 0xC5, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04,
+0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1,
+0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, 0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xFE,
+0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x08, 0xEE, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0xD1,
+0xB1, 0xF1, 0x1C, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56,
+0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0,
+0x70, 0x04, 0xD1, 0xE6, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF,
+0xD1, 0xD0, 0x80, 0x06, 0xEE, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x05, 0xC1, 0xAC, 0x90, 0x93,
+0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06,
+0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90,
+0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1, 0xF0, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05,
+0x02, 0xD1, 0xBB, 0xD1, 0xFB, 0x80, 0x75, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4,
+0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90,
+0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1,
+0xF0, 0x80, 0x0C, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x05, 0x7F, 0x01, 0x12, 0x56, 0x81, 0xF1,
+0x0F, 0x80, 0x39, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80,
+0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04,
+0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06, 0xE4, 0xFF, 0xD1, 0xB1, 0x80,
+0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x36, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x12, 0x51, 0x69, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x90, 0x93, 0x99, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0x04, 0xF0, 0x22,
+0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90,
+0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x51, 0x05, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22,
+0x7F, 0x01, 0x12, 0x50, 0x8A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x12, 0x54, 0x0E, 0x90, 0x93,
+0x99, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x50, 0xB3, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0, 0x22, 0x90,
+0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x05, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74,
+0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x93, 0x9D, 0xE0, 0xB4, 0x01, 0x05,
+0xE4, 0xF0, 0x12, 0x4E, 0xD6, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x05, 0x22,
+0x74, 0x6F, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x06, 0xF0, 0x22, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x06,
+0x60, 0x3C, 0xE5, 0x63, 0x54, 0x0F, 0x14, 0x60, 0x2E, 0x14, 0x60, 0x1E, 0x24, 0xFE, 0x60, 0x0E,
+0x24, 0xF8, 0x70, 0x2A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x90, 0x05, 0x22, 0xF0, 0x22, 0x90, 0x93,
+0x99, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0,
+0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x08, 0xF0, 0x22, 0xD3,
+0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x0F, 0xF0,
+0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x68, 0xDA, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74,
+0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF,
+0xEF, 0x5D, 0x70, 0x03, 0x02, 0x68, 0xD3, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01,
+0xD0, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x75, 0x24, 0x01, 0x75, 0x25, 0x93, 0x75,
+0x26, 0x10, 0x75, 0x27, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x11, 0x12, 0x57, 0xF9, 0x90, 0x93,
+0x11, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0xE9, 0x30, 0xE0, 0x59, 0xE0,
+0x75, 0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93,
+0xE9, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0,
+0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93,
+0x14, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0,
+0x90, 0x93, 0x15, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43,
+0x9C, 0xE0, 0x90, 0x93, 0x16, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12,
+0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01,
+0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04,
+0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x14, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B,
+0x01, 0x7A, 0x93, 0x79, 0x12, 0x11, 0xDF, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x90, 0x93, 0xE9, 0xE0,
+0xFE, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93,
+0x0F, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33,
+0xD8, 0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0,
+0x02, 0x67, 0xA0, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90,
+0x93, 0x17, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x69, 0x2E, 0x01, 0x69, 0x26, 0x02, 0x69,
+0x73, 0x03, 0x69, 0x7C, 0x05, 0x69, 0x85, 0x06, 0x69, 0xC8, 0x07, 0x69, 0x8D, 0x08, 0x69, 0x96,
+0x0B, 0x69, 0x9F, 0x1B, 0x69, 0xA7, 0x1C, 0x69, 0x37, 0x2D, 0x69, 0x40, 0x2E, 0x69, 0xAF, 0x30,
+0x69, 0x52, 0x34, 0x69, 0x49, 0x3B, 0x69, 0x5A, 0x47, 0x69, 0x6B, 0x48, 0x69, 0x63, 0x49, 0x69,
+0xB8, 0x4B, 0x00, 0x00, 0x69, 0xC1, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xB9, 0x90, 0x93,
+0x17, 0x12, 0x43, 0xA8, 0x02, 0x82, 0xC7, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xA8,
+0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xF0, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02,
+0x84, 0x29, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xBF, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8,
+0x02, 0x84, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xD5, 0x90, 0x93, 0x17, 0x12, 0x43,
+0xA8, 0xE1, 0xCD, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x85, 0x14, 0x90, 0x93, 0x17, 0x12,
+0x43, 0xA8, 0x02, 0x80, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x80, 0x3C, 0x90, 0x93, 0x17,
+0x12, 0x43, 0xA8, 0x02, 0x85, 0x5C, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x80, 0x80, 0x90,
+0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xC5, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xA1, 0x90,
+0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xAB, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x88,
+0x5A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0x90, 0x93, 0x1A,
+0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x20, 0xF0, 0x90,
+0x93, 0x1A, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC,
+0x83, 0x90, 0x93, 0x21, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84,
+0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12,
+0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43,
+0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90,
+0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x21, 0xE0,
+0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C,
+0x83, 0xA3, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0xFF, 0x24, 0xC2, 0xF5,
+0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFE, 0x75, 0xF0, 0x09,
+0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B,
+0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90,
+0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24,
+0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09,
+0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5,
+0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5,
+0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12,
+0x43, 0xD1, 0x6B, 0x57, 0x00, 0x6B, 0x6C, 0x01, 0x6B, 0x81, 0x02, 0x6B, 0x96, 0x03, 0x6B, 0xBF,
+0x04, 0x6B, 0xD4, 0x05, 0x6B, 0xE9, 0x06, 0x6C, 0x0F, 0x0C, 0x6C, 0x3C, 0x0D, 0x6C, 0x69, 0x0E,
+0x6C, 0x96, 0x0F, 0x00, 0x00, 0x6C, 0xCA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0,
+0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80,
+0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0,
+0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34,
+0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5,
+0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, 0x81, 0xCA, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3,
+0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5,
+0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0,
+0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x81, 0xCA, 0x90,
+0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x46, 0xE0,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x45, 0xE0,
+0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0x81, 0xC1, 0x90, 0x04, 0x4B, 0xE0,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, 0x85, 0x59, 0x82,
+0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83,
+0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01,
+0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04,
+0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61,
+0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5,
+0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E,
+0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0,
+0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xC0, 0x83,
+0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82,
+0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF,
+0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0,
+0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3,
+0xE0, 0x4E, 0x60, 0x4B, 0x90, 0x93, 0x26, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3,
+0x94, 0x00, 0x50, 0x02, 0xC1, 0x0F, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3,
+0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x0A, 0x90, 0x93, 0x26,
+0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBB, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0,
+0x4E, 0x60, 0x47, 0x90, 0x93, 0x26, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94,
+0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33,
+0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0xA3, 0xF0,
+0x80, 0x0D, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0,
+0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x10,
+0x40, 0x02, 0xC1, 0xC8, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE,
+0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90,
+0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, 0x93, 0x26, 0xE0, 0x80,
+0x63, 0x90, 0x93, 0x26, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5,
+0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93,
+0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00,
+0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25,
+0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F,
+0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, 0x93, 0x26, 0xE0, 0x04,
+0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x28, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0xFF, 0x75, 0xF0, 0x09,
+0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, 0x28, 0xE0, 0xFE, 0x75,
+0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94,
+0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3,
+0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83,
+0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x28, 0xE0, 0xA3, 0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74,
+0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x27, 0xE0,
+0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x29, 0xEE, 0xF0, 0x80, 0x17, 0x90, 0x93, 0x28,
+0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x27, 0xE0,
+0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0xFD, 0xAF, 0x57, 0x12, 0x70, 0x63, 0x90, 0x93,
+0x29, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0,
+0x90, 0x93, 0x27, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0,
+0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3,
+0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0,
+0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13,
+0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0x21, 0xDD, 0x12, 0x1E, 0xF6, 0xF5, 0x62, 0x22, 0x90,
+0x93, 0x1A, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6,
+0x90, 0x93, 0x6F, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE,
+0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xCE,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0xD1, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F,
+0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x93, 0xCE, 0x12, 0x43, 0xA8, 0x90,
+0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xD1, 0x12, 0x5E, 0xBE, 0xD0, 0xD0,
+0x92, 0xAF, 0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54,
+0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0,
+0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5,
+0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0,
+0x4D, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E,
+0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x2A, 0x74, 0x27,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0x8B, 0xEF, 0xF0, 0x24,
+0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x8C, 0xF0, 0x7B, 0x01, 0x7A,
+0x93, 0x79, 0x8B, 0x7D, 0x02, 0x12, 0x6F, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D,
+0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x03, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x04, 0x74, 0x01, 0xF0, 0xEB, 0xC3,
+0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x01, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3,
+0xE0, 0x90, 0x41, 0x9E, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5,
+0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x01, 0x63, 0x90, 0x93,
+0x02, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0,
+0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93,
+0x06, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90,
+0x93, 0x05, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0,
+0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D,
+0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89,
+0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25,
+0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0,
+0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D,
+0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x06,
+0xE0, 0xFF, 0x90, 0x93, 0x05, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x05, 0xE0,
+0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74,
+0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74,
+0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0,
+0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05,
+0x90, 0x93, 0x05, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60,
+0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04,
+0xCF, 0x04, 0xF0, 0x90, 0x93, 0x05, 0xE0, 0xFF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50,
+0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93,
+0x1F, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54,
+0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x22, 0xF0,
+0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x24, 0xF0, 0x75,
+0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x25, 0xF0, 0xEC,
+0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90,
+0x93, 0x26, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x28, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74,
+0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C,
+0x90, 0x93, 0x25, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0xED, 0x70, 0x02, 0x61,
+0xA3, 0x90, 0x93, 0x23, 0xED, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x22,
+0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x70,
+0x02, 0x61, 0xA3, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0x61, 0xA3, 0xE4,
+0x90, 0x93, 0x21, 0xF0, 0xEF, 0x14, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x24, 0xE0, 0xFD, 0x90,
+0x93, 0x20, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0,
+0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+0xF9, 0xFF, 0x90, 0x93, 0x28, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93,
+0x20, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80,
+0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x26, 0xE0, 0x5E, 0xFE, 0xA3,
+0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x20, 0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x21,
+0xE0, 0x04, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0x6F, 0x60, 0x08, 0x90,
+0x93, 0x20, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0,
+0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93, 0x20, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x24, 0xE0, 0x90,
+0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5,
+0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13,
+0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83,
+0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x1F, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x93,
+0x1F, 0xE0, 0xFF, 0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x11, 0x74,
+0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0,
+0x90, 0x93, 0x1F, 0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88,
+0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x22, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82,
+0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x23, 0xCB, 0xF0, 0xA3, 0xEB,
+0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3,
+0xE0, 0x90, 0x93, 0x25, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x25, 0xE0,
+0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB,
+0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB,
+0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xA1, 0x51, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x74, 0x28, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x21, 0xF0, 0x90,
+0x93, 0x22, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xA1, 0x8B, 0xEE,
+0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08,
+0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x23, 0xE0, 0x5E, 0xFE,
+0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59,
+0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9,
+0xFF, 0x90, 0x93, 0x25, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x21,
+0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93, 0x24, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x21, 0x74, 0x17,
+0xF0, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93,
+0x23, 0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x21, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x21, 0xE0, 0x90,
+0x93, 0x20, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x21, 0xE0, 0x04, 0xF0, 0x81,
+0xAF, 0x90, 0x93, 0x22, 0xE0, 0xFC, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A,
+0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x20, 0xE0,
+0x44, 0x40, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x20, 0xE0, 0xFF,
+0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01,
+0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01,
+0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24,
+0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90,
+0x93, 0x20, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x20, 0xEF, 0xF0, 0x90, 0x93, 0x1F,
+0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83,
+0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13,
+0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3,
+0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4,
+0xF0, 0xAF, 0x05, 0x90, 0x93, 0x1F, 0xE0, 0x44, 0x80, 0xFD, 0x11, 0x63, 0x90, 0x93, 0x1F, 0xE0,
+0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94,
+0x40, 0x40, 0x03, 0x02, 0x7E, 0x57, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0,
+0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93,
+0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60,
+0x03, 0x02, 0x7E, 0x4E, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83,
+0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x7E, 0x4E, 0x90,
+0x93, 0x0F, 0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x7E, 0x57,
+0x90, 0x93, 0x0F, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75,
+0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34,
+0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x14, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF,
+0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90,
+0x93, 0x16, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50,
+0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93,
+0x10, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0xFE, 0x54, 0x1F, 0xA3,
+0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0,
+0x90, 0x93, 0x19, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3,
+0x94, 0x05, 0x40, 0x03, 0x02, 0x79, 0xEC, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x90, 0x93, 0x11, 0xE0,
+0x9F, 0x40, 0x13, 0x90, 0x93, 0x19, 0xE0, 0x90, 0x93, 0x11, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90,
+0x93, 0x10, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x11, 0xE0, 0xFF, 0x90, 0x41, 0x12, 0x93, 0xFE,
+0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E,
+0x40, 0x06, 0xEF, 0x90, 0x40, 0xDA, 0x80, 0x07, 0x90, 0x93, 0x11, 0xE0, 0x90, 0x40, 0xF6, 0x93,
+0x90, 0x93, 0x18, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x50, 0xF9, 0x74,
+0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x0F, 0xE0,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90,
+0x93, 0x12, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE,
+0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F,
+0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8,
+0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB,
+0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A,
+0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C,
+0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00,
+0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0,
+0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC,
+0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA,
+0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x14, 0xE0,
+0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12,
+0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0xF0, 0x80, 0x07,
+0xE4, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90,
+0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0,
+0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41,
+0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02,
+0x21, 0xBB, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83,
+0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E,
+0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34,
+0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0,
+0xC3, 0x9E, 0x90, 0x93, 0x1A, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80,
+0x23, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0,
+0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0,
+0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE0, 0x60, 0x02, 0x81, 0xFC, 0x12, 0x73, 0xF4, 0x81, 0xFC, 0x90, 0x93, 0x10, 0xE0, 0x25,
+0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93,
+0xFF, 0xC3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x40, 0x02, 0x81, 0xFC,
+0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x72, 0x29, 0x81, 0xFC, 0x90, 0x93, 0x0F, 0xE0,
+0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02,
+0x61, 0xCA, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94,
+0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, 0x11,
+0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x11, 0xE0,
+0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94,
+0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0,
+0x90, 0x93, 0x0F, 0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90,
+0x93, 0x1E, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3,
+0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0x61, 0x75, 0x90, 0x8E,
+0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x61, 0x6A, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xEE,
+0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83,
+0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x0F,
+0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34,
+0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90,
+0x93, 0x0F, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93,
+0x11, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E,
+0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80,
+0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x1E, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74,
+0x01, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83,
+0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93,
+0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x0F, 0xE0, 0xFF,
+0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x90,
+0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93,
+0x11, 0xE0, 0xFE, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C,
+0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4,
+0x01, 0x11, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE4, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x81, 0xF9, 0xEC, 0x64, 0x06, 0x60, 0x02, 0x81,
+0xFC, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xDB, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93,
+0x14, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x1C, 0xEE, 0xF0, 0xA3, 0xEF,
+0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90,
+0x93, 0x1E, 0xF0, 0xE4, 0x90, 0x93, 0x1B, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0xD3, 0x94, 0x04,
+0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85,
+0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xD6, 0x93, 0xFF, 0x7E, 0x00,
+0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x1C, 0xE0,
+0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x50,
+0x08, 0x90, 0x93, 0x1B, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x1B, 0xE0, 0xC3, 0x13, 0xF0,
+0x90, 0x93, 0x1E, 0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x1B, 0xE0, 0x70, 0x5D, 0x90, 0x93,
+0x1E, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0x70, 0x08,
+0x90, 0x93, 0x1E, 0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x1E, 0x74,
+0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93, 0x1E, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93,
+0x1B, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93,
+0x1E, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x17,
+0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x1E, 0xF0,
+0xD3, 0x90, 0x93, 0x17, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4,
+0x90, 0x93, 0x1E, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC4,
+0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x70, 0x23, 0x90, 0x93, 0x0F, 0xE0,
+0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F,
+0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90,
+0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93,
+0x16, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90,
+0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0,
+0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x16, 0xE0, 0xFE, 0xA3, 0xE0,
+0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0,
+0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25, 0xE0,
+0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74,
+0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34,
+0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x0F, 0xE0, 0x50,
+0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12,
+0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74,
+0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90,
+0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43,
+0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25,
+0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25,
+0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25,
+0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93,
+0x0F, 0xE0, 0x04, 0xF0, 0x02, 0x76, 0x59, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74,
+0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F,
+0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5,
+0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0,
+0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3,
+0x94, 0x40, 0x40, 0x03, 0x02, 0x80, 0x53, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43,
+0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4,
+0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3,
+0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75,
+0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83,
+0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x8C, 0x93, 0xFE, 0x74,
+0x01, 0x93, 0xFF, 0x90, 0x41, 0x54, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13,
+0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B,
+0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C,
+0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0,
+0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75,
+0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75,
+0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED,
+0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0,
+0x02, 0x7E, 0x9A, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0,
+0x22, 0xEF, 0xB4, 0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3,
+0x94, 0x40, 0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25,
+0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93,
+0x1A, 0xF0, 0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5,
+0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x1C, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3,
+0x74, 0xFF, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0,
+0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x20, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5,
+0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0xEE, 0xA3,
+0xF0, 0xA3, 0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x1A, 0x02, 0x5F,
+0x97, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x93, 0xDB, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0xDB, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C,
+0xC3, 0x90, 0x93, 0xDE, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xDD, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90,
+0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xDD, 0xE4, 0x75, 0xF0, 0x01,
+0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0xD3,
+0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x68, 0xE0,
+0xFF, 0x04, 0xF0, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x31, 0x51, 0xEF, 0x70, 0x02, 0x41,
+0x5C, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02,
+0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B,
+0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4,
+0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0x12, 0x57, 0xF9, 0x90, 0x01, 0xAF,
+0x74, 0xFF, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0x64, 0x01, 0x70, 0x4A, 0x90, 0x93, 0xC2, 0x12, 0x43,
+0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20,
+0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90,
+0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01,
+0x7A, 0xFD, 0x79, 0x22, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x54, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82,
+0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4,
+0x24, 0x6B, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75,
+0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x90, 0x93, 0xC5, 0x12, 0x43,
+0xC8, 0xD0, 0x01, 0xD0, 0x02, 0x31, 0x9F, 0x90, 0x92, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A,
+0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D,
+0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0,
+0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93,
+0x1A, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93,
+0x1A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x50, 0xF0, 0x90, 0x00,
+0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54,
+0x01, 0x90, 0x93, 0x34, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3B, 0xF0, 0xEF, 0x13, 0x13,
+0x13, 0x54, 0x01, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54,
+0x01, 0x90, 0x93, 0x3D, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x40, 0xF0, 0xE0, 0x70,
+0x38, 0x90, 0x93, 0x3E, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x1D, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12,
+0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x34, 0xE0, 0x70, 0x03, 0x12,
+0x4F, 0x63, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x4C, 0xDF, 0x90, 0x93, 0x50, 0xE0, 0x90,
+0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30,
+0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x3F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x93, 0x42, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0x90, 0x93, 0x47, 0xF0, 0x22, 0x90, 0x93, 0x3F, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x42,
+0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x47, 0x74, 0x05, 0xF0, 0x22,
+0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90,
+0x93, 0x46, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93,
+0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x43, 0xF0,
+0x60, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90,
+0x93, 0x4D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x63, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x43, 0xE0, 0x90,
+0x01, 0xE7, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x2D, 0xE0, 0x54,
+0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54,
+0x70, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0x90, 0x93, 0x2F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x30, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20,
+0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74,
+0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x02, 0xF0,
+0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x03, 0xF0, 0x80, 0x3B,
+0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3,
+0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0,
+0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93,
+0x2E, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x2E, 0xE0, 0x90,
+0x93, 0x32, 0xF0, 0x22, 0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED,
+0x2E, 0x90, 0x93, 0x67, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93,
+0x68, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x6A, 0xF0, 0x90, 0x00, 0x04, 0x12,
+0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F, 0x90, 0x93, 0x6B, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x12, 0x1E,
+0xF6, 0xC3, 0x13, 0x20, 0xE0, 0x02, 0xC1, 0xB6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E,
+0xF6, 0xFF, 0x54, 0x02, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54,
+0x01, 0xFF, 0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF,
+0x54, 0xF7, 0x4D, 0xFF, 0x90, 0x93, 0x9E, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E,
+0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x20, 0xFD, 0xEF, 0x54, 0xDF, 0x4D, 0xFF, 0x90, 0x93,
+0x9E, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0xEF, 0x54, 0xBF, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xC1, 0xA2,
+0x90, 0x93, 0x1D, 0x74, 0x21, 0xF0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF,
+0x13, 0x13, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x60,
+0x31, 0xEF, 0x54, 0x04, 0xFF, 0xED, 0x54, 0xFB, 0x4F, 0xF0, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30,
+0xE0, 0x15, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93,
+0x1D, 0xE0, 0x44, 0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0xA0, 0xF0, 0x7D, 0x40, 0xFF, 0x12,
+0x3A, 0x22, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90,
+0x93, 0x1D, 0xE0, 0x44, 0x12, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D,
+0xE0, 0x44, 0x14, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x07, 0x90,
+0x93, 0x1D, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20,
+0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27,
+0xF0, 0x90, 0x93, 0x9F, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x9E, 0xE0,
+0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x04, 0x7F, 0x03, 0x80, 0x0E, 0x7F, 0x01, 0x12, 0x5E,
+0x91, 0xEF, 0x60, 0x04, 0x7F, 0x01, 0x80, 0x02, 0x7F, 0x02, 0x12, 0x55, 0x11, 0x7F, 0x02, 0x02,
+0x88, 0x14, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27, 0xF0, 0xE4, 0xFF, 0x12, 0x55,
+0x11, 0x7F, 0x03, 0x02, 0x88, 0x14, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF,
+0x54, 0x02, 0xFE, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54, 0x01, 0xFF,
+0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF, 0x54, 0xF7,
+0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E, 0xFF, 0xF0,
+0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x40, 0xFD, 0xEF, 0x54, 0xBF, 0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0,
+0xEE, 0x54, 0x04, 0xFE, 0xEF, 0x54, 0xFB, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xE1, 0xC7, 0x90, 0x93,
+0x1D, 0x74, 0x31, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x15, 0x90,
+0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93, 0x1D, 0xE0, 0x44,
+0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0x9A, 0xF0, 0x7D, 0x40, 0xFF, 0x12, 0x3A, 0x22, 0x90,
+0x93, 0x98, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0,
+0x44, 0x02, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x04,
+0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x54, 0x0E, 0x60, 0x0C, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD,
+0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27, 0xF0, 0x90, 0x93, 0x98,
+0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x33,
+0x7F, 0x06, 0x12, 0x64, 0xDA, 0x80, 0x2C, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93,
+0x99, 0xE0, 0xB4, 0x06, 0x1B, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF,
+0x60, 0x09, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x80, 0x05, 0x12, 0x64, 0xA8, 0x80, 0x03,
+0x12, 0x67, 0x4A, 0x7F, 0x01, 0x80, 0x4D, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27,
+0xF0, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x06, 0x02, 0x80,
+0x1B, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05,
+0x04, 0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09,
+0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x05, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0x12, 0x67, 0x29, 0x12,
+0x51, 0x9C, 0x7F, 0x03, 0x11, 0x1B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0xEF, 0x64, 0x01,
+0x60, 0x04, 0xEF, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0,
+0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xED, 0x64, 0x02, 0x60, 0x04,
+0xED, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x6D,
+0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x6E, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE5,
+0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x93, 0xE6, 0xE0,
+0x94, 0x88, 0x90, 0x93, 0xE5, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04,
+0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xE5, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14,
+0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE6, 0xE0, 0x94, 0x64, 0x90, 0x93, 0xE5, 0xE0,
+0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01,
+0x22, 0x90, 0x93, 0xA4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xA8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00,
+0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43,
+0x73, 0x50, 0x41, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xA4, 0x12, 0x43,
+0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01,
+0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xEF,
+0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xA8, 0x12,
+0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xA8, 0x02, 0x43, 0x84, 0x90, 0x93, 0x73, 0x12, 0x1F, 0xC9,
+0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0x77, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73,
+0x90, 0x93, 0x73, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x7F, 0x12, 0x1F,
+0xC9, 0x90, 0x93, 0x77, 0x12, 0x43, 0x84, 0x11, 0xC1, 0x90, 0x93, 0x83, 0x12, 0x1F, 0xC9, 0x90,
+0x93, 0x77, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0x7F, 0x12, 0x43, 0x90, 0x12, 0x43,
+0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x83, 0x12, 0x43, 0x84, 0xA9,
+0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02,
+0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0x73,
+0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x87, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0,
+0x06, 0xC0, 0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0,
+0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x9F, 0x74,
+0x04, 0xF0, 0x22, 0x12, 0x56, 0x01, 0x80, 0xEE, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x05,
+0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x56, 0x14, 0x90,
+0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x57, 0xE0, 0x60, 0x3C, 0x90, 0x01, 0x57, 0xE4,
+0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE0, 0x60, 0x07, 0xE4, 0xF0, 0x53,
+0x66, 0xFD, 0x80, 0x24, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x3F,
+0xE0, 0xFF, 0x90, 0x93, 0x38, 0xE0, 0xD3, 0x9F, 0x40, 0x0E, 0xE5, 0x62, 0xB4, 0x01, 0x09, 0x90,
+0x93, 0x39, 0xE0, 0x70, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x5B, 0xE0, 0x60, 0x10, 0x90, 0x01,
+0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x01,
+0x5F, 0xE0, 0x60, 0x10, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4,
+0x90, 0x93, 0x49, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE7, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0,
+0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01,
+0x22, 0xD3, 0x90, 0x93, 0xE8, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xE7, 0xE0, 0x94, 0x03, 0x40, 0x03,
+0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x93, 0xE7, 0xE4, 0x75, 0xF0,
+0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0xE4, 0xFF, 0x02, 0x4E, 0x8B, 0x90, 0x93, 0x1A, 0x12, 0x43,
+0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0,
+0x30, 0xE0, 0x02, 0x51, 0xA6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13,
+0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0xE1, 0xF0, 0x22, 0x7E, 0xBF,
+};
+
+#ifdef CONFIG_MP_INCLUDED
+u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] = {
+0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x55,0xB2,0xCD,0xF7,0x12,0x6B,0x6B,0xEB,0x51,0xB7,0x60,0xCA,0x53,0xB2,0x64,0xF3,0x13,0x6B,0x6B,0xEB,0xE8,0x4F,0x60,0xCA,0x51,0xB2,0x00,0x6B,0x40,0xF0,0x6C,0xC7,0x60,0xC2,0xC0,0xF0,0x58,0x9F,0x4F,0xB3,0x51,0xB0,0x00,0x69,0x6D,0xEA,0xC0,0xF0,0x58,0xDF,0x45,0xF1,0x09,0x6A,0x00,0xF1,0x50,0xCF,0x0E,0xF0,0x1D,0x6A,0x80,0xF1,0x62,0xA7,0x43,0xDF,0x48,0xB2,0x25,0xDF,0x26,0xDF,0x44,0xDF,0x68,0x32,0x69,0xE2,0x46,0xB3,0x44,0x32,0x27,0xDF,0x28,0xDF,0x29,0xDF,0x40,0xCB,0x90,0x67,0xB1,0x67,0x30,0x6E,0x00,0x18,0x64,0x2E,0x04,0xD7,0x01,0x6A,0x4B,0xEA,0x47,0xD8,0x41,0xB3,0x40,0x98,0x42,0xB4,0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x4D,0xC0,0x3D,0xB2,0x0C,0x6E,0x00,0x18,0x64,0x2E,0x20,0xC2,0x30,0xB3,0x03,0x6A,0x30,0xB5,0x80,0x9B,0x02,0x6B,0x6B,0xEB,0x6C,0xEC,0x4B,0xEA,0x4C,0xEC,0x05,0x6A,0x4B,0xEA,0x4C,0xEC,0x40,0x9D,0x6C,0xEA,0x40,0xDD,0x04,0x97,0x0E,0xF0,0x1D,0x6A,0x34,0xB3,0x43,0xDF,0x32,0xB2,0x60,0xDA,0x34,0xB3,0x33,0xB2,0x60,0xDA,0x35,0xB3,0x33,0xB2,0x60,0xDA,0x35,0xB3,0x34,0xB2,0x60,0xDA,0x36,0xB3,0x34,0xB2,0x60,0xDA,0x36,0xB3,0x35,0xB2,0x60,0xDA,0x37,0xB3,0x35,0xB2,0x60,0xDA,0x37,0xB3,0x36,0xB2,0x60,0xDA,0x38,0xB3,0x36,0xB2,0x60,0xDA,0x38,0xB3,0x37,0xB2,0x60,0xDA,0x39,0xB3,0x37,0xB2,0x60,0xDA,0x39,0xB3,0x38,0xB2,0x60,0xDA,0x3A,0xB3,0x38,0xB2,0x60,0xDA,0x3A,0xB3,0x39,0xB2,0x60,0xDA,0x3B,0xB3,0x39,0xB2,0x60,0xDA,0x3B,0xB3,0x3A,0xB2,0x60,0xDA,0x3B,0xB2,0x3C,0xB3,0x20,0xCA,0x3A,0xB2,0x60,0xDA,0x3B,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x20,0xCA,0x3A,0xB2,0x60,0xCA,0x3A,0xB2,0x20,0xDA,0x3A,0xB2,0x20,0xDA,0x3A,0xB2,0x06,0xB3,0x4C,0xEC,0x39,0xB2,0x4D,0xEC,0x80,0x18,0x5A,0x37,0x80,0xDB,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0xF4,0x00,0x11,0x80,0xF0,0x00,0x11,0x80,0xD0,0x04,0x11,0x80,0xD2,0x04,0x11,0x80,0xCA,0xA0,0x11,0x80,0x00,0x00,0x00,0x18,0x58,0xC5,0xC8,0x19,0x08,0xA1,0x11,0x80,0xCC,0xA0,0x11,0x80,0x00,0x00,0x00,0x70,0x1C,0xA1,0x11,0x80,0xFC,0xA0,0x11,0x80,0xBC,0x00,0x11,0x80,0x51,0xA9,0x10,0x80,0x44,
+0x00,0x11,0x80,0x4D,0xA3,0x10,0x80,0x4C,0x05,0x11,0x80,0x55,0xAE,0x10,0x80,0x44,0x05,0x11,0x80,0x59,0xD1,0x10,0x80,0x58,0x09,0x11,0x80,0xF5,0xD4,0x10,0x80,0x3C,0x00,0x11,0x80,0x35,0xA6,0x10,0x80,0xA0,0x05,0x11,0x80,0x51,0xAB,0x10,0x80,0xC4,0x05,0x11,0x80,0xF1,0xA9,0x10,0x80,0x5C,0x05,0x11,0x80,0xBD,0xDB,0x10,0x80,0x90,0x06,0x11,0x80,0x7D,0xCA,0x10,0x80,0x98,0x07,0x11,0x80,0xB5,0xCD,0x10,0x80,0xA0,0x07,0x11,0x80,0x1D,0xCF,0x10,0x80,0x9C,0x07,0x11,0x80,0xC5,0xCF,0x10,0x80,0xEC,0x04,0x11,0x80,0xB5,0xAF,0x10,0x80,0x80,0x00,0x11,0x80,0xCD,0xD2,0x10,0x80,0x6C,0x06,0x11,0x80,0x29,0xD4,0x10,0x80,0x0A,0xA1,0x11,0x80,0xD4,0x04,0x11,0x80,0x25,0xD3,0x10,0x80,0xC8,0xA0,0x11,0x80,0x0C,0xA1,0x11,0x80,0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0xFF,0xFF,0x1F,0xFF,0x00,0x00,0x60,0x00,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x04,0x67,0x2F,0x24,0x80,0x98,0x00,0x6A,0x00,0xF4,0x24,0x98,0xBD,0x67,0x00,0xF4,0x44,0xD8,0xE1,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x18,0x2A,0xDF,0x10,0x4D,0x12,0x2A,0x5D,0x67,0x68,0xAA,0xFF,0xF7,0x1F,0x6A,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x0E,0xB3,0x48,0x32,0x69,0xE2,0xE0,0xF0,0x4B,0xA2,0x01,0x72,0x0A,0x60,0x0B,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D,0x83,0x9A,0x07,0x2A,0x00,0x18,0x6A,0x1E,0x11,0x67,0x04,0x10,0x00,0x18,0x7B,0x57,0x90,0x67,0x11,0x67,0xD1,0x29,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0x9C,0x31,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0x6B,0x6C,0xEE,0x04,0x76,0x0A,0xD4,0x04,0xD6,0x2B,0x61,0x40,0xA4,0x6C,0xEA,0x03,0x72,0x27,0x61,0x22,0xA4,0x6C,0xE9,0x24,0x29,0x44,0xA4,0x03,0xA4,0x6C,0xEA,0x6C,0xE8,0x40,0x32,0x00,0x1C,0xDD,0x31,0x4D,0xE8,0x13,0xB3,0x1A,0x65,0x40,0xAB,0x0E,0xEA,0x14,0x2A,0x11,0xB2,0x98,0x67,0x00,0x9A,0x20,0xDA,0x10,0xB2,0x20,0xDA,0x08,0xF1,0x11,0x6A,0x4B,0xEA,0x00,0x1C,0xE5,0x31,0x40,0xCB,0x00,0x18,0xA9,0x1D,0x01,0x6C,0x07,0x20,0x80,0x18,0x8A,0x28,0x90,0x67,0x03,0x10,0x00,0x1C,0xE5,0x31,0x98,0x67,0x0A,0x94,0x00,0x18,0xBD,0x89,0x04,0x95,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x0C,0xA1,0x11,0x80,
+0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0x03,0xB2,0x01,0x6B,0x40,0x9A,0x52,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0,0x03,0xB2,0x01,0x6B,0x40,0x9A,0x4A,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0,0xF3,0x63,0x18,0x62,0x17,0xD1,0x16,0xD0,0x7D,0x67,0x00,0x6A,0x20,0xF0,0x50,0xC3,0xA6,0xB3,0x9D,0x67,0x00,0x69,0x58,0xAB,0x40,0xF0,0x48,0xCC,0x20,0xF0,0x5A,0xA3,0x20,0xF0,0x79,0xA3,0x40,0x32,0x4D,0xEB,0xA1,0xB2,0x0D,0xD3,0x01,0x6B,0x40,0x9A,0x0F,0xD2,0xA0,0xB2,0x40,0x9A,0x0E,0xD2,0x9F,0xB2,0x00,0x9A,0x9F,0xB2,0x40,0x9A,0x10,0xD2,0x0E,0x92,0x6C,0xEA,0x3A,0x22,0xBD,0x67,0x83,0x67,0x30,0x4D,0x00,0x6E,0x00,0x18,0x71,0x23,0x23,0x67,0x02,0x2A,0x03,0x69,0x0B,0x11,0x9D,0x67,0x20,0xF0,0x70,0xA4,0x0F,0x94,0xFF,0x6A,0x4C,0xEB,0x80,0xF7,0x82,0x32,0x2C,0xEA,0x4E,0xEB,0x94,0xB4,0x1B,0x2B,0x92,0xB2,0x4D,0xE8,0x40,0x9C,0x56,0x32,0x2C,0xEA,0x02,0x2A,0x91,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A,0x05,0x69,0x6C,0xEA,0xFF,0xF7,0x1F,0x6B,0x6C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94,0x0D,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x09,0x10,0x88,0xB2,0x4C,0xE8,0x40,0x9C,0x56,0x32,0x2C,0xEA,0x02,0x2A,0x86,0xB2,0x4C,0xE8,0x09,0x69,0x0E,0x94,0x01,0x6F,0x86,0x32,0xEC,0xEA,0x41,0x22,0x7F,0xB3,0x40,0x9B,0x56,0x32,0xEC,0xEA,0x3C,0x22,0xBD,0x67,0x10,0x6A,0xC7,0x67,0x02,0x6C,0x30,0x4D,0x14,0xD7,0x00,0x18,0x71,0x23,0x4D,0xE9,0x14,0x97,0x06,0x2A,0x20,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6C,0x8C,0xE9,0xC0,0x10,0x0F,0x94,0x5D,0x67,0x20,0xF0,0x70,0xA2,0x40,0xF7,0x82,0x32,0xEC,0xEA,0x4E,0xEB,0x70,0xB2,0x80,0x9A,0x19,0x2B,0x6F,0xB2,0x4D,0xE8,0x44,0x67,0xEC,0xEA,0x02,0x2A,0x6B,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A,0xFF,0xF7,0x1F,0x6C,0x6C,0xEA,0x8C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94,0x0B,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x07,0x10,0x65,0xB2,0x4C,0xE8,0x44,0x67,0xEC,0xEA,0x02,0x2A,0x61,0xB2,0x4C,0xE8,0x0E,0x93,0x01,0x6C,0x6A,0x32,0x8C,0xEA,0x3C,0x22,0x5C,0xB3,0x40,0x9B,0x0F,0x6B,0x46,0xEC,0x6C,0xEA,0x03,0x72,0x35,0x60,0xFF,0x6A,0xBD,0x67,0x01,0x4A,0x04,0x6C,0x30,0x4D,0x02,0x6E,0x00,0x18,0x71,
+0x23,0x4D,0xE9,0x03,0x2A,0x00,0xF2,0x00,0x6A,0x40,0x10,0x9D,0x67,0x20,0xF0,0x50,0xA4,0x50,0xB3,0x80,0x9B,0x11,0x22,0x53,0xB2,0x03,0x6B,0x4D,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6C,0x8C,0xEA,0x02,0x2A,0x4E,0xB2,0x4D,0xE8,0x00,0xF4,0x00,0x6A,0x10,0x10,0x4C,0xB2,0x03,0x6B,0x4C,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6B,0x6C,0xEA,0x02,0x2A,0x47,0xB2,0x4C,0xE8,0x01,0xF0,0x00,0x6A,0x4D,0xE9,0x0E,0x94,0x01,0x6B,0x8E,0x32,0x6C,0xEA,0x18,0x22,0x3B,0xB2,0x40,0x9A,0x46,0xEB,0x0F,0x6B,0x6C,0xEA,0x03,0x72,0x11,0x60,0xBD,0x67,0x02,0xF0,0x00,0x6A,0x08,0x6C,0x30,0x4D,0x03,0x6E,0x00,0x18,0x71,0x23,0x4D,0xE9,0x07,0x2A,0x04,0xF0,0x00,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6A,0x4C,0xE9,0x37,0x10,0x04,0x6A,0x2C,0xEA,0x08,0x2A,0x34,0xB2,0x4C,0xE8,0x34,0xB2,0x4C,0xE8,0x2E,0xB2,0x4C,0xE8,0x2E,0xB2,0x4C,0xE8,0xC0,0xF5,0x02,0x32,0x01,0x6B,0x6C,0xEA,0x0C,0x22,0x27,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x61,0x25,0xB2,0x4C,0xE8,0x25,0xB2,0x4C,0xE8,0x29,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0C,0x2A,0x1F,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x61,0x1F,0xB2,0x4D,0xE8,0x1F,0xB2,0x4D,0xE8,0x22,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x03,0x2A,0x00,0x18,0xBB,0x30,0x00,0x6C,0x12,0xB2,0x00,0xDA,0x05,0x6A,0x10,0x94,0x04,0xD2,0x0B,0x0A,0x05,0xD2,0x0E,0x93,0x0F,0x92,0x0A,0xD4,0xFA,0x6D,0x04,0x6C,0xE1,0xF3,0x09,0x6E,0xA1,0xF1,0x1A,0x6F,0x06,0xD1,0x09,0xD0,0x07,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD3,0x18,0x97,0x17,0x91,0x16,0x90,0x00,0xEF,0x0D,0x63,0x41,0x00,0x00,0x00,0xDC,0x00,0x11,0x80,0x44,0xA0,0x00,0xB0,0x40,0x60,0x00,0xB0,0x40,0xA0,0x00,0xB0,0x50,0xA0,0x00,0xB0,0x00,0x00,0x80,0x00,0x6C,0x1D,0x11,0x80,0x00,0x00,0x40,0x00,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xBF,0xFF,0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0x00,0x00,0xC0,0x00,0x00,0x00,0x30,0x00,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x65,0xB2,0x01,0x6F,0x20,0x9A,0x2A,0x65,0x36,0x36,0xEC,0xEE,0x0B,0x2E,0x63,0xB4,0x03,0x6B,0x6B,0xEB,0x40,0x9C,
+0x6C,0xEA,0x40,0xDC,0x61,0xB4,0x02,0x6B,0x40,0x9C,0x6D,0xEA,0x40,0xDC,0x5F,0xB2,0x00,0x6B,0x0A,0xD3,0xA3,0x67,0x60,0x9A,0x5E,0xB2,0x40,0x9A,0x0A,0x65,0x5D,0xB2,0x00,0x9A,0x51,0x67,0xEC,0xEA,0x10,0x22,0x80,0xF7,0x62,0x32,0x88,0x67,0x8E,0xEA,0xEC,0xEA,0x01,0x5A,0xA7,0x67,0x08,0x60,0x58,0xB2,0x03,0x6D,0x4D,0xE8,0x03,0x2E,0x57,0xB2,0x07,0x6D,0x4D,0xE8,0x0A,0xD7,0x29,0x67,0xC0,0x99,0x01,0x6C,0xD6,0x32,0x8C,0xEA,0x1E,0x22,0x08,0x6A,0x4D,0xED,0x02,0x32,0x52,0x32,0x8C,0xEA,0xFF,0xF7,0x1F,0x6F,0x16,0x22,0x28,0x67,0x26,0x32,0x40,0xF7,0x62,0x33,0x4E,0xEB,0x8C,0xEB,0x83,0xEB,0x0E,0x60,0x10,0x6A,0x4D,0xED,0x49,0xB2,0xEC,0xED,0x4D,0xE8,0x46,0x67,0x8C,0xEA,0x05,0x2A,0x45,0xB2,0x4D,0xE8,0x20,0x6A,0x4D,0xED,0xEC,0xED,0x0A,0xD4,0x68,0x67,0x6A,0x32,0x01,0x6E,0xCC,0xEA,0x16,0x22,0x40,0x6A,0x29,0x67,0x4D,0xED,0x80,0x99,0x3F,0xB2,0x03,0x6B,0x4D,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0xCA,0xEA,0x03,0x60,0x96,0x32,0xCC,0xEA,0x07,0x2A,0x80,0x6A,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0x38,0xB2,0x4D,0xE8,0x02,0x6A,0xAC,0xEA,0x08,0x2A,0x37,0xB2,0x4C,0xE8,0x37,0xB2,0x4C,0xE8,0x37,0xB2,0x4C,0xE8,0x37,0xB2,0x4C,0xE8,0x29,0xB3,0x03,0x69,0x40,0x9B,0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x31,0xB2,0x4C,0xE8,0x2E,0xB2,0x4C,0xE8,0x31,0xB2,0x88,0x67,0x06,0xD5,0x07,0xD4,0xFA,0x6D,0x04,0x6C,0xA1,0xF4,0x0C,0x6E,0xA1,0xF1,0x19,0x6F,0x04,0xD1,0x05,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD0,0x0A,0x92,0x12,0x22,0x29,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0B,0x2A,0x18,0xB3,0x40,0x9B,0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x1C,0xB2,0x4D,0xE8,0x1C,0xB2,0x4D,0xE8,0x17,0xB2,0x00,0xDA,0x21,0xB2,0x01,0x6C,0xA0,0x9A,0xBE,0x32,0x8C,0xEA,0x17,0x22,0x40,0xF5,0x02,0x32,0x8C,0xEA,0x07,0x22,0x1D,0xB2,0x00,0x6B,0x80,0xC2,0x1D,0xB2,0x60,0xC2,0x1D,0xB2,0x60,0xC2,0xA2,0x32,0x8C,0xEA,0x05,0x22,0x00,0x18,0xA5,0x23,0x00,0x65,0x18,0xB3,0x40,0xC3,0x16,0xB2,0x00,0x18,0x04,0x24,0x80,0xA2,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x6C,0x1D,0x11,0x80,0x30,0x60,0x00,0xB0,0x34,0x60,0x00,0xB0,0x44,0xA0,0x00,0xB0,0x50,0x60,0x00,0xB0,0x40,0xA0,0x00,0xB0,0x00,
+0x00,0x80,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xBF,0xFF,0xF0,0xA5,0x10,0x80,0x00,0x00,0xC0,0x00,0x54,0x45,0x11,0x80,0x17,0x00,0x11,0x80,0x16,0x00,0x11,0x80,0x18,0x00,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x34,0xB2,0x00,0x6E,0x01,0x6B,0x20,0x6C,0xFF,0xF7,0x1F,0x6D,0x0A,0x65,0xE6,0x67,0x06,0x67,0x4B,0x65,0x2C,0x65,0x6D,0x65,0x2D,0xB1,0xC8,0x32,0x15,0xE1,0x10,0x27,0x68,0x67,0x69,0xE2,0x80,0x9A,0x6A,0x67,0x64,0xEF,0x86,0xEF,0x80,0xDD,0x41,0x9A,0xFF,0x4B,0x29,0x67,0x6C,0xEA,0xEF,0xE1,0x44,0xEB,0x4D,0xEC,0x80,0xDD,0x04,0x10,0x68,0x67,0x69,0xE2,0x40,0x9A,0x40,0xDD,0x01,0x4E,0xFF,0x69,0x2C,0xEE,0x10,0x76,0x11,0x61,0x88,0x67,0x1E,0xB5,0x01,0x4F,0x60,0x9C,0x2C,0xEF,0x4A,0x67,0x44,0xEF,0x11,0xE5,0xFF,0x4A,0xA9,0x67,0x4C,0xEB,0xEB,0xE5,0x64,0xEA,0x40,0x9C,0x00,0x6E,0x6D,0xEA,0x40,0xDC,0x04,0x48,0x4B,0x67,0x4C,0xE8,0x00,0xF4,0x01,0x58,0xCC,0x61,0x13,0xB4,0xFF,0x6E,0x55,0x6D,0x00,0xF4,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0F,0xB4,0xFF,0x6E,0x00,0x6D,0x00,0xF5,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0B,0xB4,0xFF,0x6E,0xB1,0x67,0x00,0xF6,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x07,0xB4,0xFF,0x6E,0x0F,0x6D,0x00,0xF7,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x00,0x00,0x00,0xF8,0x10,0x80,0xDC,0xF4,0x04,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x11,0xB2,0x00,0x68,0xEE,0x6C,0x00,0xDA,0x10,0xB2,0x07,0x6D,0x00,0xDA,0x00,0x18,0x9A,0x33,0x00,0x65,0x0E,0xB4,0x4A,0xF5,0x16,0x6B,0x6B,0xEB,0xFF,0xF7,0x1F,0x6A,0x01,0x48,0x4C,0xE8,0x00,0xF4,0x00,0x58,0x60,0xCC,0xFA,0x61,0x07,0xB2,0x03,0x6B,0x05,0x97,0x60,0xDA,0x04,0x90,0x03,0xB2,0x01,0x6B,0x60,0xDA,0x00,0xEF,0x03,0x63,0x00,0x00,0x10,0xA3,0x00,0xB0,0x20,0xA3,0x00,0xB0,0xF0,0x00,0x00,0xB6,0xFD,0x63,0x04,0x62,0x17,0xB3,0x16,0xB2,0x80,0x18,0x3F,0x2A,0x60,0xDA,0x16,0xB3,0x16,0xB2,0x21,0xB4,0x04,0x97,0x52,0xDB,0x15,0xB2,0x55,0xDB,0x15,0xB2,0x49,0xDB,0x15,0xB2,0x4C,0xDB,0x15,0xB2,0x4F,0xDB,0x15,0xB2,0x46,0xDB,0x15,0xB2,0x5B,0xDB,
+0x15,0xB2,0x40,0xDB,0x15,0xB2,0x58,0xDB,0x16,0xB3,0x15,0xB2,0x60,0xDA,0xC0,0xF0,0x50,0x9C,0x40,0x6B,0x6D,0xEA,0xC0,0xF0,0x50,0xDC,0x14,0xB3,0x49,0x9C,0x6D,0xEA,0x13,0xB3,0x6D,0xEA,0x49,0xDC,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0x2C,0x11,0x80,0xE9,0xAE,0x10,0x80,0xB8,0x95,0x11,0x80,0x29,0xD8,0x10,0x80,0x99,0xB0,0x10,0x80,0x2D,0xB1,0x10,0x80,0xA1,0xB1,0x10,0x80,0x79,0xD4,0x10,0x80,0xE5,0xD4,0x10,0x80,0x19,0xC9,0x10,0x80,0xF1,0xD3,0x10,0x80,0x6D,0xCA,0x10,0x80,0x3C,0x1C,0x11,0x80,0xA5,0xA2,0x10,0x80,0xDC,0x00,0x11,0x80,0x00,0x00,0x00,0x01,0x00,0x00,0x80,0x00,0x44,0xA4,0x63,0xA4,0x00,0x6E,0x40,0x32,0x69,0xE2,0xFF,0xF7,0x1F,0x6B,0x6C,0xEA,0x7F,0xF4,0x0F,0x72,0x60,0xA5,0x46,0x67,0x08,0x61,0x69,0xE4,0xC2,0xC2,0x01,0x4B,0xFF,0x6A,0x4C,0xEB,0x61,0xC4,0x01,0x6A,0x60,0xC5,0x20,0xE8,0x00,0x65,0x00,0x00,0xF9,0x63,0x0C,0x62,0x0B,0xD1,0x0A,0xD0,0xFF,0x69,0x2C,0xEC,0x08,0xD4,0x61,0xF3,0x06,0x6D,0x00,0x18,0x9A,0x33,0x22,0x6C,0x40,0xB0,0xF3,0x6A,0x24,0x6C,0x20,0xF0,0xBF,0xA0,0x2C,0xED,0xA0,0x35,0x00,0x18,0x9A,0x33,0x4D,0xED,0x40,0xF0,0x41,0xA0,0x40,0xF0,0xA0,0xA0,0x26,0x6C,0x2C,0xEA,0x40,0x32,0x2C,0xED,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0xEB,0xF0,0x12,0x6D,0x00,0x18,0x9A,0x33,0x28,0x6C,0x93,0xF7,0x1A,0x6D,0x00,0x18,0x9A,0x33,0x2A,0x6C,0x00,0x18,0xEE,0x33,0x01,0x6C,0x02,0x6C,0x00,0x18,0x9A,0x33,0x20,0x6D,0x2D,0xB2,0x03,0xF4,0x00,0x6D,0x20,0x68,0x81,0xA2,0x00,0x18,0x9A,0x33,0x2C,0xEC,0x2A,0xB2,0xFF,0xF7,0x1F,0x6B,0xFF,0xF7,0x1F,0x6D,0x40,0xAA,0x5E,0x6C,0x4C,0xEB,0x9F,0xF7,0x1F,0x6A,0x4C,0xEB,0x0D,0xEB,0x00,0x18,0x9A,0x33,0x6C,0xED,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x03,0x6D,0x21,0xB2,0xFF,0xF7,0x1F,0x6B,0xFF,0x6D,0x81,0xA2,0x1F,0xB2,0x21,0x4D,0x2C,0xEC,0x49,0xE4,0x40,0xAA,0x4C,0xEB,0xEE,0xF1,0x09,0x6A,0x4C,0xEB,0x6D,0xED,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0x1A,0xB2,0x07,0x6B,0x40,0xA2,0x2C,0xEA,0x6C,0xEA,0x40,0x32,0x44,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0x02,0x6C,0x00,0x18,0x9A,0x33,0xB0,0x67,0x00,0x6C,0x00,0x18,0x9A,0x33,0x0D,0x6D,0x08,0x92,0x0C,0x22,0x9D,0x67,0x10,
+0x4C,0x55,0x6D,0x00,0x18,0x64,0x2E,0x0A,0x6E,0xDD,0x67,0x01,0x6C,0x00,0x6D,0x00,0x18,0xDC,0x34,0x10,0x4E,0x0C,0x97,0x0B,0x91,0x0A,0x90,0x00,0xEF,0x07,0x63,0x00,0x00,0xDC,0x00,0x11,0x80,0x38,0xF4,0x04,0x80,0x5E,0x00,0x00,0xB6,0x30,0xF4,0x04,0x80,0x00,0x00,0x00,0xB6,0x81,0x08,0x11,0x80,0xF6,0x63,0x12,0x62,0x11,0xD1,0x10,0xD0,0x14,0xD4,0x16,0xD6,0x60,0xAC,0x7F,0xF4,0x0A,0x73,0x80,0xF0,0x04,0x60,0x7F,0xF4,0x0A,0x6A,0x62,0xEA,0x13,0x61,0x7F,0xF4,0x07,0x6A,0x62,0xEA,0x08,0x61,0x7F,0xF4,0x06,0x6A,0x42,0xEB,0x23,0x60,0x3F,0xF4,0x00,0x73,0x38,0x60,0x33,0x11,0x7F,0xF4,0x08,0x73,0x47,0x60,0x7F,0xF4,0x09,0x73,0x4A,0x60,0x2C,0x11,0x5F,0xF5,0x00,0x73,0x73,0x60,0x5F,0xF5,0x00,0x6A,0x62,0xEA,0x06,0x61,0x7F,0xF4,0x0F,0x73,0x0B,0x60,0x7F,0xF4,0x10,0x73,0x06,0x10,0x5F,0xF5,0x03,0x73,0x00,0xF1,0x0D,0x60,0x5F,0xF5,0x05,0x73,0x27,0x60,0x17,0x11,0x16,0x92,0x00,0x6B,0x21,0x10,0x7F,0xF4,0x06,0x73,0x03,0x61,0x8C,0xB2,0x00,0x6B,0x60,0xDA,0x8B,0xB2,0x0F,0x6B,0x40,0x9A,0x46,0x32,0x6C,0xEA,0x03,0x72,0x04,0x61,0x89,0xB2,0x60,0x9A,0x89,0xB2,0x60,0xDA,0x8A,0xB3,0x88,0xB2,0x60,0xDA,0x8A,0xB3,0x89,0xB2,0x60,0xDA,0xFF,0x17,0x81,0xB2,0x89,0xB3,0x40,0x9A,0x6E,0xEA,0xE0,0xF0,0x16,0x2A,0x14,0x94,0x87,0xB2,0x63,0xA4,0x60,0xC2,0xE9,0x10,0x14,0x92,0x83,0xA2,0x01,0x24,0x01,0x6C,0x80,0x18,0x88,0x2A,0x00,0x65,0xE1,0x10,0x14,0x94,0x81,0xB2,0x63,0xA4,0x80,0xF1,0x61,0xC2,0xDB,0x10,0x14,0x93,0x7F,0xB1,0xFF,0xF7,0x1F,0x6C,0x43,0xA3,0x44,0x33,0x4D,0xE3,0x6C,0x33,0x4D,0xE3,0x40,0x99,0x68,0x30,0x8C,0xE8,0x4F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x91,0x67,0x0F,0x20,0x00,0x18,0x40,0xA4,0x00,0x65,0x76,0xB6,0x00,0x6A,0x01,0x6C,0xB1,0x67,0xE2,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD2,0x80,0x99,0x00,0x18,0x0C,0x1E,0xB0,0x67,0x71,0xB2,0x00,0xCA,0xB7,0x10,0x14,0x93,0x00,0x6E,0x43,0xA3,0x01,0x22,0x01,0x6E,0x6A,0xB2,0x80,0xF1,0xD1,0xC2,0xAE,0x10,0x14,0x94,0x14,0x93,0x61,0xF3,0x06,0x6D,0x85,0xA4,0x0E,0xD4,0x48,0xA3,0x27,0xA3,0xFF,0xF7,0x1F,0x6C,0x40,0x32,0x4D,0xE9,0x00,0x6A,0x45,0xC3,0x4A,0xC3,0x8C,0xE9,0x00,0x18,0x9A,0x33,0x22,0x6C,0x5F,0xB0,0xF3,0x6A,0xFF,0xF7,0x1F,0x6B,
+0x20,0xF0,0xBF,0xA0,0x24,0x6C,0xA0,0x35,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6C,0xED,0x40,0xF0,0x41,0xA0,0x40,0xF0,0xA0,0xA0,0x26,0x6C,0x40,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0xEB,0xF0,0x12,0x6D,0x00,0x18,0x9A,0x33,0x28,0x6C,0x93,0xF7,0x1A,0x6D,0x00,0x18,0x9A,0x33,0x2A,0x6C,0x00,0x18,0xEE,0x33,0x01,0x6C,0x7D,0x21,0xFF,0xF7,0x1F,0x6B,0x51,0x67,0x6C,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4,0x00,0x6A,0xFF,0xF7,0x1F,0x69,0x4C,0xE9,0x0E,0x92,0xFF,0x6C,0xFF,0x4A,0x8C,0xEA,0x04,0x5A,0x28,0x61,0x47,0xB0,0x00,0x6A,0x7D,0x67,0x06,0xD2,0x0C,0xCB,0xE0,0xF7,0x1F,0x6A,0x4C,0xE9,0x44,0xB3,0x06,0x92,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA,0x8D,0xEA,0x06,0xD2,0x00,0x6C,0x40,0xB2,0x04,0xD4,0x05,0xD4,0x9D,0x67,0x18,0x4C,0xC5,0x67,0x00,0x6F,0x07,0xD2,0x3F,0x10,0xE0,0xF7,0x1F,0x6A,0x8C,0xEA,0x88,0x67,0x80,0xF4,0x40,0x32,0x8C,0xEB,0x4D,0xEB,0x38,0xB2,0xFF,0x6D,0xEC,0xED,0x60,0xDE,0x41,0xDE,0x2B,0x10,0x0E,0x92,0x00,0x6D,0x91,0x67,0x40,0x33,0x34,0xB2,0x25,0x67,0x41,0xE3,0x7D,0x67,0x18,0x4B,0x2F,0xB2,0x8B,0x65,0x31,0xB3,0x0A,0x65,0xFF,0xF7,0x1F,0x6A,0x6B,0x65,0xFF,0x6B,0x4A,0x65,0x2B,0x65,0x6C,0x67,0xAC,0x32,0x79,0xE2,0x20,0xDE,0x00,0xF1,0x01,0x5C,0x00,0xCE,0x21,0xDE,0x60,0x9E,0xE1,0x45,0xD4,0x61,0x48,0x67,0x6C,0xEA,0xA9,0x67,0x6B,0x67,0x6D,0xEA,0x80,0x4C,0xEC,0xED,0x40,0xDE,0x80,0x4C,0x4A,0x67,0x04,0x5D,0x4C,0xEC,0xE8,0x61,0x00,0x6F,0x9D,0x67,0x04,0xD7,0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65,0x0E,0x10,0x02,0x6C,0x01,0x6D,0x00,0x18,0x1C,0x80,0x00,0x6E,0x08,0x10,0x14,0x93,0x16,0x92,0x80,0xAB,0x00,0x18,0xFA,0x8B,0xA0,0xA2,0x01,0x6A,0x01,0x10,0x00,0x6A,0x12,0x97,0x11,0x91,0x10,0x90,0x00,0xEF,0x0A,0x63,0x38,0x91,0x10,0x80,0x6C,0x1D,0x11,0x80,0x2C,0x00,0x00,0xB5,0x48,0x91,0x10,0x80,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x78,0xA0,0x00,0xB0,0x01,0x00,0xA5,0x01,0xAE,0x23,0x87,0x54,0xD0,0x00,0x11,0x80,0xDC,0x00,0x11,0x80,0x88,0x07,0x11,0x80,0x01,0x91,0x02,0x80,0x08,0xA1,0x11,0x80,0x00,0xF8,0x10,0x80,0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80,0x00,0x00,0x00,0x04,0x03,
+0xB2,0x00,0x6B,0x60,0xDA,0x20,0xE8,0x00,0x65,0x00,0x00,0x04,0x60,0x00,0xB0,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x40,0xAC,0x01,0xF4,0x03,0x72,0x2C,0x61,0x80,0x18,0x3F,0x2A,0x00,0x69,0x80,0x18,0x91,0x2B,0x00,0x65,0x16,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x60,0xCA,0x15,0xB2,0x91,0x67,0x20,0xDA,0x14,0xB2,0x20,0x18,0x83,0x39,0x20,0xDA,0x14,0xB2,0x15,0xB0,0xB1,0x67,0x80,0xF1,0x62,0xA2,0x90,0x67,0x30,0x6E,0x68,0x32,0x69,0xE2,0x0F,0xB3,0x44,0x32,0x00,0x18,0x64,0x2E,0x40,0xCB,0x01,0x6A,0x4B,0xEA,0x47,0xD8,0x0E,0xB3,0x40,0x98,0x0E,0xB4,0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x00,0x18,0x64,0x2E,0x0C,0x6E,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0x6A,0x00,0xEF,0x04,0x63,0x0C,0xA1,0x11,0x80,0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0x08,0xA1,0x11,0x80,0xDC,0x00,0x11,0x80,0xCC,0xA0,0x11,0x80,0x00,0x00,0x00,0x70,0xFC,0xA0,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0xFF,0xF7,0x1F,0x6A,0xCC,0xEA,0x02,0x74,0x0C,0x65,0x05,0x67,0x4F,0x65,0x2A,0x65,0x0D,0x61,0x2A,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x05,0x61,0x27,0xB3,0x40,0x9B,0xC0,0xF7,0x42,0x32,0xFC,0x2A,0x48,0x67,0x04,0x72,0x38,0x61,0x60,0xA0,0xFF,0x6E,0x46,0x67,0x6C,0xEA,0x10,0x72,0x0B,0x61,0x42,0xA0,0xCC,0xEA,0x02,0x72,0x07,0x61,0x1F,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D,0x81,0x9A,0x00,0x6A,0x2D,0x10,0xFF,0x6A,0x6C,0xEA,0x02,0x72,0x01,0x6C,0x04,0x60,0x22,0x72,0x02,0x60,0x2F,0x72,0x1E,0x61,0xFF,0x6E,0x46,0x67,0x6C,0xEA,0x2F,0x72,0x01,0x6A,0x02,0x60,0x42,0xA0,0xCC,0xEA,0xFF,0x6D,0x6F,0x42,0xAC,0xEB,0xAA,0xEB,0x11,0x60,0xE5,0x67,0x01,0x69,0x06,0x4C,0xAC,0xEC,0x99,0xE0,0x42,0xA6,0xAC,0xEA,0x03,0x5A,0x01,0x61,0x22,0xC6,0xFF,0x4B,0xEC,0xEB,0xFF,0x6D,0x08,0x4C,0xAA,0xEB,0xEC,0xEC,0xF1,0x61,0x88,0x67,0xB0,0x67,0xC9,0x67,0x00,0x18,0xCA,0x1E,0xEA,0x67,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x6C,0x1D,0x11,0x80,0x1C,0xA3,0x00,0xB0,0x9C,0x31,0x11,0x80,0x20,0xE8,0x00,0x65,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0xF7,0x1F,0x69,0x8C,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32,0x18,0xB3,0x2B,0xE2,0x48,0x32,0x61,0xE2,0x5C,0x98,0x4F,0xEA,
+0x05,0x22,0x01,0x6A,0x00,0x6B,0x20,0xF2,0x5E,0xC0,0x1E,0x10,0x00,0x18,0x41,0x5E,0x91,0x67,0x04,0xD2,0x0C,0x6B,0x18,0x2A,0x5F,0x98,0x41,0xA2,0x44,0x72,0x14,0x60,0x00,0x18,0xA5,0x5E,0x91,0x67,0x06,0x22,0x00,0x18,0x69,0x5E,0x91,0x67,0x1F,0x6B,0x0B,0x22,0x05,0x10,0x00,0x18,0x80,0x49,0x91,0x67,0x62,0x67,0x05,0x10,0x91,0x67,0x20,0x18,0x13,0x26,0x0E,0x6D,0x04,0x93,0x08,0x97,0x07,0x91,0x06,0x90,0x43,0x67,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x03,0x44,0x90,0x67,0x00,0x18,0xF2,0x5A,0x0B,0xD5,0x22,0x67,0x1A,0x65,0x1E,0x2A,0xBD,0x67,0x90,0x67,0x00,0x18,0x07,0xDF,0x10,0x4D,0x7D,0x67,0x48,0xAB,0x0B,0x93,0xFF,0xF7,0x1F,0x6D,0x40,0xCB,0x65,0x67,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x09,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF2,0x3E,0xC2,0x5D,0x67,0x88,0xAA,0x80,0x18,0xEE,0x2B,0xAC,0xEC,0x1A,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x58,0x67,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0x20,0xB0,0x00,0x6A,0x04,0xD2,0x40,0x98,0x01,0x69,0xC0,0xF6,0x42,0x32,0x2C,0xEA,0x09,0x22,0x00,0x18,0x4F,0x9A,0x06,0xD4,0x04,0xD1,0x40,0x98,0x1A,0xB3,0x6C,0xEA,0x40,0xD8,0x06,0x94,0x44,0xAC,0xFF,0xF7,0x1F,0x6B,0x06,0x72,0x19,0x61,0x40,0x9C,0x17,0x2A,0x45,0xAC,0x6C,0xEA,0x17,0x2A,0x41,0x9C,0x82,0x67,0x42,0x32,0x42,0x32,0x6C,0xEA,0x01,0xF0,0x0B,0x72,0x6C,0xEC,0x04,0x61,0x80,0x18,0xEE,0x2B,0x00,0x65,0x0A,0x10,0x01,0xF0,0x05,0x72,0x07,0x61,0x00,0x18,0x2C,0x48,0x00,0x65,0x03,0x10,0x00,0x18,0x74,0x56,0x00,0x65,0x04,0x92,0x05,0x22,0x06,0xB2,0x07,0xB4,0x60,0x9A,0x8D,0xEB,0x60,0xDA,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00,0x54,0x45,0x11,0x80,0xFF,0xFF,0xFF,0xF7,0x00,0x00,0x00,0x08,0xF9,0x63,0x0C,0x62,0x44,0xAC,0x07,0x72,0x11,0x61,0x60,0x9C,0xFF,0x6D,0x40,0xA3,0x03,0x72,0x26,0x61,0x42,0xA3,0xAC,0xEA,0x23,0x2A,0x43,0xA3,0x64,0xA3,0xAC,0xEA,0xAC,0xEB,0x60,0x33,0x6D,0xEA,0x12,0xB3,0x40,0xCB,0x1A,0x10,0x08,0x72,0x18,0x61,0x40,0x9C,0x66,0x6B,0x9D,0x67,0x06,0xD2,0x0E,0xB2,0x70,0xCC,0xFD,0x67,0x80,0x9A,0x00,0x6D,0x04,0x06,0x24,0x4F,0xA9,
+0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18,0x40,0x1E,0x08,0x97,0x03,0x10,0x00,0x18,0x64,0x8B,0x00,0x65,0x0C,0x97,0x00,0xEF,0x07,0x63,0x0C,0xA1,0x11,0x80,0x84,0x21,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x44,0xAC,0x24,0x67,0x66,0x72,0x34,0x61,0x00,0x9C,0xE1,0xF7,0x1F,0x6A,0xBD,0x67,0x80,0x98,0x10,0x4D,0x4C,0xEC,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x2A,0xDF,0x4C,0xEC,0x82,0x67,0x29,0x2A,0x5D,0x67,0x68,0xAA,0xFF,0xF7,0x1F,0x6A,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x12,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF0,0x78,0xA2,0x03,0x73,0x14,0x60,0xE0,0xF7,0x08,0x6A,0x47,0xEB,0x01,0x6B,0x6C,0xEA,0x0E,0x22,0x0C,0xB3,0x00,0xF4,0x84,0xD8,0x40,0x9B,0x02,0x2A,0x00,0xDB,0x04,0x10,0x0A,0xB2,0x40,0x9A,0x00,0xF4,0x04,0xDA,0x08,0xB2,0x00,0xDA,0x03,0x10,0x00,0x18,0x18,0x58,0x91,0x67,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x0B,0xB0,0xE3,0xF7,0x1F,0x6B,0x7C,0x6C,0x40,0x98,0x01,0x6D,0x56,0x32,0x6C,0xEA,0x69,0x98,0x58,0xEB,0x12,0xEA,0x00,0x18,0xEB,0x9F,0x4A,0xD8,0x6B,0x98,0x05,0x97,0x4D,0xE3,0x6B,0xD8,0x04,0x90,0x00,0xEF,0x03,0x63,0xCC,0xA0,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0x3B,0xB0,0xBD,0x67,0x10,0x4D,0x90,0xA0,0x4F,0xA0,0x80,0x34,0x4D,0xEC,0x4E,0xA0,0x80,0x34,0x00,0x18,0x3A,0xBA,0x4D,0xEC,0x7D,0x67,0x48,0xAB,0x8F,0xA0,0xFD,0x67,0x4C,0xCB,0x49,0xAB,0x4D,0xCB,0x6A,0xAB,0x03,0x6A,0x4C,0xEB,0x4E,0xA0,0x48,0x32,0x4D,0xEB,0x80,0x32,0x48,0x32,0x4D,0xEB,0x50,0xA0,0x6E,0xCF,0x70,0x80,0x48,0x32,0x9A,0x34,0x4D,0xEC,0x00,0x53,0x8F,0xCF,0x05,0x60,0x09,0xF4,0x00,0x6A,0x8D,0xEA,0x4F,0xCF,0x06,0x10,0x0A,0xF0,0x00,0x6A,0x4B,0xEA,0x8D,0xEA,0x7D,0x67,0x4F,0xCB,0x9D,0x67,0x10,0x4C,0xFF,0xF7,0x1F,0x6F,0x0F,0x6A,0x00,0x6E,0x2C,0x65,0x0F,0x65,0x01,0x69,0x4A,0x65,0x89,0x67,0xC4,0x30,0x89,0xE0,0x84,0xAA,0x00,0x6D,0xE8,0x67,0x65,0x67,0xEC,0xEC,0x44,0x67,0x47,0xEB,0x2C,0xEA,0x07,0x22,0xEA,0x67,0x6B,0xE7,0xF1,0x67,0xE4,0xEA,0xED,0xED,0x48,0x67,0x4C,0xED,
+0x01,0x4B,0xFF,0x6F,0xEC,0xEB,0x10,0x5B,0xF0,0x61,0x01,0x4E,0x69,0x67,0xEC,0xEE,0x69,0xE0,0x04,0x5E,0xA4,0xCA,0xE1,0x61,0xFD,0x67,0xCC,0xAF,0x51,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x5D,0x67,0xCD,0xAA,0x50,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x7D,0x67,0xCE,0xAB,0x4F,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0xFD,0x67,0xCF,0xAF,0x4E,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0xCC,0xA0,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6B,0x04,0xD3,0x6C,0xEA,0xFF,0x6B,0x02,0x4B,0x6B,0xEB,0x6C,0xEA,0xFF,0x6B,0x01,0x4B,0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x51,0xB1,0x52,0xB3,0x07,0x68,0x41,0x99,0x51,0xB4,0x01,0x6D,0x4E,0x32,0x0C,0xEA,0x69,0xE2,0x60,0xA2,0x40,0x99,0x0C,0xEB,0x40,0xF6,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x40,0xD9,0x04,0x93,0x57,0x6C,0x01,0x6D,0x4C,0xEB,0x71,0x6A,0x04,0xD3,0x4B,0xEA,0x4C,0xEB,0x40,0x99,0xC3,0x67,0x40,0xF6,0x42,0x32,0x0C,0xEA,0x50,0x32,0x00,0x18,0x01,0xA0,0x4D,0xEE,0x40,0x99,0x01,0x6B,0x03,0x67,0x6C,0xEA,0x06,0x22,0x41,0x99,0x80,0x6B,0x6C,0xEA,0x01,0x5A,0x18,0x67,0x02,0x48,0x56,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x00,0x36,0x37,0xB0,0xFF,0xF7,0x1F,0x69,0x1C,0xF0,0x00,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x60,0x98,0xE3,0xF7,0x1F,0x6C,0xD8,0x36,0x76,0x33,0x8C,0xEB,0x6D,0xEE,0xFB,0xF7,0x1F,0x6B,0x6C,0xEE,0x4D,0xEE,0x56,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x47,0xA0,0xC6,0xA0,0x58,0x6C,0x40,0x32,0x4D,0xEE,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xC8,0xA0,0x04,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x03,0x6B,0x6C,0xEE,0x4D,0xEE,0x59,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x80,0x18,0x9A,0x2C,0x00,0x65,0x40,0x98,0xC0,0xF7,0x42,0x32,0x24,0x22,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x81,0x6B,0x2C,0xEA,0x6B,0xEB,0x6C,0xEA,0xC2,0x67,0x80,0x6B,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE9,0xE0,0xF1,0x1D,0x6A,0x4B,0xEA,0x4C,0xE9,0x45,0xA0,0xFF,0x6B,0xD1,0x67,0x6C,0xEA,0x48,0x32,0xE0,
+0xF1,0x1C,0x6B,0x6C,0xEA,0x59,0x6C,0x01,0x6D,0x4D,0xEE,0x0B,0x10,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE9,0x81,0x6A,0x4B,0xEA,0xD1,0x67,0x57,0x6C,0x01,0x6D,0x4C,0xEE,0x00,0x18,0x01,0xA0,0x00,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0xCC,0xA0,0x11,0x80,0xD8,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x0F,0xB1,0xFF,0x68,0x8C,0xE8,0x47,0x99,0x4F,0xEA,0x04,0x22,0x87,0x41,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x0E,0x20,0x0B,0xB6,0x00,0x68,0xA7,0x41,0x01,0x6C,0x15,0x4D,0xF0,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD0,0x87,0x99,0x00,0x18,0x0C,0x1E,0x14,0x6D,0x10,0xC9,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0xCC,0xA0,0x11,0x80,0xF9,0xB5,0x10,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x00,0x6C,0x02,0xF0,0x00,0x6E,0x00,0x18,0x01,0xA0,0xA4,0x67,0x2D,0xB2,0x3C,0x6C,0x00,0x6D,0xC0,0x9A,0x7F,0x6A,0xFF,0xF7,0x1F,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE,0xC4,0x36,0xFF,0x6A,0x01,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x01,0xF6,0x01,0x69,0x2B,0xE9,0xC2,0x67,0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x01,0xF6,0x00,0x6B,0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x03,0x69,0x2B,0xE9,0xC2,0x67,0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x02,0x6B,0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE8,0xD0,0x67,0x2C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0,0x57,0x6C,0x80,0x18,0x38,0x2D,0x01,0x6C,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x1A,0xB2,0x06,0xD4,0x47,0x9A,0x8E,0xEA,0x05,0x22,0x8F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x06,0x04,0x15,0xB0,0x42,0x6B,0x41,0x98,0x6C,0xEA,0x6A,0xEA,0x08,0x60,0x47,0x98,0x4F,0xEA,0x1C,0x22,0x87,0x40,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x17,0x10,0x7D,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x02,0x6E,
+0x4C,0xEE,0x04,0x26,0x50,0xA8,0x01,0x4A,0x50,0xC8,0x0C,0x10,0x86,0x67,0x00,0x18,0x01,0xA0,0xA6,0x67,0x49,0x98,0x01,0x4A,0x80,0x18,0x8D,0x2C,0x49,0xD8,0x80,0x18,0x4B,0x2D,0x00,0x65,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x00,0x6C,0xC4,0x67,0x00,0x18,0x01,0xA0,0xA4,0x67,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0xFF,0x6A,0x04,0x4A,0x4B,0xEA,0x4C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0,0x57,0x6C,0x0A,0xB0,0x41,0x6B,0x6B,0xEB,0x41,0x98,0x00,0x6C,0x6C,0xEA,0x80,0x18,0x38,0x2D,0x41,0xD8,0x80,0x18,0x8D,0x2C,0x00,0x65,0x00,0x6A,0x49,0xC0,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62,0x80,0x18,0xD8,0x2C,0x00,0x65,0x0D,0xB3,0x00,0x6A,0x59,0x6C,0x4B,0xDB,0x49,0xDB,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x00,0xF2,0x01,0x6A,0x4B,0xEA,0x59,0x6C,0x01,0x6D,0x00,0x18,0x01,0xA0,0x4C,0xEE,0x80,0x18,0x4B,0x2D,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1,0x01,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x06,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C,0x04,0x97,0x6C,0xEA,0x41,0xDC,0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x80,0x18,0xD8,0x2C,0x00,0x65,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x69,0x02,0xF0,0x01,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x02,0xF0,0x00,0x68,0xC2,0x67,0x0D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x2C,0xEA,0x00,0xF2,0x01,0x6B,0x6B,0xEB,0xC2,0x67,0x6C,0xEE,0x59,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C,0xD0,0x67,0x00,0x18,0x01,0xA0,0xA4,0x67,0x28,0xB2,0x03,0x6C,0x00,0x6D,0x00,0x9A,0x07,0x6A,0x00,0xF7,0x02,0x30,0x00,0x18,0xEB,0x9F,0x4C,0xE8,0x2C,0xEA,0x1F,0xF4,0x01,0x6B,0x6B,0xEB,0x6C,0xEA,0x21,0xB3,0x05,0x48,0x1F,0xF4,0x00,0x6C,0x61,0xE0,0x20,0xF1,0x7A,0xA0,0xC2,
+0x67,0x00,0x6D,0x60,0x33,0x68,0x33,0x8C,0xEB,0x6D,0xEE,0x00,0x18,0x01,0xA0,0x03,0x6C,0x18,0xB3,0x7F,0x6A,0x3C,0x6C,0xC0,0x9B,0x00,0x6D,0x01,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE,0xC4,0x36,0xFF,0x6A,0x06,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0xC2,0x67,0x0D,0xEE,0xB0,0x67,0x00,0x18,0x01,0xA0,0x57,0x6C,0xB0,0x67,0x00,0x18,0xEB,0x9F,0x57,0x6C,0x02,0x6E,0x4C,0xE9,0xCB,0xEE,0xB0,0x67,0x2C,0xEE,0x00,0x18,0x01,0xA0,0x57,0x6C,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0xFD,0x63,0x04,0x62,0x7F,0xF7,0x0F,0x6D,0x00,0x18,0x5D,0xBA,0x5E,0x6C,0x0E,0xB2,0xFF,0xF6,0x1F,0x6D,0x00,0x18,0x5D,0xBA,0x81,0xA2,0xFF,0x6D,0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x00,0x6D,0x07,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C,0x04,0x97,0x6C,0xEA,0x41,0xDC,0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x30,0xF4,0x04,0x80,0xCC,0xA0,0x11,0x80,0xF7,0x63,0x10,0x62,0x0F,0xD1,0x0E,0xD0,0x72,0xB5,0x73,0xB3,0x07,0x6C,0xC0,0x9D,0xFF,0xF7,0x1F,0x6F,0xC0,0x32,0x58,0x32,0x80,0xF5,0x42,0x31,0x41,0x9D,0x4E,0x32,0x8C,0xEA,0x69,0xE2,0x60,0xA2,0x6D,0xB2,0x8C,0xEB,0x40,0xF6,0x60,0x33,0xCC,0xEA,0x6D,0xEA,0x40,0xF6,0x42,0x33,0x40,0xDD,0xFF,0x6E,0x8C,0xEB,0x61,0x21,0x51,0x67,0xEC,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4,0x00,0x6A,0x27,0x67,0x4C,0xE9,0x4F,0x43,0xCC,0xEA,0x04,0x5A,0x23,0x61,0x61,0xB0,0x00,0x6F,0x5D,0x67,0x06,0xD7,0x0C,0xCA,0x06,0x92,0x5F,0xB3,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA,0x8D,0xEA,0x06,0xD2,0x5D,0xB2,0x9D,0x67,0x18,0x4C,0xC5,0x67,0x07,0xD2,0x04,0xD7,0x05,0xD7,0x3C,0x10,0xE0,0xF7,0x1F,0x6A,0x4C,0xEB,0x49,0x67,0x80,0xF4,0x60,0x33,0xCC,0xEA,0x6D,0xEA,0x40,0xDC,0x54,0xB2,0xFF,0x6D,0xEC,0xED,0x41,0xDC,0x28,0x10,0x53,0xB2,0x60,0x33,0x00,0x6D,0x41,0xE3,0x5D,0x67,0x18,0x4A,0xAA,0x65,0x4D,0xB2,0x71,0x67,0x0D,0x65,0x2A,0x65,0x4E,0xB2,0x6F,0x65,0x4E,0x65,0x8A,0x65,0xAC,0x32,0xCD,0x67,0xD1,0xE2,0x48,0x67,0x40,0xDC,0x00,0xF1,0x01,0x5B,0x00,0xCC,0x41,0xDC,0xC0,0x9C,0xE1,0x45,
+0xD7,0x61,0x49,0x67,0xCC,0xEA,0xAC,0x67,0xAD,0xEA,0xAA,0x67,0x80,0x4B,0xEC,0xED,0x80,0x4B,0xCB,0x67,0x04,0x5D,0x40,0xDC,0xCC,0xEB,0xE7,0x61,0x00,0x6F,0x9D,0x67,0x04,0xD7,0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65,0x34,0xB2,0xC4,0x6C,0xA0,0x9A,0x7F,0x6A,0x80,0xF4,0xA2,0x35,0x4C,0xED,0xA0,0x32,0x00,0x18,0x9A,0x33,0x4D,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x60,0x6D,0x35,0xB2,0x35,0xB0,0x2C,0xB3,0x81,0xA2,0x01,0xF4,0x00,0x6D,0x09,0xE4,0x40,0xAA,0x4C,0xED,0x40,0x9B,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x40,0x32,0x50,0x32,0x4D,0xED,0x00,0x18,0x9A,0x33,0x2D,0xED,0x2D,0xB2,0x23,0xB6,0xEE,0xF1,0x1F,0x6D,0x21,0xA2,0x60,0x9E,0x01,0xE1,0x40,0xA8,0x07,0x68,0x91,0x67,0x4C,0xED,0x01,0x6A,0x6C,0xEA,0x00,0xF7,0x62,0x33,0x0C,0xEB,0x40,0x32,0x5C,0x32,0x60,0x33,0x64,0x33,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6D,0xED,0x17,0xB2,0x01,0x6C,0xA0,0x9A,0x00,0xF7,0xA2,0x35,0x00,0x18,0x68,0x91,0x0C,0xED,0x13,0xB3,0x01,0x6C,0xA0,0x9B,0x00,0xF7,0xA2,0x35,0x00,0x18,0x82,0x91,0x0C,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x90,0x6D,0xFF,0x6D,0x91,0x67,0x00,0x18,0x78,0xBA,0x01,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x03,0x6D,0xFF,0x6D,0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFE,0xF7,0x1F,0x6D,0x00,0x18,0x5D,0xBA,0x5E,0x6C,0x10,0x97,0x0F,0x91,0x0E,0x90,0x00,0xEF,0x09,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xE0,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0x00,0xF8,0x10,0x80,0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80,0x00,0x00,0x00,0x04,0x38,0xF4,0x04,0x80,0x00,0x00,0x00,0xB6,0x30,0xF4,0x04,0x80,0xE0,0x63,0x3F,0x62,0x3E,0xD0,0x0F,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x00,0x68,0x7D,0x67,0x04,0xF0,0x1F,0x6A,0x9D,0x67,0x12,0xC3,0x48,0xCB,0x00,0x18,0xEC,0xC6,0x10,0x4C,0x08,0xB4,0x04,0x63,0x41,0x6B,0x41,0x9C,0x09,0xC4,0x3F,0x97,0x3E,0x90,0x6B,0xEB,0x6C,0xEA,0x41,0xDC,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x18,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x16,0xB5,0x17,0xB3,0x07,0x6E,0x41,0x9D,0x16,0xB4,0x4E,0x32,0xCC,0xEA,0x69,0xE2,0x40,0xA2,0x60,0x9D,0xCC,
+0xEA,0x40,0xF6,0x40,0x32,0x8C,0xEB,0x4D,0xEB,0x9D,0x67,0x04,0xF0,0x1E,0x6A,0x60,0xDD,0x48,0xCC,0x03,0x6A,0x52,0xC4,0x80,0xF4,0x62,0x32,0x7F,0x6C,0x8C,0xEA,0x9D,0x67,0x53,0xC4,0x62,0x32,0x40,0xF6,0x62,0x33,0xCC,0xEB,0x75,0xC4,0x54,0xC4,0x00,0x18,0xAA,0xC6,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xD0,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xE0,0x63,0x3E,0x62,0x3D,0xD1,0x3C,0xD0,0x11,0xB4,0xFB,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x7D,0x67,0x04,0xF0,0x1F,0x6A,0x48,0xCB,0x0D,0xB2,0x0E,0xB0,0x00,0x69,0xA1,0xF1,0x48,0xAA,0x9D,0x67,0x32,0xC3,0x49,0xD8,0x00,0x18,0xEC,0xC6,0x10,0x4C,0x41,0x98,0x41,0x6B,0x6B,0xEB,0x05,0x63,0x6C,0xEA,0x29,0xC0,0x41,0xD8,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0x58,0x46,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x0E,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x7D,0x67,0x04,0xF0,0x1D,0x6A,0x48,0xCB,0x01,0x6A,0x52,0xC3,0x09,0xB2,0x7F,0x6B,0x9D,0x67,0x40,0x9A,0x10,0x4C,0x80,0xF4,0x42,0x32,0x6C,0xEA,0x7D,0x67,0x00,0x18,0x7C,0xC6,0x53,0xC3,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x24,0xB4,0xFC,0x63,0x08,0x6E,0x00,0x18,0x64,0x2E,0x00,0x6D,0x7D,0x67,0x04,0xF0,0x0D,0x6A,0x48,0xCB,0x19,0x6A,0x00,0x6C,0x52,0xC3,0x60,0x6A,0x4B,0xEA,0x53,0xC3,0x94,0xC3,0x55,0xC3,0x96,0xC3,0x97,0xC3,0x98,0xC3,0x1B,0xB3,0xBD,0x67,0x9F,0xC5,0x54,0xA3,0x20,0xF0,0x80,0xC5,0x20,0xF0,0x82,0xC5,0x59,0xC5,0x55,0xA3,0x20,0xF0,0x84,0xC5,0x20,0xF0,0x85,0xC5,0x5A,0xC5,0x56,0xA3,0x20,0xF0,0x87,0xC5,0x20,0xF0,0x89,0xC5,0x5B,0xC5,0x57,0xA3,0x5C,0xC5,0x58,0xA3,0x5D,0xC5,0x59,0xA3,0x5E,0xC5,0x02,0x6A,0x20,0xF0,0x41,0xC5,0x20,0xF0,0x43,0xC5,0x1E,0x6A,0x20,0xF0,0x46,0xC5,0x12,0x6A,0x20,0xF0,0x48,0xC5,0x20,0xF0,0x4A,0xC5,0x20,0xF0,0x8B,0xC5,0x9D,0x67,0x00,0x18,0xFC,0xC2,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x1A,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,
+0x7D,0x67,0x04,0xF0,0x06,0x6A,0x48,0xCB,0x0F,0x6A,0x9D,0x67,0x52,0xC3,0x00,0x6A,0x54,0xC4,0x56,0xC4,0x57,0xC4,0x58,0xC4,0x59,0xC4,0x5A,0xC4,0x5B,0xC4,0x5C,0xC4,0x5D,0xC4,0x5E,0xC4,0x5F,0xC4,0x07,0x6A,0x20,0x6B,0x20,0xF0,0x40,0xC4,0x03,0x6A,0x73,0xC4,0x75,0xC4,0x20,0xF0,0x41,0xC4,0x00,0x18,0xA8,0xC1,0x10,0x4C,0x7D,0x67,0x04,0xF0,0x0A,0x6A,0x48,0xCB,0x9D,0x67,0x01,0x6A,0x52,0xC3,0x53,0xC3,0x00,0x18,0x5E,0xC2,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80,0xE0,0x63,0x3E,0x62,0xFB,0x63,0x7D,0x67,0x00,0xF4,0x06,0x6A,0x48,0xCB,0x03,0x6A,0x52,0xC3,0x13,0x6A,0x55,0xC3,0x26,0xB2,0x6D,0xA2,0x08,0x73,0x22,0x60,0x70,0x32,0x69,0xE2,0x24,0xB6,0x48,0x32,0x6B,0xE2,0x48,0x32,0xD1,0xE2,0x20,0xF1,0x4F,0xA4,0x01,0x6D,0xAC,0xEA,0x16,0x22,0x00,0xF1,0x52,0xAE,0x47,0xEB,0xAC,0xEA,0x11,0x22,0x20,0xF1,0x6C,0xAC,0xFF,0xF7,0x1F,0x6A,0x9D,0x67,0x4C,0xEB,0x5D,0x67,0x73,0xC2,0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18,0xD2,0x48,0x10,0x4C,0x13,0xB2,0x6C,0xA2,0x0A,0x73,0x1D,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x10,0xB3,0x48,0x32,0x71,0xE2,0xE0,0xF0,0x4B,0xA4,0xFF,0x6B,0x6C,0xEA,0x01,0x72,0x0E,0x61,0x60,0xF2,0x7C,0xAC,0x5D,0x67,0x9D,0x67,0x73,0xC2,0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18,0xD2,0x48,0x10,0x4C,0x05,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0xCC,0xA0,0x11,0x80,0x58,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x12,0xB0,0x00,0x6A,0xFF,0x6D,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1,0x58,0xC0,0x0E,0xB2,0x02,0x6B,0xAC,0xEC,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0,0xC0,0xF1,0x79,0xC0,0x40,0xF1,0x9E,0xC0,0x60,0xC2,0x00,0x18,0xEB,0xA4,0xAC,0xEC,0x20,0xF1,0x8E,0x40,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80,0xE0,0x63,0x3E,0x62,0x3D,0xD1,0x3C,0xD0,0xF5,0x63,0x7D,0x67,0x00,0xF4,0x05,0x6A,0x7E,0xB5,0x54,0xCB,0x9D,0x67,0x0D,0x6A,0x20,0xF0,0x4A,0xC3,0x2B,0x4C,0x00,0x18,0x2E,0x2E,0x06,0x6E,0x7A,0xB0,0x00,0x6A,0x9D,0x67,0x01,
+0x6B,0x20,0xF0,0x51,0xC4,0x20,0xF0,0x52,0xC4,0x20,0xF0,0x73,0xC4,0x20,0xF0,0x54,0xC4,0x20,0xF0,0x55,0xC4,0x20,0xF0,0x56,0xC4,0x20,0xF0,0x77,0xC4,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1,0x58,0xC0,0x6F,0xB2,0x02,0x6B,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0,0xC0,0xF1,0x79,0xC0,0x20,0xF1,0x8E,0x40,0x60,0xC2,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x60,0xF1,0x4E,0xA0,0x02,0x72,0x07,0x60,0x03,0x52,0x02,0x60,0x01,0x72,0x01,0x10,0x03,0x72,0x15,0x61,0xAF,0x10,0x63,0xB5,0x00,0x6B,0xFF,0x6C,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x48,0x32,0xA9,0xE2,0x20,0xF0,0x58,0xA2,0x8C,0xEA,0x80,0xF0,0x1F,0x2A,0x01,0x4B,0x8C,0xEB,0x0A,0x5B,0xEF,0x61,0x00,0x18,0xD4,0x5A,0x0A,0x04,0x62,0x67,0x80,0xF0,0x1D,0x2A,0x0A,0x02,0x06,0x4A,0x64,0xA2,0xFF,0xF7,0x1F,0x6C,0xBD,0x67,0x60,0x33,0x4C,0xD3,0x43,0xA2,0x22,0x4D,0x4D,0xEB,0x8C,0xEB,0x4C,0xD3,0x5D,0x67,0x20,0xF0,0x53,0xA2,0x7D,0x67,0x4D,0xD2,0x20,0xF0,0x74,0xA3,0x0A,0x02,0x0A,0x4A,0x4E,0xD3,0x24,0xA2,0x43,0xA2,0x20,0x31,0x8C,0xE9,0x4D,0xE9,0x8C,0xE9,0x9D,0x67,0x20,0xF0,0x97,0xA4,0x4F,0xD4,0x9D,0x67,0x00,0x18,0x8E,0xDF,0x20,0x4C,0x50,0xD2,0x62,0x67,0x75,0x2A,0x5D,0x67,0x71,0xAA,0xFF,0xF7,0x1F,0x6C,0x3D,0xB5,0x8C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x3C,0xB3,0x48,0x32,0x61,0xE2,0xE0,0xF0,0x8D,0x40,0x00,0x18,0x2E,0x2E,0x06,0x6E,0x5D,0x67,0x20,0xF1,0x50,0xAA,0x7D,0x67,0x9D,0x67,0x60,0xF2,0x5E,0xC8,0x20,0xF1,0x74,0xA3,0x5D,0x67,0xE0,0xF0,0x7A,0xC0,0x20,0xF1,0x98,0xA4,0x7D,0x67,0xE0,0xF0,0x9C,0xC0,0x20,0xF1,0x5C,0xA2,0xE0,0xF0,0x5D,0xC0,0x20,0xF0,0x40,0xA3,0xE0,0xF0,0x53,0xC0,0x01,0x6A,0x80,0xF2,0x42,0xC0,0x91,0xAB,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x45,0x95,0x4C,0xEC,0x7D,0x67,0x40,0xF1,0x60,0xA3,0x22,0x32,0x5E,0x32,0x00,0xF1,0x71,0xC0,0x18,0x22,0xEF,0xF7,0x1F,0x6A,0x4C,0xE9,0x01,0x6A,0x80,0xF0,0x3E,0xC8,0x04,0xD2,0x20,0xB2,0xFF,0xF7,0x1F,0x6C,0xFA,0x6D,0x05,0xD2,0x80,0xF0,0x5E,0xA8,0xA4,0xF4,0x1A,0x6E,0x20,0xF5,0x17,0x6F,0x8C,0xEA,0x06,0x6C,0x20,0x18,0x1B,0x32,0x06,0xD2,0x05,0x10,0x5D,0x67,0x40,0xF1,0x40,0xAA,0x80,0xF0,
+0x5E,0xC8,0x00,0x18,0x4E,0x9B,0x0A,0x04,0x22,0x67,0x0F,0x22,0x7D,0x67,0x20,0xF0,0x80,0xA3,0xE0,0xF0,0xA8,0xA0,0x00,0x18,0xB6,0xDF,0x00,0x65,0x0B,0xB4,0x00,0x18,0xD3,0xDF,0x00,0x65,0x07,0x10,0x0C,0x6B,0x06,0x10,0x5D,0x67,0x91,0xAA,0x20,0x18,0x13,0x26,0x01,0x6D,0x71,0x67,0x0B,0x63,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x43,0x67,0x00,0xEF,0x20,0x63,0x00,0x00,0xE0,0xA0,0x11,0x80,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80,0x48,0x60,0x11,0x80,0xF0,0xA5,0x10,0x80,0xF3,0x63,0x18,0x62,0x17,0xD1,0x16,0xD0,0x00,0x6A,0x0C,0xD2,0x0D,0xD2,0x0E,0xD2,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x1A,0xD4,0x54,0xCB,0x62,0xA4,0x23,0xA4,0x26,0x5B,0x20,0xF4,0x05,0x60,0x00,0xF0,0x10,0x0A,0x64,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x4D,0x00,0x59,0x00,0xAD,0x00,0x77,0x02,0x23,0x03,0x63,0x03,0xEF,0x03,0x3F,0x08,0x11,0x04,0x25,0x04,0x43,0x04,0x57,0x04,0x25,0x07,0xC7,0x05,0x6B,0x04,0x97,0x05,0xAF,0x05,0x25,0x07,0xD7,0x05,0xE9,0x05,0xFB,0x05,0x29,0x06,0x35,0x06,0x4B,0x06,0x57,0x06,0x6B,0x06,0x7B,0x06,0x8B,0x06,0x97,0x06,0xA9,0x06,0x3B,0x08,0x3B,0x08,0x3B,0x08,0x3B,0x08,0xC7,0x06,0x07,0x07,0x13,0x07,0x31,0x08,0x21,0xF0,0x04,0xB2,0x03,0x6C,0x40,0xAA,0x0C,0xD2,0x17,0x13,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x80,0x18,0x38,0x2D,0x00,0x6C,0x00,0x18,0xFE,0x4F,0x00,0x65,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0xC0,0xF7,0x1C,0xB3,0x0A,0x6A,0x4C,0xC3,0x08,0x6A,0x4D,0xC3,0x00,0x6A,0x49,0xC3,0x4A,0xC3,0xC9,0x13,0x0B,0x59,0x18,0x67,0xA0,0xF3,0x0D,0x20,0xC0,0xF7,0x00,0xB4,0x05,0x21,0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x07,0x22,0x8F,0x13,0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x02,0x2A,0x29,0xC4,0xB7,0x13,0xA0,0xF7,0x04,0xB3,0x04,0x6A,0xFA,0x6D,0x89,0xA3,0x29,0xC3,0x04,0xD2,0x80,0xF7,0x1C,0xB2,0x06,0xD1,0x0B,0xD4,0x05,0xD2,0x4A,0xA3,0x01,0x6C,0xA4,0xF1,0x00,0x6E,0x07,0xD2,0x61,0x9B,0xE1,0xF4,0x11,0x6F,0x6A,0x32,0x66,0xEC,0x8C,0xEA,0x8C,0xEB,0x08,0xD2,0x20,0x18,0x1B,0x32,0x09,0xD3,0xA0,
+0xF0,0x08,0x20,0x00,0xF0,0x10,0x0A,0x24,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x17,0x00,0x95,0x00,0xC1,0x00,0xF7,0x00,0x17,0x01,0x1B,0x01,0x1F,0x01,0x41,0x01,0x29,0x01,0x31,0x01,0x39,0x01,0x40,0xF7,0x04,0xB2,0x61,0x9A,0x01,0x6A,0x6C,0xEA,0x0B,0x22,0x02,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0x9A,0x2D,0x00,0x65,0x15,0x10,0x80,0x18,0xC0,0x2D,0x00,0x65,0x11,0x10,0x02,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0xD3,0x2E,0x00,0x65,0x0A,0x10,0x04,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0xA4,0x2E,0x00,0x65,0x03,0x10,0x80,0x18,0x12,0x2E,0x00,0x65,0x00,0xF7,0x00,0xB0,0x6B,0x98,0x4A,0x98,0x29,0x98,0x10,0xD3,0x00,0x18,0xFE,0x4F,0x0F,0xD2,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0x0B,0x94,0x0A,0x6A,0x4C,0xC0,0x02,0x5C,0x08,0x6A,0x4D,0xC0,0x40,0xF3,0x0D,0x60,0x0F,0x92,0x10,0x93,0x29,0xD8,0x4A,0xD8,0x6B,0xD8,0x47,0x13,0xC0,0xF6,0x04,0xB4,0x02,0x6A,0x61,0x9C,0x4D,0xEB,0x04,0x6A,0x6C,0xEA,0x61,0xDC,0x07,0x22,0x02,0x6A,0x4B,0xEA,0x6C,0xEA,0x80,0x18,0xE9,0x2E,0x41,0xDC,0x1A,0x10,0x01,0x6A,0x6D,0xEA,0x80,0x18,0xB0,0x2D,0x41,0xDC,0x14,0x10,0x80,0xF6,0x18,0xB4,0x03,0x6A,0x4B,0xEA,0x61,0x9C,0x4C,0xEB,0x02,0x6A,0x4B,0xEA,0x4C,0xEB,0x04,0x6A,0x6C,0xEA,0x61,0xDC,0x04,0x22,0x80,0x18,0xB6,0x2E,0x00,0x65,0x03,0x10,0x80,0x18,0x25,0x2E,0x00,0x65,0x60,0xF6,0x10,0xB2,0x40,0x6C,0x61,0x9A,0x8D,0xEB,0x61,0xDA,0x16,0x13,0x60,0xF6,0x04,0xB0,0x03,0x6B,0x6B,0xEB,0x41,0x98,0x6C,0xEA,0x01,0x6B,0x6D,0xEA,0x80,0x18,0xD2,0x2D,0x41,0xD8,0x41,0x98,0x40,0x6B,0x6D,0xEA,0x41,0xD8,0x06,0x13,0x01,0x6C,0x03,0x10,0x02,0x6C,0x01,0x10,0x03,0x6C,0x80,0x18,0x6B,0x2F,0x00,0x65,0xFD,0x12,0x80,0x18,0xFA,0x2E,0x00,0x65,0xF9,0x12,0x80,0x18,0x21,0x2F,0x00,0x65,0xF5,0x12,0x80,0x18,0x3D,0x2F,0x00,0x65,0xF1,0x12,0x80,0x18,0x80,0x2F,0x00,0x65,0xE0,0xF2,0x0C,0x22,0x12,0x72,0x98,0x67,0x01,0x5C,0x78,0x67,0x01,0x5B,0x58,0x67,0x03,0x4A,0xE3,0x12,0x04,0x59,0xA0,0xF2,0x13,0x60,0x80,0x18,0x38,0x2D,0x00,0x6C,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,
+0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x00,0x18,0xFE,0x4F,0x00,0x65,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0xA0,0xF5,0x18,0xB0,0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x2A,0xC0,0x00,0x1C,0xDD,0x31,0x4D,0xC0,0x11,0xD2,0x41,0x98,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0x01,0x71,0x41,0xD8,0x06,0x61,0x80,0x18,0x6B,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x02,0x71,0x04,0x61,0x41,0x98,0x04,0x6B,0x6D,0xEA,0x41,0xD8,0x00,0x1C,0xE5,0x31,0x11,0x94,0x02,0x6A,0x04,0xD2,0x60,0xF5,0x18,0xB2,0x06,0xD1,0x01,0x6C,0x05,0xD2,0x41,0x98,0xFA,0x6D,0x44,0xF2,0x19,0x6E,0x4A,0x32,0x8C,0xEA,0xE1,0xF4,0x12,0x6F,0x20,0x18,0x1B,0x32,0x07,0xD2,0x8E,0x12,0x4F,0x59,0x25,0x60,0x1A,0x93,0x44,0xA3,0x08,0x5A,0x21,0x60,0x40,0xF5,0x08,0xB5,0x7F,0x6A,0x4C,0xE9,0x80,0x9D,0x40,0xF5,0x04,0xB2,0x80,0xF4,0x20,0x33,0x4C,0xEC,0x6D,0xEC,0x80,0xDD,0x1A,0x92,0x64,0xA2,0xFF,0x6A,0x4C,0xEB,0x07,0x6A,0x4C,0xEB,0x20,0xF5,0x10,0xB2,0x00,0xF7,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x40,0xDD,0x6E,0x12,0x1A,0x93,0x0A,0x59,0x45,0xA3,0x84,0xA3,0x40,0x32,0x4D,0xEC,0x03,0x61,0x03,0x6C,0x0D,0xD4,0x64,0x12,0x00,0xF5,0x00,0xB6,0x00,0xF5,0x0C,0xB3,0xE3,0xF7,0x1F,0x6A,0xA0,0x9E,0x8C,0xEA,0x54,0x32,0x6C,0xED,0x00,0xF5,0x00,0xB3,0x4D,0xED,0x24,0x32,0x69,0xE2,0x40,0xAA,0xFF,0xF7,0x1F,0x6B,0xA0,0xDE,0x6C,0xEA,0x4C,0x32,0x82,0xEA,0x20,0xF2,0x14,0x61,0x03,0x59,0x05,0x60,0x02,0x6A,0x4B,0xEA,0x4C,0xED,0xA0,0xDE,0x0F,0x10,0x06,0x59,0xFF,0x6B,0x58,0x67,0x01,0x6C,0x6C,0xEA,0x61,0x9E,0x8D,0xED,0x8C,0xEA,0x81,0x6C,0x8B,0xEC,0x5C,0x32,0x8C,0xEB,0x4D,0xEB,0xA0,0xDE,0x61,0xDE,0xA0,0xF4,0x1C,0xB2,0x1F,0x6B,0x6B,0xEB,0x49,0xE1,0x80,0xA2,0x0F,0x6A,0x4C,0xEC,0x40,0x9E,0x84,0x34,0x6C,0xEA,0x8D,0xEA,0x40,0xDE,0x28,0x12,0x1A,0x92,0x85,0xA2,0x05,0x5C,0xE0,0xF1,0x15,0x60,0x60,0xF4,0x1C,0xB5,0x07,0x6A,0x4C,0xEC,0x41,0x9D,0x39,0x6B,0x6B,0xEB,0x8C,0x34,0x6C,0xEA,0x8D,0xEA,0x41,0xDD,0x17,0x12,0x1A,0x94,0x60,0xF4,0x04,0xB3,0x43,0xA4,0x46,0xC3,0x44,0xA4,0x47,0xC3,0x45,0xA4,0x48,0xC3,0x0D,0x12,0x40,0xF4,0x10,0xB5,0x60,0xF4,0x08,0xB3,0x3E,0x34,0x40,0x9D,0xC0,0xF7,0x80,0x34,0x6C,0xEA,0x8D,
+0xEA,0x40,0xDD,0x7F,0x6A,0x4C,0xE9,0x25,0xC5,0xFE,0x11,0x1A,0x94,0x20,0xF4,0x10,0xB3,0x43,0xA4,0x4E,0xC3,0x44,0xA4,0x4F,0xC3,0x45,0xA4,0x50,0xC3,0xF4,0x11,0x1A,0x94,0x00,0xF4,0x1C,0xB3,0x43,0xA4,0x51,0xC3,0x44,0xA4,0x52,0xC3,0x45,0xA4,0x53,0xC3,0xEA,0x11,0x00,0xF4,0x0C,0xB6,0xFF,0x6C,0xA4,0x67,0x69,0xA6,0x6C,0xED,0x0A,0x75,0x40,0x61,0x4C,0xA6,0x00,0x6F,0x8C,0xEA,0x0A,0x72,0x14,0x60,0x22,0x67,0x44,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32,0x00,0xF4,0x04,0xB3,0x2B,0xE2,0x48,0x32,0x69,0xE2,0x20,0xF0,0x58,0xA2,0x05,0x6F,0x8C,0xEA,0x04,0x72,0x03,0x60,0x0A,0x6A,0x00,0x6F,0x4C,0xC6,0x4D,0xA6,0x08,0x72,0x6A,0x60,0x22,0x67,0x50,0x32,0x29,0xE2,0xF8,0xB4,0x48,0x32,0x2B,0xE2,0x48,0x32,0x89,0xE2,0x20,0xF1,0x4F,0xA2,0x01,0x6B,0x05,0x6F,0x6C,0xEA,0x05,0x22,0x00,0xF1,0x52,0xAC,0x47,0xE9,0x6C,0xEA,0x57,0x2A,0x08,0x6A,0x00,0x6F,0x4D,0xC6,0x53,0x10,0xEF,0xB0,0x7F,0x4D,0x6E,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E,0x00,0x18,0x2E,0x2E,0x15,0xD7,0xFF,0xF7,0x38,0xC0,0x25,0x10,0x4B,0x43,0x8C,0xEA,0x03,0x5A,0x23,0x60,0xE5,0xB5,0x04,0x6F,0x00,0x69,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF0,0x58,0xA2,0x8C,0xEA,0x04,0x72,0xDF,0x60,0x01,0x49,0x8C,0xE9,0x0A,0x59,0xEF,0x61,0x2D,0x10,0xDC,0xB0,0x60,0xF1,0x02,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E,0x00,0x18,0x2E,0x2E,0x15,0xD7,0xFF,0xF7,0x39,0xC0,0x15,0x97,0x1F,0x10,0x48,0x43,0x8C,0xEA,0x02,0x5A,0xE5,0x67,0x1A,0x60,0xD2,0xB5,0x04,0x6F,0x00,0x69,0x01,0x6E,0xFF,0xF7,0x1F,0x68,0x30,0x32,0x29,0xE2,0x48,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF1,0x4F,0xA2,0xCC,0xEA,0x06,0x22,0x00,0xF1,0x52,0xAD,0x0C,0xEA,0x47,0xE9,0xCC,0xEA,0xD7,0x2A,0x01,0x49,0x8C,0xE9,0x08,0x59,0xEC,0x61,0xBC,0xB2,0x4A,0xA2,0x0C,0xD2,0x0C,0x93,0xE0,0x32,0x4D,0xEB,0x0C,0xD3,0x77,0x10,0xC3,0xB2,0x20,0xF0,0x7C,0xA2,0x0C,0xD3,0x20,0xF0,0x7D,0xA2,0x0C,0x94,0x20,0xF0,0x5E,0xA2,0x60,0x33,0x6D,0xEC,0x85,0x10,0xBD,0xB2,0x20,0xF0,0x7F,0xA2,0x0C,0xD3,0x40,0xF0,0x60,0xA2,0x0C,0x94,0x40,0xF0,0x41,0xA2,0x60,0x33,0x6D,0xEC,0x79,0x10,0x1A,0x93,0x43,0xA3,0x62,0xAB,0x60,0x33,
+0x6D,0xEA,0xB5,0xB3,0x41,0xDB,0x34,0x11,0x1A,0x94,0xA7,0xB3,0x43,0xA4,0x54,0xC3,0x44,0xA4,0x55,0xC3,0x45,0xA4,0x56,0xC3,0x2B,0x11,0x1A,0x94,0xA3,0xB3,0x43,0xA4,0x57,0xC3,0x44,0xA4,0x58,0xC3,0x45,0xA4,0x59,0xC3,0x22,0x11,0x4F,0x41,0xFF,0x6B,0x6C,0xEA,0x09,0x5A,0x00,0xF1,0x04,0x60,0x5C,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x79,0x6A,0x4B,0xEA,0x4C,0xEE,0x2C,0x33,0x78,0x6A,0x4C,0xEB,0x5C,0x6C,0x01,0x6D,0x6D,0xEE,0xD6,0x10,0x93,0xB2,0x92,0xAA,0x69,0x9A,0x0C,0xD4,0x9E,0xB4,0x07,0x10,0x90,0xB2,0x69,0x9A,0x62,0x34,0x82,0x34,0x0C,0xD4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x69,0xDA,0x02,0x6A,0x3C,0x10,0x8B,0xB2,0x96,0xAA,0x6B,0x9A,0x0C,0xD4,0x96,0xB4,0x07,0x10,0x88,0xB2,0x6B,0x9A,0x62,0x34,0x82,0x34,0x0C,0xD4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x6B,0xDA,0xEE,0x17,0x78,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x0C,0xD2,0x0E,0xD3,0xE2,0x10,0x76,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xD2,0x02,0x6C,0x0E,0xD4,0xDA,0x10,0x77,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xD2,0xD8,0x17,0x78,0xB2,0x74,0xA2,0x0C,0xD3,0x75,0xA2,0x0C,0x94,0x56,0xA2,0x60,0x33,0x6D,0xEC,0x08,0x10,0x73,0xB2,0x77,0xA2,0x0C,0xD3,0x78,0xA2,0x0C,0x94,0x59,0xA2,0x60,0x33,0x6D,0xEC,0x40,0x32,0x40,0x32,0x4D,0xEC,0x0C,0xD4,0x03,0x6A,0x0E,0xD2,0xBC,0x10,0x1A,0x93,0x79,0xB1,0x43,0xA3,0x44,0x33,0x4D,0xE3,0x6C,0x33,0x4D,0xE3,0x40,0x99,0x68,0x30,0x4F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x91,0x67,0x0E,0x20,0x00,0x18,0x40,0xA4,0x00,0x65,0x72,0xB6,0x00,0x6F,0x01,0x6C,0xB1,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD7,0x80,0x99,0x00,0x18,0x0C,0x1E,0xB0,0x67,0x6D,0xB2,0x00,0xCA,0x9C,0x10,0x1A,0x94,0x66,0xB2,0x63,0xA4,0x80,0xF1,0x61,0xC2,0x96,0x10,0x1A,0x94,0x00,0x6B,0x43,0xA4,0x01,0x22,0x01,0x6B,0x61,0xB2,0x80,0xF1,0x71,0xC2,0x8D,0x10,0x05,0x59,0x00,0x6A,0x78,0x67,0x12,0xD2,0x70,0x23,0x1A,0x94,0x42,0xA4,0x02,0xAC,0x0C,0x72,0x05,0x61,0x5B,0xB2,0x01,0x6F,0x41,0x9A,0x12,0xD2,0x03,0x10,0x12,0x97,0x03,0x6A,0x0E,0xD2,0x7A,0x23,0x00,0xF0,0x12,0x0A,0x24,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x0B,0x00,0x29,0x00,0x83,0x00,0xA5,0x00,0xAF,0x00,0x06,
+0x27,0x12,0x96,0x3F,0x6A,0x90,0x67,0x4C,0xEC,0x00,0x6D,0x31,0x10,0x3F,0x6A,0x90,0x67,0x4C,0xEC,0x00,0x18,0xEB,0x9F,0xA7,0x67,0x0C,0xD2,0x5E,0x10,0x02,0x31,0x01,0x6B,0x6C,0xE9,0x09,0x21,0xA3,0x67,0x40,0x6C,0xD1,0x67,0x14,0xD3,0x00,0x18,0x01,0xA0,0x15,0xD7,0x15,0x97,0x14,0x93,0x0C,0x27,0x7F,0x6A,0x4C,0xE8,0x07,0x34,0x40,0x6A,0x12,0x96,0x4D,0xEC,0xFF,0x6A,0x4C,0xEC,0x00,0x18,0x01,0xA0,0xA3,0x67,0x0B,0x10,0x7F,0x6A,0x4C,0xE8,0x07,0x34,0x40,0x6A,0x4D,0xEC,0xFF,0x6A,0x4C,0xEC,0x00,0x18,0xEB,0x9F,0xA3,0x67,0x0C,0xD2,0x38,0x21,0x40,0x6C,0x01,0x6D,0x00,0x6E,0x00,0x18,0x01,0xA0,0x00,0x65,0x31,0x10,0x01,0x6A,0x0C,0xEA,0x03,0x22,0x03,0x6B,0x0D,0xD3,0x2B,0x10,0x08,0x27,0x12,0x95,0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x00,0x18,0x9A,0x33,0x4C,0xED,0x22,0x10,0x30,0xB2,0x12,0x10,0x01,0x6A,0x0C,0xEA,0x05,0x2A,0x2E,0xB2,0x06,0x10,0x01,0x6A,0x0C,0xEA,0x02,0x22,0x03,0x6A,0x15,0x10,0x2C,0xB2,0x06,0x27,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x49,0xE0,0x60,0xCA,0x0E,0x10,0x49,0xE0,0x40,0xAA,0xFF,0xF7,0x1F,0x6C,0x4C,0xEC,0x0C,0xD4,0x07,0x10,0x01,0x6A,0x4C,0xE9,0x24,0xB2,0x20,0xC2,0x02,0x10,0x02,0x6A,0x0D,0xD2,0x0E,0x93,0x0D,0x94,0x70,0x32,0x4D,0xEC,0x1A,0x92,0x83,0xC2,0x1A,0x93,0x1A,0x94,0x41,0xA3,0x10,0x6B,0x6B,0xEB,0x6C,0xEA,0x41,0xC4,0x1A,0x92,0x0C,0x96,0x02,0x6C,0x00,0x18,0x2C,0x2B,0xA0,0x9A,0x18,0x97,0x17,0x91,0x16,0x90,0x00,0xEF,0x0D,0x63,0x00,0x00,0xD2,0x04,0x11,0x80,0xCC,0xA0,0x11,0x80,0xF0,0xA5,0x10,0x80,0xFF,0xFF,0x03,0xFE,0xFF,0xFF,0xFF,0x8F,0x1F,0x00,0xFC,0xFF,0xE8,0xDF,0x10,0x80,0xFC,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0x7F,0x48,0x60,0x11,0x80,0x58,0x46,0x11,0x80,0xE0,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0xFC,0xA0,0x11,0x80,0x00,0x00,0xFF,0xFF,0x88,0x07,0x11,0x80,0x01,0x91,0x02,0x80,0x08,0xA1,0x11,0x80,0x00,0x00,0x00,0xB6,0x00,0xA0,0x00,0xB0,0x00,0x10,0x00,0xB6,0x1C,0xA1,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x44,0xAC,0x24,0x67,0x01,0x72,0x55,0x61,0x00,0x9C,0x5D,0x67,0xFA,0x6D,0x20,0xF0,0x08,0xC2,0x02,0x6A,0x04,0xD2,0x45,0xB2,0x06,0xD0,0xE4,0xF4,0x03,0x6E,0x05,0xD2,0x41,0x9C,0xC1,0xF4,0x1C,0x6F,0x04,0x6C,0x20,0x18,0x1B,0x32,
+0x07,0xD2,0x3F,0x6A,0x4C,0xE8,0x20,0x70,0x0A,0x61,0x62,0xA1,0xFF,0x6A,0x4C,0xEB,0x06,0x2B,0x3C,0xB2,0x60,0xDA,0x3C,0xB2,0x60,0xDA,0x01,0x6A,0x42,0xC1,0x7D,0x67,0x20,0xF0,0x68,0xA3,0x3F,0x6A,0x6C,0xEA,0x24,0x72,0x03,0x67,0x24,0x61,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x00,0x1C,0xDD,0x31,0x50,0xCB,0x00,0x18,0xFE,0x4F,0x02,0x67,0x00,0x6D,0x9D,0x67,0x20,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0x2F,0xB3,0x40,0x99,0x6C,0xEA,0x2F,0xB3,0x6E,0xEA,0x06,0x2A,0x80,0x18,0x6B,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0xA0,0x99,0x02,0x6C,0x00,0x18,0x2C,0x2B,0x00,0x6E,0x00,0x1C,0xE5,0x31,0x90,0x67,0x3E,0x10,0xFF,0x6A,0x4C,0xE8,0x30,0x70,0x04,0x61,0x80,0x18,0x07,0x30,0x91,0x67,0x36,0x10,0x44,0xA9,0x02,0x72,0x30,0x61,0x21,0xB2,0x00,0xA2,0x2D,0x28,0x40,0x99,0x04,0xF0,0x0F,0x6B,0x6C,0xEA,0x6A,0xEA,0x0B,0x61,0x1E,0xB2,0xFF,0xF7,0x1F,0x6B,0x40,0xAA,0x6C,0xEA,0x40,0x32,0x40,0x32,0x00,0xF2,0x0F,0x6B,0x6D,0xEA,0x40,0xD9,0x02,0x6A,0x04,0xD2,0x11,0xB2,0x05,0x6C,0xFA,0x6D,0x05,0xD2,0x40,0x99,0x24,0xF5,0x13,0x6E,0xC1,0xF4,0x1D,0x6F,0x06,0xD2,0x41,0x99,0x20,0x18,0x1B,0x32,0x07,0xD2,0x11,0xB2,0xFF,0x6B,0x40,0xA2,0x6C,0xEA,0x07,0x22,0x40,0x99,0x6C,0xEA,0x30,0x72,0x03,0x60,0x0E,0xB2,0x00,0xDA,0x03,0x10,0x00,0x18,0xF4,0x2C,0x91,0x67,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0xF0,0xA5,0x10,0x80,0x14,0xE0,0x10,0x80,0x38,0x91,0x10,0x80,0x00,0x00,0xFF,0x00,0x00,0x00,0x01,0x00,0x98,0x00,0x11,0x80,0x04,0x09,0x11,0x80,0x1C,0xA1,0x11,0x80,0x94,0x00,0x11,0x80,0xFD,0x63,0x04,0x62,0x00,0x18,0x23,0xEA,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x80,0xAC,0x00,0x6A,0xC0,0xB3,0x11,0xD4,0xA0,0xA5,0x1B,0xD2,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x8B,0xE2,0x48,0x32,0x69,0xE2,0x19,0xD2,0x12,0xD5,0xE0,0xF0,0x6C,0xA2,0x18,0xD3,0xA0,0xF0,0x9A,0xAA,0x19,0x93,0x13,0xD4,0xA0,0xF0,0x58,0xAA,0x19,0x94,0x14,0xD2,0xA0,0xF0,0x7C,0xAB,0x19,0x92,0x15,0xD3,0x7D,0x67,0x60,0xF0,0x6C,0xA3,0xC0,0xF0,0x80,0xAC,0x16,0xD4,0xC0,0xF2,0x74,0xC2,0x9D,0x67,0xE0,0xF0,0x13,0xA2,0x60,0xF0,0x8C,0xA4,0xE0,0xF0,0x28,0xA2,0xC0,0xF2,0x95,
+0xC2,0xB1,0x67,0x00,0x18,0x7B,0xBB,0x90,0x67,0x17,0xD2,0x17,0x93,0x48,0x32,0x1C,0xD2,0x69,0xE2,0xA6,0xB3,0x44,0x32,0x69,0xE2,0x1A,0xD2,0x19,0x92,0xE0,0xF0,0xA8,0xA2,0x00,0x18,0xC3,0x34,0x90,0x67,0x12,0x93,0x0E,0x23,0x18,0x94,0x01,0x74,0x0B,0x61,0x1A,0x92,0x03,0xF4,0x00,0x6C,0x18,0xF0,0x00,0x6D,0xC3,0xAA,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x8D,0x93,0x4C,0xEE,0x14,0x93,0x05,0x23,0x19,0x94,0x00,0xF2,0x57,0xA4,0x01,0x72,0x15,0x60,0x03,0x6A,0x04,0xD2,0x95,0xB2,0x19,0x93,0x12,0x94,0x05,0xD2,0x14,0x92,0xFA,0x6D,0x64,0xF6,0x09,0x6E,0x06,0xD2,0x00,0xF2,0x57,0xA3,0x64,0xF4,0x18,0x6F,0x08,0xD4,0x04,0x6C,0x20,0x18,0x1B,0x32,0x07,0xD2,0x0C,0x11,0x00,0x1C,0xDD,0x31,0x00,0x65,0x9D,0x67,0x40,0x4C,0xB1,0x67,0x00,0x18,0x3B,0x94,0x1B,0xD2,0x10,0x92,0x88,0xB6,0x46,0x32,0x01,0x4A,0xCC,0xEA,0x10,0xD2,0x19,0x92,0xC0,0xF2,0xEE,0xAA,0x07,0x2F,0x12,0x93,0x01,0x73,0x04,0x61,0x00,0x1C,0xE5,0x31,0x1B,0x94,0xF2,0x10,0x10,0x95,0x08,0x25,0x14,0x94,0x06,0x24,0x9B,0xED,0x01,0x2C,0xE5,0xE8,0x10,0xEA,0x00,0x65,0x01,0x10,0x00,0x6A,0x14,0x93,0xFF,0xF7,0x1F,0x6C,0x4B,0xE3,0x13,0x93,0x8C,0xEA,0x65,0xE2,0x14,0x92,0x23,0xEA,0x01,0x60,0x47,0xE1,0x12,0x93,0x01,0x73,0x18,0x61,0x19,0x92,0xEC,0xEC,0xA0,0xF2,0x74,0x9A,0x14,0xD4,0xCC,0xEB,0x73,0xE5,0xA3,0xEB,0x44,0x67,0x02,0x61,0x6F,0xB2,0x49,0xE4,0x14,0x94,0x9A,0xEA,0x01,0x2C,0xE5,0xE8,0x12,0xE9,0x41,0x41,0x00,0x65,0x98,0xEA,0x12,0xEA,0x65,0xE2,0xA7,0xE1,0xCC,0xE9,0x19,0x94,0xFF,0x6B,0x14,0x35,0xE0,0xF0,0x48,0xA4,0x6C,0xED,0x02,0x6C,0x6C,0xEA,0x40,0x32,0x4C,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0x10,0x92,0x2D,0xE2,0x1D,0xD3,0x08,0x59,0x06,0x60,0x1D,0x94,0x14,0x93,0x71,0xE4,0x65,0xE1,0x1D,0xD4,0xF8,0x17,0x1D,0x94,0x43,0xE4,0x00,0x18,0xC4,0x36,0x04,0x30,0x41,0xE0,0x19,0x92,0x4E,0x6C,0x13,0xDA,0x00,0x18,0x9A,0x33,0x14,0x95,0x1D,0x95,0xFF,0xF7,0x1F,0x6B,0x48,0x6C,0x00,0x18,0x9A,0x33,0x6C,0xED,0x18,0x94,0x03,0x2C,0x16,0x95,0x15,0x90,0x07,0x10,0x15,0x92,0x16,0x93,0xFF,0xF7,0x1F,0x6C,0x00,0x6D,0x61,0xE2,0x8C,0xE8,0x00,0x18,0x9A,0x33,0x4C,0x6C,0x4A,0x6C,0x00,0x18,0x9A,0x33,0xB0,0x67,
+0x00,0x6C,0x00,0x18,0x9A,0x33,0x07,0x6D,0x12,0x92,0x0D,0x2A,0x18,0x93,0x01,0x73,0x0A,0x61,0x17,0x94,0x44,0xB2,0x7D,0x67,0x40,0xF0,0x68,0xA3,0x49,0xE4,0x60,0xC2,0x42,0xB2,0x49,0xE4,0x60,0xC2,0x1B,0x94,0x00,0x1C,0xE5,0x31,0x02,0x49,0x00,0x18,0x4E,0x05,0x00,0x65,0x01,0xF0,0x00,0x6D,0x00,0x18,0x78,0xBA,0x5E,0x6C,0x12,0x92,0x21,0x2A,0x18,0x93,0x01,0x73,0x0D,0x61,0x1A,0x92,0x18,0xF0,0x00,0x6C,0x03,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93,0xC3,0xAA,0x19,0x93,0x20,0x6A,0x00,0xF2,0x55,0xC3,0x11,0x10,0x51,0x59,0x07,0x61,0x11,0x95,0xFF,0xF7,0x1F,0x6A,0x91,0x67,0x00,0x18,0x3A,0x96,0x4C,0xEC,0x1A,0x92,0x18,0xF0,0x00,0x6C,0x01,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93,0xC3,0xAA,0x18,0x93,0x14,0x2B,0x12,0x94,0x12,0x24,0x51,0x59,0x10,0x61,0x11,0x95,0xFF,0xF7,0x1F,0x68,0x91,0x67,0x00,0x18,0x3A,0x96,0x0C,0xEC,0x1A,0x92,0x01,0xF4,0x00,0x6C,0x18,0xF0,0x00,0x6D,0xC3,0xAA,0x00,0x18,0x8D,0x93,0x0C,0xEE,0x2B,0x6A,0x7D,0x67,0x58,0xCB,0x14,0x94,0x1D,0xB2,0xFD,0x67,0x0A,0xD4,0x80,0x9A,0x00,0x6D,0x04,0x06,0x34,0x4F,0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x0A,0x95,0x0B,0x96,0x00,0x18,0x40,0x1E,0x0C,0x97,0x17,0x92,0x0F,0x22,0x1C,0x93,0x13,0xB2,0x49,0xE3,0x00,0x6B,0xFF,0xF7,0x7C,0xDA,0x1C,0x94,0x11,0xB2,0x49,0xE4,0xFF,0xF7,0x7C,0xDA,0x10,0xB2,0x49,0xE4,0xFF,0xF7,0x7C,0xDA,0x20,0x97,0x1F,0x91,0x1E,0x90,0x01,0x6A,0x00,0xEF,0x11,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x70,0x45,0x11,0x80,0xF0,0xA5,0x10,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x08,0x48,0x06,0x11,0x80,0x3C,0x06,0x11,0x80,0x68,0x52,0x11,0x80,0x18,0x07,0x11,0x80,0xE8,0x06,0x11,0x80,0xB8,0x06,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0xC0,0xAC,0xFF,0xF7,0x1F,0x6A,0xFF,0x6F,0x4C,0xEE,0xEC,0xEE,0x4C,0xED,0x0A,0x65,0xCC,0x32,0xC9,0xE2,0x48,0x32,0x4D,0xB3,0xCB,0xE2,0x48,0x32,0x71,0xE2,0x29,0xA4,0xFF,0xF7,0x1F,0x75,0xEC,0xE9,0x4E,0x61,0x58,0xA4,0xEC,0xEA,0x01,0x72,0x42,0x61,0x47,0xB2,0x49,0xE1,0x40,0xA2,0xEC,0xEA,0x3D,0x2A,0x46,0xB2,0x01,0x6B,0x80,0x9A,0x40,0xF6,0x82,0x32,0x6C,0xEA,0x36,0x22,0xC4,0x30,0xC9,0xE0,0x42,0xB3,0x48,0x32,0xCB,0xE2,0x48,0x32,0x7D,
+0xE2,0xB3,0xAF,0x48,0x67,0x80,0xF6,0x82,0x34,0xAC,0xEA,0x0A,0x65,0x03,0x6A,0x4C,0xEC,0x2B,0x65,0x02,0x6A,0x88,0x33,0x44,0xEB,0x68,0x67,0x42,0xEB,0x04,0x60,0x03,0x24,0x41,0x45,0x53,0xCF,0x1C,0x10,0xC9,0xE0,0x48,0x32,0xCB,0xE2,0x48,0x32,0x69,0x67,0x61,0xE2,0x20,0xF0,0x48,0xA0,0x0E,0x2A,0x33,0xB2,0xFF,0xF7,0x1F,0x6B,0xA3,0x67,0x40,0xAA,0xE0,0xF1,0x0E,0x6C,0x4C,0xED,0x08,0xF0,0x00,0x6A,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6C,0xED,0x00,0x6A,0x53,0xC8,0x01,0x6A,0x20,0xF0,0x48,0xC0,0x2A,0xB2,0x00,0x6B,0x49,0xE1,0x60,0xC2,0x24,0xB2,0x49,0xE1,0x60,0xC2,0x3B,0x10,0x1F,0xF7,0x00,0x6A,0xAC,0xEA,0xEC,0xED,0x0C,0x22,0x24,0xB2,0x01,0x6B,0x49,0xE1,0x60,0xC2,0x1E,0xB2,0x03,0x25,0x49,0xE1,0x60,0xC2,0x0B,0x10,0x49,0xE1,0xA0,0xC2,0x08,0x10,0x07,0x25,0x19,0xB2,0x4D,0xE1,0x40,0xA3,0xEC,0xEA,0x02,0x2A,0x01,0x6A,0x40,0xC3,0x58,0xA4,0xFF,0x6D,0x01,0x72,0x1E,0x61,0x14,0xB2,0x49,0xE1,0x40,0xA2,0xAC,0xEA,0x01,0x72,0x18,0x61,0xC4,0x32,0xC9,0xE2,0x48,0x32,0x11,0xB3,0xCB,0xE2,0x48,0x32,0x61,0xE2,0x20,0xF0,0x48,0xA0,0xAC,0xEA,0x09,0x22,0x0E,0xB2,0xF7,0xF7,0x1F,0x6D,0xE0,0xF1,0x0E,0x6C,0x40,0xAA,0x00,0x18,0x9A,0x33,0x4C,0xED,0x00,0x6A,0x53,0xC8,0x20,0xF0,0x48,0xC0,0x06,0x97,0x05,0x91,0x04,0x90,0x01,0x6A,0x00,0xEF,0x04,0x63,0x00,0x00,0x4C,0x7D,0x11,0x80,0xCC,0x05,0x11,0x80,0x00,0x46,0x11,0x80,0x98,0x5F,0x11,0x80,0xEE,0x01,0x00,0xB6,0xD4,0x05,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x00,0xA4,0x24,0xB3,0x04,0x31,0x09,0xE1,0x48,0x32,0x0B,0xE2,0x48,0x32,0x71,0xE2,0x20,0xF0,0x44,0xA4,0x02,0x72,0x20,0x61,0x1F,0xB2,0x01,0x6B,0x40,0x9A,0x40,0xF6,0x42,0x32,0x6C,0xEA,0x0E,0x22,0x20,0xF0,0x48,0xA4,0xFF,0x6B,0x6C,0xEA,0x09,0x22,0x1A,0xB2,0xF7,0xF7,0x1F,0x6D,0xE0,0xF1,0x0E,0x6C,0x40,0xAA,0x00,0x18,0x9A,0x33,0x4C,0xED,0x09,0xE1,0x13,0xB3,0x48,0x32,0x0B,0xE2,0x48,0x32,0x69,0xE2,0x00,0x6B,0x73,0xCA,0x20,0xF0,0x68,0xC2,0x16,0x10,0x39,0x6A,0x7D,0x67,0x50,0xCB,0x10,0xB2,0xFD,0x67,0x06,0xD0,0x80,0x9A,0x00,0x6D,0x04,0x06,0x24,0x4F,0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18,0x40,0x1E,0x08,0x97,
+0x0E,0x97,0x0D,0x91,0x0C,0x90,0x01,0x6A,0x00,0xEF,0x08,0x63,0x98,0x5F,0x11,0x80,0x00,0x46,0x11,0x80,0xEE,0x01,0x00,0xB6,0x28,0x45,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0xC0,0xA4,0xFF,0x6B,0x34,0xB2,0x6C,0xEE,0xC4,0x34,0x2A,0x65,0xC9,0xE4,0x48,0x32,0xCB,0xE2,0x48,0x32,0x0C,0x65,0x89,0x67,0x9D,0xE2,0x20,0xF0,0x44,0xA7,0x6C,0xED,0x6C,0xEA,0x02,0x72,0x04,0x60,0x20,0xF0,0x43,0xA7,0x6C,0xEA,0x35,0x2A,0x2B,0xB2,0x01,0x6B,0x00,0x9A,0x40,0xF6,0x02,0x32,0x6C,0xEA,0x45,0x22,0x02,0x75,0x43,0x61,0x03,0x6A,0x80,0xF6,0x02,0x35,0x4C,0xED,0x33,0xAF,0xA8,0x33,0x02,0x6A,0x44,0xEB,0x42,0xE9,0x04,0x60,0x03,0x25,0x41,0x41,0x53,0xCF,0x35,0x10,0x68,0x67,0xC9,0xE3,0x48,0x32,0xCB,0xE2,0x48,0x32,0x89,0x67,0x81,0xE2,0x20,0xF0,0x48,0xA0,0x0E,0x2A,0x1B,0xB2,0xFF,0xF7,0x1F,0x6B,0xA3,0x67,0x40,0xAA,0xE0,0xF1,0x0E,0x6C,0x4C,0xED,0x08,0xF0,0x00,0x6A,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6C,0xED,0x00,0x6A,0x53,0xC8,0x01,0x6A,0x20,0xF0,0x48,0xC0,0x17,0x10,0x3A,0x6A,0x7D,0x67,0x50,0xCB,0x11,0xB2,0xFD,0x67,0x06,0xD6,0x80,0x9A,0x07,0xD5,0x04,0x06,0x00,0x6D,0x24,0x4F,0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18,0x40,0x1E,0x08,0x97,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x01,0x6A,0x00,0xEF,0x08,0x63,0x00,0x00,0x98,0x5F,0x11,0x80,0x00,0x46,0x11,0x80,0xEE,0x01,0x00,0xB6,0x28,0x45,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x6A,0x8C,0xEA,0x04,0xD2,0x04,0x93,0x01,0x69,0x44,0xE9,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x20,0xB3,0x48,0x32,0x0D,0xD5,0x69,0xE2,0x05,0xD2,0x00,0x68,0x20,0x18,0xE4,0x06,0x90,0x67,0x01,0x48,0xFF,0x6B,0x6C,0xE8,0x45,0xE1,0x04,0x58,0x6C,0xE9,0xF6,0x61,0x05,0x94,0x44,0x41,0xA0,0xF0,0x88,0xAC,0x98,0xEA,0x17,0xB2,0x06,0xD4,0x60,0xF1,0x42,0xA2,0x6C,0xEA,0x02,0x5A,0x12,0xE9,0x00,0x65,0x06,0x61,0x40,0xF1,0x00,0x59,0x06,0x60,0xFF,0x69,0x41,0x49,0x03,0x10,0xEE,0x59,0x01,0x60,0xEE,0x69,0x00,0x1C,0xDD,0x31,0x00,0x65,0x05,0x93,0x02,0x67,0x26,0x32,0xA0,0xF0,0x48,0xCB,0x04,0x94,0x00,0x18,0x2A,0xFF,0x0D,0x95,0x9D,0x67,0x4C,0xAC,0x05,0x94,0xA0,0xF0,0x48,
+0xCC,0x00,0x1C,0xE5,0x31,0x90,0x67,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x5D,0x67,0x03,0x46,0x10,0xD4,0x26,0x67,0x13,0xD7,0x06,0x04,0x40,0xF0,0xA4,0xCA,0x06,0x6E,0x00,0x18,0x2E,0x2E,0xB0,0x67,0x69,0xA1,0x9D,0x67,0x09,0xD3,0x40,0xF0,0x64,0xAC,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x4D,0xB3,0x48,0x32,0x69,0xE2,0x0A,0xD2,0x20,0xF0,0x58,0xA2,0x0D,0x72,0x3D,0x60,0x0E,0x52,0x03,0x60,0x06,0x72,0x04,0x60,0x7F,0x10,0x1B,0x72,0x36,0x60,0x7C,0x10,0x13,0x93,0x01,0x6A,0x00,0x6D,0x40,0xC3,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x0A,0x94,0x00,0x18,0xFD,0x1D,0x28,0x4C,0x09,0x93,0x9D,0x67,0x40,0xF0,0x44,0xAC,0x01,0x73,0x14,0x60,0xFF,0xF7,0x1F,0x6C,0x20,0x18,0x7C,0x2F,0x4C,0xEC,0x62,0x67,0x0A,0x92,0xE0,0xF0,0x9F,0xA2,0xFF,0x6A,0x4C,0xEC,0x20,0x6A,0x4C,0xEC,0x01,0x2C,0x64,0x67,0x01,0x73,0x7D,0x67,0x40,0xF0,0x44,0xAB,0x06,0x60,0xFF,0xF7,0x1F,0x6C,0x00,0x18,0xAD,0xE1,0x4C,0xEC,0x52,0x10,0xFF,0xF7,0x1F,0x6C,0x4C,0xEC,0x80,0x18,0x2C,0x34,0x06,0x05,0x4B,0x10,0x00,0x6C,0x40,0x6B,0x1F,0x6A,0x66,0xC0,0x00,0xF0,0x47,0xC8,0x8C,0xC1,0x6A,0xC0,0x27,0xB3,0x00,0xF0,0x4B,0xC8,0x10,0x6A,0x90,0xC1,0x8F,0xC0,0x4E,0xC0,0x50,0xAB,0xBD,0x67,0xDD,0x67,0x50,0xC0,0x50,0xAB,0xE0,0x6B,0x44,0x4D,0x42,0x32,0x54,0xC1,0x20,0xB2,0x92,0xC0,0x20,0x4E,0x41,0xA2,0x91,0x67,0x01,0x6F,0x48,0x32,0x6C,0xEA,0x56,0x32,0xC0,0xF3,0x00,0x6B,0x6D,0xEA,0x00,0xF0,0x53,0xC8,0x13,0x93,0x01,0x6A,0x00,0x18,0x37,0x40,0x40,0xC3,0x02,0x67,0x16,0x22,0x5D,0x67,0x40,0xF0,0x84,0xAA,0xFF,0xF7,0x1F,0x6B,0x00,0x18,0xAE,0x5D,0x6C,0xEC,0x0A,0x94,0x0A,0x96,0x00,0x6F,0x60,0xF2,0xBC,0xAC,0x7F,0x4E,0x04,0xD2,0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x4C,0xED,0x00,0x18,0x6F,0x4E,0x6E,0x4E,0x10,0x93,0x00,0x6C,0x80,0xC3,0x07,0x10,0x10,0x93,0x0C,0x6A,0x40,0xC3,0x03,0x10,0x10,0x94,0x00,0x6A,0x40,0xC4,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xC0,0x5B,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x00,0x1C,0xDD,0x31,
+0x00,0x65,0x02,0x67,0x0F,0xB2,0x0F,0xB3,0x40,0x9A,0x6E,0xEA,0x00,0x6B,0x02,0x2A,0x0E,0xB2,0x60,0x9A,0x0E,0xB5,0x62,0x33,0x62,0x33,0x40,0x9D,0xFF,0xF7,0x1F,0x6C,0x60,0x33,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x40,0xDD,0x00,0x18,0xFE,0x25,0x00,0x6C,0x00,0x1C,0xE5,0x31,0x90,0x67,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x48,0x91,0x10,0x80,0x30,0x00,0x00,0xB5,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x2C,0xB5,0x01,0x68,0xFF,0x6E,0x40,0xF1,0x5E,0xA5,0x0C,0xEA,0x4A,0x22,0x2A,0xB2,0x00,0x6F,0xFF,0xF7,0x1F,0x6C,0x60,0xAA,0x02,0xF0,0x00,0x6A,0x6C,0xEA,0x25,0x2A,0x60,0xF1,0x42,0xA5,0xCC,0xEA,0x05,0x2A,0x01,0x10,0x00,0x6F,0x23,0xB2,0xE0,0xCA,0x2E,0x10,0x06,0x67,0x22,0xB1,0x23,0xB6,0x67,0x67,0xA4,0x67,0x64,0x34,0x69,0xE4,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x48,0x32,0x29,0xE2,0xE0,0xF0,0x4B,0xA2,0x0C,0xEA,0x01,0x72,0x05,0x61,0xC9,0xE4,0x40,0xAA,0xAC,0xEA,0x02,0x5A,0xE5,0x61,0x01,0x4B,0xAC,0xEB,0x0A,0x5B,0xEA,0x61,0x12,0x10,0x14,0xB2,0x60,0xAA,0x01,0x4B,0x60,0xCA,0x4F,0xAD,0x8C,0xEB,0x8C,0xEA,0x4A,0x32,0x8C,0xEA,0x43,0xEB,0x07,0x61,0x4D,0xAD,0x8C,0xEA,0x4A,0x32,0x8C,0xEA,0x43,0xEB,0x01,0x61,0xF0,0x67,0x09,0x27,0x00,0x18,0xB7,0xB5,0x00,0x65,0x00,0x18,0x31,0xBE,0x00,0x65,0x07,0xB2,0x00,0x6B,0x60,0xCA,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0x6A,0x00,0xEF,0x04,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0xE0,0x00,0x00,0xB6,0xC8,0xA0,0x11,0x80,0x48,0x60,0x11,0x80,0x10,0x06,0x11,0x80,0xFD,0x63,0x04,0x62,0x44,0xAC,0x04,0x72,0x0F,0x61,0x0A,0xB2,0x00,0x6B,0x00,0x18,0x3B,0x2B,0x60,0xC2,0x08,0xB6,0x00,0x6B,0x0A,0x6D,0xFF,0x6C,0xC9,0xE3,0x01,0x4B,0x8C,0xEB,0x04,0x5B,0xA0,0xC2,0xFA,0x61,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0xFE,0x08,0x11,0x80,0xB4,0x5B,0x11,0x80,0xFD,0x63,0x04,0x62,0x80,0x18,0x91,0x2B,0x00,0x65,0x0E,0xB2,0x00,0x6B,0x0F,0xB4,0x60,0xCA,0x0D,0xB2,0x02,0xF0,0x00,0x6D,0x04,0x97,0x60,0xC2,0x0C,0xB2,0x01,0xF0,0x00,0x6B,0xA0,0xF0,0x72,0xCC,0x6C,0xCA,0xAE,0xCA,0x80,0xF0,0x43,0xA4,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xA0,0xF0,0xB6,0xCC,0x80,0xF0,0x43,0xC4,0x00,0xEF,0x03,0x63,0xC8,0xA0,0x11,0x80,0xCA,
+0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0x48,0x5C,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x44,0xAC,0xC9,0x72,0x24,0x61,0x00,0x1C,0xDD,0x31,0x00,0x65,0x15,0xB1,0x04,0xD2,0x60,0xF1,0x54,0xA1,0x40,0xF1,0x9E,0xA1,0x04,0x99,0x05,0xD2,0x80,0x6A,0x44,0xD9,0x55,0x6A,0x60,0xF1,0x54,0xC1,0x00,0x18,0xEB,0xA4,0x00,0x65,0x60,0xF1,0x54,0xA1,0x04,0xD9,0x55,0x72,0x04,0x60,0x00,0x18,0x31,0xBE,0x00,0x65,0x04,0x10,0x5D,0x67,0x54,0xA2,0x60,0xF1,0x54,0xC1,0x00,0x1C,0xE5,0x31,0x04,0x94,0x03,0x10,0x00,0x18,0x2F,0xB9,0x00,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0xFD,0x63,0x04,0x62,0x00,0x18,0x24,0xB4,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0x0D,0xB2,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x43,0xA2,0x01,0x6D,0xAC,0xEA,0x10,0x22,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x07,0xB3,0x48,0x32,0x69,0xE2,0x60,0xF2,0x4D,0xA2,0xAA,0xEA,0x03,0x61,0x45,0x67,0x20,0xE8,0xA0,0xC4,0x20,0xE8,0x00,0x6A,0x00,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0xC4,0x67,0xFF,0xF7,0x1F,0x6D,0xAC,0xEE,0xFF,0x76,0x68,0x60,0xC4,0x32,0xC9,0xE2,0x4C,0x32,0xCB,0xE2,0x35,0xB3,0x4C,0x32,0xCB,0xE2,0x48,0x32,0x65,0xE2,0xC0,0xF0,0x74,0xA9,0x40,0x6F,0xAC,0xEB,0x6C,0xEF,0x25,0x27,0x04,0x6A,0x6C,0xEA,0x08,0x22,0xE0,0xF0,0x8D,0x41,0x00,0xF1,0xA7,0x41,0x00,0x18,0x47,0x43,0x0A,0xD6,0x0A,0x96,0x7D,0x67,0x01,0x6A,0x58,0xC3,0x86,0x67,0x00,0x6A,0x03,0x6E,0xBD,0x67,0x5A,0xC3,0x00,0x68,0x00,0xF2,0x4A,0xC1,0x18,0x4D,0x64,0x6A,0xE6,0x67,0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD0,0x02,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67,0x6F,0x99,0x4D,0xEB,0x6F,0xD9,0x2D,0x10,0xE0,0xF0,0x4C,0xA1,0xFF,0x6C,0x01,0x72,0x1C,0xB2,0x15,0x61,0x43,0xA2,0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x58,0xA1,0x8C,0xEA,0x1F,0x2A,0x33,0x6A,0x7D,0x67,0xBD,0x67,0x58,0xC3,0x86,0x67,0x64,0x6A,0x18,0x4D,0x02,0x6E,0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD7,0x12,0x10,0x43,0xA2,0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x57,0xA1,0x8C,0xEA,0x0A,0x2A,0x60,0xF2,0x4D,0xA1,0x8C,0xEA,0x01,0x72,0x05,0x61,0x9D,0x67,0x20,0x4C,0x80,0x18,0x3D,0x35,
+0xA6,0x67,0xC0,0xF0,0x54,0xA9,0x07,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC9,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x00,0x46,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0xF7,0x1F,0x6F,0xAC,0xEF,0xE4,0x32,0xE9,0xE2,0x4C,0x32,0xEB,0xE2,0x38,0xB3,0x4C,0x32,0xEB,0xE2,0x48,0x32,0x65,0xE2,0xC0,0xF0,0x54,0xA9,0xFF,0xF7,0x1F,0x6B,0xC4,0x67,0x6C,0xEA,0x02,0x6B,0x6C,0xEA,0x09,0x2A,0xC4,0xA4,0x01,0x6A,0x87,0x67,0x28,0x6D,0x4C,0xEE,0x20,0x18,0x9B,0x27,0x24,0x6F,0x52,0x10,0xF0,0xF0,0x0F,0x41,0xA5,0x46,0x90,0x67,0x08,0x6E,0x00,0x18,0x2E,0x2E,0x04,0xD7,0x29,0xB2,0x01,0x6D,0xFF,0x6E,0x60,0xA2,0x28,0xB2,0x04,0x97,0x83,0xA2,0xAC,0xEC,0x0E,0x24,0xC0,0xF2,0x56,0xA1,0xCC,0xEA,0x03,0x2A,0xC0,0xF2,0xB6,0xC1,0x0C,0x10,0x60,0xF2,0xBC,0xA9,0xFF,0xF7,0x1F,0x6A,0x00,0x6C,0x4C,0xED,0x29,0x10,0x20,0xF0,0x58,0xA1,0xCC,0xEA,0x03,0x72,0x1F,0x61,0x00,0xF1,0x46,0x81,0x00,0x52,0x17,0x60,0x7E,0x32,0x15,0x22,0xC0,0xF0,0x54,0xA9,0x04,0x68,0x03,0x6E,0x0D,0xEA,0x87,0x67,0xC0,0xF0,0x54,0xC9,0x00,0xF1,0xAF,0xC1,0x00,0x18,0x2D,0xE2,0xE6,0x67,0x7F,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67,0x6F,0x99,0x4D,0xEB,0x6F,0xD9,0x13,0x10,0x80,0x18,0x4C,0x35,0x87,0x67,0x0F,0x10,0x60,0xF2,0xBC,0xA9,0xFF,0xF7,0x1F,0x6B,0x6C,0xED,0x00,0x18,0xF8,0x4E,0xD0,0x67,0xC0,0xF0,0x54,0xA9,0x03,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC9,0x08,0x97,0x07,0x91,0x06,0x90,0x01,0x6A,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xC0,0x5B,0x11,0x80,0x00,0x46,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x69,0xAC,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x38,0xB3,0x4C,0x32,0x2B,0xE2,0x48,0x32,0x0C,0xD4,0x61,0xE2,0xC0,0xF0,0x54,0xA8,0x66,0xA4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEA,0x04,0x6E,0xCC,0xEA,0x06,0x22,0x00,0xF1,0x4F,0xA0,0xFF,0x6D,0xAC,0xEA,0x6E,0xEA,0x0D,0x22,0x0C,0x92,0xFF,0x6C,0x7F,0x6D,0xE4,0xA2,0x24,0x6A,0x04,0xD2,0x8C,0xEF,0x01,0x6A,0x91,0x67,0x00,0x18,0xEF,0xE1,0x4C,0xEF,0x47,0x10,0x02,0x5B,0x0B,0x60,0x0C,0x95,0x6C,0x34,0x11,0xE4,0xE0,0xF0,0x1F,0x4C,0x08,0x4D,0x08,0x6E,0x00,0x18,0x2E,0x2E,0x06,0xD3,0x06,
+0x93,0x21,0xB2,0x01,0x6D,0x83,0xA2,0xAC,0xEC,0x15,0x24,0xC0,0xF2,0x57,0xA0,0xFF,0x6C,0x8C,0xEA,0x07,0x2A,0x80,0x18,0x4C,0x35,0x91,0x67,0x01,0x6D,0xC0,0xF2,0xB7,0xC0,0x29,0x10,0x1A,0xB2,0x60,0xF2,0xBC,0xA8,0x00,0x6C,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0x11,0x10,0x20,0xF0,0x58,0xA0,0xFF,0x6D,0xAC,0xEA,0x03,0x72,0x04,0x61,0x00,0x18,0xA5,0xFF,0x91,0x67,0x16,0x10,0x10,0xB2,0x60,0xF2,0xBC,0xA8,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0xFF,0x6A,0xC3,0x67,0x00,0x18,0x8A,0x41,0x4C,0xEF,0xC0,0xF0,0x54,0xA8,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC8,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x00,0x46,0x11,0x80,0xC0,0x5B,0x11,0x80,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x64,0xAC,0xC4,0x67,0x24,0x73,0x22,0x61,0xB2,0xB2,0x60,0xF1,0x50,0xA2,0x1E,0x22,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x40,0xF0,0x58,0xCB,0x00,0x1C,0xDD,0x31,0x00,0x65,0x00,0x18,0xFE,0x4F,0x02,0x67,0x00,0x6D,0x9D,0x67,0xC5,0x67,0x80,0x18,0x95,0x2B,0x58,0x4C,0x80,0x18,0x6B,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x20,0x18,0x10,0x2F,0x00,0x65,0x00,0x1C,0xE5,0x31,0x90,0x67,0x3C,0x11,0xFF,0xF7,0x1F,0x69,0x51,0x67,0x6C,0xEA,0x9C,0x72,0x1D,0x61,0x00,0x9E,0xFF,0x6F,0x44,0xA0,0x46,0x32,0x2C,0xEA,0x18,0x72,0x16,0x61,0xBA,0xA0,0x99,0xA0,0xDD,0x67,0xEC,0xED,0xEC,0xEC,0x00,0x18,0x1A,0xDF,0x5A,0x4E,0x06,0x2A,0xBD,0x67,0x40,0xF0,0x9A,0xAD,0x20,0x18,0x62,0x23,0x2C,0xEC,0x20,0x18,0xCF,0x06,0x90,0x67,0x93,0xB2,0xB0,0x67,0x80,0x9A,0x12,0x11,0xFF,0xF7,0x1F,0x6C,0x44,0x67,0x6C,0xEA,0x93,0x72,0x29,0x61,0x00,0x9E,0x44,0xA0,0x46,0x32,0x11,0x72,0x07,0x60,0x7F,0x72,0x22,0x61,0x45,0xA0,0xFF,0x6B,0x6C,0xEA,0x17,0x72,0x1D,0x61,0x6B,0xA8,0x8C,0xEB,0xFF,0x73,0x19,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x84,0xB3,0x48,0x32,0x69,0xE2,0xBF,0x9A,0x82,0x67,0x00,0x18,0xB2,0x69,0x1C,0xD6,0x01,0x72,0x64,0xA0,0x1C,0x96,0x03,0x61,0x01,0x6A,0x6D,0xEA,0x03,0x10,0x02,0x6A,0x4B,0xEA,0x6C,0xEA,0x44,0xC0,0x44,0xAE,0xFF,0xF7,0x1F,0x6C,0x93,0x72,0xE0,0xF0,0x01,0x61,0x40,0x9E,0x18,0xD2,0x18,0x95,
+0x64,0xA2,0xFF,0x6A,0xA5,0xA5,0x22,0x67,0x6C,0xE9,0x4C,0xED,0x18,0x92,0x19,0xD5,0x26,0x31,0x4B,0xAA,0x8C,0xE9,0x7F,0x71,0x8C,0xEA,0x1A,0xD2,0x02,0x61,0x04,0x75,0x07,0x60,0x28,0x71,0x05,0x60,0x2D,0x71,0x03,0x60,0x2E,0x71,0xC0,0xF0,0x06,0x61,0xFF,0x68,0xC1,0x9E,0x50,0x67,0x6C,0xEA,0x18,0x93,0x46,0x31,0xA6,0x67,0x9D,0x67,0xDA,0xC3,0x0C,0xE9,0x5C,0x4C,0x0C,0xED,0x00,0x18,0x3B,0x94,0x1C,0xD6,0x7F,0x71,0x58,0x67,0x1B,0xD2,0x1C,0x96,0x04,0x22,0xE1,0xF4,0x03,0x6F,0x00,0x6B,0x05,0x10,0x18,0x94,0x01,0xF4,0x16,0x6F,0x65,0xA4,0x0C,0xEB,0x10,0x6A,0x04,0xD2,0x5B,0xB2,0x18,0x95,0x08,0xD3,0x05,0xD2,0x17,0x92,0x07,0xD1,0x01,0x6B,0x06,0xD2,0x59,0xA5,0x0A,0xD6,0x04,0x6C,0x09,0xD2,0x44,0xA5,0x6C,0xEA,0x0B,0xD2,0x4B,0xAD,0x0C,0xD2,0x54,0xB2,0x49,0xE6,0x44,0xA2,0x82,0xF6,0x17,0x6E,0x6C,0xEA,0x0D,0xD2,0x44,0xA5,0x0E,0xD2,0x45,0xA5,0x0F,0xD2,0x46,0xA5,0x10,0xD2,0x47,0xA5,0x11,0xD2,0x48,0xA5,0x12,0xD2,0x49,0xA5,0x13,0xD2,0x4A,0xA5,0x14,0xD2,0x4B,0xA5,0xFA,0x6D,0x20,0x18,0x1B,0x32,0x15,0xD2,0x1A,0x92,0xFF,0x72,0x72,0x60,0x1A,0x93,0x44,0x32,0xFF,0x6C,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x3F,0xB3,0x48,0x32,0x61,0xE2,0xE0,0xF0,0x4B,0xA0,0x8C,0xEA,0x01,0x72,0x62,0x61,0x20,0xF0,0x58,0xA0,0xFF,0x6D,0xAC,0xEA,0x0B,0x72,0x13,0x61,0x37,0xB2,0x18,0x95,0x00,0x18,0xE0,0x1D,0x80,0x9A,0x00,0xF2,0x54,0xA0,0xFF,0x6B,0x6C,0xEA,0x01,0x72,0x5B,0x61,0x8D,0x98,0x00,0x18,0x1A,0x1E,0x00,0x6D,0x00,0x6A,0x00,0xF2,0x54,0xC0,0x53,0x10,0x1A,0x94,0x00,0x18,0x5E,0xDE,0x18,0x95,0x1B,0x94,0x08,0x2C,0x19,0x95,0x04,0x75,0x05,0x61,0x18,0x94,0x80,0x18,0xCA,0x35,0x1A,0x95,0x3B,0x10,0x28,0x71,0x05,0x61,0x18,0x94,0x80,0x18,0x8A,0x35,0x1A,0x95,0x34,0x10,0x2D,0x71,0x15,0x61,0x20,0xF0,0x58,0xA0,0x03,0x72,0x2E,0x60,0x05,0x72,0x2C,0x60,0x06,0x72,0x2A,0x60,0x07,0x72,0x28,0x60,0x08,0x72,0x26,0x60,0x09,0x72,0x24,0x60,0x0A,0x72,0x22,0x60,0x18,0x94,0x00,0x18,0x35,0xFC,0x1A,0x95,0x1D,0x10,0x2E,0x71,0x1B,0x61,0x20,0xF0,0x58,0xA0,0x03,0x72,0x0C,0x60,0x05,0x72,0x0A,0x60,0x06,0x72,0x08,0x60,0x07,0x72,0x06,0x60,0x08,0x72,0x04,0x60,0x09,0x72,0x02,0x60,0x0A,0x72,0x07,
+0x61,0x1A,0x94,0x2E,0x6D,0x02,0x6E,0x20,0x18,0x9B,0x27,0x24,0x6F,0x04,0x10,0x18,0x94,0x00,0x18,0x0B,0xFC,0x1A,0x95,0x09,0xB2,0x18,0x95,0x80,0x9A,0x00,0x18,0xE0,0x1D,0x00,0x65,0x03,0x10,0x20,0x18,0xFA,0x24,0x86,0x67,0x20,0x97,0x1F,0x91,0x1E,0x90,0x00,0xEF,0x11,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x64,0x52,0x11,0x80,0x48,0x60,0x11,0x80,0xF0,0xA5,0x10,0x80,0x04,0x46,0x11,0x80,0xFF,0x63,0x00,0xD0,0x0F,0xB0,0xFF,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x6B,0xE2,0x67,0xFF,0x6E,0x64,0x32,0x69,0xE2,0x48,0x32,0x6B,0xE2,0x48,0x32,0x15,0xE2,0x43,0xAD,0xEC,0xEA,0x8E,0xEA,0x05,0x2A,0x42,0x9D,0x08,0x72,0x02,0x61,0x00,0x6A,0x05,0x10,0x01,0x4B,0xCC,0xEB,0x03,0x5B,0xED,0x61,0x01,0x6A,0x00,0x90,0x20,0xE8,0x01,0x63,0x98,0x5F,0x11,0x80,0xFD,0x63,0x04,0x62,0x16,0xB2,0x00,0x6B,0x60,0xF1,0x43,0xA2,0x01,0x72,0x14,0x61,0x14,0xB6,0x83,0x67,0xFF,0x6D,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x8B,0xE2,0x48,0x32,0xC9,0xE2,0xE0,0xF0,0x4B,0xA2,0xAC,0xEA,0x01,0x72,0x0D,0x60,0x01,0x4C,0xAC,0xEC,0x0A,0x5C,0xEF,0x61,0x09,0xB2,0x60,0xF1,0x43,0xA2,0x02,0x5A,0x02,0x60,0x43,0x67,0x07,0x23,0x0C,0x6A,0x05,0x10,0x80,0x18,0xC5,0x36,0x00,0x65,0x62,0x67,0xF2,0x17,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x48,0x60,0x11,0x80,0xF9,0x63,0x0C,0x62,0x0B,0xD1,0x0A,0xD0,0x00,0x6A,0x0F,0xD5,0x06,0xD2,0x40,0xAC,0x24,0x67,0x01,0xF0,0x0B,0x72,0x0C,0x61,0xBD,0x67,0x80,0x18,0x0D,0x2C,0x10,0x4D,0x80,0xA9,0xFF,0xF7,0x1F,0x6B,0xA2,0x67,0x00,0x18,0xC5,0x4A,0x6C,0xEC,0xAC,0x10,0x00,0xF4,0x19,0x72,0x2C,0x61,0x49,0xA4,0x03,0x5A,0x02,0x61,0x01,0x6A,0x49,0xC4,0x7D,0x67,0x58,0xA3,0x00,0x1C,0xDD,0x31,0x52,0xC3,0xBD,0x67,0x91,0x67,0x12,0x4D,0x00,0x18,0xB7,0x45,0x07,0xD2,0x02,0x67,0x0C,0x2A,0xA9,0xA1,0xFF,0x6B,0x20,0x6A,0x6C,0xED,0xB8,0x35,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0xAA,0x6C,0x00,0x18,0xB6,0x33,0x4C,0xED,0x00,0x1C,0xE5,0x31,0x07,0x94,0x7D,0x67,0x52,0xA3,0xFF,0x6B,0x6C,0xEA,0x61,0x2A,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0xB0,0x67,0x4C,0xEC,0x58,0x10,0x00,0xF4,0x05,0x72,0x06,0x61,0x4B,0xA4,0x03,0x5A,0x79,0x61,0x01,0x6A,0x4B,0xC4,0x76,0x10,0x41,0xF4,0x12,0x72,
+0x10,0x61,0x00,0x18,0xE5,0x41,0x00,0x65,0x06,0x94,0x00,0x18,0x78,0x36,0x02,0x67,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x18,0x33,0x4B,0xB0,0x67,0x3F,0x10,0x01,0xF0,0x04,0x72,0x3F,0x61,0x04,0xA4,0xFF,0xF7,0x1F,0x6A,0xFF,0xF7,0x1F,0x6B,0x00,0x30,0x4C,0xE8,0x43,0xA4,0xBD,0x67,0x14,0x4D,0x4D,0xE8,0x6C,0xE8,0x00,0x18,0x2A,0xDF,0x90,0x67,0x04,0x22,0x5D,0x67,0x0A,0xCA,0x02,0x6A,0x23,0x10,0x7D,0x67,0xAA,0xAB,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x27,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF0,0x78,0xA2,0xFF,0x6A,0x4C,0xEB,0x12,0x73,0x0A,0x60,0x19,0x73,0x08,0x60,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0x0C,0x6D,0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x2E,0x10,0xFF,0xF7,0x1F,0x6C,0x00,0x18,0x0C,0x48,0xAC,0xEC,0x80,0xA9,0xA2,0x67,0x00,0x18,0xC5,0x4A,0x00,0x65,0x01,0x6B,0x06,0xD3,0x21,0x10,0x21,0xF4,0x06,0x72,0x1E,0x61,0x80,0x18,0xD6,0x36,0x00,0x65,0x10,0x2A,0x14,0xB0,0x7D,0x67,0x78,0xA3,0x60,0xF1,0x43,0xA0,0x91,0x67,0x60,0xF1,0x63,0xC0,0x00,0x18,0xFC,0x52,0x08,0xD2,0x7D,0x67,0x20,0xF0,0x60,0xA3,0x60,0xF1,0x63,0xC0,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6B,0x6C,0xEC,0x00,0x18,0x33,0x4B,0xA2,0x67,0x01,0x6A,0x06,0xD2,0x06,0x92,0x03,0x22,0x0F,0x93,0x66,0x6A,0x40,0xC3,0x0C,0x97,0x0B,0x91,0x0A,0x90,0x01,0x6A,0x00,0xEF,0x07,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF5,0x63,0x14,0x62,0x13,0xD1,0x12,0xD0,0x00,0x6D,0x17,0xF7,0x0C,0x6E,0x00,0x18,0x01,0xA0,0x33,0x6C,0x61,0xB4,0x20,0x18,0xD6,0x32,0x00,0x69,0x20,0x18,0x5B,0x30,0x00,0x65,0x00,0x18,0xA6,0x5C,0x00,0x65,0x00,0x18,0xC8,0x8A,0x00,0x65,0x00,0x18,0xA3,0x9B,0x00,0x65,0x5A,0xB4,0x00,0x18,0x44,0x81,0x00,0x65,0x59,0xB0,0x00,0x18,0x4C,0x81,0x90,0x67,0x87,0x40,0x00,0x18,0x4C,0x81,0x01,0x4C,0x56,0xB4,0x57,0xB5,0x20,0xC0,0x00,0x18,0x2E,0x2E,0x30,0x6E,0x55,0xB5,0x88,0x40,0xD8,0x4C,0x00,0x18,0x2E,0x2E,0x30,0x6E,0x53,0xB5,0x87,0x40,0x11,0x4C,0x00,0x18,0x2E,0x2E,0x18,0x6E,0x51,0xB0,0x03,0x6B,0x40,0x98,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x6A,0xEA,0x05,0x60,0x4E,0xB2,0x20,0xF1,0x2C,0xC2,0x20,0xF1,0x36,0xC2,0x00,0x18,0x04,0xF6,0x00,
+0x65,0x00,0x18,0x48,0x3C,0x00,0x65,0x00,0x18,0x71,0x32,0x00,0x65,0x00,0x18,0xE2,0x24,0x00,0x65,0x00,0x18,0x9A,0x7E,0x00,0x65,0x00,0x18,0xB5,0xC8,0x00,0x65,0x45,0xB3,0x43,0xB2,0x60,0xDA,0x00,0x18,0x0B,0x2B,0x00,0x65,0x40,0x98,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x03,0x72,0x05,0x61,0x9D,0x67,0x40,0x4C,0x00,0x18,0x1B,0x28,0x00,0x6D,0x00,0x18,0xE9,0x2F,0x00,0x65,0x80,0x18,0x54,0x2A,0x00,0x65,0x20,0x18,0xA2,0x39,0x00,0x65,0x80,0x18,0x08,0x2A,0x00,0x65,0x00,0x1C,0xAD,0x31,0x00,0x65,0x29,0xF6,0x00,0x6D,0x00,0x18,0x17,0x2D,0x01,0x6C,0x09,0x6A,0x04,0xD2,0x32,0xB2,0x2F,0xB3,0x01,0x6C,0x05,0xD2,0x9B,0xF4,0x0D,0x6A,0x06,0xD2,0x32,0xF0,0x0E,0x6A,0x07,0xD2,0x2E,0xB2,0xFA,0x6D,0x8A,0xF2,0x01,0x6E,0x40,0x9A,0xA1,0xF3,0x16,0x6F,0x08,0xD2,0x40,0xF0,0x41,0xA3,0x09,0xD2,0x40,0xF0,0x40,0xA3,0x0A,0xD2,0x20,0xF0,0x5F,0xA3,0x0B,0xD2,0x20,0xF0,0x5E,0xA3,0x0C,0xD2,0x20,0xF0,0x5D,0xA3,0x0D,0xD2,0x20,0xF0,0x5C,0xA3,0x20,0x18,0x1B,0x32,0x0E,0xD2,0x21,0xB2,0x22,0xB3,0x40,0x9A,0x6E,0xEA,0x19,0x2A,0x21,0xB1,0x21,0xB3,0x40,0x99,0x6E,0xEA,0x14,0x2A,0x20,0xB0,0x21,0xB2,0x21,0xB3,0x80,0x98,0x8C,0xEA,0x6E,0xEA,0x0B,0x2A,0x20,0xB3,0x00,0xF6,0x82,0x32,0x00,0x6D,0x3F,0xF4,0x00,0x6C,0x00,0x18,0xFA,0x8B,0x40,0xC3,0x00,0x6A,0x40,0xD8,0x00,0x6A,0x40,0xD9,0x13,0xB3,0x12,0xB2,0x20,0x18,0x3D,0x36,0x60,0xDA,0x14,0x97,0x13,0x91,0x12,0x90,0x00,0xEF,0x0B,0x63,0x84,0xC8,0x00,0x80,0x03,0x00,0x00,0xC4,0x98,0x24,0x11,0x80,0x38,0x24,0x11,0x80,0x58,0xDF,0x10,0x80,0xA0,0xDF,0x10,0x80,0x88,0xDF,0x10,0x80,0x6C,0x1D,0x11,0x80,0xDC,0x00,0x11,0x80,0x5C,0xA1,0x00,0xB0,0x00,0x00,0x01,0x00,0xF0,0xA5,0x10,0x80,0x90,0x1E,0x11,0x80,0x3C,0x91,0x10,0x80,0xEF,0xBE,0x23,0x87,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x40,0x91,0x10,0x80,0xFF,0xFF,0xFF,0x00,0xEE,0xFF,0xC0,0x00,0xD0,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x2E,0x5A,0x2C,0x4B,0xCF,0x9D,0xF2,0xCB,0x74,0x9C,0x13,0xCE,0x57,0xF4,0x4C,0x54,0x48,0xA9,0xD3,0x53,0xC5,0x19,0x73,0x6F,0xF7,0xEB,0x68,0x53,0xCC,0xAE,0x50,0xF1,0x57,0x02,0xE2,0x66,0xA3,0x5C,0xBC,0xD3,0xB7,0xA6,0x2F,0xC9,0xAE,0xDC,0x77,0x9E,0x07,0x91,0x5F,0x86,0x91,0x8D,
+0xDC,0x27,0x00,0x5D,0xF1,0xD6,0xCF,0x0C,0x14,0x2B,0x62,0x5E,0xD2,0xEF,0xF4,0xA5,0x18,0xFF,0x15,0x20,0x70,0x09,0x98,0x44,0x21,0xA6,0x58,0x6F,0x9F,0xC3,0xFE,0x7E,0x43,0x29,0xD2,0x80,0x9E,0xA5,0x11,0x25,0xF8,0xED,0xB0,0x9D,0x42,0xB8,0x1B,0xC5,0xBD,0x00,0x9F,0x79,0xE4,0xB5,0x9D,0xBB,0xAA,0x85,0x7F,0xCA,0x85,0x6F,0xB9,0xF7,0xEA,0x25,0x07,0x04,0x05,0x01,0x00,0x00,0x00,0x00,0x02,0x01,0x00,0x02,0x04,0x00,0x00,0x00,0x01,0x03,0x02,0x04,0x00,0x00,0x00,0x00,0x1B,0x00,0xB7,0x00,0x53,0x01,0x36,0x00,0x6F,0x01,0xA7,0x02,0x53,0x00,0x28,0x02,0xFD,0x03,0x25,0x00,0x04,0x0B,0x0F,0x04,0x0A,0x0E,0x08,0x0B,0x0F,0x00,0x00,0x00,0x05,0x41,0x32,0x12,0x00,0x00,0x00,0x00,0x8D,0xDC,0x2E,0x90,
+};
+
+#endif //CONFIG_MP_INCLUDED
+#ifndef CONFIG_PHY_SETTING_WITH_ODM
+const u32 Rtl8723SPHY_REG_2TArray[Rtl8723SPHY_REG_2TArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SPHY_REG_1TArray[Rtl8723SPHY_REG_1TArrayLength] = {
+0x800,0x80040000,
+0x804,0x00000003,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10005388,
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66f60110,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x32323200,
+0x870,0x07000760,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xa78,0x00000900,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x7116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00080740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+const u32 Rtl8723SPHY_ChangeTo_1T1RArray[Rtl8723SPHY_ChangeTo_1T1RArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SPHY_ChangeTo_1T2RArray[Rtl8723SPHY_ChangeTo_1T2RArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SPHY_ChangeTo_2T2RArray[Rtl8723SPHY_ChangeTo_2T2RArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SRadioA_2TArray[Rtl8723SRadioA_2TArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SRadioB_2TArray[Rtl8723SRadioB_2TArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SRadioA_1TArray[Rtl8723SRadioA_1TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00039c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001a3f1,
+0x00b,0x00014787,
+0x00c,0x000896fe,
+0x00d,0x0000e02c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00030355,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0000024f,
+0x01f,0x00000000,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x00057730,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f474,
+0x015,0x0004f477,
+0x015,0x0008f474,
+0x015,0x000cf474,
+0x016,0x00000339,
+0x016,0x00040339,
+0x016,0x00080339,
+0x016,0x000c0366,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00000003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00000247,
+0x01f,0x00000000,
+0x000,0x00030159,
+};
+
+const u32 Rtl8723SRadioB_1TArray[Rtl8723SRadioB_1TArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SRadioB_GM_Array[Rtl8723SRadioB_GM_ArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SMAC_2T_Array[Rtl8723SMAC_2T_ArrayLength] = {
+0x420,0x00000080,
+0x423,0x00000000,
+0x430,0x00000000,
+0x431,0x00000000,
+0x432,0x00000000,
+0x433,0x00000001,
+0x434,0x00000004,
+0x435,0x00000005,
+0x436,0x00000006,
+0x437,0x00000007,
+0x438,0x00000000,
+0x439,0x00000000,
+0x43a,0x00000000,
+0x43b,0x00000001,
+0x43c,0x00000004,
+0x43d,0x00000005,
+0x43e,0x00000006,
+0x43f,0x00000007,
+0x440,0x0000005d,
+0x441,0x00000001,
+0x442,0x00000000,
+0x444,0x00000015,
+0x445,0x000000f0,
+0x446,0x0000000f,
+0x447,0x00000000,
+0x458,0x00000041,
+0x459,0x000000a8,
+0x45a,0x00000072,
+0x45b,0x000000b9,
+0x460,0x00000066,
+0x461,0x00000066,
+0x462,0x00000008,
+0x463,0x00000003,
+0x4c8,0x000000ff,
+0x4c9,0x00000008,
+0x4cc,0x000000ff,
+0x4cd,0x000000ff,
+0x4ce,0x00000001,
+0x500,0x00000026,
+0x501,0x000000a2,
+0x502,0x0000002f,
+0x503,0x00000000,
+0x504,0x00000028,
+0x505,0x000000a3,
+0x506,0x0000005e,
+0x507,0x00000000,
+0x508,0x0000002b,
+0x509,0x000000a4,
+0x50a,0x0000005e,
+0x50b,0x00000000,
+0x50c,0x0000004f,
+0x50d,0x000000a4,
+0x50e,0x00000000,
+0x50f,0x00000000,
+0x512,0x0000001c,
+0x514,0x0000000a,
+0x515,0x00000010,
+0x516,0x0000000a,
+0x517,0x00000010,
+0x51a,0x00000016,
+0x524,0x0000000f,
+0x525,0x0000004f,
+0x546,0x00000040,
+0x547,0x00000000,
+0x550,0x00000010,
+0x551,0x00000010,
+0x559,0x00000002,
+0x55a,0x00000002,
+0x55d,0x000000ff,
+0x605,0x00000030,
+0x608,0x0000000e,
+0x609,0x0000002a,
+0x652,0x00000020,
+0x63c,0x0000000a,
+0x63d,0x0000000e,
+0x63e,0x0000000a,
+0x63f,0x0000000e,
+0x66e,0x00000005,
+0x700,0x00000021,
+0x701,0x00000043,
+0x702,0x00000065,
+0x703,0x00000087,
+0x708,0x00000021,
+0x709,0x00000043,
+0x70a,0x00000065,
+0x70b,0x00000087,
+};
+
+const u32 Rtl8723SAGCTAB_2TArray[Rtl8723SAGCTAB_2TArrayLength] = {
+0x0, };
+
+const u32 Rtl8723SAGCTAB_1TArray[Rtl8723SAGCTAB_1TArrayLength] = {
+0xc78,0x7b000001,
+0xc78,0x7b010001,
+0xc78,0x7b020001,
+0xc78,0x7b030001,
+0xc78,0x7b040001,
+0xc78,0x7b050001,
+0xc78,0x7a060001,
+0xc78,0x79070001,
+0xc78,0x78080001,
+0xc78,0x77090001,
+0xc78,0x760a0001,
+0xc78,0x750b0001,
+0xc78,0x740c0001,
+0xc78,0x730d0001,
+0xc78,0x720e0001,
+0xc78,0x710f0001,
+0xc78,0x70100001,
+0xc78,0x6f110001,
+0xc78,0x6e120001,
+0xc78,0x6d130001,
+0xc78,0x6c140001,
+0xc78,0x6b150001,
+0xc78,0x6a160001,
+0xc78,0x69170001,
+0xc78,0x68180001,
+0xc78,0x67190001,
+0xc78,0x661a0001,
+0xc78,0x651b0001,
+0xc78,0x641c0001,
+0xc78,0x631d0001,
+0xc78,0x621e0001,
+0xc78,0x611f0001,
+0xc78,0x60200001,
+0xc78,0x49210001,
+0xc78,0x48220001,
+0xc78,0x47230001,
+0xc78,0x46240001,
+0xc78,0x45250001,
+0xc78,0x44260001,
+0xc78,0x43270001,
+0xc78,0x42280001,
+0xc78,0x41290001,
+0xc78,0x402a0001,
+0xc78,0x262b0001,
+0xc78,0x252c0001,
+0xc78,0x242d0001,
+0xc78,0x232e0001,
+0xc78,0x222f0001,
+0xc78,0x21300001,
+0xc78,0x20310001,
+0xc78,0x06320001,
+0xc78,0x05330001,
+0xc78,0x04340001,
+0xc78,0x03350001,
+0xc78,0x02360001,
+0xc78,0x01370001,
+0xc78,0x00380001,
+0xc78,0x00390001,
+0xc78,0x003a0001,
+0xc78,0x003b0001,
+0xc78,0x003c0001,
+0xc78,0x003d0001,
+0xc78,0x003e0001,
+0xc78,0x003f0001,
+0xc78,0x7b400001,
+0xc78,0x7b410001,
+0xc78,0x7b420001,
+0xc78,0x7b430001,
+0xc78,0x7b440001,
+0xc78,0x7b450001,
+0xc78,0x7a460001,
+0xc78,0x79470001,
+0xc78,0x78480001,
+0xc78,0x77490001,
+0xc78,0x764a0001,
+0xc78,0x754b0001,
+0xc78,0x744c0001,
+0xc78,0x734d0001,
+0xc78,0x724e0001,
+0xc78,0x714f0001,
+0xc78,0x70500001,
+0xc78,0x6f510001,
+0xc78,0x6e520001,
+0xc78,0x6d530001,
+0xc78,0x6c540001,
+0xc78,0x6b550001,
+0xc78,0x6a560001,
+0xc78,0x69570001,
+0xc78,0x68580001,
+0xc78,0x67590001,
+0xc78,0x665a0001,
+0xc78,0x655b0001,
+0xc78,0x645c0001,
+0xc78,0x635d0001,
+0xc78,0x625e0001,
+0xc78,0x615f0001,
+0xc78,0x60600001,
+0xc78,0x49610001,
+0xc78,0x48620001,
+0xc78,0x47630001,
+0xc78,0x46640001,
+0xc78,0x45650001,
+0xc78,0x44660001,
+0xc78,0x43670001,
+0xc78,0x42680001,
+0xc78,0x41690001,
+0xc78,0x406a0001,
+0xc78,0x266b0001,
+0xc78,0x256c0001,
+0xc78,0x246d0001,
+0xc78,0x236e0001,
+0xc78,0x226f0001,
+0xc78,0x21700001,
+0xc78,0x20710001,
+0xc78,0x06720001,
+0xc78,0x05730001,
+0xc78,0x04740001,
+0xc78,0x03750001,
+0xc78,0x02760001,
+0xc78,0x01770001,
+0xc78,0x00780001,
+0xc78,0x00790001,
+0xc78,0x007a0001,
+0xc78,0x007b0001,
+0xc78,0x007c0001,
+0xc78,0x007d0001,
+0xc78,0x007e0001,
+0xc78,0x007f0001,
+0xc78,0x3800001e,
+0xc78,0x3801001e,
+0xc78,0x3802001e,
+0xc78,0x3803001e,
+0xc78,0x3804001e,
+0xc78,0x3805001e,
+0xc78,0x3806001e,
+0xc78,0x3807001e,
+0xc78,0x3808001e,
+0xc78,0x3c09001e,
+0xc78,0x3e0a001e,
+0xc78,0x400b001e,
+0xc78,0x440c001e,
+0xc78,0x480d001e,
+0xc78,0x4c0e001e,
+0xc78,0x500f001e,
+0xc78,0x5210001e,
+0xc78,0x5611001e,
+0xc78,0x5a12001e,
+0xc78,0x5e13001e,
+0xc78,0x6014001e,
+0xc78,0x6015001e,
+0xc78,0x6016001e,
+0xc78,0x6217001e,
+0xc78,0x6218001e,
+0xc78,0x6219001e,
+0xc78,0x621a001e,
+0xc78,0x621b001e,
+0xc78,0x621c001e,
+0xc78,0x621d001e,
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
+
+#endif//endif CONFIG_PHY_SETTING_ODM
+
+const u32 Rtl8723SPHY_REG_Array_PG[Rtl8723SPHY_REG_Array_PGLength] = {
+0xe00,0xffffffff,0x0a0c0c0c,
+0xe04,0xffffffff,0x02040608,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x0a0c0d0e,
+0xe14,0xffffffff,0x02040608,
+0xe18,0xffffffff,0x0a0c0d0e,
+0xe1c,0xffffffff,0x02040608,
+0x830,0xffffffff,0x0a0c0c0c,
+0x834,0xffffffff,0x02040608,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x0a0c0d0e,
+0x848,0xffffffff,0x02040608,
+0x84c,0xffffffff,0x0a0c0d0e,
+0x868,0xffffffff,0x02040608,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x06060606,
+0xe14,0xffffffff,0x00020406,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x06060606,
+0x848,0xffffffff,0x00020406,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+};
+
+const u32 Rtl8723SMACPHY_Array_PG[Rtl8723SMACPHY_Array_PGLength] = {
+0x0, };
+#if MP_DRIVER == 1
+const u32 Rtl8723SPHY_REG_Array_MP[Rtl8723SPHY_REG_Array_MPLength] = {
+0xc30,0x69e9ac4a,
+0xc3c,0x0a979718,
+};
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.h index e1d022f97d37..1adbefd4486d 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723SHWImg_CE.h @@ -1,67 +1,67 @@ -#ifndef __INC_HAL8723S_FW_IMG_H -#define __INC_HAL8723S_FW_IMG_H - -/*Created on 2013/02/26, 18:59*/ - -#define Rtl8723SUMCBCutMPImgArrayLength 24174 - -#define Rtl8723SUMCBCutImgArrayWithBTLength 24118 -#define Rtl8723SUMCBCutImgArrayWithoutBTLength 19200 - -#define Rtl8723SImgArrayLength 20606 -extern const u8 Rtl8723SFwImgArray[Rtl8723SImgArrayLength]; -#define Rtl8723SBTImgArrayLength 1 -extern const u8 Rtl8723SFwBTImgArray[Rtl8723SBTImgArrayLength]; - -#ifdef CONFIG_MP_INCLUDED -#define Rtl8723EBTImgArrayLength 15275 -extern u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] ; -extern const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength]; -#endif //CONFIG_MP_INCLUDED - -extern const u8 Rtl8723SFwUMCBCutImgArrayWithBT[Rtl8723SUMCBCutImgArrayWithBTLength]; -extern const u8 Rtl8723SFwUMCBCutImgArrayWithoutBT[Rtl8723SUMCBCutImgArrayWithoutBTLength]; - -#ifndef CONFIG_PHY_SETTING_WITH_ODM -#define Rtl8723SPHY_REG_2TArrayLength 1 -extern const u32 Rtl8723SPHY_REG_2TArray[Rtl8723SPHY_REG_2TArrayLength]; -#define Rtl8723SPHY_REG_1TArrayLength 372 -extern const u32 Rtl8723SPHY_REG_1TArray[Rtl8723SPHY_REG_1TArrayLength]; -#define Rtl8723SPHY_ChangeTo_1T1RArrayLength 1 -extern const u32 Rtl8723SPHY_ChangeTo_1T1RArray[Rtl8723SPHY_ChangeTo_1T1RArrayLength]; -#define Rtl8723SPHY_ChangeTo_1T2RArrayLength 1 -extern const u32 Rtl8723SPHY_ChangeTo_1T2RArray[Rtl8723SPHY_ChangeTo_1T2RArrayLength]; -#define Rtl8723SPHY_ChangeTo_2T2RArrayLength 1 -extern const u32 Rtl8723SPHY_ChangeTo_2T2RArray[Rtl8723SPHY_ChangeTo_2T2RArrayLength]; - - -#define Rtl8723SRadioA_2TArrayLength 1 -extern const u32 Rtl8723SRadioA_2TArray[Rtl8723SRadioA_2TArrayLength]; -#define Rtl8723SRadioB_2TArrayLength 1 -extern const u32 Rtl8723SRadioB_2TArray[Rtl8723SRadioB_2TArrayLength]; -#define Rtl8723SRadioA_1TArrayLength 282 -extern const u32 Rtl8723SRadioA_1TArray[Rtl8723SRadioA_1TArrayLength]; -#define Rtl8723SRadioB_1TArrayLength 1 -extern const u32 Rtl8723SRadioB_1TArray[Rtl8723SRadioB_1TArrayLength]; -#define Rtl8723SRadioB_GM_ArrayLength 1 -extern const u32 Rtl8723SRadioB_GM_Array[Rtl8723SRadioB_GM_ArrayLength]; -#define Rtl8723SMAC_2T_ArrayLength 172 -extern const u32 Rtl8723SMAC_2T_Array[Rtl8723SMAC_2T_ArrayLength]; -#define Rtl8723SAGCTAB_2TArrayLength 1 -extern const u32 Rtl8723SAGCTAB_2TArray[Rtl8723SAGCTAB_2TArrayLength]; -#define Rtl8723SAGCTAB_1TArrayLength 320 -extern const u32 Rtl8723SAGCTAB_1TArray[Rtl8723SAGCTAB_1TArrayLength]; -#endif//#ifndef CONFIG_PHY_SETTING_WITH_ODM - -#define Rtl8723SPHY_REG_Array_PGLength 336 -extern const u32 Rtl8723SPHY_REG_Array_PG[Rtl8723SPHY_REG_Array_PGLength]; -#define Rtl8723SMACPHY_Array_PGLength 1 -extern const u32 Rtl8723SMACPHY_Array_PG[Rtl8723SMACPHY_Array_PGLength]; - -#if MP_DRIVER == 1 -#define Rtl8723SPHY_REG_Array_MPLength 4 -extern const u32 Rtl8723SPHY_REG_Array_MP[Rtl8723SPHY_REG_Array_MPLength]; -#endif//#if MP_DRIVER == 1 - -#endif //#ifndef __INC_HAL8723S_FW_IMG_H - +#ifndef __INC_HAL8723S_FW_IMG_H
+#define __INC_HAL8723S_FW_IMG_H
+
+/*Created on 2013/02/26, 18:59*/
+
+#define Rtl8723SUMCBCutMPImgArrayLength 24174
+
+#define Rtl8723SUMCBCutImgArrayWithBTLength 24348
+#define Rtl8723SUMCBCutImgArrayWithoutBTLength 19200
+
+#define Rtl8723SImgArrayLength 20606
+extern const u8 Rtl8723SFwImgArray[Rtl8723SImgArrayLength];
+#define Rtl8723SBTImgArrayLength 1
+extern const u8 Rtl8723SFwBTImgArray[Rtl8723SBTImgArrayLength];
+
+#ifdef CONFIG_MP_INCLUDED
+#define Rtl8723EBTImgArrayLength 16404
+extern u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] ;
+extern const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength];
+#endif //CONFIG_MP_INCLUDED
+
+extern const u8 Rtl8723SFwUMCBCutImgArrayWithBT[Rtl8723SUMCBCutImgArrayWithBTLength];
+extern const u8 Rtl8723SFwUMCBCutImgArrayWithoutBT[Rtl8723SUMCBCutImgArrayWithoutBTLength];
+
+#ifndef CONFIG_PHY_SETTING_WITH_ODM
+#define Rtl8723SPHY_REG_2TArrayLength 1
+extern const u32 Rtl8723SPHY_REG_2TArray[Rtl8723SPHY_REG_2TArrayLength];
+#define Rtl8723SPHY_REG_1TArrayLength 372
+extern const u32 Rtl8723SPHY_REG_1TArray[Rtl8723SPHY_REG_1TArrayLength];
+#define Rtl8723SPHY_ChangeTo_1T1RArrayLength 1
+extern const u32 Rtl8723SPHY_ChangeTo_1T1RArray[Rtl8723SPHY_ChangeTo_1T1RArrayLength];
+#define Rtl8723SPHY_ChangeTo_1T2RArrayLength 1
+extern const u32 Rtl8723SPHY_ChangeTo_1T2RArray[Rtl8723SPHY_ChangeTo_1T2RArrayLength];
+#define Rtl8723SPHY_ChangeTo_2T2RArrayLength 1
+extern const u32 Rtl8723SPHY_ChangeTo_2T2RArray[Rtl8723SPHY_ChangeTo_2T2RArrayLength];
+
+
+#define Rtl8723SRadioA_2TArrayLength 1
+extern const u32 Rtl8723SRadioA_2TArray[Rtl8723SRadioA_2TArrayLength];
+#define Rtl8723SRadioB_2TArrayLength 1
+extern const u32 Rtl8723SRadioB_2TArray[Rtl8723SRadioB_2TArrayLength];
+#define Rtl8723SRadioA_1TArrayLength 282
+extern const u32 Rtl8723SRadioA_1TArray[Rtl8723SRadioA_1TArrayLength];
+#define Rtl8723SRadioB_1TArrayLength 1
+extern const u32 Rtl8723SRadioB_1TArray[Rtl8723SRadioB_1TArrayLength];
+#define Rtl8723SRadioB_GM_ArrayLength 1
+extern const u32 Rtl8723SRadioB_GM_Array[Rtl8723SRadioB_GM_ArrayLength];
+#define Rtl8723SMAC_2T_ArrayLength 172
+extern const u32 Rtl8723SMAC_2T_Array[Rtl8723SMAC_2T_ArrayLength];
+#define Rtl8723SAGCTAB_2TArrayLength 1
+extern const u32 Rtl8723SAGCTAB_2TArray[Rtl8723SAGCTAB_2TArrayLength];
+#define Rtl8723SAGCTAB_1TArrayLength 320
+extern const u32 Rtl8723SAGCTAB_1TArray[Rtl8723SAGCTAB_1TArrayLength];
+#endif//#ifndef CONFIG_PHY_SETTING_WITH_ODM
+
+#define Rtl8723SPHY_REG_Array_PGLength 336
+extern const u32 Rtl8723SPHY_REG_Array_PG[Rtl8723SPHY_REG_Array_PGLength];
+#define Rtl8723SMACPHY_Array_PGLength 1
+extern const u32 Rtl8723SMACPHY_Array_PG[Rtl8723SMACPHY_Array_PGLength];
+
+#if MP_DRIVER == 1
+#define Rtl8723SPHY_REG_Array_MPLength 4
+extern const u32 Rtl8723SPHY_REG_Array_MP[Rtl8723SPHY_REG_Array_MPLength];
+#endif//#if MP_DRIVER == 1
+
+#endif //#ifndef __INC_HAL8723S_FW_IMG_H
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.c index 18e69ede5a9f..9967bb8d60bb 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.c @@ -1,8018 +1,6746 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ - -/*Created on 2013/01/14, 15:51*/ -#include "../odm_precomp.h" - -u8 Rtl8723UFwImgArray[Rtl8723UImgArrayLength] = { -0x01,0x23,0x02,0x00,0x0e,0x00,0x00,0x00,0x01,0x13,0x16,0x18,0x7c,0x56,0x01,0x00, -0x54,0x89,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x02,0x44,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x02,0x58,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x02,0x60,0xec,0x00,0x00,0x00,0x00,0x00,0x02,0x61,0x93,0x00,0x00, -0x00,0x00,0x00,0x02,0x67,0x2b,0x05,0x04,0x03,0x02,0x00,0x03,0x06,0x05,0x04,0x03, -0x00,0x04,0x06,0x05,0x04,0x02,0x00,0x04,0x08,0x07,0x06,0x04,0x00,0x06,0x0a,0x09, -0x08,0x06,0x00,0x08,0x0a,0x09,0x08,0x04,0x00,0x08,0x0a,0x09,0x08,0x02,0x00,0x08, -0x0a,0x09,0x08,0x00,0x00,0x08,0x12,0x11,0x10,0x08,0x00,0x10,0x1a,0x19,0x18,0x10, -0x00,0x18,0x22,0x21,0x20,0x18,0x00,0x20,0x22,0x21,0x20,0x10,0x00,0x20,0x22,0x21, -0x20,0x08,0x00,0x20,0x22,0x21,0x1c,0x08,0x00,0x20,0x22,0x21,0x14,0x08,0x00,0x20, -0x22,0x20,0x18,0x08,0x00,0x20,0x31,0x30,0x20,0x10,0x00,0x30,0x31,0x30,0x18,0x00, -0x00,0x30,0x31,0x2f,0x10,0x10,0x00,0x30,0x31,0x2c,0x10,0x10,0x00,0x30,0x31,0x28, -0x10,0x00,0x00,0x30,0x31,0x20,0x10,0x00,0x00,0x30,0x31,0x10,0x10,0x00,0x00,0x30, -0x04,0x04,0x04,0x05,0x04,0x04,0x04,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x04,0x05, -0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05, -0x05,0x05,0x06,0x07,0x0a,0x0b,0x0d,0x10,0x04,0x05,0x05,0x06,0x06,0x09,0x0c,0x11, -0x08,0x08,0x09,0x09,0x0a,0x0c,0x10,0x11,0x04,0x04,0x04,0x05,0x04,0x04,0x05,0x07, -0x07,0x07,0x08,0x0a,0x04,0x04,0x04,0x04,0x06,0x0a,0x0b,0x0d,0x05,0x05,0x07,0x07, -0x08,0x0b,0x0d,0x0f,0x04,0x04,0x04,0x05,0x07,0x07,0x09,0x09,0x0c,0x0e,0x10,0x12, -0x04,0x04,0x05,0x05,0x06,0x0a,0x11,0x13,0x09,0x09,0x09,0x09,0x0c,0x0e,0x11,0x13, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x26,0x2a,0x18,0x1a,0x1d,0x1f, -0x21,0x27,0x29,0x2a,0x00,0x00,0x00,0x1f,0x23,0x28,0x2a,0x2c,0x00,0x04,0x00,0x04, -0x00,0x08,0x00,0x10,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x90, -0x00,0xc0,0x00,0xd8,0x00,0x50,0x00,0x78,0x00,0xa0,0x00,0xc8,0x01,0x40,0x01,0x90, -0x01,0xe0,0x02,0x30,0x01,0x2c,0x01,0x40,0x01,0xe0,0x02,0xd0,0x03,0xe8,0x04,0xb0, -0x06,0x40,0x07,0xd0,0x00,0x02,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x0c,0x00,0x12, -0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x6c,0x00,0x28,0x00,0x3c, -0x00,0x50,0x00,0x64,0x00,0xa0,0x00,0xc8,0x00,0xf0,0x01,0x18,0x00,0x64,0x00,0xa0, -0x00,0xf0,0x01,0x68,0x01,0xf4,0x02,0x58,0x03,0x20,0x03,0xe8,0x02,0x02,0x02,0x02, -0x02,0x02,0x03,0x03,0x04,0x04,0x05,0x07,0x04,0x04,0x07,0x0a,0x0a,0x0c,0x0c,0x12, -0x05,0x07,0x07,0x08,0x0b,0x12,0x24,0x3c,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x04, -0x05,0x06,0x07,0x08,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x05,0x06,0x07,0x08, -0x09,0x0a,0x0b,0x0c,0x20,0x1e,0x1c,0x18,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00, -0xbb,0x01,0x06,0x89,0x82,0x8a,0x83,0xf0,0x22,0x50,0x02,0xf7,0x22,0xbb,0xfe,0x01, -0xf3,0x22,0xf8,0xbb,0x01,0x0d,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83, -0xe8,0xf0,0x22,0x50,0x06,0xe9,0x25,0x82,0xc8,0xf6,0x22,0xbb,0xfe,0x05,0xe9,0x25, -0x82,0xc8,0xf2,0x22,0xc5,0xf0,0xf8,0xa3,0xe0,0x28,0xf0,0xc5,0xf0,0xf8,0xe5,0x82, -0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0x38,0xf0,0x22,0xbb,0x01,0x0a,0x89,0x82,0x8a, -0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x06,0x87,0xf0,0x09,0xe7,0x19,0x22,0xbb, -0xfe,0x07,0xe3,0xf5,0xf0,0x09,0xe3,0x19,0x22,0x89,0x82,0x8a,0x83,0xe4,0x93,0xf5, -0xf0,0x74,0x01,0x93,0x22,0xbb,0x01,0x10,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a, -0xf5,0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x09,0xe9,0x25,0x82,0xf8,0x86,0xf0, -0x08,0xe6,0x22,0xbb,0xfe,0x0a,0xe9,0x25,0x82,0xf8,0xe2,0xf5,0xf0,0x08,0xe2,0x22, -0xe5,0x83,0x2a,0xf5,0x83,0xe9,0x93,0xf5,0xf0,0xa3,0xe9,0x93,0x22,0xbb,0x01,0x0a, -0x89,0x82,0x8a,0x83,0xf0,0xe5,0xf0,0xa3,0xf0,0x22,0x50,0x06,0xf7,0x09,0xa7,0xf0, -0x19,0x22,0xbb,0xfe,0x06,0xf3,0xe5,0xf0,0x09,0xf3,0x19,0x22,0xf8,0xbb,0x01,0x11, -0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83,0xe8,0xf0,0xe5,0xf0,0xa3,0xf0, -0x22,0x50,0x09,0xe9,0x25,0x82,0xc8,0xf6,0x08,0xa6,0xf0,0x22,0xbb,0xfe,0x09,0xe9, -0x25,0x82,0xc8,0xf2,0xe5,0xf0,0x08,0xf2,0x22,0xef,0x4b,0xff,0xee,0x4a,0xfe,0xed, -0x49,0xfd,0xec,0x48,0xfc,0x22,0xbb,0x01,0x07,0x89,0x82,0x8a,0x83,0x02,0x43,0x46, -0x50,0x05,0xe9,0xf8,0x02,0x43,0xda,0xbb,0xfe,0x05,0xe9,0xf8,0x02,0x43,0xe6,0x89, -0x82,0x8a,0x83,0x02,0x43,0xf2,0xe0,0xfc,0xa3,0xe0,0xfd,0xa3,0xe0,0xfe,0xa3,0xe0, -0xff,0x22,0xa4,0x25,0x82,0xf5,0x82,0xe5,0xf0,0x35,0x83,0xf5,0x83,0x22,0xe0,0xfb, -0xa3,0xe0,0xfa,0xa3,0xe0,0xf9,0x22,0xf8,0xe0,0xfb,0xa3,0xa3,0xe0,0xf9,0x25,0xf0, -0xf0,0xe5,0x82,0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0xfa,0x38,0xf0,0x22,0xeb,0xf0, -0xa3,0xea,0xf0,0xa3,0xe9,0xf0,0x22,0xd0,0x83,0xd0,0x82,0xf8,0xe4,0x93,0x70,0x12, -0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74,0x01,0x93,0xf5,0x82,0x88,0x83, -0xe4,0x73,0x74,0x02,0x93,0x68,0x60,0xef,0xa3,0xa3,0xa3,0x80,0xdf,0xd0,0x83,0xd0, -0x82,0xf8,0xe4,0x93,0x70,0x12,0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74, -0x01,0x93,0xf5,0x82,0x88,0x83,0xe4,0x73,0x74,0x02,0x93,0xb5,0xf0,0x06,0x74,0x03, -0x93,0x68,0x60,0xe9,0xa3,0xa3,0xa3,0xa3,0x80,0xd8,0xe6,0xfc,0x08,0xe6,0xfd,0x08, -0xe6,0xfe,0x08,0xe6,0xff,0x22,0xe2,0xfc,0x08,0xe2,0xfd,0x08,0xe2,0xfe,0x08,0xe2, -0xff,0x22,0xe4,0x93,0xfc,0x74,0x01,0x93,0xfd,0x74,0x02,0x93,0xfe,0x74,0x03,0x93, -0xff,0x22,0x02,0x44,0x40,0x02,0x50,0x33,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0x40, -0x03,0xf6,0x80,0x01,0xf2,0x08,0xdf,0xf4,0x80,0x29,0xe4,0x93,0xa3,0xf8,0x54,0x07, -0x24,0x0c,0xc8,0xc3,0x33,0xc4,0x54,0x0f,0x44,0x20,0xc8,0x83,0x40,0x04,0xf4,0x56, -0x80,0x01,0x46,0xf6,0xdf,0xe4,0x80,0x0b,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80, -0x90,0x44,0x85,0xe4,0x7e,0x01,0x93,0x60,0xbc,0xa3,0xff,0x54,0x3f,0x30,0xe5,0x09, -0x54,0x1f,0xfe,0xe4,0x93,0xa3,0x60,0x01,0x0e,0xcf,0x54,0xc0,0x25,0xe0,0x60,0xa8, -0x40,0xb8,0xe4,0x93,0xa3,0xfa,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0xc8,0xc5,0x82, -0xc8,0xca,0xc5,0x83,0xca,0xf0,0xa3,0xc8,0xc5,0x82,0xc8,0xca,0xc5,0x83,0xca,0xdf, -0xe9,0xde,0xe7,0x80,0xbe,0x48,0x9e,0xac,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x48,0x9e,0xa3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x9e,0xab,0x00,0x41, -0x9f,0x19,0x00,0x41,0x9e,0x84,0x80,0x41,0x9e,0x85,0x80,0x41,0x9d,0xa8,0x00,0x41, -0x9d,0xa9,0x00,0x41,0x9d,0xa7,0x00,0x41,0x9e,0xbd,0x00,0x00,0x90,0x02,0x84,0xef, -0xf0,0xa3,0xee,0xf0,0xa3,0x74,0x05,0xf0,0x22,0xfd,0x7f,0x81,0xd3,0x10,0xaf,0x01, -0xc3,0xc0,0xd0,0x8f,0x82,0x75,0x83,0x00,0xed,0xf0,0x12,0x4f,0x6d,0xd0,0xd0,0x92, -0xaf,0x22,0xe4,0x90,0x9e,0xb9,0xf0,0x90,0x00,0x80,0xe0,0x44,0x80,0xfd,0x7f,0x80, -0x80,0xda,0x8f,0x82,0x8e,0x83,0xa3,0xa3,0xa3,0xe4,0xf0,0x22,0x12,0x4f,0x49,0x02, -0x4f,0x7d,0x22,0x02,0x6a,0xe7,0x02,0x6a,0xee,0xef,0x8e,0xf0,0x71,0xad,0x45,0x26, -0x00,0x40,0x45,0x4e,0x00,0x80,0x45,0x79,0x01,0x00,0x45,0x8d,0x02,0x00,0x45,0xa5, -0x04,0x00,0x00,0x00,0x45,0xc2,0xed,0x54,0x3f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e, -0x00,0x7f,0x40,0xef,0x2d,0xff,0xee,0x3c,0xfe,0xef,0x78,0x06,0xce,0xc3,0x13,0xce, -0x13,0xd8,0xf9,0x78,0x06,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0x80,0x26,0xed,0x54, -0x7f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x00,0x7f,0x80,0xef,0x2d,0xff,0xee,0x3c, -0xfe,0xef,0x78,0x07,0xce,0xc3,0x13,0xce,0x13,0xd8,0xf9,0x78,0x07,0xc3,0x33,0xce, -0x33,0xce,0xd8,0xf9,0xfd,0xac,0x06,0x80,0x49,0xed,0x70,0x04,0xfe,0xff,0x80,0x04, -0x7e,0x01,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x7d,0x00,0xfc,0x80,0x35,0xec,0x54,0x01, -0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x02,0x7f,0x00,0xef,0x2d,0xee,0x3c,0xc3, -0x13,0x7d,0x00,0x80,0x1a,0xec,0x54,0x03,0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e, -0x04,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x13,0x13,0x54,0x3f,0x7d,0x00,0x25,0xe0,0x25, -0xe0,0xfc,0xae,0x04,0xaf,0x05,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0x90, -0x9e,0x71,0xf0,0xa3,0x74,0x08,0xf0,0xa3,0xf0,0x90,0x01,0x1f,0xe0,0xfe,0x90,0x01, -0x1e,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0x6b,0xf0,0xa3,0xef,0xf0, -0x90,0x02,0x87,0xe0,0x90,0x9e,0x70,0xf0,0x90,0x9e,0xc1,0xe0,0x20,0xe0,0x02,0xe1, -0x3b,0xe4,0x90,0x9e,0x6f,0xf0,0x90,0x9e,0x70,0xe0,0xff,0x90,0x9e,0x6f,0xe0,0xc3, -0x9f,0x40,0x02,0xe1,0x3b,0x90,0x9e,0x6b,0xe0,0xfc,0xa3,0xe0,0xfd,0xec,0x90,0xfd, -0x11,0xf0,0x74,0x02,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0x0f,0xfc, -0x33,0x33,0x33,0x54,0xf8,0xff,0xed,0x24,0x18,0x2f,0x90,0x9e,0x6d,0xf0,0xe0,0x24, -0x00,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0xfc,0x90,0x9e,0x6e,0xf0,0x74, -0x01,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0xfe,0x74,0x00,0x2d,0xf5,0x82, -0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x7a,0x00,0x24,0x00,0xff,0xea,0x3e,0x54,0x3f,0xab, -0x07,0xfa,0xaf,0x04,0xef,0x75,0xf0,0x08,0xa4,0x24,0x18,0xff,0xe4,0x35,0xf0,0xfe, -0xef,0x2b,0xfb,0xee,0x3a,0xfa,0x90,0x9e,0xc5,0xe0,0xfe,0xa3,0xe0,0xff,0xad,0x03, -0xac,0x02,0xb1,0x09,0xaa,0x06,0xab,0x07,0x90,0x9e,0x6b,0xee,0x8f,0xf0,0x51,0x54, -0x90,0x9e,0xc7,0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0x6b,0xe0,0xfc,0xa3,0xe0,0xfd, -0xd3,0x9f,0xec,0x9e,0x40,0x1b,0x90,0x9e,0xc8,0xe0,0x24,0x01,0xff,0x90,0x9e,0xc7, -0xe0,0x34,0x00,0xfe,0xc3,0xed,0x9f,0xff,0xec,0x9e,0x90,0x9e,0x6b,0xf0,0xa3,0xef, -0xf0,0x90,0x9e,0x6e,0xe0,0xff,0x24,0x40,0x60,0x04,0x24,0x20,0x70,0x2b,0x90,0x9e, -0xc9,0xe0,0xfe,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x26,0xef,0x90,0x00,0x81, -0xb4,0xa0,0x05,0xe0,0x44,0x04,0x80,0x03,0xe0,0x44,0x08,0xfd,0x7f,0x81,0x91,0xcc, -0x90,0x9e,0xc1,0xe0,0x44,0x80,0xf0,0x80,0x09,0x90,0x9e,0xc9,0xe0,0xc4,0x13,0x13, -0x54,0x03,0x90,0x9e,0xc1,0xe0,0xff,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x03, -0x12,0x92,0x86,0x12,0x95,0x13,0xbf,0x01,0x0a,0x90,0x9e,0x6b,0xe0,0xfe,0xa3,0xe0, -0xff,0x91,0xbc,0x90,0x9e,0x6f,0xe0,0x04,0xf0,0xc1,0x06,0xd0,0xd0,0x92,0xaf,0x22, -0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x8b,0x60,0x8a,0x61,0x89,0x62,0x90,0x9e,0xef, -0x71,0x7e,0xab,0x63,0xaa,0x64,0xa9,0x65,0x90,0x9e,0xf2,0x71,0x7e,0xaf,0x66,0x15, -0x66,0xef,0x60,0x1b,0x90,0x9e,0xf2,0xe4,0x75,0xf0,0x01,0x71,0x67,0x12,0x1f,0x04, -0xff,0x90,0x9e,0xef,0xe4,0x75,0xf0,0x01,0x71,0x67,0xef,0x51,0x20,0x80,0xde,0xab, -0x60,0xaa,0x61,0xa9,0x62,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0xba,0xe0,0xb4,0x01, -0x04,0x7d,0x91,0x80,0x0c,0x90,0x9e,0xba,0xe0,0x70,0x04,0x7d,0x90,0x80,0x02,0xe4, -0xfd,0x7f,0x93,0x91,0xcc,0x90,0x00,0x29,0xe0,0x54,0x3f,0xfd,0x7f,0x29,0x91,0xcc, -0x90,0x00,0x28,0xe0,0x54,0xfc,0xfd,0x7f,0x28,0x91,0xcc,0x90,0x00,0x08,0xe0,0x44, -0x10,0xfd,0x7f,0x08,0x91,0xcc,0x7f,0x01,0x12,0x78,0xe1,0x90,0x00,0x00,0xe0,0x44, -0x20,0xfd,0xe4,0xff,0x91,0xcc,0x90,0x00,0x20,0xe0,0x54,0xfe,0xfd,0x7f,0x20,0x91, -0xcc,0x90,0x00,0x90,0xe0,0x44,0x01,0xfd,0x7f,0x90,0x91,0xcc,0x7f,0x14,0x7e,0x00, -0x02,0x3b,0x3b,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x04,0x1d,0xe0,0x60,0x1a, -0x90,0x05,0x22,0xe0,0x54,0x90,0x60,0x07,0x90,0x01,0xc6,0xe0,0x44,0x40,0xf0,0x90, -0x01,0xc7,0xe0,0x30,0xe1,0xe4,0x7f,0x00,0x80,0x02,0x7f,0x01,0xd0,0xd0,0x92,0xaf, -0x22,0x90,0x9e,0xb6,0xe0,0xff,0x7d,0x01,0xe4,0xfb,0xfa,0xef,0x30,0xe0,0x02,0x7b, -0x80,0xef,0xc3,0x13,0x90,0xfd,0x10,0xf0,0x90,0x04,0x25,0xef,0xf0,0xed,0x60,0x0e, -0x74,0x0f,0x2b,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x80,0xf0,0xaf,0x03, -0x74,0x08,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe4,0xf0,0x74,0x09,0x2f,0xf5, -0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf0,0xf0,0x74,0x21,0x2b,0xf5,0x82,0xe4, -0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf7,0xf0,0xae,0x02,0xaf,0x03,0x22,0x8f,0x25,0x90, -0x9e,0x86,0xe0,0x30,0xe0,0x39,0x90,0x04,0x1d,0xe0,0x70,0x6a,0x12,0x47,0xf3,0xef, -0x64,0x01,0x70,0x62,0x11,0x21,0x8e,0x26,0x8f,0x27,0xe5,0x25,0x60,0x10,0x74,0x21, -0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x42,0x74,0x21, -0x25,0x27,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0x80,0x31,0x12, -0x47,0xf3,0xef,0x64,0x01,0x70,0x2f,0x11,0x21,0x8e,0x26,0x8f,0x27,0xe5,0x25,0x60, -0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80, -0x0f,0x74,0x21,0x25,0x27,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0, -0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x90,0x06,0x04,0xe0,0x44,0x40,0xf0,0xe5,0x67, -0xb4,0x01,0x04,0x7f,0x01,0x11,0x7d,0x53,0x68,0xf0,0x43,0x68,0x04,0x90,0x9e,0xda, -0xe0,0x30,0xe0,0x07,0x90,0x05,0x27,0xe0,0x44,0x80,0xf0,0x22,0xf0,0x7d,0x01,0x7f, -0x0c,0x90,0x9f,0x0e,0xed,0xf0,0x90,0x9f,0x0d,0xef,0xf0,0x54,0x0f,0xff,0xe5,0x68, -0x54,0x0f,0x6f,0x60,0x6d,0x90,0x9f,0x0d,0xe0,0x30,0xe2,0x28,0xe5,0x68,0x20,0xe2, -0x04,0x7f,0x01,0xf1,0x30,0xe5,0x68,0x30,0xe3,0x09,0x90,0x9f,0x0d,0xe0,0x20,0xe3, -0x02,0x80,0xa4,0xe5,0x68,0x20,0xe3,0x4a,0x90,0x9f,0x0d,0xe0,0x30,0xe3,0x43,0xa3, -0xe0,0xff,0xe1,0xb4,0xe5,0x68,0x54,0x0f,0xff,0xbf,0x0c,0x0f,0x90,0x9f,0x0d,0xe0, -0x20,0xe3,0x08,0x12,0x77,0xa3,0xef,0x60,0x29,0x11,0xf7,0xe5,0x68,0x54,0x0f,0xff, -0xbf,0x04,0x0f,0x90,0x9f,0x0d,0xe0,0x20,0xe2,0x08,0x12,0x77,0xec,0xef,0x60,0x12, -0xf1,0x91,0xe5,0x68,0x54,0x0f,0xff,0xbf,0x02,0x08,0x12,0x78,0x6b,0xef,0x60,0x02, -0xf1,0x1d,0x22,0xe4,0x90,0x9e,0x5a,0xf0,0x90,0x9e,0x86,0xe0,0x20,0xe0,0x02,0x81, -0x06,0x90,0x9e,0x8c,0xe0,0x64,0x01,0x70,0x5c,0x90,0x9e,0x89,0xe0,0x30,0xe0,0x19, -0xe0,0xc3,0x13,0x30,0xe0,0x02,0x80,0x0b,0x90,0x9e,0x89,0xe0,0x13,0x13,0x54,0x3f, -0x30,0xe0,0x06,0xa3,0xe0,0x90,0x9e,0x5a,0xf0,0xe4,0xf5,0x48,0x90,0x9e,0x5a,0xe0, -0x24,0x03,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01, -0x63,0x74,0x05,0xf0,0x90,0x9e,0x8c,0xe0,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13, -0x54,0x07,0x30,0xe0,0x02,0x81,0x06,0x90,0x9e,0x86,0xe0,0xc4,0x54,0x0f,0x20,0xe0, -0x02,0x61,0xa5,0x61,0x9d,0x90,0x9e,0x8c,0xe0,0x64,0x02,0x60,0x02,0x41,0xc1,0x90, -0x07,0x78,0x04,0xf0,0x90,0x9e,0x89,0xe0,0x30,0xe0,0x20,0xe0,0xc3,0x13,0x30,0xe0, -0x02,0x80,0x0b,0x90,0x9e,0x89,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x0d,0xa3,0xe0, -0x90,0x9e,0x5a,0xf0,0x90,0x9e,0x89,0xe0,0x54,0xfb,0xf0,0xe4,0xf5,0x48,0x90,0x9e, -0x87,0xe0,0xff,0xc3,0x74,0x2e,0x9f,0xff,0x90,0x9e,0x5a,0xe0,0xfe,0xc3,0xef,0x9e, -0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74, -0x05,0xf0,0x90,0x9e,0x86,0xe0,0xff,0xc3,0x13,0x90,0x9e,0x56,0x30,0xe0,0x09,0x12, -0x1f,0xe3,0x00,0x00,0x03,0x00,0x80,0x07,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x91, -0x07,0xe4,0x90,0x9e,0x8b,0xf0,0xa3,0xe0,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13, -0x54,0x07,0x30,0xe0,0x02,0x81,0x00,0x90,0x9e,0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0, -0x02,0x80,0x06,0xe5,0x6a,0x70,0x02,0x81,0x00,0xe4,0xfd,0xaf,0x69,0x31,0x21,0x81, -0x00,0x90,0x9e,0x8c,0xe0,0x64,0x03,0x60,0x02,0x61,0x66,0x90,0x9e,0x86,0xe0,0xc4, -0x13,0x13,0x54,0x03,0x90,0x07,0x78,0x30,0xe0,0x05,0x74,0x0d,0xf0,0x80,0x03,0x74, -0x09,0xf0,0xe4,0xf5,0x48,0x90,0x9e,0x88,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x60, -0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74,0x05,0xf0,0x90,0x9e,0x56,0x12,0x1f, -0xe3,0x00,0x00,0x03,0x10,0x91,0x07,0x90,0x9e,0x8b,0x74,0x01,0xf0,0xa3,0xe0,0x04, -0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07,0x20,0xe0,0x1f,0x90,0x9e,0x86,0xe0, -0xc4,0x54,0x0f,0x30,0xe0,0x0b,0x90,0x05,0x22,0xe4,0xf0,0x7d,0x01,0x7f,0x0c,0x80, -0x08,0xe5,0x6a,0x60,0x06,0xe4,0xfd,0x7f,0x04,0x31,0x21,0x90,0x05,0x22,0xe4,0xf0, -0x90,0x9e,0x96,0xe0,0x60,0x02,0x81,0x00,0x90,0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07, -0x30,0xe0,0x02,0x81,0x06,0x90,0x9e,0x86,0xe0,0xff,0x13,0x13,0x54,0x3f,0x20,0xe0, -0x02,0x81,0x06,0x02,0x64,0x90,0x90,0x9e,0x8c,0xe0,0x64,0x04,0x70,0x3e,0xf5,0x48, -0x75,0x49,0x03,0xfb,0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74, -0x05,0xf0,0x90,0x9e,0x8c,0xe0,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07, -0x20,0xe0,0x73,0x90,0x9e,0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x08,0xe4,0xfd,0x7f, -0x04,0x31,0x21,0x80,0x5b,0x90,0x05,0x22,0x74,0xff,0xf0,0x22,0x90,0x9e,0x8c,0xe0, -0x64,0x05,0x70,0x52,0x90,0x07,0x78,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xff,0xc3,0x13, -0x90,0x9e,0x56,0x30,0xe0,0x09,0x12,0x1f,0xe3,0x00,0x00,0x03,0x00,0x80,0x07,0x12, -0x1f,0xe3,0x00,0x00,0x03,0x10,0x91,0x07,0xe4,0x90,0x9e,0x8b,0xf0,0xa3,0xf0,0x90, -0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07,0x20,0xe0,0x16,0x90,0x9e,0x86,0xe0,0xc4,0x54, -0x0f,0x30,0xe0,0x02,0x80,0x04,0xe5,0x6a,0x60,0x06,0xe4,0xfd,0xaf,0x69,0x31,0x21, -0x90,0x05,0x22,0x74,0x6f,0xf0,0x22,0x7b,0x01,0x7a,0x9e,0x79,0x56,0x7f,0x70,0x7e, -0x08,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0, -0xee,0x44,0xf0,0xa3,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x01,0xec,0xf0,0x90, -0x00,0x02,0x12,0x1f,0x1d,0x90,0x01,0xed,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90, -0x01,0xee,0xf0,0x12,0x1f,0x04,0x90,0x01,0xef,0xf0,0x90,0x01,0xeb,0x74,0x40,0xf0, -0x12,0x8e,0xd6,0xd0,0xd0,0x92,0xaf,0x22,0xef,0x64,0x01,0x70,0x32,0x7d,0x78,0x7f, -0x02,0x12,0x3a,0x54,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0x90,0x01,0x57,0xe4,0xf0, -0x90,0x01,0x3c,0x74,0x02,0x31,0x1c,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x02,0xd1,0x27, -0x90,0x06,0x04,0xe0,0x54,0x7f,0xf0,0x90,0x06,0x0a,0xe0,0x54,0xf8,0xf0,0x22,0x90, -0x01,0x36,0x74,0x78,0xf0,0xa3,0x74,0x02,0xf0,0x7d,0x78,0xff,0x12,0x3a,0xc5,0x7d, -0x02,0x7f,0x03,0x12,0x3a,0xc5,0x90,0x06,0x04,0xe0,0x44,0x80,0xf0,0x90,0x06,0x0a, -0xe0,0x44,0x07,0xf0,0x12,0x79,0x87,0xe5,0x67,0x30,0xe0,0x21,0x90,0x9e,0x90,0xe0, -0x70,0x20,0xe0,0x04,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x06,0x7d,0x01, -0x7f,0x04,0x31,0x21,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x07,0xc1,0x27,0xe4,0x90,0x9e, -0x90,0xf0,0x22,0x8b,0x13,0x8a,0x14,0x89,0x15,0x12,0x77,0x6d,0xab,0x13,0xaa,0x14, -0xa9,0x15,0x12,0x1f,0x04,0xf5,0x6a,0x12,0x43,0x87,0x4d,0x13,0x00,0x4d,0x1b,0x01, -0x4d,0x2e,0x02,0x4d,0x42,0x03,0x4d,0x48,0x04,0x4d,0x5f,0x05,0x4d,0x77,0x06,0x00, -0x00,0x4d,0x82,0x7f,0x01,0x91,0x58,0x7f,0x01,0x80,0x64,0xab,0x13,0xaa,0x14,0xa9, -0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xb1,0x92,0x80,0x18,0xab,0x13, -0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01,0xb1,0x92,0x1f, -0x80,0x04,0xb1,0x83,0xe4,0xff,0x81,0x58,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00, -0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xb1,0x92,0x91,0x58,0xe4,0xff,0x80,0x20,0xab, -0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01,0xb1,0x92, -0x1f,0x91,0x58,0xe4,0xff,0x80,0x08,0xb1,0x83,0xe4,0xff,0x91,0x58,0xe4,0xff,0x12, -0x77,0x79,0x22,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd, -0x7f,0x02,0xef,0x24,0xfe,0x60,0x12,0x04,0x70,0x2f,0x90,0x9e,0x9d,0x74,0x01,0xf0, -0x90,0x9e,0x8e,0xf0,0x90,0x9e,0xa0,0xf0,0x22,0xed,0x70,0x0a,0x90,0x9e,0x9a,0xe0, -0x90,0x9e,0x9d,0xf0,0x80,0x05,0x90,0x9e,0x9d,0xed,0xf0,0x90,0x9e,0x9d,0xe0,0x90, -0x9e,0x8e,0xf0,0x90,0x9e,0xa0,0x74,0x01,0xf0,0x22,0x90,0x9e,0xda,0xe0,0x30,0xe0, -0x04,0xaf,0x69,0x80,0x2f,0x7d,0x01,0xaf,0x69,0x21,0x21,0x11,0xf7,0x90,0x9e,0xdb, -0x74,0x01,0xf0,0x22,0x90,0x9e,0x43,0xe0,0xc3,0x13,0x30,0xe0,0x16,0xef,0x7b,0x01, -0xb4,0x01,0x06,0x7a,0x9e,0x79,0x4a,0x80,0x04,0x7a,0x9e,0x79,0x46,0x7f,0x80,0x7e, -0x08,0x91,0x11,0x22,0xae,0x07,0xe4,0xff,0xd1,0x6c,0xef,0x60,0x17,0x90,0x9e,0xda, -0xe0,0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x0b,0xaf,0x06,0x7d,0x01,0x31,0x21,0xd1, -0x27,0x7f,0x01,0x22,0x7f,0x00,0x22,0x90,0x9e,0xdb,0xe0,0x64,0x06,0x60,0x3c,0xe5, -0x68,0x54,0x0f,0x14,0x60,0x2e,0x14,0x60,0x1e,0x24,0xfe,0x60,0x0e,0x24,0xf8,0x70, -0x2a,0xe4,0x90,0x9e,0xdb,0xf0,0x90,0x05,0x22,0xf0,0x22,0x90,0x9e,0xdb,0x74,0x01, -0xf0,0x90,0x05,0x22,0xe4,0xf0,0x22,0x90,0x9e,0xdb,0x74,0x03,0xf0,0x90,0x05,0x22, -0x74,0xff,0xf0,0x22,0x90,0x01,0xc6,0xe0,0x44,0x08,0xf0,0x22,0x8f,0x6e,0x90,0x05, -0x43,0xe0,0x7f,0x00,0x30,0xe7,0x02,0x7f,0x01,0x22,0xe4,0x90,0x9f,0x1b,0xf0,0xe5, -0x6a,0x70,0x02,0xe1,0x1c,0xe5,0x67,0x64,0x01,0x60,0x02,0xe1,0x1c,0xe5,0x6a,0x14, -0x60,0x28,0x24,0xfd,0x60,0x24,0x24,0x02,0x24,0xfb,0x50,0x02,0x80,0x22,0xe4,0x90, -0x9e,0x8e,0xf0,0xe0,0x60,0x04,0xa3,0xe0,0x60,0x16,0x90,0x9e,0x8e,0xe0,0x70,0x0a, -0x90,0x9e,0x9d,0xe0,0x90,0x9e,0x8e,0xf0,0x80,0x00,0x90,0x9f,0x1b,0x74,0x01,0xf0, -0x90,0x9e,0xda,0xe0,0x30,0xe0,0x15,0xa3,0xe0,0xb4,0x06,0x05,0xe4,0x90,0x9f,0x1b, -0xf0,0xe4,0xff,0xd1,0x6c,0xef,0x70,0x04,0x90,0x9f,0x1b,0xf0,0x90,0x9f,0x1b,0xe0, -0x60,0x3a,0x43,0x6b,0x10,0xe4,0xf5,0x48,0x90,0x9e,0x99,0xe0,0xf5,0x49,0xe4,0xfb, -0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x68, -0x54,0x0f,0xc3,0x94,0x04,0x50,0x06,0x7d,0x01,0x7f,0x04,0x31,0x21,0x90,0x9e,0xda, -0xe0,0x30,0xe0,0x08,0xd1,0x27,0x90,0x05,0x22,0x74,0xff,0xf0,0x22,0x53,0x68,0xf0, -0x43,0x68,0x01,0x12,0x47,0x8a,0x12,0x79,0x39,0x53,0x68,0xf0,0x43,0x68,0x02,0x22, -0x90,0x9f,0x1a,0xef,0xf0,0xf1,0x49,0x90,0x9f,0x1a,0xe0,0x60,0x05,0x90,0x05,0x22, -0xe4,0xf0,0x53,0x68,0xf0,0x43,0x68,0x04,0x22,0x90,0x01,0x01,0xe0,0x44,0x02,0xf0, -0x90,0x01,0x00,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x44,0x01,0xf0,0xf1,0x6d,0x90, -0x01,0xba,0xe4,0xf0,0x22,0xf4,0xff,0x90,0x00,0x63,0xe0,0x5f,0xf0,0xd3,0x10,0xaf, -0x01,0xc3,0xc0,0xd0,0x7f,0x10,0xdf,0xfe,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x05,0x22, -0x74,0x6f,0xf0,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x9e,0xe1,0x74,0x03,0xf0, -0x22,0x90,0x01,0x37,0x74,0x02,0xf0,0x12,0x8f,0xd5,0xef,0x70,0x06,0x90,0x01,0xc8, -0x74,0xfd,0xf0,0x7d,0x02,0x7f,0x03,0x12,0x3a,0xc5,0x12,0x57,0x64,0x53,0x68,0xf0, -0x43,0x68,0x02,0x22,0x90,0x06,0x04,0xe0,0x54,0xbf,0xf0,0xef,0x60,0x09,0xe5,0x67, -0xb4,0x01,0x04,0xe4,0xff,0x11,0x7d,0x53,0x68,0xf0,0x43,0x68,0x0c,0x90,0x9e,0xda, -0xe0,0x30,0xe0,0x07,0x90,0x05,0x27,0xe0,0x54,0x7f,0xf0,0x22,0x80,0x9f,0x12,0x57, -0x90,0x80,0x9a,0xf1,0x49,0x90,0x9e,0xe1,0x74,0x04,0xf0,0x22,0xf1,0x91,0x90,0x9e, -0xdb,0x74,0x03,0xf0,0x22,0xf1,0x30,0x90,0x9e,0xdb,0x74,0x01,0xf0,0x22,0x12,0x47, -0xf3,0xbf,0x01,0x10,0x90,0x02,0x09,0xe0,0xff,0x7d,0x01,0x12,0x48,0x28,0x90,0x04, -0x1f,0x74,0x20,0xf0,0x22,0x75,0x28,0x33,0xe4,0xf5,0x29,0x75,0x2a,0x07,0xf5,0x2b, -0x90,0x01,0x30,0xe5,0x28,0xf0,0xa3,0xe5,0x29,0xf0,0xa3,0xe5,0x2a,0xf0,0xa3,0xe5, -0x2b,0xf0,0x22,0xe4,0x90,0x9e,0x68,0xf0,0xa3,0xf0,0x12,0x60,0xb4,0x75,0x8e,0x02, -0x12,0x44,0xe2,0x12,0x60,0x0b,0x90,0x9e,0xba,0xef,0xf0,0x12,0x60,0x1e,0x90,0x9e, -0xbc,0xef,0xf0,0x12,0x60,0x2a,0x90,0x9e,0xa1,0xee,0xf0,0xa3,0xef,0xf0,0xe4,0xf5, -0x57,0x12,0x82,0x34,0x12,0x77,0x03,0x12,0x37,0x4e,0x31,0x3d,0x11,0x15,0x12,0x60, -0x42,0x12,0x60,0x57,0xf1,0xe8,0x12,0x45,0x02,0x12,0x60,0xbc,0x12,0x94,0x02,0x31, -0x25,0x90,0x9e,0x6a,0xe5,0xd9,0xf0,0x12,0x5f,0xdc,0xc2,0xaf,0x90,0x00,0x80,0xe0, -0x44,0x40,0xf0,0x12,0x4f,0x6d,0x75,0xe8,0x03,0x43,0xa8,0x85,0x12,0x8e,0x27,0xd2, -0xaf,0x12,0x84,0x56,0x12,0x60,0x5e,0x90,0x9e,0x68,0xe0,0x64,0x01,0xf0,0x24,0x33, -0x90,0x01,0xc4,0xf0,0x74,0x50,0xa3,0xf0,0xe5,0x57,0x30,0xe0,0x0a,0xc2,0xaf,0x53, -0x57,0xfe,0x12,0x95,0x34,0xd2,0xaf,0xe5,0x57,0x30,0xe2,0x10,0x12,0x6a,0xf5,0xbf, -0x01,0x0a,0xc2,0xaf,0x53,0x57,0xfb,0xd2,0xaf,0x12,0x45,0xc7,0xe5,0x57,0x30,0xe4, -0x0a,0xc2,0xaf,0x53,0x57,0xef,0xd2,0xaf,0x12,0x6b,0x32,0xe5,0x57,0x30,0xe6,0x0a, -0xc2,0xaf,0x53,0x57,0xbf,0xd2,0xaf,0x12,0x7b,0xd8,0xe5,0x57,0x30,0xe7,0x0a,0xc2, -0xaf,0x53,0x57,0x7f,0xd2,0xaf,0x12,0x5d,0xe9,0xc2,0xaf,0xe5,0x69,0x54,0x0f,0xff, -0xbf,0x01,0x0e,0x90,0x9e,0x92,0x74,0x01,0xf0,0x12,0x4d,0xca,0xe4,0x90,0x9e,0x92, -0xf0,0xd2,0xaf,0x80,0x82,0x90,0x9e,0xbe,0xe0,0x54,0xfe,0xf0,0xe4,0x90,0x9e,0xc0, -0xf0,0x90,0x9e,0xbe,0xe0,0x54,0x7f,0xf0,0xa3,0x74,0x0a,0xf0,0x22,0x90,0x9e,0xe0, -0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0x90,0x9e,0xda,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3, -0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90, -0x9e,0x76,0x12,0x43,0x7e,0xe4,0x90,0x9e,0x79,0xf0,0x12,0x1f,0x04,0xc3,0x13,0x20, -0xe0,0x02,0x41,0xbb,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x02, -0xfe,0x90,0x9e,0xe0,0xe0,0x54,0xfd,0x4e,0xfe,0xf0,0xef,0x54,0x01,0xff,0xee,0x54, -0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54,0x08,0xfd,0xef,0x54,0xf7,0x4d,0xff, -0x90,0x9e,0xe0,0xf0,0xee,0x54,0x10,0xfe,0xef,0x54,0xef,0x4e,0xff,0xf0,0x12,0x1f, -0x04,0xfe,0x54,0x20,0xfd,0xef,0x54,0xdf,0x4d,0xff,0x90,0x9e,0xe0,0xf0,0xee,0x54, -0x40,0xfe,0xef,0x54,0xbf,0x4e,0xf0,0x20,0xe0,0x02,0x41,0xab,0x31,0x3d,0x90,0x9e, -0x79,0x74,0x21,0xf0,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13, -0x54,0x01,0xfe,0x90,0x9e,0xe0,0xe0,0xfd,0x13,0x13,0x54,0x01,0x6e,0x60,0x31,0xef, -0x54,0x04,0xff,0xed,0x54,0xfb,0x4f,0xf0,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x15, -0x90,0x01,0x34,0x74,0x40,0xf0,0xfd,0xe4,0xff,0x12,0x3a,0xc5,0x90,0x9e,0x79,0xe0, -0x44,0x08,0xf0,0x80,0x0b,0xe4,0x90,0x9e,0xe2,0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54, -0x90,0x9e,0xe0,0xe0,0xfd,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x9e,0x79, -0xe0,0x44,0x12,0xf0,0xed,0xc4,0x54,0x0f,0x30,0xe0,0x07,0x90,0x9e,0x79,0xe0,0x44, -0x14,0xf0,0x90,0x9e,0xe0,0xe0,0xc4,0x13,0x54,0x07,0x30,0xe0,0x07,0x90,0x9e,0x79, -0xe0,0x44,0x80,0xf0,0x90,0x9e,0xe0,0xe0,0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x07, -0x90,0x9e,0x79,0xe0,0x44,0x40,0xf0,0x90,0x9e,0x79,0xe0,0x90,0x05,0x27,0xf0,0x90, -0x9e,0xe1,0xe0,0x70,0x04,0x7f,0x01,0xd1,0x20,0x90,0x9e,0xe0,0xe0,0xc4,0x13,0x13, -0x54,0x03,0x30,0xe0,0x04,0x7f,0x03,0x80,0x0e,0x7f,0x01,0x12,0x4e,0x6c,0xef,0x60, -0x04,0x7f,0x01,0x80,0x02,0x7f,0x02,0xd1,0x20,0x81,0x0e,0x90,0x9e,0x79,0x74,0x01, -0xf0,0x90,0x05,0x27,0xf0,0xe4,0xff,0xd1,0x20,0x81,0x0c,0x90,0x9e,0x76,0x12,0x43, -0x5e,0x12,0x1f,0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xda,0xe0,0x54,0xfd,0x4e,0xfe, -0xf0,0xef,0x54,0x01,0xff,0xee,0x54,0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54, -0x08,0xfd,0xef,0x54,0xf7,0x4d,0xff,0x90,0x9e,0xda,0xf0,0xee,0x54,0x10,0xfe,0xef, -0x54,0xef,0x4e,0xff,0xf0,0x12,0x1f,0x04,0x54,0x40,0xfe,0xef,0x54,0xbf,0x4e,0x90, -0x9e,0xda,0xf0,0x20,0xe0,0x02,0x61,0xdf,0x31,0x3d,0x90,0x9e,0x79,0x74,0x31,0xf0, -0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x54,0x01,0xfe,0x90, -0x9e,0xda,0xe0,0xfd,0x13,0x13,0x54,0x01,0x6e,0x60,0x31,0xef,0x54,0x04,0xff,0xed, -0x54,0xfb,0x4f,0xf0,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x15,0x90,0x01,0x34,0x74, -0x40,0xf0,0xfd,0xe4,0xff,0x12,0x3a,0xc5,0x90,0x9e,0x79,0xe0,0x44,0x08,0xf0,0x80, -0x0b,0xe4,0x90,0x9e,0xdc,0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54,0x90,0x9e,0xda,0xe0, -0xfd,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x9e,0x79,0xe0,0x44,0x02,0xf0, -0xed,0xc4,0x54,0x0f,0x30,0xe0,0x07,0x90,0x9e,0x79,0xe0,0x44,0x04,0xf0,0x90,0x9e, -0x79,0xe0,0x54,0x0e,0x60,0x0c,0x90,0x01,0x3e,0x74,0x03,0xf0,0xfd,0x7f,0x02,0x12, -0x3a,0xdf,0x90,0x9e,0x79,0xe0,0x90,0x05,0x27,0xf0,0x90,0x9e,0xda,0xe0,0xff,0xc4, -0x13,0x13,0x54,0x03,0x30,0xe0,0x0c,0xa3,0xe0,0x64,0x06,0x60,0x61,0x7f,0x06,0x91, -0x13,0x80,0x5b,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xdb,0xe0,0xb4,0x06, -0x19,0x7f,0x01,0x91,0x13,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60,0x09,0x7d,0x01,0xaf, -0x69,0x12,0x49,0x21,0x80,0x04,0xf1,0xb6,0x80,0x34,0x12,0x4e,0x27,0x80,0x2f,0x90, -0x9e,0x79,0x74,0x01,0xf0,0x90,0x05,0x27,0xf0,0x7d,0x03,0x7f,0x02,0x12,0x3a,0x71, -0x90,0x9e,0xdb,0xe0,0xb4,0x06,0x04,0x7f,0x01,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4, -0x04,0x04,0xe4,0xff,0x91,0x13,0x12,0x5f,0x5f,0x12,0x4d,0xca,0x31,0x3d,0xd0,0xd0, -0x92,0xaf,0x22,0x90,0x9e,0xdb,0xe0,0xfe,0x6f,0x70,0x02,0xa1,0xd0,0xef,0x12,0x43, -0x87,0x54,0x3a,0x00,0x54,0x6f,0x01,0x54,0xaf,0x02,0x54,0xea,0x03,0x55,0x22,0x04, -0x55,0x5a,0x05,0x55,0x95,0x06,0x00,0x00,0x55,0xd0,0xee,0xb4,0x04,0x04,0x7f,0x01, -0xa1,0xfc,0x90,0x9e,0xdb,0xe0,0xff,0xb4,0x05,0x02,0xa1,0xd1,0xef,0xb4,0x06,0x06, -0x7f,0x01,0xb1,0xe6,0x80,0x17,0x90,0x9e,0xdb,0xe0,0xb4,0x03,0x07,0x7f,0x01,0x12, -0x4f,0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x02,0xb1,0xdb,0xc1,0x15,0x90, -0x9e,0xdb,0xe0,0xb4,0x04,0x06,0x7f,0x01,0xb1,0xfc,0x80,0x09,0x90,0x9e,0xdb,0xe0, -0xb4,0x05,0x02,0xb1,0xd1,0x90,0x9e,0xdb,0xe0,0x70,0x03,0x02,0x4d,0xdb,0x90,0x9e, -0xdb,0xe0,0xfe,0xb4,0x06,0x04,0x7f,0x01,0xa1,0xe6,0xee,0xb4,0x03,0x05,0x7f,0x01, -0x02,0x4f,0xf5,0x90,0x9e,0xdb,0xe0,0x64,0x02,0x60,0x02,0xa1,0xd0,0xa1,0xdb,0x90, -0x9e,0xdb,0xe0,0xb4,0x04,0x06,0x7f,0x01,0xb1,0xfc,0x80,0x09,0x90,0x9e,0xdb,0xe0, -0xb4,0x05,0x02,0xb1,0xd1,0x90,0x9e,0xdb,0xe0,0x70,0x05,0x12,0x4d,0xdb,0x80,0x17, -0x90,0x9e,0xdb,0xe0,0xfe,0xb4,0x06,0x06,0x7f,0x01,0xb1,0xe6,0x80,0x09,0xee,0xb4, -0x03,0x05,0x7f,0x01,0x12,0x4f,0xf5,0x02,0x8f,0xb4,0x90,0x9e,0xdb,0xe0,0xb4,0x04, -0x06,0x7f,0x01,0xb1,0xfc,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x05,0x02,0xb1,0xd1, -0x90,0x9e,0xdb,0xe0,0x70,0x05,0x12,0x4d,0xdb,0x80,0x14,0x90,0x9e,0xdb,0xe0,0xfe, -0xb4,0x06,0x06,0xe4,0xff,0xb1,0xe6,0x80,0x06,0xee,0xb4,0x02,0x02,0xb1,0xdb,0x02, -0x4f,0xec,0x90,0x9e,0xdb,0xe0,0xfe,0xb4,0x06,0x06,0xe4,0xff,0xb1,0xe6,0x80,0x14, -0xee,0xb4,0x03,0x07,0x7f,0x01,0x12,0x4f,0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4, -0x02,0x02,0xb1,0xdb,0x90,0x9e,0xdb,0xe0,0xb4,0x01,0x04,0xd1,0x15,0x80,0x09,0x90, -0x9e,0xdb,0xe0,0xb4,0x05,0x02,0xb1,0xd1,0xe1,0x87,0x90,0x9e,0xdb,0xe0,0xfe,0xb4, -0x06,0x06,0xe4,0xff,0xb1,0xe6,0x80,0x14,0xee,0xb4,0x03,0x07,0x7f,0x01,0x12,0x4f, -0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x02,0xb1,0xdb,0x90,0x9e,0xdb,0xe0, -0xb4,0x01,0x04,0xd1,0x15,0x80,0x0b,0x90,0x9e,0xdb,0xe0,0xb4,0x04,0x04,0x7f,0x01, -0xb1,0xfc,0x02,0x8f,0xa7,0x90,0x9e,0xdb,0xe0,0xb4,0x04,0x06,0x7f,0x01,0xb1,0xfc, -0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x05,0x02,0xb1,0xd1,0x90,0x9e,0xdb,0xe0,0x70, -0x05,0x12,0x4d,0xdb,0x80,0x17,0x90,0x9e,0xdb,0xe0,0xb4,0x03,0x07,0xe4,0xff,0x12, -0x4f,0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x02,0xb1,0xdb,0x12,0x8f,0xc1, -0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xdb,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0, -0x90,0x9e,0xdb,0x04,0xf0,0x22,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0xef,0x60,0x05, -0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xdb,0x74,0x01,0xf0,0x22,0x90,0x9f,0x1d,0xef, -0xf0,0x12,0x4f,0x49,0x90,0x9f,0x1d,0xe0,0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0xe4, -0x90,0x9e,0xdb,0xf0,0x22,0x7f,0x01,0x12,0x4f,0xb4,0xe4,0x90,0x9e,0xdb,0xf0,0x22, -0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xe1,0xe0,0x90,0x9f,0x1c,0xf0,0x6f, -0x70,0x02,0xc1,0xf0,0xef,0x14,0x60,0x3d,0x14,0x60,0x61,0x14,0x70,0x02,0xc1,0xc7, -0x24,0x03,0x60,0x02,0xc1,0xf0,0x90,0x9f,0x1c,0xe0,0xb4,0x03,0x04,0xf1,0x0c,0xc1, -0xf0,0x90,0x9f,0x1c,0xe0,0xb4,0x02,0x04,0xf1,0x24,0xc1,0xf0,0x90,0x9f,0x1c,0xe0, -0xb4,0x04,0x04,0xf1,0x28,0xc1,0xf0,0x90,0x9f,0x1c,0xe0,0x64,0x01,0x60,0x02,0xc1, -0xf0,0xf1,0x0e,0x80,0x7b,0x90,0x9f,0x1c,0xe0,0xff,0xb4,0x03,0x04,0xf1,0xa3,0x80, -0x6f,0xef,0xb4,0x02,0x04,0xf1,0x40,0x80,0x67,0x90,0x9f,0x1c,0xe0,0xff,0xb4,0x04, -0x04,0xf1,0x35,0x80,0x5b,0xef,0x70,0x58,0xf1,0x90,0x80,0x54,0x90,0x9f,0x1c,0xe0, -0xb4,0x03,0x04,0xf1,0x4e,0x80,0x49,0x90,0x9f,0x1c,0xe0,0xb4,0x01,0x04,0xd1,0xf7, -0x80,0x3e,0x90,0x9f,0x1c,0xe0,0xb4,0x04,0x04,0xf1,0x2c,0x80,0x33,0x90,0x9f,0x1c, -0xe0,0x70,0x2d,0xd1,0xf5,0x80,0x29,0x90,0x9f,0x1c,0xe0,0xff,0xb4,0x01,0x05,0x12, -0x4f,0x7d,0x80,0x1c,0xef,0xb4,0x02,0x05,0x12,0x44,0xfc,0x80,0x13,0x90,0x9f,0x1c, -0xe0,0xff,0xb4,0x04,0x05,0x12,0x4f,0xdc,0x80,0x06,0xef,0x70,0x03,0x12,0x4f,0xde, -0xd0,0xd0,0x92,0xaf,0x22,0xf1,0x90,0x12,0x8f,0xd5,0xef,0x70,0x06,0x90,0x01,0xc8, -0x74,0xfd,0xf0,0xf1,0x64,0x90,0x9e,0xe1,0x74,0x02,0xf0,0x22,0xf1,0xa3,0x7d,0x03, -0x7f,0x02,0x12,0x3a,0x71,0x90,0x05,0x27,0xe4,0xf0,0xe0,0x54,0xbf,0xf0,0xe4,0x90, -0x9e,0xe1,0xf0,0x22,0xf1,0x40,0x80,0xe6,0xf1,0x35,0x80,0xe2,0xf1,0x64,0x90,0x9e, -0xe1,0x74,0x02,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xe1,0x04,0xf0,0x22, -0x12,0x4f,0x49,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xe1,0x04,0xf0,0x22,0x90,0x05, -0x27,0xe0,0x44,0x40,0xf0,0xf1,0x5e,0x90,0x9e,0xe1,0x74,0x02,0xf0,0x22,0x90,0x05, -0x22,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x54,0xfe,0xf0,0x12,0x4f,0x6d,0x90,0x01, -0x00,0x74,0x3f,0xf0,0xa3,0xe0,0x54,0xfd,0xf0,0x90,0x05,0x53,0xe0,0x44,0x20,0xf0, -0x90,0x01,0xba,0x74,0xcc,0xf0,0x22,0xf1,0x5e,0x90,0x9e,0xdb,0x74,0x04,0xf0,0x22, -0x90,0x01,0x3e,0x74,0x03,0xf0,0xfd,0x7f,0x02,0x12,0x3a,0xdf,0x90,0x9e,0xe1,0x74, -0x01,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90, -0x9e,0xe1,0x74,0x01,0xf0,0x22,0x90,0x9e,0x90,0xe0,0x60,0x16,0x90,0x9e,0xdb,0xe0, -0x70,0x04,0x7f,0x05,0x80,0x1f,0x90,0x9e,0xdb,0xe0,0x64,0x01,0x70,0x19,0x7f,0x02, -0x80,0x13,0x90,0x9e,0xdb,0xe0,0xb4,0x01,0x04,0x7f,0x03,0x80,0x08,0x90,0x9e,0xdb, -0xe0,0x70,0x04,0x7f,0x04,0x91,0x13,0x22,0x75,0x30,0x1f,0x75,0x31,0x01,0xe4,0xf5, -0x32,0x43,0x32,0x20,0x90,0x01,0x38,0xe5,0x30,0xf0,0xa3,0xe5,0x31,0xf0,0xa3,0xe5, -0x32,0xf0,0x22,0x90,0x01,0x30,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,0x01, -0x38,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xfd,0x7f,0x50,0x12,0x44,0xcc,0xe4,0xfd, -0x7f,0x51,0x12,0x44,0xcc,0xe4,0xfd,0x7f,0x52,0x12,0x44,0xcc,0xe4,0xfd,0x7f,0x53, -0x02,0x44,0xcc,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00, -0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07, -0x90,0x01,0xc4,0x74,0x33,0xf0,0x74,0x58,0xa3,0xf0,0x90,0x01,0x34,0xe0,0x55,0x28, -0xf5,0x2c,0x90,0x01,0x36,0xe0,0x55,0x2a,0xf5,0x2e,0xa3,0xe0,0x55,0x2b,0xf5,0x2f, -0xe5,0x2c,0x20,0xe0,0x02,0x21,0xe9,0x90,0x01,0x34,0x74,0x01,0xf0,0x85,0xd1,0x4d, -0x85,0xd3,0x4f,0x85,0xd4,0x50,0x85,0xd5,0x51,0x85,0xd6,0x52,0x85,0xd7,0x53,0x85, -0xd9,0x54,0x85,0xd2,0x4e,0x78,0xac,0x7c,0x9e,0xfd,0x7b,0x00,0x7a,0x00,0x79,0x4d, -0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde,0x90,0x9e,0xad,0xe0,0xff,0xc4,0x13,0x54,0x01, -0xfe,0xef,0xc4,0x13,0x13,0x54,0x01,0x6e,0x70,0x02,0x21,0x9b,0x90,0x9e,0xad,0xe0, -0xff,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x02,0x21,0x9b,0xef,0x54,0x1f,0xf5, -0x08,0x90,0x9e,0xae,0xe0,0x54,0x3f,0xf5,0x09,0x90,0x9e,0xb0,0xe0,0x54,0x1f,0xff, -0xe5,0x08,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe4,0x8f,0xf0, -0x12,0x42,0x54,0xe5,0x09,0xd3,0x94,0x04,0x40,0x03,0x75,0x09,0x04,0x75,0xf0,0x0a, -0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75,0xf0,0x02,0xe5,0x09,0x12,0x43,0x52, -0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0xb0,0xe0,0x54,0x1f,0x2f,0xff,0xe4,0x3e,0xfe, -0x75,0xf0,0x0a,0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75,0xf0,0x02,0xe5,0x09, -0x12,0x43,0x52,0xee,0xf0,0xa3,0xef,0xf0,0x90,0x9e,0xad,0xe0,0xc4,0x13,0x13,0x54, -0x03,0x20,0xe0,0x28,0x90,0x9e,0xb0,0xe0,0x54,0x1f,0xff,0xe5,0x08,0x25,0xe0,0x24, -0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0x8f,0xf0,0x12,0x42,0x54,0x90,0x9e, -0xaf,0xe0,0x30,0xe7,0x36,0xaf,0x08,0x12,0x74,0xbb,0x80,0x2f,0x90,0x9e,0xb0,0xe0, -0x54,0x1f,0xff,0xfd,0xe5,0x08,0x25,0xe0,0x24,0x44,0xf5,0x82,0xe4,0x34,0x99,0xf5, -0x83,0xe4,0x8d,0xf0,0x12,0x42,0x54,0x90,0x9e,0xaf,0xe0,0xfe,0x30,0xe7,0x0c,0x54, -0x7f,0xfd,0x8f,0x0d,0xab,0x09,0xaf,0x08,0x12,0x74,0x58,0xe5,0x6a,0x14,0x24,0xfd, -0x50,0x02,0x80,0x45,0x90,0x9e,0x9e,0xe0,0x60,0x37,0x90,0x01,0x5b,0xe4,0xf0,0x90, -0x01,0x3c,0x74,0x04,0xf0,0x91,0xb8,0xef,0x64,0x01,0x70,0x2d,0x90,0x9e,0x93,0xe0, -0xf5,0x48,0x75,0x49,0x00,0xe4,0xfb,0xfd,0x7f,0x58,0x7e,0x01,0x12,0x39,0xa9,0x90, -0x01,0x5b,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x01,0xf0,0x90,0x9e,0x9c,0xf0,0x80, -0x08,0x91,0xb8,0xbf,0x01,0x03,0x12,0x4d,0xca,0xe5,0x2c,0x30,0xe1,0x7b,0x90,0x01, -0x34,0x74,0x02,0xf0,0x90,0xfd,0x10,0x74,0x7f,0xf0,0x90,0x04,0x7f,0xe0,0x54,0x07, -0xf5,0x55,0x90,0x04,0x7e,0xe0,0x54,0x07,0xf5,0x56,0x65,0x55,0x60,0x5b,0xe4,0xff, -0x75,0xf0,0x08,0xe5,0x55,0xa4,0x2f,0xf5,0x82,0xe4,0x35,0xf0,0xf5,0x83,0xe5,0x82, -0x24,0xc0,0xf5,0x82,0xe5,0x83,0x34,0xfc,0xf5,0x83,0xe0,0xfe,0x74,0x58,0x2f,0xf8, -0xa6,0x06,0x0f,0xbf,0x08,0xda,0x78,0xa3,0x7c,0x9e,0x7d,0x01,0x7b,0x00,0x7a,0x00, -0x79,0x58,0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde,0x90,0x9e,0xa3,0xe0,0xff,0xc4,0x13, -0x13,0x54,0x03,0x30,0xe0,0x02,0xb1,0x18,0xe5,0x55,0x24,0x01,0xff,0xef,0x54,0x07, -0xf5,0x55,0x90,0x04,0x7f,0xf0,0xb5,0x56,0xa5,0xe5,0x2c,0x30,0xe3,0x10,0x90,0x01, -0x34,0x74,0x08,0xf0,0x90,0x9e,0xc1,0xe0,0x30,0xe0,0x03,0x43,0x57,0x04,0xe5,0x2c, -0x30,0xe4,0x09,0x90,0x01,0x34,0x74,0x10,0xf0,0x43,0x57,0x10,0xe5,0x2c,0x30,0xe5, -0x25,0x90,0x01,0xcf,0xe0,0x30,0xe5,0x1e,0xe0,0x54,0xdf,0xf0,0x90,0x01,0x34,0x74, -0x20,0xf0,0x75,0xa8,0x00,0x75,0xe8,0x00,0x11,0x03,0x90,0x00,0x03,0xe0,0x54,0xfb, -0xf0,0x12,0x4f,0x6d,0x80,0xfe,0xe5,0x2c,0x30,0xe6,0x06,0x90,0x01,0x34,0x74,0x40, -0xf0,0xe5,0x2e,0x30,0xe0,0x41,0x90,0x9e,0xbb,0x74,0x01,0xf0,0x90,0x01,0x36,0xf0, -0x12,0x95,0xd8,0x90,0x9e,0xe0,0xe0,0x30,0xe0,0x0d,0x13,0x13,0x54,0x3f,0x30,0xe0, -0x06,0x90,0x9e,0xe2,0x74,0x01,0xf0,0x90,0x9e,0xda,0xe0,0xff,0x30,0xe0,0x0d,0x13, -0x13,0x54,0x3f,0x30,0xe0,0x06,0x90,0x9e,0xdc,0x74,0x01,0xf0,0x12,0x4e,0x7a,0x12, -0x94,0xbe,0x90,0x9e,0xbb,0xe4,0xf0,0xe5,0x2e,0x30,0xe1,0x60,0x90,0x01,0x36,0x74, -0x02,0xf0,0x43,0x57,0x40,0x12,0x96,0x30,0x90,0x01,0x02,0xe0,0x54,0x03,0x64,0x01, -0x70,0x29,0x90,0x01,0x37,0xe0,0x30,0xe0,0x0a,0x74,0x01,0xf0,0x90,0x9e,0xab,0xe4, -0xf0,0x80,0x18,0x90,0x9e,0xab,0xe0,0x04,0xf0,0xe0,0xc3,0x94,0x0a,0x40,0x0c,0xe4, -0xf0,0x90,0x04,0x19,0xe0,0x30,0xe0,0x03,0x12,0x4f,0xfe,0x90,0x9e,0xda,0xe0,0x30, -0xe0,0x0d,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0x90, -0x9e,0xa0,0xe0,0x60,0x07,0x7d,0x02,0x7f,0x02,0x12,0x3a,0x54,0xe5,0x2e,0x30,0xe2, -0x43,0x90,0x01,0x36,0x74,0x04,0xf0,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x06,0xa3,0xe0, -0x64,0x06,0x60,0x30,0x12,0x65,0x92,0x90,0x9e,0xa0,0xe0,0x60,0x27,0x90,0x9e,0x9d, -0xe0,0xff,0x90,0x9e,0x8e,0xe0,0xb5,0x07,0x1b,0x90,0x9e,0x9d,0xe0,0x90,0x05,0x73, -0xf0,0x90,0x01,0x3f,0x74,0x10,0xf0,0xfd,0x7f,0x03,0x12,0x3a,0xdf,0x7d,0x01,0x7f, -0x02,0x12,0x3a,0x54,0xe5,0x2e,0x30,0xe3,0x34,0x90,0x01,0x36,0x74,0x08,0xf0,0xe5, -0x67,0x64,0x01,0x70,0x28,0xe5,0x6a,0x60,0x24,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01, -0x3c,0x74,0x02,0xf0,0x75,0x48,0x00,0x90,0x9e,0x95,0xe0,0xf5,0x49,0xe4,0xfb,0xfd, -0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x2e,0x30, -0xe4,0x2b,0x90,0x01,0x36,0x74,0x10,0xf0,0xe5,0x67,0xb4,0x01,0x20,0xe5,0x6a,0x60, -0x1c,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0x9f,0xe4, -0xf0,0x53,0x6b,0xfd,0xe5,0x6b,0x54,0x07,0x70,0x03,0x12,0x4d,0xca,0xe5,0x2e,0x30, -0xe5,0x25,0x90,0x01,0x36,0x74,0x20,0xf0,0xe5,0x67,0xb4,0x01,0x1a,0xe5,0x6a,0x60, -0x16,0x90,0x9e,0x9e,0xe0,0x64,0x02,0x60,0x0b,0xe5,0x68,0x64,0x0c,0x60,0x08,0x12, -0x64,0x90,0x80,0x03,0x12,0x66,0x76,0xe5,0x2e,0x30,0xe6,0x1b,0x90,0x01,0x36,0x74, -0x40,0xf0,0xe5,0x67,0xb4,0x01,0x10,0xe5,0x6a,0x60,0x0c,0x53,0x6b,0xfe,0xe5,0x6b, -0x54,0x07,0x70,0x03,0x12,0x4d,0xca,0xe5,0x2f,0x30,0xe1,0x26,0x90,0x01,0x37,0x74, -0x02,0xf0,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x17,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60, -0x07,0x91,0xd1,0x12,0x4e,0x27,0x80,0x0a,0x90,0x9e,0xdf,0x74,0x01,0xf0,0x80,0x02, -0x91,0xd1,0x74,0x33,0x04,0x90,0x01,0xc4,0xf0,0x74,0x58,0xa3,0xf0,0xd0,0x07,0xd0, -0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0,0xd0,0xd0, -0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x90,0x04,0x1a,0xe0,0xf4,0x60,0x03,0x7f, -0x00,0x22,0x90,0x04,0x1b,0xe0,0x54,0x07,0x64,0x07,0x7f,0x01,0x60,0x02,0x7f,0x00, -0x22,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0xe5,0x6a,0x14,0x24,0xfd,0x50,0x06,0x24, -0xfd,0x50,0x24,0x80,0x32,0x90,0x9e,0x86,0xe0,0x20,0xe0,0x2b,0x90,0x9e,0x9e,0xe0, -0x60,0x06,0x7d,0x01,0x7f,0x0c,0x80,0x1c,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50, -0x16,0x7d,0x01,0x7f,0x04,0x80,0x0d,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x07, -0x7d,0x01,0x7f,0x04,0x12,0x49,0x21,0x22,0x90,0x9e,0x52,0xe0,0x54,0xf0,0x44,0x03, -0xf0,0x54,0x0f,0x44,0x80,0xf0,0x7b,0x00,0x7a,0x00,0x79,0x58,0x90,0x9e,0xfe,0x12, -0x43,0x7e,0x0b,0x7a,0x9e,0x79,0x52,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e, -0xfb,0x12,0x43,0x7e,0x90,0x9d,0xa9,0xe0,0xff,0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07, -0x7d,0x02,0x7f,0x03,0x12,0x3a,0xdf,0x90,0x9d,0xa8,0xe0,0x70,0x06,0xa3,0xe0,0x64, -0x09,0x60,0x0b,0x90,0x9d,0xa8,0xe0,0x14,0xff,0xa3,0xe0,0xb5,0x07,0x0d,0xf1,0x05, -0xef,0x60,0x71,0xb1,0xe9,0x90,0x01,0x3f,0x74,0x02,0xf0,0x90,0x9d,0xa9,0xe0,0x75, -0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35,0xf0,0xa8,0x01,0xfc,0x7d,0x01,0x90, -0x9e,0xfb,0x12,0x43,0x5e,0x7e,0x00,0x7f,0x02,0x12,0x1e,0xde,0x90,0x9d,0xa9,0xe0, -0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d,0x35,0xf0,0xfa,0x7b,0x01,0xc0,0x03, -0xc0,0x02,0xc0,0x01,0x90,0x9e,0xfe,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65, -0x90,0x9e,0xfb,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc4,0x54,0x0f,0xf5,0x66,0xd0, -0x01,0xd0,0x02,0xd0,0x03,0x12,0x47,0x40,0x90,0x9d,0xa9,0xe0,0x04,0xf0,0xe0,0xb4, -0x0a,0x02,0xe4,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0, -0x90,0x9d,0xa8,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35,0xf0,0xfa, -0x7b,0x01,0xc0,0x02,0xc0,0x01,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d, -0x35,0xf0,0xfa,0x90,0x9e,0xf8,0x12,0x43,0x7e,0xd0,0x01,0xd0,0x02,0xd1,0x43,0x90, -0x9d,0xa8,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x02,0xe4,0xf0,0x90,0x9d,0xa9,0xe0,0xff, -0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x71,0xd0,0xd0, -0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xf5,0x12,0x43,0x7e, -0x90,0x9d,0xa7,0xe0,0xff,0x04,0xf0,0x90,0x00,0x01,0xef,0x12,0x42,0x32,0xf1,0x05, -0xef,0x70,0x02,0xe1,0x00,0x90,0x9e,0xf5,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89, -0x65,0x75,0x66,0x02,0x7b,0x01,0x7a,0x01,0x79,0xa0,0x12,0x47,0x40,0x90,0x9e,0xf8, -0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x90,0x9e,0xf5,0x12,0x43,0x5e,0x12, -0x1f,0x04,0xff,0xc4,0x54,0x0f,0xf5,0x66,0x7b,0x01,0x7a,0x01,0x79,0xa2,0x12,0x47, -0x40,0x90,0x01,0xaf,0x74,0xff,0xf0,0x90,0x9e,0xba,0xe0,0x64,0x01,0x70,0x4a,0x90, -0x9e,0xf5,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x75,0x66,0x02,0x7b,0x01, -0x7a,0xfd,0x79,0x20,0x12,0x47,0x40,0x90,0x9e,0xf8,0x12,0x43,0x5e,0x8b,0x63,0x8a, -0x64,0x89,0x65,0x90,0x9e,0xf5,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc4,0x54,0x0f, -0xf5,0x66,0x7b,0x01,0x7a,0xfd,0x79,0x22,0x12,0x47,0x40,0x90,0x9e,0xa1,0xe0,0xfe, -0xa3,0xe0,0xf5,0x82,0x8e,0x83,0x74,0xff,0xf0,0x90,0x01,0xcb,0xe0,0x64,0x80,0xf0, -0xd0,0xd0,0x92,0xaf,0x22,0x7f,0xaf,0x7e,0x01,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0, -0x90,0x9f,0x06,0xee,0xf0,0xa3,0xef,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0x90,0x9f,0x06, -0xe0,0xfe,0xa3,0xe0,0xf5,0x82,0x8e,0x83,0xe0,0x60,0x2d,0xc3,0x90,0x9f,0x09,0xe0, -0x94,0xe8,0x90,0x9f,0x08,0xe0,0x94,0x03,0x40,0x0b,0x90,0x01,0xc6,0xe0,0x44,0x10, -0xf0,0x7f,0x00,0x80,0x15,0x90,0x9f,0x08,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f, -0x0a,0x7e,0x00,0x12,0x3b,0x3b,0x80,0xc5,0x7f,0x01,0xd0,0xd0,0x92,0xaf,0x22,0x90, -0x9e,0xdf,0xe0,0xb4,0x01,0x04,0xe4,0xf0,0x91,0xd1,0x22,0x90,0x9e,0xda,0xe0,0xff, -0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x0b,0xa3,0xe0,0x64,0x06,0x60,0x05,0x7f,0x06, -0x12,0x54,0x13,0x90,0x9e,0xdb,0xe0,0x64,0x06,0x60,0x02,0xf1,0x5f,0x22,0xad,0x07, -0x90,0x9e,0x56,0xe0,0x54,0xf0,0x44,0x05,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e, -0x58,0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x58,0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a, -0x9e,0x79,0x56,0xa1,0x37,0xad,0x07,0x90,0x9e,0x60,0xe0,0x54,0xf0,0x44,0x07,0xf0, -0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x62,0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62, -0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0xa1,0x37,0x90,0x01,0x3c,0x74, -0xff,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,0x01,0x34,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0, -0xfd,0x7f,0x54,0x12,0x44,0xcc,0x7d,0xff,0x7f,0x55,0x12,0x44,0xcc,0x7d,0xff,0x7f, -0x56,0x12,0x44,0xcc,0x7d,0xff,0x7f,0x57,0x02,0x44,0xcc,0x90,0x00,0xf4,0xe0,0x20, -0xe3,0x09,0xe0,0x7f,0x01,0x20,0xe2,0x05,0x7f,0x02,0x22,0x7f,0x00,0x22,0x90,0x00, -0xf3,0xe0,0x7f,0x00,0x30,0xe3,0x02,0x7f,0x01,0x22,0x90,0x9e,0xbc,0xe0,0xb4,0x01, -0x0c,0x90,0x00,0xf2,0xe0,0x30,0xe7,0x05,0x7e,0xfd,0x7f,0x33,0x22,0x7e,0xfd,0x7f, -0x2f,0x22,0x90,0x00,0xf3,0xe0,0x30,0xe2,0x0d,0x90,0x05,0x41,0x74,0x10,0xf0,0x90, -0x05,0x5a,0xf0,0xa3,0xe4,0xf0,0x22,0x90,0x01,0x64,0x74,0x20,0xf0,0x22,0xe4,0x90, -0x9e,0x6b,0xf0,0xa3,0xf0,0x90,0x01,0x98,0xe0,0x7f,0x00,0x30,0xe4,0x02,0x7f,0x01, -0xef,0x64,0x01,0x60,0x3e,0xc3,0x90,0x9e,0x6c,0xe0,0x94,0x88,0x90,0x9e,0x6b,0xe0, -0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0,0x44,0x80,0xf0,0x22,0x90,0x9e,0x6b,0xe4, -0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b,0xd3,0x90,0x9e, -0x6c,0xe0,0x94,0x32,0x90,0x9e,0x6b,0xe0,0x94,0x00,0x40,0xb9,0x90,0x01,0xc7,0xe0, -0x30,0xe3,0xb2,0x22,0x90,0x01,0x94,0xe0,0x44,0x01,0xf0,0x22,0x90,0x01,0x01,0xe0, -0x44,0x04,0xf0,0x90,0x01,0x9c,0x74,0x7e,0xf0,0xa3,0x74,0x92,0xf0,0xa3,0x74,0xa0, -0xf0,0xa3,0x74,0x24,0xf0,0x90,0x01,0x9b,0x74,0x49,0xf0,0x90,0x01,0x9a,0x74,0xe0, -0xf0,0x90,0x01,0x99,0xe4,0xf0,0x90,0x01,0x98,0x04,0xf0,0x22,0xc0,0xe0,0xc0,0x83, -0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x05,0xc0,0x06,0xc0,0x07,0x7d,0xec,0x90, -0x01,0xc4,0xed,0xf0,0x74,0x60,0xff,0xa3,0xf0,0x53,0x91,0xef,0x90,0x00,0x51,0xe0, -0xfe,0x90,0x00,0x55,0xe0,0x5e,0xf5,0x3d,0x90,0x00,0x52,0xe0,0xfe,0x90,0x00,0x56, -0xe0,0x5e,0xf5,0x3e,0xe5,0x3d,0x30,0xe4,0x06,0x90,0x00,0x55,0x74,0x10,0xf0,0xe5, -0x3d,0x30,0xe5,0x06,0x90,0x00,0x55,0x74,0x20,0xf0,0xe5,0x3d,0x30,0xe6,0x06,0x90, -0x00,0x55,0x74,0x40,0xf0,0xe5,0x3d,0x30,0xe7,0x06,0x90,0x00,0x55,0x74,0x80,0xf0, -0xe5,0x3e,0x30,0xe0,0x06,0x90,0x00,0x56,0x74,0x01,0xf0,0xe5,0x3e,0x30,0xe1,0x06, -0x90,0x00,0x56,0x74,0x02,0xf0,0xe5,0x3e,0x30,0xe2,0x06,0x90,0x00,0x56,0x74,0x04, -0xf0,0xe5,0x3e,0x30,0xe3,0x06,0x90,0x00,0x56,0x74,0x08,0xf0,0x90,0x01,0xc4,0xed, -0xf0,0xa3,0xef,0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0xd0,0xd0,0x82,0xd0,0x83, -0xd0,0xe0,0x32,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00, -0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07, -0x90,0x01,0xc4,0x74,0x93,0xf0,0x74,0x61,0xa3,0xf0,0x53,0x91,0xdf,0x90,0x01,0x3c, -0xe0,0x55,0x30,0xf5,0x34,0xa3,0xe0,0x55,0x31,0xf5,0x35,0xa3,0xe0,0x55,0x32,0xf5, -0x36,0xa3,0xe0,0x55,0x33,0xf5,0x37,0xe5,0x34,0x30,0xe0,0x06,0x90,0x01,0x3c,0x74, -0x01,0xf0,0xe5,0x34,0x30,0xe1,0x08,0x90,0x01,0x3c,0x74,0x02,0xf0,0xd1,0x38,0xe5, -0x34,0x30,0xe2,0x36,0x90,0x01,0x3c,0x74,0x04,0xf0,0x90,0x06,0x92,0xe0,0x30,0xe0, -0x21,0x75,0x48,0x00,0x90,0x9e,0x93,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x58,0x7e, -0x01,0x12,0x39,0xa9,0x90,0x01,0x5b,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x01,0xf0, -0x80,0x08,0x90,0x9e,0x9c,0xe4,0xf0,0x12,0x4d,0xca,0xe5,0x34,0x30,0xe3,0x36,0x90, -0x01,0x3c,0x74,0x08,0xf0,0x90,0x06,0x92,0xe0,0x30,0xe1,0x21,0x75,0x48,0x00,0x90, -0x9e,0x93,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c,0x7e,0x01,0x12,0x39,0xa9,0x90, -0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02,0xf0,0x80,0x08,0x90,0x9e,0x9b, -0xe4,0xf0,0x12,0x4d,0xca,0xe5,0x34,0x30,0xe4,0x09,0x90,0x01,0x3c,0x74,0x10,0xf0, -0x12,0x49,0xa3,0xe5,0x34,0x30,0xe5,0x06,0x90,0x01,0x3c,0x74,0x20,0xf0,0xe5,0x35, -0x30,0xe0,0x18,0x90,0x01,0x3d,0x74,0x01,0xf0,0x90,0x01,0x2f,0xe0,0x44,0x7f,0xf0, -0x90,0x00,0x83,0xe0,0xf5,0x69,0x91,0x71,0x12,0x4d,0xca,0xe5,0x35,0x30,0xe2,0x0c, -0x90,0x01,0x3d,0x74,0x04,0xf0,0x53,0x6b,0xfb,0x12,0x4d,0xca,0xe5,0x36,0x30,0xe0, -0x6d,0x90,0x01,0x3e,0x74,0x01,0xf0,0x90,0x9e,0xe0,0xe0,0x30,0xe0,0x13,0xa3,0xe0, -0x64,0x03,0x60,0x0d,0x7f,0x01,0x12,0x4e,0x6c,0xef,0x60,0x05,0x7f,0x01,0x12,0x56, -0x20,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x46,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60,0x3e, -0x12,0x5f,0x6b,0x90,0x9e,0xdb,0xe0,0xff,0x64,0x06,0x60,0x32,0xef,0xb4,0x04,0x02, -0x80,0x07,0x90,0x9e,0xdb,0xe0,0xb4,0x05,0x04,0xe4,0xff,0x80,0x14,0x90,0x9e,0xdb, -0xe0,0xb4,0x03,0x04,0x7f,0x01,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x05,0x7f, -0x01,0x12,0x54,0x13,0x7d,0x01,0xaf,0x69,0x12,0x49,0x21,0x12,0x4e,0x27,0xe5,0x36, -0x30,0xe1,0x3c,0x90,0x01,0x3e,0x74,0x02,0xf0,0x90,0x9e,0xe0,0xe0,0x30,0xe0,0x13, -0xa3,0xe0,0x64,0x03,0x60,0x0d,0x7f,0x01,0x12,0x4e,0x6c,0xef,0x70,0x05,0x7f,0x02, -0x12,0x56,0x20,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x15,0xd1,0xbc,0x90,0x9e,0xdb,0xe0, -0x64,0x06,0x60,0x0b,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x70,0x03,0x12,0x57,0xb6,0xe5, -0x36,0x30,0xe3,0x09,0x90,0x01,0x3e,0x74,0x08,0xf0,0x43,0x6b,0x04,0xe5,0x36,0x30, -0xe4,0x06,0x90,0x01,0x3e,0x74,0x10,0xf0,0xe5,0x36,0x30,0xe2,0x76,0x90,0x01,0x3e, -0x74,0x04,0xf0,0x90,0x07,0x8f,0xe0,0x30,0xe7,0x13,0x74,0x80,0xf0,0x90,0x07,0x95, -0x74,0x04,0xf0,0xa3,0xe0,0x44,0x04,0xf0,0xe4,0xff,0x12,0x4d,0xe4,0x90,0x07,0x8f, -0xe0,0x30,0xe6,0x12,0x74,0x40,0xf0,0x90,0x07,0x7c,0xe0,0xb4,0x06,0x08,0x90,0x07, -0x80,0xe0,0xff,0x12,0x5f,0x8e,0x90,0x07,0x8f,0xe0,0x30,0xe5,0x14,0x74,0x20,0xf0, -0xe4,0xff,0x12,0x4d,0xe4,0x90,0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01, -0xf0,0x90,0x07,0x95,0xe0,0x30,0xe2,0x0d,0x74,0x04,0xf0,0xa3,0xe0,0x54,0xfb,0xf0, -0x7f,0x01,0x12,0x4d,0xe4,0x90,0x07,0x95,0xe0,0x30,0xe0,0x07,0x74,0x01,0xf0,0xff, -0x12,0x4d,0xe4,0xe5,0x36,0x30,0xe5,0x06,0x90,0x01,0x3e,0x74,0x20,0xf0,0xe5,0x36, -0x30,0xe6,0x08,0x90,0x01,0x3e,0x74,0x40,0xf0,0x91,0x90,0xe5,0x36,0x30,0xe7,0x0c, -0x90,0x01,0x3e,0x74,0x80,0xf0,0x53,0x6b,0xfe,0x12,0x4d,0xca,0xe5,0x37,0x30,0xe1, -0x09,0x90,0x01,0x3f,0x74,0x02,0xf0,0x43,0x57,0x80,0xe5,0x37,0x30,0xe4,0x1c,0x90, -0x01,0x3f,0x74,0x10,0xf0,0x12,0x4e,0x7a,0x90,0x9e,0x9d,0xe0,0x90,0x05,0x73,0xf0, -0x90,0x01,0x36,0x74,0x02,0xf0,0xfd,0xff,0x12,0x3a,0xc5,0x74,0x93,0x04,0x90,0x01, -0xc4,0xf0,0x74,0x61,0xa3,0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03, -0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0,0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0, -0x32,0xe5,0x69,0x30,0xe6,0x19,0xe5,0x69,0x54,0x0f,0xff,0x90,0x9e,0x85,0xe0,0xfe, -0x4f,0x90,0x01,0x2f,0xf0,0xee,0x64,0x80,0x90,0x9e,0x85,0xf0,0x53,0x69,0xbf,0x22, -0x90,0x9e,0x86,0xe0,0x30,0xe0,0x11,0x90,0x05,0x22,0xe0,0x20,0xe4,0x20,0x12,0x47, -0xf3,0xef,0x64,0x01,0x70,0x18,0x80,0x06,0x12,0x47,0xf3,0xbf,0x01,0x10,0x90,0x9e, -0xb5,0xe0,0xff,0xe4,0xfd,0x12,0x48,0x28,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x90, -0x06,0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0,0x54,0xc0,0x70,0x09,0x53,0x6b,0xfe,0x53, -0x6b,0xfd,0x12,0x4d,0xca,0x90,0x9e,0x52,0xe0,0x30,0xe6,0x13,0x43,0x6b,0x01,0x90, -0x9e,0x9e,0xe0,0x64,0x02,0x60,0x04,0x91,0x90,0x80,0x07,0xd1,0x76,0x80,0x03,0x53, -0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x2a,0x43,0x6b,0x02,0xe4,0xf5,0x48,0x90, -0x9e,0x95,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90, -0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0x9f,0x74,0x01,0xf0,0x90,0x9e,0x89,0xe0,0x44, -0x04,0xf0,0x22,0x53,0x6b,0xfd,0x22,0x90,0x06,0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0, -0x54,0xc0,0x70,0x09,0x53,0x6b,0xfe,0x53,0x6b,0xfd,0x02,0x4d,0xca,0x90,0x9e,0x52, -0xe0,0x30,0xe6,0x1d,0x90,0x9e,0x8d,0xe0,0x70,0x07,0x43,0x6b,0x01,0x91,0x90,0x80, -0x13,0x90,0x9e,0x9e,0xe0,0xb4,0x01,0x0c,0x43,0x6b,0x04,0x7f,0x01,0xb1,0xff,0x80, -0x03,0x53,0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x23,0x43,0x6b,0x02,0xe4,0xf5, -0x48,0x90,0x9e,0x95,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39, -0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0x9f,0x74,0x01,0xf0,0x22,0x53,0x6b, -0xfd,0x22,0xe5,0x67,0x64,0x01,0x70,0x66,0xe5,0x6a,0x60,0x62,0xe5,0x6a,0x64,0x02, -0x60,0x06,0xe5,0x6a,0x64,0x05,0x70,0x27,0x90,0x06,0xab,0xe0,0x90,0x9e,0x8e,0xf0, -0x90,0x06,0xaa,0xe0,0x90,0x9e,0x9d,0xf0,0x90,0x9e,0x8e,0xe0,0x70,0x07,0x90,0x9e, -0x9d,0xe0,0xff,0x80,0x05,0x90,0x9e,0x8e,0xe0,0xff,0x90,0x9e,0x8e,0xef,0xf0,0x90, -0x9e,0x90,0xe0,0x60,0x03,0xe0,0x14,0xf0,0xe4,0x90,0x9e,0x8f,0xf0,0x90,0x01,0x57, -0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x53,0x6b,0xfd,0x53,0x6b,0xef,0xe5,0x6a,0x14, -0x24,0xfd,0x50,0x06,0x24,0xfd,0x50,0x04,0x80,0x04,0x81,0xbf,0xb1,0x27,0x22,0x8f, -0x6d,0x12,0x47,0xf3,0xef,0x64,0x01,0x70,0x2e,0x90,0x9e,0xb7,0x12,0x48,0x24,0xe5, -0x6d,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10, -0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef, -0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xe5,0x6a,0x60,0x39,0x90,0x9e,0x9f,0xe0, -0x60,0x0d,0xe4,0xf0,0x53,0x6b,0xfd,0xe5,0x6b,0x54,0x07,0x70,0x28,0x80,0x23,0x90, -0x9e,0x8f,0xe0,0x04,0xf0,0x53,0x6b,0xef,0x90,0x9e,0x94,0xe0,0xff,0x90,0x9e,0x8f, -0xe0,0xd3,0x9f,0x40,0x0d,0xe5,0x67,0xb4,0x01,0x0b,0xa3,0xe0,0x70,0x07,0xe0,0x04, -0xf0,0x22,0x12,0x4d,0xca,0x22,0x90,0x01,0x5f,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x08, -0xf0,0xe4,0xf5,0x48,0x90,0x9e,0x93,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c,0x7e, -0x01,0x12,0x39,0xa9,0x90,0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02,0xf0, -0x90,0x9e,0x9b,0x14,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x0c,0x50,0x0d,0x12,0x49, -0x1d,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x03,0x12,0x4e,0x27,0x22,0x90,0x01,0x57,0xe0, -0x60,0x3c,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0x9f, -0xe0,0x60,0x07,0xe4,0xf0,0x53,0x6b,0xfd,0x80,0x24,0x90,0x9e,0x8f,0xe0,0x04,0xf0, -0x53,0x6b,0xef,0x90,0x9e,0x94,0xe0,0xff,0x90,0x9e,0x8f,0xe0,0xd3,0x9f,0x40,0x0e, -0xe5,0x67,0xb4,0x01,0x09,0x90,0x9e,0x90,0xe0,0x70,0x03,0xe0,0x04,0xf0,0x90,0x01, -0x5b,0xe0,0x60,0x10,0x90,0x01,0x5b,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x04,0xf0,0xe4, -0x90,0x9e,0x9c,0xf0,0x90,0x01,0x5f,0xe0,0x60,0x10,0x90,0x01,0x5f,0xe4,0xf0,0x90, -0x01,0x3c,0x74,0x08,0xf0,0xe4,0x90,0x9e,0x9b,0xf0,0x22,0xc0,0xe0,0xc0,0xf0,0xc0, -0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03, -0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07,0x53,0x91,0xbf,0x90,0xfd,0x68,0xe0,0x20, -0xe0,0x03,0x02,0x68,0xe1,0x90,0x01,0xba,0xe0,0x04,0xf0,0x90,0xfd,0x62,0xe0,0x90, -0x01,0xbc,0xf0,0x90,0xfd,0x63,0xe0,0x90,0x01,0xbd,0xf0,0x90,0xfd,0x60,0xe0,0x90, -0x01,0xbe,0xf0,0x90,0xfd,0x60,0xe0,0x64,0x0e,0x60,0x03,0x02,0x68,0x22,0x90,0x9e, -0x43,0xe0,0xff,0x13,0x13,0x13,0x54,0x1f,0x20,0xe0,0x03,0x02,0x68,0x22,0x90,0xfd, -0x62,0xe0,0x54,0xc0,0xfe,0x90,0x07,0x90,0xe0,0x54,0x3f,0x4e,0xf0,0x90,0xfd,0x63, -0xe0,0x90,0x07,0x91,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x07,0x92,0xf0,0x90,0xfd,0x65, -0xe0,0x90,0x07,0x93,0xf0,0x90,0x07,0x95,0x74,0x01,0xf0,0xef,0x20,0xe0,0x44,0x90, -0x9e,0x43,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x19,0x90,0x07,0x78,0x12,0x68,0xfc, -0x90,0x9e,0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x48,0x90,0x07,0x83,0xe0,0x44,0x40, -0xf0,0x80,0x3f,0x90,0x9e,0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x11,0xe4,0xff,0x12, -0x4d,0xe4,0x90,0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01,0xf0,0x90,0x07, -0x78,0x80,0x13,0x90,0x9e,0x43,0xe0,0xff,0x13,0x13,0x54,0x3f,0x90,0x07,0x78,0x30, -0xe0,0x04,0x11,0xfc,0x80,0x0c,0xe0,0x44,0x10,0xf0,0xe0,0x44,0x20,0xf0,0xe0,0x54, -0xdf,0xf0,0x90,0xfd,0x60,0xe0,0xb4,0x0f,0x0a,0x90,0xfd,0x62,0xe0,0xff,0xa3,0xe0, -0xfd,0x51,0x62,0x90,0xfd,0x60,0xe0,0x64,0x15,0x70,0x64,0x90,0xfd,0x62,0xe0,0x90, -0x9e,0x5e,0xf0,0x90,0xfd,0x62,0xe0,0x30,0xe0,0x15,0x90,0x9e,0x5e,0xe0,0xf4,0x54, -0x3f,0x04,0xff,0x90,0x9e,0x4e,0xe0,0x13,0x13,0x54,0x3f,0xc3,0x9f,0x80,0x10,0x90, -0x9e,0x4e,0xe0,0x13,0x13,0x54,0x3f,0xff,0x90,0x9e,0x5e,0xe0,0x54,0x3f,0x2f,0x90, -0x9e,0x5d,0xf0,0x90,0x9e,0x5d,0xe0,0xff,0x54,0x30,0xc4,0x54,0x0f,0xfe,0xef,0x25, -0xe0,0x25,0xe0,0x4e,0x90,0x9e,0x5f,0xf0,0x90,0x00,0x2e,0xf0,0x90,0x9e,0x5d,0xe0, -0xc4,0x54,0xf0,0xff,0x90,0x9e,0x4f,0xe0,0x54,0x0f,0x4f,0x90,0x00,0x2d,0xf0,0x90, -0xfd,0x60,0xe0,0xb4,0x16,0x08,0x90,0xfd,0x62,0xe0,0xff,0x12,0x5f,0xb5,0x90,0xfd, -0x60,0xe0,0xb4,0x21,0x07,0x90,0xfd,0x62,0xe0,0xff,0x31,0xe9,0x90,0xfd,0x60,0xe0, -0xb4,0x22,0x02,0x51,0x11,0x90,0xfd,0x60,0xe0,0xb4,0x23,0x05,0xa3,0xe0,0xff,0x51, -0x8d,0x90,0xfd,0x60,0xe0,0xb4,0x24,0x02,0x51,0x39,0x90,0xfd,0x68,0xe0,0x44,0x01, -0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0, -0x00,0xd0,0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0xe0,0x54,0xef,0xf0, -0x90,0xfd,0x63,0xe0,0x54,0x3f,0x25,0xe0,0x25,0xe0,0xff,0x90,0xfd,0x62,0xe0,0x54, -0x03,0x4f,0x90,0x9e,0x5b,0xf0,0x90,0xfd,0x64,0xe0,0x54,0x3f,0x25,0xe0,0x25,0xe0, -0xff,0x90,0xfd,0x63,0xe0,0x54,0x03,0x4f,0x90,0x9e,0x5c,0xf0,0x90,0x9e,0x5b,0xe0, -0xfd,0xa3,0xe0,0xfb,0xe4,0xff,0x90,0x9e,0x60,0xef,0xf0,0xa3,0xed,0xf0,0xa3,0xeb, -0xf0,0x12,0x47,0xf3,0xef,0x64,0x01,0x60,0x02,0x21,0xe8,0x90,0x9e,0xb8,0x12,0x48, -0x24,0x90,0x9e,0x60,0xe0,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5, -0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5, -0x83,0xe0,0x54,0xef,0xf0,0xad,0x07,0x74,0x06,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5, -0x83,0xe0,0x44,0x10,0xf0,0x74,0x11,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0, -0x54,0xef,0xf0,0xad,0x07,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0, -0x44,0x02,0xf0,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0x03, -0xf0,0x90,0x9e,0x61,0xe0,0xfd,0xac,0x07,0x74,0x22,0x2c,0xf5,0x82,0xe4,0x34,0xfc, -0xf5,0x83,0xed,0xf0,0x90,0x9e,0x62,0xe0,0xfd,0x74,0x23,0x2c,0xf5,0x82,0xe4,0x34, -0xfc,0xf5,0x83,0xed,0xf0,0x74,0x24,0x2c,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0, -0x04,0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xad,0x07,0x90,0x9e,0x60,0xe0,0x54, -0xf0,0x44,0x09,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x62,0xef,0xf0,0x7b,0x01, -0x7a,0x9e,0x79,0x62,0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0x02,0x5d, -0x37,0x90,0x00,0x75,0xe0,0x44,0x01,0xf0,0x7f,0x01,0x7e,0x00,0x12,0x3a,0xaa,0x90, -0xfe,0x13,0x74,0x03,0xf0,0x7f,0x02,0x7e,0x00,0x12,0x3a,0xaa,0x90,0xfe,0x13,0xe4, -0xf0,0x90,0x00,0x75,0xe0,0x54,0xfe,0xf0,0x22,0x90,0x9e,0x60,0xe0,0x54,0xf0,0x44, -0x0d,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0xfd,0x62,0xe0,0x90,0x9e,0x62,0xf0,0x7b, -0x01,0x7a,0x9e,0x79,0x62,0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0x02, -0x5d,0x37,0xae,0x07,0x90,0x9e,0x60,0xe0,0x54,0xf0,0x44,0x04,0xf0,0x54,0x0f,0x44, -0x20,0xf0,0x90,0x9e,0x62,0xee,0xf0,0xa3,0xed,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62, -0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0x02,0x5d,0x37,0xad,0x07,0x90, -0x9e,0x60,0xe0,0x54,0xf0,0x44,0x0c,0xf0,0x54,0x0f,0xf0,0xed,0xb4,0x02,0x08,0xe0, -0x54,0x0f,0x44,0x20,0xf0,0x80,0x0d,0xed,0xb4,0x04,0x09,0x90,0x9e,0x60,0xe0,0x54, -0x0f,0x44,0x40,0xf0,0x90,0xfd,0x62,0xe0,0x90,0x9e,0x62,0xf0,0x90,0xfd,0x63,0xe0, -0x90,0x9e,0x63,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x9e,0x64,0xf0,0x90,0xfd,0x65,0xe0, -0x90,0x9e,0x65,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62,0x90,0x9e,0xfe,0x12,0x43,0x7e, -0x7a,0x9e,0x79,0x60,0x02,0x5d,0x37,0x8f,0x1f,0x8c,0x20,0x8d,0x21,0x22,0x8f,0x22, -0x8c,0x23,0x8d,0x24,0x22,0xe4,0x90,0x9e,0x6b,0xf0,0xa3,0xf0,0x90,0x02,0x86,0xe0, -0x20,0xe1,0x2c,0xc3,0x90,0x9e,0x6c,0xe0,0x94,0xd0,0x90,0x9e,0x6b,0xe0,0x94,0x07, -0x40,0x0a,0x90,0x01,0xc6,0xe0,0x44,0x20,0xf0,0x7f,0x00,0x22,0x90,0x9e,0x6b,0xe4, -0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x0a,0x7e,0x00,0x12,0x3b,0x3b,0x80,0xcd,0x7f, -0x01,0x22,0x90,0x01,0xcc,0xe0,0x54,0x0f,0x90,0x9e,0x6b,0xf0,0x90,0x9e,0x6b,0xe0, -0xfd,0x70,0x02,0x81,0x73,0x90,0x9f,0x19,0xe0,0xff,0x74,0x01,0x7e,0x00,0xa8,0x07, -0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xef,0x5d,0x70,0x02,0x81, -0x6c,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd0,0x12,0x43,0x52,0xe0,0x90, -0x9e,0x6c,0xf0,0x75,0x63,0x01,0x75,0x64,0x9e,0x75,0x65,0x6c,0x75,0x66,0x01,0x7b, -0x01,0x7a,0x9e,0x79,0x6d,0x12,0x47,0x40,0x90,0x9e,0x6d,0xe0,0xff,0xc4,0x13,0x13, -0x13,0x54,0x01,0x90,0x9f,0x19,0x30,0xe0,0x59,0xe0,0x75,0xf0,0x02,0x90,0x00,0x88, -0x12,0x43,0x52,0xe0,0x90,0x9e,0x6e,0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x02,0x90, -0x00,0x89,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6f,0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0, -0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x70,0xf0,0x90,0x9f,0x19,0xe0, -0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90,0x9e,0x71,0xf0,0x90,0x9f, -0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52,0xe0,0x90,0x9e,0x72,0xf0, -0x80,0x33,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6e, -0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90, -0x9e,0x6f,0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52, -0xe0,0x90,0x9e,0x70,0xf0,0xef,0x54,0x7f,0xff,0x7b,0x01,0x7a,0x9e,0x79,0x6e,0x91, -0x74,0x90,0x9e,0x6b,0xe0,0xff,0x90,0x9f,0x19,0xe0,0xfe,0x74,0x01,0xa8,0x06,0x08, -0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0x5f,0x90,0x9e,0x6b,0xf0,0x90,0x9f,0x19,0xe0, -0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x90,0x01,0xcc,0xf0, -0x90,0x9f,0x19,0xe0,0x04,0xf0,0xe0,0x54,0x03,0xf0,0x61,0x3c,0x90,0x01,0xc6,0xe0, -0x44,0x02,0xf0,0x22,0x90,0x9e,0x73,0x12,0x43,0x7e,0xef,0x12,0x43,0x87,0x6d,0x0c, -0x01,0x6d,0x15,0x02,0x6d,0x42,0x03,0x6d,0x4b,0x05,0x6d,0x54,0x06,0x6e,0xad,0x07, -0x6d,0x5c,0x08,0x6d,0x65,0x10,0x6d,0x6e,0x11,0x6d,0x77,0x12,0x6d,0x80,0x13,0x6d, -0x89,0x14,0x6d,0x92,0x15,0x6d,0x9b,0x16,0x6d,0xa5,0x17,0x6d,0xaf,0x18,0x6d,0xb9, -0x19,0x6e,0x82,0x1a,0x6e,0x8b,0x1b,0x6e,0x94,0x1c,0x6d,0xc2,0x1d,0x6d,0xcc,0x1e, -0x6d,0xd7,0x21,0x6d,0xe0,0x22,0x6d,0xe9,0x23,0x6d,0xf2,0x24,0x6d,0xfb,0x25,0x6e, -0x04,0x26,0x6e,0x0d,0x27,0x6e,0x16,0x28,0x6e,0x1f,0x29,0x6d,0x1e,0x2d,0x6d,0x27, -0x2e,0x6e,0x28,0x2f,0x6e,0x9d,0x30,0x6e,0x3a,0x32,0x6e,0x31,0x33,0x6d,0x39,0x34, -0x6e,0x43,0x36,0x6e,0x4c,0x37,0x6e,0x55,0x38,0x6e,0x5e,0x3a,0x6d,0x30,0x3b,0x6e, -0x79,0x3c,0x6e,0x67,0x3e,0x6e,0x70,0x3f,0x00,0x00,0x6e,0xa6,0x90,0x9e,0x73,0x12, -0x43,0x5e,0x02,0x84,0x62,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x84,0x8c,0x90,0x9e, -0x73,0x12,0x43,0x5e,0x02,0x84,0x92,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x84,0xda, -0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0x08,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02, -0x85,0x15,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0x30,0x90,0x9e,0x73,0x12,0x43, -0x5e,0x02,0x84,0x06,0x90,0x9e,0x73,0x12,0x43,0x5e,0xc1,0xae,0x90,0x9e,0x73,0x12, -0x43,0x5e,0x02,0x51,0x68,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0x78,0x90,0x9e, -0x73,0x12,0x43,0x5e,0x02,0x85,0xbf,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0xe6, -0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x86,0x05,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02, -0x86,0x1f,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x86,0xf7,0x90,0x9e,0x73,0x12,0x43, -0x5e,0x7f,0x01,0x80,0x2f,0x90,0x9e,0x73,0x12,0x43,0x5e,0x7f,0x02,0x80,0x25,0x90, -0x9e,0x73,0x12,0x43,0x5e,0x7f,0x03,0x80,0x1b,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02, -0x88,0x7c,0x90,0x9e,0x73,0x12,0x43,0x5e,0xe4,0xff,0x80,0x08,0x90,0x9e,0x73,0x12, -0x43,0x5e,0x7f,0x04,0x02,0x87,0x9a,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x88,0xee, -0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x89,0x15,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02, -0x89,0x3c,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x89,0x63,0x90,0x9e,0x73,0x12,0x43, -0x5e,0x02,0x89,0x8a,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x89,0xb1,0x90,0x9e,0x73, -0x12,0x43,0x5e,0x02,0x89,0xd8,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0x0f,0x90, -0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0x36,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a, -0x5e,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0xa1,0x90,0x9e,0x73,0x12,0x43,0x5e, -0x02,0x8a,0xca,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0xf3,0x90,0x9e,0x73,0x12, -0x43,0x5e,0x02,0x8c,0x86,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8c,0x98,0x90,0x9e, -0x73,0x12,0x43,0x5e,0x02,0x8c,0xcd,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8e,0x8a, -0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8e,0xb3,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02, -0x94,0x4b,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x92,0xc6,0x90,0x9e,0x73,0x12,0x43, -0x5e,0x02,0x84,0x4e,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x84,0x35,0x90,0x9e,0x73, -0x12,0x43,0x5e,0x02,0x94,0xf3,0x90,0x01,0xc6,0xe0,0x44,0x01,0xf0,0x22,0x90,0x00, -0x04,0x12,0x1f,0x1d,0xff,0x54,0x1f,0xfe,0xef,0x54,0x20,0xc4,0x13,0x54,0x07,0xfd, -0xaf,0x06,0x90,0x9e,0x76,0xef,0xf0,0xa3,0xed,0xf0,0xa3,0x12,0x43,0x7e,0x90,0x9e, -0x78,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f,0x1d,0x54,0xf0,0xc4,0x54,0x0f,0x90, -0x9e,0x7b,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x54,0x40,0xc4,0x13,0x13,0x54,0x03, -0x90,0x9e,0x7c,0xf0,0x90,0x9e,0x76,0xe0,0xff,0x75,0xf0,0x09,0x90,0x96,0x46,0x12, -0x43,0x52,0xad,0x82,0xac,0x83,0x90,0x9e,0x7d,0xec,0xf0,0xa3,0xed,0xf0,0xef,0x75, -0xf0,0x09,0xa4,0x24,0x44,0xf9,0x74,0x96,0x35,0xf0,0xfa,0x7b,0x01,0xa3,0x12,0x43, -0x7e,0x90,0x9e,0x78,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f,0x1d,0x54,0x0f,0xff, -0x90,0x9e,0x7f,0x12,0x43,0x5e,0xef,0x12,0x42,0x20,0x90,0x9e,0x78,0x12,0x43,0x5e, -0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x90,0x9e,0x7f,0x12,0x43,0x5e,0x90,0x00,0x01, -0xef,0x12,0x42,0x32,0x90,0x9e,0x78,0x12,0x43,0x5e,0x90,0x00,0x01,0x12,0x1f,0x1d, -0xff,0x90,0x9e,0x7d,0xe0,0xfc,0xa3,0xe0,0xfd,0xf5,0x82,0x8c,0x83,0xef,0xf0,0x12, -0x1f,0x04,0x8d,0x82,0x8c,0x83,0xa3,0xf0,0x90,0x9e,0x7b,0xe0,0xfe,0x90,0x9e,0x76, -0xe0,0xff,0x24,0x82,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0x90,0x9e,0x77, -0xe0,0xfe,0x75,0xf0,0x09,0xef,0x90,0x96,0x4a,0x12,0x43,0x52,0xee,0xf0,0x75,0xf0, -0x09,0xef,0x90,0x96,0x4b,0x12,0x43,0x52,0x74,0x01,0xf0,0x90,0x9e,0x7c,0xe0,0xfe, -0x75,0xf0,0x09,0xef,0x90,0x96,0x4c,0x12,0x43,0x52,0xee,0xf0,0x8f,0x13,0xef,0x25, -0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xaf,0x82,0xf5,0x15,0x8f,0x16,0xe5,0x13, -0x75,0xf0,0x02,0xa4,0x24,0x02,0xf9,0x74,0x95,0x35,0xf0,0x75,0x17,0x01,0xf5,0x18, -0x89,0x19,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x46,0x12,0x43,0x52,0xaf,0x82,0x85, -0x83,0x1a,0x8f,0x1b,0xe5,0x13,0x75,0xf0,0x09,0xa4,0x24,0x44,0xf9,0x74,0x96,0x35, -0xf0,0x75,0x1c,0x01,0xf5,0x1d,0x89,0x1e,0x74,0x82,0x25,0x13,0xf5,0x82,0xe4,0x34, -0x95,0xf5,0x83,0xe0,0x12,0x43,0x87,0x70,0x3c,0x00,0x70,0x51,0x01,0x70,0x66,0x02, -0x70,0x7b,0x03,0x70,0xa4,0x04,0x70,0xb9,0x05,0x70,0xce,0x06,0x70,0xf4,0x0c,0x71, -0x21,0x0d,0x71,0x4e,0x0e,0x71,0x7b,0x0f,0x00,0x00,0x71,0xaf,0xe5,0x13,0x25,0xe0, -0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x15,0x80, -0x3c,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0, -0xf0,0xa3,0x74,0x10,0x80,0x27,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34, -0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x05,0x80,0x12,0xe5,0x13,0x25,0xe0,0x24, -0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0xe4,0xf0,0xe5,0x13, -0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0x74,0x0f,0xf0,0xa3,0x74, -0x8f,0xf0,0x21,0xaf,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5, -0x83,0x74,0x0f,0xf0,0xa3,0x74,0xf5,0x80,0x27,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5, -0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0x0f,0xf0,0xa3,0x74,0xf0,0x80,0x12,0xe5,0x13, -0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe4,0xf0,0xa3,0x74,0x0d, -0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe4,0xf0, -0xa3,0xf0,0x21,0xaf,0x90,0x04,0x47,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42, -0x20,0x90,0x04,0x46,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42, -0x32,0x90,0x04,0x45,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x44,0x21, -0xa6,0x90,0x04,0x4b,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04, -0x4a,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04, -0x49,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x48,0x80,0x58,0x90,0x04, -0x4f,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,0x4e,0xe0,0xab, -0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,0x4d,0xe0,0x85, -0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x4c,0x80,0x2b,0x90,0x04,0x53,0xe0,0xab, -0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,0x52,0xe0,0xab,0x17,0xaa,0x18, -0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,0x51,0xe0,0x85,0x16,0x82,0x85, -0x15,0x83,0xf0,0x90,0x04,0x50,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xa3,0xf0,0xab, -0x17,0xaa,0x18,0xa9,0x19,0xc0,0x03,0xc0,0x02,0xc0,0x01,0x12,0x1f,0x04,0xff,0xab, -0x1c,0xaa,0x1d,0xa9,0x1e,0x12,0x1f,0x04,0x5f,0xd0,0x01,0xd0,0x02,0xd0,0x03,0x12, -0x42,0x20,0xab,0x17,0xe5,0x19,0x24,0x01,0xf9,0xe4,0x35,0x18,0xfa,0xc0,0x03,0xc0, -0x02,0xc0,0x01,0x12,0x1f,0x04,0xff,0xab,0x1c,0xaa,0x1d,0xa9,0x1e,0x90,0x00,0x01, -0x12,0x1f,0x1d,0x5f,0xd0,0x01,0xd0,0x02,0xd0,0x03,0x12,0x42,0x20,0x85,0x16,0x82, -0x85,0x15,0x83,0xc0,0x83,0xc0,0x82,0xe0,0xff,0x85,0x1b,0x82,0x85,0x1a,0x83,0xe0, -0xfe,0xef,0x5e,0xd0,0x82,0xd0,0x83,0xf0,0x85,0x16,0x82,0x85,0x15,0x83,0xa3,0xc0, -0x83,0xc0,0x82,0xe0,0xff,0x85,0x1b,0x82,0x85,0x1a,0x83,0xa3,0xe0,0xfe,0xef,0x5e, -0xd0,0x82,0xd0,0x83,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95, -0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3b,0x75,0x14,0x0b,0x74,0x01,0x7e,0x00, -0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25, -0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f, -0x4e,0x60,0x06,0xe5,0x14,0x24,0x10,0x80,0x5d,0x15,0x14,0xe5,0x14,0xc3,0x94,0x00, -0x50,0xca,0x80,0x56,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5, -0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3d,0x75,0x14,0x0f,0x74,0x01,0x7e,0x00,0xa8, -0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0, -0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e, -0x60,0x08,0x90,0x9e,0x82,0xe5,0x14,0xf0,0x80,0x10,0x15,0x14,0xe5,0x14,0xc3,0x94, -0x00,0x50,0xc8,0x80,0x05,0xe4,0x90,0x9e,0x82,0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc6, -0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3b,0xe4,0xf5, -0x14,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8, -0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0, -0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x08,0x90,0x9e,0x83,0xe5,0x14,0xf0,0x80,0x5b, -0x05,0x14,0xe5,0x14,0xb4,0x10,0xca,0x80,0x52,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5, -0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x39,0xe4,0xf5,0x14, -0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9, -0xff,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0x5e, -0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x06,0xe5,0x14,0x24,0x10,0x80,0x0a,0x05,0x14,0xe5, -0x14,0xb4,0x0c,0xcc,0x80,0x05,0xe4,0x90,0x9e,0x83,0xf0,0x90,0x9e,0x82,0xe0,0xff, -0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43,0x52,0xef,0xf0,0x90,0x9e,0x83, -0xe0,0xfe,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x49,0x12,0x43,0x52,0xee,0xf0,0x74, -0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0xd3,0x9f,0x40,0x05,0x90, -0x9e,0x82,0x71,0xfe,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0, -0xff,0x90,0x9e,0x83,0xe0,0xfe,0xef,0xc3,0x9e,0x50,0x02,0x71,0xfe,0x90,0x9e,0x82, -0xe0,0xff,0xd3,0x94,0x13,0x40,0x07,0x90,0x96,0x43,0x74,0x03,0xf0,0x22,0xef,0xd3, -0x94,0x0b,0x40,0x07,0x90,0x96,0x43,0x74,0x02,0xf0,0x22,0xef,0xd3,0x94,0x03,0x40, -0x07,0x90,0x96,0x43,0x74,0x01,0xf0,0x22,0xe4,0x90,0x96,0x43,0xf0,0x22,0xe0,0xfd, -0x74,0x26,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xed,0xf0,0xaf,0x13,0xd3, -0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xef,0xc3,0x94,0x20,0x50,0x0e,0x74,0x84,0x2f,0xf5, -0x82,0xe4,0x34,0x04,0xf5,0x83,0xed,0xf0,0x80,0x29,0x74,0xa6,0x2f,0xf5,0x82,0xe4, -0x34,0x9c,0xf5,0x83,0xed,0xf0,0x90,0x9e,0xcd,0xef,0xf0,0x24,0xa6,0xf5,0x82,0xe4, -0x34,0x9c,0xf5,0x83,0xe0,0x90,0x9e,0xce,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0xcd,0x7d, -0x02,0xb1,0x27,0xd0,0xd0,0x92,0xaf,0x22,0x8f,0x0a,0x8d,0x0b,0xe5,0x0b,0x54,0x1f, -0xf5,0x10,0x74,0x01,0x2f,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0,0xf5,0x0e,0x90, -0x04,0xfd,0xe0,0xb4,0x01,0x05,0x75,0x11,0x03,0x80,0x03,0x75,0x11,0x01,0xeb,0xc3, -0x95,0x11,0x40,0x04,0xaf,0x0a,0x80,0x33,0xe5,0x0e,0x25,0x0d,0xf5,0x0f,0xe5,0x10, -0x90,0x41,0xdc,0x93,0xff,0xe5,0x0f,0xd3,0x9f,0x74,0x01,0x40,0x11,0x25,0x0a,0xf5, -0x82,0xe4,0x34,0x94,0xf5,0x83,0xe4,0xf0,0xad,0x0b,0xaf,0x0a,0x81,0x0f,0x25,0x0a, -0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe5,0x0f,0xf0,0x22,0xad,0x07,0x75,0xf0,0x09, -0xed,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34, -0x9d,0xf5,0x83,0xe0,0x54,0x1f,0xf5,0x12,0xd3,0x9f,0x40,0x02,0x8f,0x12,0xe5,0x12, -0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01, -0x93,0xff,0xe5,0x12,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74, -0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0, -0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x05, -0xad,0x12,0x91,0x0f,0xaf,0x12,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f, -0x01,0x12,0x43,0x7e,0x90,0x9f,0x04,0xe0,0x54,0xf0,0x44,0x06,0xff,0xf0,0xed,0x54, -0x0f,0xc4,0x54,0xf0,0xfe,0xef,0x54,0x0f,0x4e,0xf0,0x90,0x9f,0x01,0x12,0x43,0x5e, -0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7b,0x01,0x7a,0x9f,0x79,0x04,0x12,0x5d,0x37,0xd0, -0xd0,0x92,0xaf,0x22,0xac,0x07,0xec,0xc3,0x94,0x20,0x50,0x0d,0x74,0x84,0x2c,0xf5, -0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b,0x74,0xa6,0x2c,0xf5,0x82,0xe4,0x34, -0x9c,0xf5,0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5,0x1e,0x54,0x1f,0xff,0x90,0x9e,0x77, -0xf0,0x75,0xf0,0x09,0xec,0x90,0x96,0x49,0x12,0x43,0x52,0xe0,0x90,0x9e,0x79,0xf0, -0x75,0xf0,0x09,0xec,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0xfe,0x90,0x9e,0x7a,0xf0, -0xec,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfb,0xa3,0xe0, -0x90,0x9e,0x7b,0xcb,0xf0,0xa3,0xeb,0xf0,0xec,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4, -0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x7d,0xcb,0xf0,0xa3,0xeb,0xf0, -0xef,0xd3,0x9e,0x40,0x0a,0x90,0x9e,0x7a,0xe0,0x90,0x9e,0x77,0xf0,0xf5,0x1e,0xed, -0x70,0x02,0xc1,0xba,0x90,0x9e,0x78,0xed,0xf0,0xe5,0x1e,0x30,0xe6,0x0a,0x90,0x9e, -0x77,0xe0,0xf5,0x1e,0xa3,0xe0,0x14,0xf0,0x90,0x9e,0x78,0xe0,0x70,0x02,0xc1,0xba, -0x90,0x9e,0x77,0xe0,0xff,0xd3,0x94,0x00,0x50,0x02,0xc1,0xba,0xe4,0x90,0x9e,0x76, -0xf0,0xef,0x14,0x90,0x9e,0x75,0xf0,0x90,0x9e,0x79,0xe0,0xfd,0x90,0x9e,0x75,0xe0, -0xff,0xd3,0x9d,0x40,0x6b,0xef,0x94,0x10,0x40,0x21,0xef,0x24,0xf0,0xff,0x74,0x01, -0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90, -0x9e,0x7d,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x70,0x27,0x90,0x9e,0x75,0xe0,0xff, -0xc3,0x94,0x10,0x50,0x33,0x74,0x01,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33, -0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x7b,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e, -0x60,0x16,0x90,0x9e,0x75,0xe0,0xf5,0x1e,0xa3,0xe0,0x04,0xf0,0x90,0x9e,0x78,0xe0, -0xff,0x90,0x9e,0x76,0xe0,0x6f,0x60,0x08,0x90,0x9e,0x75,0xe0,0x14,0xf0,0x80,0x87, -0x90,0x9e,0x78,0xe0,0xff,0x90,0x9e,0x76,0xe0,0xc3,0x9f,0x50,0x0d,0x90,0x9e,0x75, -0xe0,0xb5,0x05,0x06,0x90,0x9e,0x79,0xe0,0xf5,0x1e,0xe5,0x1e,0x25,0xe0,0x24,0xa4, -0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93,0xff,0xe5,0x1e, -0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93,0x2f,0xff, -0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xec,0x25,0xe0,0x24,0xc2,0xf5,0x82, -0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x04,0xad,0x1e,0x91,0x0f, -0xaf,0x1e,0x22,0xe4,0xf5,0x67,0xf5,0x6b,0xf5,0x6a,0x75,0x69,0x0c,0x75,0x68,0x0c, -0x90,0x9e,0x9e,0xf0,0x90,0x9e,0x9c,0xf0,0x90,0x9e,0x9b,0xf0,0x90,0x9e,0x9d,0x04, -0xf0,0x90,0x9e,0x8e,0xf0,0xe4,0x90,0x9e,0x9f,0xf0,0x90,0x9e,0x90,0xf0,0x90,0x9e, -0x99,0x74,0x07,0xf0,0xe4,0x90,0x9e,0x8f,0xf0,0x90,0x9e,0x97,0xf0,0xa3,0x74,0x0b, -0xf0,0x90,0x9e,0x94,0x74,0x01,0xf0,0xa3,0x74,0x03,0xf0,0x90,0x9e,0x93,0x74,0x14, -0xf0,0x90,0x9e,0x9a,0x74,0x05,0xf0,0xe4,0x90,0x9e,0x92,0xf0,0x90,0x9e,0x8d,0xf0, -0x90,0x9e,0xbb,0xf0,0x90,0x9e,0x96,0xf0,0x90,0x9e,0xa0,0xf0,0x22,0xe4,0x90,0x9e, -0x9f,0xf0,0x90,0x9e,0x8f,0xf0,0xf5,0x6b,0x22,0xef,0xb4,0x01,0x07,0x7d,0xc8,0x7f, -0x02,0x02,0x3a,0x71,0x7d,0x60,0x7f,0x02,0x12,0x3a,0x54,0x90,0x01,0x3d,0x74,0x04, -0xf0,0xa3,0x74,0xc8,0xf0,0x7d,0x04,0x7f,0x01,0x12,0x3a,0xdf,0x7d,0xc8,0x7f,0x02, -0x02,0x3a,0xdf,0x12,0x5c,0xb8,0xef,0x64,0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01, -0xf0,0x80,0x30,0x90,0x9e,0x9c,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80, -0x22,0x90,0x9e,0x9b,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x04,0xf0,0x80,0x14,0xe5, -0x69,0x54,0x0f,0xd3,0x94,0x04,0x40,0x08,0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x03, -0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x08,0xf0,0x7f,0x00,0x22,0x12,0x5c,0xb8,0xef, -0x64,0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01,0xf0,0x80,0x66,0xe5,0x6b,0x54,0x03, -0x60,0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x58,0xe5,0x69,0x54,0x0f,0xd3,0x94, -0x02,0x40,0x08,0x90,0x01,0xb9,0x74,0x04,0xf0,0x80,0x47,0xe5,0x6b,0x30,0xe2,0x08, -0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x3a,0xe5,0x6b,0x30,0xe4,0x08,0x90,0x01,0xb9, -0x74,0x10,0xf0,0x80,0x2d,0x90,0x9e,0x90,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x20, -0xf0,0x80,0x1f,0x90,0x9e,0x8b,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x40,0xf0,0x80, -0x11,0x90,0x9e,0x96,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x80,0xf0,0x80,0x03,0x7f, -0x01,0x22,0x90,0x01,0xb8,0x74,0x04,0xf0,0x7f,0x00,0x22,0xe5,0x57,0x60,0x08,0x90, -0x01,0xb9,0x74,0x01,0xf0,0x80,0x61,0xe5,0x69,0x54,0x0f,0xd3,0x94,0x01,0x40,0x08, -0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x50,0x90,0x02,0x87,0xe0,0x60,0x08,0x90,0x01, -0xb9,0x74,0x04,0xf0,0x80,0x42,0x90,0x9e,0xba,0xe0,0xb4,0x01,0x10,0x90,0x9e,0xa1, -0xe0,0xfe,0xa3,0xe0,0xf5,0x82,0x8e,0x83,0xe0,0x60,0x1c,0x80,0x2b,0x90,0x9e,0xba, -0xe0,0x70,0x14,0x90,0x9d,0xa9,0xe0,0xff,0x90,0x9d,0xa8,0xe0,0x6f,0x60,0x08,0x90, -0x01,0xb9,0x74,0x08,0xf0,0x80,0x11,0x90,0x9e,0x92,0xe0,0x70,0x08,0x90,0x01,0xb9, -0x74,0x10,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x02,0xf0,0x7f,0x00, -0x22,0x8f,0x6c,0xe4,0x90,0x9f,0x0f,0xf0,0xa3,0xf0,0x90,0x01,0x09,0xe0,0x7f,0x00, -0x30,0xe7,0x02,0x7f,0x01,0xef,0x65,0x6c,0x60,0x3e,0xc3,0x90,0x9f,0x10,0xe0,0x94, -0x88,0x90,0x9f,0x0f,0xe0,0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0,0x44,0x80,0xf0, -0x22,0x90,0x9f,0x0f,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12, -0x3b,0x3b,0xd3,0x90,0x9f,0x10,0xe0,0x94,0x32,0x90,0x9f,0x0f,0xe0,0x94,0x00,0x40, -0xb9,0x90,0x01,0xc7,0xe0,0x30,0xe0,0xb2,0x22,0x90,0x00,0x20,0xe0,0x44,0x01,0xfd, -0x7f,0x20,0x12,0x44,0xcc,0x7f,0xf4,0x7e,0x01,0x12,0x3b,0x3b,0x90,0x00,0x00,0xe0, -0x54,0xdf,0xfd,0xe4,0xff,0x12,0x44,0xcc,0x90,0x00,0x28,0xe0,0x44,0x03,0xfd,0x7f, -0x28,0x12,0x44,0xcc,0x90,0x00,0x08,0xe0,0x54,0xef,0xfd,0x7f,0x08,0x12,0x44,0xcc, -0xe4,0xff,0x11,0xe1,0x7f,0x64,0x7e,0x00,0x12,0x3b,0x3b,0x90,0x00,0x29,0xe0,0x44, -0xc0,0xfd,0x7f,0x29,0x02,0x44,0xcc,0x90,0x9e,0x97,0xe0,0xa3,0xe0,0x90,0x05,0x58, -0xf0,0x22,0xef,0xc3,0x94,0x20,0x50,0x39,0xef,0x30,0xe0,0x17,0xed,0xc4,0x54,0xf0, -0xfd,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x54, -0x0f,0x80,0x10,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83, -0xe0,0x54,0xf0,0xf0,0x74,0xa4,0x2e,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x4d, -0xf0,0x22,0xad,0x07,0xed,0xc3,0x94,0x20,0x50,0x0d,0x74,0x84,0x2d,0xf5,0x82,0xe4, -0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b,0x74,0xa6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5, -0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5,0x1e,0x54,0x1f,0xfc,0x75,0xf0,0x09,0xed,0x90, -0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x90,0x9e,0x75,0xf0,0xed,0x25,0xe0,0x24,0x02, -0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x76,0xcb,0xf0, -0xa3,0xeb,0xf0,0xed,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0, -0xfb,0xa3,0xe0,0x90,0x9e,0x78,0xcb,0xf0,0xa3,0xeb,0xf0,0xec,0x25,0xe0,0x24,0x6c, -0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfa,0x74,0x01,0x93,0xfb,0xed,0x25, -0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xea,0xf0,0xa3,0xeb,0xf0,0xec, -0xc3,0x9f,0x40,0x02,0x41,0xf0,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83, -0xec,0xf0,0x04,0xfb,0x90,0x9e,0x75,0xe0,0xff,0xeb,0xd3,0x9f,0x40,0x02,0x61,0x21, -0xeb,0xc3,0x94,0x10,0x40,0x21,0xeb,0x24,0xf0,0xff,0x74,0x01,0x7e,0x00,0xa8,0x07, -0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x76,0xe0,0x5e, -0xfe,0xa3,0xe0,0x5f,0x4e,0x70,0x23,0xeb,0xc3,0x94,0x10,0x50,0x40,0x74,0x01,0x7e, -0x00,0xa8,0x03,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e, -0x78,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x23,0xbb,0x11,0x09,0x90,0x9e,0x77, -0xe0,0x30,0xe7,0x02,0x7b,0x17,0xeb,0x64,0x13,0x60,0x03,0xbb,0x12,0x09,0x90,0x9e, -0x76,0xe0,0x30,0xe0,0x02,0x7b,0x18,0xac,0x03,0x8c,0x1e,0x80,0x34,0x0b,0x80,0x84, -0x90,0x9e,0x75,0xe0,0xfb,0x6c,0x70,0x69,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,0x9d, -0xf5,0x83,0xec,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a,0x12,0x43,0x52,0xe0,0xb4, -0x01,0x0c,0xe5,0x1e,0x20,0xe6,0x07,0xec,0x44,0x40,0xf5,0x1e,0x80,0x03,0xaf,0x1e, -0x22,0xec,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe, -0x74,0x01,0x93,0xff,0xec,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83, -0x74,0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25, -0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0x80, -0x5b,0xec,0xd3,0x9b,0x40,0x56,0x90,0x9e,0x75,0xe0,0xff,0x74,0x67,0x2d,0xf5,0x82, -0xe4,0x34,0x9d,0xf5,0x83,0xef,0xf0,0xac,0x07,0x8f,0x1e,0xec,0x25,0xe0,0x24,0xa4, -0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93,0xff,0xec,0x25, -0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93,0x2f,0xff,0xe4, -0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4, -0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x1e,0x22,0x74,0x01,0x2d,0xf5, -0x82,0xe4,0x34,0x94,0xf5,0x83,0xe4,0xf0,0xaf,0x05,0xe5,0x1e,0x44,0x80,0xfd,0x12, -0x74,0x0f,0xe5,0x1e,0x44,0x80,0xff,0x22,0xe4,0xf5,0x13,0xe5,0x13,0xb4,0x20,0x14, -0x90,0x9a,0xc5,0xe0,0x04,0xf0,0x90,0x95,0x01,0xe0,0xff,0x90,0x9a,0xc5,0xe0,0xb5, -0x07,0x02,0xe4,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4b,0x12,0x43,0x52,0xe0, -0x64,0x01,0x60,0x03,0x02,0x82,0x27,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4, -0x34,0x93,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0xd3,0x94,0x00,0xee,0x94,0x00,0x50,0x03, -0x02,0x82,0x27,0xe5,0x13,0x94,0x20,0x40,0x09,0x90,0x9a,0xc5,0xe0,0x60,0x03,0x02, -0x82,0x33,0xe5,0x13,0x75,0xf0,0x0a,0xa4,0x24,0x00,0xf9,0x74,0x90,0x35,0xf0,0x75, -0x18,0x01,0xf5,0x19,0x89,0x1a,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34, -0x93,0xf5,0x83,0xe0,0xff,0xa3,0xe0,0x90,0x9e,0x6f,0xcf,0xf0,0xa3,0xef,0xf0,0xe5, -0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xff,0xa3,0xe0, -0x90,0x9e,0x71,0xcf,0xf0,0xa3,0xef,0xf0,0xe5,0x13,0xc3,0x94,0x20,0x50,0x14,0x74, -0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x54,0x3f,0x90,0x9e,0x6b, -0xf0,0x80,0x12,0x74,0xa6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x54, -0x3f,0x90,0x9e,0x6b,0xf0,0x90,0x9e,0x6b,0xe0,0xfe,0x54,0x1f,0xa3,0xf0,0x75,0xf0, -0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0x90,0x9e,0x74,0xf0,0x74,0xe6, -0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xc3,0x94,0x05,0x40,0x02,0xc1, -0xfd,0x90,0x9e,0x74,0xe0,0xff,0x90,0x9e,0x6c,0xe0,0x9f,0x40,0x13,0x90,0x9e,0x74, -0xe0,0x90,0x9e,0x6c,0xf0,0xee,0x54,0x40,0xfe,0x90,0x9e,0x6b,0xf0,0xef,0x4e,0xf0, -0x90,0x04,0xfd,0xe0,0x54,0x05,0x64,0x01,0x70,0x29,0x90,0x9e,0x6c,0xe0,0xff,0x90, -0x41,0x50,0x93,0xfe,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0, -0xc3,0x9e,0x40,0x06,0xef,0x90,0x40,0xe0,0x80,0x30,0x90,0x9e,0x6c,0xe0,0x90,0x40, -0xfc,0x80,0x27,0x90,0x9e,0x6c,0xe0,0xff,0x90,0x41,0x50,0x93,0xfe,0x74,0x44,0x25, -0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xc3,0x9e,0x40,0x06,0xef,0x90,0x41, -0x18,0x80,0x07,0x90,0x9e,0x6c,0xe0,0x90,0x41,0x34,0x93,0x90,0x9e,0x73,0xf0,0x90, -0x9e,0x73,0xe0,0x75,0xf0,0x06,0xa4,0x24,0x56,0xf9,0x74,0x40,0x35,0xf0,0x75,0x15, -0xff,0xf5,0x16,0x89,0x17,0x90,0x9e,0x6b,0xe0,0x90,0x41,0xf8,0x93,0xff,0xd3,0x90, -0x9e,0x72,0xe0,0x9f,0x90,0x9e,0x71,0xe0,0x94,0x00,0x40,0x0a,0xe4,0xfd,0xaf,0x13, -0x12,0x75,0x64,0x02,0x81,0xbe,0xe5,0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34, -0x95,0xf5,0x83,0xe0,0xf5,0x1b,0xa3,0xe0,0xf5,0x1c,0xab,0x15,0xaa,0x16,0xa9,0x17, -0x12,0x1f,0x04,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x12,0x42,0x6a,0xfd, -0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab, -0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18, -0xaa,0x19,0xa9,0x1a,0x90,0x00,0x02,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a, -0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17, -0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90, -0x00,0x04,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c, -0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x03,0x12,0x1f, -0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x06,0x12,0x42,0x95, -0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b, -0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab, -0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x08,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f, -0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9, -0x17,0x90,0x00,0x05,0x12,0x1f,0x1d,0xff,0x7e,0x00,0x90,0x9e,0x6f,0xe0,0xfc,0xa3, -0xe0,0xfd,0x12,0x1f,0x4a,0xd3,0xe5,0x1c,0x9f,0xe5,0x1b,0x9e,0x40,0x0c,0xe5,0x1c, -0x9f,0xf5,0x1c,0xe5,0x1b,0x9e,0xf5,0x1b,0x80,0x05,0xe4,0xf5,0x1b,0xf5,0x1c,0xe5, -0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe5,0x1b,0xf0,0xa3, -0xe5,0x1c,0xf0,0x90,0x9e,0x6b,0xe0,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41, -0xf5,0x83,0xc3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b,0x50,0x07,0xaf,0x13, -0x31,0xd2,0x02,0x81,0x92,0x90,0x9e,0x6b,0xe0,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4, -0x34,0x41,0xf5,0x83,0xd3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b,0x50,0x03, -0x02,0x81,0x92,0x7d,0x01,0xaf,0x13,0x12,0x75,0x64,0x02,0x81,0x92,0x74,0xe6,0x25, -0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xfc,0x64,0x05,0x60,0x03,0x02,0x80, -0x9b,0x90,0x96,0x43,0xe0,0xff,0xb4,0x03,0x0b,0x90,0x9e,0x6c,0xe0,0xc3,0x94,0x19, -0x40,0x3d,0x80,0x2e,0xef,0xb4,0x02,0x0b,0x90,0x9e,0x6c,0xe0,0xc3,0x94,0x11,0x40, -0x2e,0x80,0x1f,0x90,0x96,0x43,0xe0,0xff,0xb4,0x01,0x0b,0x90,0x9e,0x6c,0xe0,0xc3, -0x94,0x0a,0x40,0x1b,0x80,0x0c,0xef,0x70,0x11,0x90,0x9e,0x6c,0xe0,0xc3,0x94,0x03, -0x40,0x0d,0x90,0x9a,0x84,0x74,0x01,0xf0,0x80,0x05,0xe4,0x90,0x9a,0x84,0xf0,0x74, -0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0x74,0x44,0x25, -0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xc3,0x94,0x30,0x50,0x03,0x02, -0x80,0x48,0x90,0x9a,0x84,0xe0,0x64,0x01,0x60,0x03,0x02,0x80,0x48,0x74,0x85,0x25, -0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0x64,0x0a,0x60,0x51,0xef,0x24,0x05, -0xff,0xe4,0x33,0xfe,0x74,0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0, -0xfd,0xd3,0x9f,0xee,0x64,0x80,0xf8,0x74,0x80,0x98,0x50,0x32,0xed,0x24,0x05,0xff, -0xe4,0x33,0xfe,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xd3, -0x9f,0xee,0x64,0x80,0xf8,0x74,0x80,0x98,0x50,0x14,0x74,0x26,0x25,0x13,0xf5,0x82, -0xe4,0x34,0x9d,0xf5,0x83,0xe0,0xff,0x90,0x9e,0x6c,0xe0,0x6f,0x60,0x3d,0x74,0x44, -0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xd3,0x94,0x42,0x40,0x05, -0x75,0x1d,0x05,0x80,0x0e,0xef,0xd3,0x94,0x39,0x40,0x05,0x75,0x1d,0x03,0x80,0x03, -0x75,0x1d,0x01,0x74,0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xef,0xf0, -0x74,0x85,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0x80,0x29,0x74,0xe6,0x25,0x13,0xf5, -0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x74,0x85,0x25,0x13,0xf5,0x82,0xe4,0x34, -0x9a,0xf5,0x83,0xe0,0x04,0xf0,0x80,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5, -0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x90,0x9e,0x6c,0xe0,0xff,0x74,0x26,0x25, -0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xef,0xf0,0x74,0x84,0x25,0x13,0xf5,0x82, -0xe4,0x34,0x98,0xf5,0x83,0xe5,0x1d,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4c, -0x12,0x43,0x52,0xe0,0xb4,0x01,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5,0x82, -0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0xad,0x1d,0x21,0x8d,0xec,0x64,0x06,0x60,0x02, -0x21,0x92,0xf5,0x1b,0xf5,0x1c,0x90,0x42,0x19,0x93,0xff,0x7e,0x00,0x90,0x9e,0x6f, -0xe0,0xfc,0xa3,0xe0,0xfd,0x12,0x1f,0x4a,0x90,0x9e,0x6d,0xee,0xf0,0xa3,0xef,0xf0, -0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0xe4,0xf5, -0x14,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x75,0xf0,0x02,0xe5,0x14,0xa4,0xf5,0x82,0x85, -0xf0,0x83,0x12,0x42,0x95,0xfd,0xac,0xf0,0xe5,0x14,0x90,0x42,0x14,0x93,0xff,0x7e, -0x00,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xc3,0x90, -0x9e,0x6e,0xe0,0x95,0x1c,0x90,0x9e,0x6d,0xe0,0x95,0x1b,0x40,0x07,0x05,0x14,0xe5, -0x14,0xb4,0x05,0xbd,0xe5,0x14,0xc3,0x13,0xf5,0x14,0xe5,0x1d,0xb4,0x01,0x06,0xe5, -0x14,0x70,0x46,0x80,0x13,0xe5,0x1d,0xb4,0x03,0x15,0xe5,0x14,0x70,0x05,0x75,0x1d, -0x03,0x80,0x39,0xe5,0x14,0xb4,0x01,0x05,0x75,0x1d,0x01,0x80,0x2f,0x80,0x2a,0xe5, -0x1d,0xb4,0x05,0x28,0xe5,0x14,0x70,0x05,0x75,0x1d,0x05,0x80,0x0d,0xe5,0x14,0xb4, -0x01,0x05,0x75,0x1d,0x03,0x80,0x03,0x75,0x1d,0x01,0xd3,0x90,0x9e,0x72,0xe0,0x94, -0x03,0x90,0x9e,0x71,0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0xd3,0x90,0x9e,0x72, -0xe0,0x94,0x03,0x90,0x9e,0x71,0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0x74,0x84, -0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe5,0x1d,0xf0,0xfd,0xaf,0x13,0x12, -0x79,0x92,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xd3,0x94, -0x05,0x74,0xe6,0x50,0x0e,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x04, -0xf0,0x80,0x0b,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0xab,0x18, -0xaa,0x19,0xa9,0x1a,0xe4,0xf5,0xf0,0x12,0x42,0xcd,0xab,0x18,0xaa,0x19,0xa9,0x1a, -0x90,0x00,0x02,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x04,0xe4,0xf5,0xf0,0x12, -0x42,0xec,0x90,0x00,0x06,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x08,0xe4,0xf5, -0xf0,0x12,0x42,0xec,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5, -0x83,0xe4,0xf0,0xa3,0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98, -0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x44,0xf5,0x82,0xe4,0x34, -0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x05,0x13,0xe5,0x13,0xc3,0x94,0x40,0x50,0x03, -0x02,0x7b,0xdb,0x22,0x90,0x04,0x44,0x74,0x11,0xf0,0xa3,0x74,0xf0,0xf0,0xa3,0x74, -0x0f,0xf0,0xa3,0xe4,0xf0,0xfd,0x74,0xa4,0x2d,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83, -0xe4,0xf0,0x0d,0xbd,0x10,0xf0,0xe4,0x90,0x9a,0xc5,0xf0,0x90,0x95,0x01,0x04,0xf0, -0xe4,0xfd,0x75,0xf0,0x0a,0xed,0x90,0x90,0x00,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0, -0x75,0xf0,0x0a,0xed,0x90,0x90,0x02,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0, -0x0a,0xed,0x90,0x90,0x04,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed, -0x90,0x90,0x06,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90, -0x08,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x74,0x26,0x2d,0xf5,0x82,0xe4,0x34,0x9d, -0xf5,0x83,0x74,0x13,0xf0,0x74,0x85,0x2d,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe4, -0xf0,0x74,0x84,0x2d,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xed,0x25,0xe0, -0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0, -0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0, -0x24,0xc4,0xf5,0x82,0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0, -0x24,0x44,0xf5,0x82,0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0, -0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0, -0x24,0x46,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x74,0x86,0x2d, -0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x74,0x46,0x2d,0xf5,0x82,0xe4,0x34, -0x9c,0xf5,0x83,0xe4,0xf0,0x74,0xe6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4, -0xf0,0x90,0x41,0xca,0x93,0xfe,0x74,0x01,0x93,0xff,0x90,0x41,0x92,0x74,0x01,0x93, -0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2, -0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0x75,0xf0,0x09,0xed, -0x90,0x96,0x4b,0x12,0x43,0x52,0x74,0x01,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a, -0x12,0x43,0x52,0x74,0x01,0xf0,0x74,0x82,0x2d,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83, -0x74,0x0c,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x46,0x12,0x43,0x52,0x74,0xff,0xf0, -0xa3,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x44,0x12,0x43,0x52,0xe4,0xf0,0xa3,0x74, -0x0f,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x48,0x12,0x43,0x52,0x74,0x13,0xf0,0x75, -0xf0,0x09,0xed,0x90,0x96,0x49,0x12,0x43,0x52,0xe4,0xf0,0xed,0xc3,0x94,0x20,0x50, -0x0f,0x74,0x84,0x2d,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0x74,0x13,0xf0,0x80,0x0d, -0x74,0xa6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0x74,0x13,0xf0,0x0d,0xed,0x64, -0x40,0x60,0x02,0x41,0x62,0x22,0x12,0x1f,0x04,0xf5,0x13,0xc3,0x94,0x40,0x50,0x15, -0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a, -0xf5,0x83,0xef,0xf0,0x22,0xe5,0x13,0xb4,0x40,0x0a,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0x96,0x42,0xf0,0x22,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x54,0x3f,0xfe,0xef, -0x54,0x80,0xc4,0x13,0x13,0x13,0x54,0x01,0xfd,0xaf,0x06,0x02,0x6e,0xc2,0x12,0x1f, -0x04,0x90,0x95,0x01,0xf0,0x22,0xe4,0x90,0x9d,0xa8,0xf0,0xa3,0xf0,0x90,0x01,0xaf, -0xf0,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90, -0x9e,0x9e,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x9e,0x8d,0xf0,0x12,0x1f,0x04, -0x65,0x6a,0x60,0x03,0x12,0x4c,0xe3,0xd0,0xd0,0x92,0xaf,0x22,0x12,0x1f,0x04,0xf5, -0x67,0x22,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x30,0xe0,0x25,0x12,0x1f,0x04,0x90, -0x9e,0x94,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0x95,0xf0,0xef,0xc3,0x13, -0x54,0x7f,0x90,0x9e,0x93,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x9e,0x9a,0xf0, -0x22,0x90,0x9e,0x94,0x74,0x01,0xf0,0x90,0x9e,0x95,0x74,0x03,0xf0,0x90,0x9e,0x93, -0x74,0x14,0xf0,0x90,0x9e,0x9a,0x74,0x05,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x18, -0xc3,0x13,0x54,0x7f,0x90,0x9e,0x99,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x90, -0x9e,0x97,0xe4,0xf0,0xa3,0xef,0xf0,0x22,0x90,0x9e,0x99,0x74,0x07,0xf0,0x90,0x9e, -0x97,0xe4,0xf0,0xa3,0x74,0x0b,0xf0,0x22,0x12,0x1f,0x04,0x60,0x02,0x80,0x01,0xe4, -0x90,0x9e,0x96,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x07,0x54,0x01,0x90,0x9e,0xa0, -0xf0,0x22,0x7d,0x10,0x7f,0x03,0x12,0x3a,0x71,0x7d,0x01,0x7f,0x02,0x02,0x3a,0xc5, -0x90,0x02,0x09,0xe0,0xfd,0x12,0x1f,0x04,0xfe,0xaf,0x05,0xed,0x2e,0x90,0x9e,0xb4, -0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0xb5,0xf0,0x90,0x00, -0x02,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0xb6,0xf0,0x90,0x00,0x03,0x12,0x1f, -0x1d,0xff,0xed,0x2f,0x90,0x9e,0xb7,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0xae, -0x05,0xed,0x2f,0x90,0x9e,0xb8,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x3f,0x90, -0xfd,0x50,0x74,0x0b,0xf0,0xa3,0x74,0x05,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0, -0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0xfd,0x54,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x55,0xf0,0x90,0x00, -0x04,0x12,0x1f,0x1d,0x90,0xfd,0x56,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x90, -0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x0c,0xf0,0xa3,0x74,0x01,0xf0, -0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0, -0x90,0xfd,0x58,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x17,0x90,0xfd,0x50, -0x74,0x0d,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0x90,0xfd, -0x58,0x74,0x01,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x0e,0x90,0x07,0x78,0xe0,0x54, -0xfd,0xf0,0x90,0x9e,0x50,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x50,0xf0,0x22,0x90, -0x07,0x78,0xe0,0x44,0x0c,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe0,0x75,0x90,0xfd,0x58, -0xe0,0x20,0xe0,0x10,0x90,0xfd,0x50,0x74,0x14,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xf0, -0x90,0xfd,0x58,0xf0,0x90,0x9e,0x43,0xe0,0x44,0x08,0xf0,0xef,0x30,0xe1,0x0d,0xe0, -0x44,0x01,0xf0,0x90,0x07,0x78,0xe0,0x54,0xfd,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0, -0x44,0x02,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe2,0x1e,0x90,0x9e,0x43,0xe0,0x44,0x04, -0xf0,0x90,0x04,0x26,0xe0,0x44,0x40,0xf0,0x90,0x07,0x78,0xe0,0x54,0xef,0xf0,0x90, -0x07,0x83,0xe0,0x44,0x40,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x44,0x10,0xf0,0xef, -0x30,0xe4,0x63,0x90,0x9e,0x43,0xe0,0x44,0x02,0xf0,0x90,0x04,0x26,0xe0,0x44,0x80, -0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x12,0x90,0xfd,0x50,0x74,0x14,0xf0,0xa3, -0x74,0x01,0xf0,0xa3,0xe4,0xf0,0x90,0xfd,0x58,0x04,0xf0,0x90,0x9e,0x43,0xe0,0x54, -0xfe,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xf7,0xf0,0x90,0x07, -0x78,0xe0,0x54,0xe3,0xf0,0x90,0x07,0x83,0xe0,0x54,0x3f,0xf0,0x90,0x04,0x26,0xe0, -0x54,0x3f,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12,0x1f,0xd7,0x7f, -0x80,0x7e,0x08,0x12,0x34,0x55,0x22,0x12,0x1f,0x04,0xff,0x30,0xe0,0x4b,0x90,0x07, -0x78,0xe0,0x44,0x02,0xf0,0x90,0x07,0x83,0xe0,0x44,0x02,0xf0,0x90,0x07,0x78,0xe0, -0x44,0x80,0x54,0xbf,0xf0,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a,0x90,0xfd,0x50,0x74, -0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3, -0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0xef,0x30,0xe1,0x5f,0x90,0x9e,0x43,0xe0,0x44,0x02, -0xf0,0x90,0x07,0x95,0xe0,0x44,0x06,0xf0,0x22,0x90,0x9e,0x43,0xe0,0x54,0xfd,0xf0, -0x90,0x07,0x78,0xe0,0x54,0x3f,0xf0,0x90,0x07,0x83,0xe0,0x54,0xfd,0xf0,0x90,0x07, -0x95,0xe0,0x54,0xf9,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12,0x1f, -0xd7,0x7f,0x80,0x7e,0x08,0x12,0x34,0x55,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a,0x90, -0xfd,0x50,0x74,0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0xef,0x70,0x21,0x12,0x1f,0x04, -0x30,0xe0,0x14,0x90,0x00,0x40,0xe0,0x44,0x20,0xf0,0xe0,0x54,0x3f,0xf0,0x90,0x07, -0x78,0xe0,0x44,0x01,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x54,0xfe,0xf0,0xef,0x64, -0x01,0x70,0x6a,0x12,0x1f,0x04,0x90,0x00,0x01,0x30,0xe0,0x2e,0x12,0x1f,0x1d,0x90, -0x06,0xc0,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc1,0xf0,0x90,0x00,0x03, -0x12,0x1f,0x1d,0x90,0x06,0xc2,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06,0xc3, -0xf0,0x90,0x06,0xcc,0xe0,0x54,0xfe,0xf0,0x80,0x2c,0x12,0x1f,0x1d,0x90,0x06,0xc4, -0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc5,0xf0,0x90,0x00,0x03,0x12,0x1f, -0x1d,0x90,0x06,0xc6,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06,0xc7,0xf0,0x90, -0x06,0xcc,0xe0,0x44,0x01,0xf0,0x90,0x06,0xcc,0xe0,0x44,0x02,0xf0,0xef,0xb4,0x02, -0x11,0x12,0x1f,0x04,0x90,0x06,0xc8,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x06, -0xc9,0xf0,0xef,0xb4,0x03,0x11,0x12,0x1f,0x04,0x90,0x06,0xca,0xf0,0x90,0x00,0x01, -0x12,0x1f,0x1d,0x90,0x06,0xcb,0xf0,0xef,0x64,0x04,0x70,0x1f,0x12,0x1f,0x04,0xff, -0x90,0x07,0x83,0x30,0xe0,0x06,0xe0,0x44,0x10,0xf0,0x80,0x04,0xe0,0x54,0x6f,0xf0, -0xef,0x30,0xe1,0x07,0x90,0x07,0x83,0xe0,0x44,0x80,0xf0,0x22,0x90,0x9e,0x76,0x12, -0x43,0x7e,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x37,0x90,0xfd,0x50,0x74,0x11,0xf0,0xa3, -0x74,0x03,0xf0,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0, -0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0xfd,0x54,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x80,0x16, -0x43,0x57,0x01,0x78,0xaa,0x7c,0x9d,0x7d,0x01,0x90,0x9e,0x76,0x12,0x43,0x5e,0x7e, -0x00,0x7f,0x03,0x12,0x1e,0xde,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0x60, -0x07,0x90,0x9e,0x51,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x51,0xf0,0x22,0x90,0xfd, -0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x17,0xf0,0xa3,0x74,0x01,0xf0,0x12, -0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3, -0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74, -0x18,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0, -0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0, -0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x19,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04, -0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3, -0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1a,0xf0, -0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0, -0x1f,0x90,0xfd,0x50,0x74,0x1b,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd, -0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0, -0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1c,0xf0,0xa3,0x74, -0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x2f,0x90, -0xfd,0x50,0x74,0x1d,0xf0,0xa3,0x74,0x03,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0, -0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0xfd,0x54,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90, -0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1e,0xf0,0xa3,0x74,0x01,0xf0, -0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0xe4,0xfc,0xfd,0xfe,0x78,0x18, -0x12,0x1f,0xc4,0xa8,0x04,0xa9,0x05,0xaa,0x06,0xab,0x07,0x90,0x9e,0x4a,0x12,0x43, -0x46,0xec,0x54,0x03,0xfc,0x12,0x43,0x19,0x90,0x9e,0x46,0x02,0x1f,0xd7,0x90,0xfd, -0x58,0xe0,0x20,0xe0,0x3b,0x12,0x1f,0x04,0x90,0xfd,0x50,0xf0,0xa3,0x74,0x04,0xf0, -0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0xfd,0x53,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x54,0xf0,0x90,0x00, -0x04,0x12,0x1f,0x1d,0x90,0xfd,0x55,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0x04,0xf0, -0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x21,0x90,0xfd,0x50,0x74,0x1f,0xf0,0xa3,0x74, -0x01,0xf0,0x12,0x1f,0x04,0x54,0x01,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0, -0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0, -0x21,0x90,0xfd,0x50,0x74,0x20,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x54,0x01, -0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3, -0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0x30,0xe0,0x54,0x90,0xfd,0x58,0xe0,0x20,0xe0, -0x4d,0x90,0xfd,0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0x00,0x01,0x12,0x1f, -0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0xa3, -0xe4,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x06,0xa3,0x74,0xa0,0xf0,0x80,0x06,0x90,0xfd, -0x55,0x74,0xc0,0xf0,0x90,0xfd,0x56,0x74,0x10,0xf0,0xa3,0x74,0x80,0xf0,0x90,0xfd, -0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x90,0x00, -0x02,0x12,0x1f,0x1d,0xfe,0x90,0x00,0x01,0x12,0x1f,0x1d,0x7c,0x00,0x24,0x00,0xff, -0xec,0x3e,0xfe,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0xfc,0x74,0x20,0x2f,0xff, -0xe4,0x3e,0xfe,0x90,0x9e,0x76,0xef,0xf0,0xee,0xf9,0x90,0x02,0x09,0xe0,0xc3,0x13, -0x90,0xfd,0x10,0xf0,0xec,0xc3,0x99,0x50,0x43,0xec,0x70,0x04,0x7d,0x04,0x80,0x02, -0xe4,0xfd,0xed,0xc3,0x94,0x20,0x50,0x07,0xaf,0x05,0x71,0xda,0x0d,0x80,0xf3,0x0c, -0x90,0xfd,0x10,0xe0,0x04,0xf0,0xec,0xb5,0x01,0xda,0xe4,0xfd,0xed,0x75,0xf0,0x08, -0xa4,0xff,0x90,0x9e,0x76,0xe0,0xfb,0xc3,0xef,0x9b,0x74,0x80,0xf8,0x65,0xf0,0x98, -0x50,0x07,0xaf,0x05,0x71,0xda,0x0d,0x80,0xe3,0x0c,0x80,0xb8,0x90,0x00,0x81,0xe0, -0x44,0x80,0x12,0x44,0xc9,0xd0,0xd0,0x92,0xaf,0x22,0x90,0xfd,0x58,0xe0,0x30,0xe0, -0x08,0x90,0x01,0xb8,0xe0,0x04,0xf0,0x80,0xf1,0xef,0x75,0xf0,0x08,0xa4,0x24,0x00, -0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x50,0xf0,0xef,0x75,0xf0,0x08, -0xa4,0x24,0x01,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x51,0xf0,0xef, -0x75,0xf0,0x08,0xa4,0x24,0x02,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd, -0x52,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x03,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83, -0xe0,0x90,0xfd,0x53,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x04,0xf5,0x82,0xe4,0x34, -0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x54,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x05,0xf5, -0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x55,0xf0,0xef,0x75,0xf0,0x08,0xa4, -0x24,0x06,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x56,0xf0,0xef,0x75, -0xf0,0x08,0xa4,0x24,0x07,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x57, -0xf0,0xa3,0x74,0x01,0xf0,0x22,0x12,0x1f,0x04,0x90,0xfe,0x10,0x60,0x05,0xe0,0x44, -0x01,0xf0,0x22,0xe0,0x54,0xfe,0xf0,0x22,0x90,0x01,0xb8,0xe0,0x04,0xf0,0x90,0xfd, -0x58,0xe0,0x90,0x01,0xb9,0xf0,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50, -0x74,0x23,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4, -0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0x9e,0x7a, -0x12,0x43,0x7e,0x12,0x1f,0x04,0x20,0xe0,0x02,0xa1,0x9c,0xb1,0xe7,0x90,0x9e,0x7a, -0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0x86,0xe0,0x54,0xfe, -0x4e,0xf0,0xef,0x54,0x02,0xff,0xe0,0x54,0xfd,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54, -0x04,0xfe,0x90,0x9e,0x86,0xe0,0x54,0xfb,0x4e,0xf0,0xef,0x54,0x10,0xff,0xe0,0x54, -0xef,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x20,0xfe,0x90,0x9e,0x86,0xe0,0x54,0xdf, -0x4e,0xf0,0xef,0x54,0x40,0xff,0xe0,0x54,0xbf,0x4f,0xf0,0x90,0x00,0x01,0x12,0x1f, -0x1d,0xff,0xc3,0x94,0x17,0x50,0x12,0xef,0xc3,0x94,0x03,0x90,0x9e,0x87,0x50,0x05, -0x74,0x03,0xf0,0x80,0x0a,0xef,0xf0,0x80,0x06,0x90,0x9e,0x87,0x74,0x17,0xf0,0x90, -0x9e,0x7a,0x12,0x43,0x5e,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0xc3,0x94,0x18,0x50, -0x12,0xef,0xc3,0x94,0x03,0x90,0x9e,0x88,0x50,0x05,0x74,0x03,0xf0,0x80,0x0a,0xef, -0xf0,0x80,0x06,0x90,0x9e,0x88,0x74,0x18,0xf0,0xe4,0x90,0x9e,0x50,0xf0,0x90,0x9e, -0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x0d,0x75,0x69,0x04,0x90,0x05,0x00,0x74,0x1c, -0xf0,0xa3,0x74,0x11,0xf0,0x90,0x05,0x58,0x74,0x02,0xf0,0x22,0x90,0x9e,0x7a,0x12, -0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x13,0x54,0x1f,0x90,0x9e,0x76,0x30,0xe0, -0x09,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x80,0x07,0x12,0x1f,0xe3,0x00,0x00,0x03, -0x00,0xb1,0xe7,0x90,0x00,0x40,0x74,0x24,0xf0,0x90,0x07,0x78,0x74,0x01,0xf0,0xfb, -0x7a,0x9e,0x79,0x76,0x12,0x4c,0x0d,0x90,0x05,0x22,0xe4,0xf0,0x90,0x05,0x00,0x74, -0x1c,0xf0,0xa3,0x74,0x43,0xf0,0x22,0x90,0x9e,0x86,0xe0,0x54,0xfe,0xf0,0xa3,0x74, -0x0b,0xf0,0xa3,0x74,0x08,0xf0,0xe4,0x90,0x9e,0x8b,0xf0,0xa3,0xf0,0x90,0x9e,0x86, -0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xef,0xf0,0xe0,0x54,0xf7,0xf0, -0xe0,0x54,0xdf,0xf0,0xe0,0x54,0xbf,0xf0,0x90,0x9e,0x89,0xe0,0x54,0xfe,0xf0,0xe0, -0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0x22,0x75,0xe8,0x07,0x90,0xfd,0x68,0x74,0x02,0xf0, -0x90,0x9e,0x43,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0x54,0xfd,0xf0,0x54,0xf7,0xf0, -0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0x12,0x1f,0xe3,0x00,0x00,0x00,0x00,0x7f,0x80,0x7e, -0x08,0x12,0x2c,0x87,0x90,0x9e,0x4a,0x12,0x1f,0xd7,0x90,0x00,0x2e,0xe0,0x90,0x9e, -0x4e,0xf0,0x90,0x00,0x2d,0xe0,0x90,0x9e,0x4f,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0x90, -0x04,0x26,0xe0,0x44,0x10,0xf0,0x90,0x07,0x83,0xe4,0xf0,0x90,0x07,0x78,0x74,0x03, -0xf0,0xb1,0xe7,0x7d,0x04,0x7f,0x02,0x02,0x3a,0xdf,0x90,0xfd,0x58,0xe0,0x20,0xe0, -0x21,0x90,0xfd,0x50,0x74,0x24,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x54,0x01, -0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3, -0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0x89,0xe0,0x54,0xfe, -0x4e,0xf0,0xef,0x54,0x02,0xff,0xe0,0x54,0xfd,0x4f,0xf0,0x90,0x00,0x01,0x12,0x1f, -0x1d,0x90,0x9e,0x8a,0xf0,0x22,0xe4,0x90,0x9f,0x11,0xf0,0xa3,0xf0,0x90,0x01,0xeb, -0xe0,0x54,0xc0,0x60,0x43,0xc3,0x90,0x9f,0x12,0xe0,0x94,0x88,0x90,0x9f,0x11,0xe0, -0x94,0x13,0x40,0x0a,0x90,0x01,0xc6,0xe0,0x44,0x04,0xf0,0x7f,0x00,0x22,0x90,0x9f, -0x11,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b,0xd3, -0x90,0x9f,0x12,0xe0,0x94,0x64,0x90,0x9f,0x11,0xe0,0x94,0x00,0x40,0xbf,0x90,0x01, -0xc7,0xe0,0x30,0xe2,0xb8,0x7f,0x00,0x22,0x7f,0x01,0x22,0xd3,0x10,0xaf,0x01,0xc3, -0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0,0xee,0xa3,0xf0,0x90,0x01,0xeb, -0x74,0x80,0xf0,0xd1,0xd6,0x90,0x01,0xec,0xe0,0xff,0x90,0x9f,0x0a,0x12,0x43,0x5e, -0x90,0x00,0x03,0xef,0x12,0x42,0x32,0x90,0x01,0xed,0xe0,0x90,0x00,0x02,0x12,0x42, -0x32,0x90,0x01,0xee,0xe0,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x01,0xef,0xe0,0x12, -0x42,0x20,0x90,0x9f,0x0a,0x12,0x43,0x5e,0x12,0x43,0x26,0xd0,0xd0,0x92,0xaf,0x22, -0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x9e,0xe1,0x74,0x04,0xf0,0x22,0x12,0x57, -0x90,0x80,0xee,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0, -0x90,0x9e,0xe1,0x74,0x04,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x9e,0xdb, -0x74,0x05,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x9e,0xdb,0x74,0x02,0xf0, -0x22,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x05,0x22,0x74,0x6f,0xf0,0x90,0x9e, -0xdb,0x74,0x06,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0xe4,0x90,0x9f,0x13,0xf0, -0xa3,0xf0,0x90,0x05,0xf8,0xe0,0x70,0x0f,0xa3,0xe0,0x70,0x0b,0xa3,0xe0,0x70,0x07, -0xa3,0xe0,0x70,0x03,0x7f,0x01,0x22,0xd3,0x90,0x9f,0x14,0xe0,0x94,0xe8,0x90,0x9f, -0x13,0xe0,0x94,0x03,0x40,0x03,0x7f,0x00,0x22,0x7f,0x32,0x7e,0x00,0x12,0x3b,0x3b, -0x90,0x9f,0x13,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x80,0xc6,0xd3,0x10,0xaf,0x01, -0xc3,0xc0,0xd0,0x90,0x9f,0x1e,0xef,0xf0,0xd3,0x94,0x07,0x50,0x47,0xe0,0xff,0x74, -0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x46,0xe0, -0x5f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x1e,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05, -0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x44,0xe0,0xfb, -0xe4,0xfe,0xef,0x5b,0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8, -0xf8,0xff,0x80,0x4c,0x90,0x9f,0x1e,0xe0,0x24,0xf8,0xf0,0xe0,0xff,0x74,0x01,0xa8, -0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x62,0xe0,0x5f,0xf0, -0x12,0x4f,0x6d,0x90,0x9f,0x1e,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05,0x08,0x80, -0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x60,0xe0,0xfb,0xe4,0xfe, -0xef,0x5b,0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8,0xf8,0xff, -0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f,0x16,0xed, -0xf0,0x90,0x9f,0x15,0xef,0xf0,0xd3,0x94,0x07,0x50,0x4f,0xa3,0xe0,0x70,0x1a,0x90, -0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4, -0xff,0x90,0x00,0x47,0xe0,0x5f,0xf0,0x80,0x17,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01, -0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x47,0xe0,0x4f,0xf0, -0x12,0x4f,0x6d,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3, -0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x46,0x80,0x67,0x90,0x9f,0x15,0xe0,0x24,0xf8, -0xf0,0xa3,0xe0,0x70,0x1a,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80, -0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x63,0xe0,0x5f,0xf0,0x80,0x17,0x90, -0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff, -0x90,0x00,0x63,0xe0,0x4f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01, -0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x12,0x4f,0x65,0x90,0x9f,0x15,0xe0, -0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00, -0x62,0xe0,0x5f,0xf0,0x12,0x4f,0x6d,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01, -0xc3,0xc0,0xd0,0x90,0x9f,0x18,0xed,0xf0,0x90,0x9f,0x17,0xef,0xf0,0xd3,0x94,0x07, -0x50,0x65,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4, -0xff,0x90,0x00,0x47,0xe0,0x5f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x17,0xe0,0xff,0x74, -0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x46,0xe0,0x4f, -0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x18,0xe0,0x60,0x16,0x90,0x9f,0x17,0xe0,0xff,0x74, -0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x45,0x80,0x62, -0x90,0x9f,0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc, -0xf4,0xff,0x90,0x00,0x45,0x80,0x64,0x90,0x9f,0x17,0xe0,0x24,0xf8,0xf0,0xe0,0xff, -0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x12,0x4f,0x65,0x90,0x9f, -0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90, -0x00,0x62,0xe0,0x4f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x18,0xe0,0x60,0x18,0x90,0x9f, -0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90, -0x00,0x61,0xe0,0x4f,0x80,0x17,0x90,0x9f,0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08, -0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x61,0xe0,0x5f,0xf0,0x12,0x4f, -0x6d,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x06,0x90,0xe0,0x44,0x01,0xf0,0x90,0x9e,0xcc, -0xe0,0x30,0xe0,0x31,0x90,0x9e,0xca,0xe0,0xff,0x90,0x9e,0xc9,0xe0,0xfe,0xc4,0x13, -0x54,0x01,0xfd,0x31,0x9c,0x90,0x9e,0xcb,0xe0,0x75,0xf0,0x20,0xa4,0xff,0xae,0xf0, -0x12,0x3b,0x3b,0x90,0x9e,0xca,0xe0,0xff,0x90,0x9e,0xc9,0xe0,0xfe,0xc4,0x13,0x54, -0x01,0xf4,0xfd,0x31,0x9c,0x22,0x90,0x9e,0x76,0x12,0x43,0x7e,0x12,0x1f,0x04,0x20, -0xe0,0x02,0x61,0xbe,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x01, -0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xfe,0x4e,0xf0,0xef,0x54,0x04,0xff,0xe0,0x54,0xfb, -0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xfd,0x4e, -0xf0,0xef,0x54,0x08,0xff,0xe0,0x54,0xf7,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x10, -0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xef,0x4e,0xf0,0xef,0x54,0x20,0xff,0xe0,0x54,0xdf, -0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x40,0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xbf,0x4e, -0xf0,0xef,0x54,0x80,0xff,0xe0,0x54,0x7f,0x4f,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0x9e,0xcb,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xca,0xf0,0x90,0x00, -0x03,0x12,0x1f,0x1d,0xff,0x54,0x01,0xfe,0x90,0x9e,0xcc,0xe0,0x54,0xfe,0x4e,0xf0, -0xef,0x54,0x02,0xff,0xe0,0x54,0xfd,0x4f,0xf0,0xe4,0x12,0x44,0xc9,0x90,0x9e,0x76, -0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc3,0x13,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0, -0x44,0x02,0xf0,0xef,0x13,0x13,0x54,0x3f,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0,0x44, -0x04,0xf0,0x12,0x1f,0x04,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x06,0x90, -0xe0,0x44,0x08,0xf0,0x90,0x9e,0xcc,0xe0,0x30,0xe0,0x12,0x90,0x9e,0xca,0xe0,0xff, -0x90,0x9e,0xc9,0xe0,0xfe,0xc4,0x13,0x54,0x01,0xf4,0xfd,0x31,0x9c,0x22,0x90,0x06, -0x90,0xe4,0xf0,0x71,0xcc,0x90,0x01,0x3f,0x74,0x04,0xf0,0x22,0x90,0x9e,0xc9,0xe0, -0x54,0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xf7,0xf0,0xe0, -0x54,0xef,0xf0,0xe0,0x54,0xdf,0xf0,0xe0,0x54,0xbf,0xf0,0xe0,0x54,0x7f,0xf0,0xe4, -0xa3,0xf0,0xa3,0xf0,0xa3,0xe0,0x54,0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb, -0xf0,0x22,0x90,0x9e,0xc1,0xe0,0x54,0xfe,0xf0,0xe0,0x54,0x7f,0xf0,0x90,0x01,0x17, -0xe0,0xfe,0x90,0x01,0x16,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0xc7, -0xf0,0xa3,0xef,0xf0,0x90,0x01,0x04,0xe0,0x54,0x0f,0x90,0x9e,0x6b,0xf0,0xe0,0xff, -0x74,0x40,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9, -0x90,0x9e,0xc6,0xf0,0xee,0x90,0x9e,0xc5,0xf0,0x80,0x81,0xd3,0x10,0xaf,0x01,0xc3, -0xc0,0xd0,0x12,0x1f,0x04,0x54,0x01,0xff,0x90,0x9e,0xc1,0xe0,0x54,0xfe,0x4f,0xf0, -0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xc2,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d, -0x90,0x9e,0xc3,0xf0,0x90,0x9e,0xc1,0xe0,0x30,0xe0,0x20,0x90,0x06,0x09,0xe0,0x54, -0xfe,0xf0,0x90,0x02,0x86,0xe0,0x44,0x04,0xf0,0x43,0x57,0x04,0x7d,0x08,0xe4,0xff, -0x12,0x3a,0xc5,0x90,0x01,0x3f,0x74,0x04,0xf0,0x80,0x10,0x7d,0x08,0xe4,0xff,0x12, -0x3a,0x54,0x90,0x02,0x86,0xe0,0x54,0xfb,0xf0,0x71,0xbe,0xd0,0xd0,0x92,0xaf,0x22, -0xe5,0x68,0x30,0xe3,0x04,0xe4,0xff,0x80,0x02,0x7f,0x01,0x02,0x48,0x7d,0x90,0x9e, -0xbe,0xe0,0x30,0xe0,0x2d,0xe5,0x67,0xb4,0x01,0x28,0x90,0x9e,0xbd,0xe0,0x04,0xf0, -0xe0,0xb4,0x0a,0x0b,0x90,0x9e,0xc0,0xe0,0x04,0xf0,0xe4,0x90,0x9e,0xbd,0xf0,0x90, -0x9e,0xc0,0xe0,0xff,0x90,0x9e,0xbf,0xe0,0xb5,0x07,0x07,0x91,0xb0,0xe4,0x90,0x9e, -0xc0,0xf0,0x22,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0xbe,0xe0,0x54,0xfe, -0x4e,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x0a,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e, -0xbf,0xf0,0x22,0x90,0x9e,0xc1,0xe0,0xc4,0x13,0x13,0x13,0x54,0x01,0x20,0xe0,0x07, -0x90,0x01,0x3f,0xe0,0x30,0xe2,0x0a,0x90,0x9e,0xc1,0xe0,0x44,0x80,0xf0,0x7f,0x00, -0x22,0x7f,0x01,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x2d,0x90,0xfd,0x50,0x74,0x11, -0xf0,0xa3,0x74,0x04,0xf0,0x90,0x9d,0xaa,0xe0,0x90,0xfd,0x52,0xf0,0x90,0x9d,0xab, -0xe0,0x90,0xfd,0x53,0xf0,0x90,0x9d,0xac,0xe0,0x90,0xfd,0x54,0xf0,0xa3,0x74,0x28, -0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x43,0x57,0x01,0x22,0x90,0x9e,0xe6,0xe0, -0x54,0xf0,0x44,0x0a,0xf0,0x90,0xfd,0x60,0xe0,0x90,0x9e,0xe8,0xf0,0x90,0xfd,0x62, -0xe0,0x90,0x9e,0xe9,0xf0,0x90,0xfd,0x63,0xe0,0x90,0x9e,0xea,0xf0,0x90,0xfd,0x64, -0xe0,0x90,0x9e,0xeb,0xf0,0x90,0xfd,0x65,0xe0,0x90,0x9e,0xec,0xf0,0x90,0xfd,0x60, -0xe0,0x90,0x9e,0xe6,0x30,0xe6,0x08,0xe0,0x54,0x0f,0x44,0x50,0xf0,0x80,0x16,0xe0, -0x54,0x0f,0x44,0x70,0xf0,0x90,0xfd,0x66,0xe0,0x90,0x9e,0xed,0xf0,0x90,0xfd,0x67, -0xe0,0x90,0x9e,0xee,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0xe8,0x90,0x9e,0xfe,0x12,0x43, -0x7e,0x7a,0x9e,0x79,0xe6,0x02,0x5d,0x37,0x90,0x9e,0x86,0xe0,0x30,0xe0,0x50,0xe0, -0xff,0xc4,0x13,0x13,0x54,0x03,0x90,0x07,0x78,0x30,0xe0,0x05,0x74,0x0d,0xf0,0x80, -0x03,0x74,0x09,0xf0,0x90,0x9e,0x52,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x7b,0x01, -0x7a,0x9e,0x79,0x52,0x12,0x4c,0x0d,0x90,0x9e,0x8b,0x74,0x01,0xf0,0x90,0x9e,0x86, -0xe0,0xc4,0x13,0x54,0x07,0x30,0xe0,0x06,0x90,0x05,0x22,0xe4,0xf0,0x22,0x90,0x9e, -0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x07,0x90,0x05,0x22,0xe4,0x12,0x49,0x1c,0x22, -0x90,0x9e,0x86,0xe0,0x30,0xe0,0x41,0xe4,0xf5,0x48,0xa3,0xe0,0xf5,0x49,0xe4,0xfb, -0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74,0x05,0xf0,0x90,0x9e, -0x52,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x7b,0x01,0x7a,0x9e,0x79,0x52,0x12,0x4c, -0x0d,0x90,0x9e,0x8b,0x74,0x01,0xf0,0xa3,0xf0,0x90,0x9e,0x96,0xe0,0x90,0x05,0x22, -0x60,0x04,0x74,0x6f,0xf0,0x22,0xe4,0xf0,0x22,0x00,0x79,0x4e,}; - -u8 Rtl8723UFwBTImgArray[Rtl8723UBTImgArrayLength] = { -0x30,}; - - - //WiFi for BT MP New FW 0326 -const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength] = { -0x02, 0x23, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x03, 0x27, 0x23, 0x01, 0x4E, 0x5E, 0x01, 0x00, -0x73, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x4A, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x61, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x67, 0xDA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x68, 0x81, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x6B, 0xB7, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, -0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, -0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, -0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, -0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, -0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, -0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, -0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, -0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, -0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, -0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, -0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, -0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, -0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, -0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, -0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, -0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, -0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, -0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, -0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, -0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, -0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, -0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, -0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, -0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28, -0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09, -0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9, -0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, -0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, -0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, -0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, -0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, -0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, -0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, -0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, -0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, -0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, -0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, -0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, -0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, -0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, -0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, -0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE, -0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED, -0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC, -0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, -0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, -0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5, -0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, -0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, -0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, -0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, -0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, -0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, -0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, -0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3, -0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x63, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, -0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0, -0x0B, 0x90, 0x93, 0x40, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93, -0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90, -0x93, 0x58, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0xF5, 0x49, -0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, -0x58, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x04, 0x2F, 0xF5, -0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0xF5, 0x49, 0xE4, -0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, -0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, -0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x12, 0x9B, 0x79, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x22, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF, -0x02, 0x4E, 0x27, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5D, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x62, 0x64, 0x01, -0x60, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02, -0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3, -0xE0, 0x60, 0x14, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x78, 0x43, 0x66, 0x10, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F, -0xFF, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0x80, -0x2D, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, -0xFE, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3A, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x80, -0x2D, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, -0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, -0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x58, 0xE0, 0xD3, -0x9F, 0x40, 0x08, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0x14, 0xF0, -0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, -0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x4A, 0x65, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x55, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x48, 0x90, -0x93, 0x51, 0x74, 0x01, 0xF0, 0x12, 0x9B, 0x79, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xE5, 0x65, -0x70, 0x03, 0x02, 0x47, 0x32, 0x90, 0x93, 0x5A, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, -0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02, 0x47, 0x32, 0x02, 0x47, 0x2F, 0x90, 0x93, 0x41, 0xE0, -0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x58, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x36, -0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90, 0x93, 0x39, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, -0x90, 0x93, 0x58, 0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, -0x03, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, -0x93, 0x63, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x63, 0xE0, 0xFF, 0x90, 0x93, 0x48, 0xE0, 0x2F, 0xFF, -0xE4, 0x33, 0xFE, 0x90, 0x93, 0x41, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, -0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, -0x52, 0x17, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, -0x59, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, 0x57, 0x04, 0xF0, 0x90, -0x93, 0x40, 0xF0, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4F, 0x74, -0x05, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, -0x93, 0x48, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, -0x93, 0x50, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x93, -0xB2, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, -0x3D, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, -0x51, 0xF0, 0x90, 0x93, 0x4A, 0xF0, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, -0x49, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, -0x36, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, -0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, -0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, -0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, -0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19, -0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, -0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, -0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90, 0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, -0x40, 0xF0, 0x02, 0x49, 0x29, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, -0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, -0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, -0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, -0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, -0x28, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, -0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, -0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, -0x00, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0xE0, -0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x51, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14, 0x12, 0x52, 0x17, 0x80, 0x0F, 0x90, 0x93, 0x3D, 0xE0, -0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, -0x0C, 0x60, 0x13, 0x12, 0x51, 0x48, 0x80, 0x0E, 0x12, 0x50, 0x77, 0x80, 0x09, 0x90, 0x93, 0x51, -0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, -0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93, -0x5A, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, -0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0xEB, 0xAF, 0x26, 0xAE, -0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, -0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, -0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0xA1, 0xE5, -0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x53, 0x12, -0x51, 0xD4, 0x80, 0x4E, 0xE5, 0x63, 0x20, 0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69, -0x12, 0x51, 0x86, 0x80, 0x3D, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20, -0xE3, 0x09, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0xD4, 0xE5, 0x63, 0x54, 0x0F, 0xFF, -0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2, 0x09, 0x12, 0x48, 0x8F, 0xEF, 0x60, 0x14, 0x12, 0x51, -0x1F, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0xF7, 0xEF, 0x60, 0x03, 0x12, -0x52, 0x04, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4B, 0x35, 0x02, 0x52, 0xF4, 0xE4, 0x93, 0xA3, -0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, -0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, -0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, -0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F, 0x75, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, -0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, -0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, -0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, -0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, -0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, -0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x65, 0x90, 0x06, -0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, -0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, -0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, -0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4F, 0x28, 0xE5, 0x62, 0x20, 0xE0, -0x05, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51, -0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14, -0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, -0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60, -0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80, -0x07, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, -0x90, 0x93, 0x43, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, -0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, -0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, -0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x07, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x40, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xEF, 0xF0, -0x90, 0x93, 0x42, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x58, -0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, -0x03, 0x12, 0x49, 0x32, 0x22, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, -0x90, 0x93, 0xB1, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x54, -0x0A, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, -0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, -0x7F, 0x08, 0x12, 0x54, 0x0A, 0x7F, 0x01, 0x12, 0x4E, 0x81, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, -0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, -0x54, 0x0A, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x54, 0x0A, 0x7F, 0x14, -0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A, 0xE0, -0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12, -0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, -0x93, 0x55, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x52, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, -0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, -0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, -0x22, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, -0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x39, 0x80, 0x29, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x39, 0x1F, 0x80, 0x14, 0x90, -0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x50, -0x39, 0xE4, 0xFF, 0x12, 0x4B, 0x7A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24, -0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, -0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E, -0x42, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x1F, 0x12, 0x49, -0xD0, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, -0x12, 0x58, 0x1F, 0x12, 0x49, 0xD0, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00, -0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x45, 0xE0, 0x94, -0x88, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, -0x22, 0x90, 0x94, 0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, -0x3B, 0x09, 0xD3, 0x90, 0x94, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x00, 0x40, -0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, -0x7F, 0x20, 0x12, 0x54, 0x0A, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, -0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, -0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x54, 0x0A, -0xE4, 0xFF, 0x12, 0x4E, 0x81, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, -0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x54, 0x0A, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, -0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, -0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, -0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4E, 0xE0, 0x9D, 0x90, 0x93, 0x4D, -0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, -0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x48, 0x93, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x9F, 0x00, 0x41, -0x93, 0xAE, 0x00, 0x41, 0x93, 0x94, 0x00, 0x41, 0x94, 0x4C, 0x00, 0x41, 0x93, 0x13, 0x00, 0x41, -0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, -0x94, 0x3D, 0x00, 0x41, 0x94, 0x4A, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0x56, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, -0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, -0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, -0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x9B, 0x79, 0x90, 0x93, 0x59, 0xE0, -0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, -0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x57, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x40, 0xF0, -0xE4, 0x90, 0x93, 0x5C, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x93, 0x57, -0xF0, 0x80, 0x05, 0x90, 0x93, 0x57, 0xED, 0xF0, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, 0xF0, -0x90, 0x93, 0x5C, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, -0xF0, 0x90, 0x93, 0x52, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12, -0x4A, 0x65, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, -0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3E, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, -0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, -0xF9, 0x90, 0x93, 0x54, 0xF0, 0xEE, 0x90, 0x93, 0x53, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, -0xB0, 0xE0, 0x90, 0x94, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB0, 0xE0, 0x90, 0x94, 0x35, -0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x6B, 0x90, -0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x42, 0xEF, 0x70, -0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x54, -0x62, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x46, 0xE0, 0x70, 0x1A, 0x90, 0x04, -0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xA9, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x1F, 0x8E, 0x6A, -0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x16, 0x90, -0x93, 0x4A, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, -0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A, -0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x0C, -0x22, 0x90, 0x94, 0x4D, 0xEF, 0xF0, 0x12, 0x98, 0x8F, 0x90, 0x94, 0x4D, 0xE0, 0x60, 0x05, 0x90, -0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, -0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, -0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x05, -0x7F, 0x01, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30, 0xE6, -0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0, -0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xE5, 0x12, 0x4E, 0xD9, -0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x69, 0x90, 0x02, -0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x43, -0xF7, 0x52, 0x49, 0x00, 0x40, 0x52, 0x71, 0x00, 0x80, 0x52, 0x9C, 0x01, 0x00, 0x52, 0xB0, 0x02, -0x00, 0x52, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x52, 0xE5, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE, -0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80, -0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D, -0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35, -0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D, -0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00, -0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x21, 0xF0, -0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x75, 0xF0, 0xA3, 0xF0, 0xF1, 0x9F, 0x75, 0x8E, 0x02, -0xB1, 0x34, 0xF1, 0xBF, 0x90, 0x93, 0xB1, 0xEF, 0xF0, 0xF1, 0xA7, 0x90, 0x93, 0xB3, 0xEF, 0xF0, -0x12, 0x60, 0x3E, 0x90, 0x93, 0x95, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5, 0x09, -0xF5, 0x62, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x88, 0x65, -0x12, 0x47, 0x33, 0x12, 0x37, 0x1C, 0xF1, 0xB3, 0x71, 0xE1, 0x12, 0x60, 0x02, 0xF1, 0xD2, 0xF1, -0x98, 0x12, 0x60, 0x20, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xAC, 0xB1, 0x1C, 0x90, 0x93, 0x77, 0xE5, -0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x52, 0x75, 0xE8, 0x03, -0x43, 0xA8, 0x85, 0x12, 0x96, 0x00, 0xD2, 0xAF, 0x51, 0xEA, 0x12, 0x60, 0x56, 0x90, 0x93, 0x75, -0xE0, 0x64, 0x01, 0xF0, 0x24, 0xF4, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x14, -0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0xB1, 0x44, 0xD2, 0xAF, 0xE5, 0x14, 0x30, 0xE4, -0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x6F, 0xBB, 0xE5, 0x14, 0x30, 0xE6, 0x0A, -0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x80, 0x62, 0xE5, 0x14, 0x30, 0xE7, 0x09, 0xC2, -0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0xD2, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, -0x01, 0x0D, 0x90, 0x93, 0x43, 0x74, 0x01, 0xF0, 0x51, 0x17, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0xD2, -0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x63, 0xF0, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, -0x8C, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x55, 0x91, 0x0A, -0x7D, 0xFF, 0x7F, 0x56, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, -0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x52, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x51, 0x91, 0x0A, 0xE4, -0xFD, 0x7F, 0x52, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, -0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x00, 0x00, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x02, -0xE0, 0x54, 0xFE, 0xF0, 0x91, 0x52, 0x91, 0x4B, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, -0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, -0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x3D, -0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x56, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, -0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, -0xEB, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, -0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF6, 0xB1, 0x67, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x51, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x94, 0x3E, 0xE0, -0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, -0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xAD, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, -0x7F, 0x80, 0x81, 0x0A, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79, 0x6B, 0x12, 0x73, 0x5E, 0xEF, 0xB4, -0x02, 0x14, 0x90, 0x94, 0x4A, 0xE0, 0x64, 0x04, 0x60, 0x07, 0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, -0x22, 0xE4, 0x90, 0x94, 0x4A, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, -0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, -0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x97, 0x34, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, -0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79, 0x07, 0x7F, 0x80, 0x7E, 0x08, 0xB1, -0x6B, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xF1, 0x40, 0xEF, 0x60, 0x4E, 0x90, 0x92, -0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, -0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, -0xFA, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x31, 0x90, 0x92, 0x69, -0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, -0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90, 0x92, -0x68, 0xE0, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0xF1, 0x40, 0xEF, 0x70, 0x02, 0xC1, 0xEC, 0x90, -0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, -0x7A, 0x01, 0x79, 0xA0, 0xD1, 0xF1, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, -0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, -0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0xF1, 0x90, 0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, -0x93, 0xB1, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, -0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, 0xD1, 0xF1, 0x90, 0x94, -0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x22, 0xD1, -0xF1, 0x90, 0x93, 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, -0x92, 0x68, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, -0x0A, 0x12, 0x43, 0xC8, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xC8, -0xAF, 0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x94, 0x0D, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, -0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x94, 0x0A, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, -0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x94, 0x39, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, -0xF0, 0x90, 0x94, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, -0x90, 0x94, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x3B, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, -0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x3B, 0xE4, 0x75, 0xF0, 0x01, 0x12, -0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0x8F, 0x82, -0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0x90, -0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, -0x7F, 0x01, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0x90, -0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22, 0x7F, -0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, -0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, -0xC4, 0x74, 0xE7, 0xF0, 0x74, 0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, -0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, -0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, -0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, -0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, -0x54, 0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, -0x62, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x67, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x68, 0xF0, 0x90, -0x93, 0x67, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x1C, 0xEF, 0xF0, 0xA3, 0xED, -0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x94, -0x21, 0xF0, 0xD1, 0x3C, 0xBF, 0x01, 0x02, 0x11, 0xEC, 0x90, 0x94, 0x21, 0xE0, 0x90, 0x05, 0x22, -0xF0, 0x80, 0x02, 0x11, 0xEC, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAC, 0xE0, -0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x94, 0x1F, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, -0x94, 0x1C, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x2B, 0xF0, 0xEF, 0x60, 0x10, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, -0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x94, 0x2B, 0xE0, 0xFF, 0x74, 0x23, 0x2E, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x12, 0x9B, 0xA7, 0x90, 0x93, 0x27, 0xE0, -0x64, 0x01, 0x60, 0x02, 0x41, 0xAE, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, -0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, -0xE0, 0x90, 0x93, 0x63, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x63, 0xE0, 0x24, 0x03, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, -0x80, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x16, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xA1, 0xAC, 0x90, 0x93, -0x27, 0xE0, 0x64, 0x02, 0x60, 0x02, 0x61, 0x8D, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, -0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, 0xE4, 0xFF, 0xD1, 0xE6, -0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, -0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x90, -0x93, 0x1A, 0xE0, 0x54, 0xEF, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, -0x90, 0x93, 0x63, 0xE0, 0x2F, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x64, -0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x63, 0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1, 0x83, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, -0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, -0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xC1, 0x36, 0x90, 0x93, 0x27, -0xE0, 0x64, 0x03, 0x60, 0x02, 0x81, 0xE1, 0x7F, 0x01, 0xD1, 0xE6, 0x90, 0x93, 0x19, 0xE0, 0xFF, -0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x8F, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0x81, 0x3D, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, -0xE0, 0xD3, 0x9F, 0x40, 0x4D, 0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, -0xC3, 0xEF, 0x9E, 0xFF, 0x24, 0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, -0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x66, 0xF0, 0x80, -0x06, 0x90, 0x93, 0x66, 0x74, 0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, -0x80, 0x24, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, -0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, -0x90, 0x93, 0x65, 0xE0, 0xFF, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, -0x74, 0x05, 0xF0, 0x7F, 0x01, 0xD1, 0x83, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, -0xE0, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, -0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x08, 0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, -0x69, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, -0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x7F, 0x01, 0xC1, -0x38, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x04, 0x60, 0x02, 0xA1, 0xB2, 0xF5, 0x48, 0x75, 0x49, 0x03, -0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, -0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x17, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x90, 0x05, 0x22, 0xE4, -0xF0, 0x22, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x3B, 0x90, 0x93, 0x19, 0xE0, -0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, -0xE4, 0xFF, 0xD1, 0xE6, 0xD1, 0x83, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, -0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, -0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x22, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0xE4, 0x90, 0x94, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, -0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, -0x94, 0x49, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, -0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x94, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, -0x87, 0x80, 0xC6, 0x90, 0x94, 0x2C, 0xEF, 0xF0, 0x12, 0x9D, 0x50, 0x90, 0x93, 0x18, 0xE0, 0xFF, -0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x94, 0x2C, 0xE0, 0xFF, 0x12, 0x50, 0xEB, 0x90, -0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x94, 0x2C, 0xE0, 0xB4, 0x01, 0x10, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x94, 0x2D, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2D, 0x12, 0x55, 0x67, 0x90, 0x94, 0x2C, -0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0xEF, 0x64, 0x03, 0x60, 0x02, 0xE1, 0xB4, 0x90, 0x94, 0x02, -0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x30, 0xE0, 0x30, 0x90, 0x94, 0x06, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, -0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, -0x41, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, -0x74, 0x55, 0xF0, 0x80, 0x2D, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, -0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, -0xF0, 0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90, 0x94, 0x06, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x94, 0x02, 0xE0, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x94, 0x03, 0xE0, 0x90, 0x06, -0xC1, 0xF0, 0x90, 0x94, 0x04, 0xE0, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x94, 0x05, 0xE0, 0x90, 0x06, -0xC3, 0xF0, 0x90, 0x94, 0x06, 0xE0, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x94, 0x07, 0xE0, 0x90, 0x06, -0xC5, 0xF0, 0x90, 0x94, 0x08, 0xE0, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x94, 0x09, 0xE0, 0x90, 0x06, -0xC7, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, -0x17, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, -0x06, 0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0, 0x22, 0x74, 0x03, 0xF0, 0x22, 0x12, 0x57, 0xE7, 0xBF, -0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x04, 0x1F, 0x74, 0x20, -0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30, 0xE0, 0x02, -0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90, 0x01, 0x30, -0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B, 0xF0, 0x22, -0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32, 0x20, 0x90, -0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22, 0x90, 0x93, -0xB3, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, -0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, -0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, -0x79, 0xE0, 0x94, 0x88, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, -0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x78, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x78, 0xE0, -0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, -0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, -0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, -0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, -0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, -0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, -0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, -0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5D, 0xE0, 0xFE, 0xA3, -0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x9F, -0xF0, 0x22, 0x90, 0x93, 0x9F, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, -0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x5F, 0xCC, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, -0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, -0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x4B, 0xF0, 0x74, 0x61, -0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, -0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, -0x02, 0x61, 0x45, 0x90, 0x01, 0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, -0xD4, 0x0D, 0x85, 0xD5, 0x0E, 0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, -0x0B, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, -0x79, 0xA0, 0x12, 0x56, 0xF1, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, -0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02, 0x41, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0x41, 0xF0, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, -0x93, 0xA2, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, -0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, -0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, -0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, -0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, -0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, -0x2F, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, -0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFF, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x67, 0xAF, 0x4D, 0x12, 0x7A, 0xA1, 0x80, 0x60, -0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0xA4, -0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, -0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFE, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, -0x12, 0x7A, 0x3D, 0x80, 0x1B, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, -0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, -0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x46, 0x90, 0x93, 0x59, 0xE0, 0x60, 0x37, 0x90, -0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, -0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x55, 0xF0, 0x80, 0x09, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x17, 0x90, -0x94, 0x4B, 0xE0, 0x04, 0xF0, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xE7, 0x90, 0x01, 0x34, 0x74, -0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75, -0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, 0x50, 0x08, -0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55, -0x51, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25, -0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F, -0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15, -0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x97, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x97, 0xE0, -0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x6A, 0xE5, 0x12, 0x24, 0x01, -0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90, -0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74, -0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10, -0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0, -0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x54, 0x1F, 0x90, -0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x54, 0x52, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06, -0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0xF1, 0x90, 0x93, 0xB2, -0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0xAF, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, -0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x45, 0x09, 0x90, -0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0xE6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, -0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30, 0xE0, 0x54, 0xFE, -0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, -0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43, 0x84, 0x90, 0x81, -0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1C, 0x90, 0x93, 0x2D, -0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE, -0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x6B, 0x40, 0x12, 0x6B, 0x09, 0x90, 0x93, 0xB2, 0xE4, -0xF0, 0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x40, 0x12, -0x9D, 0xA9, 0x11, 0xDC, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, -0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, -0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, -0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, -0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x73, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x34, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x57, 0xE0, 0x90, -0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, -0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x40, -0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, -0x64, 0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, -0x74, 0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, -0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, -0x2B, 0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5A, 0xE4, 0xF0, -0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2E, 0x30, 0xE5, -0x25, 0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65, 0x60, 0x16, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x51, -0x48, 0x80, 0x03, 0x12, 0x50, 0x77, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, -0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, -0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, -0xF0, 0x12, 0x4F, 0xFA, 0x74, 0x4B, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, -0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, -0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5D, 0xE0, 0x54, 0xF0, -0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15, 0x90, 0x94, -0x19, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5D, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x94, 0x16, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, -0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, 0x69, 0xE0, 0x70, 0x06, 0xA3, -0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0F, -0x12, 0x57, 0x40, 0xEF, 0x60, 0x72, 0x12, 0x55, 0xD2, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x90, -0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xA8, 0x01, -0xFC, 0x7D, 0x01, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E, 0xD0, -0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, -0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x19, 0x12, 0x43, 0xA8, 0x8B, 0x20, -0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, -0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x56, 0xF1, 0x90, 0x92, 0x6A, 0xE0, -0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0x90, -0x93, 0x63, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x65, -0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x65, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0x63, 0xC1, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x07, 0xF0, 0x54, -0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0xC1, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, -0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, -0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, -0xC1, 0x89, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x92, 0xE0, 0x54, 0xF0, 0x44, 0x02, -0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, -0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x92, 0xC1, 0x89, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, -0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D, 0xDA, 0x90, 0x01, 0xC4, -0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, -0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, -0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, -0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, -0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, -0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, -0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, -0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, -0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, -0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, -0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, -0x00, 0x90, 0x01, 0xC4, 0x74, 0x81, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, -0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, -0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3C, -0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x79, 0xE5, 0x34, 0x30, 0xE2, 0x36, 0x90, 0x01, 0x3C, -0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, -0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, -0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x55, 0xE4, 0xF0, -0x12, 0x52, 0x17, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0x90, 0x06, -0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, -0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, -0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x52, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5, 0x34, -0x30, 0xE4, 0x34, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0, 0x24, -0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01, -0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, -0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0x97, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, -0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, -0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, 0xF0, 0x12, 0x51, 0xEC, 0x12, 0x52, 0x17, 0xE5, -0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, -0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0xAE, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, -0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, 0x90, -0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, -0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xD1, 0x50, 0xE5, 0x36, 0x30, -0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x76, 0x90, 0x01, 0x3E, -0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, 0x95, -0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x8F, -0xE0, 0x30, 0xE6, 0x12, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x07, -0x80, 0xE0, 0xFF, 0x12, 0x67, 0x3D, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0, -0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, -0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0, -0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF, -0x12, 0x55, 0xB2, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, -0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, -0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, -0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1C, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, 0x24, -0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x71, -0x40, 0x71, 0x09, 0x74, 0x81, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0xD0, 0x07, -0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, -0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x94, 0x3E, 0xE0, 0x30, 0xE0, 0x2F, -0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x3D, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, -0x94, 0x40, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x3D, 0xF0, 0x90, 0x94, 0x40, 0xE0, 0xFF, 0x90, -0x94, 0x3F, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x22, -0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x6F, 0x7F, 0x01, 0x12, 0x5E, 0xE6, 0x90, 0x93, 0x19, 0xE0, -0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x8F, 0x7F, 0x01, 0x12, 0x5E, 0x83, -0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x29, 0x90, 0x93, 0x15, 0xE0, 0xC4, -0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, -0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, -0x0C, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4C, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05, 0x74, 0x6F, 0xF0, -0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, -0x05, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, -0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, -0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x35, -0x90, 0x93, 0x94, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x00, -0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x94, 0x74, 0x01, 0xF0, 0x90, 0xFD, 0x60, 0xE0, -0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x03, 0x12, 0x99, 0xED, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x0E, -0x60, 0x02, 0x81, 0xB8, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20, 0xE0, -0x02, 0x81, 0xB8, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54, 0x3F, -0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x07, -0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01, 0xF0, -0xEF, 0x20, 0xE0, 0x44, 0x90, 0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19, 0x90, -0x07, 0x78, 0x12, 0x58, 0x7F, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49, 0x90, -0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, -0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, -0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x54, -0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x7F, 0x80, 0x0C, 0xE0, 0x44, 0x10, 0xF0, -0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A, 0x90, -0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xD1, 0xBF, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15, 0x70, -0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6A, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54, 0x3F, -0x04, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x69, 0xF0, -0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, -0x3F, 0xFF, 0x90, 0x93, 0x6A, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, 0x3F, -0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF, 0x54, -0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x69, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F, 0x90, -0x93, 0x6B, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10, 0xE0, -0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x16, 0x08, 0x90, 0xFD, -0x62, 0xE0, 0xFF, 0x12, 0x67, 0x64, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x08, 0x90, 0xFD, 0x62, -0xE0, 0xFF, 0x12, 0x67, 0x8B, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0xD1, 0x6E, 0x90, 0xFD, -0x60, 0xE0, 0x64, 0x23, 0x70, 0x7B, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C, 0x30, 0xE0, 0x05, -0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90, 0x93, -0x2D, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08, 0x12, -0x2C, 0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x7F, 0x70, 0x7E, -0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0, 0x04, -0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44, 0x20, -0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0x12, 0x9A, -0x59, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x02, 0xD1, 0x96, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25, -0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x93, -0x24, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, 0x12, 0x9A, 0xF5, -0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0xD1, 0xEA, 0x90, 0xFD, -0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, -0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, -0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, 0x93, 0x1C, 0xE0, -0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0x22, 0x90, 0x00, -0x75, 0xE0, 0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, -0x03, 0xF0, 0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, -0x75, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, -0x0F, 0x44, 0x10, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x7B, 0x01, 0x7A, 0x93, -0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, 0xAE, -0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, -0x93, 0x6E, 0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, -0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, 0xAC, 0x07, 0x90, 0x93, 0xD9, 0xE0, -0x44, 0x0F, 0xF0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0xDB, 0xEC, 0xF0, 0x60, 0x32, 0x90, -0xFD, 0x63, 0xE0, 0x90, 0x93, 0xDC, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDD, 0xF0, 0x90, -0xFD, 0x64, 0xE0, 0x90, 0x93, 0xDE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, -0xFD, 0x66, 0xE0, 0x90, 0x93, 0xE0, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x80, -0x11, 0x90, 0x93, 0xDC, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xDB, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0xD9, 0x02, 0x66, 0x89, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, -0x93, 0x83, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0x90, 0x93, 0x85, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x86, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, -0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x15, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x7F, 0x30, 0x12, -0x96, 0xD8, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x83, 0xE0, -0xFB, 0xE4, 0xFD, 0xFF, 0xD1, 0xEA, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0xFD, 0x70, 0x03, 0x02, 0x71, 0x06, 0x90, 0x94, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, -0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, 0x5D, 0x70, 0x03, -0x02, 0x70, 0xFF, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, 0x43, 0x9C, -0xE0, 0x90, 0x93, 0x79, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22, 0x79, 0x75, 0x23, -0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7A, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x94, 0x4C, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, 0x02, 0x90, -0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, -0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4C, 0xE0, -0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90, 0x94, -0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E, 0xF0, -0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x7F, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, -0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, -0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, 0x93, 0x79, -0x7B, 0x31, 0x0B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x90, 0x94, 0x4C, 0xE0, 0xFE, 0x74, 0x01, 0xA8, -0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x94, -0x4C, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0x90, 0x01, -0xCC, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x02, 0x6F, 0xCC, 0x90, -0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x80, 0x12, 0x43, -0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x71, 0xAF, 0x01, 0x71, 0xA6, 0x02, 0x71, 0xF7, 0x03, 0x72, 0x00, -0x05, 0x72, 0x09, 0x06, 0x73, 0x4B, 0x07, 0x72, 0x11, 0x0B, 0x72, 0x1A, 0x10, 0x72, 0x22, 0x11, -0x72, 0x2A, 0x12, 0x72, 0x32, 0x16, 0x72, 0x3C, 0x17, 0x72, 0x46, 0x18, 0x72, 0x50, 0x19, 0x73, -0x17, 0x1B, 0x73, 0x20, 0x1C, 0x72, 0x59, 0x1D, 0x72, 0x63, 0x1E, 0x72, 0x6E, 0x21, 0x72, 0x77, -0x22, 0x72, 0x80, 0x23, 0x72, 0x89, 0x24, 0x72, 0x92, 0x25, 0x72, 0x9B, 0x26, 0x72, 0xA4, 0x27, -0x72, 0xAD, 0x28, 0x72, 0xB6, 0x29, 0x71, 0xB8, 0x2D, 0x71, 0xC1, 0x2E, 0x72, 0xBF, 0x2F, 0x73, -0x29, 0x30, 0x72, 0xD0, 0x32, 0x72, 0xC7, 0x33, 0x71, 0xD3, 0x34, 0x72, 0xD9, 0x36, 0x72, 0xE2, -0x37, 0x72, 0xEB, 0x38, 0x72, 0xF3, 0x3A, 0x71, 0xCA, 0x3B, 0x72, 0xFC, 0x3E, 0x73, 0x05, 0x3F, -0x73, 0x0E, 0x41, 0x73, 0x32, 0x46, 0x71, 0xDC, 0x47, 0x71, 0xEE, 0x48, 0x71, 0xE5, 0x49, 0x73, -0x3B, 0x4B, 0x00, 0x00, 0x73, 0x44, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0x7D, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0x83, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8C, -0x64, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8C, 0xAC, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x02, 0x8C, 0xE5, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x17, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x02, 0x8D, 0x1D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0xDD, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xD0, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0xEE, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x5F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x81, -0x1C, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xAC, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x61, 0x4C, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x61, 0x52, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x61, 0x58, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x03, 0x80, 0x1B, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x18, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE4, -0xFF, 0x80, 0x08, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x04, 0x02, 0x8E, 0x36, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x50, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x69, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x82, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8F, 0x9B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xB4, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x8F, 0xCD, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xE6, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x8F, 0xFF, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x18, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x81, 0x0D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x40, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x59, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x90, 0x72, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x61, 0xEB, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x37, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x02, 0x96, 0x63, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0x7C, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xB7, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xA4, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x8B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x99, 0xB9, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x6F, 0x55, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x97, 0x22, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F, 0x0B, -0x80, 0x10, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, 0x7D, 0x03, -0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x41, 0x12, 0x43, 0xC8, 0xE4, -0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54, 0x0F, -0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, 0xEF, 0xF0, -0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x94, 0x41, 0x12, 0x43, 0xA8, 0x8E, 0x82, -0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, -0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, 0x74, 0x01, -0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, 0x90, 0x01, -0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x23, 0x71, 0x62, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9A, 0x59, 0x22, 0x12, 0x1E, 0xF6, -0xFF, 0xE9, 0x24, 0x01, 0xF9, 0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0x61, 0x62, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, -0x90, 0x93, 0x83, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x85, 0x12, -0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x88, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, -0x89, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, -0xAD, 0x82, 0xAC, 0x83, 0x90, 0x93, 0x8A, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, -0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, -0x8C, 0x12, 0x43, 0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, -0x42, 0x65, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, -0x93, 0x8A, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, -0x8D, 0x82, 0x8C, 0x83, 0xA3, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFE, 0x90, 0x93, 0x83, 0xE0, 0xFF, -0x24, 0xC2, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFE, -0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, -0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x75, 0xF0, -0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, -0x02, 0xA4, 0x24, 0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, -0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, -0x8F, 0x5E, 0xE5, 0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, -0x5F, 0x01, 0xF5, 0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, -0x83, 0xE0, 0x12, 0x43, 0xD1, 0x75, 0xAA, 0x00, 0x75, 0xBF, 0x01, 0x75, 0xD4, 0x02, 0x75, 0xE9, -0x03, 0x76, 0x12, 0x04, 0x76, 0x27, 0x05, 0x76, 0x3C, 0x06, 0x76, 0x62, 0x0C, 0x76, 0x8F, 0x0D, -0x76, 0xBC, 0x0E, 0x76, 0xE9, 0x0F, 0x00, 0x00, 0x77, 0x1D, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, -0x74, 0x10, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, -0xE1, 0x1D, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, -0x0F, 0xF0, 0xA3, 0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xE1, 0x1D, 0x90, 0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, -0x04, 0x46, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, -0x04, 0x45, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0xE1, 0x14, 0x90, -0x04, 0x4B, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, -0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, -0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, -0xF0, 0x90, 0x04, 0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, -0x60, 0xA9, 0x61, 0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, -0xAB, 0x5A, 0xE5, 0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, -0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, -0x83, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, -0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, -0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, -0xD0, 0x83, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x4C, 0x90, 0x93, 0x8F, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x8F, -0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x50, 0x03, 0x02, 0x78, 0x63, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, -0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, -0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, -0x0A, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x8F, 0xE0, 0x14, -0xF0, 0x80, 0xBA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x47, 0x90, 0x93, 0x8F, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x8F, -0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, -0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, -0x8F, 0xE0, 0xA3, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x8F, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, -0x93, 0x90, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, -0xFF, 0xC3, 0x94, 0x10, 0x40, 0x02, 0x21, 0x1C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, -0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, -0x93, 0x8F, 0xE0, 0x80, 0x63, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, -0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, -0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, -0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, -0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0x90, 0x93, 0x90, 0xE0, -0xFF, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, -0x91, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, -0xE5, 0x57, 0xC3, 0x94, 0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, -0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, -0x34, 0x04, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x91, 0xE0, 0xA3, 0xF0, 0x80, -0x37, 0x80, 0x2D, 0x74, 0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, -0x90, 0x93, 0x90, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x92, 0xEE, 0xF0, 0x80, -0x17, 0x90, 0x93, 0x91, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, -0x90, 0x93, 0x90, 0xE0, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFD, 0xAF, 0x57, 0x31, -0xF4, 0x90, 0x93, 0x92, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xEF, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, -0x74, 0x03, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, -0x22, 0xEF, 0xD3, 0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, -0x8A, 0x83, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, -0x0E, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x29, 0x74, -0x27, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCC, 0xEF, 0xF0, -0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCD, 0xF0, 0x7B, 0x01, -0x7A, 0x93, 0x79, 0xCC, 0x7D, 0x02, 0x71, 0xB9, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D, -0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x5F, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x60, 0x74, 0x01, 0xF0, 0xEB, 0xC3, -0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x5D, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3, -0xE0, 0x90, 0x41, 0xA4, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5, -0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x21, 0xF4, 0x90, 0x93, -0x5E, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0, -0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x62, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, -0x93, 0x61, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x62, -0xE0, 0xFF, 0x90, 0x93, 0x61, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x61, 0xE0, -0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, -0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, -0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, -0x90, 0x93, 0x61, 0xE0, 0xFD, 0x31, 0xF4, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, -0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, -0xCF, 0x04, 0xF0, 0x90, 0x93, 0x61, 0xE0, 0xFF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x94, 0x22, 0x12, 0x43, 0xC8, 0x90, 0x94, 0x25, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, -0xED, 0x54, 0x0F, 0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, 0x22, 0x12, -0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x25, 0x12, 0x66, -0x89, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, -0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, -0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, -0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0x75, 0xF0, 0x09, -0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8D, 0xF0, 0x75, 0xF0, 0x09, 0xEC, -0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8E, 0xF0, 0xEC, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8F, 0xCB, -0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x91, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, 0x2C, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, 0x93, 0x8E, -0xE0, 0x90, 0x93, 0x8B, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xED, 0x70, 0x02, 0xA1, 0x70, 0x90, 0x93, -0x8C, 0xED, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8B, 0xE0, 0x90, 0x93, -0x88, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x70, 0x02, 0xA1, 0x70, -0x90, 0x93, 0x8B, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0xA1, 0x70, 0xE4, 0x90, 0x93, 0x8A, -0xF0, 0xEF, 0x14, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFD, 0x90, 0x93, 0x89, 0xE0, -0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, 0x74, 0x01, -0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, -0x93, 0x91, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x89, 0xE0, 0xFF, -0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, -0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, -0x60, 0x1A, 0x90, 0x93, 0x89, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, -0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, 0x89, 0xE0, -0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xC3, 0x9F, 0x50, -0x0F, 0x90, 0x93, 0x89, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x8D, 0xE0, 0x90, 0x93, 0x88, 0xF0, -0x90, 0x93, 0x88, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, -0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, -0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, -0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x88, 0xE0, 0xFD, 0x31, 0xF4, 0x90, 0x93, 0x88, 0xE0, 0xFF, -0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, 0xF0, 0xFD, -0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x0F, -0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x4D, 0xF0, -0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, -0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, -0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, -0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xED, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, -0x8E, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x25, 0xE0, 0x24, 0x34, 0xF5, -0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, 0xEE, 0xC3, -0x9F, 0x40, 0x02, 0xE1, 0x5E, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x8B, 0xE0, -0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xE1, 0x98, 0xEE, 0xC3, 0x94, 0x10, -0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, -0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8C, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, -0x4E, 0x70, 0x27, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, 0x01, 0x7E, -0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, -0x8E, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8A, 0xE0, 0xB4, 0x11, -0x0D, 0x90, 0x93, 0x8D, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x17, 0xF0, 0x90, 0x93, -0x8A, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8C, 0xE0, 0x30, -0xE0, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x90, 0x93, 0x89, 0xF0, -0x90, 0x93, 0x88, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0xC1, 0xBC, 0x90, 0x93, -0x8B, 0xE0, 0xFC, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, -0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x89, 0xE0, 0x44, 0x40, 0x90, -0x93, 0x88, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x25, 0xE0, 0x24, -0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, -0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, -0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, -0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, 0x89, 0xE0, -0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, -0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x89, 0xEF, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xFC, 0xA3, -0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, -0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, -0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, -0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAF, 0x05, -0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, 0xFD, 0x12, 0x79, 0xF4, 0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, -0xFF, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, -0x03, 0x02, 0x88, 0x64, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, 0x90, 0x89, -0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, 0x03, 0x02, -0x88, 0x5B, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFE, -0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x88, 0x5B, 0x90, 0x93, 0x78, -0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x88, 0x64, 0x90, 0x93, -0x78, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, 0x5A, 0x01, -0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, -0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x7D, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x25, 0xE0, -0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7F, -0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, -0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, -0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, -0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x82, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, -0x40, 0x02, 0x61, 0xF9, 0x90, 0x93, 0x82, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x9F, 0x40, 0x13, -0x90, 0x93, 0x82, 0xE0, 0x90, 0x93, 0x7A, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, 0x79, 0xF0, -0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, 0x93, 0x78, -0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, 0x06, 0xEF, -0x90, 0x40, 0xE0, 0x80, 0x07, 0x90, 0x93, 0x7A, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, 0x93, 0x81, -0xF0, 0x90, 0x93, 0x81, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, 0x35, 0xF0, -0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, -0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7B, 0xCF, -0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, -0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, -0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, -0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, -0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, -0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, 0x12, 0x42, -0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, -0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, -0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, -0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, 0xA3, 0xE0, -0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, -0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, 0x90, 0x93, -0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x78, 0xE0, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, -0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, -0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x61, 0xC8, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0x74, -0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, 0x03, 0xEF, -0x80, 0x1C, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x90, -0x93, 0x83, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, 0x90, 0x93, -0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x01, -0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x80, -0x0F, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, -0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x60, -0x02, 0xE1, 0x09, 0x12, 0x7E, 0x01, 0xE1, 0x09, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x6C, -0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0xC3, 0x90, -0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x02, 0xE1, 0x09, 0x90, 0x93, 0x78, -0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x7B, 0xF6, 0xE1, 0x09, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0xA1, 0xD7, 0x90, -0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x19, 0x40, 0x3D, -0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x11, 0x40, 0x2E, 0x80, -0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x0A, -0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0x0D, -0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, 0x93, 0x78, -0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, -0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, 0x30, 0x50, -0x0A, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xA1, 0x82, 0x90, 0x8E, 0xC5, 0xE0, 0x64, -0x01, 0x60, 0x02, 0xA1, 0x77, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xEE, 0x24, 0x05, 0xFB, -0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, -0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x78, 0xE0, 0xFE, 0xEF, -0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, 0x78, 0xE0, -0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x6F, -0x60, 0x56, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x11, 0xEF, 0xD3, -0x94, 0x39, 0x90, 0x93, 0x87, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, -0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, -0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, -0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFE, -0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEE, 0xF0, -0x90, 0x93, 0x87, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xEE, -0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x11, 0xE4, -0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, -0x90, 0x93, 0x87, 0xE0, 0xFD, 0xE1, 0x06, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xE1, 0x09, 0x90, 0x93, -0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, -0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x85, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, -0x78, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, -0xE4, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, 0x47, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, 0x83, 0x12, -0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, 0x1F, 0x3C, -0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x85, 0xE0, 0xFE, 0xA3, 0xE0, -0xFF, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x50, 0x08, 0x90, 0x93, -0x84, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x84, 0xE0, 0xC3, 0x13, 0xF0, 0x90, 0x93, 0x87, -0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x84, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x87, 0x04, 0xF0, -0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x87, -0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x87, 0x74, 0x01, 0xF0, 0x80, -0x3C, 0x80, 0x35, 0x90, 0x93, 0x87, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x84, 0xE0, 0xFF, -0x70, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x87, 0xB4, 0x01, -0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, 0x94, 0x03, -0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0xD3, 0x90, 0x93, -0x80, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, -0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFD, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, 0x82, 0xE4, -0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x7D, 0xC1, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, 0x67, 0x2F, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78, 0xE0, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7F, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, 0x78, 0xE0, -0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, 0xA3, 0xE0, -0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xED, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, -0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, -0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x84, 0xF5, -0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, 0x9D, 0xFB, -0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x78, 0xE0, 0x50, 0x13, 0x25, 0xE0, -0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x80, -0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, -0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x04, 0xE4, -0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, -0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, -0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, -0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, -0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, -0xF0, 0x02, 0x80, 0x67, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, 0xF0, 0xA3, -0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, -0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE4, 0xF0, -0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, 0x89, 0x01, -0x04, 0xF0, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, -0x02, 0x41, 0x5E, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, -0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, -0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, -0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0x07, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0x90, -0x41, 0x5A, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, -0x90, 0x93, 0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, -0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, -0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x74, -0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, 0x09, 0xED, -0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, -0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, -0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x89, 0x12, -0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x01, 0xA7, 0x22, 0x12, -0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x74, -0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4, 0x40, 0x0A, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, -0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, -0x06, 0x02, 0x74, 0x30, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, 0x94, 0x40, 0x40, 0x02, -0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x83, 0xF0, 0xEE, 0xA3, -0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, -0xE0, 0x90, 0x93, 0x85, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xEC, -0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, -0x93, 0x89, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xEC, 0xF0, -0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, -0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x02, 0x67, 0xB2, 0x12, 0x1E, 0xF6, -0xF5, 0x62, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0x90, 0x93, 0x3D, -0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, -0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x44, 0xF0, 0xEF, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, -0x93, 0x4A, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01, 0x90, 0x93, 0x46, -0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, -0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x49, 0xF0, 0xE0, 0x70, 0x38, 0x90, 0x93, 0x47, -0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, -0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x03, 0x00, 0x90, 0x93, 0x86, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, -0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x12, 0x4D, 0xC1, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xE6, 0xF0, 0xD0, -0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0, 0x25, 0x12, 0x1E, -0xF6, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x4B, 0xF0, 0xEF, -0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, -0x50, 0xF0, 0x22, 0x90, 0x93, 0x48, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, -0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x30, -0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x4F, 0x74, 0x05, -0xF0, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, -0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4C, 0xF0, 0x60, 0x20, 0x90, 0x93, -0x15, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x3D, 0xE0, -0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x51, 0x69, 0x90, 0x93, -0x4C, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, -0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, -0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93, 0x36, 0xE0, 0x54, -0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x00, 0x03, -0x12, 0x1F, 0x0F, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3A, -0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, -0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, -0x40, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, -0x08, 0x90, 0x93, 0x37, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, -0x93, 0x37, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x37, -0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x06, -0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x37, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, -0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x90, 0x93, 0x3B, 0xF0, 0x22, 0x12, 0x1E, 0xF6, -0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x02, -0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93, 0xA8, 0xF0, 0x90, -0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xA9, 0xF0, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAA, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, -0xED, 0x2F, 0x90, 0x93, 0xAB, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, -0x2F, 0x90, 0x93, 0xAC, 0xF0, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, -0x00, 0x40, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, -0xF0, 0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, -0x1E, 0xF6, 0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, -0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, -0x06, 0xC2, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, -0xE0, 0x54, 0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, -0x01, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, -0x90, 0x06, 0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, -0x03, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x06, 0xCB, 0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, -0xE0, 0x06, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, -0x90, 0x07, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x90, 0x92, 0x6C, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, 0xF0, 0x90, -0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x73, 0x5E, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, -0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x17, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x18, 0x02, -0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x19, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x1A, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, -0x01, 0x7F, 0x1C, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, -0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x73, 0x62, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x1E, 0x02, 0x73, 0x62, 0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, -0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9, 0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, 0x93, 0x0B, -0x12, 0x43, 0x84, 0xEC, 0x54, 0x03, 0xFC, 0x12, 0x43, 0x59, 0x90, 0x93, 0x07, 0x02, 0x1F, 0xC9, -0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1F, 0x02, 0x73, 0x62, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x20, 0x02, -0x73, 0x62, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, 0xE0, 0x5C, -0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, -0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, 0xFD, 0x55, -0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, 0x74, 0x10, -0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, -0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, -0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, 0xE4, 0x3E, -0xFE, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, 0xF0, 0x90, -0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, 0xEC, 0x70, -0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, 0x05, 0x31, -0x79, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, 0xDA, 0xE4, -0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xC3, 0xEF, 0x9B, 0x74, -0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF, 0x05, 0x31, 0x79, 0x0D, 0x80, 0xE3, 0x0C, 0x80, -0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12, 0x54, 0x0A, 0x90, 0x01, 0xBD, -0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0, 0x08, -0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x00, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, -0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, 0xEF, 0x75, -0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x52, -0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, -0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, 0xF5, 0x82, -0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, -0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, 0x75, 0xF0, -0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x57, 0xF0, -0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, 0x44, 0x01, -0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, -0x87, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, -0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, -0x54, 0x04, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, -0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, -0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFC, -0x54, 0x80, 0xFF, 0x90, 0x93, 0x15, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, -0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xED, 0x54, 0x02, -0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x04, 0xFF, -0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, -0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18, 0xE0, 0x54, -0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x04, -0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, -0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, -0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, -0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x19, -0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0xEC, 0x20, -0xE0, 0x02, 0x81, 0xB1, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, -0x17, 0xF0, 0x80, 0x4E, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x16, 0x50, 0x05, 0x74, -0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x16, 0x74, 0x2A, 0xF0, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, -0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x17, 0x74, -0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x3D, 0x90, 0x93, -0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0, 0xE0, 0xC3, 0x13, 0xA3, 0xF0, 0x90, -0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x16, 0xE0, 0xC3, -0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x22, 0xF0, 0x90, -0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0xE4, 0x90, 0x93, 0x11, 0xF0, -0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xC4, 0x13, 0x13, 0x54, -0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x04, 0x7F, -0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, -0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x03, 0x75, 0x64, 0x04, -0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, -0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x80, 0x2B, 0x90, -0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x80, 0x1C, 0x90, 0x93, -0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x1D, -0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x80, -0x64, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, -0x90, 0x93, 0x83, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x07, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0xB1, 0x4D, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0x90, 0x93, -0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, -0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x83, 0x12, 0x55, 0x67, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x00, 0x74, 0x1C, -0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0x90, 0x93, 0x26, -0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x09, 0x90, 0x93, -0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x93, 0x04, 0xE0, -0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0, 0xE4, 0x90, 0x93, 0x26, -0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, -0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF, -0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0xE0, 0x54, -0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, 0x28, 0x74, 0x02, 0xF0, -0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, -0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93, -0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFD, -0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, -0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x22, -0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7, 0xF0, -0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x93, 0x0B, -0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, 0x43, 0xE8, -0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x07, -0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90, 0x00, -0x40, 0x74, 0x20, 0xF0, 0xB1, 0x4D, 0x90, 0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F, 0x02, -0x02, 0x3A, 0xAD, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x24, 0x02, 0x73, 0x62, 0x12, 0x1E, 0xF6, 0xFF, -0x54, 0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, -0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, -0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, -0x1F, 0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, 0x73, 0x62, -0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0x8A, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD, -0x50, 0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x8E, -0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, -0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xAE, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x93, 0xAF, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x46, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, -0xC0, 0x60, 0x43, 0xC3, 0x90, 0x94, 0x47, 0xE0, 0x94, 0x88, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x13, -0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x46, 0xE4, -0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, -0x47, 0xE0, 0x94, 0x64, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, -0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, 0x22, 0x90, 0x93, 0xE2, 0x12, 0x1F, 0xC9, 0x90, -0x93, 0xE6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, -0x93, 0xE6, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, 0x73, 0x50, 0x41, 0x90, 0x93, 0xE6, 0x12, 0x43, -0x84, 0xA9, 0x07, 0x90, 0x93, 0xE2, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, -0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, -0x1B, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, -0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xE6, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE6, 0x02, -0x43, 0x84, 0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, -0xB8, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, 0x90, 0x93, 0xB4, 0x60, 0x68, 0x12, 0x43, 0x84, -0x12, 0x2C, 0x6E, 0x90, 0x93, 0xC0, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, -0x97, 0x89, 0x90, 0x93, 0xC4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, 0x43, -0x66, 0x90, 0x93, 0xC0, 0x12, 0x43, 0x90, 0x12, 0x43, 0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, -0xC0, 0x07, 0x90, 0x93, 0xC4, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, -0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, -0x90, 0x93, 0xC8, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, -0x90, 0x93, 0xC8, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xBC, 0x12, -0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xEA, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, -0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, -0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, -0x74, 0x03, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x14, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x0B, 0x90, -0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x2D, -0xE0, 0x20, 0xE0, 0x24, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x1E, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, -0x93, 0x5B, 0xE0, 0x60, 0x13, 0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, -0x01, 0x7A, 0x93, 0x79, 0xEE, 0x12, 0x55, 0x67, 0x12, 0x54, 0x4B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x4E, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, -0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, -0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, 0x90, 0x94, 0x4E, 0xE0, 0xFD, 0x74, 0x01, -0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, -0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, -0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, 0x94, 0x4E, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, -0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, -0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, 0x90, 0x94, 0x4E, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, -0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, -0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, -0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x12, -0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, -0x03, 0x12, 0x44, 0xFE, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, -0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x94, 0x3F, 0xF0, 0x22, 0x90, 0x93, 0x6C, -0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x90, 0xFD, -0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, -0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, -0x60, 0xE0, 0x90, 0x93, 0x6C, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F, 0x44, 0x50, 0xF0, 0x80, 0x16, -0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD, -0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, -0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, 0xAD, 0x07, 0x90, 0x93, 0xFA, 0xE0, 0x54, -0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0xFC, 0xF0, 0x90, -0xFD, 0x63, 0xE0, 0x90, 0x93, 0xFD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0xFE, 0xF0, 0x90, -0xFD, 0x65, 0xE0, 0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x94, 0x00, 0xF0, 0x90, -0xFD, 0x67, 0xE0, 0x90, 0x94, 0x01, 0xF0, 0xED, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, -0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, 0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, -0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, -0x60, 0xF0, 0x90, 0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, 0x93, 0xFC, 0x74, 0x01, 0xF0, 0x80, 0x05, -0xE4, 0x90, 0x93, 0xFC, 0xF0, 0xE4, 0x90, 0x93, 0xFD, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xFC, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0xFA, 0x02, 0x66, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, -0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, -0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, -0x93, 0x72, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, -0x93, 0x74, 0xF0, 0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, -0x90, 0x93, 0x6E, 0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90, 0x93, 0x6C, 0xE0, -0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x6C, 0xE0, 0xFF, -0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, -0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x12, 0x66, 0x89, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x27, 0x90, -0x93, 0x4A, 0xE0, 0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, -0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, -0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x20, 0xE0, 0x02, 0xA1, 0x4F, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, -0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, -0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x4B, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFF, -0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0x3A, 0xE4, 0x90, 0x93, 0x1D, 0xF0, -0x90, 0x93, 0x27, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, -0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, -0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x4B, 0xF0, 0x90, 0x93, 0x20, 0xE0, -0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0x3A, 0xE4, 0x90, 0x93, 0x1D, -0xF0, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, -0x81, 0xFE, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, -0x90, 0x93, 0x27, 0x30, 0xE0, 0x4E, 0xA1, 0x4C, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, -0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, -0x0F, 0x30, 0xE0, 0x02, 0xA1, 0x0D, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, -0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, -0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, -0x40, 0x02, 0xA1, 0x4C, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, -0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, -0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, -0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, -0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, -0x1D, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, -0x80, 0x3A, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x27, 0x80, 0x23, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, -0x01, 0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, -0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, -0xEF, 0x64, 0x01, 0x70, 0x3C, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, -0x07, 0x90, 0x07, 0x78, 0x74, 0x0D, 0xF0, 0x22, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, -0xE0, 0x0D, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, -0x93, 0x18, 0xE0, 0xC3, 0x13, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, -0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, -0x04, 0x74, 0x03, 0xF0, 0x22, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4B, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x30, 0xE0, 0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, -0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, -0x01, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, -0x90, 0x93, 0x5D, 0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, -0x74, 0x05, 0xF0, 0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, -0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, -0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0xE4, 0x90, 0x94, 0x4B, 0xF0, 0x22, 0x85, 0xD2, -}; - - - -u8 Rtl8723UFwUMCBCutImgArrayWithBT[Rtl8723UUMCBCutImgArrayWithBTLength] = { -0x02, 0x23, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x03, 0x28, 0x14, 0x04, 0x16, 0x5E, 0x01, 0x00, -0x73, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x4A, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x61, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x67, 0xDB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x68, 0x82, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x6B, 0xB8, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, -0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, -0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, -0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, -0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, -0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, -0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, -0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, -0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, -0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, -0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, -0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, -0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, -0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, -0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, -0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, -0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, -0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, -0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, -0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, -0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, -0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, -0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, -0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, -0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28, -0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09, -0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9, -0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, -0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, -0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, -0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, -0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, -0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, -0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, -0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, -0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, -0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, -0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, -0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, -0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, -0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, -0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, -0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE, -0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED, -0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC, -0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, -0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, -0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5, -0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, -0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, -0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, -0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, -0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, -0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, -0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, -0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3, -0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x63, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, -0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0, -0x0B, 0x90, 0x93, 0x40, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93, -0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90, -0x93, 0x58, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0xF5, 0x49, -0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, -0x58, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x04, 0x2F, 0xF5, -0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0xF5, 0x49, 0xE4, -0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, -0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, -0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x12, 0x9B, 0x40, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x22, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF, -0x02, 0x4E, 0x27, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5D, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x62, 0x64, 0x01, -0x60, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02, -0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3, -0xE0, 0x60, 0x14, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x78, 0x43, 0x66, 0x10, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F, -0xFF, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0x80, -0x2D, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, -0xFE, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3A, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x80, -0x2D, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, -0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, -0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x58, 0xE0, 0xD3, -0x9F, 0x40, 0x08, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0x14, 0xF0, -0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, -0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x4A, 0x65, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x55, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x48, 0x90, -0x93, 0x51, 0x74, 0x01, 0xF0, 0x12, 0x9B, 0x40, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xE5, 0x65, -0x70, 0x03, 0x02, 0x47, 0x32, 0x90, 0x93, 0x5A, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, -0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02, 0x47, 0x32, 0x02, 0x47, 0x2F, 0x90, 0x93, 0x41, 0xE0, -0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x58, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x36, -0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90, 0x93, 0x39, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, -0x90, 0x93, 0x58, 0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, -0x03, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, -0x93, 0x63, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x63, 0xE0, 0xFF, 0x90, 0x93, 0x48, 0xE0, 0x2F, 0xFF, -0xE4, 0x33, 0xFE, 0x90, 0x93, 0x41, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, -0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, -0x52, 0x17, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, -0x59, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, 0x57, 0x04, 0xF0, 0x90, -0x93, 0x40, 0xF0, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4F, 0x74, -0x05, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, -0x93, 0x48, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, -0x93, 0x50, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x93, -0xB2, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, -0x3D, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, -0x51, 0xF0, 0x90, 0x93, 0x4A, 0xF0, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, -0x49, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, -0x36, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, -0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, -0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, -0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, -0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19, -0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, -0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, -0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90, 0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, -0x40, 0xF0, 0x02, 0x49, 0x29, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, -0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, -0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, -0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, -0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, -0x28, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, -0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, -0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, -0x00, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0xE0, -0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x51, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14, 0x12, 0x52, 0x17, 0x80, 0x0F, 0x90, 0x93, 0x3D, 0xE0, -0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, -0x0C, 0x60, 0x13, 0x12, 0x51, 0x48, 0x80, 0x0E, 0x12, 0x50, 0x77, 0x80, 0x09, 0x90, 0x93, 0x51, -0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x5D, 0xE0, 0x30, -0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, -0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93, -0x5A, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, -0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0xEB, 0xAF, 0x26, 0xAE, -0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, -0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, -0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0xA1, 0xE5, -0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x53, 0x12, -0x51, 0xD4, 0x80, 0x4E, 0xE5, 0x63, 0x20, 0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69, -0x12, 0x51, 0x86, 0x80, 0x3D, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20, -0xE3, 0x09, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0xD4, 0xE5, 0x63, 0x54, 0x0F, 0xFF, -0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2, 0x09, 0x12, 0x48, 0x8F, 0xEF, 0x60, 0x14, 0x12, 0x51, -0x1F, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0xF7, 0xEF, 0x60, 0x03, 0x12, -0x52, 0x04, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4B, 0x35, 0x02, 0x52, 0xF4, 0xE4, 0x93, 0xA3, -0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, -0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, -0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, -0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F, 0x75, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, -0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, -0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, -0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, -0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, -0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, -0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x65, 0x90, 0x06, -0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, -0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, -0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, -0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4F, 0x28, 0xE5, 0x62, 0x20, 0xE0, -0x05, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51, -0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14, -0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, -0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60, -0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80, -0x07, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, -0x90, 0x93, 0x43, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, -0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, -0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, -0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x07, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x40, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xEF, 0xF0, -0x90, 0x93, 0x42, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x58, -0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, -0x03, 0x12, 0x49, 0x32, 0x22, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, -0x90, 0x93, 0xB1, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x54, -0x0A, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, -0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, -0x7F, 0x08, 0x12, 0x54, 0x0A, 0x7F, 0x01, 0x12, 0x4E, 0x81, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, -0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, -0x54, 0x0A, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x54, 0x0A, 0x7F, 0x14, -0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A, 0xE0, -0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12, -0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, -0x93, 0x55, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x52, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, -0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, -0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, -0x22, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, -0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, -0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x39, 0x80, 0x29, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x39, 0x1F, 0x80, 0x14, 0x90, -0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x50, -0x39, 0xE4, 0xFF, 0x12, 0x4B, 0x7A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24, -0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, -0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E, -0x42, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x1F, 0x12, 0x49, -0xD0, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, -0x12, 0x58, 0x1F, 0x12, 0x49, 0xD0, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00, -0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x45, 0xE0, 0x94, -0x88, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, -0x22, 0x90, 0x94, 0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, -0x3B, 0x09, 0xD3, 0x90, 0x94, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x00, 0x40, -0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, -0x7F, 0x20, 0x12, 0x54, 0x0A, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, -0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, -0x28, 0x12, 0x54, 0x0A, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x54, 0x0A, -0xE4, 0xFF, 0x12, 0x4E, 0x81, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, -0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x54, 0x0A, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, -0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, -0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, -0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4E, 0xE0, 0x9D, 0x90, 0x93, 0x4D, -0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, -0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x48, 0x93, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x9F, 0x00, 0x41, -0x93, 0xAE, 0x00, 0x41, 0x93, 0x94, 0x00, 0x41, 0x94, 0x4C, 0x00, 0x41, 0x93, 0x13, 0x00, 0x41, -0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, -0x94, 0x3D, 0x00, 0x41, 0x94, 0x4A, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0x56, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x31, 0x12, -0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, -0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, -0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, -0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x9B, 0x40, 0x90, 0x93, 0x59, 0xE0, -0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, -0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x57, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x40, 0xF0, -0xE4, 0x90, 0x93, 0x5C, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x93, 0x57, -0xF0, 0x80, 0x05, 0x90, 0x93, 0x57, 0xED, 0xF0, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, 0xF0, -0x90, 0x93, 0x5C, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, -0xF0, 0x90, 0x93, 0x52, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12, -0x4A, 0x65, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, -0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3E, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, -0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, -0xF9, 0x90, 0x93, 0x54, 0xF0, 0xEE, 0x90, 0x93, 0x53, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, -0xB0, 0xE0, 0x90, 0x94, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB0, 0xE0, 0x90, 0x94, 0x35, -0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x6B, 0x90, -0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x42, 0xEF, 0x70, -0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x54, -0x62, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x46, 0xE0, 0x70, 0x1A, 0x90, 0x04, -0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xA9, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x1F, 0x8E, 0x6A, -0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x16, 0x90, -0x93, 0x4A, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, -0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A, -0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x0C, -0x22, 0x90, 0x94, 0x4D, 0xEF, 0xF0, 0x12, 0x98, 0x56, 0x90, 0x94, 0x4D, 0xE0, 0x60, 0x05, 0x90, -0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, -0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, -0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x05, -0x7F, 0x01, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30, 0xE6, -0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0, -0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xE5, 0x12, 0x4E, 0xD9, -0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x69, 0x90, 0x02, -0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x43, -0xF7, 0x52, 0x49, 0x00, 0x40, 0x52, 0x71, 0x00, 0x80, 0x52, 0x9C, 0x01, 0x00, 0x52, 0xB0, 0x02, -0x00, 0x52, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x52, 0xE5, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE, -0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80, -0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D, -0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35, -0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D, -0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF, -0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00, -0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x21, 0xF0, -0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x75, 0xF0, 0xA3, 0xF0, 0xF1, 0x9F, 0x75, 0x8E, 0x02, -0xB1, 0x34, 0xF1, 0xBF, 0x90, 0x93, 0xB1, 0xEF, 0xF0, 0xF1, 0xA7, 0x90, 0x93, 0xB3, 0xEF, 0xF0, -0x12, 0x60, 0x3E, 0x90, 0x93, 0x95, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5, 0x09, -0xF5, 0x62, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x88, 0x77, -0x12, 0x47, 0x33, 0x12, 0x37, 0x1C, 0xF1, 0xB3, 0x71, 0xE1, 0x12, 0x60, 0x02, 0xF1, 0xD2, 0xF1, -0x98, 0x12, 0x60, 0x20, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xAC, 0xB1, 0x1C, 0x90, 0x93, 0x77, 0xE5, -0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x52, 0x75, 0xE8, 0x03, -0x43, 0xA8, 0x85, 0x12, 0x96, 0x12, 0xD2, 0xAF, 0x51, 0xEA, 0x12, 0x60, 0x56, 0x90, 0x93, 0x75, -0xE0, 0x64, 0x01, 0xF0, 0x24, 0xF4, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x14, -0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0xB1, 0x44, 0xD2, 0xAF, 0xE5, 0x14, 0x30, 0xE4, -0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x6F, 0xCE, 0xE5, 0x14, 0x30, 0xE6, 0x0A, -0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x80, 0x74, 0xE5, 0x14, 0x30, 0xE7, 0x09, 0xC2, -0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0xD2, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, -0x01, 0x0D, 0x90, 0x93, 0x43, 0x74, 0x01, 0xF0, 0x51, 0x17, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0xD2, -0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x63, 0xF0, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, -0x8C, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x55, 0x91, 0x0A, -0x7D, 0xFF, 0x7F, 0x56, 0x91, 0x0A, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, -0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x52, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x51, 0x91, 0x0A, 0xE4, -0xFD, 0x7F, 0x52, 0x91, 0x0A, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, -0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x00, 0x00, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x02, -0xE0, 0x54, 0xFE, 0xF0, 0x91, 0x52, 0x91, 0x4B, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, -0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, -0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x3D, -0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x56, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, -0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, -0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, -0xEB, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, -0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF6, 0xB1, 0x67, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x51, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x94, 0x3E, 0xE0, -0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, -0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xAD, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, -0x7F, 0x80, 0x81, 0x0A, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79, 0x6B, 0x12, 0x73, 0x70, 0xEF, 0xB4, -0x02, 0x14, 0x90, 0x94, 0x4A, 0xE0, 0x64, 0x04, 0x60, 0x07, 0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, -0x22, 0xE4, 0x90, 0x94, 0x4A, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, -0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, -0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x96, 0xFC, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, -0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79, 0x07, 0x7F, 0x80, 0x7E, 0x08, 0xB1, -0x6B, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xF1, 0x40, 0xEF, 0x60, 0x4E, 0x90, 0x92, -0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, -0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, -0xFA, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x31, 0x90, 0x92, 0x69, -0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, -0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90, 0x92, -0x68, 0xE0, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0xF1, 0x40, 0xEF, 0x70, 0x02, 0xC1, 0xEC, 0x90, -0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, -0x7A, 0x01, 0x79, 0xA0, 0xD1, 0xF1, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, -0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, -0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0xF1, 0x90, 0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, -0x93, 0xB1, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, -0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, 0xD1, 0xF1, 0x90, 0x94, -0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, -0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x22, 0xD1, -0xF1, 0x90, 0x93, 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, -0x92, 0x68, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, -0x0A, 0x12, 0x43, 0xC8, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xC8, -0xAF, 0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x94, 0x0D, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, -0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x94, 0x0A, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, -0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x94, 0x39, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, -0xF0, 0x90, 0x94, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, -0x90, 0x94, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x3B, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, -0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x3B, 0xE4, 0x75, 0xF0, 0x01, 0x12, -0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0x8F, 0x82, -0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0x90, -0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, -0x7F, 0x01, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0x90, -0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22, 0x7F, -0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, -0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, -0xC4, 0x74, 0xE7, 0xF0, 0x74, 0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, -0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, -0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, -0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, -0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, -0x54, 0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, -0x62, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x67, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x68, 0xF0, 0x90, -0x93, 0x67, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x1C, 0xEF, 0xF0, 0xA3, 0xED, -0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x94, -0x21, 0xF0, 0xD1, 0x3C, 0xBF, 0x01, 0x02, 0x11, 0xEC, 0x90, 0x94, 0x21, 0xE0, 0x90, 0x05, 0x22, -0xF0, 0x80, 0x02, 0x11, 0xEC, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAC, 0xE0, -0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x94, 0x1F, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, -0x94, 0x1C, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x2B, 0xF0, 0xEF, 0x60, 0x10, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, -0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x94, 0x2B, 0xE0, 0xFF, 0x74, 0x23, 0x2E, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x12, 0x9B, 0x6E, 0x90, 0x93, 0x27, 0xE0, -0x64, 0x01, 0x60, 0x02, 0x41, 0xAE, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, -0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, -0xE0, 0x90, 0x93, 0x63, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x63, 0xE0, 0x24, 0x03, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, -0x80, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x16, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xA1, 0xAC, 0x90, 0x93, -0x27, 0xE0, 0x64, 0x02, 0x60, 0x02, 0x61, 0x8D, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, -0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, 0xE4, 0xFF, 0xD1, 0xE6, -0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, -0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x90, -0x93, 0x1A, 0xE0, 0x54, 0xEF, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, -0x90, 0x93, 0x63, 0xE0, 0x2F, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x64, -0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x63, 0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1, 0x83, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, -0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, -0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0xC1, 0x36, 0x90, 0x93, 0x27, -0xE0, 0x64, 0x03, 0x60, 0x02, 0x81, 0xE1, 0x7F, 0x01, 0xD1, 0xE6, 0x90, 0x93, 0x19, 0xE0, 0xFF, -0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x56, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0x81, 0x3D, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, -0xE0, 0xD3, 0x9F, 0x40, 0x4D, 0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, -0xC3, 0xEF, 0x9E, 0xFF, 0x24, 0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, -0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x66, 0xF0, 0x80, -0x06, 0x90, 0x93, 0x66, 0x74, 0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, -0x80, 0x24, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, -0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, -0x90, 0x93, 0x65, 0xE0, 0xFF, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, -0x74, 0x05, 0xF0, 0x7F, 0x01, 0xD1, 0x83, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, -0xE0, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, -0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x08, 0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, -0x69, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, -0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x7F, 0x01, 0xC1, -0x38, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x04, 0x60, 0x02, 0xA1, 0xB2, 0xF5, 0x48, 0x75, 0x49, 0x03, -0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, -0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, -0x90, 0x93, 0x17, 0xE0, 0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xB9, -0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, -0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, -0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x3B, 0x90, 0x05, 0x22, 0xE4, -0xF0, 0x22, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x3B, 0x90, 0x93, 0x19, 0xE0, -0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x3C, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x62, -0xE4, 0xFF, 0xD1, 0xE6, 0xD1, 0x83, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, -0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, -0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, -0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, -0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x22, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0xE4, 0x90, 0x94, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, -0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, -0x94, 0x49, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, -0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x94, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, -0x87, 0x80, 0xC6, 0x90, 0x94, 0x2C, 0xEF, 0xF0, 0x12, 0x9D, 0x17, 0x90, 0x93, 0x18, 0xE0, 0xFF, -0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x94, 0x2C, 0xE0, 0xFF, 0x12, 0x50, 0xEB, 0x90, -0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x94, 0x2C, 0xE0, 0xB4, 0x01, 0x10, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, -0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x94, 0x2D, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2D, 0x12, 0x55, 0x67, 0x90, 0x94, 0x2C, -0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0xEF, 0x64, 0x03, 0x60, 0x02, 0xE1, 0xB4, 0x90, 0x94, 0x02, -0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x30, 0xE0, 0x30, 0x90, 0x94, 0x06, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, -0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, -0x41, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, -0x74, 0x55, 0xF0, 0x80, 0x2D, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, -0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, -0xF0, 0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90, 0x94, 0x06, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x94, 0x02, 0xE0, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x94, 0x03, 0xE0, 0x90, 0x06, -0xC1, 0xF0, 0x90, 0x94, 0x04, 0xE0, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x94, 0x05, 0xE0, 0x90, 0x06, -0xC3, 0xF0, 0x90, 0x94, 0x06, 0xE0, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x94, 0x07, 0xE0, 0x90, 0x06, -0xC5, 0xF0, 0x90, 0x94, 0x08, 0xE0, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x94, 0x09, 0xE0, 0x90, 0x06, -0xC7, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, -0x17, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, -0x06, 0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0, 0x22, 0x74, 0x03, 0xF0, 0x22, 0x12, 0x57, 0xE7, 0xBF, -0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x1F, 0x90, 0x04, 0x1F, 0x74, 0x20, -0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30, 0xE0, 0x02, -0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90, 0x01, 0x30, -0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B, 0xF0, 0x22, -0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32, 0x20, 0x90, -0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22, 0x90, 0x93, -0xB3, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, -0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, -0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, -0x79, 0xE0, 0x94, 0x88, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, -0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x78, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x78, 0xE0, -0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, -0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, -0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, -0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, -0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, -0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, -0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, -0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5D, 0xE0, 0xFE, 0xA3, -0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x9F, -0xF0, 0x22, 0x90, 0x93, 0x9F, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, -0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x5F, 0xCC, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, -0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, -0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x4B, 0xF0, 0x74, 0x61, -0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, -0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, -0x02, 0x61, 0x45, 0x90, 0x01, 0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, -0xD4, 0x0D, 0x85, 0xD5, 0x0E, 0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, -0x0B, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, -0x79, 0xA0, 0x12, 0x56, 0xF1, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, -0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02, 0x41, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0x41, 0xF0, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, -0x93, 0xA2, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, -0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, -0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, -0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, -0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, -0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0xA1, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, -0x2F, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, -0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFF, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x67, 0xAF, 0x4D, 0x12, 0x7A, 0xB3, 0x80, 0x60, -0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0xA4, -0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, -0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFE, 0xC4, 0x13, 0x13, -0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, -0x12, 0x7A, 0x4F, 0x80, 0x1B, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, -0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, -0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x46, 0x90, 0x93, 0x59, 0xE0, 0x60, 0x37, 0x90, -0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, -0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x55, 0xF0, 0x80, 0x09, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x17, 0x90, -0x94, 0x4B, 0xE0, 0x04, 0xF0, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xE7, 0x90, 0x01, 0x34, 0x74, -0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75, -0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, 0x50, 0x08, -0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55, -0x51, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25, -0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F, -0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15, -0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x97, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x97, 0xE0, -0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x6A, 0xE5, 0x12, 0x24, 0x01, -0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90, -0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74, -0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10, -0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0, -0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x54, 0x1F, 0x90, -0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x54, 0x52, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06, -0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0xF1, 0x90, 0x93, 0xB2, -0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0xAF, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, -0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x45, 0x09, 0x90, -0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0xE6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, -0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, -0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30, 0xE0, 0x54, 0xFE, -0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, -0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43, 0x84, 0x90, 0x81, -0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1C, 0x90, 0x93, 0x2D, -0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE, -0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x6B, 0x41, 0x12, 0x6B, 0x0A, 0x90, 0x93, 0xB2, 0xE4, -0xF0, 0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x40, 0x12, -0x9D, 0x70, 0x11, 0xDC, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, -0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, -0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, -0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, -0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x73, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x34, 0x90, -0x93, 0x57, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x57, 0xE0, 0x90, -0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, -0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x40, -0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, -0x64, 0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, -0x74, 0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, -0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, -0x2B, 0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, -0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5A, 0xE4, 0xF0, -0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2E, 0x30, 0xE5, -0x25, 0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65, 0x60, 0x16, -0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x51, -0x48, 0x80, 0x03, 0x12, 0x50, 0x77, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, -0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, -0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, -0xF0, 0x12, 0x4F, 0xFA, 0x74, 0x4B, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, -0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, -0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5D, 0xE0, 0x54, 0xF0, -0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15, 0x90, 0x94, -0x19, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5D, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x94, 0x16, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, -0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, 0x69, 0xE0, 0x70, 0x06, 0xA3, -0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0F, -0x12, 0x57, 0x40, 0xEF, 0x60, 0x72, 0x12, 0x55, 0xD2, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x90, -0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xA8, 0x01, -0xFC, 0x7D, 0x01, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E, 0xD0, -0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, -0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x19, 0x12, 0x43, 0xA8, 0x8B, 0x20, -0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, -0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x56, 0xF1, 0x90, 0x92, 0x6A, 0xE0, -0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0x90, -0x93, 0x63, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x65, -0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x65, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0x63, 0xC1, 0x89, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54, -0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0xC1, 0x89, 0x90, 0x93, 0x8F, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x92, 0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, -0x93, 0x8F, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, -0x92, 0xC1, 0x89, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44, 0x10, -0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0xC1, 0x89, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, -0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D, 0xDB, 0x90, 0x01, -0xC4, 0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, -0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, -0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, -0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, -0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, -0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, -0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, -0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, -0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, -0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, -0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, -0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0x82, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, -0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, -0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01, -0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x79, 0xE5, 0x34, 0x30, 0xE2, 0x36, 0x90, 0x01, -0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, -0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x55, 0xE4, -0xF0, 0x12, 0x52, 0x17, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0x90, -0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, -0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, -0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x52, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5, -0x34, 0x30, 0xE4, 0x34, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0, -0x24, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, -0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, -0x12, 0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0x97, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, -0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, -0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, 0xF0, 0x12, 0x51, 0xEC, 0x12, 0x52, 0x17, -0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, -0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0xAE, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, -0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, -0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, -0xF0, 0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xD1, 0x43, 0xE5, 0x36, -0x30, 0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x76, 0x90, 0x01, -0x3E, 0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, -0x95, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, -0x8F, 0xE0, 0x30, 0xE6, 0x12, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x08, 0x90, -0x07, 0x80, 0xE0, 0xFF, 0x12, 0x67, 0x3D, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, -0xF0, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, -0x01, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, -0xF0, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, -0xFF, 0x12, 0x55, 0xB2, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, -0x36, 0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, -0x01, 0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, -0x43, 0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1C, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, -0x24, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, -0x71, 0x41, 0x71, 0x0A, 0x74, 0x82, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0xD0, -0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, -0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x94, 0x3E, 0xE0, 0x30, 0xE0, -0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x3D, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x0B, -0x90, 0x94, 0x40, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x3D, 0xF0, 0x90, 0x94, 0x40, 0xE0, 0xFF, -0x90, 0x94, 0x3F, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4, 0x90, 0x94, 0x40, 0xF0, -0x22, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x6F, 0x7F, 0x01, 0x12, 0x5E, 0xE6, 0x90, 0x93, 0x19, -0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x98, 0x56, 0x7F, 0x01, 0x12, 0x5E, -0x83, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x29, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, -0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, -0x7F, 0x0C, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4C, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05, 0x74, 0x6F, -0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, -0xE0, 0x05, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, -0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, -0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02, 0xC1, -0x28, 0x90, 0x93, 0x94, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0, 0x90, -0x00, 0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x94, 0x74, 0x01, 0xF0, 0x90, 0xFD, 0x60, -0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x03, 0x12, 0x99, 0xB4, 0x90, 0xFD, 0x60, 0xE0, 0x64, -0x0E, 0x60, 0x02, 0x81, 0xB9, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20, -0xE0, 0x02, 0x81, 0xB9, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54, -0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, -0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01, -0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90, 0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19, -0x90, 0x07, 0x78, 0x12, 0x58, 0x7F, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49, -0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, -0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x55, 0xB2, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, -0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, -0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x7F, 0x80, 0x0C, 0xE0, 0x44, 0x10, -0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A, -0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xD1, 0x89, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15, -0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6A, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54, -0x3F, 0x04, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x69, -0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, -0x54, 0x3F, 0xFF, 0x90, 0x93, 0x6A, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, -0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF, -0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x69, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F, -0x90, 0x93, 0x6B, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10, -0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x08, 0x90, -0xFD, 0x62, 0xE0, 0xFF, 0x12, 0x67, 0x64, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0xD1, 0x61, -0x90, 0xFD, 0x60, 0xE0, 0x64, 0x23, 0x70, 0x7B, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C, 0x30, -0xE0, 0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, -0x90, 0x93, 0x2D, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, -0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x7F, -0x70, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, -0xE0, 0x04, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, -0x44, 0x20, 0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, -0x12, 0x9A, 0x20, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x03, 0x12, 0x67, 0xB3, 0x90, 0xFD, 0x60, -0xE0, 0xB4, 0x25, 0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, -0xF0, 0x90, 0x93, 0x24, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, -0x12, 0x9A, 0xBC, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0xD1, -0xB4, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, -0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, -0xD0, 0xE0, 0x32, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, -0x93, 0x1C, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, -0x22, 0x90, 0x00, 0x75, 0xE0, 0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, -0xFE, 0x13, 0x74, 0x03, 0xF0, 0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, -0xF0, 0x90, 0x00, 0x75, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xAE, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, -0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0xEE, 0xF0, 0xA3, 0xED, -0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, -0x6C, 0x02, 0x66, 0x89, 0xAC, 0x07, 0x90, 0x93, 0xD9, 0xE0, 0x44, 0x0F, 0xF0, 0x54, 0x0F, 0x44, -0x70, 0xF0, 0x90, 0x93, 0xDB, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0xDC, -0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0xDE, -0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0xE0, -0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x80, 0x11, 0x90, 0x93, 0xDC, 0xED, 0xF0, -0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, -0x79, 0xDB, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xD9, 0x02, 0x66, 0x89, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x83, 0xF0, 0x90, 0x00, 0x01, -0x12, 0x1F, 0x0F, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x85, -0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, -0x0F, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, -0x14, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x7F, 0x30, 0xF1, 0x84, 0x90, 0x93, 0x83, 0xE0, 0xFB, -0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xE4, 0xFD, 0xFF, 0xD1, 0xB4, 0xD0, -0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x8A, 0x12, 0x43, -0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD, 0x50, 0xEF, 0xF0, 0xEE, -0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x8E, 0x82, 0x75, 0x83, 0x00, -0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xEF, 0xF0, -0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, -0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x78, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x71, 0x18, 0x90, 0x94, 0x4C, 0xE0, 0xFF, 0x74, 0x01, -0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, -0x5D, 0x70, 0x02, 0x21, 0x11, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x79, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22, 0x79, -0x75, 0x23, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7A, 0x12, 0x56, 0xF1, 0x90, 0x93, 0x7A, 0xE0, -0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x94, 0x4C, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, -0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, -0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, -0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, -0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x7E, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x7F, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, -0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, -0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x7B, 0x31, 0x1D, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x90, 0x94, 0x4C, 0xE0, 0xFE, 0x74, -0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x78, 0xF0, -0x90, 0x94, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, -0x90, 0x01, 0xCC, 0xF0, 0x90, 0x94, 0x4C, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x02, 0x6F, -0xDF, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x80, -0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x71, 0xC1, 0x01, 0x71, 0xB8, 0x02, 0x72, 0x09, 0x03, -0x72, 0x12, 0x05, 0x72, 0x1B, 0x06, 0x73, 0x5D, 0x07, 0x72, 0x23, 0x0B, 0x72, 0x2C, 0x10, 0x72, -0x34, 0x11, 0x72, 0x3C, 0x12, 0x72, 0x44, 0x16, 0x72, 0x4E, 0x17, 0x72, 0x58, 0x18, 0x72, 0x62, -0x19, 0x73, 0x29, 0x1B, 0x73, 0x32, 0x1C, 0x72, 0x6B, 0x1D, 0x72, 0x75, 0x1E, 0x72, 0x80, 0x21, -0x72, 0x89, 0x22, 0x72, 0x92, 0x23, 0x72, 0x9B, 0x24, 0x72, 0xA4, 0x25, 0x72, 0xAD, 0x26, 0x72, -0xB6, 0x27, 0x72, 0xBF, 0x28, 0x72, 0xC8, 0x29, 0x71, 0xCA, 0x2D, 0x71, 0xD3, 0x2E, 0x72, 0xD1, -0x2F, 0x73, 0x3B, 0x30, 0x72, 0xE2, 0x32, 0x72, 0xD9, 0x33, 0x71, 0xE5, 0x34, 0x72, 0xEB, 0x36, -0x72, 0xF4, 0x37, 0x72, 0xFD, 0x38, 0x73, 0x05, 0x3A, 0x71, 0xDC, 0x3B, 0x73, 0x0E, 0x3E, 0x73, -0x17, 0x3F, 0x73, 0x20, 0x41, 0x73, 0x44, 0x46, 0x71, 0xEE, 0x47, 0x72, 0x00, 0x48, 0x71, 0xF7, -0x49, 0x73, 0x4D, 0x4B, 0x00, 0x00, 0x73, 0x56, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, -0x8F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0x95, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x02, 0x8C, 0x76, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8C, 0xBE, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x02, 0x8C, 0xF7, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x29, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x2F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0xEF, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xE2, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8E, 0x00, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x71, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x81, 0x2E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xBE, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x61, 0x5E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x61, 0x64, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x61, 0x6A, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x03, -0x80, 0x1B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x2A, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0xE4, 0xFF, 0x80, 0x08, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x04, 0x02, 0x8E, 0x48, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x62, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8F, 0x7B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x94, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x8F, 0xAD, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xC6, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x8F, 0xDF, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xF8, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x11, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, -0x2A, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x81, 0x1F, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x90, 0x52, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x6B, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x90, 0x84, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x37, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x61, 0xFD, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x49, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0x75, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0x8E, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x96, 0xC9, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x8A, 0xB6, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x9D, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x99, 0x80, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x6F, 0x1F, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x96, 0xEA, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, -0x7F, 0x0B, 0x80, 0x10, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, -0x7D, 0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x41, 0x12, 0x43, -0xC8, 0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, -0x54, 0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, -0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x94, 0x41, 0x12, 0x43, 0xA8, -0x8E, 0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0xFD, 0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, -0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, -0x74, 0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, -0x90, 0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, -0x01, 0x7F, 0x23, 0x71, 0x74, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9A, 0x20, 0x22, 0x12, -0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9, 0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0x61, 0x74, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, -0xAF, 0x06, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, -0x93, 0x88, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, -0x43, 0x9C, 0xAD, 0x82, 0xAC, 0x83, 0x90, 0x93, 0x8A, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, -0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, -0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, -0xEF, 0x12, 0x42, 0x65, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, -0x1E, 0xF6, 0x8D, 0x82, 0x8C, 0x83, 0xA3, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFE, 0x90, 0x93, 0x83, -0xE0, 0xFF, 0x24, 0xC2, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x84, -0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, -0x09, 0xEF, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, -0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, -0x75, 0xF0, 0x02, 0xA4, 0x24, 0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, -0x89, 0x5C, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, -0x83, 0x5D, 0x8F, 0x5E, 0xE5, 0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, -0xF0, 0x75, 0x5F, 0x01, 0xF5, 0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, -0x89, 0xF5, 0x83, 0xE0, 0x12, 0x43, 0xD1, 0x75, 0xBC, 0x00, 0x75, 0xD1, 0x01, 0x75, 0xE6, 0x02, -0x75, 0xFB, 0x03, 0x76, 0x24, 0x04, 0x76, 0x39, 0x05, 0x76, 0x4E, 0x06, 0x76, 0x74, 0x0C, 0x76, -0xA1, 0x0D, 0x76, 0xCE, 0x0E, 0x76, 0xFB, 0x0F, 0x00, 0x00, 0x77, 0x2F, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, -0x3C, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, -0xF0, 0xA3, 0x74, 0x10, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, -0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, -0x8F, 0xF0, 0xE1, 0x2F, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, -0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, -0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xE1, 0x2F, 0x90, 0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, -0x53, 0x90, 0x04, 0x46, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, -0x65, 0x90, 0x04, 0x45, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0xE1, -0x26, 0x90, 0x04, 0x4B, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, -0x4A, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, -0x49, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, -0x4F, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, -0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, -0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, -0x58, 0x83, 0xF0, 0x90, 0x04, 0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, -0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, -0x42, 0x53, 0xAB, 0x5A, 0xE5, 0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, -0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, -0x12, 0x1F, 0x0F, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, -0x85, 0x58, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, -0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, -0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, -0xD0, 0x82, 0xD0, 0x83, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x4C, 0x90, 0x93, 0x8F, 0x74, 0x0B, 0xF0, 0x90, -0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x50, 0x03, 0x02, 0x78, 0x75, 0x74, 0x01, 0x7E, 0x00, -0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, -0x4E, 0x60, 0x0A, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x8F, -0xE0, 0x14, 0xF0, 0x80, 0xBA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x47, 0x90, 0x93, 0x8F, 0x74, 0x0F, 0xF0, 0x90, -0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, -0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, -0x90, 0x93, 0x8F, 0xE0, 0xA3, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x8F, 0xE0, 0x14, 0xF0, 0x80, 0xBF, -0xE4, 0x90, 0x93, 0x90, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, -0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x40, 0x02, 0x21, 0x2E, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, -0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, -0x06, 0x90, 0x93, 0x8F, 0xE0, 0x80, 0x63, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, -0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, -0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0x80, -0x09, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0x90, 0x93, -0x90, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, -0x90, 0x93, 0x91, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, -0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, 0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, -0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, -0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x91, 0xE0, 0xA3, -0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, 0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xE0, 0xFF, 0x90, 0x93, 0x90, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x92, 0xEE, -0xF0, 0x80, 0x17, 0x90, 0x93, 0x91, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, -0x80, 0x08, 0x90, 0x93, 0x90, 0xE0, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFD, 0xAF, -0x57, 0x51, 0x06, 0x90, 0x93, 0x92, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, -0x8A, 0x83, 0x74, 0x03, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, -0x02, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, -0xE4, 0x90, 0x8A, 0x83, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, -0x20, 0x50, 0x0E, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, -0x29, 0x74, 0x27, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCC, -0xEF, 0xF0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCD, 0xF0, -0x7B, 0x01, 0x7A, 0x93, 0x79, 0xCC, 0x7D, 0x02, 0x71, 0xCB, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, -0x52, 0x8D, 0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x5F, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x60, 0x74, 0x01, 0xF0, -0xEB, 0xC3, 0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x5D, 0xE0, 0x25, 0x55, 0xFF, 0xA3, -0xF0, 0xA3, 0xE0, 0x90, 0x41, 0xA4, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, -0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x41, 0x06, -0x90, 0x93, 0x5E, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, -0xEF, 0xF0, 0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x62, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, -0x1F, 0x90, 0x93, 0x61, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, -0x04, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, -0x40, 0x5D, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x89, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xEF, 0xF0, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, -0x40, 0x0D, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, -0x93, 0x62, 0xE0, 0xFF, 0x90, 0x93, 0x61, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, -0x61, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, -0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, -0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, -0xAF, 0x05, 0x90, 0x93, 0x61, 0xE0, 0xFD, 0x51, 0x06, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, -0x03, 0x60, 0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, -0x90, 0x04, 0xCF, 0x04, 0xF0, 0x90, 0x93, 0x61, 0xE0, 0xFF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0x90, 0x94, 0x22, 0x12, 0x43, 0xC8, 0x90, 0x94, 0x25, 0xE0, 0x54, 0xF0, 0x44, 0x06, -0xFF, 0xF0, 0xED, 0x54, 0x0F, 0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, -0x22, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x25, -0x12, 0x66, 0x89, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, -0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, -0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, -0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0x75, -0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8D, 0xF0, 0x75, 0xF0, -0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8E, 0xF0, 0xEC, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, -0x8F, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x91, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, -0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, -0x93, 0x8E, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xED, 0x70, 0x02, 0xA1, 0x82, -0x90, 0x93, 0x8C, 0xED, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8B, 0xE0, -0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x70, 0x02, -0xA1, 0x82, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0xA1, 0x82, 0xE4, 0x90, -0x93, 0x8A, 0xF0, 0xEF, 0x14, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFD, 0x90, 0x93, -0x89, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, -0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0xFF, 0x90, 0x93, 0x91, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x89, -0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, -0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, -0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x89, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8A, 0xE0, -0x04, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, -0x89, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xC3, -0x9F, 0x50, 0x0F, 0x90, 0x93, 0x89, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x8D, 0xE0, 0x90, 0x93, -0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, -0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, -0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, -0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, -0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x88, 0xE0, 0xFD, 0x51, 0x06, 0x90, 0x93, 0x88, -0xE0, 0xFF, 0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, -0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, -0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x4D, 0xF0, 0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90, -0x93, 0x88, 0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, -0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, -0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, -0x90, 0x93, 0x8E, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x25, 0xE0, 0x24, -0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, -0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xE1, 0x70, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, -0x8B, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xE1, 0xAA, 0xEE, 0xC3, -0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, -0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8C, 0xE0, 0x5E, 0xFE, 0xA3, -0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, -0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, -0x90, 0x93, 0x8E, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8A, 0xE0, -0xB4, 0x11, 0x0D, 0x90, 0x93, 0x8D, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x17, 0xF0, -0x90, 0x93, 0x8A, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8C, -0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x90, 0x93, -0x89, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0xC1, 0xCE, -0x90, 0x93, 0x8B, 0xE0, 0xFC, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, -0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, -0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x89, 0xE0, 0x44, -0x40, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x25, -0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, -0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, -0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, -0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, -0x89, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x89, 0xEF, 0xF0, 0x90, 0x93, 0x88, 0xF0, -0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, -0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, -0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, -0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, -0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, -0xAF, 0x05, 0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, 0xFD, 0x12, 0x7A, 0x06, 0x90, 0x93, 0x88, 0xE0, -0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, -0x40, 0x40, 0x03, 0x02, 0x88, 0x76, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, -0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, -0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, -0x03, 0x02, 0x88, 0x6D, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x88, 0x6D, 0x90, -0x93, 0x78, 0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x88, 0x76, -0x90, 0x93, 0x78, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, -0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, -0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x7D, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, -0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, -0x93, 0x7F, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, -0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, -0x79, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, -0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x82, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, -0x94, 0x05, 0x40, 0x02, 0x81, 0x0B, 0x90, 0x93, 0x82, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x9F, -0x40, 0x13, 0x90, 0x93, 0x82, 0xE0, 0x90, 0x93, 0x7A, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, -0x79, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, -0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, -0x06, 0xEF, 0x90, 0x40, 0xE0, 0x80, 0x07, 0x90, 0x93, 0x7A, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, -0x93, 0x81, 0xF0, 0x90, 0x93, 0x81, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, -0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x78, 0xE0, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, -0x7B, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, -0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, -0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, -0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, -0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, -0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, -0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, -0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, -0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, -0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, -0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, -0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, -0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, -0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, -0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, -0x78, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, -0xEF, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, -0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x61, -0xDA, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, -0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, -0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, -0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, -0x9E, 0x90, 0x93, 0x83, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, -0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, -0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, -0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0x60, 0x02, 0xE1, 0x1B, 0x12, 0x7E, 0x13, 0xE1, 0x1B, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, -0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, -0xC3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x02, 0xE1, 0x1B, 0x90, -0x93, 0x78, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x7C, 0x08, 0xE1, 0x1B, 0x90, 0x93, 0x78, 0xE0, 0xFF, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0xA1, -0xE9, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x19, -0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x11, 0x40, -0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, -0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x03, -0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, -0x93, 0x78, 0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, -0x87, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, -0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xA1, 0x94, 0x90, 0x8E, 0xC5, -0xE0, 0x64, 0x01, 0x60, 0x02, 0xA1, 0x89, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xEE, 0x24, -0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, -0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x78, 0xE0, -0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, -0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, -0x78, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7A, -0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, -0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x11, -0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x87, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, -0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x78, -0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, -0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, -0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7A, -0xE0, 0xFE, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xEE, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, -0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, -0x11, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFD, 0xE1, 0x18, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xE1, 0x1B, -0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, -0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x85, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, -0x90, 0x93, 0x78, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, -0x87, 0xF0, 0xE4, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, -0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, -0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, -0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x85, 0xE0, 0xFE, -0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x50, 0x08, -0x90, 0x93, 0x84, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x84, 0xE0, 0xC3, 0x13, 0xF0, 0x90, -0x93, 0x87, 0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x84, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x87, -0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, -0x93, 0x87, 0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x87, 0x74, 0x01, -0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93, 0x87, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x84, -0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x87, -0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, -0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0xD3, -0x90, 0x93, 0x80, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, -0x93, 0x87, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFD, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, -0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x7D, 0xD3, 0x90, 0x93, 0x78, 0xE0, 0xFF, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, -0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, -0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7F, -0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, -0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, -0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, -0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, -0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, -0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, -0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, -0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x78, 0xE0, 0x50, 0x13, -0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, -0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, -0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, -0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, -0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, -0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, -0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, -0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, -0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, -0xE0, 0x04, 0xF0, 0x02, 0x80, 0x79, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, -0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, -0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, -0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, -0x40, 0x40, 0x02, 0x41, 0x70, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, -0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, -0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, -0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, -0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, -0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, -0xFF, 0x90, 0x41, 0x5A, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, -0x13, 0xFF, 0x90, 0x93, 0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, -0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, -0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, -0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, -0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, -0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, -0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, -0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x01, 0xB9, -0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4, -0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x90, 0x00, 0x04, -0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, -0xFD, 0xAF, 0x06, 0x02, 0x74, 0x42, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, 0x94, 0x40, -0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x83, 0xF0, -0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, -0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x85, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x74, 0xFF, -0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, -0xE0, 0x90, 0x93, 0x89, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, -0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x02, 0x67, 0x8B, 0x12, -0x1E, 0xF6, 0xF5, 0x62, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x83, 0x12, -0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0x90, -0x93, 0x3D, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x44, 0xF0, 0xEF, 0x13, 0x13, 0x13, 0x54, -0x01, 0x90, 0x93, 0x4A, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01, 0x90, -0x93, 0x46, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x49, 0xF0, 0xE0, 0x70, 0x38, 0x90, -0x93, 0x47, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x86, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, -0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x4D, 0xC1, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xE6, -0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0, 0x25, -0x12, 0x1E, 0xF6, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x4B, -0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x50, 0xF0, 0x22, 0x90, 0x93, 0x48, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, -0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0x22, 0x12, 0x1E, -0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, -0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x4F, -0x74, 0x05, 0xF0, 0x90, 0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4D, 0xE0, -0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4C, 0xF0, 0x60, 0x20, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, -0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x51, 0x69, -0x90, 0x93, 0x4C, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x02, 0x43, 0xC8, 0x12, -0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, -0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93, 0x36, -0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x38, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, -0x93, 0x3A, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, -0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, -0x60, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, -0x08, 0x90, 0x93, 0x37, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, -0x93, 0x37, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93, 0x37, -0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x37, 0x50, 0x05, 0x74, 0x07, -0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x90, 0x93, 0x3B, 0xF0, 0x22, 0x12, -0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, -0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93, 0xA8, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xA9, 0xF0, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAA, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, -0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAB, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, -0x05, 0xED, 0x2F, 0x90, 0x93, 0xAC, 0xF0, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, -0x14, 0x90, 0x00, 0x40, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, -0x44, 0x01, 0xF0, 0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, -0x6A, 0x12, 0x1E, 0xF6, 0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, -0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, -0x0F, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, -0x06, 0xCC, 0xE0, 0x54, 0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, -0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, -0x06, 0xC6, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, -0xE0, 0x44, 0x01, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, -0x1E, 0xF6, 0x90, 0x06, 0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, -0xEF, 0xB4, 0x03, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x90, 0x06, 0xCB, 0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, -0x83, 0x30, 0xE0, 0x06, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, -0xE1, 0x07, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, -0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6C, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, -0xF0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x73, 0x70, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, -0x01, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x17, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x18, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x19, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, -0x01, 0x7F, 0x1A, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, -0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0x02, 0x73, 0x74, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x1C, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x73, -0x74, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, -0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1E, 0x02, 0x73, 0x74, 0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, -0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9, 0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, -0x93, 0x0B, 0x12, 0x43, 0x84, 0xEC, 0x54, 0x03, 0xFC, 0x12, 0x43, 0x59, 0x90, 0x93, 0x07, 0x02, -0x1F, 0xC9, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1F, 0x02, 0x73, 0x74, 0x90, 0x93, 0x83, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, -0x20, 0x02, 0x73, 0x74, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, -0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, -0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, -0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, -0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, -0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, -0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, -0xE4, 0x3E, 0xFE, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, -0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, -0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, -0x05, 0x31, 0x8B, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, -0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xC3, 0xEF, -0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF, 0x05, 0x31, 0x8B, 0x0D, 0x80, 0xE3, -0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12, 0x54, 0x0A, 0x90, -0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, -0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, -0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, -0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, -0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, -0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, -0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, -0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, -0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, -0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, -0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, -0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10, -0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E, -0xF6, 0xFC, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x15, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03, -0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xED, -0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54, -0x04, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10, 0xFF, 0xE0, 0x54, -0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18, -0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, -0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, -0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E, -0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, -0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, -0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, -0x93, 0x19, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, -0xEC, 0x20, 0xE0, 0x02, 0x81, 0xC3, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x17, 0xF0, 0x80, 0x4E, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, -0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x16, 0x50, -0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x16, 0x74, 0x2A, 0xF0, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, -0x90, 0x93, 0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, -0x17, 0x74, 0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x3D, -0x90, 0x93, 0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0, 0xE0, 0xC3, 0x13, 0xA3, -0xF0, 0x90, 0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x16, -0xE0, 0xC3, 0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x22, -0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0xE4, 0x90, 0x93, -0x11, 0xF0, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, -0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, -0x0F, 0x30, 0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x03, 0x75, -0x64, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90, 0x05, 0x58, 0x74, -0x03, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x80, -0x2B, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x80, 0x1C, -0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02, 0xF0, 0x80, 0x0D, 0x90, -0x93, 0x1D, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x1D, -0xF0, 0x80, 0x64, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x90, 0x93, 0x83, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, -0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0xB1, 0x5F, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, -0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x13, 0x13, 0x13, 0x54, -0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x7B, -0x01, 0x7A, 0x93, 0x79, 0x83, 0x12, 0x55, 0x67, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x00, -0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0x90, -0x93, 0x26, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x09, -0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x55, 0xB2, 0x90, 0x93, -0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x93, 0x15, 0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0, 0xE4, 0x90, -0x93, 0x26, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, -0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, -0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, -0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, 0x28, 0x74, -0x02, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, -0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, -0x90, 0x93, 0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x1C, 0xE0, -0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, -0xFB, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, -0xF0, 0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, -0xF7, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, -0x93, 0x0B, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, -0x43, 0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, -0x90, 0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, -0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0xB1, 0x5F, 0x90, 0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, -0x7F, 0x02, 0x02, 0x3A, 0xAD, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, -0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x24, 0x02, 0x73, 0x74, 0x12, 0x1E, -0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, -0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, -0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, -0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, -0x73, 0x74, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xAE, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0xAF, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x46, -0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x94, 0x47, 0xE0, -0x94, 0x88, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, -0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x46, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x47, 0xE0, 0x94, 0x64, 0x90, 0x94, 0x46, 0xE0, -0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, -0x22, 0x90, 0x93, 0xE2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xE6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, -0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, -0x73, 0x50, 0x41, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xE2, 0x12, 0x43, -0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, -0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xEF, -0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xE6, 0x12, -0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE6, 0x02, 0x43, 0x84, 0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, -0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, -0x90, 0x93, 0xB4, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xC0, 0x12, 0x1F, -0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0xF1, 0x51, 0x90, 0x93, 0xC4, 0x12, 0x1F, 0xC9, 0x90, -0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0xC0, 0x12, 0x43, 0x90, 0x12, 0x43, -0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xC4, 0x12, 0x43, 0x84, 0xA9, -0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, -0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0xC8, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, -0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xC8, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, -0x06, 0xC0, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, -0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xEA, -0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, -0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, -0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x14, -0x12, 0x51, 0xBB, 0xBF, 0x01, 0x0B, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x30, 0xE0, -0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x24, 0x90, 0x93, 0x47, 0xE0, 0x60, -0x1E, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x13, 0x90, 0x93, 0xEE, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xEE, 0x12, 0x55, 0x67, 0x12, -0x54, 0x4B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, -0x4E, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, -0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, -0x90, 0x94, 0x4E, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, -0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, -0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, -0x94, 0x4E, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, -0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x52, 0x90, 0x94, -0x4E, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, -0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, -0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x94, 0x3E, 0xE0, -0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x44, 0xFE, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x94, 0x3F, 0xF0, 0x22, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, -0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, -0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, -0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6C, 0x30, 0xE6, 0x08, 0xE0, -0x54, 0x0F, 0x44, 0x50, 0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, -0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x66, 0x89, -0xAD, 0x07, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, -0x62, 0xE0, 0x90, 0x93, 0xFC, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0xFD, 0xF0, 0x90, 0xFD, -0x64, 0xE0, 0x90, 0x93, 0xFE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, -0x66, 0xE0, 0x90, 0x94, 0x00, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x94, 0x01, 0xF0, 0xED, 0xB4, -0x02, 0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, -0x0B, 0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, -0x90, 0x93, 0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90, 0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, -0x93, 0xFC, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0xFC, 0xF0, 0xE4, 0x90, 0x93, 0xFD, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xFC, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xFA, 0x02, 0x66, 0x89, 0xAD, 0x07, 0x90, 0x93, -0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, -0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, -0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, -0x73, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, -0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, -0xB4, 0x02, 0x0F, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0x6E, 0x74, -0x02, 0xF0, 0x90, 0x93, 0x6C, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, -0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x12, 0x66, 0x89, 0x22, -0x90, 0x93, 0x47, 0xE0, 0x60, 0x27, 0x90, 0x93, 0x4A, 0xE0, 0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, -0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x44, -0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0xA1, 0x16, 0x90, 0x93, 0x1D, 0xE0, -0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, 0x60, -0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, -0x4B, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, -0xA1, 0x01, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, -0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x94, 0x4B, 0xE0, -0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, -0x94, 0x4B, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, -0x02, 0xA1, 0x01, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x22, 0x90, -0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, 0x81, 0xC5, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x4E, 0xA1, 0x13, 0x90, -0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, -0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x02, 0x81, 0xD4, 0x90, 0x93, 0x2A, -0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, -0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, -0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, 0x40, 0x02, 0xA1, 0x13, 0x74, 0x02, 0xF0, 0x22, 0x90, -0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, -0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, -0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, -0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, -0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58, 0x90, 0x07, -0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90, 0x93, 0x2A, -0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, 0x80, 0x3A, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, -0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x27, 0x80, 0x23, -0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, -0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, -0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x64, 0x01, 0x70, 0x3C, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x0D, 0xF0, 0x22, 0x90, -0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, -0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x93, 0x18, 0xE0, 0xC3, 0x13, 0x90, 0x07, 0x78, 0x30, -0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x13, -0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03, 0xF0, 0x22, 0x74, 0x01, 0xF0, 0x22, -0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x12, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, -0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, -0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, -0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x5D, 0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, -0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, -0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, -0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, -0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x51, 0x48, 0xE4, 0x90, 0x94, -0x4B, 0xF0, 0x22, 0x00, 0x8C, 0xC1, -}; - - -u8 Rtl8723UFwUMCBCutImgArrayWithoutBT[Rtl8723UUMCBCutImgArrayWithoutBTLength] = { -0x02, 0x23, 0x02, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x10, 0x06, 0xE0, 0x4A, 0x01, 0x00, -0x03, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x4A, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x59, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x61, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x61, 0xDA, 0x00, 0x00, -0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, 0x00, 0x04, 0x06, 0x05, 0x04, 0x02, -0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, 0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, -0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, -0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, 0x00, 0x18, 0x22, 0x21, 0x20, 0x18, -0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, 0x20, 0x08, 0x00, 0x20, 0x22, 0x21, -0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, 0x22, 0x20, 0x18, 0x08, 0x00, 0x20, -0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, 0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, -0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, 0x10, 0x00, 0x00, 0x30, 0x31, 0x20, -0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, -0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, 0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, -0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, 0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, -0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, 0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, -0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, -0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, 0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, -0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60, -0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, 0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, -0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, 0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, -0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, -0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, -0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, 0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, -0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, 0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, -0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, 0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, -0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, -0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x05, 0x06, -0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28, -0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09, -0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9, -0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, -0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, -0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, -0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, -0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, -0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, -0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, -0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, -0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, -0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, -0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, -0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, -0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, -0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, -0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, -0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE, -0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED, -0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC, -0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, -0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, -0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5, -0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, -0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, -0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, -0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, -0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, -0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, -0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, -0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3, -0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0x90, 0x93, 0x07, 0xF0, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xDD, -0x90, 0x93, 0x51, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x60, -0x03, 0x02, 0x44, 0xDD, 0x02, 0x44, 0xDA, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, -0x90, 0x93, 0x4F, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, -0x30, 0xE0, 0x3A, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xB5, 0x07, -0x0A, 0x90, 0x93, 0x30, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x93, 0x2D, 0xE0, 0xC4, -0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xB5, -0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x2D, -0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x07, 0x74, 0x5A, 0xF0, -0x90, 0x93, 0x07, 0xE0, 0xFF, 0x90, 0x93, 0x3F, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, -0x38, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5, 0x62, 0xB4, -0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x51, 0x9C, 0x22, 0xEF, 0x60, -0x0F, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x22, -0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x22, 0x02, -0x55, 0xE5, 0x22, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xA3, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x62, 0x64, -0x01, 0x60, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x65, 0x14, 0x60, 0x29, 0x24, 0xFD, 0x60, 0x25, 0x24, -0x02, 0x24, 0xFB, 0x50, 0x02, 0x80, 0x23, 0x90, 0x93, 0x37, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, -0xA3, 0xE0, 0x60, 0x16, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x0A, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93, -0x37, 0xF0, 0x80, 0x00, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, -0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91, -0xEF, 0x70, 0x04, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x01, 0xE0, 0x70, 0x03, 0x02, 0x46, 0x9B, -0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, -0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x2E, 0x80, 0x2D, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, -0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, -0x98, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x31, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x2E, 0xE0, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, -0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, -0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04, -0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, -0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, -0x12, 0x48, 0xF4, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x2B, 0xE0, 0xFF, 0x90, 0x93, -0x4F, 0xE0, 0xD3, 0x9F, 0x40, 0x08, 0x90, 0x93, 0x2C, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, -0x93, 0x2C, 0xF0, 0x90, 0x93, 0x4F, 0xE0, 0x90, 0x93, 0x2B, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, -0x40, 0x46, 0xE4, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70, 0x03, -0x12, 0x4F, 0x63, 0x90, 0x93, 0x50, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x48, 0xF0, 0xE4, 0xF5, -0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, -0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x4C, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, -0x51, 0x2B, 0x90, 0x93, 0x48, 0x74, 0x01, 0xF0, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x98, 0xE0, 0x30, -0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x07, -0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x47, 0xA2, -0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x47, 0xA2, 0x90, 0x93, 0x07, 0x04, 0xF0, 0xE4, 0x90, -0x93, 0x37, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4, -0x90, 0x93, 0x07, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x04, 0x90, 0x93, 0x07, 0xF0, -0x90, 0x93, 0x07, 0xE0, 0x70, 0x03, 0x02, 0x47, 0xA2, 0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x32, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, -0xE0, 0xD3, 0x9F, 0x50, 0x09, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x2E, 0xE0, 0x80, 0x4A, 0xE4, 0xF5, -0x48, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, -0x03, 0xA4, 0xFF, 0x90, 0x93, 0x2E, 0xE0, 0x04, 0x2F, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64, -0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, -0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03, -0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, -0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x12, 0x51, 0x4C, 0x90, 0x05, 0x22, -0xE4, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, -0x50, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x93, 0x4E, 0x04, 0xF0, 0x90, -0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x93, 0x46, 0x74, -0x05, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, -0x93, 0x3F, 0xF0, 0x90, 0x93, 0x42, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90, -0x93, 0x47, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x93, -0x71, 0xF0, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x53, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x93, -0x34, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x93, 0x3B, 0xF0, 0x90, 0x93, -0x48, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, -0x40, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, -0x2D, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x93, 0x30, 0xF0, 0x22, 0x8E, 0x69, 0x8F, 0x6A, 0xAD, -0x6A, 0xAC, 0x69, 0xAF, 0x68, 0x12, 0x44, 0xDE, 0xAF, 0x6A, 0xAE, 0x69, 0x90, 0x04, 0x80, 0xE0, -0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, -0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xFB, -0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0xFA, -0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F, 0xF0, 0xAC, -0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F, 0xF0, 0x90, -0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0, 0x90, 0x04, -0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, -0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED, 0xF0, 0x22, -0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x6C, 0x8D, 0x6D, 0xE5, -0x6C, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x6C, 0x30, 0xE2, 0x30, -0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0x69, 0xE5, 0x63, 0x30, 0xE3, 0x10, 0xE5, -0x6C, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x9D, 0xEF, 0x60, 0x53, 0x12, 0x51, 0x05, 0x80, 0x4E, 0xE5, -0x63, 0x20, 0xE3, 0x49, 0xE5, 0x6C, 0x30, 0xE3, 0x44, 0xAF, 0x6D, 0x12, 0x50, 0x8A, 0x80, 0x3D, -0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x6C, 0x20, 0xE3, 0x09, 0x12, 0x4D, 0x9D, -0xEF, 0x60, 0x2A, 0x12, 0x51, 0x05, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E, 0xE5, 0x6C, -0x20, 0xE2, 0x09, 0x12, 0x4B, 0x16, 0xEF, 0x60, 0x14, 0x12, 0x50, 0xB3, 0xE5, 0x63, 0x54, 0x0F, -0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4C, 0x72, 0xEF, 0x60, 0x03, 0x12, 0x51, 0xB0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0xE0, -0x54, 0xC0, 0x70, 0x11, 0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, -0x12, 0x51, 0x9C, 0x80, 0x0F, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70, -0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x01, 0xE0, 0x30, 0xE6, 0x15, 0x43, 0x66, 0x01, 0x90, 0x93, -0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x0E, 0x12, 0x4F, 0x1D, 0x80, 0x09, -0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93, -0x01, 0xE0, 0x30, 0xE7, 0x23, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x42, 0xE0, 0xF5, -0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, -0xF0, 0x90, 0x93, 0x51, 0x74, 0x01, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, 0xEF, 0x64, 0x01, 0x70, -0x48, 0x7D, 0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, -0x01, 0x36, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, -0x3A, 0x3F, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x48, 0xF0, -0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x67, 0x4A, 0x90, 0x06, 0x04, 0xE0, 0x54, 0x7F, -0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0, 0xA3, -0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, -0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x06, -0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4E, 0x3E, 0xE5, 0x62, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x93, -0x39, 0xF0, 0x22, 0x02, 0x4A, 0xD1, 0x02, 0x52, 0xA5, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, -0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, -0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4, -0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, -0x80, 0x90, 0x4F, 0xE3, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, -0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60, -0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, -0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, -0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, -0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, -0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9, -0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, -0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90, -0x93, 0x39, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x43, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, -0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22, -0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, 0x02, 0x60, 0x06, -0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x06, -0xAA, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x07, 0x90, 0x93, 0x4E, 0xE0, -0xFF, 0x80, 0x05, 0x90, 0x93, 0x37, 0xE0, 0xFF, 0x90, 0x93, 0x37, 0xEF, 0xF0, 0x90, 0x93, 0x39, -0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x05, -0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x53, -0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x03, 0x12, 0x49, -0x82, 0x22, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, 0x90, 0x93, 0x70, -0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x53, 0xB6, 0x90, 0x00, -0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x28, 0xE0, 0x54, 0xFC, -0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, 0x7F, 0x08, 0x12, -0x53, 0xB6, 0x7F, 0x01, 0x12, 0x4D, 0x45, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, 0xFD, 0xE4, 0xFF, -0x12, 0x53, 0xB6, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x90, -0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0xB6, 0x7F, 0x14, 0x7E, 0x00, 0x02, -0x3B, 0x09, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, -0x80, 0x54, 0xE5, 0x18, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x48, 0xE5, 0x64, -0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x37, 0x90, -0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x29, 0x90, 0x02, 0x86, -0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x3A, 0xE0, -0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, -0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, 0x7F, 0x00, 0x22, 0x90, -0x93, 0x21, 0x12, 0x43, 0xC8, 0x12, 0x51, 0xC3, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x12, 0x1E, -0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, 0x70, 0x44, -0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0xFD, 0xE4, 0xFF, 0x12, 0x4F, 0xA5, 0x80, 0x29, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x4F, 0xA5, 0x1F, 0x80, 0x14, 0x90, 0x93, 0x21, -0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x4F, 0xA5, 0xE4, -0xFF, 0x12, 0x4A, 0x0C, 0x22, 0x8F, 0x70, 0xE4, 0x90, 0x93, 0xE3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, -0x09, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x70, 0x60, 0x3E, 0xC3, 0x90, -0x93, 0xE4, 0xE0, 0x94, 0x88, 0x90, 0x93, 0xE3, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, -0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0xE3, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, -0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE4, 0xE0, 0x94, 0x32, 0x90, 0x93, 0xE3, -0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x12, 0x51, 0x83, -0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, 0x93, 0x4C, -0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x49, 0xE0, 0x60, -0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x04, -0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, -0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, 0x22, 0x90, -0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x7F, 0xF4, 0x7E, 0x01, 0x12, -0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, 0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xB6, 0x90, 0x00, -0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, -0xFD, 0x7F, 0x08, 0x12, 0x53, 0xB6, 0xE4, 0xFF, 0x12, 0x4D, 0x45, 0x7F, 0x64, 0x7E, 0x00, 0x12, -0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, 0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x53, 0xB6, 0xE4, 0xFF, -0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, 0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, -0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, 0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, -0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, 0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, -0x45, 0xE0, 0x9D, 0x90, 0x93, 0x44, 0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, -0x90, 0x93, 0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, -0xC0, 0xD0, 0x8F, 0x68, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x6B, -0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x7D, 0x01, -0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x05, 0x22, 0xE5, 0x6B, 0xF0, 0x80, 0x0D, 0x90, 0x93, -0x69, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x04, 0x1F, 0x74, 0x20, -0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x3D, 0x90, -0x93, 0x50, 0xE0, 0x60, 0x27, 0x12, 0x48, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, -0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, -0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x22, 0xE5, 0x63, 0x54, 0x0F, -0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x22, 0x90, 0x01, 0x5F, -0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, -0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, -0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x49, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, -0xC3, 0x94, 0x0C, 0x50, 0x0D, 0x12, 0x48, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12, -0x67, 0x4A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x4D, 0x74, 0x01, 0xF0, -0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3, -0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3, -0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, -0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, 0x24, 0x02, 0x70, 0x32, -0x80, 0x0A, 0x90, 0x93, 0x4E, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x53, -0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x47, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x80, 0x05, 0x90, -0x93, 0x4E, 0xED, 0xF0, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x93, 0x53, 0x74, -0x01, 0xF0, 0x22, 0x48, 0x93, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x93, -0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x5E, 0x00, 0x41, 0x93, 0x6D, -0x00, 0x41, 0x93, 0xE9, 0x00, 0x41, 0x93, 0x2B, 0x00, 0x41, 0x93, 0x2C, 0x00, 0x41, 0x92, 0x69, -0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, 0x93, 0xDF, 0x00, 0x00, 0x90, 0x01, -0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0x90, 0x93, -0x35, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, 0xFF, 0x74, 0x40, 0x7E, 0x00, -0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x90, 0x93, 0x4B, 0xF0, -0xEE, 0x90, 0x93, 0x4A, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7, -0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7, 0x60, 0x09, 0x12, 0x1F, 0xD5, -0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x01, 0x10, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0xD7, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x56, 0x9D, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, -0xF0, 0xEF, 0x60, 0x0A, 0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x8B, 0x53, 0x63, -0xF0, 0x43, 0x63, 0x0C, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x54, -0x7F, 0xF0, 0x22, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, -0x8A, 0x65, 0xEF, 0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, -0x3A, 0x93, 0x12, 0x54, 0x14, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0xE5, 0x64, 0x30, 0xE6, -0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0, -0x53, 0x64, 0xBF, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x83, 0xE0, 0x30, 0xE0, -0x03, 0x75, 0x64, 0x02, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, -0x05, 0x7F, 0x01, 0x12, 0x4E, 0x8B, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x90, 0x93, 0x98, 0xE0, -0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x3D, 0xE0, 0x70, -0x1A, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0x68, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, -0x95, 0x8E, 0x6E, 0x8F, 0x6F, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x3E, 0xE0, -0x60, 0x16, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x3B, 0xE0, 0x90, 0x07, 0x78, 0x60, -0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0xEA, 0xEF, 0xF0, 0x12, 0x56, -0x14, 0x90, 0x93, 0xEA, 0xE0, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, -0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, 0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, -0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, 0x02, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x98, 0xE0, -0x30, 0xE0, 0x05, 0xAF, 0x64, 0x02, 0x5F, 0x72, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x22, -0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0x02, 0x12, 0x4D, 0xEF, 0x53, 0x63, 0xF0, 0x43, -0x63, 0x02, 0x22, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x38, 0xF0, 0xF5, 0x66, 0x22, 0x90, -0x02, 0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, -0x43, 0xF7, 0x51, 0xFA, 0x00, 0x40, 0x52, 0x22, 0x00, 0x80, 0x52, 0x4D, 0x01, 0x00, 0x52, 0x61, -0x02, 0x00, 0x52, 0x79, 0x04, 0x00, 0x00, 0x00, 0x52, 0x96, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, -0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0x80, 0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, -0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, -0x07, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, -0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, -0x35, 0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, -0x2D, 0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, -0x00, 0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x1F, -0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0C, 0xF0, 0xA3, 0xF0, 0x12, 0x60, 0xFB, 0x75, -0x8E, 0x02, 0x91, 0xE6, 0x12, 0x60, 0x52, 0x90, 0x93, 0x70, 0xEF, 0xF0, 0x12, 0x60, 0x65, 0x90, -0x93, 0x72, 0xEF, 0xF0, 0x12, 0x60, 0x71, 0x90, 0x93, 0x54, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, -0xF5, 0x18, 0xF5, 0x0D, 0xF5, 0x62, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, -0xF0, 0x12, 0x7E, 0x58, 0x12, 0x47, 0xA3, 0x12, 0x37, 0x1C, 0x7F, 0x03, 0x12, 0x88, 0x1B, 0x71, -0x8D, 0x12, 0x60, 0x16, 0x12, 0x60, 0x89, 0x12, 0x60, 0x9E, 0x12, 0x60, 0x34, 0x12, 0x45, 0x02, -0x12, 0x61, 0x03, 0x91, 0xCE, 0x90, 0x93, 0x0E, 0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, -0xE0, 0x44, 0x40, 0xF0, 0x71, 0xFE, 0x75, 0xE8, 0x03, 0x43, 0xA8, 0x85, 0xD2, 0xAF, 0x12, 0x82, -0xBB, 0x51, 0x9B, 0x12, 0x60, 0xA5, 0x90, 0x93, 0x0C, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xA5, 0x90, -0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x18, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x18, -0xEF, 0xD2, 0xAF, 0x12, 0x67, 0x8F, 0xE5, 0x18, 0x30, 0xE6, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0xBF, -0xD2, 0xAF, 0x12, 0x76, 0x54, 0xE5, 0x18, 0x30, 0xE7, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0x7F, 0xD2, -0xAF, 0x12, 0x82, 0x61, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x93, -0x3A, 0x74, 0x01, 0xF0, 0x31, 0x9C, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0xD2, 0xAF, 0x90, 0x01, 0xBD, -0xE5, 0x63, 0xF0, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, 0x99, 0x90, 0x01, 0x3C, -0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, -0xF0, 0xFD, 0x7F, 0x54, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x55, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x56, -0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75, -0x83, 0x00, 0xED, 0xF0, 0x71, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x30, 0xE4, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xFD, 0x7F, 0x50, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x51, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x52, 0x71, -0xB6, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10, -0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x05, -0x22, 0x74, 0xFF, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xB4, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, -0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x71, 0xFE, 0x71, 0xF7, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, -0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, -0x44, 0x20, 0xF0, 0x90, 0x93, 0x41, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x34, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x4D, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, -0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, -0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, -0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x22, 0xE4, -0xFF, 0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB8, 0xD1, 0x99, 0x90, 0x07, 0x78, 0x74, 0x01, -0xF0, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, -0xE0, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0x7F, -0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x6C, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44, -0x80, 0xFD, 0x7F, 0x80, 0x61, 0xB6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xEF, -0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x9F, 0xE0, 0x90, 0x93, 0xEB, 0xF0, -0x6F, 0x70, 0x02, 0xA1, 0xDC, 0xEF, 0x14, 0x60, 0x3B, 0x14, 0x60, 0x5F, 0x14, 0x70, 0x02, 0xA1, -0xB6, 0x24, 0x03, 0x60, 0x02, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x03, 0x04, 0xD1, 0xE4, -0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x02, 0x04, 0xD1, 0xFC, 0xA1, 0xDC, 0x90, 0x93, 0xEB, -0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x00, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0x64, 0x01, 0x70, 0x7C, -0xD1, 0xE6, 0x80, 0x78, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x03, 0x04, 0xF1, 0x35, 0x80, 0x6C, -0xEF, 0xB4, 0x02, 0x04, 0xF1, 0x04, 0x80, 0x64, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x04, 0x04, -0xF1, 0x1A, 0x80, 0x58, 0xEF, 0x70, 0x55, 0xD1, 0x01, 0x80, 0x51, 0x90, 0x93, 0xEB, 0xE0, 0xB4, -0x03, 0x04, 0xF1, 0x25, 0x80, 0x46, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x01, 0x04, 0x91, 0xF6, 0x80, -0x3B, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x11, 0x80, 0x30, 0x90, 0x93, 0xEB, 0xE0, -0x70, 0x2A, 0xB1, 0xE1, 0x80, 0x26, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x01, 0x04, 0xB1, 0xE5, -0x80, 0x1A, 0xEF, 0xB4, 0x02, 0x04, 0xB1, 0xFD, 0x80, 0x12, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, -0x04, 0x05, 0x12, 0x44, 0xFF, 0x80, 0x05, 0xEF, 0x70, 0x02, 0xB1, 0xF9, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD1, 0x01, 0x81, 0xF6, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x54, -0xBF, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x03, 0xF0, 0x22, 0xD1, 0x01, 0x80, 0xE8, 0xD1, 0x14, 0x80, -0xE4, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x9F, -0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xAC, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, -0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x41, 0xE0, -0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x0A, 0x31, 0x83, -0xEF, 0x64, 0x01, 0x60, 0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x1C, 0x7F, 0x01, -0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00, -0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB0, 0xD1, 0x99, 0x71, 0xF7, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x90, 0x93, 0xEC, 0xEF, 0xF0, 0xD1, 0x14, 0x90, 0x93, 0xEC, 0xE0, 0x60, 0x05, 0x90, 0x05, -0x22, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, -0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, -0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, -0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, -0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x88, 0x6C, 0xD0, -0xD0, 0x92, 0xAF, 0x22, 0xF1, 0x35, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x05, 0x27, -0xE4, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE4, 0x90, 0x93, 0x9F, 0xF0, 0x22, 0xF1, 0x04, 0x80, 0xE6, -0xF1, 0x1A, 0x80, 0xE2, 0xD1, 0x14, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x9F, 0x04, 0xF0, -0x22, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, -0x93, 0x9F, 0x04, 0xF0, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x0E, 0x90, 0x93, -0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, -0xF0, 0x90, 0x93, 0x9F, 0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0xED, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x46, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, -0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x71, 0xFE, -0x90, 0x93, 0xED, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, -0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, -0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4B, 0x90, -0x93, 0xED, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, -0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x71, 0xFE, 0x90, 0x93, 0xED, -0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, -0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, -0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, -0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x8B, 0x21, 0x8A, 0x22, 0x89, 0x23, 0x90, 0x93, 0xBC, 0x12, 0x43, 0xC8, 0xAB, 0x24, 0xAA, 0x25, -0xA9, 0x26, 0x90, 0x93, 0xBF, 0x12, 0x43, 0xC8, 0xAF, 0x27, 0x15, 0x27, 0xEF, 0x60, 0x1E, 0x90, -0x93, 0xBF, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x93, 0xBC, -0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x21, 0xAA, -0x22, 0xA9, 0x23, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x01, 0xC4, 0x74, 0x48, 0xF0, 0x74, 0x58, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, -0x05, 0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, -0xC7, 0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x11, 0x48, 0xBF, 0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x95, 0x90, 0x04, -0x1F, 0x74, 0x20, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, -0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, -0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, -0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, -0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, -0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, -0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13, -0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x01, -0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07, -0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3B, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D, -0xF0, 0x79, 0x40, 0x90, 0x93, 0x01, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0, -0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x22, 0x90, 0x93, 0x5E, 0xE0, 0x04, -0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0B, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x02, -0x11, 0x80, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, -0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, -0x90, 0x01, 0xC4, 0x74, 0x63, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28, -0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0, -0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x57, 0x90, 0x01, 0x34, 0x74, 0x01, -0xF0, 0x85, 0xD1, 0x0E, 0x85, 0xD3, 0x10, 0x85, 0xD4, 0x11, 0x85, 0xD5, 0x12, 0x85, 0xD6, 0x13, -0x85, 0xD7, 0x14, 0x85, 0xD9, 0x15, 0x85, 0xD2, 0x0F, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75, -0x26, 0x0E, 0x75, 0x27, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0x5F, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x60, -0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02, -0x61, 0x08, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, -0x61, 0x08, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0x61, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90, -0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, -0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03, -0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, -0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x63, 0xE0, 0x54, -0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, -0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, -0x60, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, -0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, -0x12, 0x42, 0x87, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, -0x67, 0xAF, 0x4D, 0x12, 0x71, 0x11, 0x80, 0x60, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13, -0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25, -0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87, -0x90, 0x93, 0x62, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54, -0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0x12, 0x70, 0xAD, 0x80, 0x1B, 0x90, 0x01, 0x02, -0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0, -0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, -0x46, 0x90, 0x93, 0x50, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, -0x04, 0xF0, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, -0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, -0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x80, 0x09, 0x12, 0x51, -0x83, 0xBF, 0x01, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xF9, 0x90, 0x01, -0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, -0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, -0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x16, 0x90, 0x04, 0x7E, -0xE0, 0x55, 0x51, 0xF5, 0x17, 0x65, 0x16, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x16, 0x75, 0xF0, 0x08, -0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, -0x19, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75, -0x26, 0x19, 0x75, 0x27, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x56, 0x12, 0x57, 0xF9, 0x90, 0x93, -0x56, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x9F, 0xE5, 0x16, -0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, -0x16, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x17, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, -0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, -0x18, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, -0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x53, -0xCB, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x53, 0xFE, 0x80, 0xFE, 0xE5, 0x2C, 0x30, -0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x30, 0xE0, 0x52, 0x90, 0x93, 0x71, -0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0x6E, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, -0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x9E, 0xE0, -0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90, 0x93, 0xA0, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x98, 0xE0, 0xFF, 0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90, -0x93, 0x9A, 0x74, 0x01, 0xF0, 0x12, 0x45, 0x09, 0xF1, 0xBF, 0x90, 0x93, 0x71, 0xE4, 0xF0, 0xE5, -0x2E, 0x30, 0xE1, 0x7D, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x62, 0xE0, 0xFE, 0x90, -0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0A, 0xEC, 0x3E, 0xF5, 0x09, 0x90, 0x05, 0x22, -0xE0, 0xB4, 0xFF, 0x06, 0x90, 0x01, 0xE6, 0xE0, 0x04, 0xF0, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x01, -0xE4, 0xF0, 0x43, 0x18, 0x40, 0x11, 0xF5, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0C, 0xE4, 0xFF, -0xD1, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x1D, -0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, -0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, -0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, -0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x7B, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x90, 0x05, 0x62, 0xE0, -0xFE, 0x90, 0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0C, 0xEC, 0x3E, 0xF5, 0x0B, 0xD3, -0xE5, 0x0C, 0x95, 0x0A, 0xE5, 0x0B, 0x95, 0x09, 0x40, 0x06, 0x90, 0x01, 0xE5, 0xE0, 0x04, 0xF0, -0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0D, 0x90, 0x93, 0x39, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0xE0, -0x64, 0x06, 0x60, 0x3D, 0x12, 0x4B, 0x90, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x34, 0x90, 0x93, 0x4E, -0xE0, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73, -0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01, 0x7F, -0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x37, 0xE0, 0x14, -0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, 0x64, 0x01, -0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, -0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x42, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B, 0x90, -0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, 0x90, 0x01, -0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE4, 0xF0, 0x53, 0x66, -0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2E, 0x30, 0xE5, 0x1F, 0x90, -0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x14, 0xE5, 0x65, 0x60, 0x10, 0x90, 0x93, -0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x03, 0x12, 0x4F, 0x1D, 0xE5, 0x2E, -0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, -0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2F, -0x30, 0xE1, 0x18, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x08, -0x90, 0x93, 0x9D, 0x74, 0x01, 0xF0, 0x80, 0x03, 0x12, 0x4E, 0xD6, 0x74, 0x63, 0x04, 0x90, 0x01, -0xC4, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, -0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, -0x32, 0x8F, 0x71, 0x90, 0x05, 0x43, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0x22, 0x90, -0x93, 0x01, 0xE0, 0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, -0x00, 0x79, 0x19, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x01, 0xD3, 0x10, -0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, -0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, -0x69, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, -0xA3, 0xE0, 0xB5, 0x07, 0x0F, 0x12, 0x81, 0x51, 0xEF, 0x60, 0x72, 0x12, 0x82, 0x61, 0x90, 0x01, -0x3F, 0x74, 0x02, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6B, 0xF9, 0x74, -0x92, 0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x7E, 0x00, -0x7F, 0x02, 0x12, 0x1E, 0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9, -0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x93, 0xCB, -0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x12, -0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x57, -0xF9, 0x90, 0x92, 0x6A, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xAE, 0x07, 0xE4, 0xFF, 0xD1, 0x91, 0xEF, 0x60, 0x19, 0x90, 0x93, 0x98, 0xE0, 0xC4, -0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x0D, 0xAF, 0x06, 0x7D, 0x01, 0x12, 0x48, 0xF4, 0x12, 0x67, -0x4A, 0x7F, 0x01, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x26, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x29, -0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x26, 0x12, 0x43, -0xA8, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x29, 0xC1, 0xBE, 0x90, -0x93, 0xE0, 0xE0, 0x30, 0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x93, 0xDF, 0xE0, 0x04, -0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x93, 0xE2, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0xDF, 0xF0, -0x90, 0x93, 0xE2, 0xE0, 0xFF, 0x90, 0x93, 0xE1, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x8A, 0xA6, -0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, -0xEF, 0x30, 0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, -0x05, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, -0x2B, 0x90, 0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, -0xE5, 0x2B, 0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, -0x43, 0x32, 0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, -0xF0, 0x22, 0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, -0x02, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, 0x7F, 0x01, -0x22, 0x90, 0x93, 0x72, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, -0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, -0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, -0x64, 0x74, 0x20, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0, -0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x10, -0xE0, 0x94, 0x88, 0x90, 0x93, 0x0F, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, -0x80, 0xF0, 0x22, 0x90, 0x93, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, -0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x10, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x0F, 0xE0, 0x94, -0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x94, 0xE0, 0x44, -0x01, 0xF0, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0, -0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74, -0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98, -0x04, 0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, -0xC0, 0x06, 0xC0, 0x07, 0x7D, 0x33, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x61, 0xFF, 0xA3, 0xF0, -0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, -0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, -0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, -0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, -0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, -0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, -0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, -0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, -0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, -0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, -0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xDA, 0xF0, -0x74, 0x61, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, -0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, -0x37, 0xE5, 0x34, 0x30, 0xE0, 0x1A, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0, -0x30, 0xE0, 0x0D, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0xE5, 0x34, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x44, 0x24, 0xE5, 0x34, -0x30, 0xE2, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, -0x75, 0x48, 0x00, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, -0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, -0x08, 0x90, 0x93, 0x4C, 0xE4, 0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, -0x3C, 0x74, 0x08, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, -0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x49, 0xE4, -0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE4, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0xE5, -0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, -0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, -0xF0, 0x12, 0x50, 0xDC, 0x12, 0x51, 0x9C, 0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, -0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x6D, -0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, -0x04, 0xF0, 0xE5, 0x36, 0x20, 0xE0, 0x02, 0x61, 0xAF, 0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0x90, -0x93, 0x9E, 0xE0, 0x30, 0xE0, 0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E, -0x91, 0xEF, 0x60, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x5F, -0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x3B, 0x91, 0x86, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0x64, -0x06, 0x60, 0x30, 0xEF, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x04, -0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09, 0x90, -0x93, 0x99, 0xE0, 0xB4, 0x02, 0x04, 0x7F, 0x01, 0x91, 0xDA, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, -0xF4, 0xF1, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x75, 0x48, 0x00, 0x75, 0x49, 0x03, 0xE4, -0xFB, 0xFD, 0x7F, 0x50, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x53, 0x74, 0x05, 0xF0, 0xE5, -0x36, 0x30, 0xE1, 0x3C, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0x30, 0xE0, -0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x05, 0x7F, -0x02, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x15, 0x12, 0x89, 0xF6, 0x90, 0x93, -0x99, 0xE0, 0x64, 0x06, 0x60, 0x0A, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x02, 0x91, 0xA8, -0xE5, 0x36, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xE5, 0x36, 0x30, 0xE4, 0x06, -0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x04, -0xF0, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6, -0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74, -0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x18, 0x80, -0xE5, 0x37, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x46, 0xAC, 0x90, 0x93, -0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x5F, 0xBF, -0x74, 0xDA, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, -0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, -0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x98, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x30, 0xE0, 0x0A, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x04, 0x7F, 0x06, 0x91, 0xDA, 0x90, 0x93, 0x99, -0xE0, 0x64, 0x06, 0x60, 0x02, 0xF1, 0x29, 0x22, 0x90, 0x93, 0x39, 0xE0, 0x60, 0x16, 0x90, 0x93, -0x99, 0xE0, 0x70, 0x04, 0x7F, 0x05, 0x80, 0x1F, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x01, 0x70, 0x19, -0x7F, 0x02, 0x80, 0x13, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0x7F, 0x03, 0x80, 0x08, 0x90, -0x93, 0x99, 0xE0, 0x70, 0x04, 0x7F, 0x04, 0x91, 0xDA, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, -0xD0, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0x6F, 0x70, 0x02, 0xC1, 0xAC, 0xEF, 0x12, 0x43, 0xD1, 0x65, -0x08, 0x00, 0x65, 0x43, 0x01, 0x65, 0x8A, 0x02, 0x65, 0xC5, 0x03, 0x65, 0xFE, 0x04, 0x66, 0x37, -0x05, 0x66, 0x73, 0x06, 0x00, 0x00, 0x66, 0xAC, 0xEE, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, -0x81, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0xB4, 0x05, 0x04, 0xD1, 0xBB, 0xC1, 0xAC, 0xEF, -0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06, -0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xD1, -0xF0, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, -0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, -0xD1, 0xE6, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, -0xC1, 0xAC, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, -0x64, 0x02, 0x60, 0x02, 0xC1, 0xAC, 0xD1, 0xC5, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, -0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, -0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, 0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xFE, -0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x08, 0xEE, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0xD1, -0xB1, 0xF1, 0x1C, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, -0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, -0x70, 0x04, 0xD1, 0xE6, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF, -0xD1, 0xD0, 0x80, 0x06, 0xEE, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x05, 0xC1, 0xAC, 0x90, 0x93, -0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06, -0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90, -0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1, 0xF0, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, -0x02, 0xD1, 0xBB, 0xD1, 0xFB, 0x80, 0x75, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, -0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, -0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1, -0xF0, 0x80, 0x0C, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x05, 0x7F, 0x01, 0x12, 0x56, 0x81, 0xF1, -0x0F, 0x80, 0x39, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, -0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, -0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06, 0xE4, 0xFF, 0xD1, 0xB1, 0x80, -0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x36, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x12, 0x51, 0x69, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x90, 0x93, 0x99, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0x04, 0xF0, 0x22, -0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, -0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x51, 0x05, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, -0x7F, 0x01, 0x12, 0x50, 0x8A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x12, 0x54, 0x0E, 0x90, 0x93, -0x99, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x50, 0xB3, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0, 0x22, 0x90, -0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x05, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74, -0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x93, 0x9D, 0xE0, 0xB4, 0x01, 0x05, -0xE4, 0xF0, 0x12, 0x4E, 0xD6, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x06, 0xF0, 0x22, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x06, -0x60, 0x3C, 0xE5, 0x63, 0x54, 0x0F, 0x14, 0x60, 0x2E, 0x14, 0x60, 0x1E, 0x24, 0xFE, 0x60, 0x0E, -0x24, 0xF8, 0x70, 0x2A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x90, 0x05, 0x22, 0xF0, 0x22, 0x90, 0x93, -0x99, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0, -0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x08, 0xF0, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x0F, 0xF0, -0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x68, 0xDA, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74, -0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, -0xEF, 0x5D, 0x70, 0x03, 0x02, 0x68, 0xD3, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, -0xD0, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x75, 0x24, 0x01, 0x75, 0x25, 0x93, 0x75, -0x26, 0x10, 0x75, 0x27, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x11, 0x12, 0x57, 0xF9, 0x90, 0x93, -0x11, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0xE9, 0x30, 0xE0, 0x59, 0xE0, -0x75, 0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93, -0xE9, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0, -0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x14, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x15, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, -0x9C, 0xE0, 0x90, 0x93, 0x16, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, -0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, -0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, -0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x14, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, -0x01, 0x7A, 0x93, 0x79, 0x12, 0x11, 0xDF, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x90, 0x93, 0xE9, 0xE0, -0xFE, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, -0x0F, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, -0xD8, 0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, -0x02, 0x67, 0xA0, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, -0x93, 0x17, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x69, 0x2E, 0x01, 0x69, 0x26, 0x02, 0x69, -0x73, 0x03, 0x69, 0x7C, 0x05, 0x69, 0x85, 0x06, 0x69, 0xC8, 0x07, 0x69, 0x8D, 0x08, 0x69, 0x96, -0x0B, 0x69, 0x9F, 0x1B, 0x69, 0xA7, 0x1C, 0x69, 0x37, 0x2D, 0x69, 0x40, 0x2E, 0x69, 0xAF, 0x30, -0x69, 0x52, 0x34, 0x69, 0x49, 0x3B, 0x69, 0x5A, 0x47, 0x69, 0x6B, 0x48, 0x69, 0x63, 0x49, 0x69, -0xB8, 0x4B, 0x00, 0x00, 0x69, 0xC1, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xB9, 0x90, 0x93, -0x17, 0x12, 0x43, 0xA8, 0x02, 0x82, 0xC7, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xA8, -0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xF0, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, -0x84, 0x29, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xBF, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, -0x02, 0x84, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xD5, 0x90, 0x93, 0x17, 0x12, 0x43, -0xA8, 0xE1, 0xCD, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x85, 0x14, 0x90, 0x93, 0x17, 0x12, -0x43, 0xA8, 0x02, 0x80, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x80, 0x3C, 0x90, 0x93, 0x17, -0x12, 0x43, 0xA8, 0x02, 0x85, 0x5C, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x80, 0x80, 0x90, -0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xC5, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xA1, 0x90, -0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xAB, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x88, -0x5A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, -0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0x90, 0x93, 0x1A, -0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x20, 0xF0, 0x90, -0x93, 0x1A, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC, -0x83, 0x90, 0x93, 0x21, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, -0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12, -0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43, -0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, -0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90, -0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x21, 0xE0, -0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C, -0x83, 0xA3, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0xFF, 0x24, 0xC2, 0xF5, -0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFE, 0x75, 0xF0, 0x09, -0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B, -0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, -0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, -0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24, -0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09, -0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5, -0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5, -0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12, -0x43, 0xD1, 0x6B, 0x57, 0x00, 0x6B, 0x6C, 0x01, 0x6B, 0x81, 0x02, 0x6B, 0x96, 0x03, 0x6B, 0xBF, -0x04, 0x6B, 0xD4, 0x05, 0x6B, 0xE9, 0x06, 0x6C, 0x0F, 0x0C, 0x6C, 0x3C, 0x0D, 0x6C, 0x69, 0x0E, -0x6C, 0x96, 0x0F, 0x00, 0x00, 0x6C, 0xCA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80, -0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, -0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, -0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, -0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, 0x81, 0xCA, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, -0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x81, 0xCA, 0x90, -0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x46, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x45, 0xE0, -0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0x81, 0xC1, 0x90, 0x04, 0x4B, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, 0x85, 0x59, 0x82, -0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, -0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, -0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, -0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, -0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, -0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5, -0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, -0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0, -0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xC0, 0x83, -0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, -0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, -0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, -0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, -0xE0, 0x4E, 0x60, 0x4B, 0x90, 0x93, 0x26, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, -0x94, 0x00, 0x50, 0x02, 0xC1, 0x0F, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, -0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x0A, 0x90, 0x93, 0x26, -0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBB, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0x4E, 0x60, 0x47, 0x90, 0x93, 0x26, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, -0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, -0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0xA3, 0xF0, -0x80, 0x0D, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x10, -0x40, 0x02, 0xC1, 0xC8, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, -0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, 0x93, 0x26, 0xE0, 0x80, -0x63, 0x90, 0x93, 0x26, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, -0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, -0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, -0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, -0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, 0x93, 0x26, 0xE0, 0x04, -0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x28, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0xFF, 0x75, 0xF0, 0x09, -0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, 0x28, 0xE0, 0xFE, 0x75, -0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, -0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, -0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, -0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x28, 0xE0, 0xA3, 0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, -0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x27, 0xE0, -0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x29, 0xEE, 0xF0, 0x80, 0x17, 0x90, 0x93, 0x28, -0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x27, 0xE0, -0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0xFD, 0xAF, 0x57, 0x12, 0x70, 0x63, 0x90, 0x93, -0x29, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0, -0x90, 0x93, 0x27, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0, -0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3, -0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0, -0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, -0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0x21, 0xDD, 0x12, 0x1E, 0xF6, 0xF5, 0x62, 0x22, 0x90, -0x93, 0x1A, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, -0x90, 0x93, 0x6F, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, -0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xCE, -0x12, 0x43, 0xC8, 0x90, 0x93, 0xD1, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F, -0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x93, 0xCE, 0x12, 0x43, 0xA8, 0x90, -0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xD1, 0x12, 0x5E, 0xBE, 0xD0, 0xD0, -0x92, 0xAF, 0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, -0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, -0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, -0x4D, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E, -0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x2A, 0x74, 0x27, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0x8B, 0xEF, 0xF0, 0x24, -0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x8C, 0xF0, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0x8B, 0x7D, 0x02, 0x12, 0x6F, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D, -0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x03, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x04, 0x74, 0x01, 0xF0, 0xEB, 0xC3, -0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x01, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3, -0xE0, 0x90, 0x41, 0x9E, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5, -0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x01, 0x63, 0x90, 0x93, -0x02, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0, -0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, -0x06, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, -0x93, 0x05, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, -0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, -0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, -0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, -0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x06, -0xE0, 0xFF, 0x90, 0x93, 0x05, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x05, 0xE0, -0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, -0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, -0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, -0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, -0x90, 0x93, 0x05, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, -0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, -0xCF, 0x04, 0xF0, 0x90, 0x93, 0x05, 0xE0, 0xFF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, -0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, -0x1F, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, -0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x22, 0xF0, -0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x24, 0xF0, 0x75, -0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x25, 0xF0, 0xEC, -0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, -0x93, 0x26, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, -0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x28, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, -0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, -0x90, 0x93, 0x25, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0xED, 0x70, 0x02, 0x61, -0xA3, 0x90, 0x93, 0x23, 0xED, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x22, -0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x70, -0x02, 0x61, 0xA3, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0x61, 0xA3, 0xE4, -0x90, 0x93, 0x21, 0xF0, 0xEF, 0x14, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x24, 0xE0, 0xFD, 0x90, -0x93, 0x20, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, -0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, -0xF9, 0xFF, 0x90, 0x93, 0x28, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, -0x20, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, -0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x26, 0xE0, 0x5E, 0xFE, 0xA3, -0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x20, 0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x21, -0xE0, 0x04, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0x6F, 0x60, 0x08, 0x90, -0x93, 0x20, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, -0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93, 0x20, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x24, 0xE0, 0x90, -0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, -0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, -0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x1F, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x93, -0x1F, 0xE0, 0xFF, 0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x11, 0x74, -0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0, -0x90, 0x93, 0x1F, 0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, -0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x22, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, -0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x23, 0xCB, 0xF0, 0xA3, 0xEB, -0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, -0xE0, 0x90, 0x93, 0x25, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x25, 0xE0, -0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, -0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, -0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xA1, 0x51, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x74, 0x28, 0x2D, -0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x21, 0xF0, 0x90, -0x93, 0x22, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xA1, 0x8B, 0xEE, -0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, -0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x23, 0xE0, 0x5E, 0xFE, -0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, -0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0xFF, 0x90, 0x93, 0x25, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x21, -0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93, 0x24, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x21, 0x74, 0x17, -0xF0, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, -0x23, 0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x21, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x21, 0xE0, 0x90, -0x93, 0x20, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x21, 0xE0, 0x04, 0xF0, 0x81, -0xAF, 0x90, 0x93, 0x22, 0xE0, 0xFC, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, -0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x20, 0xE0, -0x44, 0x40, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x20, 0xE0, 0xFF, -0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, -0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, -0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, -0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, -0x93, 0x20, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x20, 0xEF, 0xF0, 0x90, 0x93, 0x1F, -0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, -0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, -0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, -0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, -0xF0, 0xAF, 0x05, 0x90, 0x93, 0x1F, 0xE0, 0x44, 0x80, 0xFD, 0x11, 0x63, 0x90, 0x93, 0x1F, 0xE0, -0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94, -0x40, 0x40, 0x03, 0x02, 0x7E, 0x57, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, -0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, -0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, -0x03, 0x02, 0x7E, 0x4E, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, -0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x7E, 0x4E, 0x90, -0x93, 0x0F, 0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x7E, 0x57, -0x90, 0x93, 0x0F, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, -0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, -0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x14, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, -0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, -0x93, 0x16, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, -0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, -0x10, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, -0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x19, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, -0x94, 0x05, 0x40, 0x03, 0x02, 0x79, 0xEC, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x90, 0x93, 0x11, 0xE0, -0x9F, 0x40, 0x13, 0x90, 0x93, 0x19, 0xE0, 0x90, 0x93, 0x11, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, -0x93, 0x10, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x11, 0xE0, 0xFF, 0x90, 0x41, 0x12, 0x93, 0xFE, -0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, -0x40, 0x06, 0xEF, 0x90, 0x40, 0xDA, 0x80, 0x07, 0x90, 0x93, 0x11, 0xE0, 0x90, 0x40, 0xF6, 0x93, -0x90, 0x93, 0x18, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x50, 0xF9, 0x74, -0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x0F, 0xE0, -0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, -0x93, 0x12, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, -0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, -0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, -0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, -0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, -0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, -0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, -0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, -0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, -0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, -0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x14, 0xE0, -0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, -0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0xF0, 0x80, 0x07, -0xE4, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, -0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, -0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, -0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, -0x21, 0xBB, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, -0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, -0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, -0xC3, 0x9E, 0x90, 0x93, 0x1A, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, -0x23, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, -0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, -0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, -0x83, 0xE0, 0x60, 0x02, 0x81, 0xFC, 0x12, 0x73, 0xF4, 0x81, 0xFC, 0x90, 0x93, 0x10, 0xE0, 0x25, -0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, -0xFF, 0xC3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x40, 0x02, 0x81, 0xFC, -0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x72, 0x29, 0x81, 0xFC, 0x90, 0x93, 0x0F, 0xE0, -0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, -0x61, 0xCA, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, -0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, 0x11, -0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x11, 0xE0, -0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, -0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, -0x90, 0x93, 0x0F, 0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, -0x93, 0x1E, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, -0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0x61, 0x75, 0x90, 0x8E, -0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x61, 0x6A, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82, -0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xEE, -0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, -0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x0F, -0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, -0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, -0x93, 0x0F, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, -0x11, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, -0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80, -0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x1E, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, -0x01, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, -0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x0F, 0xE0, 0xFF, -0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x90, -0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, -0x11, 0xE0, 0xFE, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, -0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, -0x01, 0x11, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, -0x83, 0xE4, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x81, 0xF9, 0xEC, 0x64, 0x06, 0x60, 0x02, 0x81, -0xFC, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xDB, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, -0x14, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x1C, 0xEE, 0xF0, 0xA3, 0xEF, -0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, -0x93, 0x1E, 0xF0, 0xE4, 0x90, 0x93, 0x1B, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0xD3, 0x94, 0x04, -0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, -0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xD6, 0x93, 0xFF, 0x7E, 0x00, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x1C, 0xE0, -0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x50, -0x08, 0x90, 0x93, 0x1B, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x1B, 0xE0, 0xC3, 0x13, 0xF0, -0x90, 0x93, 0x1E, 0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x1B, 0xE0, 0x70, 0x5D, 0x90, 0x93, -0x1E, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0x70, 0x08, -0x90, 0x93, 0x1E, 0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x1E, 0x74, -0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93, 0x1E, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, -0x1B, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, -0x1E, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x17, -0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x1E, 0xF0, -0xD3, 0x90, 0x93, 0x17, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, -0x90, 0x93, 0x1E, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC4, -0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x70, 0x23, 0x90, 0x93, 0x0F, 0xE0, -0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, -0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, -0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, -0x16, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, -0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, -0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x16, 0xE0, 0xFE, 0xA3, 0xE0, -0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, -0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25, 0xE0, -0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, -0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, -0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x0F, 0xE0, 0x50, -0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, -0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, -0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, -0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, -0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25, -0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, -0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, -0x0F, 0xE0, 0x04, 0xF0, 0x02, 0x76, 0x59, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, -0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, -0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, -0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, -0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, -0x94, 0x40, 0x40, 0x03, 0x02, 0x80, 0x53, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, -0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, -0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, -0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, -0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, -0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, -0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x8C, 0x93, 0xFE, 0x74, -0x01, 0x93, 0xFF, 0x90, 0x41, 0x54, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, -0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, -0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, -0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, -0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, -0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, -0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, -0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0, -0x02, 0x7E, 0x9A, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, -0x22, 0xEF, 0xB4, 0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, -0x94, 0x40, 0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, -0x1A, 0xF0, 0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, -0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x1C, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, -0x74, 0xFF, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, -0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x20, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, -0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0xEE, 0xA3, -0xF0, 0xA3, 0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x1A, 0x02, 0x5F, -0x97, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x93, 0xDB, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0xDB, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, -0xC3, 0x90, 0x93, 0xDE, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xDD, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, -0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xDD, 0xE4, 0x75, 0xF0, 0x01, -0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x68, 0xE0, -0xFF, 0x04, 0xF0, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x31, 0x51, 0xEF, 0x70, 0x02, 0x41, -0x5C, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02, -0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B, -0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, -0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0x12, 0x57, 0xF9, 0x90, 0x01, 0xAF, -0x74, 0xFF, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0x64, 0x01, 0x70, 0x4A, 0x90, 0x93, 0xC2, 0x12, 0x43, -0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, -0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, -0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01, -0x7A, 0xFD, 0x79, 0x22, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x54, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, -0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, -0x24, 0x6B, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, -0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x90, 0x93, 0xC5, 0x12, 0x43, -0xC8, 0xD0, 0x01, 0xD0, 0x02, 0x31, 0x9F, 0x90, 0x92, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, -0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, -0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, -0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, -0x1A, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, -0x1A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x50, 0xF0, 0x90, 0x00, -0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, -0x01, 0x90, 0x93, 0x34, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3B, 0xF0, 0xEF, 0x13, 0x13, -0x13, 0x54, 0x01, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, -0x01, 0x90, 0x93, 0x3D, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x40, 0xF0, 0xE0, 0x70, -0x38, 0x90, 0x93, 0x3E, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x1D, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, -0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x34, 0xE0, 0x70, 0x03, 0x12, -0x4F, 0x63, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x4C, 0xDF, 0x90, 0x93, 0x50, 0xE0, 0x90, -0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, -0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x3F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x93, 0x42, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0x90, 0x93, 0x47, 0xF0, 0x22, 0x90, 0x93, 0x3F, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x42, -0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x47, 0x74, 0x05, 0xF0, 0x22, -0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, -0x93, 0x46, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, -0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x43, 0xF0, -0x60, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, -0x93, 0x4D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x63, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x43, 0xE0, 0x90, -0x01, 0xE7, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x2D, 0xE0, 0x54, -0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, -0x70, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x2F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x30, 0xF0, 0x90, 0x00, -0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, -0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, -0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x02, 0xF0, -0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x03, 0xF0, 0x80, 0x3B, -0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, -0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, -0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, -0x2E, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x2E, 0xE0, 0x90, -0x93, 0x32, 0xF0, 0x22, 0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, -0x2E, 0x90, 0x93, 0x67, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, -0x68, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0x90, -0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x6A, 0xF0, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F, 0x90, 0x93, 0x6B, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, -0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x12, 0x1E, -0xF6, 0xC3, 0x13, 0x20, 0xE0, 0x02, 0xC1, 0xB6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, -0xF6, 0xFF, 0x54, 0x02, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54, -0x01, 0xFF, 0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF, -0x54, 0xF7, 0x4D, 0xFF, 0x90, 0x93, 0x9E, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E, -0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x20, 0xFD, 0xEF, 0x54, 0xDF, 0x4D, 0xFF, 0x90, 0x93, -0x9E, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0xEF, 0x54, 0xBF, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xC1, 0xA2, -0x90, 0x93, 0x1D, 0x74, 0x21, 0xF0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, -0x13, 0x13, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x60, -0x31, 0xEF, 0x54, 0x04, 0xFF, 0xED, 0x54, 0xFB, 0x4F, 0xF0, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, -0xE0, 0x15, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93, -0x1D, 0xE0, 0x44, 0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0xA0, 0xF0, 0x7D, 0x40, 0xFF, 0x12, -0x3A, 0x22, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90, -0x93, 0x1D, 0xE0, 0x44, 0x12, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, -0xE0, 0x44, 0x14, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x07, 0x90, -0x93, 0x1D, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, -0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27, -0xF0, 0x90, 0x93, 0x9F, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x9E, 0xE0, -0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x04, 0x7F, 0x03, 0x80, 0x0E, 0x7F, 0x01, 0x12, 0x5E, -0x91, 0xEF, 0x60, 0x04, 0x7F, 0x01, 0x80, 0x02, 0x7F, 0x02, 0x12, 0x55, 0x11, 0x7F, 0x02, 0x02, -0x88, 0x14, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27, 0xF0, 0xE4, 0xFF, 0x12, 0x55, -0x11, 0x7F, 0x03, 0x02, 0x88, 0x14, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, -0x54, 0x02, 0xFE, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54, 0x01, 0xFF, -0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF, 0x54, 0xF7, -0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E, 0xFF, 0xF0, -0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x40, 0xFD, 0xEF, 0x54, 0xBF, 0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0, -0xEE, 0x54, 0x04, 0xFE, 0xEF, 0x54, 0xFB, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xE1, 0xC7, 0x90, 0x93, -0x1D, 0x74, 0x31, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x15, 0x90, -0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93, 0x1D, 0xE0, 0x44, -0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0x9A, 0xF0, 0x7D, 0x40, 0xFF, 0x12, 0x3A, 0x22, 0x90, -0x93, 0x98, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, -0x44, 0x02, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x04, -0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x54, 0x0E, 0x60, 0x0C, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD, -0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27, 0xF0, 0x90, 0x93, 0x98, -0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x33, -0x7F, 0x06, 0x12, 0x64, 0xDA, 0x80, 0x2C, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, -0x99, 0xE0, 0xB4, 0x06, 0x1B, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, -0x60, 0x09, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x80, 0x05, 0x12, 0x64, 0xA8, 0x80, 0x03, -0x12, 0x67, 0x4A, 0x7F, 0x01, 0x80, 0x4D, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27, -0xF0, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x06, 0x02, 0x80, -0x1B, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, -0x04, 0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09, -0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x05, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0x12, 0x67, 0x29, 0x12, -0x51, 0x9C, 0x7F, 0x03, 0x11, 0x1B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0xEF, 0x64, 0x01, -0x60, 0x04, 0xEF, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, -0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xED, 0x64, 0x02, 0x60, 0x04, -0xED, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x6D, -0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x6E, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE5, -0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x93, 0xE6, 0xE0, -0x94, 0x88, 0x90, 0x93, 0xE5, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, -0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xE5, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, -0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE6, 0xE0, 0x94, 0x64, 0x90, 0x93, 0xE5, 0xE0, -0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, -0x22, 0x90, 0x93, 0xA4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xA8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, -0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, -0x73, 0x50, 0x41, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xA4, 0x12, 0x43, -0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, -0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xEF, -0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xA8, 0x12, -0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xA8, 0x02, 0x43, 0x84, 0x90, 0x93, 0x73, 0x12, 0x1F, 0xC9, -0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0x77, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, -0x90, 0x93, 0x73, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x7F, 0x12, 0x1F, -0xC9, 0x90, 0x93, 0x77, 0x12, 0x43, 0x84, 0x11, 0xC1, 0x90, 0x93, 0x83, 0x12, 0x1F, 0xC9, 0x90, -0x93, 0x77, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0x7F, 0x12, 0x43, 0x90, 0x12, 0x43, -0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x83, 0x12, 0x43, 0x84, 0xA9, -0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, -0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0x73, -0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x87, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, -0x06, 0xC0, 0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, -0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x9F, 0x74, -0x04, 0xF0, 0x22, 0x12, 0x56, 0x01, 0x80, 0xEE, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x05, -0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x56, 0x14, 0x90, -0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x57, 0xE0, 0x60, 0x3C, 0x90, 0x01, 0x57, 0xE4, -0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE0, 0x60, 0x07, 0xE4, 0xF0, 0x53, -0x66, 0xFD, 0x80, 0x24, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x3F, -0xE0, 0xFF, 0x90, 0x93, 0x38, 0xE0, 0xD3, 0x9F, 0x40, 0x0E, 0xE5, 0x62, 0xB4, 0x01, 0x09, 0x90, -0x93, 0x39, 0xE0, 0x70, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x5B, 0xE0, 0x60, 0x10, 0x90, 0x01, -0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x01, -0x5F, 0xE0, 0x60, 0x10, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4, -0x90, 0x93, 0x49, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE7, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, -0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, -0x22, 0xD3, 0x90, 0x93, 0xE8, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xE7, 0xE0, 0x94, 0x03, 0x40, 0x03, -0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x93, 0xE7, 0xE4, 0x75, 0xF0, -0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0xE4, 0xFF, 0x02, 0x4E, 0x8B, 0x90, 0x93, 0x1A, 0x12, 0x43, -0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, -0x30, 0xE0, 0x02, 0x51, 0xA6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, -0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0xE1, 0xF0, 0x22, 0x7E, 0xBF, -}; - -#ifdef CONFIG_MP_INCLUDED//BT_MP 16980 const u1Byte Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] = { -u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] = { -0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x4E,0xB2,0xCF,0xF7,0x12,0x6B,0x6B,0xEB, -0x4F,0xB4,0x60,0xCA,0x4C,0xB2,0x68,0xF1,0x1A,0x6B,0x4E,0xB5,0x60,0xCA,0x4B,0xB2, -0x00,0x68,0x0A,0x6E,0x00,0x18,0x2E,0x2E,0x00,0xC2,0x44,0xB7,0x4A,0xB2,0x4B,0xB3, -0xE8,0x4F,0x00,0xC2,0xC0,0xF0,0x58,0x9F,0x40,0xF0,0x0C,0xC7,0x4A,0xB0,0x6D,0xEA, -0xC0,0xF0,0x58,0xDF,0x45,0xF1,0x09,0x6A,0x00,0xF1,0x50,0xCF,0x0E,0xF0,0x1D,0x6A, -0x80,0xF1,0x62,0xA7,0x43,0xDF,0x42,0xB2,0x00,0x69,0x25,0xDF,0x44,0xDF,0x68,0x32, -0x69,0xE2,0x40,0xB3,0x44,0x32,0x26,0xDF,0x27,0xDF,0x28,0xDF,0x29,0xDF,0x40,0xCB, -0x90,0x67,0xB1,0x67,0x30,0x6E,0x00,0x18,0x64,0x2E,0x04,0xD7,0x01,0x6A,0x4B,0xEA, -0x47,0xD8,0x3A,0xB3,0x40,0x98,0x3A,0xB4,0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x0A,0x6B, -0x08,0x6A,0x6C,0xC0,0x0C,0x6E,0x00,0x18,0x64,0x2E,0x4D,0xC0,0x27,0xB3,0x02,0x6C, -0x8B,0xEC,0x40,0x9B,0x03,0x6B,0x6B,0xEB,0x8C,0xEA,0x6C,0xEA,0x05,0x6B,0x6B,0xEB, -0x6C,0xEA,0x22,0xB3,0x40,0xDB,0x22,0xB3,0x40,0x9B,0x8C,0xEA,0x40,0xDB,0x04,0x97, -0x0E,0xF0,0x1D,0x6A,0x2C,0xB3,0x43,0xDF,0x2A,0xB2,0x60,0xDA,0x2C,0xB3,0x2B,0xB2, -0x60,0xDA,0x2D,0xB3,0x2B,0xB2,0x60,0xDA,0x2D,0xB3,0x2C,0xB2,0x60,0xDA,0x2E,0xB3, -0x2C,0xB2,0x60,0xDA,0x2E,0xB3,0x2D,0xB2,0x60,0xDA,0x2F,0xB3,0x2D,0xB2,0x60,0xDA, -0x2F,0xB3,0x2E,0xB2,0x60,0xDA,0x30,0xB3,0x2E,0xB2,0x60,0xDA,0x30,0xB3,0x2F,0xB2, -0x60,0xDA,0x31,0xB3,0x2F,0xB2,0x60,0xDA,0x30,0xB2,0x32,0xB3,0x20,0xCA,0x30,0xB2, -0x60,0xDA,0x31,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x20,0xCA,0x2F,0xB2,0x60,0xCA, -0x2F,0xB2,0x20,0xDA,0x2F,0xB2,0x80,0x18,0x43,0x36,0x20,0xDA,0x08,0x97,0x07,0x91, -0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0xF4,0x00,0x11,0x80,0xF0,0x00,0x11,0x80, -0xD0,0x04,0x11,0x80,0xD2,0x04,0x11,0x80,0xCA,0xA0,0x11,0x80,0xCC,0xA0,0x11,0x80, -0xC4,0xF5,0x04,0x80,0xD6,0xA0,0x11,0x80,0x00,0x00,0x00,0x18,0x58,0xC5,0xC8,0x19, -0x14,0xA1,0x11,0x80,0xD8,0xA0,0x11,0x80,0x00,0x00,0x00,0x70,0x08,0xA1,0x11,0x80, -0xBC,0x00,0x11,0x80,0xA1,0xA9,0x10,0x80,0x44,0x00,0x11,0x80,0x21,0xA3,0x10,0x80, -0x4C,0x05,0x11,0x80,0x25,0xAD,0x10,0x80,0x44,0x05,0x11,0x80,0x3D,0xCD,0x10,0x80, -0x58,0x09,0x11,0x80,0x11,0xD1,0x10,0x80,0x3C,0x00,0x11,0x80,0x6D,0xA6,0x10,0x80, -0xA0,0x05,0x11,0x80,0x41,0xAA,0x10,0x80,0x5C,0x05,0x11,0x80,0x61,0xD7,0x10,0x80, -0x90,0x06,0x11,0x80,0x45,0xC9,0x10,0x80,0xEC,0x04,0x11,0x80,0xAD,0xAE,0x10,0x80, -0x6C,0x06,0x11,0x80,0x45,0xD0,0x10,0x80,0x16,0xA1,0x11,0x80,0xD4,0x04,0x11,0x80, -0xB1,0xCE,0x10,0x80,0xC8,0xA0,0x11,0x80,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80, -0x20,0xA1,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x04,0x67,0x2F,0x24, -0x80,0x98,0x00,0x6A,0x00,0xF4,0x24,0x98,0xBD,0x67,0x00,0xF4,0x44,0xD8,0xE1,0xF7, -0x1F,0x6A,0x4C,0xEC,0x00,0x18,0x2A,0xDF,0x10,0x4D,0x12,0x2A,0x5D,0x67,0x68,0xAA, -0xFF,0xF7,0x1F,0x6A,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x0E,0xB3,0x48,0x32,0x69,0xE2,0xE0,0xF0,0x4B,0xA2,0x01,0x72,0x0A,0x60, -0x0B,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D,0x83,0x9A,0x07,0x2A,0x00,0x18,0x6A,0x1E, -0x11,0x67,0x04,0x10,0x00,0x18,0x7B,0x57,0x90,0x67,0x11,0x67,0xD1,0x29,0x08,0x97, -0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0x9C,0x31,0x11,0x80, -0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x0A,0xD4,0xFF,0x6C,0x8C,0xEE,0x04,0x76, -0x04,0xD6,0x34,0x61,0x1F,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA, -0x01,0x72,0x2C,0x61,0x0A,0x93,0x40,0xA3,0x8C,0xEA,0x03,0x72,0x27,0x61,0x22,0xA3, -0x8C,0xE9,0x24,0x29,0x44,0xA3,0x03,0xA3,0x8C,0xEA,0x40,0x32,0x8C,0xE8,0x00,0x1C, -0xDD,0x31,0x4D,0xE8,0x14,0xB3,0x1A,0x65,0x40,0xAB,0x0E,0xEA,0x14,0x2A,0x13,0xB2, -0x98,0x67,0x00,0x9A,0x20,0xDA,0x12,0xB2,0x20,0xDA,0x08,0xF1,0x11,0x6A,0x4B,0xEA, -0x00,0x1C,0xE5,0x31,0x40,0xCB,0x00,0x18,0xA9,0x1D,0x01,0x6C,0x07,0x20,0x80,0x18, -0x79,0x28,0x90,0x67,0x03,0x10,0x00,0x1C,0xE5,0x31,0x98,0x67,0x0A,0x94,0x00,0x18, -0xBD,0x89,0x04,0x95,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00, -0x6C,0x1D,0x11,0x80,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80,0x20,0xA1,0x11,0x80, -0x03,0xB2,0x01,0x6B,0x40,0x9A,0x52,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0, -0x03,0xB2,0x01,0x6B,0x40,0x9A,0x4A,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0, -0xF3,0x63,0x18,0x62,0x17,0xD1,0x16,0xD0,0x7D,0x67,0x00,0x6A,0x20,0xF0,0x50,0xC3, -0xB4,0xB3,0x9D,0x67,0x00,0x69,0x58,0xAB,0x40,0xF0,0x48,0xCC,0x20,0xF0,0x5A,0xA3, -0x20,0xF0,0x79,0xA3,0x40,0x32,0x4D,0xEB,0xAF,0xB2,0x0D,0xD3,0x01,0x6B,0x40,0x9A, -0x0F,0xD2,0xAE,0xB2,0x40,0x9A,0x0E,0xD2,0xAD,0xB2,0x00,0x9A,0xAD,0xB2,0x40,0x9A, -0x10,0xD2,0x0E,0x92,0x6C,0xEA,0x3A,0x22,0xBD,0x67,0x83,0x67,0x30,0x4D,0x00,0x6E, -0x00,0x18,0x71,0x23,0x23,0x67,0x02,0x2A,0x03,0x69,0x26,0x11,0x9D,0x67,0x20,0xF0, -0x70,0xA4,0x0F,0x94,0xFF,0x6A,0x4C,0xEB,0x80,0xF7,0x82,0x32,0x2C,0xEA,0x4E,0xEB, -0xA2,0xB4,0x1B,0x2B,0xA0,0xB2,0x4D,0xE8,0x40,0x9C,0x56,0x32,0x2C,0xEA,0x02,0x2A, -0x9F,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A,0x05,0x69, -0x6C,0xEA,0xFF,0xF7,0x1F,0x6B,0x6C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94, -0x0D,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x09,0x10,0x96,0xB2,0x4C,0xE8,0x40,0x9C, -0x56,0x32,0x2C,0xEA,0x02,0x2A,0x94,0xB2,0x4C,0xE8,0x09,0x69,0x0E,0x94,0x01,0x6F, -0x86,0x32,0xEC,0xEA,0x41,0x22,0x8D,0xB3,0x40,0x9B,0x56,0x32,0xEC,0xEA,0x3C,0x22, -0xBD,0x67,0x10,0x6A,0xC7,0x67,0x02,0x6C,0x30,0x4D,0x14,0xD7,0x00,0x18,0x71,0x23, -0x4D,0xE9,0x14,0x97,0x06,0x2A,0x20,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6C,0x8C,0xE9, -0xDB,0x10,0x0F,0x94,0x5D,0x67,0x20,0xF0,0x70,0xA2,0x40,0xF7,0x82,0x32,0xEC,0xEA, -0x4E,0xEB,0x7E,0xB2,0x80,0x9A,0x19,0x2B,0x7D,0xB2,0x4D,0xE8,0x44,0x67,0xEC,0xEA, -0x02,0x2A,0x79,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A, -0xFF,0xF7,0x1F,0x6C,0x6C,0xEA,0x8C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94, -0x0B,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x07,0x10,0x73,0xB2,0x4C,0xE8,0x44,0x67, -0xEC,0xEA,0x02,0x2A,0x6F,0xB2,0x4C,0xE8,0x0E,0x93,0x01,0x6C,0x6A,0x32,0x8C,0xEA, -0x41,0x22,0x6A,0xB3,0x40,0x9B,0x0F,0x6B,0x46,0xEC,0x6C,0xEA,0x03,0x72,0x3A,0x60, -0xFF,0x6A,0xBD,0x67,0x01,0x4A,0x04,0x6C,0x30,0x4D,0x02,0x6E,0x00,0x18,0x71,0x23, -0x4D,0xE9,0x03,0x2A,0x00,0xF2,0x00,0x6A,0x45,0x10,0x9D,0x67,0x20,0xF0,0x50,0xA4, -0x5E,0xB3,0x80,0x9B,0x13,0x22,0x61,0xB2,0x03,0x6B,0x4D,0xE8,0x82,0x32,0x4A,0x32, -0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6C,0x8C,0xEA,0x02,0x2A,0x5C,0xB2, -0x4D,0xE8,0x00,0xF4,0x00,0x6A,0x4D,0xE9,0x01,0x6B,0x12,0x10,0x5A,0xB2,0x03,0x6B, -0x4C,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6B, -0x6C,0xEA,0x02,0x2A,0x55,0xB2,0x4C,0xE8,0x01,0xF0,0x00,0x6A,0x4D,0xE9,0x00,0x6B, -0x50,0xB2,0x60,0xC2,0x0E,0x94,0x01,0x6B,0x8E,0x32,0x6C,0xEA,0x18,0x22,0x47,0xB2, -0x40,0x9A,0x46,0xEB,0x0F,0x6B,0x6C,0xEA,0x03,0x72,0x11,0x60,0xBD,0x67,0x02,0xF0, -0x00,0x6A,0x08,0x6C,0x30,0x4D,0x03,0x6E,0x00,0x18,0x71,0x23,0x4D,0xE9,0x07,0x2A, -0x04,0xF0,0x00,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6A,0x4C,0xE9,0x4D,0x10,0x44,0xB2, -0x3E,0xB3,0x0C,0xEA,0x6E,0xEA,0x11,0x2A,0x38,0xB2,0x0F,0x6B,0x40,0x9A,0x46,0x32, -0x6C,0xEA,0x01,0x72,0x0A,0x61,0x80,0x18,0xC0,0x28,0x00,0x65,0x06,0x22,0x80,0x6A, -0x4D,0xE9,0x39,0xB2,0x4C,0xE8,0x39,0xB2,0x4C,0xE8,0xC0,0xF5,0x02,0x32,0x01,0x6B, -0x6C,0xEA,0x0C,0x22,0x2D,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA, -0x01,0x72,0x04,0x61,0x2B,0xB2,0x4C,0xE8,0x2B,0xB2,0x4C,0xE8,0x04,0x6A,0x2C,0xEA, -0x08,0x2A,0x2D,0xB2,0x4C,0xE8,0x2D,0xB2,0x4C,0xE8,0x26,0xB2,0x4C,0xE8,0x26,0xB2, -0x4C,0xE8,0x2C,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0C,0x2A,0x1F,0xB2,0x03,0x6B, -0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x61,0x1F,0xB2,0x4D,0xE8, -0x1F,0xB2,0x4D,0xE8,0x24,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x03,0x2A,0x00,0x18, -0xBB,0x30,0x00,0x6C,0x12,0xB2,0x00,0xDA,0x05,0x6A,0x10,0x94,0x04,0xD2,0x0C,0x0A, -0x05,0xD2,0x0E,0x93,0x0F,0x92,0x0A,0xD4,0xFA,0x6D,0x04,0x6C,0x21,0xF3,0x1F,0x6E, -0xA1,0xF1,0x1A,0x6F,0x06,0xD1,0x09,0xD0,0x07,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD3, -0x18,0x97,0x17,0x91,0x16,0x90,0x00,0xEF,0x0D,0x63,0x00,0x00,0x41,0x00,0x00,0x00, -0xDC,0x00,0x11,0x80,0x44,0xA0,0x00,0xB0,0x40,0x60,0x00,0xB0,0x40,0xA0,0x00,0xB0, -0x50,0xA0,0x00,0xB0,0x00,0x00,0x80,0x00,0x6C,0x1D,0x11,0x80,0x00,0x00,0x40,0x00, -0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xBF,0xFF,0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00, -0x17,0x00,0x11,0x80,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0x00,0x00,0xA0,0x00, -0x00,0x00,0xC0,0x00,0x00,0x00,0x30,0x00,0x01,0x6D,0xA4,0xEC,0x07,0xB2,0x06,0xB4, -0x60,0x9C,0x40,0x9A,0x6E,0xEA,0xAC,0xEA,0x02,0x2A,0xAE,0xEB,0x60,0xDC,0x20,0xE8, -0x00,0x65,0x00,0x00,0x3C,0x60,0x00,0xB0,0x50,0x60,0x00,0xB0,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0x6A,0xB2,0x01,0x6F,0x20,0x9A,0x2A,0x65,0x36,0x36,0xEC,0xEE, -0x0B,0x2E,0x68,0xB4,0x03,0x6B,0x6B,0xEB,0x40,0x9C,0x6C,0xEA,0x40,0xDC,0x66,0xB4, -0x02,0x6B,0x40,0x9C,0x6D,0xEA,0x40,0xDC,0x64,0xB2,0x00,0x6B,0x0A,0xD3,0xA3,0x67, -0x60,0x9A,0x63,0xB2,0x40,0x9A,0x0A,0x65,0x62,0xB2,0x00,0x9A,0x51,0x67,0xEC,0xEA, -0x10,0x22,0x80,0xF7,0x62,0x32,0x88,0x67,0x8E,0xEA,0xEC,0xEA,0x01,0x5A,0xA7,0x67, -0x08,0x60,0x5D,0xB2,0x03,0x6D,0x4D,0xE8,0x03,0x2E,0x5C,0xB2,0x07,0x6D,0x4D,0xE8, -0x0A,0xD7,0x29,0x67,0xC0,0x99,0x01,0x6C,0xD6,0x32,0x8C,0xEA,0x1E,0x22,0x08,0x6A, -0x4D,0xED,0x02,0x32,0x52,0x32,0x8C,0xEA,0xFF,0xF7,0x1F,0x6F,0x16,0x22,0x28,0x67, -0x26,0x32,0x40,0xF7,0x62,0x33,0x4E,0xEB,0x8C,0xEB,0x83,0xEB,0x0E,0x60,0x10,0x6A, -0x4D,0xED,0x4E,0xB2,0xEC,0xED,0x4D,0xE8,0x46,0x67,0x8C,0xEA,0x05,0x2A,0x4A,0xB2, -0x4D,0xE8,0x20,0x6A,0x4D,0xED,0xEC,0xED,0x0A,0xD4,0x68,0x67,0x6A,0x32,0x01,0x6E, -0xCC,0xEA,0x16,0x22,0x40,0x6A,0x29,0x67,0x4D,0xED,0x80,0x99,0x44,0xB2,0x03,0x6B, -0x4D,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0xCA,0xEA,0x03,0x60,0x96,0x32,0xCC,0xEA, -0x07,0x2A,0x80,0x6A,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0x3D,0xB2,0x4D,0xE8, -0x02,0x6A,0xAC,0xEA,0x08,0x2A,0x3C,0xB2,0x4C,0xE8,0x3C,0xB2,0x4C,0xE8,0x3C,0xB2, -0x4C,0xE8,0x3C,0xB2,0x4C,0xE8,0x3C,0xB2,0x0C,0xEA,0x07,0x22,0x36,0xB2,0x01,0x6B, -0x4C,0xE8,0x36,0xB2,0x4C,0xE8,0x39,0xB2,0x60,0xC2,0x29,0xB3,0x03,0x69,0x40,0x9B, -0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x31,0xB2,0x4C,0xE8,0x2E,0xB2, -0x4C,0xE8,0x33,0xB2,0x88,0x67,0x06,0xD5,0x07,0xD4,0xFA,0x6D,0x04,0x6C,0x01,0xF4, -0x00,0x6E,0xA1,0xF1,0x19,0x6F,0x04,0xD1,0x05,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD0, -0x0A,0x92,0x12,0x22,0x2B,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0B,0x2A,0x18,0xB3, -0x40,0x9B,0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x1C,0xB2,0x4D,0xE8, -0x1C,0xB2,0x4D,0xE8,0x17,0xB2,0x00,0xDA,0x23,0xB2,0x01,0x6C,0xA0,0x9A,0xBE,0x32, -0x8C,0xEA,0x17,0x22,0x40,0xF5,0x02,0x32,0x8C,0xEA,0x07,0x22,0x1B,0xB2,0x00,0x6B, -0x80,0xC2,0x1E,0xB2,0x60,0xC2,0x1E,0xB2,0x60,0xC2,0xA2,0x32,0x8C,0xEA,0x05,0x22, -0x00,0x18,0xA5,0x23,0x00,0x65,0x19,0xB3,0x40,0xC3,0x14,0xB2,0x00,0x18,0x04,0x24, -0x80,0xA2,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x6C,0x1D,0x11,0x80, -0x30,0x60,0x00,0xB0,0x34,0x60,0x00,0xB0,0x44,0xA0,0x00,0xB0,0x50,0x60,0x00,0xB0, -0x40,0xA0,0x00,0xB0,0x00,0x00,0x80,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0x00, -0x00,0x00,0x10,0x00,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x7F,0xFF, -0xFF,0xFF,0xBF,0xFF,0x00,0x00,0x30,0x00,0x17,0x00,0x11,0x80,0xFC,0xA5,0x10,0x80, -0x00,0x00,0xC0,0x00,0x54,0x45,0x11,0x80,0x16,0x00,0x11,0x80,0x18,0x00,0x11,0x80, -0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x34,0xB2,0x00,0x6E,0x01,0x6B,0x20,0x6C, -0xFF,0xF7,0x1F,0x6D,0x0A,0x65,0xE6,0x67,0x06,0x67,0x4B,0x65,0x2C,0x65,0x6D,0x65, -0x2D,0xB1,0xC8,0x32,0x15,0xE1,0x10,0x27,0x68,0x67,0x69,0xE2,0x80,0x9A,0x6A,0x67, -0x64,0xEF,0x86,0xEF,0x80,0xDD,0x41,0x9A,0xFF,0x4B,0x29,0x67,0x6C,0xEA,0xEF,0xE1, -0x44,0xEB,0x4D,0xEC,0x80,0xDD,0x04,0x10,0x68,0x67,0x69,0xE2,0x40,0x9A,0x40,0xDD, -0x01,0x4E,0xFF,0x69,0x2C,0xEE,0x10,0x76,0x11,0x61,0x88,0x67,0x1E,0xB5,0x01,0x4F, -0x60,0x9C,0x2C,0xEF,0x4A,0x67,0x44,0xEF,0x11,0xE5,0xFF,0x4A,0xA9,0x67,0x4C,0xEB, -0xEB,0xE5,0x64,0xEA,0x40,0x9C,0x00,0x6E,0x6D,0xEA,0x40,0xDC,0x04,0x48,0x4B,0x67, -0x4C,0xE8,0x00,0xF4,0x01,0x58,0xCC,0x61,0x13,0xB4,0xFF,0x6E,0x55,0x6D,0x00,0xF4, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0F,0xB4,0xFF,0x6E,0x00,0x6D,0x00,0xF5, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0B,0xB4,0xFF,0x6E,0xB1,0x67,0x00,0xF6, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x07,0xB4,0xFF,0x6E,0x0F,0x6D,0x00,0xF7, -0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF, -0x04,0x63,0x00,0x00,0x00,0xF8,0x10,0x80,0xDC,0xF4,0x04,0x80,0xFD,0x63,0x05,0x62, -0x04,0xD0,0x11,0xB2,0x00,0x68,0xEE,0x6C,0x00,0xDA,0x10,0xB2,0x07,0x6D,0x00,0xDA, -0x00,0x18,0x9A,0x33,0x00,0x65,0x0E,0xB4,0x4A,0xF5,0x16,0x6B,0x6B,0xEB,0xFF,0xF7, -0x1F,0x6A,0x01,0x48,0x4C,0xE8,0x00,0xF4,0x00,0x58,0x60,0xCC,0xFA,0x61,0x07,0xB2, -0x03,0x6B,0x05,0x97,0x60,0xDA,0x04,0x90,0x03,0xB2,0x01,0x6B,0x60,0xDA,0x00,0xEF, -0x03,0x63,0x00,0x00,0x10,0xA3,0x00,0xB0,0x20,0xA3,0x00,0xB0,0xF0,0x00,0x00,0xB6, -0xFD,0x63,0x04,0x62,0x17,0xB3,0x16,0xB2,0x80,0x18,0x53,0x2A,0x60,0xDA,0x16,0xB3, -0x16,0xB2,0x21,0xB4,0x04,0x97,0x52,0xDB,0x15,0xB2,0x55,0xDB,0x15,0xB2,0x49,0xDB, -0x15,0xB2,0x4C,0xDB,0x15,0xB2,0x4F,0xDB,0x15,0xB2,0x46,0xDB,0x15,0xB2,0x5B,0xDB, -0x15,0xB2,0x40,0xDB,0x15,0xB2,0x58,0xDB,0x16,0xB3,0x15,0xB2,0x60,0xDA,0xC0,0xF0, -0x50,0x9C,0x40,0x6B,0x6D,0xEA,0xC0,0xF0,0x50,0xDC,0x14,0xB3,0x49,0x9C,0x6D,0xEA, -0x13,0xB3,0x6D,0xEA,0x49,0xDC,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0x2C,0x11,0x80, -0xB9,0xAD,0x10,0x80,0xB8,0x95,0x11,0x80,0x45,0xD4,0x10,0x80,0xB9,0xAF,0x10,0x80, -0x4D,0xB0,0x10,0x80,0x51,0xB1,0x10,0x80,0x95,0xD0,0x10,0x80,0x01,0xD1,0x10,0x80, -0x01,0xC8,0x10,0x80,0x0D,0xD0,0x10,0x80,0x35,0xC9,0x10,0x80,0x3C,0x1C,0x11,0x80, -0x61,0xA2,0x10,0x80,0xDC,0x00,0x11,0x80,0x00,0x00,0x00,0x01,0x00,0x00,0x80,0x00, -0xF6,0x63,0x12,0x62,0x11,0xD1,0x10,0xD0,0x14,0xD4,0x16,0xD6,0x80,0xAC,0xFF,0xF7, -0x1F,0x6B,0x8C,0xEB,0x7F,0xF4,0x08,0x73,0x47,0x60,0x7F,0xF4,0x08,0x6A,0x62,0xEA, -0x0E,0x61,0x3F,0xF4,0x00,0x73,0x35,0x60,0x3F,0xF4,0x00,0x6A,0x42,0xEB,0x20,0xF1, -0x04,0x61,0x7F,0xF4,0x06,0x6A,0x42,0xEB,0x00,0xF1,0x1F,0x61,0x0F,0x10,0x7F,0xF4, -0x0A,0x73,0x5C,0x60,0x7F,0xF4,0x0A,0x6A,0x42,0xEB,0x34,0x61,0x5F,0xF5,0x00,0x73, -0x5E,0x60,0x5F,0xF5,0x03,0x73,0x00,0xF1,0x02,0x60,0x0F,0x11,0xFF,0xF7,0x1F,0x6A, -0x8C,0xEA,0x7F,0xF4,0x06,0x72,0x03,0x61,0x88,0xB2,0x00,0x6B,0x60,0xDA,0x88,0xB2, -0x0F,0x6B,0x40,0x9A,0x46,0x32,0x6C,0xEA,0x03,0x72,0x04,0x61,0x85,0xB2,0x60,0x9A, -0x85,0xB2,0x60,0xDA,0x86,0xB3,0x85,0xB2,0x60,0xDA,0x87,0xB3,0x85,0xB2,0x60,0xDA, -0xFF,0x17,0x7E,0xB2,0x85,0xB3,0x40,0x9A,0x6E,0xEA,0xE0,0xF0,0x0E,0x2A,0x14,0x92, -0x63,0xA2,0x83,0xB2,0x60,0xC2,0xE1,0x10,0x14,0x94,0x82,0xB2,0x63,0xA4,0x80,0xF1, -0x61,0xC2,0xDB,0x10,0x14,0x93,0x80,0xB1,0xFF,0xF7,0x1F,0x6C,0x43,0xA3,0x44,0x33, -0x4D,0xE3,0x6C,0x33,0x4D,0xE3,0x40,0x99,0x68,0x30,0x8C,0xE8,0x4F,0xEA,0x03,0x22, -0x00,0x18,0xFD,0x1D,0x91,0x67,0x0F,0x20,0x00,0x18,0x40,0xA4,0x00,0x65,0x77,0xB6, -0x00,0x6A,0x01,0x6C,0xB1,0x67,0xE2,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD2,0x80,0x99, -0x00,0x18,0x0C,0x1E,0xB0,0x67,0x72,0xB2,0x00,0xCA,0xB7,0x10,0x14,0x93,0x00,0x6E, -0x43,0xA3,0x01,0x22,0x01,0x6E,0x6B,0xB2,0x80,0xF1,0xD1,0xC2,0xAE,0x10,0x14,0x94, -0x14,0x93,0x61,0xF3,0x06,0x6D,0x85,0xA4,0x0E,0xD4,0x48,0xA3,0x27,0xA3,0xFF,0xF7, -0x1F,0x6C,0x40,0x32,0x4D,0xE9,0x00,0x6A,0x45,0xC3,0x4A,0xC3,0x8C,0xE9,0x00,0x18, -0x9A,0x33,0x22,0x6C,0x5F,0xB0,0xF3,0x6A,0xFF,0xF7,0x1F,0x6B,0x20,0xF0,0xBF,0xA0, -0x24,0x6C,0xA0,0x35,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6C,0xED,0x40,0xF0,0x41,0xA0, -0x40,0xF0,0xA0,0xA0,0x26,0x6C,0x40,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18, -0x9A,0x33,0x4C,0xED,0xEB,0xF0,0x12,0x6D,0x00,0x18,0x9A,0x33,0x28,0x6C,0x93,0xF7, -0x1A,0x6D,0x00,0x18,0x9A,0x33,0x2A,0x6C,0x00,0x18,0xEE,0x33,0x01,0x6C,0x7D,0x21, -0xFF,0xF7,0x1F,0x6B,0x51,0x67,0x6C,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4, -0x00,0x6A,0xFF,0xF7,0x1F,0x69,0x4C,0xE9,0x0E,0x92,0xFF,0x6C,0xFF,0x4A,0x8C,0xEA, -0x04,0x5A,0x28,0x61,0x47,0xB0,0x00,0x6A,0x7D,0x67,0x06,0xD2,0x0C,0xCB,0xE0,0xF7, -0x1F,0x6A,0x4C,0xE9,0x44,0xB3,0x06,0x92,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA, -0x8D,0xEA,0x06,0xD2,0x00,0x6C,0x41,0xB2,0x04,0xD4,0x05,0xD4,0x9D,0x67,0x18,0x4C, -0xC5,0x67,0x00,0x6F,0x07,0xD2,0x3F,0x10,0xE0,0xF7,0x1F,0x6A,0x8C,0xEA,0x88,0x67, -0x80,0xF4,0x40,0x32,0x8C,0xEB,0x4D,0xEB,0x38,0xB2,0xFF,0x6D,0xEC,0xED,0x60,0xDE, -0x41,0xDE,0x2B,0x10,0x0E,0x92,0x00,0x6D,0x91,0x67,0x40,0x33,0x34,0xB2,0x25,0x67, -0x41,0xE3,0x7D,0x67,0x18,0x4B,0x30,0xB2,0x8B,0x65,0x32,0xB3,0x0A,0x65,0xFF,0xF7, -0x1F,0x6A,0x6B,0x65,0xFF,0x6B,0x4A,0x65,0x2B,0x65,0x6C,0x67,0xAC,0x32,0x79,0xE2, -0x20,0xDE,0x00,0xF1,0x01,0x5C,0x00,0xCE,0x21,0xDE,0x60,0x9E,0xE1,0x45,0xD4,0x61, -0x48,0x67,0x6C,0xEA,0xA9,0x67,0x6B,0x67,0x6D,0xEA,0x80,0x4C,0xEC,0xED,0x40,0xDE, -0x80,0x4C,0x4A,0x67,0x04,0x5D,0x4C,0xEC,0xE8,0x61,0x00,0x6F,0x9D,0x67,0x04,0xD7, -0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65,0x0E,0x10,0x02,0x6C, -0x01,0x6D,0x00,0x18,0x1C,0x80,0x00,0x6E,0x08,0x10,0x14,0x93,0x16,0x92,0x80,0xAB, -0x00,0x18,0xFA,0x8B,0xA0,0xA2,0x01,0x6A,0x01,0x10,0x00,0x6A,0x12,0x97,0x11,0x91, -0x10,0x90,0x00,0xEF,0x0A,0x63,0x00,0x00,0x38,0x91,0x10,0x80,0x6C,0x1D,0x11,0x80, -0x2C,0x00,0x00,0xB5,0x48,0x91,0x10,0x80,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23, -0x78,0xA0,0x00,0xB0,0x01,0x00,0xA5,0x01,0xAE,0x23,0x87,0x54,0xD0,0x00,0x11,0x80, -0xDC,0x00,0x11,0x80,0x88,0x07,0x11,0x80,0x01,0x91,0x02,0x80,0x14,0xA1,0x11,0x80, -0x00,0xF8,0x10,0x80,0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80, -0x00,0x00,0x00,0x04,0x03,0xB2,0x00,0x6B,0x60,0xDA,0x20,0xE8,0x00,0x65,0x00,0x00, -0x04,0x60,0x00,0xB0,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x40,0xAC,0x01,0xF4, -0x03,0x72,0x2C,0x61,0x80,0x18,0x53,0x2A,0x00,0x69,0x80,0x18,0x45,0x2B,0x00,0x65, -0x16,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x60,0xCA,0x15,0xB2,0x91,0x67,0x20,0xDA, -0x14,0xB2,0x20,0x18,0x83,0x39,0x20,0xDA,0x14,0xB2,0x15,0xB0,0xB1,0x67,0x80,0xF1, -0x62,0xA2,0x90,0x67,0x30,0x6E,0x68,0x32,0x69,0xE2,0x0F,0xB3,0x44,0x32,0x00,0x18, -0x64,0x2E,0x40,0xCB,0x01,0x6A,0x4B,0xEA,0x47,0xD8,0x0E,0xB3,0x40,0x98,0x0E,0xB4, -0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x00,0x18,0x64,0x2E,0x0C,0x6E,0x06,0x97,0x05,0x91, -0x04,0x90,0x00,0x6A,0x00,0xEF,0x04,0x63,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80, -0x20,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0xDC,0x00,0x11,0x80,0xD8,0xA0,0x11,0x80, -0x00,0x00,0x00,0x70,0x08,0xA1,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0, -0xFF,0xF7,0x1F,0x6A,0xCC,0xEA,0x02,0x74,0x0A,0xD4,0x0B,0xD5,0x0D,0xD7,0x04,0xD2, -0x0D,0x61,0x33,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72, -0x05,0x61,0x30,0xB3,0x40,0x9B,0xC0,0xF7,0x42,0x32,0xFC,0x2A,0x0A,0x93,0x04,0x73, -0x3A,0x61,0x0B,0x95,0xFF,0x6C,0x44,0x67,0x60,0xA5,0x6C,0xEA,0x10,0x72,0x0A,0x61, -0x42,0xA5,0x8C,0xEA,0x02,0x72,0x06,0x61,0x27,0xB2,0x00,0x18,0xE0,0x1D,0x81,0x9A, -0x00,0x6A,0x3E,0x10,0xFF,0x6A,0x6C,0xEA,0x02,0x72,0x01,0x6D,0x04,0x60,0x22,0x72, -0x02,0x60,0x2F,0x72,0x20,0x61,0xFF,0x6C,0x44,0x67,0x6C,0xEA,0x2F,0x72,0x01,0x6A, -0x03,0x60,0x0B,0x93,0x42,0xA3,0x8C,0xEA,0xFF,0x6E,0x6F,0x42,0xCC,0xEB,0xCA,0xEB, -0x12,0x60,0xE6,0x67,0x01,0x68,0x0B,0x92,0x06,0x4D,0xCC,0xED,0xB1,0xE2,0x42,0xA4, -0xCC,0xEA,0x03,0x5A,0x01,0x61,0x02,0xC4,0xFF,0x4B,0xEC,0xEB,0xFF,0x6E,0x08,0x4D, -0xCA,0xEB,0xEC,0xED,0xF0,0x61,0x00,0x1C,0xDD,0x31,0x00,0x65,0x0F,0xB1,0x02,0x67, -0x40,0xA1,0x05,0x22,0x00,0x18,0x43,0x30,0x00,0x65,0x00,0x6A,0x40,0xC1,0x00,0x1C, -0xE5,0x31,0x90,0x67,0x0A,0x94,0x0B,0x95,0x04,0x96,0x00,0x18,0xCA,0x1E,0x0D,0x97, -0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0x6C,0x1D,0x11,0x80, -0x1C,0xA3,0x00,0xB0,0x9C,0x31,0x11,0x80,0x17,0x00,0x11,0x80,0xFD,0x63,0x04,0x62, -0x09,0xB2,0x0F,0x6B,0x40,0x9A,0x46,0x32,0x6C,0xEA,0x01,0x72,0x07,0x61,0x80,0x18, -0xC0,0x28,0x00,0x65,0x03,0x22,0x00,0x18,0xA2,0x31,0x00,0x65,0x04,0x97,0x00,0xEF, -0x03,0x63,0x00,0x00,0x6C,0x1D,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0, -0xFF,0xF7,0x1F,0x69,0x8C,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32, -0x18,0xB3,0x2B,0xE2,0x48,0x32,0x61,0xE2,0x5C,0x98,0x4F,0xEA,0x05,0x22,0x01,0x6A, -0x00,0x6B,0x20,0xF2,0x5E,0xC0,0x1E,0x10,0x00,0x18,0x41,0x5E,0x91,0x67,0x04,0xD2, -0x0C,0x6B,0x18,0x2A,0x5F,0x98,0x41,0xA2,0x44,0x72,0x14,0x60,0x00,0x18,0xA5,0x5E, -0x91,0x67,0x06,0x22,0x00,0x18,0x69,0x5E,0x91,0x67,0x1F,0x6B,0x0B,0x22,0x05,0x10, -0x00,0x18,0x80,0x49,0x91,0x67,0x62,0x67,0x05,0x10,0x91,0x67,0x20,0x18,0x13,0x26, -0x0E,0x6D,0x04,0x93,0x08,0x97,0x07,0x91,0x06,0x90,0x43,0x67,0x00,0xEF,0x05,0x63, -0x48,0x60,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x03,0x44,0x90,0x67, -0x00,0x18,0xF2,0x5A,0x0B,0xD5,0x22,0x67,0x1A,0x65,0x1E,0x2A,0xBD,0x67,0x90,0x67, -0x00,0x18,0x07,0xDF,0x10,0x4D,0x7D,0x67,0x48,0xAB,0x0B,0x93,0xFF,0xF7,0x1F,0x6D, -0x40,0xCB,0x65,0x67,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x09,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF2,0x3E,0xC2,0x5D,0x67,0x88,0xAA, -0x80,0x18,0xB6,0x2B,0xAC,0xEC,0x1A,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x58,0x67, -0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0, -0x20,0xB0,0x00,0x6A,0x04,0xD2,0x40,0x98,0x01,0x69,0xC0,0xF6,0x42,0x32,0x2C,0xEA, -0x09,0x22,0x00,0x18,0x4F,0x9A,0x06,0xD4,0x04,0xD1,0x40,0x98,0x1A,0xB3,0x6C,0xEA, -0x40,0xD8,0x06,0x94,0x44,0xAC,0xFF,0xF7,0x1F,0x6B,0x06,0x72,0x19,0x61,0x40,0x9C, -0x17,0x2A,0x45,0xAC,0x6C,0xEA,0x17,0x2A,0x41,0x9C,0x82,0x67,0x42,0x32,0x42,0x32, -0x6C,0xEA,0x01,0xF0,0x0B,0x72,0x6C,0xEC,0x04,0x61,0x80,0x18,0xB6,0x2B,0x00,0x65, -0x0A,0x10,0x01,0xF0,0x05,0x72,0x07,0x61,0x00,0x18,0x2C,0x48,0x00,0x65,0x03,0x10, -0x00,0x18,0x74,0x56,0x00,0x65,0x04,0x92,0x05,0x22,0x06,0xB2,0x07,0xB4,0x60,0x9A, -0x8D,0xEB,0x60,0xDA,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00, -0x54,0x45,0x11,0x80,0xFF,0xFF,0xFF,0xF7,0x00,0x00,0x00,0x08,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0x39,0xB2,0x03,0x6E,0x40,0x9A,0x42,0x32,0x4A,0x32,0xCC,0xEA, -0x01,0x72,0x61,0x61,0x44,0xAC,0xFF,0xF7,0x1F,0x69,0x07,0x72,0x11,0x61,0x60,0x9C, -0xFF,0x6E,0x40,0xA3,0x03,0x72,0x57,0x61,0x42,0xA3,0xCC,0xEA,0x54,0x2A,0x43,0xA3, -0x64,0xA3,0xCC,0xEA,0xCC,0xEB,0x60,0x33,0x6D,0xEA,0x2D,0xB3,0x40,0xCB,0x4B,0x10, -0x08,0x72,0x49,0x61,0xA0,0x9C,0x60,0x9D,0x62,0x32,0x5A,0x32,0xCC,0xEA,0x2C,0x22, -0xE1,0xF7,0x1F,0x6A,0x4C,0xEB,0x1C,0x73,0x27,0x61,0x26,0xB2,0x00,0x18,0xE0,0x1D, -0x83,0x9A,0x00,0x18,0x6A,0x1E,0x00,0x65,0x23,0xB2,0x60,0xF1,0x47,0xA2,0x18,0x2A, -0x22,0xB2,0x11,0x67,0xFF,0x6C,0x40,0xAA,0x1F,0x4C,0x4C,0xE8,0xFF,0xF7,0x0F,0x6A, -0x4C,0xE8,0x00,0x18,0x9A,0x33,0xB0,0x67,0x00,0x18,0xE2,0xBF,0x00,0x65,0x10,0x6A, -0x4D,0xE8,0xB0,0x67,0xFF,0x6C,0x1F,0x4C,0x00,0x18,0x9A,0x33,0x2C,0xED,0x1E,0x10, -0x00,0x18,0xF7,0x4F,0x33,0x6C,0x1A,0x10,0x66,0x6A,0x7D,0x67,0x50,0xCB,0x14,0xB2, -0xFD,0x67,0x06,0xD5,0x80,0x9A,0x00,0x6D,0x04,0x06,0x24,0x4F,0xA9,0xE7,0x40,0xA2, -0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18, -0x40,0x1E,0x08,0x97,0x03,0x10,0x00,0x18,0x64,0x8B,0x00,0x65,0x0E,0x97,0x0D,0x91, -0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x6C,0x1D,0x11,0x80,0x18,0xA1,0x11,0x80, -0x9C,0x31,0x11,0x80,0x48,0x5C,0x11,0x80,0x1E,0x01,0x00,0xB6,0x84,0x21,0x11,0x80, -0xFD,0x63,0x04,0x62,0x17,0xB2,0x03,0x6B,0xC4,0x67,0x40,0x9A,0x42,0x32,0x4A,0x32, -0x6C,0xEA,0x01,0x72,0x1E,0x61,0x44,0xAC,0x66,0x72,0x1B,0x61,0xA0,0x9C,0xE1,0xF7, -0x1F,0x6A,0xFF,0xF7,0x1F,0x6B,0x80,0x9D,0x4C,0xEC,0x0F,0xB2,0x40,0xAA,0x6C,0xEA, -0x4E,0xEC,0x0F,0x2C,0x0D,0xB3,0x00,0x6A,0x00,0xF4,0x44,0xDD,0x40,0x9B,0x02,0x2A, -0xA0,0xDB,0x04,0x10,0x0A,0xB2,0x40,0x9A,0x00,0xF4,0xA4,0xDA,0x08,0xB2,0xA0,0xDA, -0x03,0x10,0x00,0x18,0x18,0x58,0x86,0x67,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00, -0x6C,0x1D,0x11,0x80,0x18,0xA1,0x11,0x80,0x1C,0xA1,0x11,0x80,0x20,0xA1,0x11,0x80, -0xFD,0x63,0x05,0x62,0x04,0xD0,0x0B,0xB0,0xE3,0xF7,0x1F,0x6B,0x7C,0x6C,0x40,0x98, -0x01,0x6D,0x56,0x32,0x6C,0xEA,0x69,0x98,0x58,0xEB,0x12,0xEA,0x00,0x18,0xEB,0x9F, -0x4A,0xD8,0x6B,0x98,0x05,0x97,0x4D,0xE3,0x6B,0xD8,0x04,0x90,0x00,0xEF,0x03,0x63, -0xD8,0xA0,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0x3B,0xB0,0xBD,0x67, -0x10,0x4D,0x90,0xA0,0x4F,0xA0,0x80,0x34,0x4D,0xEC,0x4E,0xA0,0x80,0x34,0x00,0x18, -0x3A,0xBA,0x4D,0xEC,0x7D,0x67,0x48,0xAB,0x8F,0xA0,0xFD,0x67,0x4C,0xCB,0x49,0xAB, -0x4D,0xCB,0x6A,0xAB,0x03,0x6A,0x4C,0xEB,0x4E,0xA0,0x48,0x32,0x4D,0xEB,0x80,0x32, -0x48,0x32,0x4D,0xEB,0x50,0xA0,0x6E,0xCF,0x70,0x80,0x48,0x32,0x9A,0x34,0x4D,0xEC, -0x00,0x53,0x8F,0xCF,0x05,0x60,0x09,0xF4,0x00,0x6A,0x8D,0xEA,0x4F,0xCF,0x06,0x10, -0x0A,0xF0,0x00,0x6A,0x4B,0xEA,0x8D,0xEA,0x7D,0x67,0x4F,0xCB,0x9D,0x67,0x10,0x4C, -0xFF,0xF7,0x1F,0x6F,0x0F,0x6A,0x00,0x6E,0x2C,0x65,0x0F,0x65,0x01,0x69,0x4A,0x65, -0x89,0x67,0xC4,0x30,0x89,0xE0,0x84,0xAA,0x00,0x6D,0xE8,0x67,0x65,0x67,0xEC,0xEC, -0x44,0x67,0x47,0xEB,0x2C,0xEA,0x07,0x22,0xEA,0x67,0x6B,0xE7,0xF1,0x67,0xE4,0xEA, -0xED,0xED,0x48,0x67,0x4C,0xED,0x01,0x4B,0xFF,0x6F,0xEC,0xEB,0x10,0x5B,0xF0,0x61, -0x01,0x4E,0x69,0x67,0xEC,0xEE,0x69,0xE0,0x04,0x5E,0xA4,0xCA,0xE1,0x61,0xFD,0x67, -0xCC,0xAF,0x51,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x5D,0x67,0xCD,0xAA,0x50,0x6C, -0x00,0x18,0x01,0xA0,0x01,0x6D,0x7D,0x67,0xCE,0xAB,0x4F,0x6C,0x00,0x18,0x01,0xA0, -0x01,0x6D,0xFD,0x67,0xCF,0xAF,0x4E,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x0A,0x97, -0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0xD8,0xA0,0x11,0x80,0xFB,0x63,0x08,0x62, -0x07,0xD1,0x06,0xD0,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6B, -0x04,0xD3,0x6C,0xEA,0xFF,0x6B,0x02,0x4B,0x6B,0xEB,0x6C,0xEA,0xFF,0x6B,0x01,0x4B, -0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x51,0xB1,0x52,0xB3, -0x07,0x68,0x41,0x99,0x51,0xB4,0x01,0x6D,0x4E,0x32,0x0C,0xEA,0x69,0xE2,0x60,0xA2, -0x40,0x99,0x0C,0xEB,0x40,0xF6,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x57,0x6C,0x00,0x18, -0xEB,0x9F,0x40,0xD9,0x04,0x93,0x57,0x6C,0x01,0x6D,0x4C,0xEB,0x71,0x6A,0x04,0xD3, -0x4B,0xEA,0x4C,0xEB,0x40,0x99,0xC3,0x67,0x40,0xF6,0x42,0x32,0x0C,0xEA,0x50,0x32, -0x00,0x18,0x01,0xA0,0x4D,0xEE,0x40,0x99,0x01,0x6B,0x03,0x67,0x6C,0xEA,0x06,0x22, -0x41,0x99,0x80,0x6B,0x6C,0xEA,0x01,0x5A,0x18,0x67,0x02,0x48,0x56,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x00,0x36,0x37,0xB0,0xFF,0xF7,0x1F,0x69,0x1C,0xF0,0x00,0x6B, -0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x60,0x98,0xE3,0xF7,0x1F,0x6C,0xD8,0x36,0x76,0x33, -0x8C,0xEB,0x6D,0xEE,0xFB,0xF7,0x1F,0x6B,0x6C,0xEE,0x4D,0xEE,0x56,0x6C,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x47,0xA0,0xC6,0xA0,0x58,0x6C,0x40,0x32,0x4D,0xEE,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xC8,0xA0,0x04,0x6B, -0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x03,0x6B,0x6C,0xEE,0x4D,0xEE,0x59,0x6C,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x80,0x18,0x7D,0x2C,0x00,0x65,0x40,0x98,0xC0,0xF7,0x42,0x32, -0x24,0x22,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x81,0x6B,0x2C,0xEA,0x6B,0xEB, -0x6C,0xEA,0xC2,0x67,0x80,0x6B,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D, -0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE9,0xE0,0xF1,0x1D,0x6A,0x4B,0xEA, -0x4C,0xE9,0x45,0xA0,0xFF,0x6B,0xD1,0x67,0x6C,0xEA,0x48,0x32,0xE0,0xF1,0x1C,0x6B, -0x6C,0xEA,0x59,0x6C,0x01,0x6D,0x4D,0xEE,0x0B,0x10,0x57,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x4C,0xE9,0x81,0x6A,0x4B,0xEA,0xD1,0x67,0x57,0x6C,0x01,0x6D,0x4C,0xEE, -0x00,0x18,0x01,0xA0,0x00,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63, -0xD8,0xA0,0x11,0x80,0x78,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xFB,0x63,0x08,0x62, -0x07,0xD1,0x06,0xD0,0x0F,0xB1,0xFF,0x68,0x8C,0xE8,0x47,0x99,0x4F,0xEA,0x04,0x22, -0x87,0x41,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x0E,0x20,0x0B,0xB6,0x00,0x68,0xA7,0x41, -0x01,0x6C,0x15,0x4D,0xF0,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD0,0x87,0x99,0x00,0x18, -0x0C,0x1E,0x14,0x6D,0x10,0xC9,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63, -0xD8,0xA0,0x11,0x80,0x85,0xB5,0x10,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0, -0x00,0x6C,0x02,0xF0,0x00,0x6E,0x00,0x18,0x01,0xA0,0xA4,0x67,0x2D,0xB2,0x3C,0x6C, -0x00,0x6D,0xC0,0x9A,0x7F,0x6A,0xFF,0xF7,0x1F,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE, -0xC4,0x36,0xFF,0x6A,0x01,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C, -0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x01,0xF6,0x01,0x69,0x2B,0xE9,0xC2,0x67, -0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x01,0xF6,0x00,0x6B,0xC2,0x67,0x6D,0xEE,0x57,0x6C, -0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA, -0x03,0x69,0x2B,0xE9,0xC2,0x67,0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D, -0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x02,0x6B,0xC2,0x67, -0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x4C,0xE8,0xD0,0x67,0x2C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0,0x57,0x6C, -0x80,0x18,0x1B,0x2D,0x01,0x6C,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63, -0xD8,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x1A,0xB2,0x06,0xD4,0x47,0x9A, -0x8E,0xEA,0x05,0x22,0x8F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x06,0x04,0x15,0xB0, -0x42,0x6B,0x41,0x98,0x6C,0xEA,0x6A,0xEA,0x08,0x60,0x47,0x98,0x4F,0xEA,0x1C,0x22, -0x87,0x40,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x17,0x10,0x7D,0x6C,0x00,0x18,0xEB,0x9F, -0x01,0x6D,0x02,0x6E,0x4C,0xEE,0x04,0x26,0x50,0xA8,0x01,0x4A,0x50,0xC8,0x0C,0x10, -0x86,0x67,0x00,0x18,0x01,0xA0,0xA6,0x67,0x49,0x98,0x01,0x4A,0x80,0x18,0x70,0x2C, -0x49,0xD8,0x80,0x18,0x2E,0x2D,0x00,0x65,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63, -0xD8,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x00,0x6C,0xC4,0x67,0x00,0x18, -0x01,0xA0,0xA4,0x67,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E, -0x4C,0xEE,0xFF,0x6A,0x04,0x4A,0x4B,0xEA,0x4C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0, -0x57,0x6C,0x0A,0xB0,0x41,0x6B,0x6B,0xEB,0x41,0x98,0x00,0x6C,0x6C,0xEA,0x80,0x18, -0x1B,0x2D,0x41,0xD8,0x80,0x18,0x70,0x2C,0x00,0x65,0x00,0x6A,0x49,0xC0,0x05,0x97, -0x04,0x90,0x00,0xEF,0x03,0x63,0x00,0x00,0xD8,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62, -0x80,0x18,0xBB,0x2C,0x00,0x65,0x0D,0xB3,0x00,0x6A,0x59,0x6C,0x4B,0xDB,0x49,0xDB, -0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x00,0xF2,0x01,0x6A, -0x4B,0xEA,0x59,0x6C,0x01,0x6D,0x00,0x18,0x01,0xA0,0x4C,0xEE,0x80,0x18,0x2E,0x2D, -0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0xD8,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62, -0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1, -0x01,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C, -0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x06,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C, -0x04,0x97,0x6C,0xEA,0x41,0xDC,0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x00,0x00, -0xD8,0xA0,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x80,0x18,0xBB,0x2C, -0x00,0x65,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x69,0x02,0xF0, -0x01,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x02,0xF0,0x00,0x68,0xC2,0x67,0x0D,0xEE, -0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D, -0x2C,0xEA,0x00,0xF2,0x01,0x6B,0x6B,0xEB,0xC2,0x67,0x6C,0xEE,0x59,0x6C,0x00,0x18, -0x01,0xA0,0x01,0x6D,0x00,0x6C,0xD0,0x67,0x00,0x18,0x01,0xA0,0xA4,0x67,0x28,0xB2, -0x03,0x6C,0x00,0x6D,0x00,0x9A,0x07,0x6A,0x00,0xF7,0x02,0x30,0x00,0x18,0xEB,0x9F, -0x4C,0xE8,0x2C,0xEA,0x1F,0xF4,0x01,0x6B,0x6B,0xEB,0x6C,0xEA,0x21,0xB3,0x05,0x48, -0x1F,0xF4,0x00,0x6C,0x61,0xE0,0x20,0xF1,0x7A,0xA0,0xC2,0x67,0x00,0x6D,0x60,0x33, -0x68,0x33,0x8C,0xEB,0x6D,0xEE,0x00,0x18,0x01,0xA0,0x03,0x6C,0x18,0xB3,0x7F,0x6A, -0x3C,0x6C,0xC0,0x9B,0x00,0x6D,0x01,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE,0xC4,0x36, -0xFF,0x6A,0x06,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0xC2,0x67,0x0D,0xEE, -0xB0,0x67,0x00,0x18,0x01,0xA0,0x57,0x6C,0xB0,0x67,0x00,0x18,0xEB,0x9F,0x57,0x6C, -0x02,0x6E,0x4C,0xE9,0xCB,0xEE,0xB0,0x67,0x2C,0xEE,0x00,0x18,0x01,0xA0,0x57,0x6C, -0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x00,0x00,0xD8,0xA0,0x11,0x80, -0xDC,0x00,0x11,0x80,0xFD,0x63,0x04,0x62,0x7F,0xF7,0x0F,0x6D,0x00,0x18,0x5D,0xBA, -0x5E,0x6C,0x0E,0xB2,0xFF,0xF6,0x1F,0x6D,0x00,0x18,0x5D,0xBA,0x81,0xA2,0xFF,0x6D, -0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33, -0x00,0x6D,0x07,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C,0x04,0x97,0x6C,0xEA,0x41,0xDC, -0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x30,0xF4,0x04,0x80,0xD8,0xA0,0x11,0x80, -0xF7,0x63,0x10,0x62,0x0F,0xD1,0x0E,0xD0,0x72,0xB5,0x73,0xB3,0x07,0x6C,0xC0,0x9D, -0xFF,0xF7,0x1F,0x6F,0xC0,0x32,0x58,0x32,0x80,0xF5,0x42,0x31,0x41,0x9D,0x4E,0x32, -0x8C,0xEA,0x69,0xE2,0x60,0xA2,0x6D,0xB2,0x8C,0xEB,0x40,0xF6,0x60,0x33,0xCC,0xEA, -0x6D,0xEA,0x40,0xF6,0x42,0x33,0x40,0xDD,0xFF,0x6E,0x8C,0xEB,0x61,0x21,0x51,0x67, -0xEC,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4,0x00,0x6A,0x27,0x67,0x4C,0xE9, -0x4F,0x43,0xCC,0xEA,0x04,0x5A,0x23,0x61,0x61,0xB0,0x00,0x6F,0x5D,0x67,0x06,0xD7, -0x0C,0xCA,0x06,0x92,0x5F,0xB3,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA,0x8D,0xEA, -0x06,0xD2,0x5D,0xB2,0x9D,0x67,0x18,0x4C,0xC5,0x67,0x07,0xD2,0x04,0xD7,0x05,0xD7, -0x3C,0x10,0xE0,0xF7,0x1F,0x6A,0x4C,0xEB,0x49,0x67,0x80,0xF4,0x60,0x33,0xCC,0xEA, -0x6D,0xEA,0x40,0xDC,0x54,0xB2,0xFF,0x6D,0xEC,0xED,0x41,0xDC,0x28,0x10,0x53,0xB2, -0x60,0x33,0x00,0x6D,0x41,0xE3,0x5D,0x67,0x18,0x4A,0xAA,0x65,0x4D,0xB2,0x71,0x67, -0x0D,0x65,0x2A,0x65,0x4E,0xB2,0x6F,0x65,0x4E,0x65,0x8A,0x65,0xAC,0x32,0xCD,0x67, -0xD1,0xE2,0x48,0x67,0x40,0xDC,0x00,0xF1,0x01,0x5B,0x00,0xCC,0x41,0xDC,0xC0,0x9C, -0xE1,0x45,0xD7,0x61,0x49,0x67,0xCC,0xEA,0xAC,0x67,0xAD,0xEA,0xAA,0x67,0x80,0x4B, -0xEC,0xED,0x80,0x4B,0xCB,0x67,0x04,0x5D,0x40,0xDC,0xCC,0xEB,0xE7,0x61,0x00,0x6F, -0x9D,0x67,0x04,0xD7,0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65, -0x34,0xB2,0xC4,0x6C,0xA0,0x9A,0x7F,0x6A,0x80,0xF4,0xA2,0x35,0x4C,0xED,0xA0,0x32, -0x00,0x18,0x9A,0x33,0x4D,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x60,0x6D,0x35,0xB2, -0x35,0xB0,0x2C,0xB3,0x81,0xA2,0x01,0xF4,0x00,0x6D,0x09,0xE4,0x40,0xAA,0x4C,0xED, -0x40,0x9B,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x40,0x32,0x50,0x32,0x4D,0xED,0x00,0x18, -0x9A,0x33,0x2D,0xED,0x2D,0xB2,0x23,0xB6,0xEE,0xF1,0x1F,0x6D,0x21,0xA2,0x60,0x9E, -0x01,0xE1,0x40,0xA8,0x07,0x68,0x91,0x67,0x4C,0xED,0x01,0x6A,0x6C,0xEA,0x00,0xF7, -0x62,0x33,0x0C,0xEB,0x40,0x32,0x5C,0x32,0x60,0x33,0x64,0x33,0x4D,0xED,0x00,0x18, -0x9A,0x33,0x6D,0xED,0x17,0xB2,0x01,0x6C,0xA0,0x9A,0x00,0xF7,0xA2,0x35,0x00,0x18, -0x68,0x91,0x0C,0xED,0x13,0xB3,0x01,0x6C,0xA0,0x9B,0x00,0xF7,0xA2,0x35,0x00,0x18, -0x82,0x91,0x0C,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x90,0x6D,0xFF,0x6D,0x91,0x67, -0x00,0x18,0x78,0xBA,0x01,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x03,0x6D, -0xFF,0x6D,0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFE,0xF7,0x1F,0x6D,0x00,0x18, -0x5D,0xBA,0x5E,0x6C,0x10,0x97,0x0F,0x91,0x0E,0x90,0x00,0xEF,0x09,0x63,0x00,0x00, -0xD8,0xA0,0x11,0x80,0x80,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0x00,0xF8,0x10,0x80, -0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80,0x00,0x00,0x00,0x04, -0x38,0xF4,0x04,0x80,0x00,0x00,0x00,0xB6,0x30,0xF4,0x04,0x80,0xE0,0x63,0x3F,0x62, -0x3E,0xD0,0x0F,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x00,0x68, -0x7D,0x67,0x04,0xF0,0x1F,0x6A,0x9D,0x67,0x12,0xC3,0x48,0xCB,0x00,0x18,0xEC,0xC6, -0x10,0x4C,0x08,0xB4,0x04,0x63,0x41,0x6B,0x41,0x9C,0x09,0xC4,0x3F,0x97,0x3E,0x90, -0x6B,0xEB,0x6C,0xEA,0x41,0xDC,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80, -0xD8,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x18,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18, -0x64,0x2E,0x08,0x6E,0x16,0xB5,0x17,0xB3,0x07,0x6E,0x41,0x9D,0x16,0xB4,0x4E,0x32, -0xCC,0xEA,0x69,0xE2,0x40,0xA2,0x60,0x9D,0xCC,0xEA,0x40,0xF6,0x40,0x32,0x8C,0xEB, -0x4D,0xEB,0x9D,0x67,0x04,0xF0,0x1E,0x6A,0x60,0xDD,0x48,0xCC,0x03,0x6A,0x52,0xC4, -0x80,0xF4,0x62,0x32,0x7F,0x6C,0x8C,0xEA,0x9D,0x67,0x53,0xC4,0x62,0x32,0x40,0xF6, -0x62,0x33,0xCC,0xEB,0x75,0xC4,0x54,0xC4,0x00,0x18,0xAA,0xC6,0x10,0x4C,0x04,0x63, -0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xD8,0xA0,0x11,0x80, -0x70,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xE0,0x63,0x3E,0x62,0x3D,0xD1,0x3C,0xD0, -0x11,0xB4,0xFB,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x7D,0x67,0x04,0xF0, -0x1F,0x6A,0x48,0xCB,0x0D,0xB2,0x0E,0xB0,0x00,0x69,0xA1,0xF1,0x48,0xAA,0x9D,0x67, -0x32,0xC3,0x49,0xD8,0x00,0x18,0xEC,0xC6,0x10,0x4C,0x41,0x98,0x41,0x6B,0x6B,0xEB, -0x05,0x63,0x6C,0xEA,0x29,0xC0,0x41,0xD8,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x00,0xEF, -0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0x58,0x46,0x11,0x80,0xD8,0xA0,0x11,0x80, -0xE0,0x63,0x3E,0x62,0x0E,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E, -0x7D,0x67,0x04,0xF0,0x1D,0x6A,0x48,0xCB,0x01,0x6A,0x52,0xC3,0x09,0xB2,0x7F,0x6B, -0x9D,0x67,0x40,0x9A,0x10,0x4C,0x80,0xF4,0x42,0x32,0x6C,0xEA,0x7D,0x67,0x00,0x18, -0x7C,0xC6,0x53,0xC3,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80, -0xD8,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x24,0xB4,0xFC,0x63,0x08,0x6E,0x00,0x18, -0x64,0x2E,0x00,0x6D,0x7D,0x67,0x04,0xF0,0x0D,0x6A,0x48,0xCB,0x19,0x6A,0x00,0x6C, -0x52,0xC3,0x60,0x6A,0x4B,0xEA,0x53,0xC3,0x94,0xC3,0x55,0xC3,0x96,0xC3,0x97,0xC3, -0x98,0xC3,0x1B,0xB3,0xBD,0x67,0x9F,0xC5,0x54,0xA3,0x20,0xF0,0x80,0xC5,0x20,0xF0, -0x82,0xC5,0x59,0xC5,0x55,0xA3,0x20,0xF0,0x84,0xC5,0x20,0xF0,0x85,0xC5,0x5A,0xC5, -0x56,0xA3,0x20,0xF0,0x87,0xC5,0x20,0xF0,0x89,0xC5,0x5B,0xC5,0x57,0xA3,0x5C,0xC5, -0x58,0xA3,0x5D,0xC5,0x59,0xA3,0x5E,0xC5,0x02,0x6A,0x20,0xF0,0x41,0xC5,0x20,0xF0, -0x43,0xC5,0x1E,0x6A,0x20,0xF0,0x46,0xC5,0x12,0x6A,0x20,0xF0,0x48,0xC5,0x20,0xF0, -0x4A,0xC5,0x20,0xF0,0x8B,0xC5,0x9D,0x67,0x00,0x18,0xFC,0xC2,0x10,0x4C,0x04,0x63, -0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xD8,0xA0,0x11,0x80, -0xE0,0x63,0x3E,0x62,0x1A,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E, -0x7D,0x67,0x04,0xF0,0x06,0x6A,0x48,0xCB,0x0F,0x6A,0x9D,0x67,0x52,0xC3,0x00,0x6A, -0x54,0xC4,0x56,0xC4,0x57,0xC4,0x58,0xC4,0x59,0xC4,0x5A,0xC4,0x5B,0xC4,0x5C,0xC4, -0x5D,0xC4,0x5E,0xC4,0x5F,0xC4,0x07,0x6A,0x20,0x6B,0x20,0xF0,0x40,0xC4,0x03,0x6A, -0x73,0xC4,0x75,0xC4,0x20,0xF0,0x41,0xC4,0x00,0x18,0xA8,0xC1,0x10,0x4C,0x7D,0x67, -0x04,0xF0,0x0A,0x6A,0x48,0xCB,0x9D,0x67,0x01,0x6A,0x52,0xC3,0x53,0xC3,0x00,0x18, -0x5E,0xC2,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80, -0xE0,0x63,0x3E,0x62,0xFB,0x63,0x7D,0x67,0x00,0xF4,0x06,0x6A,0x48,0xCB,0x03,0x6A, -0x52,0xC3,0x13,0x6A,0x55,0xC3,0x26,0xB2,0x6D,0xA2,0x08,0x73,0x22,0x60,0x70,0x32, -0x69,0xE2,0x24,0xB6,0x48,0x32,0x6B,0xE2,0x48,0x32,0xD1,0xE2,0x20,0xF1,0x4F,0xA4, -0x01,0x6D,0xAC,0xEA,0x16,0x22,0x00,0xF1,0x52,0xAE,0x47,0xEB,0xAC,0xEA,0x11,0x22, -0x20,0xF1,0x6C,0xAC,0xFF,0xF7,0x1F,0x6A,0x9D,0x67,0x4C,0xEB,0x5D,0x67,0x73,0xC2, -0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18,0xD2,0x48, -0x10,0x4C,0x13,0xB2,0x6C,0xA2,0x0A,0x73,0x1D,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32, -0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x10,0xB3,0x48,0x32,0x71,0xE2,0xE0,0xF0,0x4B,0xA4, -0xFF,0x6B,0x6C,0xEA,0x01,0x72,0x0E,0x61,0x60,0xF2,0x7C,0xAC,0x5D,0x67,0x9D,0x67, -0x73,0xC2,0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18, -0xD2,0x48,0x10,0x4C,0x05,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0xD8,0xA0,0x11,0x80, -0x58,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x12,0xB0, -0x00,0x6A,0xFF,0x6D,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1, -0x58,0xC0,0x0E,0xB2,0x02,0x6B,0xAC,0xEC,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0, -0xC0,0xF1,0x79,0xC0,0x40,0xF1,0x9E,0xC0,0x60,0xC2,0x00,0x18,0xEB,0xA4,0xAC,0xEC, -0x20,0xF1,0x8E,0x40,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x05,0x97,0x04,0x90, -0x00,0xEF,0x03,0x63,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80,0xE0,0x63,0x3E,0x62, -0x3D,0xD1,0x3C,0xD0,0xF5,0x63,0x7D,0x67,0x00,0xF4,0x05,0x6A,0x7E,0xB5,0x54,0xCB, -0x9D,0x67,0x0D,0x6A,0x20,0xF0,0x4A,0xC3,0x2B,0x4C,0x00,0x18,0x2E,0x2E,0x06,0x6E, -0x7A,0xB0,0x00,0x6A,0x9D,0x67,0x01,0x6B,0x20,0xF0,0x51,0xC4,0x20,0xF0,0x52,0xC4, -0x20,0xF0,0x73,0xC4,0x20,0xF0,0x54,0xC4,0x20,0xF0,0x55,0xC4,0x20,0xF0,0x56,0xC4, -0x20,0xF0,0x77,0xC4,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1, -0x58,0xC0,0x6F,0xB2,0x02,0x6B,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0,0xC0,0xF1, -0x79,0xC0,0x20,0xF1,0x8E,0x40,0x60,0xC2,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E, -0x60,0xF1,0x4E,0xA0,0x02,0x72,0x07,0x60,0x03,0x52,0x02,0x60,0x01,0x72,0x01,0x10, -0x03,0x72,0x15,0x61,0xAF,0x10,0x63,0xB5,0x00,0x6B,0xFF,0x6C,0x64,0x32,0x69,0xE2, -0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x48,0x32,0xA9,0xE2,0x20,0xF0,0x58,0xA2, -0x8C,0xEA,0x80,0xF0,0x1F,0x2A,0x01,0x4B,0x8C,0xEB,0x0A,0x5B,0xEF,0x61,0x00,0x18, -0xD4,0x5A,0x0A,0x04,0x62,0x67,0x80,0xF0,0x1D,0x2A,0x0A,0x02,0x06,0x4A,0x64,0xA2, -0xFF,0xF7,0x1F,0x6C,0xBD,0x67,0x60,0x33,0x4C,0xD3,0x43,0xA2,0x22,0x4D,0x4D,0xEB, -0x8C,0xEB,0x4C,0xD3,0x5D,0x67,0x20,0xF0,0x53,0xA2,0x7D,0x67,0x4D,0xD2,0x20,0xF0, -0x74,0xA3,0x0A,0x02,0x0A,0x4A,0x4E,0xD3,0x24,0xA2,0x43,0xA2,0x20,0x31,0x8C,0xE9, -0x4D,0xE9,0x8C,0xE9,0x9D,0x67,0x20,0xF0,0x97,0xA4,0x4F,0xD4,0x9D,0x67,0x00,0x18, -0x8E,0xDF,0x20,0x4C,0x50,0xD2,0x62,0x67,0x75,0x2A,0x5D,0x67,0x71,0xAA,0xFF,0xF7, -0x1F,0x6C,0x3D,0xB5,0x8C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x3C,0xB3,0x48,0x32,0x61,0xE2,0xE0,0xF0,0x8D,0x40,0x00,0x18,0x2E,0x2E, -0x06,0x6E,0x5D,0x67,0x20,0xF1,0x50,0xAA,0x7D,0x67,0x9D,0x67,0x60,0xF2,0x5E,0xC8, -0x20,0xF1,0x74,0xA3,0x5D,0x67,0xE0,0xF0,0x7A,0xC0,0x20,0xF1,0x98,0xA4,0x7D,0x67, -0xE0,0xF0,0x9C,0xC0,0x20,0xF1,0x5C,0xA2,0xE0,0xF0,0x5D,0xC0,0x20,0xF0,0x40,0xA3, -0xE0,0xF0,0x53,0xC0,0x01,0x6A,0x80,0xF2,0x42,0xC0,0x91,0xAB,0xFF,0xF7,0x1F,0x6A, -0x00,0x18,0x45,0x95,0x4C,0xEC,0x7D,0x67,0x40,0xF1,0x60,0xA3,0x22,0x32,0x5E,0x32, -0x00,0xF1,0x71,0xC0,0x18,0x22,0xEF,0xF7,0x1F,0x6A,0x4C,0xE9,0x01,0x6A,0x80,0xF0, -0x3E,0xC8,0x04,0xD2,0x20,0xB2,0xFF,0xF7,0x1F,0x6C,0xFA,0x6D,0x05,0xD2,0x80,0xF0, -0x5E,0xA8,0x24,0xF2,0x15,0x6E,0x20,0xF5,0x17,0x6F,0x8C,0xEA,0x06,0x6C,0x20,0x18, -0x1B,0x32,0x06,0xD2,0x05,0x10,0x5D,0x67,0x40,0xF1,0x40,0xAA,0x80,0xF0,0x5E,0xC8, -0x00,0x18,0x4E,0x9B,0x0A,0x04,0x22,0x67,0x0F,0x22,0x7D,0x67,0x20,0xF0,0x80,0xA3, -0xE0,0xF0,0xA8,0xA0,0x00,0x18,0xB6,0xDF,0x00,0x65,0x0B,0xB4,0x00,0x18,0xD3,0xDF, -0x00,0x65,0x07,0x10,0x0C,0x6B,0x06,0x10,0x5D,0x67,0x91,0xAA,0x20,0x18,0x13,0x26, -0x01,0x6D,0x71,0x67,0x0B,0x63,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x43,0x67,0x00,0xEF, -0x20,0x63,0x00,0x00,0xEC,0xA0,0x11,0x80,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80, -0x48,0x60,0x11,0x80,0xFC,0xA5,0x10,0x80,0xF4,0x63,0x16,0x62,0x15,0xD1,0x14,0xD0, -0x00,0x6A,0x0B,0xD2,0x0C,0xD2,0x0D,0xD2,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x18,0xD4, -0x54,0xCB,0x62,0xA4,0x23,0xA4,0x02,0x6A,0x1E,0x5B,0xC0,0xF3,0x1B,0x60,0x04,0x0A, -0x64,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x3D,0x00,0x49,0x00, -0x9D,0x00,0x5B,0x02,0x07,0x03,0x47,0x03,0xD3,0x03,0xAB,0x07,0xF5,0x03,0x07,0x04, -0x21,0x04,0x33,0x04,0x9D,0x06,0x9D,0x05,0x45,0x04,0x6D,0x05,0x85,0x05,0x9D,0x06, -0xAD,0x05,0xBF,0x05,0xD1,0x05,0xFF,0x05,0x0B,0x06,0x21,0x06,0x2D,0x06,0x41,0x06, -0x51,0x06,0x61,0x06,0x6D,0x06,0x7F,0x06,0xA0,0xF7,0x00,0xB2,0x03,0x6C,0x40,0xAA, -0x0B,0xD2,0x0A,0x13,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E, -0x4C,0xEE,0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0, -0x01,0x6D,0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x80,0x18,0x1B,0x2D, -0x00,0x6C,0x00,0x18,0xFE,0x4F,0x00,0x65,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18, -0x49,0x2B,0xC5,0x67,0x40,0xF7,0x18,0xB3,0x0A,0x6A,0x4C,0xC3,0x08,0x6A,0x4D,0xC3, -0x00,0x6A,0x49,0xC3,0x4A,0xC3,0x87,0x13,0x0B,0x59,0x18,0x67,0x60,0xF3,0x11,0x20, -0x20,0xF7,0x1C,0xB4,0x05,0x21,0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x07,0x22,0x53,0x13, -0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x02,0x2A,0x29,0xC4,0x75,0x13,0x20,0xF7,0x00,0xB3, -0x04,0x6A,0x01,0x6C,0x29,0xC3,0x04,0xD2,0x00,0xF7,0x18,0xB2,0x06,0xD1,0xFA,0x6D, -0x05,0xD2,0x4A,0xA3,0x43,0xF7,0x0A,0x6E,0xE1,0xF4,0x11,0x6F,0x07,0xD2,0x61,0x9B, -0x6A,0x32,0x66,0xEC,0x8C,0xEA,0x8C,0xEB,0x08,0xD2,0x20,0x18,0x1B,0x32,0x09,0xD3, -0xA0,0xF0,0x04,0x20,0x00,0xF0,0x10,0x0A,0x24,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3, -0x00,0xEB,0x00,0x65,0x17,0x00,0x8D,0x00,0xB9,0x00,0xEF,0x00,0x0F,0x01,0x13,0x01, -0x17,0x01,0x39,0x01,0x21,0x01,0x29,0x01,0x31,0x01,0xC0,0xF6,0x04,0xB2,0x61,0x9A, -0x01,0x6A,0x6C,0xEA,0x0B,0x22,0x02,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0x7D,0x2D, -0x00,0x65,0x15,0x10,0x80,0x18,0xA3,0x2D,0x00,0x65,0x11,0x10,0x02,0x6A,0x6C,0xEA, -0x04,0x22,0x80,0x18,0xB6,0x2E,0x00,0x65,0x0A,0x10,0x04,0x6A,0x6C,0xEA,0x04,0x22, -0x80,0x18,0x87,0x2E,0x00,0x65,0x03,0x10,0x80,0x18,0xF5,0x2D,0x00,0x65,0x80,0xF6, -0x00,0xB0,0x8A,0x98,0x4B,0x98,0x29,0x98,0x0E,0xD4,0x00,0x18,0xFE,0x4F,0x0F,0xD2, -0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x49,0x2B,0xC5,0x67,0x0E,0x93,0x0F,0x94, -0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x4D,0xC0,0x29,0xD8,0x6A,0xD8,0x8B,0xD8,0x0B,0x13, -0x40,0xF6,0x0C,0xB4,0x02,0x6A,0x61,0x9C,0x4D,0xEB,0x04,0x6A,0x6C,0xEA,0x61,0xDC, -0x07,0x22,0x02,0x6A,0x4B,0xEA,0x6C,0xEA,0x80,0x18,0xCC,0x2E,0x41,0xDC,0x1A,0x10, -0x01,0x6A,0x6D,0xEA,0x80,0x18,0x93,0x2D,0x41,0xDC,0x14,0x10,0x20,0xF6,0x00,0xB4, -0x03,0x6A,0x4B,0xEA,0x61,0x9C,0x4C,0xEB,0x02,0x6A,0x4B,0xEA,0x4C,0xEB,0x04,0x6A, -0x6C,0xEA,0x61,0xDC,0x04,0x22,0x80,0x18,0x99,0x2E,0x00,0x65,0x03,0x10,0x80,0x18, -0x08,0x2E,0x00,0x65,0xE0,0xF5,0x18,0xB2,0x40,0x6C,0x61,0x9A,0x8D,0xEB,0x61,0xDA, -0xDA,0x12,0xE0,0xF5,0x0C,0xB0,0x03,0x6B,0x6B,0xEB,0x41,0x98,0x6C,0xEA,0x01,0x6B, -0x6D,0xEA,0x80,0x18,0xB5,0x2D,0x41,0xD8,0x41,0x98,0x40,0x6B,0x6D,0xEA,0x41,0xD8, -0xCA,0x12,0x01,0x6C,0x03,0x10,0x02,0x6C,0x01,0x10,0x03,0x6C,0x80,0x18,0x4E,0x2F, -0x00,0x65,0xC1,0x12,0x80,0x18,0xDD,0x2E,0x00,0x65,0xBD,0x12,0x80,0x18,0x04,0x2F, -0x00,0x65,0xB9,0x12,0x80,0x18,0x20,0x2F,0x00,0x65,0xB5,0x12,0x80,0x18,0x63,0x2F, -0x00,0x65,0xA0,0xF2,0x10,0x22,0x12,0x72,0x58,0x67,0x01,0x5A,0x78,0x67,0x01,0x5B, -0x58,0x67,0x03,0x4A,0xA7,0x12,0x04,0x59,0x60,0xF2,0x1D,0x60,0x80,0x18,0x1B,0x2D, -0x00,0x6C,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE, -0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D, -0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x00,0x18,0xFE,0x4F,0x00,0x65, -0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x49,0x2B,0xC5,0x67,0x40,0xF5,0x00,0xB0, -0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x2A,0xC0,0x00,0x1C,0xDD,0x31,0x4D,0xC0,0x10,0xD2, -0x41,0x98,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0x01,0x71,0x41,0xD8,0x06,0x61,0x80,0x18, -0x4E,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x02,0x71,0x04,0x61,0x41,0x98, -0x04,0x6B,0x6D,0xEA,0x41,0xD8,0x00,0x1C,0xE5,0x31,0x10,0x94,0x02,0x6A,0x04,0xD2, -0x00,0xF5,0x00,0xB2,0x06,0xD1,0x01,0x6C,0x05,0xD2,0x41,0x98,0xFA,0x6D,0xE3,0xF7, -0x1E,0x6E,0x4A,0x32,0x8C,0xEA,0xE1,0xF4,0x12,0x6F,0x20,0x18,0x1B,0x32,0x07,0xD2, -0x52,0x12,0x4F,0x59,0x25,0x60,0x18,0x93,0x44,0xA3,0x08,0x5A,0x21,0x60,0xC0,0xF4, -0x10,0xB5,0x7F,0x6A,0x4C,0xE9,0x80,0x9D,0xC0,0xF4,0x0C,0xB2,0x80,0xF4,0x20,0x33, -0x4C,0xEC,0x6D,0xEC,0x80,0xDD,0x18,0x92,0x64,0xA2,0xFF,0x6A,0x4C,0xEB,0x07,0x6A, -0x4C,0xEB,0xA0,0xF4,0x18,0xB2,0x00,0xF7,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x40,0xDD, -0x32,0x12,0x18,0x93,0x0A,0x59,0x45,0xA3,0x84,0xA3,0x40,0x32,0x4D,0xEC,0x03,0x61, -0x03,0x6C,0x0C,0xD4,0x28,0x12,0x80,0xF4,0x08,0xB6,0x80,0xF4,0x14,0xB3,0xE3,0xF7, -0x1F,0x6A,0xA0,0x9E,0x8C,0xEA,0x54,0x32,0x6C,0xED,0x80,0xF4,0x08,0xB3,0x4D,0xED, -0x24,0x32,0x69,0xE2,0x40,0xAA,0xFF,0xF7,0x1F,0x6B,0xA0,0xDE,0x6C,0xEA,0x4C,0x32, -0x82,0xEA,0xE0,0xF1,0x1E,0x61,0x03,0x59,0x05,0x60,0x02,0x6A,0x4B,0xEA,0x4C,0xED, -0xA0,0xDE,0x0F,0x10,0x06,0x59,0xFF,0x6B,0x58,0x67,0x01,0x6C,0x6C,0xEA,0x61,0x9E, -0x8D,0xED,0x8C,0xEA,0x81,0x6C,0x8B,0xEC,0x5C,0x32,0x8C,0xEB,0x4D,0xEB,0xA0,0xDE, -0x61,0xDE,0x40,0xF4,0x04,0xB2,0x1F,0x6B,0x6B,0xEB,0x49,0xE1,0x80,0xA2,0x0F,0x6A, -0x4C,0xEC,0x40,0x9E,0x84,0x34,0x6C,0xEA,0x8D,0xEA,0x40,0xDE,0xEC,0x11,0x18,0x92, -0x85,0xA2,0x05,0x5C,0xA0,0xF1,0x1F,0x60,0x00,0xF4,0x04,0xB5,0x07,0x6A,0x4C,0xEC, -0x41,0x9D,0x39,0x6B,0x6B,0xEB,0x8C,0x34,0x6C,0xEA,0x8D,0xEA,0x41,0xDD,0xDB,0x11, -0x18,0x94,0xFB,0xB3,0x43,0xA4,0x46,0xC3,0x44,0xA4,0x47,0xC3,0x45,0xA4,0x48,0xC3, -0xD2,0x11,0xF7,0xB5,0xFD,0xB3,0x3E,0x34,0x40,0x9D,0xC0,0xF7,0x80,0x34,0x6C,0xEA, -0x8D,0xEA,0x40,0xDD,0x7F,0x6A,0x4C,0xE9,0x25,0xC5,0xC5,0x11,0x18,0x94,0xF0,0xB3, -0x43,0xA4,0x4E,0xC3,0x44,0xA4,0x4F,0xC3,0x45,0xA4,0x50,0xC3,0xBC,0x11,0x18,0x94, -0xEB,0xB3,0x43,0xA4,0x51,0xC3,0x44,0xA4,0x52,0xC3,0x45,0xA4,0x53,0xC3,0xB3,0x11, -0xE7,0xB6,0xFF,0x6C,0xA4,0x67,0x69,0xA6,0x6C,0xED,0x0A,0x75,0x3F,0x61,0x4C,0xA6, -0x00,0x6F,0x8C,0xEA,0x0A,0x72,0x13,0x60,0x22,0x67,0x44,0x32,0x29,0xE2,0x4C,0x32, -0x2B,0xE2,0x4C,0x32,0xE6,0xB3,0x2B,0xE2,0x48,0x32,0x69,0xE2,0x20,0xF0,0x58,0xA2, -0x05,0x6F,0x8C,0xEA,0x04,0x72,0x03,0x60,0x0A,0x6A,0x00,0x6F,0x4C,0xC6,0x4D,0xA6, -0x08,0x72,0x6A,0x60,0x22,0x67,0x50,0x32,0x29,0xE2,0xDE,0xB4,0x48,0x32,0x2B,0xE2, -0x48,0x32,0x89,0xE2,0x20,0xF1,0x4F,0xA2,0x01,0x6B,0x05,0x6F,0x6C,0xEA,0x05,0x22, -0x00,0xF1,0x52,0xAC,0x47,0xE9,0x6C,0xEA,0x57,0x2A,0x08,0x6A,0x00,0x6F,0x4D,0xC6, -0x53,0x10,0xD5,0xB0,0x7F,0x4D,0x6E,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E, -0x00,0x18,0x2E,0x2E,0x13,0xD7,0xFF,0xF7,0x38,0xC0,0x25,0x10,0x4B,0x43,0x8C,0xEA, -0x03,0x5A,0x23,0x60,0xCA,0xB5,0x04,0x6F,0x00,0x69,0x24,0x32,0x29,0xE2,0x4C,0x32, -0x2B,0xE2,0x4C,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF0,0x58,0xA2,0x8C,0xEA, -0x04,0x72,0xDF,0x60,0x01,0x49,0x8C,0xE9,0x0A,0x59,0xEF,0x61,0x2D,0x10,0xC2,0xB0, -0x60,0xF1,0x02,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E,0x00,0x18,0x2E,0x2E, -0x13,0xD7,0xFF,0xF7,0x39,0xC0,0x13,0x97,0x1F,0x10,0x48,0x43,0x8C,0xEA,0x02,0x5A, -0xE5,0x67,0x1A,0x60,0xB7,0xB5,0x04,0x6F,0x00,0x69,0x01,0x6E,0xFF,0xF7,0x1F,0x68, -0x30,0x32,0x29,0xE2,0x48,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF1,0x4F,0xA2, -0xCC,0xEA,0x06,0x22,0x00,0xF1,0x52,0xAD,0x0C,0xEA,0x47,0xE9,0xCC,0xEA,0xD7,0x2A, -0x01,0x49,0x8C,0xE9,0x08,0x59,0xEC,0x61,0xA1,0xB2,0x4A,0xA2,0x0B,0xD2,0x0B,0x93, -0xE0,0x32,0x4D,0xEB,0x0B,0xD3,0x77,0x10,0xA8,0xB2,0x20,0xF0,0x7C,0xA2,0x0B,0xD3, -0x20,0xF0,0x7D,0xA2,0x0B,0x94,0x20,0xF0,0x5E,0xA2,0x60,0x33,0x6D,0xEC,0x85,0x10, -0xA2,0xB2,0x20,0xF0,0x7F,0xA2,0x0B,0xD3,0x40,0xF0,0x60,0xA2,0x0B,0x94,0x40,0xF0, -0x41,0xA2,0x60,0x33,0x6D,0xEC,0x79,0x10,0x18,0x93,0x43,0xA3,0x62,0xAB,0x60,0x33, -0x6D,0xEA,0x9B,0xB3,0x41,0xDB,0xFF,0x10,0x18,0x94,0x8D,0xB3,0x43,0xA4,0x54,0xC3, -0x44,0xA4,0x55,0xC3,0x45,0xA4,0x56,0xC3,0xF6,0x10,0x18,0x94,0x88,0xB3,0x43,0xA4, -0x57,0xC3,0x44,0xA4,0x58,0xC3,0x45,0xA4,0x59,0xC3,0xED,0x10,0x4F,0x41,0xFF,0x6B, -0x6C,0xEA,0x09,0x5A,0xC0,0xF0,0x15,0x60,0x5C,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D, -0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x79,0x6A,0x4B,0xEA,0x4C,0xEE,0x2C,0x33,0x78,0x6A, -0x4C,0xEB,0x5C,0x6C,0x01,0x6D,0x6D,0xEE,0xA7,0x10,0x79,0xB2,0x92,0xAA,0x69,0x9A, -0x0B,0xD4,0x84,0xB4,0x07,0x10,0x76,0xB2,0x69,0x9A,0x62,0x34,0x82,0x34,0x0B,0xD4, -0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x69,0xDA,0x02,0x6A,0x3C,0x10,0x70,0xB2,0x96,0xAA, -0x6B,0x9A,0x0B,0xD4,0x7B,0xB4,0x07,0x10,0x6D,0xB2,0x6B,0x9A,0x62,0x34,0x82,0x34, -0x0B,0xD4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x6B,0xDA,0xEE,0x17,0x78,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x0B,0xD2,0x0D,0xD3,0xAD,0x10,0x76,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x0B,0xD2,0x02,0x6C,0x0D,0xD4,0xA5,0x10,0x77,0x6C,0x00,0x18, -0xEB,0x9F,0x01,0x6D,0x0B,0xD2,0xD8,0x17,0x5D,0xB2,0x74,0xA2,0x0B,0xD3,0x75,0xA2, -0x0B,0x94,0x56,0xA2,0x60,0x33,0x6D,0xEC,0x08,0x10,0x59,0xB2,0x77,0xA2,0x0B,0xD3, -0x78,0xA2,0x0B,0x94,0x59,0xA2,0x60,0x33,0x6D,0xEC,0x40,0x32,0x40,0x32,0x4D,0xEC, -0x0B,0xD4,0x03,0x6A,0x0D,0xD2,0x87,0x10,0x00,0x6B,0x05,0x59,0x11,0xD3,0x78,0x67, -0x70,0x23,0x18,0x94,0x42,0xA4,0x02,0xAC,0x0C,0x72,0x05,0x61,0x58,0xB2,0x01,0x6F, -0x41,0x9A,0x11,0xD2,0x03,0x10,0x11,0x97,0x03,0x6A,0x0D,0xD2,0x74,0x23,0x00,0xF0, -0x12,0x0A,0x24,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x0B,0x00, -0x29,0x00,0x83,0x00,0xA5,0x00,0xAF,0x00,0x06,0x27,0x11,0x96,0x3F,0x6A,0x90,0x67, -0x4C,0xEC,0x00,0x6D,0x31,0x10,0x3F,0x6A,0x90,0x67,0x4C,0xEC,0x00,0x18,0xEB,0x9F, -0xA7,0x67,0x0B,0xD2,0x58,0x10,0x02,0x31,0x01,0x6B,0x6C,0xE9,0x09,0x21,0xA3,0x67, -0x40,0x6C,0xD1,0x67,0x12,0xD3,0x00,0x18,0x01,0xA0,0x13,0xD7,0x13,0x97,0x12,0x93, -0x0C,0x27,0x7F,0x6A,0x4C,0xE8,0x07,0x34,0x40,0x6A,0x11,0x96,0x4D,0xEC,0xFF,0x6A, -0x4C,0xEC,0x00,0x18,0x01,0xA0,0xA3,0x67,0x0B,0x10,0x7F,0x6A,0x4C,0xE8,0x07,0x34, -0x40,0x6A,0x4D,0xEC,0xFF,0x6A,0x4C,0xEC,0x00,0x18,0xEB,0x9F,0xA3,0x67,0x0B,0xD2, -0x32,0x21,0x40,0x6C,0x01,0x6D,0x00,0x6E,0x00,0x18,0x01,0xA0,0x00,0x65,0x2B,0x10, -0x01,0x6A,0x0C,0xEA,0x03,0x22,0x03,0x6B,0x0C,0xD3,0x25,0x10,0x08,0x27,0x11,0x95, -0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x00,0x18,0x9A,0x33,0x4C,0xED,0x1C,0x10,0x2A,0xB2, -0x12,0x10,0x01,0x6A,0x0C,0xEA,0x05,0x2A,0x28,0xB2,0x06,0x10,0x01,0x6A,0x0C,0xEA, -0x02,0x22,0x03,0x6A,0x0F,0x10,0x26,0xB2,0x06,0x27,0x7D,0x67,0x40,0xF0,0x64,0xAB, -0x49,0xE0,0x60,0xCA,0x08,0x10,0x49,0xE0,0x40,0xAA,0xFF,0xF7,0x1F,0x6C,0x4C,0xEC, -0x0B,0xD4,0x01,0x10,0x0C,0xD2,0x0D,0x93,0x0C,0x94,0x70,0x32,0x4D,0xEC,0x18,0x92, -0x83,0xC2,0x18,0x93,0x18,0x94,0x41,0xA3,0x10,0x6B,0x6B,0xEB,0x6C,0xEA,0x41,0xC4, -0x18,0x92,0x0B,0x96,0x02,0x6C,0x00,0x18,0x2C,0x2B,0xA0,0x9A,0x16,0x97,0x15,0x91, -0x14,0x90,0x00,0xEF,0x0C,0x63,0x00,0x00,0xD2,0x04,0x11,0x80,0xD8,0xA0,0x11,0x80, -0xFC,0xA5,0x10,0x80,0xFF,0xFF,0x03,0xFE,0xFF,0xFF,0xFF,0x8F,0x1F,0x00,0xFC,0xFF, -0x88,0xDB,0x10,0x80,0x9C,0xDB,0x10,0x80,0xFF,0xFF,0xFF,0x7F,0x48,0x60,0x11,0x80, -0x58,0x46,0x11,0x80,0xEC,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0x08,0xA1,0x11,0x80, -0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0xB6,0x00,0xA0,0x00,0xB0,0x00,0x10,0x00,0xB6, -0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x44,0xAC,0x24,0x67,0x01,0x72,0x55,0x61, -0x00,0x9C,0x5D,0x67,0xFA,0x6D,0x20,0xF0,0x08,0xC2,0x02,0x6A,0x04,0xD2,0x3F,0xB2, -0x06,0xD0,0x44,0xF2,0x1E,0x6E,0x05,0xD2,0x41,0x9C,0xC1,0xF4,0x1C,0x6F,0x04,0x6C, -0x20,0x18,0x1B,0x32,0x07,0xD2,0x3F,0x6A,0x4C,0xE8,0x20,0x70,0x0A,0x61,0x62,0xA1, -0xFF,0x6A,0x4C,0xEB,0x06,0x2B,0x36,0xB2,0x60,0xDA,0x36,0xB2,0x60,0xDA,0x01,0x6A, -0x42,0xC1,0x7D,0x67,0x20,0xF0,0x68,0xA3,0x3F,0x6A,0x6C,0xEA,0x24,0x72,0x03,0x67, -0x24,0x61,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x00,0x1C,0xDD,0x31,0x50,0xCB,0x00,0x18, -0xFE,0x4F,0x02,0x67,0x00,0x6D,0x9D,0x67,0x20,0x4C,0x80,0x18,0x49,0x2B,0xC5,0x67, -0x29,0xB3,0x40,0x99,0x6C,0xEA,0x29,0xB3,0x6E,0xEA,0x06,0x2A,0x80,0x18,0x4E,0x2F, -0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0xA0,0x99,0x02,0x6C,0x00,0x18,0x2C,0x2B, -0x00,0x6E,0x00,0x1C,0xE5,0x31,0x90,0x67,0x32,0x10,0xFF,0x6A,0x4C,0xE8,0x30,0x70, -0x04,0x61,0x80,0x18,0xEA,0x2F,0x91,0x67,0x2A,0x10,0x44,0xA9,0x02,0x72,0x24,0x61, -0x1B,0xB2,0x40,0xA2,0x21,0x2A,0x40,0x99,0x04,0xF0,0x0F,0x6B,0x6C,0xEA,0x6A,0xEA, -0x0B,0x61,0x18,0xB2,0xFF,0xF7,0x1F,0x6B,0x40,0xAA,0x6C,0xEA,0x40,0x32,0x40,0x32, -0x00,0xF2,0x0F,0x6B,0x6D,0xEA,0x40,0xD9,0x02,0x6A,0x04,0xD2,0x0B,0xB2,0x05,0x6C, -0xFA,0x6D,0x05,0xD2,0x40,0x99,0xA4,0xF2,0x0E,0x6E,0xC1,0xF4,0x1D,0x6F,0x06,0xD2, -0x41,0x99,0x20,0x18,0x1B,0x32,0x07,0xD2,0x00,0x18,0xF4,0x2C,0x91,0x67,0x0E,0x97, -0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0xFC,0xA5,0x10,0x80,0xAC,0xDB,0x10,0x80, -0x38,0x91,0x10,0x80,0x00,0x00,0xFF,0x00,0x00,0x00,0x01,0x00,0x98,0x00,0x11,0x80, -0x04,0x09,0x11,0x80,0xFD,0x63,0x04,0x62,0x00,0x18,0x23,0xEA,0x00,0x65,0x04,0x97, -0x00,0xEF,0x03,0x63,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x80,0xAC,0x00,0x6A, -0xC6,0xB3,0x11,0xD4,0xA0,0xA5,0x1B,0xD2,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2, -0x4C,0x32,0x8B,0xE2,0x48,0x32,0x69,0xE2,0x19,0xD2,0x12,0xD5,0xE0,0xF0,0x6C,0xA2, -0x18,0xD3,0xA0,0xF0,0x9A,0xAA,0x19,0x93,0x13,0xD4,0xA0,0xF0,0x58,0xAA,0x19,0x94, -0x14,0xD2,0xA0,0xF0,0x7C,0xAB,0x19,0x92,0x15,0xD3,0x7D,0x67,0x60,0xF0,0x6C,0xA3, -0xC0,0xF0,0x80,0xAC,0x16,0xD4,0xC0,0xF2,0x74,0xC2,0x9D,0x67,0xE0,0xF0,0x13,0xA2, -0x60,0xF0,0x8C,0xA4,0xE0,0xF0,0x28,0xA2,0xC0,0xF2,0x95,0xC2,0xB1,0x67,0x00,0x18, -0x7B,0xBB,0x90,0x67,0x17,0xD2,0x17,0x93,0x48,0x32,0x1C,0xD2,0x69,0xE2,0xAC,0xB3, -0x44,0x32,0x69,0xE2,0x1A,0xD2,0x19,0x92,0xE0,0xF0,0xA8,0xA2,0x00,0x18,0xC3,0x34, -0x90,0x67,0x12,0x93,0x0E,0x23,0x18,0x94,0x01,0x74,0x0B,0x61,0x1A,0x92,0x03,0xF4, -0x00,0x6C,0x18,0xF0,0x00,0x6D,0xC3,0xAA,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x8D,0x93, -0x4C,0xEE,0x14,0x93,0x05,0x23,0x19,0x94,0x00,0xF2,0x57,0xA4,0x01,0x72,0x15,0x60, -0x03,0x6A,0x04,0xD2,0x9B,0xB2,0x19,0x93,0x12,0x94,0x05,0xD2,0x14,0x92,0xFA,0x6D, -0xC4,0xF3,0x1C,0x6E,0x06,0xD2,0x00,0xF2,0x57,0xA3,0x64,0xF4,0x18,0x6F,0x08,0xD4, -0x04,0x6C,0x20,0x18,0x1B,0x32,0x07,0xD2,0x18,0x11,0x00,0x1C,0xDD,0x31,0x00,0x65, -0x9D,0x67,0x40,0x4C,0xB1,0x67,0x00,0x18,0x3B,0x94,0x1B,0xD2,0x10,0x92,0x8E,0xB6, -0x46,0x32,0x01,0x4A,0xCC,0xEA,0x10,0xD2,0x19,0x92,0xC0,0xF2,0xEE,0xAA,0x07,0x2F, -0x12,0x93,0x01,0x73,0x04,0x61,0x00,0x1C,0xE5,0x31,0x1B,0x94,0xFE,0x10,0x10,0x95, -0x08,0x25,0x14,0x94,0x06,0x24,0x9B,0xED,0x01,0x2C,0xE5,0xE8,0x10,0xEA,0x00,0x65, -0x01,0x10,0x00,0x6A,0x14,0x93,0xFF,0xF7,0x1F,0x6C,0x4B,0xE3,0x13,0x93,0x8C,0xEA, -0x65,0xE2,0x14,0x92,0x23,0xEA,0x01,0x60,0x47,0xE1,0x12,0x93,0x01,0x73,0x18,0x61, -0x19,0x92,0xEC,0xEC,0xA0,0xF2,0x74,0x9A,0x14,0xD4,0xCC,0xEB,0x73,0xE5,0xA3,0xEB, -0x44,0x67,0x02,0x61,0x75,0xB2,0x49,0xE4,0x14,0x94,0x9A,0xEA,0x01,0x2C,0xE5,0xE8, -0x12,0xE9,0x41,0x41,0x00,0x65,0x98,0xEA,0x12,0xEA,0x65,0xE2,0xA7,0xE1,0xCC,0xE9, -0x19,0x94,0xFF,0x6B,0x14,0x35,0xE0,0xF0,0x48,0xA4,0x6C,0xED,0x02,0x6C,0x6C,0xEA, -0x40,0x32,0x4C,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED, -0x10,0x92,0x2D,0xE2,0x1D,0xD3,0x08,0x59,0x06,0x60,0x1D,0x94,0x14,0x93,0x71,0xE4, -0x65,0xE1,0x1D,0xD4,0xF8,0x17,0x1D,0x94,0x43,0xE4,0x00,0x18,0xC4,0x36,0x04,0x30, -0x41,0xE0,0x19,0x92,0x4E,0x6C,0x13,0xDA,0x00,0x18,0x9A,0x33,0x14,0x95,0x1D,0x95, -0xFF,0xF7,0x1F,0x6B,0x48,0x6C,0x00,0x18,0x9A,0x33,0x6C,0xED,0x18,0x94,0x14,0x24, -0x16,0x92,0x15,0x93,0x63,0xEA,0x06,0x60,0x43,0xE3,0xFF,0xF7,0x1F,0x6C,0xA2,0x67, -0x8C,0xE8,0x0C,0x10,0x15,0x92,0x16,0x93,0x63,0xEA,0x06,0x60,0x57,0xE3,0xFF,0xF7, -0x1F,0x6C,0x8C,0xED,0x02,0x67,0x02,0x10,0x16,0x95,0x15,0x90,0x00,0x18,0x9A,0x33, -0x4C,0x6C,0x4A,0x6C,0x00,0x18,0x9A,0x33,0xB0,0x67,0x00,0x6C,0x00,0x18,0x9A,0x33, -0x07,0x6D,0x12,0x92,0x0D,0x2A,0x18,0x93,0x01,0x73,0x0A,0x61,0x17,0x94,0x44,0xB2, -0x7D,0x67,0x40,0xF0,0x68,0xA3,0x49,0xE4,0x60,0xC2,0x42,0xB2,0x49,0xE4,0x60,0xC2, -0x1B,0x94,0x00,0x1C,0xE5,0x31,0x02,0x49,0x00,0x18,0x4E,0x05,0x00,0x65,0x01,0xF0, -0x00,0x6D,0x00,0x18,0x78,0xBA,0x5E,0x6C,0x12,0x92,0x21,0x2A,0x18,0x93,0x01,0x73, -0x0D,0x61,0x1A,0x92,0x18,0xF0,0x00,0x6C,0x03,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93, -0xC3,0xAA,0x19,0x93,0x20,0x6A,0x00,0xF2,0x55,0xC3,0x11,0x10,0x51,0x59,0x07,0x61, -0x11,0x95,0xFF,0xF7,0x1F,0x6A,0x91,0x67,0x00,0x18,0x3A,0x96,0x4C,0xEC,0x1A,0x92, -0x18,0xF0,0x00,0x6C,0x01,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93,0xC3,0xAA,0x18,0x93, -0x14,0x2B,0x12,0x94,0x12,0x24,0x51,0x59,0x10,0x61,0x11,0x95,0xFF,0xF7,0x1F,0x68, -0x91,0x67,0x00,0x18,0x3A,0x96,0x0C,0xEC,0x1A,0x92,0x01,0xF4,0x00,0x6C,0x18,0xF0, -0x00,0x6D,0xC3,0xAA,0x00,0x18,0x8D,0x93,0x0C,0xEE,0x2B,0x6A,0x7D,0x67,0x58,0xCB, -0x14,0x94,0x1D,0xB2,0xFD,0x67,0x0A,0xD4,0x80,0x9A,0x00,0x6D,0x04,0x06,0x34,0x4F, -0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x0A,0x95, -0x0B,0x96,0x00,0x18,0x40,0x1E,0x0C,0x97,0x17,0x92,0x0F,0x22,0x1C,0x93,0x13,0xB2, -0x49,0xE3,0x00,0x6B,0xFF,0xF7,0x7C,0xDA,0x1C,0x94,0x11,0xB2,0x49,0xE4,0xFF,0xF7, -0x7C,0xDA,0x10,0xB2,0x49,0xE4,0xFF,0xF7,0x7C,0xDA,0x20,0x97,0x1F,0x91,0x1E,0x90, -0x01,0x6A,0x00,0xEF,0x11,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x70,0x45,0x11,0x80, -0xFC,0xA5,0x10,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x08,0x48,0x06,0x11,0x80, -0x3C,0x06,0x11,0x80,0x68,0x52,0x11,0x80,0x18,0x07,0x11,0x80,0xE8,0x06,0x11,0x80, -0xB8,0x06,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x6A, -0x8C,0xEA,0x04,0xD2,0x04,0x93,0x01,0x69,0x44,0xE9,0x69,0xE2,0x4C,0x32,0x6B,0xE2, -0x4C,0x32,0x6B,0xE2,0x20,0xB3,0x48,0x32,0x0D,0xD5,0x69,0xE2,0x05,0xD2,0x00,0x68, -0x20,0x18,0xE4,0x06,0x90,0x67,0x01,0x48,0xFF,0x6B,0x6C,0xE8,0x45,0xE1,0x04,0x58, -0x6C,0xE9,0xF6,0x61,0x05,0x94,0x44,0x41,0xA0,0xF0,0x88,0xAC,0x98,0xEA,0x17,0xB2, -0x06,0xD4,0x60,0xF1,0x42,0xA2,0x6C,0xEA,0x02,0x5A,0x12,0xE9,0x00,0x65,0x06,0x61, -0x40,0xF1,0x00,0x59,0x06,0x60,0xFF,0x69,0x41,0x49,0x03,0x10,0xEE,0x59,0x01,0x60, -0xEE,0x69,0x00,0x1C,0xDD,0x31,0x00,0x65,0x05,0x93,0x02,0x67,0x26,0x32,0xA0,0xF0, -0x48,0xCB,0x04,0x94,0x00,0x18,0x2A,0xFF,0x0D,0x95,0x9D,0x67,0x4C,0xAC,0x05,0x94, -0xA0,0xF0,0x48,0xCC,0x00,0x1C,0xE5,0x31,0x90,0x67,0x0A,0x97,0x09,0x91,0x08,0x90, -0x00,0xEF,0x06,0x63,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0x5D,0x67,0x03,0x46,0x10,0xD4,0x26,0x67,0x13,0xD7,0x06,0x04, -0x40,0xF0,0xA4,0xCA,0x06,0x6E,0x00,0x18,0x2E,0x2E,0xB0,0x67,0x69,0xA1,0x9D,0x67, -0x09,0xD3,0x40,0xF0,0x64,0xAC,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32, -0x6B,0xE2,0x4D,0xB3,0x48,0x32,0x69,0xE2,0x0A,0xD2,0x20,0xF0,0x58,0xA2,0x0D,0x72, -0x3D,0x60,0x0E,0x52,0x03,0x60,0x06,0x72,0x04,0x60,0x7F,0x10,0x1B,0x72,0x36,0x60, -0x7C,0x10,0x13,0x93,0x01,0x6A,0x00,0x6D,0x40,0xC3,0x80,0xA9,0xFF,0xF7,0x1F,0x6A, -0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x0A,0x94,0x00,0x18,0xFD,0x1D,0x28,0x4C,0x09,0x93, -0x9D,0x67,0x40,0xF0,0x44,0xAC,0x01,0x73,0x14,0x60,0xFF,0xF7,0x1F,0x6C,0x20,0x18, -0x7C,0x2F,0x4C,0xEC,0x62,0x67,0x0A,0x92,0xE0,0xF0,0x9F,0xA2,0xFF,0x6A,0x4C,0xEC, -0x20,0x6A,0x4C,0xEC,0x01,0x2C,0x64,0x67,0x01,0x73,0x7D,0x67,0x40,0xF0,0x44,0xAB, -0x06,0x60,0xFF,0xF7,0x1F,0x6C,0x00,0x18,0xAD,0xE1,0x4C,0xEC,0x52,0x10,0xFF,0xF7, -0x1F,0x6C,0x4C,0xEC,0x80,0x18,0x25,0x33,0x06,0x05,0x4B,0x10,0x00,0x6C,0x40,0x6B, -0x1F,0x6A,0x66,0xC0,0x00,0xF0,0x47,0xC8,0x8C,0xC1,0x6A,0xC0,0x27,0xB3,0x00,0xF0, -0x4B,0xC8,0x10,0x6A,0x90,0xC1,0x8F,0xC0,0x4E,0xC0,0x50,0xAB,0xBD,0x67,0xDD,0x67, -0x50,0xC0,0x50,0xAB,0xE0,0x6B,0x44,0x4D,0x42,0x32,0x54,0xC1,0x20,0xB2,0x92,0xC0, -0x20,0x4E,0x41,0xA2,0x91,0x67,0x01,0x6F,0x48,0x32,0x6C,0xEA,0x56,0x32,0xC0,0xF3, -0x00,0x6B,0x6D,0xEA,0x00,0xF0,0x53,0xC8,0x13,0x93,0x01,0x6A,0x00,0x18,0x37,0x40, -0x40,0xC3,0x02,0x67,0x16,0x22,0x5D,0x67,0x40,0xF0,0x84,0xAA,0xFF,0xF7,0x1F,0x6B, -0x00,0x18,0xAE,0x5D,0x6C,0xEC,0x0A,0x94,0x0A,0x96,0x00,0x6F,0x60,0xF2,0xBC,0xAC, -0x7F,0x4E,0x04,0xD2,0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x4C,0xED,0x00,0x18,0x6F,0x4E, -0x6E,0x4E,0x10,0x93,0x00,0x6C,0x80,0xC3,0x07,0x10,0x10,0x93,0x0C,0x6A,0x40,0xC3, -0x03,0x10,0x10,0x94,0x00,0x6A,0x40,0xC4,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF, -0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xC0,0x5B,0x11,0x80, -0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x4C,0xB2,0x60,0xF1,0x42,0xA2,0x3C,0x22, -0x00,0x6C,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x48,0xB3,0x8B,0xE2, -0x48,0x32,0x79,0xE2,0x47,0xB2,0xFF,0x6D,0x20,0xF1,0x4C,0xA2,0x28,0x22,0x46,0xB2, -0x40,0xA2,0xAC,0xEA,0x24,0x22,0x20,0xF0,0x78,0xA6,0xAC,0xEB,0x20,0x23,0x40,0xF2, -0x41,0xA6,0xAC,0xEA,0x01,0x72,0x1B,0x61,0x0F,0x73,0x19,0x60,0x14,0x73,0x17,0x60, -0x3E,0xB3,0xFF,0xF7,0x1F,0x6E,0x40,0xAB,0x01,0x4A,0x40,0xCB,0xCC,0xEA,0xE0,0xF3, -0x08,0x5A,0x12,0x61,0x00,0x6A,0x40,0xCB,0x39,0xB2,0x02,0x6C,0xA0,0xAA,0x04,0xF0, -0x0F,0x6A,0x4D,0xED,0xCC,0xED,0x00,0x18,0x2C,0x2B,0x00,0x6E,0x05,0x10,0x01,0x4C, -0xFF,0x6A,0x4C,0xEC,0x0A,0x5C,0xC5,0x61,0x2C,0xB5,0x01,0x68,0xFF,0x6E,0x40,0xF1, -0x5E,0xA5,0x0C,0xEA,0x4A,0x22,0x2F,0xB2,0x00,0x6F,0xFF,0xF7,0x1F,0x6C,0x60,0xAA, -0x02,0xF0,0x00,0x6A,0x6C,0xEA,0x25,0x2A,0x60,0xF1,0x42,0xA5,0xCC,0xEA,0x05,0x2A, -0x01,0x10,0x00,0x6F,0x28,0xB2,0xE0,0xCA,0x2E,0x10,0x06,0x67,0x20,0xB1,0x27,0xB6, -0x67,0x67,0xA4,0x67,0x64,0x34,0x69,0xE4,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2, -0x48,0x32,0x29,0xE2,0xE0,0xF0,0x4B,0xA2,0x0C,0xEA,0x01,0x72,0x05,0x61,0xC9,0xE4, -0x40,0xAA,0xAC,0xEA,0x02,0x5A,0xE5,0x61,0x01,0x4B,0xAC,0xEB,0x0A,0x5B,0xEA,0x61, -0x12,0x10,0x19,0xB2,0x60,0xAA,0x01,0x4B,0x60,0xCA,0x4F,0xAD,0x8C,0xEB,0x8C,0xEA, -0x4A,0x32,0x8C,0xEA,0x43,0xEB,0x07,0x61,0x4D,0xAD,0x8C,0xEA,0x4A,0x32,0x8C,0xEA, -0x43,0xEB,0x01,0x61,0xF0,0x67,0x09,0x27,0x00,0x18,0xB7,0xB5,0x00,0x65,0x00,0x18, -0x31,0xBE,0x00,0x65,0x0C,0xB2,0x00,0x6B,0x60,0xCA,0x06,0x97,0x05,0x91,0x04,0x90, -0x00,0x6A,0x00,0xEF,0x04,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x48,0x60,0x11,0x80, -0xDC,0x00,0x11,0x80,0xFE,0x08,0x11,0x80,0x16,0xA1,0x11,0x80,0x04,0x09,0x11,0x80, -0xE0,0x00,0x00,0xB6,0xC8,0xA0,0x11,0x80,0x10,0x06,0x11,0x80,0xFD,0x63,0x04,0x62, -0x44,0xAC,0x04,0x72,0x0F,0x61,0x0A,0xB2,0x00,0x6B,0x00,0x18,0x3B,0x2B,0x60,0xC2, -0x08,0xB6,0x00,0x6B,0x0A,0x6D,0xFF,0x6C,0xC9,0xE3,0x01,0x4B,0x8C,0xEB,0x04,0x5B, -0xA0,0xC2,0xFA,0x61,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0xFE,0x08,0x11,0x80, -0xB4,0x5B,0x11,0x80,0xFD,0x63,0x04,0x62,0x80,0x18,0x45,0x2B,0x00,0x65,0x0E,0xB2, -0x00,0x6B,0x0F,0xB4,0x60,0xCA,0x0D,0xB2,0x02,0xF0,0x00,0x6D,0x04,0x97,0x60,0xC2, -0x0C,0xB2,0x01,0xF0,0x00,0x6B,0xA0,0xF0,0x72,0xCC,0x6C,0xCA,0xAE,0xCA,0x80,0xF0, -0x43,0xA4,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xA0,0xF0,0xB6,0xCC,0x80,0xF0,0x43,0xC4, -0x00,0xEF,0x03,0x63,0xC8,0xA0,0x11,0x80,0xCA,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80, -0x48,0x5C,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x44,0xAC,0xC9,0x72, -0x24,0x61,0x00,0x1C,0xDD,0x31,0x00,0x65,0x15,0xB1,0x04,0xD2,0x60,0xF1,0x54,0xA1, -0x40,0xF1,0x9E,0xA1,0x04,0x99,0x05,0xD2,0x80,0x6A,0x44,0xD9,0x55,0x6A,0x60,0xF1, -0x54,0xC1,0x00,0x18,0xEB,0xA4,0x00,0x65,0x60,0xF1,0x54,0xA1,0x04,0xD9,0x55,0x72, -0x04,0x60,0x00,0x18,0x31,0xBE,0x00,0x65,0x04,0x10,0x5D,0x67,0x54,0xA2,0x60,0xF1, -0x54,0xC1,0x00,0x1C,0xE5,0x31,0x04,0x94,0x03,0x10,0x00,0x18,0x2F,0xB9,0x00,0x65, -0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0x48,0x5C,0x11,0x80, -0xFD,0x63,0x04,0x62,0x00,0x18,0x24,0xB4,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63, -0x0D,0xB2,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x43,0xA2,0x01,0x6D,0xAC,0xEA,0x10,0x22, -0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x07,0xB3,0x48,0x32, -0x69,0xE2,0x60,0xF2,0x4D,0xA2,0xAA,0xEA,0x03,0x61,0x45,0x67,0x20,0xE8,0xA0,0xC4, -0x20,0xE8,0x00,0x6A,0x00,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xF8,0x63,0x0E,0x62, -0x0D,0xD1,0x0C,0xD0,0xC4,0x67,0xFF,0xF7,0x1F,0x6D,0xAC,0xEE,0xFF,0x76,0x68,0x60, -0xC4,0x32,0xC9,0xE2,0x4C,0x32,0xCB,0xE2,0x35,0xB3,0x4C,0x32,0xCB,0xE2,0x48,0x32, -0x65,0xE2,0xC0,0xF0,0x74,0xA9,0x40,0x6F,0xAC,0xEB,0x6C,0xEF,0x25,0x27,0x04,0x6A, -0x6C,0xEA,0x08,0x22,0xE0,0xF0,0x8D,0x41,0x00,0xF1,0xA7,0x41,0x00,0x18,0x47,0x43, -0x0A,0xD6,0x0A,0x96,0x7D,0x67,0x01,0x6A,0x58,0xC3,0x86,0x67,0x00,0x6A,0x03,0x6E, -0xBD,0x67,0x5A,0xC3,0x00,0x68,0x00,0xF2,0x4A,0xC1,0x18,0x4D,0x64,0x6A,0xE6,0x67, -0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD0,0x02,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67, -0x6F,0x99,0x4D,0xEB,0x6F,0xD9,0x2D,0x10,0xE0,0xF0,0x4C,0xA1,0xFF,0x6C,0x01,0x72, -0x1C,0xB2,0x15,0x61,0x43,0xA2,0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x58,0xA1, -0x8C,0xEA,0x1F,0x2A,0x33,0x6A,0x7D,0x67,0xBD,0x67,0x58,0xC3,0x86,0x67,0x64,0x6A, -0x18,0x4D,0x02,0x6E,0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD7,0x12,0x10,0x43,0xA2, -0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x57,0xA1,0x8C,0xEA,0x0A,0x2A,0x60,0xF2, -0x4D,0xA1,0x8C,0xEA,0x01,0x72,0x05,0x61,0x9D,0x67,0x20,0x4C,0x80,0x18,0x44,0x34, -0xA6,0x67,0xC0,0xF0,0x54,0xA9,0x07,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC9, -0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80, -0x00,0x46,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0xF7,0x1F,0x6F, -0xAC,0xEF,0xE4,0x32,0xE9,0xE2,0x4C,0x32,0xEB,0xE2,0x38,0xB3,0x4C,0x32,0xEB,0xE2, -0x48,0x32,0x65,0xE2,0xC0,0xF0,0x54,0xA9,0xFF,0xF7,0x1F,0x6B,0xC4,0x67,0x6C,0xEA, -0x02,0x6B,0x6C,0xEA,0x09,0x2A,0xC4,0xA4,0x01,0x6A,0x87,0x67,0x28,0x6D,0x4C,0xEE, -0x20,0x18,0x9B,0x27,0x24,0x6F,0x52,0x10,0xF0,0xF0,0x0F,0x41,0xA5,0x46,0x90,0x67, -0x08,0x6E,0x00,0x18,0x2E,0x2E,0x04,0xD7,0x29,0xB2,0x01,0x6D,0xFF,0x6E,0x60,0xA2, -0x28,0xB2,0x04,0x97,0x83,0xA2,0xAC,0xEC,0x0E,0x24,0xC0,0xF2,0x56,0xA1,0xCC,0xEA, -0x03,0x2A,0xC0,0xF2,0xB6,0xC1,0x0C,0x10,0x60,0xF2,0xBC,0xA9,0xFF,0xF7,0x1F,0x6A, -0x00,0x6C,0x4C,0xED,0x29,0x10,0x20,0xF0,0x58,0xA1,0xCC,0xEA,0x03,0x72,0x1F,0x61, -0x00,0xF1,0x46,0x81,0x00,0x52,0x17,0x60,0x7E,0x32,0x15,0x22,0xC0,0xF0,0x54,0xA9, -0x04,0x68,0x03,0x6E,0x0D,0xEA,0x87,0x67,0xC0,0xF0,0x54,0xC9,0x00,0xF1,0xAF,0xC1, -0x00,0x18,0x2D,0xE2,0xE6,0x67,0x7F,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67,0x6F,0x99, -0x4D,0xEB,0x6F,0xD9,0x13,0x10,0x80,0x18,0x53,0x34,0x87,0x67,0x0F,0x10,0x60,0xF2, -0xBC,0xA9,0xFF,0xF7,0x1F,0x6B,0x6C,0xED,0x00,0x18,0xF8,0x4E,0xD0,0x67,0xC0,0xF0, -0x54,0xA9,0x03,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC9,0x08,0x97,0x07,0x91, -0x06,0x90,0x01,0x6A,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xC0,0x5B,0x11,0x80, -0x00,0x46,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x69, -0xAC,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x38,0xB3,0x4C,0x32,0x2B,0xE2, -0x48,0x32,0x0C,0xD4,0x61,0xE2,0xC0,0xF0,0x54,0xA8,0x66,0xA4,0xFF,0xF7,0x1F,0x6C, -0x8C,0xEA,0x04,0x6E,0xCC,0xEA,0x06,0x22,0x00,0xF1,0x4F,0xA0,0xFF,0x6D,0xAC,0xEA, -0x6E,0xEA,0x0D,0x22,0x0C,0x92,0xFF,0x6C,0x7F,0x6D,0xE4,0xA2,0x24,0x6A,0x04,0xD2, -0x8C,0xEF,0x01,0x6A,0x91,0x67,0x00,0x18,0xEF,0xE1,0x4C,0xEF,0x47,0x10,0x02,0x5B, -0x0B,0x60,0x0C,0x95,0x6C,0x34,0x11,0xE4,0xE0,0xF0,0x1F,0x4C,0x08,0x4D,0x08,0x6E, -0x00,0x18,0x2E,0x2E,0x06,0xD3,0x06,0x93,0x21,0xB2,0x01,0x6D,0x83,0xA2,0xAC,0xEC, -0x15,0x24,0xC0,0xF2,0x57,0xA0,0xFF,0x6C,0x8C,0xEA,0x07,0x2A,0x80,0x18,0x53,0x34, -0x91,0x67,0x01,0x6D,0xC0,0xF2,0xB7,0xC0,0x29,0x10,0x1A,0xB2,0x60,0xF2,0xBC,0xA8, -0x00,0x6C,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0x11,0x10,0x20,0xF0,0x58,0xA0, -0xFF,0x6D,0xAC,0xEA,0x03,0x72,0x04,0x61,0x00,0x18,0xA5,0xFF,0x91,0x67,0x16,0x10, -0x10,0xB2,0x60,0xF2,0xBC,0xA8,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0xFF,0xF7, -0x1F,0x6A,0x4C,0xED,0xFF,0x6A,0xC3,0x67,0x00,0x18,0x8A,0x41,0x4C,0xEF,0xC0,0xF0, -0x54,0xA8,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC8,0x0A,0x97,0x09,0x91, -0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x00,0x46,0x11,0x80, -0xC0,0x5B,0x11,0x80,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x64,0xAC,0xC4,0x67, -0x24,0x73,0x22,0x61,0x94,0xB2,0x60,0xF1,0x50,0xA2,0x1E,0x22,0x7D,0x67,0x01,0xF4, -0x03,0x6A,0x40,0xF0,0x58,0xCB,0x00,0x1C,0xDD,0x31,0x00,0x65,0x00,0x18,0xFE,0x4F, -0x02,0x67,0x00,0x6D,0x9D,0x67,0xC5,0x67,0x80,0x18,0x49,0x2B,0x58,0x4C,0x80,0x18, -0x4E,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x20,0x18,0x10,0x2F,0x00,0x65, -0x00,0x1C,0xE5,0x31,0x90,0x67,0x01,0x11,0xFF,0xF7,0x1F,0x69,0x51,0x67,0x6C,0xEA, -0x9C,0x72,0x1A,0x61,0x00,0x9E,0xFF,0x6F,0x44,0xA0,0x46,0x32,0x2C,0xEA,0x18,0x72, -0x13,0x61,0xBA,0xA0,0x99,0xA0,0xDD,0x67,0xEC,0xED,0xEC,0xEC,0x00,0x18,0x1A,0xDF, -0x5A,0x4E,0x06,0x2A,0xBD,0x67,0x40,0xF0,0x9A,0xAD,0x20,0x18,0x62,0x23,0x2C,0xEC, -0x20,0x18,0xCF,0x06,0x90,0x67,0xD8,0x10,0xFF,0xF7,0x1F,0x6C,0x44,0x67,0x6C,0xEA, -0x93,0x72,0x29,0x61,0x00,0x9E,0x44,0xA0,0x46,0x32,0x11,0x72,0x07,0x60,0x7F,0x72, -0x22,0x61,0x45,0xA0,0xFF,0x6B,0x6C,0xEA,0x17,0x72,0x1D,0x61,0x6B,0xA8,0x8C,0xEB, -0xFF,0x73,0x19,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2, -0x67,0xB3,0x48,0x32,0x69,0xE2,0xBF,0x9A,0x82,0x67,0x00,0x18,0xB2,0x69,0x1C,0xD6, -0x01,0x72,0x64,0xA0,0x1C,0x96,0x03,0x61,0x01,0x6A,0x6D,0xEA,0x03,0x10,0x02,0x6A, -0x4B,0xEA,0x6C,0xEA,0x44,0xC0,0x44,0xAE,0xFF,0xF7,0x1F,0x6C,0x93,0x72,0xA0,0xF0, -0x09,0x61,0x00,0x9E,0xFF,0x6A,0xA2,0x67,0x64,0xA0,0x6C,0xED,0xA6,0x35,0x8C,0xED, -0x18,0xD5,0xA5,0xA0,0x4C,0xED,0x19,0xD5,0x4B,0xA8,0x18,0x95,0x8C,0xEA,0x7F,0x75, -0x1A,0xD2,0x03,0x61,0x19,0x92,0x04,0x72,0x04,0x60,0x18,0x95,0x28,0x75,0x80,0xF0, -0x11,0x61,0xFF,0x69,0xC1,0x9E,0x51,0x67,0x6C,0xEA,0x46,0x32,0x2C,0xEA,0xA6,0x67, -0x9D,0x67,0x18,0xD2,0x5C,0x4C,0xDA,0xC0,0x2C,0xED,0x00,0x18,0x3B,0x94,0x1C,0xD6, -0x18,0x92,0x1C,0x96,0x7F,0x72,0x58,0x67,0x1B,0xD2,0x04,0x22,0xE1,0xF4,0x03,0x6F, -0x00,0x6B,0x04,0x10,0x65,0xA0,0x01,0xF4,0x16,0x6F,0x2C,0xEB,0x10,0x6A,0x04,0xD2, -0x40,0xB2,0x18,0x95,0x08,0xD3,0x05,0xD2,0x17,0x92,0x07,0xD5,0x01,0x6B,0x06,0xD2, -0x59,0xA0,0x0A,0xD6,0x04,0x6C,0x09,0xD2,0x44,0xA0,0xFA,0x6D,0x6C,0xEA,0x0B,0xD2, -0x4B,0xA8,0x0C,0xD2,0x38,0xB2,0x49,0xE6,0x44,0xA2,0xA2,0xF4,0x10,0x6E,0x6C,0xEA, -0x0D,0xD2,0x44,0xA0,0x0E,0xD2,0x45,0xA0,0x0F,0xD2,0x46,0xA0,0x10,0xD2,0x47,0xA0, -0x11,0xD2,0x48,0xA0,0x12,0xD2,0x49,0xA0,0x13,0xD2,0x4A,0xA0,0x14,0xD2,0x4B,0xA0, -0x20,0x18,0x1B,0x32,0x15,0xD2,0x1A,0x92,0xFF,0x72,0x3E,0x60,0x1A,0x93,0x44,0x32, -0xFF,0x6D,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x24,0xB3,0x48,0x32, -0x65,0xE2,0xE0,0xF0,0x4B,0xA1,0xAC,0xEA,0x01,0x72,0x2E,0x61,0x20,0xF0,0x58,0xA1, -0xFF,0x6B,0x6C,0xEA,0x0B,0x72,0x13,0x61,0x1C,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D, -0x80,0x9A,0x00,0xF2,0x54,0xA1,0xFF,0x6D,0xAC,0xEA,0x01,0x72,0x26,0x61,0x8D,0x99, -0x00,0x18,0x1A,0x1E,0x00,0x6D,0x00,0x6A,0x00,0xF2,0x54,0xC1,0x1E,0x10,0x1A,0x94, -0x00,0x18,0x5E,0xDE,0xB0,0x67,0x1B,0x92,0x08,0x2A,0x19,0x93,0x04,0x73,0x05,0x61, -0x1A,0x95,0x80,0x18,0xD1,0x34,0x90,0x67,0x07,0x10,0x18,0x95,0x28,0x75,0x04,0x61, -0x1A,0x95,0x80,0x18,0x91,0x34,0x90,0x67,0x08,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D, -0x80,0x9A,0x03,0x10,0x20,0x18,0xFA,0x24,0x86,0x67,0x20,0x97,0x1F,0x91,0x1E,0x90, -0x00,0xEF,0x11,0x63,0x48,0x5C,0x11,0x80,0x64,0x52,0x11,0x80,0x48,0x60,0x11,0x80, -0xFC,0xA5,0x10,0x80,0x04,0x46,0x11,0x80,0xFF,0x63,0x00,0xD0,0x0F,0xB0,0xFF,0xF7, -0x1F,0x6A,0x4C,0xEC,0x00,0x6B,0xE2,0x67,0xFF,0x6E,0x64,0x32,0x69,0xE2,0x48,0x32, -0x6B,0xE2,0x48,0x32,0x15,0xE2,0x43,0xAD,0xEC,0xEA,0x8E,0xEA,0x05,0x2A,0x42,0x9D, -0x08,0x72,0x02,0x61,0x00,0x6A,0x05,0x10,0x01,0x4B,0xCC,0xEB,0x03,0x5B,0xED,0x61, -0x01,0x6A,0x00,0x90,0x20,0xE8,0x01,0x63,0x98,0x5F,0x11,0x80,0xFD,0x63,0x04,0x62, -0x16,0xB2,0x00,0x6B,0x60,0xF1,0x43,0xA2,0x01,0x72,0x14,0x61,0x14,0xB6,0x83,0x67, -0xFF,0x6D,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x8B,0xE2,0x48,0x32, -0xC9,0xE2,0xE0,0xF0,0x4B,0xA2,0xAC,0xEA,0x01,0x72,0x0D,0x60,0x01,0x4C,0xAC,0xEC, -0x0A,0x5C,0xEF,0x61,0x09,0xB2,0x60,0xF1,0x43,0xA2,0x02,0x5A,0x02,0x60,0x43,0x67, -0x07,0x23,0x0C,0x6A,0x05,0x10,0x80,0x18,0xAE,0x35,0x00,0x65,0x62,0x67,0xF2,0x17, -0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x48,0x60,0x11,0x80, -0xF9,0x63,0x0C,0x62,0x0B,0xD1,0x0A,0xD0,0x00,0x6A,0x0F,0xD5,0x06,0xD2,0x40,0xAC, -0x24,0x67,0x01,0xF0,0x0B,0x72,0x0C,0x61,0xBD,0x67,0x80,0x18,0xD5,0x2B,0x10,0x4D, -0x80,0xA9,0xFF,0xF7,0x1F,0x6B,0xA2,0x67,0x00,0x18,0xC5,0x4A,0x6C,0xEC,0xAC,0x10, -0x00,0xF4,0x19,0x72,0x2C,0x61,0x49,0xA4,0x03,0x5A,0x02,0x61,0x01,0x6A,0x49,0xC4, -0x7D,0x67,0x58,0xA3,0x00,0x1C,0xDD,0x31,0x52,0xC3,0xBD,0x67,0x91,0x67,0x12,0x4D, -0x00,0x18,0xB7,0x45,0x07,0xD2,0x02,0x67,0x0C,0x2A,0xA9,0xA1,0xFF,0x6B,0x20,0x6A, -0x6C,0xED,0xB8,0x35,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0xAA,0x6C,0x00,0x18,0xB6,0x33, -0x4C,0xED,0x00,0x1C,0xE5,0x31,0x07,0x94,0x7D,0x67,0x52,0xA3,0xFF,0x6B,0x6C,0xEA, -0x61,0x2A,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0xB0,0x67,0x4C,0xEC,0x58,0x10,0x00,0xF4, -0x05,0x72,0x06,0x61,0x4B,0xA4,0x03,0x5A,0x79,0x61,0x01,0x6A,0x4B,0xC4,0x76,0x10, -0x41,0xF4,0x12,0x72,0x10,0x61,0x00,0x18,0xE5,0x41,0x00,0x65,0x06,0x94,0x00,0x18, -0x78,0x36,0x02,0x67,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x18, -0x33,0x4B,0xB0,0x67,0x3F,0x10,0x01,0xF0,0x04,0x72,0x3F,0x61,0x04,0xA4,0xFF,0xF7, -0x1F,0x6A,0xFF,0xF7,0x1F,0x6B,0x00,0x30,0x4C,0xE8,0x43,0xA4,0xBD,0x67,0x14,0x4D, -0x4D,0xE8,0x6C,0xE8,0x00,0x18,0x2A,0xDF,0x90,0x67,0x04,0x22,0x5D,0x67,0x0A,0xCA, -0x02,0x6A,0x23,0x10,0x7D,0x67,0xAA,0xAB,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x64,0x32, -0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x27,0xB3,0x48,0x32,0x69,0xE2, -0x20,0xF0,0x78,0xA2,0xFF,0x6A,0x4C,0xEB,0x12,0x73,0x0A,0x60,0x19,0x73,0x08,0x60, -0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0x0C,0x6D,0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x2E,0x10, -0xFF,0xF7,0x1F,0x6C,0x00,0x18,0x0C,0x48,0xAC,0xEC,0x80,0xA9,0xA2,0x67,0x00,0x18, -0xC5,0x4A,0x00,0x65,0x01,0x6B,0x06,0xD3,0x21,0x10,0x21,0xF4,0x06,0x72,0x1E,0x61, -0x80,0x18,0xBF,0x35,0x00,0x65,0x10,0x2A,0x14,0xB0,0x7D,0x67,0x78,0xA3,0x60,0xF1, -0x43,0xA0,0x91,0x67,0x60,0xF1,0x63,0xC0,0x00,0x18,0xFC,0x52,0x08,0xD2,0x7D,0x67, -0x20,0xF0,0x60,0xA3,0x60,0xF1,0x63,0xC0,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6B, -0x6C,0xEC,0x00,0x18,0x33,0x4B,0xA2,0x67,0x01,0x6A,0x06,0xD2,0x06,0x92,0x03,0x22, -0x0F,0x93,0x66,0x6A,0x40,0xC3,0x0C,0x97,0x0B,0x91,0x0A,0x90,0x01,0x6A,0x00,0xEF, -0x07,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF5,0x63,0x14,0x62, -0x13,0xD1,0x12,0xD0,0x00,0x6D,0x17,0xF7,0x0C,0x6E,0x00,0x18,0x01,0xA0,0x33,0x6C, -0x61,0xB4,0x20,0x18,0xD6,0x32,0x00,0x69,0x20,0x18,0x5B,0x30,0x00,0x65,0x00,0x18, -0xA6,0x5C,0x00,0x65,0x00,0x18,0xC8,0x8A,0x00,0x65,0x00,0x18,0xA3,0x9B,0x00,0x65, -0x5A,0xB4,0x00,0x18,0x44,0x81,0x00,0x65,0x59,0xB0,0x00,0x18,0x4C,0x81,0x90,0x67, -0x87,0x40,0x00,0x18,0x4C,0x81,0x01,0x4C,0x56,0xB4,0x57,0xB5,0x20,0xC0,0x00,0x18, -0x2E,0x2E,0x30,0x6E,0x55,0xB5,0x88,0x40,0xD8,0x4C,0x00,0x18,0x2E,0x2E,0x30,0x6E, -0x53,0xB5,0x87,0x40,0x11,0x4C,0x00,0x18,0x2E,0x2E,0x18,0x6E,0x51,0xB0,0x03,0x6B, -0x40,0x98,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x6A,0xEA,0x05,0x60,0x4E,0xB2,0x20,0xF1, -0x2C,0xC2,0x20,0xF1,0x36,0xC2,0x00,0x18,0x04,0xF6,0x00,0x65,0x00,0x18,0x48,0x3C, -0x00,0x65,0x00,0x18,0x71,0x32,0x00,0x65,0x00,0x18,0xE2,0x24,0x00,0x65,0x00,0x18, -0x9A,0x7E,0x00,0x65,0x00,0x18,0xB5,0xC8,0x00,0x65,0x45,0xB3,0x43,0xB2,0x60,0xDA, -0x00,0x18,0x0B,0x2B,0x00,0x65,0x40,0x98,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x03,0x72, -0x05,0x61,0x9D,0x67,0x40,0x4C,0x00,0x18,0x1B,0x28,0x00,0x6D,0x00,0x18,0xE9,0x2F, -0x00,0x65,0x80,0x18,0x68,0x2A,0x00,0x65,0x20,0x18,0xA2,0x39,0x00,0x65,0x80,0x18, -0x1C,0x2A,0x00,0x65,0x00,0x1C,0xAD,0x31,0x00,0x65,0x29,0xF6,0x00,0x6D,0x00,0x18, -0x17,0x2D,0x01,0x6C,0x09,0x6A,0x04,0xD2,0x32,0xB2,0x2F,0xB3,0x01,0x6C,0x05,0xD2, -0x68,0xF1,0x1A,0x6A,0x06,0xD2,0x30,0xF0,0x0E,0x6A,0x07,0xD2,0x2E,0xB2,0xFA,0x6D, -0x09,0xF6,0x17,0x6E,0x40,0x9A,0xA1,0xF3,0x16,0x6F,0x08,0xD2,0x40,0xF0,0x41,0xA3, -0x09,0xD2,0x40,0xF0,0x40,0xA3,0x0A,0xD2,0x20,0xF0,0x5F,0xA3,0x0B,0xD2,0x20,0xF0, -0x5E,0xA3,0x0C,0xD2,0x20,0xF0,0x5D,0xA3,0x0D,0xD2,0x20,0xF0,0x5C,0xA3,0x20,0x18, -0x1B,0x32,0x0E,0xD2,0x21,0xB2,0x22,0xB3,0x40,0x9A,0x6E,0xEA,0x19,0x2A,0x21,0xB1, -0x21,0xB3,0x40,0x99,0x6E,0xEA,0x14,0x2A,0x20,0xB0,0x21,0xB2,0x21,0xB3,0x80,0x98, -0x8C,0xEA,0x6E,0xEA,0x0B,0x2A,0x20,0xB3,0x00,0xF6,0x82,0x32,0x00,0x6D,0x3F,0xF4, -0x00,0x6C,0x00,0x18,0xFA,0x8B,0x40,0xC3,0x00,0x6A,0x40,0xD8,0x00,0x6A,0x40,0xD9, -0x13,0xB3,0x12,0xB2,0x20,0x18,0x3D,0x36,0x60,0xDA,0x14,0x97,0x13,0x91,0x12,0x90, -0x00,0xEF,0x0B,0x63,0x84,0xC8,0x00,0x80,0x03,0x00,0x00,0xC4,0x98,0x24,0x11,0x80, -0x38,0x24,0x11,0x80,0xF8,0xDA,0x10,0x80,0x40,0xDB,0x10,0x80,0x28,0xDB,0x10,0x80, -0x6C,0x1D,0x11,0x80,0xDC,0x00,0x11,0x80,0x5C,0xA1,0x00,0xB0,0x00,0x00,0x01,0x00, -0xFC,0xA5,0x10,0x80,0x90,0x1E,0x11,0x80,0x3C,0x91,0x10,0x80,0xEF,0xBE,0x23,0x87, -0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x40,0x91,0x10,0x80,0xFF,0xFF,0xFF,0x00, -0xEE,0xFF,0xC0,0x00,0xD0,0x00,0x11,0x80,0x2E,0x5A,0x2C,0x4B,0xCF,0x9D,0xF2,0xCB, -0x74,0x9C,0x13,0xCE,0x57,0xF4,0x4C,0x54,0x48,0xA9,0xD3,0x53,0xC5,0x19,0x73,0x6F, -0xF7,0xEB,0x68,0x53,0xCC,0xAE,0x50,0xF1,0x57,0x02,0xE2,0x66,0xA3,0x5C,0xBC,0xD3, -0xB7,0xA6,0x2F,0xC9,0xAE,0xDC,0x77,0x9E,0x07,0x91,0x5F,0x86,0x91,0x8D,0xDC,0x27, -0x00,0x5D,0xF1,0xD6,0xCF,0x0C,0x14,0x2B,0x62,0x5E,0xD2,0xEF,0xF4,0xA5,0x18,0xFF, -0x15,0x20,0x70,0x09,0x98,0x44,0x21,0xA6,0x58,0x6F,0x9F,0xC3,0xFE,0x7E,0x43,0x29, -0xD2,0x80,0x9E,0xA5,0x11,0x25,0xF8,0xED,0xB0,0x9D,0x42,0xB8,0x1B,0xC5,0xBD,0x00, -0x9F,0x79,0xE4,0xB5,0x9D,0xBB,0xAA,0x85,0x7F,0xCA,0x85,0x6F,0xB9,0xF7,0xEA,0x25, -0x07,0x04,0x05,0x01,0x00,0x00,0x00,0x00,0x02,0x01,0x00,0x02,0x04,0x00,0x00,0x00, -0x01,0x03,0x02,0x04,0x00,0x00,0x00,0x00,0x1B,0x00,0xB7,0x00,0x53,0x01,0x36,0x00, -0x6F,0x01,0xA7,0x02,0x53,0x00,0x28,0x02,0xFD,0x03,0x25,0x00,0x04,0x0B,0x0F,0x04, -0x0A,0x0E,0x08,0x0B,0x0F,0x00,0x00,0x00,0x7A,0x41,0x2E,0x80,}; - -#endif //CONFIG_MP_INCLUDED - -#ifndef CONFIG_PHY_SETTING_WITH_ODM -u32 Rtl8723UPHY_REG_2TArray[Rtl8723UPHY_REG_2TArrayLength] = { -0x0, }; - -u32 Rtl8723UPHY_REG_1TArray[Rtl8723UPHY_REG_1TArrayLength] = { -0x800,0x80040000, -0x804,0x00000003, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10005388, -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66f60110, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x32323200, -0x870,0x07000760, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xa78,0x00000900, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x7116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00080740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u32 Rtl8723UPHY_ChangeTo_1T1RArray[Rtl8723UPHY_ChangeTo_1T1RArrayLength] = { -0x0, }; - -u32 Rtl8723UPHY_ChangeTo_1T2RArray[Rtl8723UPHY_ChangeTo_1T2RArrayLength] = { -0x0, }; - -u32 Rtl8723UPHY_ChangeTo_2T2RArray[Rtl8723UPHY_ChangeTo_2T2RArrayLength] = { -0x0, }; - - -u32 Rtl8723UPHY_REG_1T_mCardArray[Rtl8723UPHY_REG_1T_mCardArrayLength] = { -0x800,0x80040000, -0x804,0x00000003, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10005388, -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66f60110, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x32323200, -0x870,0x07000760, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xa78,0x00000900, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x7116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00080740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u32 Rtl8723UPHY_REG_1T_SDIOArray[Rtl8723UPHY_REG_1T_SDIOArrayLength] = { -0x800,0x80040000, -0x804,0x00000003, -0x808,0x0000fc00, -0x80c,0x0000000a, -0x810,0x10005388, -0x814,0x020c3d10, -0x818,0x02200385, -0x81c,0x00000000, -0x820,0x01000100, -0x824,0x00390004, -0x828,0x00000000, -0x82c,0x00000000, -0x830,0x00000000, -0x834,0x00000000, -0x838,0x00000000, -0x83c,0x00000000, -0x840,0x00010000, -0x844,0x00000000, -0x848,0x00000000, -0x84c,0x00000000, -0x850,0x00000000, -0x854,0x00000000, -0x858,0x569a569a, -0x85c,0x001b25a4, -0x860,0x66f60110, -0x864,0x061f0130, -0x868,0x00000000, -0x86c,0x32323200, -0x870,0x07000760, -0x874,0x22004000, -0x878,0x00000808, -0x87c,0x00000000, -0x880,0xc0083070, -0x884,0x000004d5, -0x888,0x00000000, -0x88c,0xccc000c0, -0x890,0x00000800, -0x894,0xfffffffe, -0x898,0x40302010, -0x89c,0x00706050, -0x900,0x00000000, -0x904,0x00000023, -0x908,0x00000000, -0x90c,0x81121111, -0xa00,0x00d047c8, -0xa04,0x80ff000c, -0xa08,0x8c838300, -0xa0c,0x2e68120f, -0xa10,0x9500bb78, -0xa14,0x11144028, -0xa18,0x00881117, -0xa1c,0x89140f00, -0xa20,0x1a1b0000, -0xa24,0x090e1317, -0xa28,0x00000204, -0xa2c,0x00d30000, -0xa70,0x101fbf00, -0xa74,0x00000007, -0xa78,0x00000900, -0xc00,0x48071d40, -0xc04,0x03a05611, -0xc08,0x000000e4, -0xc0c,0x6c6c6c6c, -0xc10,0x08800000, -0xc14,0x40000100, -0xc18,0x08800000, -0xc1c,0x40000100, -0xc20,0x00000000, -0xc24,0x00000000, -0xc28,0x00000000, -0xc2c,0x00000000, -0xc30,0x69e9ac44, -0xc34,0x469652cf, -0xc38,0x49795994, -0xc3c,0x0a97971c, -0xc40,0x1f7c403f, -0xc44,0x000100b7, -0xc48,0xec020107, -0xc4c,0x007f037f, -0xc50,0x69543420, -0xc54,0x43bc0094, -0xc58,0x69543420, -0xc5c,0x433c0094, -0xc60,0x00000000, -0xc64,0x7116848b, -0xc68,0x47c00bff, -0xc6c,0x00000036, -0xc70,0x2c7f000d, -0xc74,0x018610db, -0xc78,0x0000001f, -0xc7c,0x00b91612, -0xc80,0x40000100, -0xc84,0x20f60000, -0xc88,0x40000100, -0xc8c,0x20200000, -0xc90,0x00121820, -0xc94,0x00000000, -0xc98,0x00121820, -0xc9c,0x00007f7f, -0xca0,0x00000000, -0xca4,0x00000080, -0xca8,0x00000000, -0xcac,0x00000000, -0xcb0,0x00000000, -0xcb4,0x00000000, -0xcb8,0x00000000, -0xcbc,0x28000000, -0xcc0,0x00000000, -0xcc4,0x00000000, -0xcc8,0x00000000, -0xccc,0x00000000, -0xcd0,0x00000000, -0xcd4,0x00000000, -0xcd8,0x64b22427, -0xcdc,0x00766932, -0xce0,0x00222222, -0xce4,0x00000000, -0xce8,0x37644302, -0xcec,0x2f97d40c, -0xd00,0x00080740, -0xd04,0x00020401, -0xd08,0x0000907f, -0xd0c,0x20010201, -0xd10,0xa0633333, -0xd14,0x3333bc43, -0xd18,0x7a8f5b6b, -0xd2c,0xcc979975, -0xd30,0x00000000, -0xd34,0x80608000, -0xd38,0x00000000, -0xd3c,0x00027293, -0xd40,0x00000000, -0xd44,0x00000000, -0xd48,0x00000000, -0xd4c,0x00000000, -0xd50,0x6437140a, -0xd54,0x00000000, -0xd58,0x00000000, -0xd5c,0x30032064, -0xd60,0x4653de68, -0xd64,0x04518a3c, -0xd68,0x00002101, -0xd6c,0x2a201c16, -0xd70,0x1812362e, -0xd74,0x322c2220, -0xd78,0x000e3c24, -0xe00,0x2a2a2a2a, -0xe04,0x2a2a2a2a, -0xe08,0x03902a2a, -0xe10,0x2a2a2a2a, -0xe14,0x2a2a2a2a, -0xe18,0x2a2a2a2a, -0xe1c,0x2a2a2a2a, -0xe28,0x00000000, -0xe30,0x1000dc1f, -0xe34,0x10008c1f, -0xe38,0x02140102, -0xe3c,0x681604c2, -0xe40,0x01007c00, -0xe44,0x01004800, -0xe48,0xfb000000, -0xe4c,0x000028d1, -0xe50,0x1000dc1f, -0xe54,0x10008c1f, -0xe58,0x02140102, -0xe5c,0x28160d05, -0xe60,0x00000008, -0xe68,0x001b25a4, -0xe6c,0x631b25a0, -0xe70,0x631b25a0, -0xe74,0x081b25a0, -0xe78,0x081b25a0, -0xe7c,0x081b25a0, -0xe80,0x081b25a0, -0xe84,0x631b25a0, -0xe88,0x081b25a0, -0xe8c,0x631b25a0, -0xed0,0x631b25a0, -0xed4,0x631b25a0, -0xed8,0x631b25a0, -0xedc,0x001b25a0, -0xee0,0x001b25a0, -0xeec,0x6b1b25a0, -0xf14,0x00000003, -0xf4c,0x00000000, -0xf00,0x00000300, -}; - -u32 Rtl8723URadioA_2TArray[Rtl8723URadioA_2TArrayLength] = { -0x0, }; - -u32 Rtl8723URadioB_2TArray[Rtl8723URadioB_2TArrayLength] = { -0x0, }; - -u32 Rtl8723URadioA_1TArray[Rtl8723URadioA_1TArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00039c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001a3f1, -0x00b,0x00014787, -0x00c,0x000896fe, -0x00d,0x0000e02c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00030355, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0000024f, -0x01f,0x00000000, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x00057730, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f474, -0x015,0x0004f477, -0x015,0x0008f474, -0x015,0x000cf474, -0x016,0x00000339, -0x016,0x00040339, -0x016,0x00080339, -0x016,0x000c0366, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00000003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00000247, -0x01f,0x00000000, -0x000,0x00030159, -}; - -u32 Rtl8723URadioB_1TArray[Rtl8723URadioB_1TArrayLength] = { -0x0, }; - -u32 Rtl8723URadioA_1T_mCardArray[Rtl8723URadioA_1T_mCardArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00018c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001a3f1, -0x00b,0x00014787, -0x00c,0x000896fe, -0x00d,0x0000e02c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00030355, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0004445f, -0x01f,0x00080001, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x00057730, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f424, -0x015,0x0004f424, -0x015,0x0008f424, -0x015,0x000cf424, -0x016,0x00000339, -0x016,0x00040339, -0x016,0x00080339, -0x016,0x000c0356, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00080003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00044457, -0x01f,0x00080000, -0x000,0x00030159, -}; - -u32 Rtl8723URadioA_1T_SDIOArray[Rtl8723URadioA_1T_SDIOArrayLength] = { -0x000,0x00030159, -0x001,0x00031284, -0x002,0x00098000, -0x003,0x00039c63, -0x004,0x000210e7, -0x009,0x0002044f, -0x00a,0x0001a3f1, -0x00b,0x00014787, -0x00c,0x000896fe, -0x00d,0x0000e02c, -0x00e,0x00039ce7, -0x00f,0x00000451, -0x019,0x00000000, -0x01a,0x00030355, -0x01b,0x00060a00, -0x01c,0x000fc378, -0x01d,0x000a1250, -0x01e,0x0000024f, -0x01f,0x00000000, -0x020,0x0000b614, -0x021,0x0006c000, -0x022,0x00000000, -0x023,0x00001558, -0x024,0x00000060, -0x025,0x00000483, -0x026,0x0004f000, -0x027,0x000ec7d9, -0x028,0x00057730, -0x029,0x00004783, -0x02a,0x00000001, -0x02b,0x00021334, -0x02a,0x00000000, -0x02b,0x00000054, -0x02a,0x00000001, -0x02b,0x00000808, -0x02b,0x00053333, -0x02c,0x0000000c, -0x02a,0x00000002, -0x02b,0x00000808, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000003, -0x02b,0x00000808, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000004, -0x02b,0x00000808, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x00000005, -0x02b,0x00000808, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x00000006, -0x02b,0x00000709, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x00000007, -0x02b,0x00000709, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x00000008, -0x02b,0x0000060a, -0x02b,0x0004b333, -0x02c,0x0000000d, -0x02a,0x00000009, -0x02b,0x0000060a, -0x02b,0x00053333, -0x02c,0x0000000d, -0x02a,0x0000000a, -0x02b,0x0000060a, -0x02b,0x0005b333, -0x02c,0x0000000d, -0x02a,0x0000000b, -0x02b,0x0000060a, -0x02b,0x00063333, -0x02c,0x0000000d, -0x02a,0x0000000c, -0x02b,0x0000060a, -0x02b,0x0006b333, -0x02c,0x0000000d, -0x02a,0x0000000d, -0x02b,0x0000060a, -0x02b,0x00073333, -0x02c,0x0000000d, -0x02a,0x0000000e, -0x02b,0x0000050b, -0x02b,0x00066666, -0x02c,0x0000001a, -0x02a,0x000e0000, -0x010,0x0004000f, -0x011,0x000e31fc, -0x010,0x0006000f, -0x011,0x000ff9f8, -0x010,0x0002000f, -0x011,0x000203f9, -0x010,0x0003000f, -0x011,0x000ff500, -0x010,0x00000000, -0x011,0x00000000, -0x010,0x0008000f, -0x011,0x0003f100, -0x010,0x0009000f, -0x011,0x00023100, -0x012,0x00032000, -0x012,0x00071000, -0x012,0x000b0000, -0x012,0x000fc000, -0x013,0x000287b3, -0x013,0x000244b7, -0x013,0x000204ab, -0x013,0x0001c49f, -0x013,0x00018493, -0x013,0x0001429b, -0x013,0x00010299, -0x013,0x0000c29c, -0x013,0x000081a0, -0x013,0x000040ac, -0x013,0x00000020, -0x014,0x0001944c, -0x014,0x00059444, -0x014,0x0009944c, -0x014,0x000d9444, -0x015,0x0000f474, -0x015,0x0004f477, -0x015,0x0008f474, -0x015,0x000cf474, -0x016,0x00000339, -0x016,0x00040339, -0x016,0x00080339, -0x016,0x000c0366, -0x000,0x00010159, -0x018,0x0000f401, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01f,0x00000003, -0x0fe,0x00000000, -0x0fe,0x00000000, -0x01e,0x00000247, -0x01f,0x00000000, -0x000,0x00030159, -}; - -u32 Rtl8723URadioB_GM_Array[Rtl8723URadioB_GM_ArrayLength] = { -0x0, }; - -u32 Rtl8723UMAC_2T_Array[Rtl8723UMAC_2T_ArrayLength] = { -0x420,0x00000080, -0x423,0x00000000, -0x430,0x00000000, -0x431,0x00000000, -0x432,0x00000000, -0x433,0x00000001, -0x434,0x00000004, -0x435,0x00000005, -0x436,0x00000006, -0x437,0x00000007, -0x438,0x00000000, -0x439,0x00000000, -0x43a,0x00000000, -0x43b,0x00000001, -0x43c,0x00000004, -0x43d,0x00000005, -0x43e,0x00000006, -0x43f,0x00000007, -0x440,0x0000005d, -0x441,0x00000001, -0x442,0x00000000, -0x444,0x00000015, -0x445,0x000000f0, -0x446,0x0000000f, -0x447,0x00000000, -0x458,0x00000041, -0x459,0x000000a8, -0x45a,0x00000072, -0x45b,0x000000b9, -0x460,0x00000066, -0x461,0x00000066, -0x462,0x00000008, -0x463,0x00000003, -0x4c8,0x000000ff, -0x4c9,0x00000008, -0x4cc,0x000000ff, -0x4cd,0x000000ff, -0x4ce,0x00000001, -0x500,0x00000026, -0x501,0x000000a2, -0x502,0x0000002f, -0x503,0x00000000, -0x504,0x00000028, -0x505,0x000000a3, -0x506,0x0000005e, -0x507,0x00000000, -0x508,0x0000002b, -0x509,0x000000a4, -0x50a,0x0000005e, -0x50b,0x00000000, -0x50c,0x0000004f, -0x50d,0x000000a4, -0x50e,0x00000000, -0x50f,0x00000000, -0x512,0x0000001c, -0x514,0x0000000a, -0x515,0x00000010, -0x516,0x0000000a, -0x517,0x00000010, -0x51a,0x00000016, -0x524,0x0000000f, -0x525,0x0000004f, -0x546,0x00000040, -0x547,0x00000000, -0x550,0x00000010, -0x551,0x00000010, -0x559,0x00000002, -0x55a,0x00000002, -0x55d,0x000000ff, -0x605,0x00000030, -0x608,0x0000000e, -0x609,0x0000002a, -0x652,0x00000020, -0x63c,0x0000000a, -0x63d,0x0000000e, -0x63e,0x0000000a, -0x63f,0x0000000e, -0x66e,0x00000005, -0x700,0x00000021, -0x701,0x00000043, -0x702,0x00000065, -0x703,0x00000087, -0x708,0x00000021, -0x709,0x00000043, -0x70a,0x00000065, -0x70b,0x00000087, -}; - - -u32 Rtl8723UAGCTAB_2TArray[Rtl8723UAGCTAB_2TArrayLength] = { -0x0, }; - -u32 Rtl8723UAGCTAB_1TArray[Rtl8723UAGCTAB_1TArrayLength] = { -0xc78,0x7b000001, -0xc78,0x7b010001, -0xc78,0x7b020001, -0xc78,0x7b030001, -0xc78,0x7b040001, -0xc78,0x7b050001, -0xc78,0x7a060001, -0xc78,0x79070001, -0xc78,0x78080001, -0xc78,0x77090001, -0xc78,0x760a0001, -0xc78,0x750b0001, -0xc78,0x740c0001, -0xc78,0x730d0001, -0xc78,0x720e0001, -0xc78,0x710f0001, -0xc78,0x70100001, -0xc78,0x6f110001, -0xc78,0x6e120001, -0xc78,0x6d130001, -0xc78,0x6c140001, -0xc78,0x6b150001, -0xc78,0x6a160001, -0xc78,0x69170001, -0xc78,0x68180001, -0xc78,0x67190001, -0xc78,0x661a0001, -0xc78,0x651b0001, -0xc78,0x641c0001, -0xc78,0x631d0001, -0xc78,0x621e0001, -0xc78,0x611f0001, -0xc78,0x60200001, -0xc78,0x49210001, -0xc78,0x48220001, -0xc78,0x47230001, -0xc78,0x46240001, -0xc78,0x45250001, -0xc78,0x44260001, -0xc78,0x43270001, -0xc78,0x42280001, -0xc78,0x41290001, -0xc78,0x402a0001, -0xc78,0x262b0001, -0xc78,0x252c0001, -0xc78,0x242d0001, -0xc78,0x232e0001, -0xc78,0x222f0001, -0xc78,0x21300001, -0xc78,0x20310001, -0xc78,0x06320001, -0xc78,0x05330001, -0xc78,0x04340001, -0xc78,0x03350001, -0xc78,0x02360001, -0xc78,0x01370001, -0xc78,0x00380001, -0xc78,0x00390001, -0xc78,0x003a0001, -0xc78,0x003b0001, -0xc78,0x003c0001, -0xc78,0x003d0001, -0xc78,0x003e0001, -0xc78,0x003f0001, -0xc78,0x7b400001, -0xc78,0x7b410001, -0xc78,0x7b420001, -0xc78,0x7b430001, -0xc78,0x7b440001, -0xc78,0x7b450001, -0xc78,0x7a460001, -0xc78,0x79470001, -0xc78,0x78480001, -0xc78,0x77490001, -0xc78,0x764a0001, -0xc78,0x754b0001, -0xc78,0x744c0001, -0xc78,0x734d0001, -0xc78,0x724e0001, -0xc78,0x714f0001, -0xc78,0x70500001, -0xc78,0x6f510001, -0xc78,0x6e520001, -0xc78,0x6d530001, -0xc78,0x6c540001, -0xc78,0x6b550001, -0xc78,0x6a560001, -0xc78,0x69570001, -0xc78,0x68580001, -0xc78,0x67590001, -0xc78,0x665a0001, -0xc78,0x655b0001, -0xc78,0x645c0001, -0xc78,0x635d0001, -0xc78,0x625e0001, -0xc78,0x615f0001, -0xc78,0x60600001, -0xc78,0x49610001, -0xc78,0x48620001, -0xc78,0x47630001, -0xc78,0x46640001, -0xc78,0x45650001, -0xc78,0x44660001, -0xc78,0x43670001, -0xc78,0x42680001, -0xc78,0x41690001, -0xc78,0x406a0001, -0xc78,0x266b0001, -0xc78,0x256c0001, -0xc78,0x246d0001, -0xc78,0x236e0001, -0xc78,0x226f0001, -0xc78,0x21700001, -0xc78,0x20710001, -0xc78,0x06720001, -0xc78,0x05730001, -0xc78,0x04740001, -0xc78,0x03750001, -0xc78,0x02760001, -0xc78,0x01770001, -0xc78,0x00780001, -0xc78,0x00790001, -0xc78,0x007a0001, -0xc78,0x007b0001, -0xc78,0x007c0001, -0xc78,0x007d0001, -0xc78,0x007e0001, -0xc78,0x007f0001, -0xc78,0x3800001e, -0xc78,0x3801001e, -0xc78,0x3802001e, -0xc78,0x3803001e, -0xc78,0x3804001e, -0xc78,0x3805001e, -0xc78,0x3806001e, -0xc78,0x3807001e, -0xc78,0x3808001e, -0xc78,0x3c09001e, -0xc78,0x3e0a001e, -0xc78,0x400b001e, -0xc78,0x440c001e, -0xc78,0x480d001e, -0xc78,0x4c0e001e, -0xc78,0x500f001e, -0xc78,0x5210001e, -0xc78,0x5611001e, -0xc78,0x5a12001e, -0xc78,0x5e13001e, -0xc78,0x6014001e, -0xc78,0x6015001e, -0xc78,0x6016001e, -0xc78,0x6217001e, -0xc78,0x6218001e, -0xc78,0x6219001e, -0xc78,0x621a001e, -0xc78,0x621b001e, -0xc78,0x621c001e, -0xc78,0x621d001e, -0xc78,0x621e001e, -0xc78,0x621f001e, -}; - - -#endif//ENDIF CONFIG_PHY_SETTING_WITH_ODM - -u32 Rtl8723UPHY_REG_Array_PG[Rtl8723UPHY_REG_Array_PGLength] = { -0xe00,0xffffffff,0x0a0c0c0c, -0xe04,0xffffffff,0x02040608, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x0a0c0d0e, -0xe14,0xffffffff,0x02040608, -0xe18,0xffffffff,0x0a0c0d0e, -0xe1c,0xffffffff,0x02040608, -0x830,0xffffffff,0x0a0c0c0c, -0x834,0xffffffff,0x02040608, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x0a0c0d0e, -0x848,0xffffffff,0x02040608, -0x84c,0xffffffff,0x0a0c0d0e, -0x868,0xffffffff,0x02040608, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x06060606, -0xe14,0xffffffff,0x00020406, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x06060606, -0x848,0xffffffff,0x00020406, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x04040404, -0xe04,0xffffffff,0x00020204, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x04040404, -0x834,0xffffffff,0x00020204, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -0xe00,0xffffffff,0x00000000, -0xe04,0xffffffff,0x00000000, -0xe08,0x0000ff00,0x00000000, -0x86c,0xffffff00,0x00000000, -0xe10,0xffffffff,0x00000000, -0xe14,0xffffffff,0x00000000, -0xe18,0xffffffff,0x00000000, -0xe1c,0xffffffff,0x00000000, -0x830,0xffffffff,0x00000000, -0x834,0xffffffff,0x00000000, -0x838,0xffffff00,0x00000000, -0x86c,0x000000ff,0x00000000, -0x83c,0xffffffff,0x00000000, -0x848,0xffffffff,0x00000000, -0x84c,0xffffffff,0x00000000, -0x868,0xffffffff,0x00000000, -}; - -u32 Rtl8723UMACPHY_Array_PG[Rtl8723UMACPHY_Array_PGLength] = { -0x0, }; - -#if MP_DRIVER == 1 - -u32 Rtl8723UPHY_REG_Array_MP[Rtl8723UPHY_REG_Array_MPLength] = { -0xc30,0x69e9ac4a, -0xc3c,0x0a979718, -}; - -#endif//#if MP_DRIVER == 1 - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+/*Created on 2013/01/14, 15:51*/
+#include "../odm_precomp.h"
+
+u8 Rtl8723UFwImgArray[Rtl8723UImgArrayLength] = {
+0x01,0x23,0x02,0x00,0x0e,0x00,0x00,0x00,0x01,0x13,0x16,0x18,0x7c,0x56,0x01,0x00,
+0x54,0x89,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x02,0x44,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x58,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x60,0xec,0x00,0x00,0x00,0x00,0x00,0x02,0x61,0x93,0x00,0x00,
+0x00,0x00,0x00,0x02,0x67,0x2b,0x05,0x04,0x03,0x02,0x00,0x03,0x06,0x05,0x04,0x03,
+0x00,0x04,0x06,0x05,0x04,0x02,0x00,0x04,0x08,0x07,0x06,0x04,0x00,0x06,0x0a,0x09,
+0x08,0x06,0x00,0x08,0x0a,0x09,0x08,0x04,0x00,0x08,0x0a,0x09,0x08,0x02,0x00,0x08,
+0x0a,0x09,0x08,0x00,0x00,0x08,0x12,0x11,0x10,0x08,0x00,0x10,0x1a,0x19,0x18,0x10,
+0x00,0x18,0x22,0x21,0x20,0x18,0x00,0x20,0x22,0x21,0x20,0x10,0x00,0x20,0x22,0x21,
+0x20,0x08,0x00,0x20,0x22,0x21,0x1c,0x08,0x00,0x20,0x22,0x21,0x14,0x08,0x00,0x20,
+0x22,0x20,0x18,0x08,0x00,0x20,0x31,0x30,0x20,0x10,0x00,0x30,0x31,0x30,0x18,0x00,
+0x00,0x30,0x31,0x2f,0x10,0x10,0x00,0x30,0x31,0x2c,0x10,0x10,0x00,0x30,0x31,0x28,
+0x10,0x00,0x00,0x30,0x31,0x20,0x10,0x00,0x00,0x30,0x31,0x10,0x10,0x00,0x00,0x30,
+0x04,0x04,0x04,0x05,0x04,0x04,0x04,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x04,0x05,
+0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05,0x05,0x05,0x06,0x06,0x04,0x04,0x05,0x05,
+0x05,0x05,0x06,0x07,0x0a,0x0b,0x0d,0x10,0x04,0x05,0x05,0x06,0x06,0x09,0x0c,0x11,
+0x08,0x08,0x09,0x09,0x0a,0x0c,0x10,0x11,0x04,0x04,0x04,0x05,0x04,0x04,0x05,0x07,
+0x07,0x07,0x08,0x0a,0x04,0x04,0x04,0x04,0x06,0x0a,0x0b,0x0d,0x05,0x05,0x07,0x07,
+0x08,0x0b,0x0d,0x0f,0x04,0x04,0x04,0x05,0x07,0x07,0x09,0x09,0x0c,0x0e,0x10,0x12,
+0x04,0x04,0x05,0x05,0x06,0x0a,0x11,0x13,0x09,0x09,0x09,0x09,0x0c,0x0e,0x11,0x13,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x26,0x2a,0x18,0x1a,0x1d,0x1f,
+0x21,0x27,0x29,0x2a,0x00,0x00,0x00,0x1f,0x23,0x28,0x2a,0x2c,0x00,0x04,0x00,0x04,
+0x00,0x08,0x00,0x10,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x90,
+0x00,0xc0,0x00,0xd8,0x00,0x50,0x00,0x78,0x00,0xa0,0x00,0xc8,0x01,0x40,0x01,0x90,
+0x01,0xe0,0x02,0x30,0x01,0x2c,0x01,0x40,0x01,0xe0,0x02,0xd0,0x03,0xe8,0x04,0xb0,
+0x06,0x40,0x07,0xd0,0x00,0x02,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x0c,0x00,0x12,
+0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x48,0x00,0x60,0x00,0x6c,0x00,0x28,0x00,0x3c,
+0x00,0x50,0x00,0x64,0x00,0xa0,0x00,0xc8,0x00,0xf0,0x01,0x18,0x00,0x64,0x00,0xa0,
+0x00,0xf0,0x01,0x68,0x01,0xf4,0x02,0x58,0x03,0x20,0x03,0xe8,0x02,0x02,0x02,0x02,
+0x02,0x02,0x03,0x03,0x04,0x04,0x05,0x07,0x04,0x04,0x07,0x0a,0x0a,0x0c,0x0c,0x12,
+0x05,0x07,0x07,0x08,0x0b,0x12,0x24,0x3c,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x04,
+0x05,0x06,0x07,0x08,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x05,0x06,0x07,0x08,
+0x09,0x0a,0x0b,0x0c,0x20,0x1e,0x1c,0x18,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
+0xbb,0x01,0x06,0x89,0x82,0x8a,0x83,0xf0,0x22,0x50,0x02,0xf7,0x22,0xbb,0xfe,0x01,
+0xf3,0x22,0xf8,0xbb,0x01,0x0d,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83,
+0xe8,0xf0,0x22,0x50,0x06,0xe9,0x25,0x82,0xc8,0xf6,0x22,0xbb,0xfe,0x05,0xe9,0x25,
+0x82,0xc8,0xf2,0x22,0xc5,0xf0,0xf8,0xa3,0xe0,0x28,0xf0,0xc5,0xf0,0xf8,0xe5,0x82,
+0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0x38,0xf0,0x22,0xbb,0x01,0x0a,0x89,0x82,0x8a,
+0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x06,0x87,0xf0,0x09,0xe7,0x19,0x22,0xbb,
+0xfe,0x07,0xe3,0xf5,0xf0,0x09,0xe3,0x19,0x22,0x89,0x82,0x8a,0x83,0xe4,0x93,0xf5,
+0xf0,0x74,0x01,0x93,0x22,0xbb,0x01,0x10,0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,
+0xf5,0x83,0xe0,0xf5,0xf0,0xa3,0xe0,0x22,0x50,0x09,0xe9,0x25,0x82,0xf8,0x86,0xf0,
+0x08,0xe6,0x22,0xbb,0xfe,0x0a,0xe9,0x25,0x82,0xf8,0xe2,0xf5,0xf0,0x08,0xe2,0x22,
+0xe5,0x83,0x2a,0xf5,0x83,0xe9,0x93,0xf5,0xf0,0xa3,0xe9,0x93,0x22,0xbb,0x01,0x0a,
+0x89,0x82,0x8a,0x83,0xf0,0xe5,0xf0,0xa3,0xf0,0x22,0x50,0x06,0xf7,0x09,0xa7,0xf0,
+0x19,0x22,0xbb,0xfe,0x06,0xf3,0xe5,0xf0,0x09,0xf3,0x19,0x22,0xf8,0xbb,0x01,0x11,
+0xe5,0x82,0x29,0xf5,0x82,0xe5,0x83,0x3a,0xf5,0x83,0xe8,0xf0,0xe5,0xf0,0xa3,0xf0,
+0x22,0x50,0x09,0xe9,0x25,0x82,0xc8,0xf6,0x08,0xa6,0xf0,0x22,0xbb,0xfe,0x09,0xe9,
+0x25,0x82,0xc8,0xf2,0xe5,0xf0,0x08,0xf2,0x22,0xef,0x4b,0xff,0xee,0x4a,0xfe,0xed,
+0x49,0xfd,0xec,0x48,0xfc,0x22,0xbb,0x01,0x07,0x89,0x82,0x8a,0x83,0x02,0x43,0x46,
+0x50,0x05,0xe9,0xf8,0x02,0x43,0xda,0xbb,0xfe,0x05,0xe9,0xf8,0x02,0x43,0xe6,0x89,
+0x82,0x8a,0x83,0x02,0x43,0xf2,0xe0,0xfc,0xa3,0xe0,0xfd,0xa3,0xe0,0xfe,0xa3,0xe0,
+0xff,0x22,0xa4,0x25,0x82,0xf5,0x82,0xe5,0xf0,0x35,0x83,0xf5,0x83,0x22,0xe0,0xfb,
+0xa3,0xe0,0xfa,0xa3,0xe0,0xf9,0x22,0xf8,0xe0,0xfb,0xa3,0xa3,0xe0,0xf9,0x25,0xf0,
+0xf0,0xe5,0x82,0x15,0x82,0x70,0x02,0x15,0x83,0xe0,0xfa,0x38,0xf0,0x22,0xeb,0xf0,
+0xa3,0xea,0xf0,0xa3,0xe9,0xf0,0x22,0xd0,0x83,0xd0,0x82,0xf8,0xe4,0x93,0x70,0x12,
+0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74,0x01,0x93,0xf5,0x82,0x88,0x83,
+0xe4,0x73,0x74,0x02,0x93,0x68,0x60,0xef,0xa3,0xa3,0xa3,0x80,0xdf,0xd0,0x83,0xd0,
+0x82,0xf8,0xe4,0x93,0x70,0x12,0x74,0x01,0x93,0x70,0x0d,0xa3,0xa3,0x93,0xf8,0x74,
+0x01,0x93,0xf5,0x82,0x88,0x83,0xe4,0x73,0x74,0x02,0x93,0xb5,0xf0,0x06,0x74,0x03,
+0x93,0x68,0x60,0xe9,0xa3,0xa3,0xa3,0xa3,0x80,0xd8,0xe6,0xfc,0x08,0xe6,0xfd,0x08,
+0xe6,0xfe,0x08,0xe6,0xff,0x22,0xe2,0xfc,0x08,0xe2,0xfd,0x08,0xe2,0xfe,0x08,0xe2,
+0xff,0x22,0xe4,0x93,0xfc,0x74,0x01,0x93,0xfd,0x74,0x02,0x93,0xfe,0x74,0x03,0x93,
+0xff,0x22,0x02,0x44,0x40,0x02,0x50,0x33,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0x40,
+0x03,0xf6,0x80,0x01,0xf2,0x08,0xdf,0xf4,0x80,0x29,0xe4,0x93,0xa3,0xf8,0x54,0x07,
+0x24,0x0c,0xc8,0xc3,0x33,0xc4,0x54,0x0f,0x44,0x20,0xc8,0x83,0x40,0x04,0xf4,0x56,
+0x80,0x01,0x46,0xf6,0xdf,0xe4,0x80,0x0b,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
+0x90,0x44,0x85,0xe4,0x7e,0x01,0x93,0x60,0xbc,0xa3,0xff,0x54,0x3f,0x30,0xe5,0x09,
+0x54,0x1f,0xfe,0xe4,0x93,0xa3,0x60,0x01,0x0e,0xcf,0x54,0xc0,0x25,0xe0,0x60,0xa8,
+0x40,0xb8,0xe4,0x93,0xa3,0xfa,0xe4,0x93,0xa3,0xf8,0xe4,0x93,0xa3,0xc8,0xc5,0x82,
+0xc8,0xca,0xc5,0x83,0xca,0xf0,0xa3,0xc8,0xc5,0x82,0xc8,0xca,0xc5,0x83,0xca,0xdf,
+0xe9,0xde,0xe7,0x80,0xbe,0x48,0x9e,0xac,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x48,0x9e,0xa3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x9e,0xab,0x00,0x41,
+0x9f,0x19,0x00,0x41,0x9e,0x84,0x80,0x41,0x9e,0x85,0x80,0x41,0x9d,0xa8,0x00,0x41,
+0x9d,0xa9,0x00,0x41,0x9d,0xa7,0x00,0x41,0x9e,0xbd,0x00,0x00,0x90,0x02,0x84,0xef,
+0xf0,0xa3,0xee,0xf0,0xa3,0x74,0x05,0xf0,0x22,0xfd,0x7f,0x81,0xd3,0x10,0xaf,0x01,
+0xc3,0xc0,0xd0,0x8f,0x82,0x75,0x83,0x00,0xed,0xf0,0x12,0x4f,0x6d,0xd0,0xd0,0x92,
+0xaf,0x22,0xe4,0x90,0x9e,0xb9,0xf0,0x90,0x00,0x80,0xe0,0x44,0x80,0xfd,0x7f,0x80,
+0x80,0xda,0x8f,0x82,0x8e,0x83,0xa3,0xa3,0xa3,0xe4,0xf0,0x22,0x12,0x4f,0x49,0x02,
+0x4f,0x7d,0x22,0x02,0x6a,0xe7,0x02,0x6a,0xee,0xef,0x8e,0xf0,0x71,0xad,0x45,0x26,
+0x00,0x40,0x45,0x4e,0x00,0x80,0x45,0x79,0x01,0x00,0x45,0x8d,0x02,0x00,0x45,0xa5,
+0x04,0x00,0x00,0x00,0x45,0xc2,0xed,0x54,0x3f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,
+0x00,0x7f,0x40,0xef,0x2d,0xff,0xee,0x3c,0xfe,0xef,0x78,0x06,0xce,0xc3,0x13,0xce,
+0x13,0xd8,0xf9,0x78,0x06,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0x80,0x26,0xed,0x54,
+0x7f,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x00,0x7f,0x80,0xef,0x2d,0xff,0xee,0x3c,
+0xfe,0xef,0x78,0x07,0xce,0xc3,0x13,0xce,0x13,0xd8,0xf9,0x78,0x07,0xc3,0x33,0xce,
+0x33,0xce,0xd8,0xf9,0xfd,0xac,0x06,0x80,0x49,0xed,0x70,0x04,0xfe,0xff,0x80,0x04,
+0x7e,0x01,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x7d,0x00,0xfc,0x80,0x35,0xec,0x54,0x01,
+0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,0x02,0x7f,0x00,0xef,0x2d,0xee,0x3c,0xc3,
+0x13,0x7d,0x00,0x80,0x1a,0xec,0x54,0x03,0x4d,0x70,0x04,0xfe,0xff,0x80,0x04,0x7e,
+0x04,0x7f,0x00,0xef,0x2d,0xee,0x3c,0x13,0x13,0x54,0x3f,0x7d,0x00,0x25,0xe0,0x25,
+0xe0,0xfc,0xae,0x04,0xaf,0x05,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0x90,
+0x9e,0x71,0xf0,0xa3,0x74,0x08,0xf0,0xa3,0xf0,0x90,0x01,0x1f,0xe0,0xfe,0x90,0x01,
+0x1e,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0x6b,0xf0,0xa3,0xef,0xf0,
+0x90,0x02,0x87,0xe0,0x90,0x9e,0x70,0xf0,0x90,0x9e,0xc1,0xe0,0x20,0xe0,0x02,0xe1,
+0x3b,0xe4,0x90,0x9e,0x6f,0xf0,0x90,0x9e,0x70,0xe0,0xff,0x90,0x9e,0x6f,0xe0,0xc3,
+0x9f,0x40,0x02,0xe1,0x3b,0x90,0x9e,0x6b,0xe0,0xfc,0xa3,0xe0,0xfd,0xec,0x90,0xfd,
+0x11,0xf0,0x74,0x02,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0x0f,0xfc,
+0x33,0x33,0x33,0x54,0xf8,0xff,0xed,0x24,0x18,0x2f,0x90,0x9e,0x6d,0xf0,0xe0,0x24,
+0x00,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x54,0xfc,0x90,0x9e,0x6e,0xf0,0x74,
+0x01,0x2d,0xf5,0x82,0xe4,0x34,0xfb,0xf5,0x83,0xe0,0xfe,0x74,0x00,0x2d,0xf5,0x82,
+0xe4,0x34,0xfb,0xf5,0x83,0xe0,0x7a,0x00,0x24,0x00,0xff,0xea,0x3e,0x54,0x3f,0xab,
+0x07,0xfa,0xaf,0x04,0xef,0x75,0xf0,0x08,0xa4,0x24,0x18,0xff,0xe4,0x35,0xf0,0xfe,
+0xef,0x2b,0xfb,0xee,0x3a,0xfa,0x90,0x9e,0xc5,0xe0,0xfe,0xa3,0xe0,0xff,0xad,0x03,
+0xac,0x02,0xb1,0x09,0xaa,0x06,0xab,0x07,0x90,0x9e,0x6b,0xee,0x8f,0xf0,0x51,0x54,
+0x90,0x9e,0xc7,0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0x6b,0xe0,0xfc,0xa3,0xe0,0xfd,
+0xd3,0x9f,0xec,0x9e,0x40,0x1b,0x90,0x9e,0xc8,0xe0,0x24,0x01,0xff,0x90,0x9e,0xc7,
+0xe0,0x34,0x00,0xfe,0xc3,0xed,0x9f,0xff,0xec,0x9e,0x90,0x9e,0x6b,0xf0,0xa3,0xef,
+0xf0,0x90,0x9e,0x6e,0xe0,0xff,0x24,0x40,0x60,0x04,0x24,0x20,0x70,0x2b,0x90,0x9e,
+0xc9,0xe0,0xfe,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x26,0xef,0x90,0x00,0x81,
+0xb4,0xa0,0x05,0xe0,0x44,0x04,0x80,0x03,0xe0,0x44,0x08,0xfd,0x7f,0x81,0x91,0xcc,
+0x90,0x9e,0xc1,0xe0,0x44,0x80,0xf0,0x80,0x09,0x90,0x9e,0xc9,0xe0,0xc4,0x13,0x13,
+0x54,0x03,0x90,0x9e,0xc1,0xe0,0xff,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x03,
+0x12,0x92,0x86,0x12,0x95,0x13,0xbf,0x01,0x0a,0x90,0x9e,0x6b,0xe0,0xfe,0xa3,0xe0,
+0xff,0x91,0xbc,0x90,0x9e,0x6f,0xe0,0x04,0xf0,0xc1,0x06,0xd0,0xd0,0x92,0xaf,0x22,
+0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x8b,0x60,0x8a,0x61,0x89,0x62,0x90,0x9e,0xef,
+0x71,0x7e,0xab,0x63,0xaa,0x64,0xa9,0x65,0x90,0x9e,0xf2,0x71,0x7e,0xaf,0x66,0x15,
+0x66,0xef,0x60,0x1b,0x90,0x9e,0xf2,0xe4,0x75,0xf0,0x01,0x71,0x67,0x12,0x1f,0x04,
+0xff,0x90,0x9e,0xef,0xe4,0x75,0xf0,0x01,0x71,0x67,0xef,0x51,0x20,0x80,0xde,0xab,
+0x60,0xaa,0x61,0xa9,0x62,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x9e,0xba,0xe0,0xb4,0x01,
+0x04,0x7d,0x91,0x80,0x0c,0x90,0x9e,0xba,0xe0,0x70,0x04,0x7d,0x90,0x80,0x02,0xe4,
+0xfd,0x7f,0x93,0x91,0xcc,0x90,0x00,0x29,0xe0,0x54,0x3f,0xfd,0x7f,0x29,0x91,0xcc,
+0x90,0x00,0x28,0xe0,0x54,0xfc,0xfd,0x7f,0x28,0x91,0xcc,0x90,0x00,0x08,0xe0,0x44,
+0x10,0xfd,0x7f,0x08,0x91,0xcc,0x7f,0x01,0x12,0x78,0xe1,0x90,0x00,0x00,0xe0,0x44,
+0x20,0xfd,0xe4,0xff,0x91,0xcc,0x90,0x00,0x20,0xe0,0x54,0xfe,0xfd,0x7f,0x20,0x91,
+0xcc,0x90,0x00,0x90,0xe0,0x44,0x01,0xfd,0x7f,0x90,0x91,0xcc,0x7f,0x14,0x7e,0x00,
+0x02,0x3b,0x3b,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x04,0x1d,0xe0,0x60,0x1a,
+0x90,0x05,0x22,0xe0,0x54,0x90,0x60,0x07,0x90,0x01,0xc6,0xe0,0x44,0x40,0xf0,0x90,
+0x01,0xc7,0xe0,0x30,0xe1,0xe4,0x7f,0x00,0x80,0x02,0x7f,0x01,0xd0,0xd0,0x92,0xaf,
+0x22,0x90,0x9e,0xb6,0xe0,0xff,0x7d,0x01,0xe4,0xfb,0xfa,0xef,0x30,0xe0,0x02,0x7b,
+0x80,0xef,0xc3,0x13,0x90,0xfd,0x10,0xf0,0x90,0x04,0x25,0xef,0xf0,0xed,0x60,0x0e,
+0x74,0x0f,0x2b,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x80,0xf0,0xaf,0x03,
+0x74,0x08,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe4,0xf0,0x74,0x09,0x2f,0xf5,
+0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf0,0xf0,0x74,0x21,0x2b,0xf5,0x82,0xe4,
+0x34,0xfc,0xf5,0x83,0xe0,0x54,0xf7,0xf0,0xae,0x02,0xaf,0x03,0x22,0x8f,0x25,0x90,
+0x9e,0x86,0xe0,0x30,0xe0,0x39,0x90,0x04,0x1d,0xe0,0x70,0x6a,0x12,0x47,0xf3,0xef,
+0x64,0x01,0x70,0x62,0x11,0x21,0x8e,0x26,0x8f,0x27,0xe5,0x25,0x60,0x10,0x74,0x21,
+0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,0x42,0x74,0x21,
+0x25,0x27,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,0x80,0x31,0x12,
+0x47,0xf3,0xef,0x64,0x01,0x70,0x2f,0x11,0x21,0x8e,0x26,0x8f,0x27,0xe5,0x25,0x60,
+0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,0xf0,0x80,
+0x0f,0x74,0x21,0x25,0x27,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,0xf0,
+0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x90,0x06,0x04,0xe0,0x44,0x40,0xf0,0xe5,0x67,
+0xb4,0x01,0x04,0x7f,0x01,0x11,0x7d,0x53,0x68,0xf0,0x43,0x68,0x04,0x90,0x9e,0xda,
+0xe0,0x30,0xe0,0x07,0x90,0x05,0x27,0xe0,0x44,0x80,0xf0,0x22,0xf0,0x7d,0x01,0x7f,
+0x0c,0x90,0x9f,0x0e,0xed,0xf0,0x90,0x9f,0x0d,0xef,0xf0,0x54,0x0f,0xff,0xe5,0x68,
+0x54,0x0f,0x6f,0x60,0x6d,0x90,0x9f,0x0d,0xe0,0x30,0xe2,0x28,0xe5,0x68,0x20,0xe2,
+0x04,0x7f,0x01,0xf1,0x30,0xe5,0x68,0x30,0xe3,0x09,0x90,0x9f,0x0d,0xe0,0x20,0xe3,
+0x02,0x80,0xa4,0xe5,0x68,0x20,0xe3,0x4a,0x90,0x9f,0x0d,0xe0,0x30,0xe3,0x43,0xa3,
+0xe0,0xff,0xe1,0xb4,0xe5,0x68,0x54,0x0f,0xff,0xbf,0x0c,0x0f,0x90,0x9f,0x0d,0xe0,
+0x20,0xe3,0x08,0x12,0x77,0xa3,0xef,0x60,0x29,0x11,0xf7,0xe5,0x68,0x54,0x0f,0xff,
+0xbf,0x04,0x0f,0x90,0x9f,0x0d,0xe0,0x20,0xe2,0x08,0x12,0x77,0xec,0xef,0x60,0x12,
+0xf1,0x91,0xe5,0x68,0x54,0x0f,0xff,0xbf,0x02,0x08,0x12,0x78,0x6b,0xef,0x60,0x02,
+0xf1,0x1d,0x22,0xe4,0x90,0x9e,0x5a,0xf0,0x90,0x9e,0x86,0xe0,0x20,0xe0,0x02,0x81,
+0x06,0x90,0x9e,0x8c,0xe0,0x64,0x01,0x70,0x5c,0x90,0x9e,0x89,0xe0,0x30,0xe0,0x19,
+0xe0,0xc3,0x13,0x30,0xe0,0x02,0x80,0x0b,0x90,0x9e,0x89,0xe0,0x13,0x13,0x54,0x3f,
+0x30,0xe0,0x06,0xa3,0xe0,0x90,0x9e,0x5a,0xf0,0xe4,0xf5,0x48,0x90,0x9e,0x5a,0xe0,
+0x24,0x03,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,
+0x63,0x74,0x05,0xf0,0x90,0x9e,0x8c,0xe0,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13,
+0x54,0x07,0x30,0xe0,0x02,0x81,0x06,0x90,0x9e,0x86,0xe0,0xc4,0x54,0x0f,0x20,0xe0,
+0x02,0x61,0xa5,0x61,0x9d,0x90,0x9e,0x8c,0xe0,0x64,0x02,0x60,0x02,0x41,0xc1,0x90,
+0x07,0x78,0x04,0xf0,0x90,0x9e,0x89,0xe0,0x30,0xe0,0x20,0xe0,0xc3,0x13,0x30,0xe0,
+0x02,0x80,0x0b,0x90,0x9e,0x89,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x0d,0xa3,0xe0,
+0x90,0x9e,0x5a,0xf0,0x90,0x9e,0x89,0xe0,0x54,0xfb,0xf0,0xe4,0xf5,0x48,0x90,0x9e,
+0x87,0xe0,0xff,0xc3,0x74,0x2e,0x9f,0xff,0x90,0x9e,0x5a,0xe0,0xfe,0xc3,0xef,0x9e,
+0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74,
+0x05,0xf0,0x90,0x9e,0x86,0xe0,0xff,0xc3,0x13,0x90,0x9e,0x56,0x30,0xe0,0x09,0x12,
+0x1f,0xe3,0x00,0x00,0x03,0x00,0x80,0x07,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x91,
+0x07,0xe4,0x90,0x9e,0x8b,0xf0,0xa3,0xe0,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13,
+0x54,0x07,0x30,0xe0,0x02,0x81,0x00,0x90,0x9e,0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0,
+0x02,0x80,0x06,0xe5,0x6a,0x70,0x02,0x81,0x00,0xe4,0xfd,0xaf,0x69,0x31,0x21,0x81,
+0x00,0x90,0x9e,0x8c,0xe0,0x64,0x03,0x60,0x02,0x61,0x66,0x90,0x9e,0x86,0xe0,0xc4,
+0x13,0x13,0x54,0x03,0x90,0x07,0x78,0x30,0xe0,0x05,0x74,0x0d,0xf0,0x80,0x03,0x74,
+0x09,0xf0,0xe4,0xf5,0x48,0x90,0x9e,0x88,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x60,
+0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74,0x05,0xf0,0x90,0x9e,0x56,0x12,0x1f,
+0xe3,0x00,0x00,0x03,0x10,0x91,0x07,0x90,0x9e,0x8b,0x74,0x01,0xf0,0xa3,0xe0,0x04,
+0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07,0x20,0xe0,0x1f,0x90,0x9e,0x86,0xe0,
+0xc4,0x54,0x0f,0x30,0xe0,0x0b,0x90,0x05,0x22,0xe4,0xf0,0x7d,0x01,0x7f,0x0c,0x80,
+0x08,0xe5,0x6a,0x60,0x06,0xe4,0xfd,0x7f,0x04,0x31,0x21,0x90,0x05,0x22,0xe4,0xf0,
+0x90,0x9e,0x96,0xe0,0x60,0x02,0x81,0x00,0x90,0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07,
+0x30,0xe0,0x02,0x81,0x06,0x90,0x9e,0x86,0xe0,0xff,0x13,0x13,0x54,0x3f,0x20,0xe0,
+0x02,0x81,0x06,0x02,0x64,0x90,0x90,0x9e,0x8c,0xe0,0x64,0x04,0x70,0x3e,0xf5,0x48,
+0x75,0x49,0x03,0xfb,0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74,
+0x05,0xf0,0x90,0x9e,0x8c,0xe0,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07,
+0x20,0xe0,0x73,0x90,0x9e,0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x08,0xe4,0xfd,0x7f,
+0x04,0x31,0x21,0x80,0x5b,0x90,0x05,0x22,0x74,0xff,0xf0,0x22,0x90,0x9e,0x8c,0xe0,
+0x64,0x05,0x70,0x52,0x90,0x07,0x78,0x04,0xf0,0x90,0x9e,0x86,0xe0,0xff,0xc3,0x13,
+0x90,0x9e,0x56,0x30,0xe0,0x09,0x12,0x1f,0xe3,0x00,0x00,0x03,0x00,0x80,0x07,0x12,
+0x1f,0xe3,0x00,0x00,0x03,0x10,0x91,0x07,0xe4,0x90,0x9e,0x8b,0xf0,0xa3,0xf0,0x90,
+0x9e,0x86,0xe0,0xc4,0x13,0x54,0x07,0x20,0xe0,0x16,0x90,0x9e,0x86,0xe0,0xc4,0x54,
+0x0f,0x30,0xe0,0x02,0x80,0x04,0xe5,0x6a,0x60,0x06,0xe4,0xfd,0xaf,0x69,0x31,0x21,
+0x90,0x05,0x22,0x74,0x6f,0xf0,0x22,0x7b,0x01,0x7a,0x9e,0x79,0x56,0x7f,0x70,0x7e,
+0x08,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0,
+0xee,0x44,0xf0,0xa3,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x01,0xec,0xf0,0x90,
+0x00,0x02,0x12,0x1f,0x1d,0x90,0x01,0xed,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,
+0x01,0xee,0xf0,0x12,0x1f,0x04,0x90,0x01,0xef,0xf0,0x90,0x01,0xeb,0x74,0x40,0xf0,
+0x12,0x8e,0xd6,0xd0,0xd0,0x92,0xaf,0x22,0xef,0x64,0x01,0x70,0x32,0x7d,0x78,0x7f,
+0x02,0x12,0x3a,0x54,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0x90,0x01,0x57,0xe4,0xf0,
+0x90,0x01,0x3c,0x74,0x02,0x31,0x1c,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x02,0xd1,0x27,
+0x90,0x06,0x04,0xe0,0x54,0x7f,0xf0,0x90,0x06,0x0a,0xe0,0x54,0xf8,0xf0,0x22,0x90,
+0x01,0x36,0x74,0x78,0xf0,0xa3,0x74,0x02,0xf0,0x7d,0x78,0xff,0x12,0x3a,0xc5,0x7d,
+0x02,0x7f,0x03,0x12,0x3a,0xc5,0x90,0x06,0x04,0xe0,0x44,0x80,0xf0,0x90,0x06,0x0a,
+0xe0,0x44,0x07,0xf0,0x12,0x79,0x87,0xe5,0x67,0x30,0xe0,0x21,0x90,0x9e,0x90,0xe0,
+0x70,0x20,0xe0,0x04,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x06,0x7d,0x01,
+0x7f,0x04,0x31,0x21,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x07,0xc1,0x27,0xe4,0x90,0x9e,
+0x90,0xf0,0x22,0x8b,0x13,0x8a,0x14,0x89,0x15,0x12,0x77,0x6d,0xab,0x13,0xaa,0x14,
+0xa9,0x15,0x12,0x1f,0x04,0xf5,0x6a,0x12,0x43,0x87,0x4d,0x13,0x00,0x4d,0x1b,0x01,
+0x4d,0x2e,0x02,0x4d,0x42,0x03,0x4d,0x48,0x04,0x4d,0x5f,0x05,0x4d,0x77,0x06,0x00,
+0x00,0x4d,0x82,0x7f,0x01,0x91,0x58,0x7f,0x01,0x80,0x64,0xab,0x13,0xaa,0x14,0xa9,
+0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xb1,0x92,0x80,0x18,0xab,0x13,
+0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01,0xb1,0x92,0x1f,
+0x80,0x04,0xb1,0x83,0xe4,0xff,0x81,0x58,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,
+0x02,0x12,0x1f,0x1d,0xfd,0xe4,0xff,0xb1,0x92,0x91,0x58,0xe4,0xff,0x80,0x20,0xab,
+0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,0x7f,0x01,0xb1,0x92,
+0x1f,0x91,0x58,0xe4,0xff,0x80,0x08,0xb1,0x83,0xe4,0xff,0x91,0x58,0xe4,0xff,0x12,
+0x77,0x79,0x22,0xab,0x13,0xaa,0x14,0xa9,0x15,0x90,0x00,0x02,0x12,0x1f,0x1d,0xfd,
+0x7f,0x02,0xef,0x24,0xfe,0x60,0x12,0x04,0x70,0x2f,0x90,0x9e,0x9d,0x74,0x01,0xf0,
+0x90,0x9e,0x8e,0xf0,0x90,0x9e,0xa0,0xf0,0x22,0xed,0x70,0x0a,0x90,0x9e,0x9a,0xe0,
+0x90,0x9e,0x9d,0xf0,0x80,0x05,0x90,0x9e,0x9d,0xed,0xf0,0x90,0x9e,0x9d,0xe0,0x90,
+0x9e,0x8e,0xf0,0x90,0x9e,0xa0,0x74,0x01,0xf0,0x22,0x90,0x9e,0xda,0xe0,0x30,0xe0,
+0x04,0xaf,0x69,0x80,0x2f,0x7d,0x01,0xaf,0x69,0x21,0x21,0x11,0xf7,0x90,0x9e,0xdb,
+0x74,0x01,0xf0,0x22,0x90,0x9e,0x43,0xe0,0xc3,0x13,0x30,0xe0,0x16,0xef,0x7b,0x01,
+0xb4,0x01,0x06,0x7a,0x9e,0x79,0x4a,0x80,0x04,0x7a,0x9e,0x79,0x46,0x7f,0x80,0x7e,
+0x08,0x91,0x11,0x22,0xae,0x07,0xe4,0xff,0xd1,0x6c,0xef,0x60,0x17,0x90,0x9e,0xda,
+0xe0,0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x0b,0xaf,0x06,0x7d,0x01,0x31,0x21,0xd1,
+0x27,0x7f,0x01,0x22,0x7f,0x00,0x22,0x90,0x9e,0xdb,0xe0,0x64,0x06,0x60,0x3c,0xe5,
+0x68,0x54,0x0f,0x14,0x60,0x2e,0x14,0x60,0x1e,0x24,0xfe,0x60,0x0e,0x24,0xf8,0x70,
+0x2a,0xe4,0x90,0x9e,0xdb,0xf0,0x90,0x05,0x22,0xf0,0x22,0x90,0x9e,0xdb,0x74,0x01,
+0xf0,0x90,0x05,0x22,0xe4,0xf0,0x22,0x90,0x9e,0xdb,0x74,0x03,0xf0,0x90,0x05,0x22,
+0x74,0xff,0xf0,0x22,0x90,0x01,0xc6,0xe0,0x44,0x08,0xf0,0x22,0x8f,0x6e,0x90,0x05,
+0x43,0xe0,0x7f,0x00,0x30,0xe7,0x02,0x7f,0x01,0x22,0xe4,0x90,0x9f,0x1b,0xf0,0xe5,
+0x6a,0x70,0x02,0xe1,0x1c,0xe5,0x67,0x64,0x01,0x60,0x02,0xe1,0x1c,0xe5,0x6a,0x14,
+0x60,0x28,0x24,0xfd,0x60,0x24,0x24,0x02,0x24,0xfb,0x50,0x02,0x80,0x22,0xe4,0x90,
+0x9e,0x8e,0xf0,0xe0,0x60,0x04,0xa3,0xe0,0x60,0x16,0x90,0x9e,0x8e,0xe0,0x70,0x0a,
+0x90,0x9e,0x9d,0xe0,0x90,0x9e,0x8e,0xf0,0x80,0x00,0x90,0x9f,0x1b,0x74,0x01,0xf0,
+0x90,0x9e,0xda,0xe0,0x30,0xe0,0x15,0xa3,0xe0,0xb4,0x06,0x05,0xe4,0x90,0x9f,0x1b,
+0xf0,0xe4,0xff,0xd1,0x6c,0xef,0x70,0x04,0x90,0x9f,0x1b,0xf0,0x90,0x9f,0x1b,0xe0,
+0x60,0x3a,0x43,0x6b,0x10,0xe4,0xf5,0x48,0x90,0x9e,0x99,0xe0,0xf5,0x49,0xe4,0xfb,
+0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x68,
+0x54,0x0f,0xc3,0x94,0x04,0x50,0x06,0x7d,0x01,0x7f,0x04,0x31,0x21,0x90,0x9e,0xda,
+0xe0,0x30,0xe0,0x08,0xd1,0x27,0x90,0x05,0x22,0x74,0xff,0xf0,0x22,0x53,0x68,0xf0,
+0x43,0x68,0x01,0x12,0x47,0x8a,0x12,0x79,0x39,0x53,0x68,0xf0,0x43,0x68,0x02,0x22,
+0x90,0x9f,0x1a,0xef,0xf0,0xf1,0x49,0x90,0x9f,0x1a,0xe0,0x60,0x05,0x90,0x05,0x22,
+0xe4,0xf0,0x53,0x68,0xf0,0x43,0x68,0x04,0x22,0x90,0x01,0x01,0xe0,0x44,0x02,0xf0,
+0x90,0x01,0x00,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x44,0x01,0xf0,0xf1,0x6d,0x90,
+0x01,0xba,0xe4,0xf0,0x22,0xf4,0xff,0x90,0x00,0x63,0xe0,0x5f,0xf0,0xd3,0x10,0xaf,
+0x01,0xc3,0xc0,0xd0,0x7f,0x10,0xdf,0xfe,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x05,0x22,
+0x74,0x6f,0xf0,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x9e,0xe1,0x74,0x03,0xf0,
+0x22,0x90,0x01,0x37,0x74,0x02,0xf0,0x12,0x8f,0xd5,0xef,0x70,0x06,0x90,0x01,0xc8,
+0x74,0xfd,0xf0,0x7d,0x02,0x7f,0x03,0x12,0x3a,0xc5,0x12,0x57,0x64,0x53,0x68,0xf0,
+0x43,0x68,0x02,0x22,0x90,0x06,0x04,0xe0,0x54,0xbf,0xf0,0xef,0x60,0x09,0xe5,0x67,
+0xb4,0x01,0x04,0xe4,0xff,0x11,0x7d,0x53,0x68,0xf0,0x43,0x68,0x0c,0x90,0x9e,0xda,
+0xe0,0x30,0xe0,0x07,0x90,0x05,0x27,0xe0,0x54,0x7f,0xf0,0x22,0x80,0x9f,0x12,0x57,
+0x90,0x80,0x9a,0xf1,0x49,0x90,0x9e,0xe1,0x74,0x04,0xf0,0x22,0xf1,0x91,0x90,0x9e,
+0xdb,0x74,0x03,0xf0,0x22,0xf1,0x30,0x90,0x9e,0xdb,0x74,0x01,0xf0,0x22,0x12,0x47,
+0xf3,0xbf,0x01,0x10,0x90,0x02,0x09,0xe0,0xff,0x7d,0x01,0x12,0x48,0x28,0x90,0x04,
+0x1f,0x74,0x20,0xf0,0x22,0x75,0x28,0x33,0xe4,0xf5,0x29,0x75,0x2a,0x07,0xf5,0x2b,
+0x90,0x01,0x30,0xe5,0x28,0xf0,0xa3,0xe5,0x29,0xf0,0xa3,0xe5,0x2a,0xf0,0xa3,0xe5,
+0x2b,0xf0,0x22,0xe4,0x90,0x9e,0x68,0xf0,0xa3,0xf0,0x12,0x60,0xb4,0x75,0x8e,0x02,
+0x12,0x44,0xe2,0x12,0x60,0x0b,0x90,0x9e,0xba,0xef,0xf0,0x12,0x60,0x1e,0x90,0x9e,
+0xbc,0xef,0xf0,0x12,0x60,0x2a,0x90,0x9e,0xa1,0xee,0xf0,0xa3,0xef,0xf0,0xe4,0xf5,
+0x57,0x12,0x82,0x34,0x12,0x77,0x03,0x12,0x37,0x4e,0x31,0x3d,0x11,0x15,0x12,0x60,
+0x42,0x12,0x60,0x57,0xf1,0xe8,0x12,0x45,0x02,0x12,0x60,0xbc,0x12,0x94,0x02,0x31,
+0x25,0x90,0x9e,0x6a,0xe5,0xd9,0xf0,0x12,0x5f,0xdc,0xc2,0xaf,0x90,0x00,0x80,0xe0,
+0x44,0x40,0xf0,0x12,0x4f,0x6d,0x75,0xe8,0x03,0x43,0xa8,0x85,0x12,0x8e,0x27,0xd2,
+0xaf,0x12,0x84,0x56,0x12,0x60,0x5e,0x90,0x9e,0x68,0xe0,0x64,0x01,0xf0,0x24,0x33,
+0x90,0x01,0xc4,0xf0,0x74,0x50,0xa3,0xf0,0xe5,0x57,0x30,0xe0,0x0a,0xc2,0xaf,0x53,
+0x57,0xfe,0x12,0x95,0x34,0xd2,0xaf,0xe5,0x57,0x30,0xe2,0x10,0x12,0x6a,0xf5,0xbf,
+0x01,0x0a,0xc2,0xaf,0x53,0x57,0xfb,0xd2,0xaf,0x12,0x45,0xc7,0xe5,0x57,0x30,0xe4,
+0x0a,0xc2,0xaf,0x53,0x57,0xef,0xd2,0xaf,0x12,0x6b,0x32,0xe5,0x57,0x30,0xe6,0x0a,
+0xc2,0xaf,0x53,0x57,0xbf,0xd2,0xaf,0x12,0x7b,0xd8,0xe5,0x57,0x30,0xe7,0x0a,0xc2,
+0xaf,0x53,0x57,0x7f,0xd2,0xaf,0x12,0x5d,0xe9,0xc2,0xaf,0xe5,0x69,0x54,0x0f,0xff,
+0xbf,0x01,0x0e,0x90,0x9e,0x92,0x74,0x01,0xf0,0x12,0x4d,0xca,0xe4,0x90,0x9e,0x92,
+0xf0,0xd2,0xaf,0x80,0x82,0x90,0x9e,0xbe,0xe0,0x54,0xfe,0xf0,0xe4,0x90,0x9e,0xc0,
+0xf0,0x90,0x9e,0xbe,0xe0,0x54,0x7f,0xf0,0xa3,0x74,0x0a,0xf0,0x22,0x90,0x9e,0xe0,
+0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0x90,0x9e,0xda,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0xa3,
+0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,
+0x9e,0x76,0x12,0x43,0x7e,0xe4,0x90,0x9e,0x79,0xf0,0x12,0x1f,0x04,0xc3,0x13,0x20,
+0xe0,0x02,0x41,0xbb,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x02,
+0xfe,0x90,0x9e,0xe0,0xe0,0x54,0xfd,0x4e,0xfe,0xf0,0xef,0x54,0x01,0xff,0xee,0x54,
+0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54,0x08,0xfd,0xef,0x54,0xf7,0x4d,0xff,
+0x90,0x9e,0xe0,0xf0,0xee,0x54,0x10,0xfe,0xef,0x54,0xef,0x4e,0xff,0xf0,0x12,0x1f,
+0x04,0xfe,0x54,0x20,0xfd,0xef,0x54,0xdf,0x4d,0xff,0x90,0x9e,0xe0,0xf0,0xee,0x54,
+0x40,0xfe,0xef,0x54,0xbf,0x4e,0xf0,0x20,0xe0,0x02,0x41,0xab,0x31,0x3d,0x90,0x9e,
+0x79,0x74,0x21,0xf0,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,
+0x54,0x01,0xfe,0x90,0x9e,0xe0,0xe0,0xfd,0x13,0x13,0x54,0x01,0x6e,0x60,0x31,0xef,
+0x54,0x04,0xff,0xed,0x54,0xfb,0x4f,0xf0,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x15,
+0x90,0x01,0x34,0x74,0x40,0xf0,0xfd,0xe4,0xff,0x12,0x3a,0xc5,0x90,0x9e,0x79,0xe0,
+0x44,0x08,0xf0,0x80,0x0b,0xe4,0x90,0x9e,0xe2,0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54,
+0x90,0x9e,0xe0,0xe0,0xfd,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x9e,0x79,
+0xe0,0x44,0x12,0xf0,0xed,0xc4,0x54,0x0f,0x30,0xe0,0x07,0x90,0x9e,0x79,0xe0,0x44,
+0x14,0xf0,0x90,0x9e,0xe0,0xe0,0xc4,0x13,0x54,0x07,0x30,0xe0,0x07,0x90,0x9e,0x79,
+0xe0,0x44,0x80,0xf0,0x90,0x9e,0xe0,0xe0,0xc4,0x13,0x13,0x54,0x03,0x20,0xe0,0x07,
+0x90,0x9e,0x79,0xe0,0x44,0x40,0xf0,0x90,0x9e,0x79,0xe0,0x90,0x05,0x27,0xf0,0x90,
+0x9e,0xe1,0xe0,0x70,0x04,0x7f,0x01,0xd1,0x20,0x90,0x9e,0xe0,0xe0,0xc4,0x13,0x13,
+0x54,0x03,0x30,0xe0,0x04,0x7f,0x03,0x80,0x0e,0x7f,0x01,0x12,0x4e,0x6c,0xef,0x60,
+0x04,0x7f,0x01,0x80,0x02,0x7f,0x02,0xd1,0x20,0x81,0x0e,0x90,0x9e,0x79,0x74,0x01,
+0xf0,0x90,0x05,0x27,0xf0,0xe4,0xff,0xd1,0x20,0x81,0x0c,0x90,0x9e,0x76,0x12,0x43,
+0x5e,0x12,0x1f,0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xda,0xe0,0x54,0xfd,0x4e,0xfe,
+0xf0,0xef,0x54,0x01,0xff,0xee,0x54,0xfe,0x4f,0xff,0xf0,0x12,0x1f,0x04,0xfe,0x54,
+0x08,0xfd,0xef,0x54,0xf7,0x4d,0xff,0x90,0x9e,0xda,0xf0,0xee,0x54,0x10,0xfe,0xef,
+0x54,0xef,0x4e,0xff,0xf0,0x12,0x1f,0x04,0x54,0x40,0xfe,0xef,0x54,0xbf,0x4e,0x90,
+0x9e,0xda,0xf0,0x20,0xe0,0x02,0x61,0xdf,0x31,0x3d,0x90,0x9e,0x79,0x74,0x31,0xf0,
+0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x54,0x01,0xfe,0x90,
+0x9e,0xda,0xe0,0xfd,0x13,0x13,0x54,0x01,0x6e,0x60,0x31,0xef,0x54,0x04,0xff,0xed,
+0x54,0xfb,0x4f,0xf0,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x15,0x90,0x01,0x34,0x74,
+0x40,0xf0,0xfd,0xe4,0xff,0x12,0x3a,0xc5,0x90,0x9e,0x79,0xe0,0x44,0x08,0xf0,0x80,
+0x0b,0xe4,0x90,0x9e,0xdc,0xf0,0x7d,0x40,0xff,0x12,0x3a,0x54,0x90,0x9e,0xda,0xe0,
+0xfd,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x9e,0x79,0xe0,0x44,0x02,0xf0,
+0xed,0xc4,0x54,0x0f,0x30,0xe0,0x07,0x90,0x9e,0x79,0xe0,0x44,0x04,0xf0,0x90,0x9e,
+0x79,0xe0,0x54,0x0e,0x60,0x0c,0x90,0x01,0x3e,0x74,0x03,0xf0,0xfd,0x7f,0x02,0x12,
+0x3a,0xdf,0x90,0x9e,0x79,0xe0,0x90,0x05,0x27,0xf0,0x90,0x9e,0xda,0xe0,0xff,0xc4,
+0x13,0x13,0x54,0x03,0x30,0xe0,0x0c,0xa3,0xe0,0x64,0x06,0x60,0x61,0x7f,0x06,0x91,
+0x13,0x80,0x5b,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90,0x9e,0xdb,0xe0,0xb4,0x06,
+0x19,0x7f,0x01,0x91,0x13,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60,0x09,0x7d,0x01,0xaf,
+0x69,0x12,0x49,0x21,0x80,0x04,0xf1,0xb6,0x80,0x34,0x12,0x4e,0x27,0x80,0x2f,0x90,
+0x9e,0x79,0x74,0x01,0xf0,0x90,0x05,0x27,0xf0,0x7d,0x03,0x7f,0x02,0x12,0x3a,0x71,
+0x90,0x9e,0xdb,0xe0,0xb4,0x06,0x04,0x7f,0x01,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,
+0x04,0x04,0xe4,0xff,0x91,0x13,0x12,0x5f,0x5f,0x12,0x4d,0xca,0x31,0x3d,0xd0,0xd0,
+0x92,0xaf,0x22,0x90,0x9e,0xdb,0xe0,0xfe,0x6f,0x70,0x02,0xa1,0xd0,0xef,0x12,0x43,
+0x87,0x54,0x3a,0x00,0x54,0x6f,0x01,0x54,0xaf,0x02,0x54,0xea,0x03,0x55,0x22,0x04,
+0x55,0x5a,0x05,0x55,0x95,0x06,0x00,0x00,0x55,0xd0,0xee,0xb4,0x04,0x04,0x7f,0x01,
+0xa1,0xfc,0x90,0x9e,0xdb,0xe0,0xff,0xb4,0x05,0x02,0xa1,0xd1,0xef,0xb4,0x06,0x06,
+0x7f,0x01,0xb1,0xe6,0x80,0x17,0x90,0x9e,0xdb,0xe0,0xb4,0x03,0x07,0x7f,0x01,0x12,
+0x4f,0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x02,0xb1,0xdb,0xc1,0x15,0x90,
+0x9e,0xdb,0xe0,0xb4,0x04,0x06,0x7f,0x01,0xb1,0xfc,0x80,0x09,0x90,0x9e,0xdb,0xe0,
+0xb4,0x05,0x02,0xb1,0xd1,0x90,0x9e,0xdb,0xe0,0x70,0x03,0x02,0x4d,0xdb,0x90,0x9e,
+0xdb,0xe0,0xfe,0xb4,0x06,0x04,0x7f,0x01,0xa1,0xe6,0xee,0xb4,0x03,0x05,0x7f,0x01,
+0x02,0x4f,0xf5,0x90,0x9e,0xdb,0xe0,0x64,0x02,0x60,0x02,0xa1,0xd0,0xa1,0xdb,0x90,
+0x9e,0xdb,0xe0,0xb4,0x04,0x06,0x7f,0x01,0xb1,0xfc,0x80,0x09,0x90,0x9e,0xdb,0xe0,
+0xb4,0x05,0x02,0xb1,0xd1,0x90,0x9e,0xdb,0xe0,0x70,0x05,0x12,0x4d,0xdb,0x80,0x17,
+0x90,0x9e,0xdb,0xe0,0xfe,0xb4,0x06,0x06,0x7f,0x01,0xb1,0xe6,0x80,0x09,0xee,0xb4,
+0x03,0x05,0x7f,0x01,0x12,0x4f,0xf5,0x02,0x8f,0xb4,0x90,0x9e,0xdb,0xe0,0xb4,0x04,
+0x06,0x7f,0x01,0xb1,0xfc,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x05,0x02,0xb1,0xd1,
+0x90,0x9e,0xdb,0xe0,0x70,0x05,0x12,0x4d,0xdb,0x80,0x14,0x90,0x9e,0xdb,0xe0,0xfe,
+0xb4,0x06,0x06,0xe4,0xff,0xb1,0xe6,0x80,0x06,0xee,0xb4,0x02,0x02,0xb1,0xdb,0x02,
+0x4f,0xec,0x90,0x9e,0xdb,0xe0,0xfe,0xb4,0x06,0x06,0xe4,0xff,0xb1,0xe6,0x80,0x14,
+0xee,0xb4,0x03,0x07,0x7f,0x01,0x12,0x4f,0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,
+0x02,0x02,0xb1,0xdb,0x90,0x9e,0xdb,0xe0,0xb4,0x01,0x04,0xd1,0x15,0x80,0x09,0x90,
+0x9e,0xdb,0xe0,0xb4,0x05,0x02,0xb1,0xd1,0xe1,0x87,0x90,0x9e,0xdb,0xe0,0xfe,0xb4,
+0x06,0x06,0xe4,0xff,0xb1,0xe6,0x80,0x14,0xee,0xb4,0x03,0x07,0x7f,0x01,0x12,0x4f,
+0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x02,0xb1,0xdb,0x90,0x9e,0xdb,0xe0,
+0xb4,0x01,0x04,0xd1,0x15,0x80,0x0b,0x90,0x9e,0xdb,0xe0,0xb4,0x04,0x04,0x7f,0x01,
+0xb1,0xfc,0x02,0x8f,0xa7,0x90,0x9e,0xdb,0xe0,0xb4,0x04,0x06,0x7f,0x01,0xb1,0xfc,
+0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x05,0x02,0xb1,0xd1,0x90,0x9e,0xdb,0xe0,0x70,
+0x05,0x12,0x4d,0xdb,0x80,0x17,0x90,0x9e,0xdb,0xe0,0xb4,0x03,0x07,0xe4,0xff,0x12,
+0x4f,0xf5,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x02,0xb1,0xdb,0x12,0x8f,0xc1,
+0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xdb,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,
+0x90,0x9e,0xdb,0x04,0xf0,0x22,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0xef,0x60,0x05,
+0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xdb,0x74,0x01,0xf0,0x22,0x90,0x9f,0x1d,0xef,
+0xf0,0x12,0x4f,0x49,0x90,0x9f,0x1d,0xe0,0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0xe4,
+0x90,0x9e,0xdb,0xf0,0x22,0x7f,0x01,0x12,0x4f,0xb4,0xe4,0x90,0x9e,0xdb,0xf0,0x22,
+0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xe1,0xe0,0x90,0x9f,0x1c,0xf0,0x6f,
+0x70,0x02,0xc1,0xf0,0xef,0x14,0x60,0x3d,0x14,0x60,0x61,0x14,0x70,0x02,0xc1,0xc7,
+0x24,0x03,0x60,0x02,0xc1,0xf0,0x90,0x9f,0x1c,0xe0,0xb4,0x03,0x04,0xf1,0x0c,0xc1,
+0xf0,0x90,0x9f,0x1c,0xe0,0xb4,0x02,0x04,0xf1,0x24,0xc1,0xf0,0x90,0x9f,0x1c,0xe0,
+0xb4,0x04,0x04,0xf1,0x28,0xc1,0xf0,0x90,0x9f,0x1c,0xe0,0x64,0x01,0x60,0x02,0xc1,
+0xf0,0xf1,0x0e,0x80,0x7b,0x90,0x9f,0x1c,0xe0,0xff,0xb4,0x03,0x04,0xf1,0xa3,0x80,
+0x6f,0xef,0xb4,0x02,0x04,0xf1,0x40,0x80,0x67,0x90,0x9f,0x1c,0xe0,0xff,0xb4,0x04,
+0x04,0xf1,0x35,0x80,0x5b,0xef,0x70,0x58,0xf1,0x90,0x80,0x54,0x90,0x9f,0x1c,0xe0,
+0xb4,0x03,0x04,0xf1,0x4e,0x80,0x49,0x90,0x9f,0x1c,0xe0,0xb4,0x01,0x04,0xd1,0xf7,
+0x80,0x3e,0x90,0x9f,0x1c,0xe0,0xb4,0x04,0x04,0xf1,0x2c,0x80,0x33,0x90,0x9f,0x1c,
+0xe0,0x70,0x2d,0xd1,0xf5,0x80,0x29,0x90,0x9f,0x1c,0xe0,0xff,0xb4,0x01,0x05,0x12,
+0x4f,0x7d,0x80,0x1c,0xef,0xb4,0x02,0x05,0x12,0x44,0xfc,0x80,0x13,0x90,0x9f,0x1c,
+0xe0,0xff,0xb4,0x04,0x05,0x12,0x4f,0xdc,0x80,0x06,0xef,0x70,0x03,0x12,0x4f,0xde,
+0xd0,0xd0,0x92,0xaf,0x22,0xf1,0x90,0x12,0x8f,0xd5,0xef,0x70,0x06,0x90,0x01,0xc8,
+0x74,0xfd,0xf0,0xf1,0x64,0x90,0x9e,0xe1,0x74,0x02,0xf0,0x22,0xf1,0xa3,0x7d,0x03,
+0x7f,0x02,0x12,0x3a,0x71,0x90,0x05,0x27,0xe4,0xf0,0xe0,0x54,0xbf,0xf0,0xe4,0x90,
+0x9e,0xe1,0xf0,0x22,0xf1,0x40,0x80,0xe6,0xf1,0x35,0x80,0xe2,0xf1,0x64,0x90,0x9e,
+0xe1,0x74,0x02,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xe1,0x04,0xf0,0x22,
+0x12,0x4f,0x49,0x90,0x05,0x22,0xe4,0xf0,0x90,0x9e,0xe1,0x04,0xf0,0x22,0x90,0x05,
+0x27,0xe0,0x44,0x40,0xf0,0xf1,0x5e,0x90,0x9e,0xe1,0x74,0x02,0xf0,0x22,0x90,0x05,
+0x22,0x74,0xff,0xf0,0x90,0x00,0x02,0xe0,0x54,0xfe,0xf0,0x12,0x4f,0x6d,0x90,0x01,
+0x00,0x74,0x3f,0xf0,0xa3,0xe0,0x54,0xfd,0xf0,0x90,0x05,0x53,0xe0,0x44,0x20,0xf0,
+0x90,0x01,0xba,0x74,0xcc,0xf0,0x22,0xf1,0x5e,0x90,0x9e,0xdb,0x74,0x04,0xf0,0x22,
+0x90,0x01,0x3e,0x74,0x03,0xf0,0xfd,0x7f,0x02,0x12,0x3a,0xdf,0x90,0x9e,0xe1,0x74,
+0x01,0xf0,0x22,0x90,0x05,0x22,0xe4,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,0x90,
+0x9e,0xe1,0x74,0x01,0xf0,0x22,0x90,0x9e,0x90,0xe0,0x60,0x16,0x90,0x9e,0xdb,0xe0,
+0x70,0x04,0x7f,0x05,0x80,0x1f,0x90,0x9e,0xdb,0xe0,0x64,0x01,0x70,0x19,0x7f,0x02,
+0x80,0x13,0x90,0x9e,0xdb,0xe0,0xb4,0x01,0x04,0x7f,0x03,0x80,0x08,0x90,0x9e,0xdb,
+0xe0,0x70,0x04,0x7f,0x04,0x91,0x13,0x22,0x75,0x30,0x1f,0x75,0x31,0x01,0xe4,0xf5,
+0x32,0x43,0x32,0x20,0x90,0x01,0x38,0xe5,0x30,0xf0,0xa3,0xe5,0x31,0xf0,0xa3,0xe5,
+0x32,0xf0,0x22,0x90,0x01,0x30,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,0x01,
+0x38,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xfd,0x7f,0x50,0x12,0x44,0xcc,0xe4,0xfd,
+0x7f,0x51,0x12,0x44,0xcc,0xe4,0xfd,0x7f,0x52,0x12,0x44,0xcc,0xe4,0xfd,0x7f,0x53,
+0x02,0x44,0xcc,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,
+0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07,
+0x90,0x01,0xc4,0x74,0x33,0xf0,0x74,0x58,0xa3,0xf0,0x90,0x01,0x34,0xe0,0x55,0x28,
+0xf5,0x2c,0x90,0x01,0x36,0xe0,0x55,0x2a,0xf5,0x2e,0xa3,0xe0,0x55,0x2b,0xf5,0x2f,
+0xe5,0x2c,0x20,0xe0,0x02,0x21,0xe9,0x90,0x01,0x34,0x74,0x01,0xf0,0x85,0xd1,0x4d,
+0x85,0xd3,0x4f,0x85,0xd4,0x50,0x85,0xd5,0x51,0x85,0xd6,0x52,0x85,0xd7,0x53,0x85,
+0xd9,0x54,0x85,0xd2,0x4e,0x78,0xac,0x7c,0x9e,0xfd,0x7b,0x00,0x7a,0x00,0x79,0x4d,
+0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde,0x90,0x9e,0xad,0xe0,0xff,0xc4,0x13,0x54,0x01,
+0xfe,0xef,0xc4,0x13,0x13,0x54,0x01,0x6e,0x70,0x02,0x21,0x9b,0x90,0x9e,0xad,0xe0,
+0xff,0xc4,0x13,0x13,0x13,0x54,0x01,0x30,0xe0,0x02,0x21,0x9b,0xef,0x54,0x1f,0xf5,
+0x08,0x90,0x9e,0xae,0xe0,0x54,0x3f,0xf5,0x09,0x90,0x9e,0xb0,0xe0,0x54,0x1f,0xff,
+0xe5,0x08,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe4,0x8f,0xf0,
+0x12,0x42,0x54,0xe5,0x09,0xd3,0x94,0x04,0x40,0x03,0x75,0x09,0x04,0x75,0xf0,0x0a,
+0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75,0xf0,0x02,0xe5,0x09,0x12,0x43,0x52,
+0xe0,0xfe,0xa3,0xe0,0xff,0x90,0x9e,0xb0,0xe0,0x54,0x1f,0x2f,0xff,0xe4,0x3e,0xfe,
+0x75,0xf0,0x0a,0xe5,0x08,0x90,0x90,0x00,0x12,0x43,0x52,0x75,0xf0,0x02,0xe5,0x09,
+0x12,0x43,0x52,0xee,0xf0,0xa3,0xef,0xf0,0x90,0x9e,0xad,0xe0,0xc4,0x13,0x13,0x54,
+0x03,0x20,0xe0,0x28,0x90,0x9e,0xb0,0xe0,0x54,0x1f,0xff,0xe5,0x08,0x25,0xe0,0x24,
+0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0x8f,0xf0,0x12,0x42,0x54,0x90,0x9e,
+0xaf,0xe0,0x30,0xe7,0x36,0xaf,0x08,0x12,0x74,0xbb,0x80,0x2f,0x90,0x9e,0xb0,0xe0,
+0x54,0x1f,0xff,0xfd,0xe5,0x08,0x25,0xe0,0x24,0x44,0xf5,0x82,0xe4,0x34,0x99,0xf5,
+0x83,0xe4,0x8d,0xf0,0x12,0x42,0x54,0x90,0x9e,0xaf,0xe0,0xfe,0x30,0xe7,0x0c,0x54,
+0x7f,0xfd,0x8f,0x0d,0xab,0x09,0xaf,0x08,0x12,0x74,0x58,0xe5,0x6a,0x14,0x24,0xfd,
+0x50,0x02,0x80,0x45,0x90,0x9e,0x9e,0xe0,0x60,0x37,0x90,0x01,0x5b,0xe4,0xf0,0x90,
+0x01,0x3c,0x74,0x04,0xf0,0x91,0xb8,0xef,0x64,0x01,0x70,0x2d,0x90,0x9e,0x93,0xe0,
+0xf5,0x48,0x75,0x49,0x00,0xe4,0xfb,0xfd,0x7f,0x58,0x7e,0x01,0x12,0x39,0xa9,0x90,
+0x01,0x5b,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x01,0xf0,0x90,0x9e,0x9c,0xf0,0x80,
+0x08,0x91,0xb8,0xbf,0x01,0x03,0x12,0x4d,0xca,0xe5,0x2c,0x30,0xe1,0x7b,0x90,0x01,
+0x34,0x74,0x02,0xf0,0x90,0xfd,0x10,0x74,0x7f,0xf0,0x90,0x04,0x7f,0xe0,0x54,0x07,
+0xf5,0x55,0x90,0x04,0x7e,0xe0,0x54,0x07,0xf5,0x56,0x65,0x55,0x60,0x5b,0xe4,0xff,
+0x75,0xf0,0x08,0xe5,0x55,0xa4,0x2f,0xf5,0x82,0xe4,0x35,0xf0,0xf5,0x83,0xe5,0x82,
+0x24,0xc0,0xf5,0x82,0xe5,0x83,0x34,0xfc,0xf5,0x83,0xe0,0xfe,0x74,0x58,0x2f,0xf8,
+0xa6,0x06,0x0f,0xbf,0x08,0xda,0x78,0xa3,0x7c,0x9e,0x7d,0x01,0x7b,0x00,0x7a,0x00,
+0x79,0x58,0x7e,0x00,0x7f,0x08,0x12,0x1e,0xde,0x90,0x9e,0xa3,0xe0,0xff,0xc4,0x13,
+0x13,0x54,0x03,0x30,0xe0,0x02,0xb1,0x18,0xe5,0x55,0x24,0x01,0xff,0xef,0x54,0x07,
+0xf5,0x55,0x90,0x04,0x7f,0xf0,0xb5,0x56,0xa5,0xe5,0x2c,0x30,0xe3,0x10,0x90,0x01,
+0x34,0x74,0x08,0xf0,0x90,0x9e,0xc1,0xe0,0x30,0xe0,0x03,0x43,0x57,0x04,0xe5,0x2c,
+0x30,0xe4,0x09,0x90,0x01,0x34,0x74,0x10,0xf0,0x43,0x57,0x10,0xe5,0x2c,0x30,0xe5,
+0x25,0x90,0x01,0xcf,0xe0,0x30,0xe5,0x1e,0xe0,0x54,0xdf,0xf0,0x90,0x01,0x34,0x74,
+0x20,0xf0,0x75,0xa8,0x00,0x75,0xe8,0x00,0x11,0x03,0x90,0x00,0x03,0xe0,0x54,0xfb,
+0xf0,0x12,0x4f,0x6d,0x80,0xfe,0xe5,0x2c,0x30,0xe6,0x06,0x90,0x01,0x34,0x74,0x40,
+0xf0,0xe5,0x2e,0x30,0xe0,0x41,0x90,0x9e,0xbb,0x74,0x01,0xf0,0x90,0x01,0x36,0xf0,
+0x12,0x95,0xd8,0x90,0x9e,0xe0,0xe0,0x30,0xe0,0x0d,0x13,0x13,0x54,0x3f,0x30,0xe0,
+0x06,0x90,0x9e,0xe2,0x74,0x01,0xf0,0x90,0x9e,0xda,0xe0,0xff,0x30,0xe0,0x0d,0x13,
+0x13,0x54,0x3f,0x30,0xe0,0x06,0x90,0x9e,0xdc,0x74,0x01,0xf0,0x12,0x4e,0x7a,0x12,
+0x94,0xbe,0x90,0x9e,0xbb,0xe4,0xf0,0xe5,0x2e,0x30,0xe1,0x60,0x90,0x01,0x36,0x74,
+0x02,0xf0,0x43,0x57,0x40,0x12,0x96,0x30,0x90,0x01,0x02,0xe0,0x54,0x03,0x64,0x01,
+0x70,0x29,0x90,0x01,0x37,0xe0,0x30,0xe0,0x0a,0x74,0x01,0xf0,0x90,0x9e,0xab,0xe4,
+0xf0,0x80,0x18,0x90,0x9e,0xab,0xe0,0x04,0xf0,0xe0,0xc3,0x94,0x0a,0x40,0x0c,0xe4,
+0xf0,0x90,0x04,0x19,0xe0,0x30,0xe0,0x03,0x12,0x4f,0xfe,0x90,0x9e,0xda,0xe0,0x30,
+0xe0,0x0d,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60,0x05,0x90,0x05,0x22,0xe4,0xf0,0x90,
+0x9e,0xa0,0xe0,0x60,0x07,0x7d,0x02,0x7f,0x02,0x12,0x3a,0x54,0xe5,0x2e,0x30,0xe2,
+0x43,0x90,0x01,0x36,0x74,0x04,0xf0,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x06,0xa3,0xe0,
+0x64,0x06,0x60,0x30,0x12,0x65,0x92,0x90,0x9e,0xa0,0xe0,0x60,0x27,0x90,0x9e,0x9d,
+0xe0,0xff,0x90,0x9e,0x8e,0xe0,0xb5,0x07,0x1b,0x90,0x9e,0x9d,0xe0,0x90,0x05,0x73,
+0xf0,0x90,0x01,0x3f,0x74,0x10,0xf0,0xfd,0x7f,0x03,0x12,0x3a,0xdf,0x7d,0x01,0x7f,
+0x02,0x12,0x3a,0x54,0xe5,0x2e,0x30,0xe3,0x34,0x90,0x01,0x36,0x74,0x08,0xf0,0xe5,
+0x67,0x64,0x01,0x70,0x28,0xe5,0x6a,0x60,0x24,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,
+0x3c,0x74,0x02,0xf0,0x75,0x48,0x00,0x90,0x9e,0x95,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,
+0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0xe5,0x2e,0x30,
+0xe4,0x2b,0x90,0x01,0x36,0x74,0x10,0xf0,0xe5,0x67,0xb4,0x01,0x20,0xe5,0x6a,0x60,
+0x1c,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0x9f,0xe4,
+0xf0,0x53,0x6b,0xfd,0xe5,0x6b,0x54,0x07,0x70,0x03,0x12,0x4d,0xca,0xe5,0x2e,0x30,
+0xe5,0x25,0x90,0x01,0x36,0x74,0x20,0xf0,0xe5,0x67,0xb4,0x01,0x1a,0xe5,0x6a,0x60,
+0x16,0x90,0x9e,0x9e,0xe0,0x64,0x02,0x60,0x0b,0xe5,0x68,0x64,0x0c,0x60,0x08,0x12,
+0x64,0x90,0x80,0x03,0x12,0x66,0x76,0xe5,0x2e,0x30,0xe6,0x1b,0x90,0x01,0x36,0x74,
+0x40,0xf0,0xe5,0x67,0xb4,0x01,0x10,0xe5,0x6a,0x60,0x0c,0x53,0x6b,0xfe,0xe5,0x6b,
+0x54,0x07,0x70,0x03,0x12,0x4d,0xca,0xe5,0x2f,0x30,0xe1,0x26,0x90,0x01,0x37,0x74,
+0x02,0xf0,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x17,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60,
+0x07,0x91,0xd1,0x12,0x4e,0x27,0x80,0x0a,0x90,0x9e,0xdf,0x74,0x01,0xf0,0x80,0x02,
+0x91,0xd1,0x74,0x33,0x04,0x90,0x01,0xc4,0xf0,0x74,0x58,0xa3,0xf0,0xd0,0x07,0xd0,
+0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0,0xd0,0xd0,
+0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0x90,0x04,0x1a,0xe0,0xf4,0x60,0x03,0x7f,
+0x00,0x22,0x90,0x04,0x1b,0xe0,0x54,0x07,0x64,0x07,0x7f,0x01,0x60,0x02,0x7f,0x00,
+0x22,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x54,0xe5,0x6a,0x14,0x24,0xfd,0x50,0x06,0x24,
+0xfd,0x50,0x24,0x80,0x32,0x90,0x9e,0x86,0xe0,0x20,0xe0,0x2b,0x90,0x9e,0x9e,0xe0,
+0x60,0x06,0x7d,0x01,0x7f,0x0c,0x80,0x1c,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,
+0x16,0x7d,0x01,0x7f,0x04,0x80,0x0d,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x04,0x50,0x07,
+0x7d,0x01,0x7f,0x04,0x12,0x49,0x21,0x22,0x90,0x9e,0x52,0xe0,0x54,0xf0,0x44,0x03,
+0xf0,0x54,0x0f,0x44,0x80,0xf0,0x7b,0x00,0x7a,0x00,0x79,0x58,0x90,0x9e,0xfe,0x12,
+0x43,0x7e,0x0b,0x7a,0x9e,0x79,0x52,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,
+0xfb,0x12,0x43,0x7e,0x90,0x9d,0xa9,0xe0,0xff,0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07,
+0x7d,0x02,0x7f,0x03,0x12,0x3a,0xdf,0x90,0x9d,0xa8,0xe0,0x70,0x06,0xa3,0xe0,0x64,
+0x09,0x60,0x0b,0x90,0x9d,0xa8,0xe0,0x14,0xff,0xa3,0xe0,0xb5,0x07,0x0d,0xf1,0x05,
+0xef,0x60,0x71,0xb1,0xe9,0x90,0x01,0x3f,0x74,0x02,0xf0,0x90,0x9d,0xa9,0xe0,0x75,
+0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35,0xf0,0xa8,0x01,0xfc,0x7d,0x01,0x90,
+0x9e,0xfb,0x12,0x43,0x5e,0x7e,0x00,0x7f,0x02,0x12,0x1e,0xde,0x90,0x9d,0xa9,0xe0,
+0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d,0x35,0xf0,0xfa,0x7b,0x01,0xc0,0x03,
+0xc0,0x02,0xc0,0x01,0x90,0x9e,0xfe,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,
+0x90,0x9e,0xfb,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc4,0x54,0x0f,0xf5,0x66,0xd0,
+0x01,0xd0,0x02,0xd0,0x03,0x12,0x47,0x40,0x90,0x9d,0xa9,0xe0,0x04,0xf0,0xe0,0xb4,
+0x0a,0x02,0xe4,0xf0,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,
+0x90,0x9d,0xa8,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xad,0xf9,0x74,0x9d,0x35,0xf0,0xfa,
+0x7b,0x01,0xc0,0x02,0xc0,0x01,0xe0,0x75,0xf0,0x0f,0xa4,0x24,0xaf,0xf9,0x74,0x9d,
+0x35,0xf0,0xfa,0x90,0x9e,0xf8,0x12,0x43,0x7e,0xd0,0x01,0xd0,0x02,0xd1,0x43,0x90,
+0x9d,0xa8,0xe0,0x04,0xf0,0xe0,0xb4,0x0a,0x02,0xe4,0xf0,0x90,0x9d,0xa9,0xe0,0xff,
+0x90,0x9d,0xa8,0xe0,0xb5,0x07,0x07,0x7d,0x02,0x7f,0x03,0x12,0x3a,0x71,0xd0,0xd0,
+0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9e,0xf5,0x12,0x43,0x7e,
+0x90,0x9d,0xa7,0xe0,0xff,0x04,0xf0,0x90,0x00,0x01,0xef,0x12,0x42,0x32,0xf1,0x05,
+0xef,0x70,0x02,0xe1,0x00,0x90,0x9e,0xf5,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,
+0x65,0x75,0x66,0x02,0x7b,0x01,0x7a,0x01,0x79,0xa0,0x12,0x47,0x40,0x90,0x9e,0xf8,
+0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x90,0x9e,0xf5,0x12,0x43,0x5e,0x12,
+0x1f,0x04,0xff,0xc4,0x54,0x0f,0xf5,0x66,0x7b,0x01,0x7a,0x01,0x79,0xa2,0x12,0x47,
+0x40,0x90,0x01,0xaf,0x74,0xff,0xf0,0x90,0x9e,0xba,0xe0,0x64,0x01,0x70,0x4a,0x90,
+0x9e,0xf5,0x12,0x43,0x5e,0x8b,0x63,0x8a,0x64,0x89,0x65,0x75,0x66,0x02,0x7b,0x01,
+0x7a,0xfd,0x79,0x20,0x12,0x47,0x40,0x90,0x9e,0xf8,0x12,0x43,0x5e,0x8b,0x63,0x8a,
+0x64,0x89,0x65,0x90,0x9e,0xf5,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc4,0x54,0x0f,
+0xf5,0x66,0x7b,0x01,0x7a,0xfd,0x79,0x22,0x12,0x47,0x40,0x90,0x9e,0xa1,0xe0,0xfe,
+0xa3,0xe0,0xf5,0x82,0x8e,0x83,0x74,0xff,0xf0,0x90,0x01,0xcb,0xe0,0x64,0x80,0xf0,
+0xd0,0xd0,0x92,0xaf,0x22,0x7f,0xaf,0x7e,0x01,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,
+0x90,0x9f,0x06,0xee,0xf0,0xa3,0xef,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0x90,0x9f,0x06,
+0xe0,0xfe,0xa3,0xe0,0xf5,0x82,0x8e,0x83,0xe0,0x60,0x2d,0xc3,0x90,0x9f,0x09,0xe0,
+0x94,0xe8,0x90,0x9f,0x08,0xe0,0x94,0x03,0x40,0x0b,0x90,0x01,0xc6,0xe0,0x44,0x10,
+0xf0,0x7f,0x00,0x80,0x15,0x90,0x9f,0x08,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,
+0x0a,0x7e,0x00,0x12,0x3b,0x3b,0x80,0xc5,0x7f,0x01,0xd0,0xd0,0x92,0xaf,0x22,0x90,
+0x9e,0xdf,0xe0,0xb4,0x01,0x04,0xe4,0xf0,0x91,0xd1,0x22,0x90,0x9e,0xda,0xe0,0xff,
+0xc4,0x13,0x13,0x54,0x03,0x30,0xe0,0x0b,0xa3,0xe0,0x64,0x06,0x60,0x05,0x7f,0x06,
+0x12,0x54,0x13,0x90,0x9e,0xdb,0xe0,0x64,0x06,0x60,0x02,0xf1,0x5f,0x22,0xad,0x07,
+0x90,0x9e,0x56,0xe0,0x54,0xf0,0x44,0x05,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,
+0x58,0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x58,0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,
+0x9e,0x79,0x56,0xa1,0x37,0xad,0x07,0x90,0x9e,0x60,0xe0,0x54,0xf0,0x44,0x07,0xf0,
+0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x62,0xef,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62,
+0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0xa1,0x37,0x90,0x01,0x3c,0x74,
+0xff,0xf0,0xa3,0xf0,0xa3,0xf0,0x90,0x01,0x34,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xfd,0x7f,0x54,0x12,0x44,0xcc,0x7d,0xff,0x7f,0x55,0x12,0x44,0xcc,0x7d,0xff,0x7f,
+0x56,0x12,0x44,0xcc,0x7d,0xff,0x7f,0x57,0x02,0x44,0xcc,0x90,0x00,0xf4,0xe0,0x20,
+0xe3,0x09,0xe0,0x7f,0x01,0x20,0xe2,0x05,0x7f,0x02,0x22,0x7f,0x00,0x22,0x90,0x00,
+0xf3,0xe0,0x7f,0x00,0x30,0xe3,0x02,0x7f,0x01,0x22,0x90,0x9e,0xbc,0xe0,0xb4,0x01,
+0x0c,0x90,0x00,0xf2,0xe0,0x30,0xe7,0x05,0x7e,0xfd,0x7f,0x33,0x22,0x7e,0xfd,0x7f,
+0x2f,0x22,0x90,0x00,0xf3,0xe0,0x30,0xe2,0x0d,0x90,0x05,0x41,0x74,0x10,0xf0,0x90,
+0x05,0x5a,0xf0,0xa3,0xe4,0xf0,0x22,0x90,0x01,0x64,0x74,0x20,0xf0,0x22,0xe4,0x90,
+0x9e,0x6b,0xf0,0xa3,0xf0,0x90,0x01,0x98,0xe0,0x7f,0x00,0x30,0xe4,0x02,0x7f,0x01,
+0xef,0x64,0x01,0x60,0x3e,0xc3,0x90,0x9e,0x6c,0xe0,0x94,0x88,0x90,0x9e,0x6b,0xe0,
+0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0,0x44,0x80,0xf0,0x22,0x90,0x9e,0x6b,0xe4,
+0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b,0xd3,0x90,0x9e,
+0x6c,0xe0,0x94,0x32,0x90,0x9e,0x6b,0xe0,0x94,0x00,0x40,0xb9,0x90,0x01,0xc7,0xe0,
+0x30,0xe3,0xb2,0x22,0x90,0x01,0x94,0xe0,0x44,0x01,0xf0,0x22,0x90,0x01,0x01,0xe0,
+0x44,0x04,0xf0,0x90,0x01,0x9c,0x74,0x7e,0xf0,0xa3,0x74,0x92,0xf0,0xa3,0x74,0xa0,
+0xf0,0xa3,0x74,0x24,0xf0,0x90,0x01,0x9b,0x74,0x49,0xf0,0x90,0x01,0x9a,0x74,0xe0,
+0xf0,0x90,0x01,0x99,0xe4,0xf0,0x90,0x01,0x98,0x04,0xf0,0x22,0xc0,0xe0,0xc0,0x83,
+0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x05,0xc0,0x06,0xc0,0x07,0x7d,0xec,0x90,
+0x01,0xc4,0xed,0xf0,0x74,0x60,0xff,0xa3,0xf0,0x53,0x91,0xef,0x90,0x00,0x51,0xe0,
+0xfe,0x90,0x00,0x55,0xe0,0x5e,0xf5,0x3d,0x90,0x00,0x52,0xe0,0xfe,0x90,0x00,0x56,
+0xe0,0x5e,0xf5,0x3e,0xe5,0x3d,0x30,0xe4,0x06,0x90,0x00,0x55,0x74,0x10,0xf0,0xe5,
+0x3d,0x30,0xe5,0x06,0x90,0x00,0x55,0x74,0x20,0xf0,0xe5,0x3d,0x30,0xe6,0x06,0x90,
+0x00,0x55,0x74,0x40,0xf0,0xe5,0x3d,0x30,0xe7,0x06,0x90,0x00,0x55,0x74,0x80,0xf0,
+0xe5,0x3e,0x30,0xe0,0x06,0x90,0x00,0x56,0x74,0x01,0xf0,0xe5,0x3e,0x30,0xe1,0x06,
+0x90,0x00,0x56,0x74,0x02,0xf0,0xe5,0x3e,0x30,0xe2,0x06,0x90,0x00,0x56,0x74,0x04,
+0xf0,0xe5,0x3e,0x30,0xe3,0x06,0x90,0x00,0x56,0x74,0x08,0xf0,0x90,0x01,0xc4,0xed,
+0xf0,0xa3,0xef,0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0xd0,0xd0,0x82,0xd0,0x83,
+0xd0,0xe0,0x32,0xc0,0xe0,0xc0,0xf0,0xc0,0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,
+0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07,
+0x90,0x01,0xc4,0x74,0x93,0xf0,0x74,0x61,0xa3,0xf0,0x53,0x91,0xdf,0x90,0x01,0x3c,
+0xe0,0x55,0x30,0xf5,0x34,0xa3,0xe0,0x55,0x31,0xf5,0x35,0xa3,0xe0,0x55,0x32,0xf5,
+0x36,0xa3,0xe0,0x55,0x33,0xf5,0x37,0xe5,0x34,0x30,0xe0,0x06,0x90,0x01,0x3c,0x74,
+0x01,0xf0,0xe5,0x34,0x30,0xe1,0x08,0x90,0x01,0x3c,0x74,0x02,0xf0,0xd1,0x38,0xe5,
+0x34,0x30,0xe2,0x36,0x90,0x01,0x3c,0x74,0x04,0xf0,0x90,0x06,0x92,0xe0,0x30,0xe0,
+0x21,0x75,0x48,0x00,0x90,0x9e,0x93,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x58,0x7e,
+0x01,0x12,0x39,0xa9,0x90,0x01,0x5b,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x01,0xf0,
+0x80,0x08,0x90,0x9e,0x9c,0xe4,0xf0,0x12,0x4d,0xca,0xe5,0x34,0x30,0xe3,0x36,0x90,
+0x01,0x3c,0x74,0x08,0xf0,0x90,0x06,0x92,0xe0,0x30,0xe1,0x21,0x75,0x48,0x00,0x90,
+0x9e,0x93,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c,0x7e,0x01,0x12,0x39,0xa9,0x90,
+0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02,0xf0,0x80,0x08,0x90,0x9e,0x9b,
+0xe4,0xf0,0x12,0x4d,0xca,0xe5,0x34,0x30,0xe4,0x09,0x90,0x01,0x3c,0x74,0x10,0xf0,
+0x12,0x49,0xa3,0xe5,0x34,0x30,0xe5,0x06,0x90,0x01,0x3c,0x74,0x20,0xf0,0xe5,0x35,
+0x30,0xe0,0x18,0x90,0x01,0x3d,0x74,0x01,0xf0,0x90,0x01,0x2f,0xe0,0x44,0x7f,0xf0,
+0x90,0x00,0x83,0xe0,0xf5,0x69,0x91,0x71,0x12,0x4d,0xca,0xe5,0x35,0x30,0xe2,0x0c,
+0x90,0x01,0x3d,0x74,0x04,0xf0,0x53,0x6b,0xfb,0x12,0x4d,0xca,0xe5,0x36,0x30,0xe0,
+0x6d,0x90,0x01,0x3e,0x74,0x01,0xf0,0x90,0x9e,0xe0,0xe0,0x30,0xe0,0x13,0xa3,0xe0,
+0x64,0x03,0x60,0x0d,0x7f,0x01,0x12,0x4e,0x6c,0xef,0x60,0x05,0x7f,0x01,0x12,0x56,
+0x20,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x46,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x60,0x3e,
+0x12,0x5f,0x6b,0x90,0x9e,0xdb,0xe0,0xff,0x64,0x06,0x60,0x32,0xef,0xb4,0x04,0x02,
+0x80,0x07,0x90,0x9e,0xdb,0xe0,0xb4,0x05,0x04,0xe4,0xff,0x80,0x14,0x90,0x9e,0xdb,
+0xe0,0xb4,0x03,0x04,0x7f,0x01,0x80,0x09,0x90,0x9e,0xdb,0xe0,0xb4,0x02,0x05,0x7f,
+0x01,0x12,0x54,0x13,0x7d,0x01,0xaf,0x69,0x12,0x49,0x21,0x12,0x4e,0x27,0xe5,0x36,
+0x30,0xe1,0x3c,0x90,0x01,0x3e,0x74,0x02,0xf0,0x90,0x9e,0xe0,0xe0,0x30,0xe0,0x13,
+0xa3,0xe0,0x64,0x03,0x60,0x0d,0x7f,0x01,0x12,0x4e,0x6c,0xef,0x70,0x05,0x7f,0x02,
+0x12,0x56,0x20,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x15,0xd1,0xbc,0x90,0x9e,0xdb,0xe0,
+0x64,0x06,0x60,0x0b,0xe4,0xff,0x12,0x4e,0x6c,0xef,0x70,0x03,0x12,0x57,0xb6,0xe5,
+0x36,0x30,0xe3,0x09,0x90,0x01,0x3e,0x74,0x08,0xf0,0x43,0x6b,0x04,0xe5,0x36,0x30,
+0xe4,0x06,0x90,0x01,0x3e,0x74,0x10,0xf0,0xe5,0x36,0x30,0xe2,0x76,0x90,0x01,0x3e,
+0x74,0x04,0xf0,0x90,0x07,0x8f,0xe0,0x30,0xe7,0x13,0x74,0x80,0xf0,0x90,0x07,0x95,
+0x74,0x04,0xf0,0xa3,0xe0,0x44,0x04,0xf0,0xe4,0xff,0x12,0x4d,0xe4,0x90,0x07,0x8f,
+0xe0,0x30,0xe6,0x12,0x74,0x40,0xf0,0x90,0x07,0x7c,0xe0,0xb4,0x06,0x08,0x90,0x07,
+0x80,0xe0,0xff,0x12,0x5f,0x8e,0x90,0x07,0x8f,0xe0,0x30,0xe5,0x14,0x74,0x20,0xf0,
+0xe4,0xff,0x12,0x4d,0xe4,0x90,0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01,
+0xf0,0x90,0x07,0x95,0xe0,0x30,0xe2,0x0d,0x74,0x04,0xf0,0xa3,0xe0,0x54,0xfb,0xf0,
+0x7f,0x01,0x12,0x4d,0xe4,0x90,0x07,0x95,0xe0,0x30,0xe0,0x07,0x74,0x01,0xf0,0xff,
+0x12,0x4d,0xe4,0xe5,0x36,0x30,0xe5,0x06,0x90,0x01,0x3e,0x74,0x20,0xf0,0xe5,0x36,
+0x30,0xe6,0x08,0x90,0x01,0x3e,0x74,0x40,0xf0,0x91,0x90,0xe5,0x36,0x30,0xe7,0x0c,
+0x90,0x01,0x3e,0x74,0x80,0xf0,0x53,0x6b,0xfe,0x12,0x4d,0xca,0xe5,0x37,0x30,0xe1,
+0x09,0x90,0x01,0x3f,0x74,0x02,0xf0,0x43,0x57,0x80,0xe5,0x37,0x30,0xe4,0x1c,0x90,
+0x01,0x3f,0x74,0x10,0xf0,0x12,0x4e,0x7a,0x90,0x9e,0x9d,0xe0,0x90,0x05,0x73,0xf0,
+0x90,0x01,0x36,0x74,0x02,0xf0,0xfd,0xff,0x12,0x3a,0xc5,0x74,0x93,0x04,0x90,0x01,
+0xc4,0xf0,0x74,0x61,0xa3,0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,
+0xd0,0x02,0xd0,0x01,0xd0,0x00,0xd0,0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,
+0x32,0xe5,0x69,0x30,0xe6,0x19,0xe5,0x69,0x54,0x0f,0xff,0x90,0x9e,0x85,0xe0,0xfe,
+0x4f,0x90,0x01,0x2f,0xf0,0xee,0x64,0x80,0x90,0x9e,0x85,0xf0,0x53,0x69,0xbf,0x22,
+0x90,0x9e,0x86,0xe0,0x30,0xe0,0x11,0x90,0x05,0x22,0xe0,0x20,0xe4,0x20,0x12,0x47,
+0xf3,0xef,0x64,0x01,0x70,0x18,0x80,0x06,0x12,0x47,0xf3,0xbf,0x01,0x10,0x90,0x9e,
+0xb5,0xe0,0xff,0xe4,0xfd,0x12,0x48,0x28,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0x90,
+0x06,0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0,0x54,0xc0,0x70,0x09,0x53,0x6b,0xfe,0x53,
+0x6b,0xfd,0x12,0x4d,0xca,0x90,0x9e,0x52,0xe0,0x30,0xe6,0x13,0x43,0x6b,0x01,0x90,
+0x9e,0x9e,0xe0,0x64,0x02,0x60,0x04,0x91,0x90,0x80,0x07,0xd1,0x76,0x80,0x03,0x53,
+0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x2a,0x43,0x6b,0x02,0xe4,0xf5,0x48,0x90,
+0x9e,0x95,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,0xa9,0x90,
+0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0x9f,0x74,0x01,0xf0,0x90,0x9e,0x89,0xe0,0x44,
+0x04,0xf0,0x22,0x53,0x6b,0xfd,0x22,0x90,0x06,0xa9,0xe0,0x90,0x9e,0x52,0xf0,0xe0,
+0x54,0xc0,0x70,0x09,0x53,0x6b,0xfe,0x53,0x6b,0xfd,0x02,0x4d,0xca,0x90,0x9e,0x52,
+0xe0,0x30,0xe6,0x1d,0x90,0x9e,0x8d,0xe0,0x70,0x07,0x43,0x6b,0x01,0x91,0x90,0x80,
+0x13,0x90,0x9e,0x9e,0xe0,0xb4,0x01,0x0c,0x43,0x6b,0x04,0x7f,0x01,0xb1,0xff,0x80,
+0x03,0x53,0x6b,0xfe,0x90,0x9e,0x52,0xe0,0x30,0xe7,0x23,0x43,0x6b,0x02,0xe4,0xf5,
+0x48,0x90,0x9e,0x95,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x54,0x7e,0x01,0x12,0x39,
+0xa9,0x90,0x01,0x57,0x74,0x05,0xf0,0x90,0x9e,0x9f,0x74,0x01,0xf0,0x22,0x53,0x6b,
+0xfd,0x22,0xe5,0x67,0x64,0x01,0x70,0x66,0xe5,0x6a,0x60,0x62,0xe5,0x6a,0x64,0x02,
+0x60,0x06,0xe5,0x6a,0x64,0x05,0x70,0x27,0x90,0x06,0xab,0xe0,0x90,0x9e,0x8e,0xf0,
+0x90,0x06,0xaa,0xe0,0x90,0x9e,0x9d,0xf0,0x90,0x9e,0x8e,0xe0,0x70,0x07,0x90,0x9e,
+0x9d,0xe0,0xff,0x80,0x05,0x90,0x9e,0x8e,0xe0,0xff,0x90,0x9e,0x8e,0xef,0xf0,0x90,
+0x9e,0x90,0xe0,0x60,0x03,0xe0,0x14,0xf0,0xe4,0x90,0x9e,0x8f,0xf0,0x90,0x01,0x57,
+0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x53,0x6b,0xfd,0x53,0x6b,0xef,0xe5,0x6a,0x14,
+0x24,0xfd,0x50,0x06,0x24,0xfd,0x50,0x04,0x80,0x04,0x81,0xbf,0xb1,0x27,0x22,0x8f,
+0x6d,0x12,0x47,0xf3,0xef,0x64,0x01,0x70,0x2e,0x90,0x9e,0xb7,0x12,0x48,0x24,0xe5,
+0x6d,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x44,0x10,
+0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0xef,
+0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xe5,0x6a,0x60,0x39,0x90,0x9e,0x9f,0xe0,
+0x60,0x0d,0xe4,0xf0,0x53,0x6b,0xfd,0xe5,0x6b,0x54,0x07,0x70,0x28,0x80,0x23,0x90,
+0x9e,0x8f,0xe0,0x04,0xf0,0x53,0x6b,0xef,0x90,0x9e,0x94,0xe0,0xff,0x90,0x9e,0x8f,
+0xe0,0xd3,0x9f,0x40,0x0d,0xe5,0x67,0xb4,0x01,0x0b,0xa3,0xe0,0x70,0x07,0xe0,0x04,
+0xf0,0x22,0x12,0x4d,0xca,0x22,0x90,0x01,0x5f,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x08,
+0xf0,0xe4,0xf5,0x48,0x90,0x9e,0x93,0xe0,0xf5,0x49,0xe4,0xfb,0xfd,0x7f,0x5c,0x7e,
+0x01,0x12,0x39,0xa9,0x90,0x01,0x5f,0x74,0x05,0xf0,0x90,0x06,0x92,0x74,0x02,0xf0,
+0x90,0x9e,0x9b,0x14,0xf0,0xe5,0x68,0x54,0x0f,0xc3,0x94,0x0c,0x50,0x0d,0x12,0x49,
+0x1d,0x90,0x9e,0xda,0xe0,0x30,0xe0,0x03,0x12,0x4e,0x27,0x22,0x90,0x01,0x57,0xe0,
+0x60,0x3c,0x90,0x01,0x57,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x02,0xf0,0x90,0x9e,0x9f,
+0xe0,0x60,0x07,0xe4,0xf0,0x53,0x6b,0xfd,0x80,0x24,0x90,0x9e,0x8f,0xe0,0x04,0xf0,
+0x53,0x6b,0xef,0x90,0x9e,0x94,0xe0,0xff,0x90,0x9e,0x8f,0xe0,0xd3,0x9f,0x40,0x0e,
+0xe5,0x67,0xb4,0x01,0x09,0x90,0x9e,0x90,0xe0,0x70,0x03,0xe0,0x04,0xf0,0x90,0x01,
+0x5b,0xe0,0x60,0x10,0x90,0x01,0x5b,0xe4,0xf0,0x90,0x01,0x3c,0x74,0x04,0xf0,0xe4,
+0x90,0x9e,0x9c,0xf0,0x90,0x01,0x5f,0xe0,0x60,0x10,0x90,0x01,0x5f,0xe4,0xf0,0x90,
+0x01,0x3c,0x74,0x08,0xf0,0xe4,0x90,0x9e,0x9b,0xf0,0x22,0xc0,0xe0,0xc0,0xf0,0xc0,
+0x83,0xc0,0x82,0xc0,0xd0,0x75,0xd0,0x00,0xc0,0x00,0xc0,0x01,0xc0,0x02,0xc0,0x03,
+0xc0,0x04,0xc0,0x05,0xc0,0x06,0xc0,0x07,0x53,0x91,0xbf,0x90,0xfd,0x68,0xe0,0x20,
+0xe0,0x03,0x02,0x68,0xe1,0x90,0x01,0xba,0xe0,0x04,0xf0,0x90,0xfd,0x62,0xe0,0x90,
+0x01,0xbc,0xf0,0x90,0xfd,0x63,0xe0,0x90,0x01,0xbd,0xf0,0x90,0xfd,0x60,0xe0,0x90,
+0x01,0xbe,0xf0,0x90,0xfd,0x60,0xe0,0x64,0x0e,0x60,0x03,0x02,0x68,0x22,0x90,0x9e,
+0x43,0xe0,0xff,0x13,0x13,0x13,0x54,0x1f,0x20,0xe0,0x03,0x02,0x68,0x22,0x90,0xfd,
+0x62,0xe0,0x54,0xc0,0xfe,0x90,0x07,0x90,0xe0,0x54,0x3f,0x4e,0xf0,0x90,0xfd,0x63,
+0xe0,0x90,0x07,0x91,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x07,0x92,0xf0,0x90,0xfd,0x65,
+0xe0,0x90,0x07,0x93,0xf0,0x90,0x07,0x95,0x74,0x01,0xf0,0xef,0x20,0xe0,0x44,0x90,
+0x9e,0x43,0xe0,0x13,0x13,0x54,0x3f,0x30,0xe0,0x19,0x90,0x07,0x78,0x12,0x68,0xfc,
+0x90,0x9e,0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x48,0x90,0x07,0x83,0xe0,0x44,0x40,
+0xf0,0x80,0x3f,0x90,0x9e,0x43,0xe0,0xff,0xc3,0x13,0x30,0xe0,0x11,0xe4,0xff,0x12,
+0x4d,0xe4,0x90,0x07,0x95,0xe0,0x44,0x01,0xf0,0xa3,0xe0,0x44,0x01,0xf0,0x90,0x07,
+0x78,0x80,0x13,0x90,0x9e,0x43,0xe0,0xff,0x13,0x13,0x54,0x3f,0x90,0x07,0x78,0x30,
+0xe0,0x04,0x11,0xfc,0x80,0x0c,0xe0,0x44,0x10,0xf0,0xe0,0x44,0x20,0xf0,0xe0,0x54,
+0xdf,0xf0,0x90,0xfd,0x60,0xe0,0xb4,0x0f,0x0a,0x90,0xfd,0x62,0xe0,0xff,0xa3,0xe0,
+0xfd,0x51,0x62,0x90,0xfd,0x60,0xe0,0x64,0x15,0x70,0x64,0x90,0xfd,0x62,0xe0,0x90,
+0x9e,0x5e,0xf0,0x90,0xfd,0x62,0xe0,0x30,0xe0,0x15,0x90,0x9e,0x5e,0xe0,0xf4,0x54,
+0x3f,0x04,0xff,0x90,0x9e,0x4e,0xe0,0x13,0x13,0x54,0x3f,0xc3,0x9f,0x80,0x10,0x90,
+0x9e,0x4e,0xe0,0x13,0x13,0x54,0x3f,0xff,0x90,0x9e,0x5e,0xe0,0x54,0x3f,0x2f,0x90,
+0x9e,0x5d,0xf0,0x90,0x9e,0x5d,0xe0,0xff,0x54,0x30,0xc4,0x54,0x0f,0xfe,0xef,0x25,
+0xe0,0x25,0xe0,0x4e,0x90,0x9e,0x5f,0xf0,0x90,0x00,0x2e,0xf0,0x90,0x9e,0x5d,0xe0,
+0xc4,0x54,0xf0,0xff,0x90,0x9e,0x4f,0xe0,0x54,0x0f,0x4f,0x90,0x00,0x2d,0xf0,0x90,
+0xfd,0x60,0xe0,0xb4,0x16,0x08,0x90,0xfd,0x62,0xe0,0xff,0x12,0x5f,0xb5,0x90,0xfd,
+0x60,0xe0,0xb4,0x21,0x07,0x90,0xfd,0x62,0xe0,0xff,0x31,0xe9,0x90,0xfd,0x60,0xe0,
+0xb4,0x22,0x02,0x51,0x11,0x90,0xfd,0x60,0xe0,0xb4,0x23,0x05,0xa3,0xe0,0xff,0x51,
+0x8d,0x90,0xfd,0x60,0xe0,0xb4,0x24,0x02,0x51,0x39,0x90,0xfd,0x68,0xe0,0x44,0x01,
+0xf0,0xd0,0x07,0xd0,0x06,0xd0,0x05,0xd0,0x04,0xd0,0x03,0xd0,0x02,0xd0,0x01,0xd0,
+0x00,0xd0,0xd0,0xd0,0x82,0xd0,0x83,0xd0,0xf0,0xd0,0xe0,0x32,0xe0,0x54,0xef,0xf0,
+0x90,0xfd,0x63,0xe0,0x54,0x3f,0x25,0xe0,0x25,0xe0,0xff,0x90,0xfd,0x62,0xe0,0x54,
+0x03,0x4f,0x90,0x9e,0x5b,0xf0,0x90,0xfd,0x64,0xe0,0x54,0x3f,0x25,0xe0,0x25,0xe0,
+0xff,0x90,0xfd,0x63,0xe0,0x54,0x03,0x4f,0x90,0x9e,0x5c,0xf0,0x90,0x9e,0x5b,0xe0,
+0xfd,0xa3,0xe0,0xfb,0xe4,0xff,0x90,0x9e,0x60,0xef,0xf0,0xa3,0xed,0xf0,0xa3,0xeb,
+0xf0,0x12,0x47,0xf3,0xef,0x64,0x01,0x60,0x02,0x21,0xe8,0x90,0x9e,0xb8,0x12,0x48,
+0x24,0x90,0x9e,0x60,0xe0,0x60,0x10,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,
+0x83,0xe0,0x44,0x10,0xf0,0x80,0x0e,0x74,0x21,0x2f,0xf5,0x82,0xe4,0x34,0xfc,0xf5,
+0x83,0xe0,0x54,0xef,0xf0,0xad,0x07,0x74,0x06,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,
+0x83,0xe0,0x44,0x10,0xf0,0x74,0x11,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,
+0x54,0xef,0xf0,0xad,0x07,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,
+0x44,0x02,0xf0,0x74,0x16,0x2d,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x54,0x03,
+0xf0,0x90,0x9e,0x61,0xe0,0xfd,0xac,0x07,0x74,0x22,0x2c,0xf5,0x82,0xe4,0x34,0xfc,
+0xf5,0x83,0xed,0xf0,0x90,0x9e,0x62,0xe0,0xfd,0x74,0x23,0x2c,0xf5,0x82,0xe4,0x34,
+0xfc,0xf5,0x83,0xed,0xf0,0x74,0x24,0x2c,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,
+0x04,0xf0,0x90,0x04,0x1f,0x74,0x20,0xf0,0x22,0xad,0x07,0x90,0x9e,0x60,0xe0,0x54,
+0xf0,0x44,0x09,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0x9e,0x62,0xef,0xf0,0x7b,0x01,
+0x7a,0x9e,0x79,0x62,0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0x02,0x5d,
+0x37,0x90,0x00,0x75,0xe0,0x44,0x01,0xf0,0x7f,0x01,0x7e,0x00,0x12,0x3a,0xaa,0x90,
+0xfe,0x13,0x74,0x03,0xf0,0x7f,0x02,0x7e,0x00,0x12,0x3a,0xaa,0x90,0xfe,0x13,0xe4,
+0xf0,0x90,0x00,0x75,0xe0,0x54,0xfe,0xf0,0x22,0x90,0x9e,0x60,0xe0,0x54,0xf0,0x44,
+0x0d,0xf0,0x54,0x0f,0x44,0x10,0xf0,0x90,0xfd,0x62,0xe0,0x90,0x9e,0x62,0xf0,0x7b,
+0x01,0x7a,0x9e,0x79,0x62,0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0x02,
+0x5d,0x37,0xae,0x07,0x90,0x9e,0x60,0xe0,0x54,0xf0,0x44,0x04,0xf0,0x54,0x0f,0x44,
+0x20,0xf0,0x90,0x9e,0x62,0xee,0xf0,0xa3,0xed,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62,
+0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7a,0x9e,0x79,0x60,0x02,0x5d,0x37,0xad,0x07,0x90,
+0x9e,0x60,0xe0,0x54,0xf0,0x44,0x0c,0xf0,0x54,0x0f,0xf0,0xed,0xb4,0x02,0x08,0xe0,
+0x54,0x0f,0x44,0x20,0xf0,0x80,0x0d,0xed,0xb4,0x04,0x09,0x90,0x9e,0x60,0xe0,0x54,
+0x0f,0x44,0x40,0xf0,0x90,0xfd,0x62,0xe0,0x90,0x9e,0x62,0xf0,0x90,0xfd,0x63,0xe0,
+0x90,0x9e,0x63,0xf0,0x90,0xfd,0x64,0xe0,0x90,0x9e,0x64,0xf0,0x90,0xfd,0x65,0xe0,
+0x90,0x9e,0x65,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0x62,0x90,0x9e,0xfe,0x12,0x43,0x7e,
+0x7a,0x9e,0x79,0x60,0x02,0x5d,0x37,0x8f,0x1f,0x8c,0x20,0x8d,0x21,0x22,0x8f,0x22,
+0x8c,0x23,0x8d,0x24,0x22,0xe4,0x90,0x9e,0x6b,0xf0,0xa3,0xf0,0x90,0x02,0x86,0xe0,
+0x20,0xe1,0x2c,0xc3,0x90,0x9e,0x6c,0xe0,0x94,0xd0,0x90,0x9e,0x6b,0xe0,0x94,0x07,
+0x40,0x0a,0x90,0x01,0xc6,0xe0,0x44,0x20,0xf0,0x7f,0x00,0x22,0x90,0x9e,0x6b,0xe4,
+0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x0a,0x7e,0x00,0x12,0x3b,0x3b,0x80,0xcd,0x7f,
+0x01,0x22,0x90,0x01,0xcc,0xe0,0x54,0x0f,0x90,0x9e,0x6b,0xf0,0x90,0x9e,0x6b,0xe0,
+0xfd,0x70,0x02,0x81,0x73,0x90,0x9f,0x19,0xe0,0xff,0x74,0x01,0x7e,0x00,0xa8,0x07,
+0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xef,0x5d,0x70,0x02,0x81,
+0x6c,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd0,0x12,0x43,0x52,0xe0,0x90,
+0x9e,0x6c,0xf0,0x75,0x63,0x01,0x75,0x64,0x9e,0x75,0x65,0x6c,0x75,0x66,0x01,0x7b,
+0x01,0x7a,0x9e,0x79,0x6d,0x12,0x47,0x40,0x90,0x9e,0x6d,0xe0,0xff,0xc4,0x13,0x13,
+0x13,0x54,0x01,0x90,0x9f,0x19,0x30,0xe0,0x59,0xe0,0x75,0xf0,0x02,0x90,0x00,0x88,
+0x12,0x43,0x52,0xe0,0x90,0x9e,0x6e,0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x02,0x90,
+0x00,0x89,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6f,0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0,
+0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x70,0xf0,0x90,0x9f,0x19,0xe0,
+0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90,0x9e,0x71,0xf0,0x90,0x9f,
+0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52,0xe0,0x90,0x9e,0x72,0xf0,
+0x80,0x33,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd1,0x12,0x43,0x52,0xe0,0x90,0x9e,0x6e,
+0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd2,0x12,0x43,0x52,0xe0,0x90,
+0x9e,0x6f,0xf0,0x90,0x9f,0x19,0xe0,0x75,0xf0,0x04,0x90,0x01,0xd3,0x12,0x43,0x52,
+0xe0,0x90,0x9e,0x70,0xf0,0xef,0x54,0x7f,0xff,0x7b,0x01,0x7a,0x9e,0x79,0x6e,0x91,
+0x74,0x90,0x9e,0x6b,0xe0,0xff,0x90,0x9f,0x19,0xe0,0xfe,0x74,0x01,0xa8,0x06,0x08,
+0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0x5f,0x90,0x9e,0x6b,0xf0,0x90,0x9f,0x19,0xe0,
+0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x90,0x01,0xcc,0xf0,
+0x90,0x9f,0x19,0xe0,0x04,0xf0,0xe0,0x54,0x03,0xf0,0x61,0x3c,0x90,0x01,0xc6,0xe0,
+0x44,0x02,0xf0,0x22,0x90,0x9e,0x73,0x12,0x43,0x7e,0xef,0x12,0x43,0x87,0x6d,0x0c,
+0x01,0x6d,0x15,0x02,0x6d,0x42,0x03,0x6d,0x4b,0x05,0x6d,0x54,0x06,0x6e,0xad,0x07,
+0x6d,0x5c,0x08,0x6d,0x65,0x10,0x6d,0x6e,0x11,0x6d,0x77,0x12,0x6d,0x80,0x13,0x6d,
+0x89,0x14,0x6d,0x92,0x15,0x6d,0x9b,0x16,0x6d,0xa5,0x17,0x6d,0xaf,0x18,0x6d,0xb9,
+0x19,0x6e,0x82,0x1a,0x6e,0x8b,0x1b,0x6e,0x94,0x1c,0x6d,0xc2,0x1d,0x6d,0xcc,0x1e,
+0x6d,0xd7,0x21,0x6d,0xe0,0x22,0x6d,0xe9,0x23,0x6d,0xf2,0x24,0x6d,0xfb,0x25,0x6e,
+0x04,0x26,0x6e,0x0d,0x27,0x6e,0x16,0x28,0x6e,0x1f,0x29,0x6d,0x1e,0x2d,0x6d,0x27,
+0x2e,0x6e,0x28,0x2f,0x6e,0x9d,0x30,0x6e,0x3a,0x32,0x6e,0x31,0x33,0x6d,0x39,0x34,
+0x6e,0x43,0x36,0x6e,0x4c,0x37,0x6e,0x55,0x38,0x6e,0x5e,0x3a,0x6d,0x30,0x3b,0x6e,
+0x79,0x3c,0x6e,0x67,0x3e,0x6e,0x70,0x3f,0x00,0x00,0x6e,0xa6,0x90,0x9e,0x73,0x12,
+0x43,0x5e,0x02,0x84,0x62,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x84,0x8c,0x90,0x9e,
+0x73,0x12,0x43,0x5e,0x02,0x84,0x92,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x84,0xda,
+0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0x08,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,
+0x85,0x15,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0x30,0x90,0x9e,0x73,0x12,0x43,
+0x5e,0x02,0x84,0x06,0x90,0x9e,0x73,0x12,0x43,0x5e,0xc1,0xae,0x90,0x9e,0x73,0x12,
+0x43,0x5e,0x02,0x51,0x68,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0x78,0x90,0x9e,
+0x73,0x12,0x43,0x5e,0x02,0x85,0xbf,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x85,0xe6,
+0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x86,0x05,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,
+0x86,0x1f,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x86,0xf7,0x90,0x9e,0x73,0x12,0x43,
+0x5e,0x7f,0x01,0x80,0x2f,0x90,0x9e,0x73,0x12,0x43,0x5e,0x7f,0x02,0x80,0x25,0x90,
+0x9e,0x73,0x12,0x43,0x5e,0x7f,0x03,0x80,0x1b,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,
+0x88,0x7c,0x90,0x9e,0x73,0x12,0x43,0x5e,0xe4,0xff,0x80,0x08,0x90,0x9e,0x73,0x12,
+0x43,0x5e,0x7f,0x04,0x02,0x87,0x9a,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x88,0xee,
+0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x89,0x15,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,
+0x89,0x3c,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x89,0x63,0x90,0x9e,0x73,0x12,0x43,
+0x5e,0x02,0x89,0x8a,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x89,0xb1,0x90,0x9e,0x73,
+0x12,0x43,0x5e,0x02,0x89,0xd8,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0x0f,0x90,
+0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0x36,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,
+0x5e,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0xa1,0x90,0x9e,0x73,0x12,0x43,0x5e,
+0x02,0x8a,0xca,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8a,0xf3,0x90,0x9e,0x73,0x12,
+0x43,0x5e,0x02,0x8c,0x86,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8c,0x98,0x90,0x9e,
+0x73,0x12,0x43,0x5e,0x02,0x8c,0xcd,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8e,0x8a,
+0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x8e,0xb3,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,
+0x94,0x4b,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x92,0xc6,0x90,0x9e,0x73,0x12,0x43,
+0x5e,0x02,0x84,0x4e,0x90,0x9e,0x73,0x12,0x43,0x5e,0x02,0x84,0x35,0x90,0x9e,0x73,
+0x12,0x43,0x5e,0x02,0x94,0xf3,0x90,0x01,0xc6,0xe0,0x44,0x01,0xf0,0x22,0x90,0x00,
+0x04,0x12,0x1f,0x1d,0xff,0x54,0x1f,0xfe,0xef,0x54,0x20,0xc4,0x13,0x54,0x07,0xfd,
+0xaf,0x06,0x90,0x9e,0x76,0xef,0xf0,0xa3,0xed,0xf0,0xa3,0x12,0x43,0x7e,0x90,0x9e,
+0x78,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f,0x1d,0x54,0xf0,0xc4,0x54,0x0f,0x90,
+0x9e,0x7b,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x54,0x40,0xc4,0x13,0x13,0x54,0x03,
+0x90,0x9e,0x7c,0xf0,0x90,0x9e,0x76,0xe0,0xff,0x75,0xf0,0x09,0x90,0x96,0x46,0x12,
+0x43,0x52,0xad,0x82,0xac,0x83,0x90,0x9e,0x7d,0xec,0xf0,0xa3,0xed,0xf0,0xef,0x75,
+0xf0,0x09,0xa4,0x24,0x44,0xf9,0x74,0x96,0x35,0xf0,0xfa,0x7b,0x01,0xa3,0x12,0x43,
+0x7e,0x90,0x9e,0x78,0x12,0x43,0x5e,0x90,0x00,0x03,0x12,0x1f,0x1d,0x54,0x0f,0xff,
+0x90,0x9e,0x7f,0x12,0x43,0x5e,0xef,0x12,0x42,0x20,0x90,0x9e,0x78,0x12,0x43,0x5e,
+0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x90,0x9e,0x7f,0x12,0x43,0x5e,0x90,0x00,0x01,
+0xef,0x12,0x42,0x32,0x90,0x9e,0x78,0x12,0x43,0x5e,0x90,0x00,0x01,0x12,0x1f,0x1d,
+0xff,0x90,0x9e,0x7d,0xe0,0xfc,0xa3,0xe0,0xfd,0xf5,0x82,0x8c,0x83,0xef,0xf0,0x12,
+0x1f,0x04,0x8d,0x82,0x8c,0x83,0xa3,0xf0,0x90,0x9e,0x7b,0xe0,0xfe,0x90,0x9e,0x76,
+0xe0,0xff,0x24,0x82,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0x90,0x9e,0x77,
+0xe0,0xfe,0x75,0xf0,0x09,0xef,0x90,0x96,0x4a,0x12,0x43,0x52,0xee,0xf0,0x75,0xf0,
+0x09,0xef,0x90,0x96,0x4b,0x12,0x43,0x52,0x74,0x01,0xf0,0x90,0x9e,0x7c,0xe0,0xfe,
+0x75,0xf0,0x09,0xef,0x90,0x96,0x4c,0x12,0x43,0x52,0xee,0xf0,0x8f,0x13,0xef,0x25,
+0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xaf,0x82,0xf5,0x15,0x8f,0x16,0xe5,0x13,
+0x75,0xf0,0x02,0xa4,0x24,0x02,0xf9,0x74,0x95,0x35,0xf0,0x75,0x17,0x01,0xf5,0x18,
+0x89,0x19,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x46,0x12,0x43,0x52,0xaf,0x82,0x85,
+0x83,0x1a,0x8f,0x1b,0xe5,0x13,0x75,0xf0,0x09,0xa4,0x24,0x44,0xf9,0x74,0x96,0x35,
+0xf0,0x75,0x1c,0x01,0xf5,0x1d,0x89,0x1e,0x74,0x82,0x25,0x13,0xf5,0x82,0xe4,0x34,
+0x95,0xf5,0x83,0xe0,0x12,0x43,0x87,0x70,0x3c,0x00,0x70,0x51,0x01,0x70,0x66,0x02,
+0x70,0x7b,0x03,0x70,0xa4,0x04,0x70,0xb9,0x05,0x70,0xce,0x06,0x70,0xf4,0x0c,0x71,
+0x21,0x0d,0x71,0x4e,0x0e,0x71,0x7b,0x0f,0x00,0x00,0x71,0xaf,0xe5,0x13,0x25,0xe0,
+0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x15,0x80,
+0x3c,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,
+0xf0,0xa3,0x74,0x10,0x80,0x27,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,
+0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0x74,0x05,0x80,0x12,0xe5,0x13,0x25,0xe0,0x24,
+0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0xf0,0xf0,0xa3,0xe4,0xf0,0xe5,0x13,
+0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0x74,0x0f,0xf0,0xa3,0x74,
+0x8f,0xf0,0x21,0xaf,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,
+0x83,0x74,0x0f,0xf0,0xa3,0x74,0xf5,0x80,0x27,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,
+0x82,0xe4,0x34,0x9b,0xf5,0x83,0x74,0x0f,0xf0,0xa3,0x74,0xf0,0x80,0x12,0xe5,0x13,
+0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe4,0xf0,0xa3,0x74,0x0d,
+0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe4,0xf0,
+0xa3,0xf0,0x21,0xaf,0x90,0x04,0x47,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,
+0x20,0x90,0x04,0x46,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,
+0x32,0x90,0x04,0x45,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x44,0x21,
+0xa6,0x90,0x04,0x4b,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,
+0x4a,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,
+0x49,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x48,0x80,0x58,0x90,0x04,
+0x4f,0xe0,0xab,0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,0x4e,0xe0,0xab,
+0x17,0xaa,0x18,0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,0x4d,0xe0,0x85,
+0x16,0x82,0x85,0x15,0x83,0xf0,0x90,0x04,0x4c,0x80,0x2b,0x90,0x04,0x53,0xe0,0xab,
+0x17,0xaa,0x18,0xa9,0x19,0x12,0x42,0x20,0x90,0x04,0x52,0xe0,0xab,0x17,0xaa,0x18,
+0xa9,0x19,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x04,0x51,0xe0,0x85,0x16,0x82,0x85,
+0x15,0x83,0xf0,0x90,0x04,0x50,0xe0,0x85,0x16,0x82,0x85,0x15,0x83,0xa3,0xf0,0xab,
+0x17,0xaa,0x18,0xa9,0x19,0xc0,0x03,0xc0,0x02,0xc0,0x01,0x12,0x1f,0x04,0xff,0xab,
+0x1c,0xaa,0x1d,0xa9,0x1e,0x12,0x1f,0x04,0x5f,0xd0,0x01,0xd0,0x02,0xd0,0x03,0x12,
+0x42,0x20,0xab,0x17,0xe5,0x19,0x24,0x01,0xf9,0xe4,0x35,0x18,0xfa,0xc0,0x03,0xc0,
+0x02,0xc0,0x01,0x12,0x1f,0x04,0xff,0xab,0x1c,0xaa,0x1d,0xa9,0x1e,0x90,0x00,0x01,
+0x12,0x1f,0x1d,0x5f,0xd0,0x01,0xd0,0x02,0xd0,0x03,0x12,0x42,0x20,0x85,0x16,0x82,
+0x85,0x15,0x83,0xc0,0x83,0xc0,0x82,0xe0,0xff,0x85,0x1b,0x82,0x85,0x1a,0x83,0xe0,
+0xfe,0xef,0x5e,0xd0,0x82,0xd0,0x83,0xf0,0x85,0x16,0x82,0x85,0x15,0x83,0xa3,0xc0,
+0x83,0xc0,0x82,0xe0,0xff,0x85,0x1b,0x82,0x85,0x1a,0x83,0xa3,0xe0,0xfe,0xef,0x5e,
+0xd0,0x82,0xd0,0x83,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,
+0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3b,0x75,0x14,0x0b,0x74,0x01,0x7e,0x00,
+0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25,
+0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,
+0x4e,0x60,0x06,0xe5,0x14,0x24,0x10,0x80,0x5d,0x15,0x14,0xe5,0x14,0xc3,0x94,0x00,
+0x50,0xca,0x80,0x56,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,
+0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3d,0x75,0x14,0x0f,0x74,0x01,0x7e,0x00,0xa8,
+0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0xe5,0x13,0x25,0xe0,
+0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,
+0x60,0x08,0x90,0x9e,0x82,0xe5,0x14,0xf0,0x80,0x10,0x15,0x14,0xe5,0x14,0xc3,0x94,
+0x00,0x50,0xc8,0x80,0x05,0xe4,0x90,0x9e,0x82,0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc6,
+0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x3b,0xe4,0xf5,
+0x14,0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,
+0xf9,0xff,0xe5,0x13,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,
+0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x08,0x90,0x9e,0x83,0xe5,0x14,0xf0,0x80,0x5b,
+0x05,0x14,0xe5,0x14,0xb4,0x10,0xca,0x80,0x52,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,
+0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0x4e,0x60,0x39,0xe4,0xf5,0x14,
+0x74,0x01,0x7e,0x00,0xa8,0x14,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,
+0xff,0xe5,0x13,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0x5e,
+0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x06,0xe5,0x14,0x24,0x10,0x80,0x0a,0x05,0x14,0xe5,
+0x14,0xb4,0x0c,0xcc,0x80,0x05,0xe4,0x90,0x9e,0x83,0xf0,0x90,0x9e,0x82,0xe0,0xff,
+0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43,0x52,0xef,0xf0,0x90,0x9e,0x83,
+0xe0,0xfe,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x49,0x12,0x43,0x52,0xee,0xf0,0x74,
+0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0xd3,0x9f,0x40,0x05,0x90,
+0x9e,0x82,0x71,0xfe,0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,
+0xff,0x90,0x9e,0x83,0xe0,0xfe,0xef,0xc3,0x9e,0x50,0x02,0x71,0xfe,0x90,0x9e,0x82,
+0xe0,0xff,0xd3,0x94,0x13,0x40,0x07,0x90,0x96,0x43,0x74,0x03,0xf0,0x22,0xef,0xd3,
+0x94,0x0b,0x40,0x07,0x90,0x96,0x43,0x74,0x02,0xf0,0x22,0xef,0xd3,0x94,0x03,0x40,
+0x07,0x90,0x96,0x43,0x74,0x01,0xf0,0x22,0xe4,0x90,0x96,0x43,0xf0,0x22,0xe0,0xfd,
+0x74,0x26,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xed,0xf0,0xaf,0x13,0xd3,
+0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xef,0xc3,0x94,0x20,0x50,0x0e,0x74,0x84,0x2f,0xf5,
+0x82,0xe4,0x34,0x04,0xf5,0x83,0xed,0xf0,0x80,0x29,0x74,0xa6,0x2f,0xf5,0x82,0xe4,
+0x34,0x9c,0xf5,0x83,0xed,0xf0,0x90,0x9e,0xcd,0xef,0xf0,0x24,0xa6,0xf5,0x82,0xe4,
+0x34,0x9c,0xf5,0x83,0xe0,0x90,0x9e,0xce,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0xcd,0x7d,
+0x02,0xb1,0x27,0xd0,0xd0,0x92,0xaf,0x22,0x8f,0x0a,0x8d,0x0b,0xe5,0x0b,0x54,0x1f,
+0xf5,0x10,0x74,0x01,0x2f,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0,0xf5,0x0e,0x90,
+0x04,0xfd,0xe0,0xb4,0x01,0x05,0x75,0x11,0x03,0x80,0x03,0x75,0x11,0x01,0xeb,0xc3,
+0x95,0x11,0x40,0x04,0xaf,0x0a,0x80,0x33,0xe5,0x0e,0x25,0x0d,0xf5,0x0f,0xe5,0x10,
+0x90,0x41,0xdc,0x93,0xff,0xe5,0x0f,0xd3,0x9f,0x74,0x01,0x40,0x11,0x25,0x0a,0xf5,
+0x82,0xe4,0x34,0x94,0xf5,0x83,0xe4,0xf0,0xad,0x0b,0xaf,0x0a,0x81,0x0f,0x25,0x0a,
+0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe5,0x0f,0xf0,0x22,0xad,0x07,0x75,0xf0,0x09,
+0xed,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,
+0x9d,0xf5,0x83,0xe0,0x54,0x1f,0xf5,0x12,0xd3,0x9f,0x40,0x02,0x8f,0x12,0xe5,0x12,
+0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,
+0x93,0xff,0xe5,0x12,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,
+0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,
+0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x05,
+0xad,0x12,0x91,0x0f,0xaf,0x12,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f,
+0x01,0x12,0x43,0x7e,0x90,0x9f,0x04,0xe0,0x54,0xf0,0x44,0x06,0xff,0xf0,0xed,0x54,
+0x0f,0xc4,0x54,0xf0,0xfe,0xef,0x54,0x0f,0x4e,0xf0,0x90,0x9f,0x01,0x12,0x43,0x5e,
+0x90,0x9e,0xfe,0x12,0x43,0x7e,0x7b,0x01,0x7a,0x9f,0x79,0x04,0x12,0x5d,0x37,0xd0,
+0xd0,0x92,0xaf,0x22,0xac,0x07,0xec,0xc3,0x94,0x20,0x50,0x0d,0x74,0x84,0x2c,0xf5,
+0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b,0x74,0xa6,0x2c,0xf5,0x82,0xe4,0x34,
+0x9c,0xf5,0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5,0x1e,0x54,0x1f,0xff,0x90,0x9e,0x77,
+0xf0,0x75,0xf0,0x09,0xec,0x90,0x96,0x49,0x12,0x43,0x52,0xe0,0x90,0x9e,0x79,0xf0,
+0x75,0xf0,0x09,0xec,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0xfe,0x90,0x9e,0x7a,0xf0,
+0xec,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,
+0x90,0x9e,0x7b,0xcb,0xf0,0xa3,0xeb,0xf0,0xec,0x25,0xe0,0x24,0x02,0xf5,0x82,0xe4,
+0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x7d,0xcb,0xf0,0xa3,0xeb,0xf0,
+0xef,0xd3,0x9e,0x40,0x0a,0x90,0x9e,0x7a,0xe0,0x90,0x9e,0x77,0xf0,0xf5,0x1e,0xed,
+0x70,0x02,0xc1,0xba,0x90,0x9e,0x78,0xed,0xf0,0xe5,0x1e,0x30,0xe6,0x0a,0x90,0x9e,
+0x77,0xe0,0xf5,0x1e,0xa3,0xe0,0x14,0xf0,0x90,0x9e,0x78,0xe0,0x70,0x02,0xc1,0xba,
+0x90,0x9e,0x77,0xe0,0xff,0xd3,0x94,0x00,0x50,0x02,0xc1,0xba,0xe4,0x90,0x9e,0x76,
+0xf0,0xef,0x14,0x90,0x9e,0x75,0xf0,0x90,0x9e,0x79,0xe0,0xfd,0x90,0x9e,0x75,0xe0,
+0xff,0xd3,0x9d,0x40,0x6b,0xef,0x94,0x10,0x40,0x21,0xef,0x24,0xf0,0xff,0x74,0x01,
+0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,
+0x9e,0x7d,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x70,0x27,0x90,0x9e,0x75,0xe0,0xff,
+0xc3,0x94,0x10,0x50,0x33,0x74,0x01,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,
+0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x7b,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,
+0x60,0x16,0x90,0x9e,0x75,0xe0,0xf5,0x1e,0xa3,0xe0,0x04,0xf0,0x90,0x9e,0x78,0xe0,
+0xff,0x90,0x9e,0x76,0xe0,0x6f,0x60,0x08,0x90,0x9e,0x75,0xe0,0x14,0xf0,0x80,0x87,
+0x90,0x9e,0x78,0xe0,0xff,0x90,0x9e,0x76,0xe0,0xc3,0x9f,0x50,0x0d,0x90,0x9e,0x75,
+0xe0,0xb5,0x05,0x06,0x90,0x9e,0x79,0xe0,0xf5,0x1e,0xe5,0x1e,0x25,0xe0,0x24,0xa4,
+0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93,0xff,0xe5,0x1e,
+0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93,0x2f,0xff,
+0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xec,0x25,0xe0,0x24,0xc2,0xf5,0x82,
+0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x04,0xad,0x1e,0x91,0x0f,
+0xaf,0x1e,0x22,0xe4,0xf5,0x67,0xf5,0x6b,0xf5,0x6a,0x75,0x69,0x0c,0x75,0x68,0x0c,
+0x90,0x9e,0x9e,0xf0,0x90,0x9e,0x9c,0xf0,0x90,0x9e,0x9b,0xf0,0x90,0x9e,0x9d,0x04,
+0xf0,0x90,0x9e,0x8e,0xf0,0xe4,0x90,0x9e,0x9f,0xf0,0x90,0x9e,0x90,0xf0,0x90,0x9e,
+0x99,0x74,0x07,0xf0,0xe4,0x90,0x9e,0x8f,0xf0,0x90,0x9e,0x97,0xf0,0xa3,0x74,0x0b,
+0xf0,0x90,0x9e,0x94,0x74,0x01,0xf0,0xa3,0x74,0x03,0xf0,0x90,0x9e,0x93,0x74,0x14,
+0xf0,0x90,0x9e,0x9a,0x74,0x05,0xf0,0xe4,0x90,0x9e,0x92,0xf0,0x90,0x9e,0x8d,0xf0,
+0x90,0x9e,0xbb,0xf0,0x90,0x9e,0x96,0xf0,0x90,0x9e,0xa0,0xf0,0x22,0xe4,0x90,0x9e,
+0x9f,0xf0,0x90,0x9e,0x8f,0xf0,0xf5,0x6b,0x22,0xef,0xb4,0x01,0x07,0x7d,0xc8,0x7f,
+0x02,0x02,0x3a,0x71,0x7d,0x60,0x7f,0x02,0x12,0x3a,0x54,0x90,0x01,0x3d,0x74,0x04,
+0xf0,0xa3,0x74,0xc8,0xf0,0x7d,0x04,0x7f,0x01,0x12,0x3a,0xdf,0x7d,0xc8,0x7f,0x02,
+0x02,0x3a,0xdf,0x12,0x5c,0xb8,0xef,0x64,0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01,
+0xf0,0x80,0x30,0x90,0x9e,0x9c,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,
+0x22,0x90,0x9e,0x9b,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x04,0xf0,0x80,0x14,0xe5,
+0x69,0x54,0x0f,0xd3,0x94,0x04,0x40,0x08,0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x03,
+0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x08,0xf0,0x7f,0x00,0x22,0x12,0x5c,0xb8,0xef,
+0x64,0x01,0x60,0x08,0x90,0x01,0xb9,0x74,0x01,0xf0,0x80,0x66,0xe5,0x6b,0x54,0x03,
+0x60,0x08,0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x58,0xe5,0x69,0x54,0x0f,0xd3,0x94,
+0x02,0x40,0x08,0x90,0x01,0xb9,0x74,0x04,0xf0,0x80,0x47,0xe5,0x6b,0x30,0xe2,0x08,
+0x90,0x01,0xb9,0x74,0x08,0xf0,0x80,0x3a,0xe5,0x6b,0x30,0xe4,0x08,0x90,0x01,0xb9,
+0x74,0x10,0xf0,0x80,0x2d,0x90,0x9e,0x90,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x20,
+0xf0,0x80,0x1f,0x90,0x9e,0x8b,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x40,0xf0,0x80,
+0x11,0x90,0x9e,0x96,0xe0,0x60,0x08,0x90,0x01,0xb9,0x74,0x80,0xf0,0x80,0x03,0x7f,
+0x01,0x22,0x90,0x01,0xb8,0x74,0x04,0xf0,0x7f,0x00,0x22,0xe5,0x57,0x60,0x08,0x90,
+0x01,0xb9,0x74,0x01,0xf0,0x80,0x61,0xe5,0x69,0x54,0x0f,0xd3,0x94,0x01,0x40,0x08,
+0x90,0x01,0xb9,0x74,0x02,0xf0,0x80,0x50,0x90,0x02,0x87,0xe0,0x60,0x08,0x90,0x01,
+0xb9,0x74,0x04,0xf0,0x80,0x42,0x90,0x9e,0xba,0xe0,0xb4,0x01,0x10,0x90,0x9e,0xa1,
+0xe0,0xfe,0xa3,0xe0,0xf5,0x82,0x8e,0x83,0xe0,0x60,0x1c,0x80,0x2b,0x90,0x9e,0xba,
+0xe0,0x70,0x14,0x90,0x9d,0xa9,0xe0,0xff,0x90,0x9d,0xa8,0xe0,0x6f,0x60,0x08,0x90,
+0x01,0xb9,0x74,0x08,0xf0,0x80,0x11,0x90,0x9e,0x92,0xe0,0x70,0x08,0x90,0x01,0xb9,
+0x74,0x10,0xf0,0x80,0x03,0x7f,0x01,0x22,0x90,0x01,0xb8,0x74,0x02,0xf0,0x7f,0x00,
+0x22,0x8f,0x6c,0xe4,0x90,0x9f,0x0f,0xf0,0xa3,0xf0,0x90,0x01,0x09,0xe0,0x7f,0x00,
+0x30,0xe7,0x02,0x7f,0x01,0xef,0x65,0x6c,0x60,0x3e,0xc3,0x90,0x9f,0x10,0xe0,0x94,
+0x88,0x90,0x9f,0x0f,0xe0,0x94,0x13,0x40,0x08,0x90,0x01,0xc6,0xe0,0x44,0x80,0xf0,
+0x22,0x90,0x9f,0x0f,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12,
+0x3b,0x3b,0xd3,0x90,0x9f,0x10,0xe0,0x94,0x32,0x90,0x9f,0x0f,0xe0,0x94,0x00,0x40,
+0xb9,0x90,0x01,0xc7,0xe0,0x30,0xe0,0xb2,0x22,0x90,0x00,0x20,0xe0,0x44,0x01,0xfd,
+0x7f,0x20,0x12,0x44,0xcc,0x7f,0xf4,0x7e,0x01,0x12,0x3b,0x3b,0x90,0x00,0x00,0xe0,
+0x54,0xdf,0xfd,0xe4,0xff,0x12,0x44,0xcc,0x90,0x00,0x28,0xe0,0x44,0x03,0xfd,0x7f,
+0x28,0x12,0x44,0xcc,0x90,0x00,0x08,0xe0,0x54,0xef,0xfd,0x7f,0x08,0x12,0x44,0xcc,
+0xe4,0xff,0x11,0xe1,0x7f,0x64,0x7e,0x00,0x12,0x3b,0x3b,0x90,0x00,0x29,0xe0,0x44,
+0xc0,0xfd,0x7f,0x29,0x02,0x44,0xcc,0x90,0x9e,0x97,0xe0,0xa3,0xe0,0x90,0x05,0x58,
+0xf0,0x22,0xef,0xc3,0x94,0x20,0x50,0x39,0xef,0x30,0xe0,0x17,0xed,0xc4,0x54,0xf0,
+0xfd,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x54,
+0x0f,0x80,0x10,0xef,0xc3,0x13,0xfe,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,
+0xe0,0x54,0xf0,0xf0,0x74,0xa4,0x2e,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x4d,
+0xf0,0x22,0xad,0x07,0xed,0xc3,0x94,0x20,0x50,0x0d,0x74,0x84,0x2d,0xf5,0x82,0xe4,
+0x34,0x04,0xf5,0x83,0xe0,0x80,0x0b,0x74,0xa6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,
+0x83,0xe0,0x54,0x7f,0xf5,0x1e,0xe5,0x1e,0x54,0x1f,0xfc,0x75,0xf0,0x09,0xed,0x90,
+0x96,0x48,0x12,0x43,0x52,0xe0,0xff,0x90,0x9e,0x75,0xf0,0xed,0x25,0xe0,0x24,0x02,
+0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe0,0xfb,0xa3,0xe0,0x90,0x9e,0x76,0xcb,0xf0,
+0xa3,0xeb,0xf0,0xed,0x25,0xe0,0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe0,
+0xfb,0xa3,0xe0,0x90,0x9e,0x78,0xcb,0xf0,0xa3,0xeb,0xf0,0xec,0x25,0xe0,0x24,0x6c,
+0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfa,0x74,0x01,0x93,0xfb,0xed,0x25,
+0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xea,0xf0,0xa3,0xeb,0xf0,0xec,
+0xc3,0x9f,0x40,0x02,0x41,0xf0,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,
+0xec,0xf0,0x04,0xfb,0x90,0x9e,0x75,0xe0,0xff,0xeb,0xd3,0x9f,0x40,0x02,0x61,0x21,
+0xeb,0xc3,0x94,0x10,0x40,0x21,0xeb,0x24,0xf0,0xff,0x74,0x01,0x7e,0x00,0xa8,0x07,
+0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,0x76,0xe0,0x5e,
+0xfe,0xa3,0xe0,0x5f,0x4e,0x70,0x23,0xeb,0xc3,0x94,0x10,0x50,0x40,0x74,0x01,0x7e,
+0x00,0xa8,0x03,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x9e,
+0x78,0xe0,0x5e,0xfe,0xa3,0xe0,0x5f,0x4e,0x60,0x23,0xbb,0x11,0x09,0x90,0x9e,0x77,
+0xe0,0x30,0xe7,0x02,0x7b,0x17,0xeb,0x64,0x13,0x60,0x03,0xbb,0x12,0x09,0x90,0x9e,
+0x76,0xe0,0x30,0xe0,0x02,0x7b,0x18,0xac,0x03,0x8c,0x1e,0x80,0x34,0x0b,0x80,0x84,
+0x90,0x9e,0x75,0xe0,0xfb,0x6c,0x70,0x69,0x74,0x67,0x2d,0xf5,0x82,0xe4,0x34,0x9d,
+0xf5,0x83,0xec,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a,0x12,0x43,0x52,0xe0,0xb4,
+0x01,0x0c,0xe5,0x1e,0x20,0xe6,0x07,0xec,0x44,0x40,0xf5,0x1e,0x80,0x03,0xaf,0x1e,
+0x22,0xec,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,
+0x74,0x01,0x93,0xff,0xec,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,
+0x74,0x01,0x93,0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,
+0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0x80,
+0x5b,0xec,0xd3,0x9b,0x40,0x56,0x90,0x9e,0x75,0xe0,0xff,0x74,0x67,0x2d,0xf5,0x82,
+0xe4,0x34,0x9d,0xf5,0x83,0xef,0xf0,0xac,0x07,0x8f,0x1e,0xec,0x25,0xe0,0x24,0xa4,
+0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0xe4,0x93,0xfe,0x74,0x01,0x93,0xff,0xec,0x25,
+0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,0xf5,0x83,0x74,0x01,0x93,0x2f,0xff,0xe4,
+0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,
+0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0xaf,0x1e,0x22,0x74,0x01,0x2d,0xf5,
+0x82,0xe4,0x34,0x94,0xf5,0x83,0xe4,0xf0,0xaf,0x05,0xe5,0x1e,0x44,0x80,0xfd,0x12,
+0x74,0x0f,0xe5,0x1e,0x44,0x80,0xff,0x22,0xe4,0xf5,0x13,0xe5,0x13,0xb4,0x20,0x14,
+0x90,0x9a,0xc5,0xe0,0x04,0xf0,0x90,0x95,0x01,0xe0,0xff,0x90,0x9a,0xc5,0xe0,0xb5,
+0x07,0x02,0xe4,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4b,0x12,0x43,0x52,0xe0,
+0x64,0x01,0x60,0x03,0x02,0x82,0x27,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,
+0x34,0x93,0xf5,0x83,0xe0,0xfe,0xa3,0xe0,0xd3,0x94,0x00,0xee,0x94,0x00,0x50,0x03,
+0x02,0x82,0x27,0xe5,0x13,0x94,0x20,0x40,0x09,0x90,0x9a,0xc5,0xe0,0x60,0x03,0x02,
+0x82,0x33,0xe5,0x13,0x75,0xf0,0x0a,0xa4,0x24,0x00,0xf9,0x74,0x90,0x35,0xf0,0x75,
+0x18,0x01,0xf5,0x19,0x89,0x1a,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,
+0x93,0xf5,0x83,0xe0,0xff,0xa3,0xe0,0x90,0x9e,0x6f,0xcf,0xf0,0xa3,0xef,0xf0,0xe5,
+0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xff,0xa3,0xe0,
+0x90,0x9e,0x71,0xcf,0xf0,0xa3,0xef,0xf0,0xe5,0x13,0xc3,0x94,0x20,0x50,0x14,0x74,
+0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0xe0,0x54,0x3f,0x90,0x9e,0x6b,
+0xf0,0x80,0x12,0x74,0xa6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x54,
+0x3f,0x90,0x9e,0x6b,0xf0,0x90,0x9e,0x6b,0xe0,0xfe,0x54,0x1f,0xa3,0xf0,0x75,0xf0,
+0x09,0xe5,0x13,0x90,0x96,0x48,0x12,0x43,0x52,0xe0,0x90,0x9e,0x74,0xf0,0x74,0xe6,
+0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xc3,0x94,0x05,0x40,0x02,0xc1,
+0xfd,0x90,0x9e,0x74,0xe0,0xff,0x90,0x9e,0x6c,0xe0,0x9f,0x40,0x13,0x90,0x9e,0x74,
+0xe0,0x90,0x9e,0x6c,0xf0,0xee,0x54,0x40,0xfe,0x90,0x9e,0x6b,0xf0,0xef,0x4e,0xf0,
+0x90,0x04,0xfd,0xe0,0x54,0x05,0x64,0x01,0x70,0x29,0x90,0x9e,0x6c,0xe0,0xff,0x90,
+0x41,0x50,0x93,0xfe,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,
+0xc3,0x9e,0x40,0x06,0xef,0x90,0x40,0xe0,0x80,0x30,0x90,0x9e,0x6c,0xe0,0x90,0x40,
+0xfc,0x80,0x27,0x90,0x9e,0x6c,0xe0,0xff,0x90,0x41,0x50,0x93,0xfe,0x74,0x44,0x25,
+0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xc3,0x9e,0x40,0x06,0xef,0x90,0x41,
+0x18,0x80,0x07,0x90,0x9e,0x6c,0xe0,0x90,0x41,0x34,0x93,0x90,0x9e,0x73,0xf0,0x90,
+0x9e,0x73,0xe0,0x75,0xf0,0x06,0xa4,0x24,0x56,0xf9,0x74,0x40,0x35,0xf0,0x75,0x15,
+0xff,0xf5,0x16,0x89,0x17,0x90,0x9e,0x6b,0xe0,0x90,0x41,0xf8,0x93,0xff,0xd3,0x90,
+0x9e,0x72,0xe0,0x9f,0x90,0x9e,0x71,0xe0,0x94,0x00,0x40,0x0a,0xe4,0xfd,0xaf,0x13,
+0x12,0x75,0x64,0x02,0x81,0xbe,0xe5,0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,
+0x95,0xf5,0x83,0xe0,0xf5,0x1b,0xa3,0xe0,0xf5,0x1c,0xab,0x15,0xaa,0x16,0xa9,0x17,
+0x12,0x1f,0x04,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x12,0x42,0x6a,0xfd,
+0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,
+0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18,
+0xaa,0x19,0xa9,0x1a,0x90,0x00,0x02,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a,
+0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,
+0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,
+0x00,0x04,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,
+0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x03,0x12,0x1f,
+0x1d,0xff,0x7e,0x00,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x06,0x12,0x42,0x95,
+0xfd,0xac,0xf0,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,
+0xab,0x15,0xaa,0x16,0xa9,0x17,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x7e,0x00,0xab,
+0x18,0xaa,0x19,0xa9,0x1a,0x90,0x00,0x08,0x12,0x42,0x95,0xfd,0xac,0xf0,0x12,0x1f,
+0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xab,0x15,0xaa,0x16,0xa9,
+0x17,0x90,0x00,0x05,0x12,0x1f,0x1d,0xff,0x7e,0x00,0x90,0x9e,0x6f,0xe0,0xfc,0xa3,
+0xe0,0xfd,0x12,0x1f,0x4a,0xd3,0xe5,0x1c,0x9f,0xe5,0x1b,0x9e,0x40,0x0c,0xe5,0x1c,
+0x9f,0xf5,0x1c,0xe5,0x1b,0x9e,0xf5,0x1b,0x80,0x05,0xe4,0xf5,0x1b,0xf5,0x1c,0xe5,
+0x13,0x25,0xe0,0x24,0xc2,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xe5,0x1b,0xf0,0xa3,
+0xe5,0x1c,0xf0,0x90,0x9e,0x6b,0xe0,0x25,0xe0,0x24,0x6c,0xf5,0x82,0xe4,0x34,0x41,
+0xf5,0x83,0xc3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b,0x50,0x07,0xaf,0x13,
+0x31,0xd2,0x02,0x81,0x92,0x90,0x9e,0x6b,0xe0,0x25,0xe0,0x24,0xa4,0xf5,0x82,0xe4,
+0x34,0x41,0xf5,0x83,0xd3,0x74,0x01,0x93,0x95,0x1c,0xe4,0x93,0x95,0x1b,0x50,0x03,
+0x02,0x81,0x92,0x7d,0x01,0xaf,0x13,0x12,0x75,0x64,0x02,0x81,0x92,0x74,0xe6,0x25,
+0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xfc,0x64,0x05,0x60,0x03,0x02,0x80,
+0x9b,0x90,0x96,0x43,0xe0,0xff,0xb4,0x03,0x0b,0x90,0x9e,0x6c,0xe0,0xc3,0x94,0x19,
+0x40,0x3d,0x80,0x2e,0xef,0xb4,0x02,0x0b,0x90,0x9e,0x6c,0xe0,0xc3,0x94,0x11,0x40,
+0x2e,0x80,0x1f,0x90,0x96,0x43,0xe0,0xff,0xb4,0x01,0x0b,0x90,0x9e,0x6c,0xe0,0xc3,
+0x94,0x0a,0x40,0x1b,0x80,0x0c,0xef,0x70,0x11,0x90,0x9e,0x6c,0xe0,0xc3,0x94,0x03,
+0x40,0x0d,0x90,0x9a,0x84,0x74,0x01,0xf0,0x80,0x05,0xe4,0x90,0x9a,0x84,0xf0,0x74,
+0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0x74,0x44,0x25,
+0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xc3,0x94,0x30,0x50,0x03,0x02,
+0x80,0x48,0x90,0x9a,0x84,0xe0,0x64,0x01,0x60,0x03,0x02,0x80,0x48,0x74,0x85,0x25,
+0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0x64,0x0a,0x60,0x51,0xef,0x24,0x05,
+0xff,0xe4,0x33,0xfe,0x74,0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xe0,
+0xfd,0xd3,0x9f,0xee,0x64,0x80,0xf8,0x74,0x80,0x98,0x50,0x32,0xed,0x24,0x05,0xff,
+0xe4,0x33,0xfe,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xd3,
+0x9f,0xee,0x64,0x80,0xf8,0x74,0x80,0x98,0x50,0x14,0x74,0x26,0x25,0x13,0xf5,0x82,
+0xe4,0x34,0x9d,0xf5,0x83,0xe0,0xff,0x90,0x9e,0x6c,0xe0,0x6f,0x60,0x3d,0x74,0x44,
+0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe0,0xff,0xd3,0x94,0x42,0x40,0x05,
+0x75,0x1d,0x05,0x80,0x0e,0xef,0xd3,0x94,0x39,0x40,0x05,0x75,0x1d,0x03,0x80,0x03,
+0x75,0x1d,0x01,0x74,0x41,0x25,0x13,0xf5,0x82,0xe4,0x34,0x94,0xf5,0x83,0xef,0xf0,
+0x74,0x85,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,0x80,0x29,0x74,0xe6,0x25,0x13,0xf5,
+0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x74,0x85,0x25,0x13,0xf5,0x82,0xe4,0x34,
+0x9a,0xf5,0x83,0xe0,0x04,0xf0,0x80,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5,
+0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x90,0x9e,0x6c,0xe0,0xff,0x74,0x26,0x25,
+0x13,0xf5,0x82,0xe4,0x34,0x9d,0xf5,0x83,0xef,0xf0,0x74,0x84,0x25,0x13,0xf5,0x82,
+0xe4,0x34,0x98,0xf5,0x83,0xe5,0x1d,0xf0,0x75,0xf0,0x09,0xe5,0x13,0x90,0x96,0x4c,
+0x12,0x43,0x52,0xe0,0xb4,0x01,0x10,0xe4,0xf5,0x1d,0x74,0xe6,0x25,0x13,0xf5,0x82,
+0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0xad,0x1d,0x21,0x8d,0xec,0x64,0x06,0x60,0x02,
+0x21,0x92,0xf5,0x1b,0xf5,0x1c,0x90,0x42,0x19,0x93,0xff,0x7e,0x00,0x90,0x9e,0x6f,
+0xe0,0xfc,0xa3,0xe0,0xfd,0x12,0x1f,0x4a,0x90,0x9e,0x6d,0xee,0xf0,0xa3,0xef,0xf0,
+0x74,0x84,0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe0,0xf5,0x1d,0xe4,0xf5,
+0x14,0xab,0x18,0xaa,0x19,0xa9,0x1a,0x75,0xf0,0x02,0xe5,0x14,0xa4,0xf5,0x82,0x85,
+0xf0,0x83,0x12,0x42,0x95,0xfd,0xac,0xf0,0xe5,0x14,0x90,0x42,0x14,0x93,0xff,0x7e,
+0x00,0x12,0x1f,0x4a,0xef,0x25,0x1c,0xf5,0x1c,0xee,0x35,0x1b,0xf5,0x1b,0xc3,0x90,
+0x9e,0x6e,0xe0,0x95,0x1c,0x90,0x9e,0x6d,0xe0,0x95,0x1b,0x40,0x07,0x05,0x14,0xe5,
+0x14,0xb4,0x05,0xbd,0xe5,0x14,0xc3,0x13,0xf5,0x14,0xe5,0x1d,0xb4,0x01,0x06,0xe5,
+0x14,0x70,0x46,0x80,0x13,0xe5,0x1d,0xb4,0x03,0x15,0xe5,0x14,0x70,0x05,0x75,0x1d,
+0x03,0x80,0x39,0xe5,0x14,0xb4,0x01,0x05,0x75,0x1d,0x01,0x80,0x2f,0x80,0x2a,0xe5,
+0x1d,0xb4,0x05,0x28,0xe5,0x14,0x70,0x05,0x75,0x1d,0x05,0x80,0x0d,0xe5,0x14,0xb4,
+0x01,0x05,0x75,0x1d,0x03,0x80,0x03,0x75,0x1d,0x01,0xd3,0x90,0x9e,0x72,0xe0,0x94,
+0x03,0x90,0x9e,0x71,0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0xd3,0x90,0x9e,0x72,
+0xe0,0x94,0x03,0x90,0x9e,0x71,0xe0,0x94,0x00,0x40,0x03,0xe4,0xf5,0x1d,0x74,0x84,
+0x25,0x13,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe5,0x1d,0xf0,0xfd,0xaf,0x13,0x12,
+0x79,0x92,0x74,0xe6,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0xd3,0x94,
+0x05,0x74,0xe6,0x50,0x0e,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe0,0x04,
+0xf0,0x80,0x0b,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0xab,0x18,
+0xaa,0x19,0xa9,0x1a,0xe4,0xf5,0xf0,0x12,0x42,0xcd,0xab,0x18,0xaa,0x19,0xa9,0x1a,
+0x90,0x00,0x02,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x04,0xe4,0xf5,0xf0,0x12,
+0x42,0xec,0x90,0x00,0x06,0xe4,0xf5,0xf0,0x12,0x42,0xec,0x90,0x00,0x08,0xe4,0xf5,
+0xf0,0x12,0x42,0xec,0xe5,0x13,0x25,0xe0,0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,
+0x83,0xe4,0xf0,0xa3,0xf0,0xe5,0x13,0x25,0xe0,0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,
+0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xe5,0x13,0x25,0xe0,0x24,0x44,0xf5,0x82,0xe4,0x34,
+0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x05,0x13,0xe5,0x13,0xc3,0x94,0x40,0x50,0x03,
+0x02,0x7b,0xdb,0x22,0x90,0x04,0x44,0x74,0x11,0xf0,0xa3,0x74,0xf0,0xf0,0xa3,0x74,
+0x0f,0xf0,0xa3,0xe4,0xf0,0xfd,0x74,0xa4,0x2d,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,
+0xe4,0xf0,0x0d,0xbd,0x10,0xf0,0xe4,0x90,0x9a,0xc5,0xf0,0x90,0x95,0x01,0x04,0xf0,
+0xe4,0xfd,0x75,0xf0,0x0a,0xed,0x90,0x90,0x00,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,
+0x75,0xf0,0x0a,0xed,0x90,0x90,0x02,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,
+0x0a,0xed,0x90,0x90,0x04,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,
+0x90,0x90,0x06,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x75,0xf0,0x0a,0xed,0x90,0x90,
+0x08,0x12,0x43,0x52,0xe4,0xf0,0xa3,0xf0,0x74,0x26,0x2d,0xf5,0x82,0xe4,0x34,0x9d,
+0xf5,0x83,0x74,0x13,0xf0,0x74,0x85,0x2d,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe4,
+0xf0,0x74,0x84,0x2d,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xed,0x25,0xe0,
+0x24,0x80,0xf5,0x82,0xe4,0x34,0x93,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,
+0x24,0xc4,0xf5,0x82,0xe4,0x34,0x98,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,
+0x24,0xc4,0xf5,0x82,0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,
+0x24,0x44,0xf5,0x82,0xe4,0x34,0x99,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,
+0x24,0xc6,0xf5,0x82,0xe4,0x34,0x9a,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0xed,0x25,0xe0,
+0x24,0x46,0xf5,0x82,0xe4,0x34,0x9b,0xf5,0x83,0xe4,0xf0,0xa3,0xf0,0x74,0x86,0x2d,
+0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,0xf0,0x74,0x46,0x2d,0xf5,0x82,0xe4,0x34,
+0x9c,0xf5,0x83,0xe4,0xf0,0x74,0xe6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0xe4,
+0xf0,0x90,0x41,0xca,0x93,0xfe,0x74,0x01,0x93,0xff,0x90,0x41,0x92,0x74,0x01,0x93,
+0x2f,0xff,0xe4,0x93,0x3e,0xc3,0x13,0xfe,0xef,0x13,0xff,0xed,0x25,0xe0,0x24,0xc2,
+0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,0xee,0xf0,0xa3,0xef,0xf0,0x75,0xf0,0x09,0xed,
+0x90,0x96,0x4b,0x12,0x43,0x52,0x74,0x01,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x4a,
+0x12,0x43,0x52,0x74,0x01,0xf0,0x74,0x82,0x2d,0xf5,0x82,0xe4,0x34,0x95,0xf5,0x83,
+0x74,0x0c,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x46,0x12,0x43,0x52,0x74,0xff,0xf0,
+0xa3,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x44,0x12,0x43,0x52,0xe4,0xf0,0xa3,0x74,
+0x0f,0xf0,0x75,0xf0,0x09,0xed,0x90,0x96,0x48,0x12,0x43,0x52,0x74,0x13,0xf0,0x75,
+0xf0,0x09,0xed,0x90,0x96,0x49,0x12,0x43,0x52,0xe4,0xf0,0xed,0xc3,0x94,0x20,0x50,
+0x0f,0x74,0x84,0x2d,0xf5,0x82,0xe4,0x34,0x04,0xf5,0x83,0x74,0x13,0xf0,0x80,0x0d,
+0x74,0xa6,0x2d,0xf5,0x82,0xe4,0x34,0x9c,0xf5,0x83,0x74,0x13,0xf0,0x0d,0xed,0x64,
+0x40,0x60,0x02,0x41,0x62,0x22,0x12,0x1f,0x04,0xf5,0x13,0xc3,0x94,0x40,0x50,0x15,
+0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x74,0x44,0x25,0x13,0xf5,0x82,0xe4,0x34,0x9a,
+0xf5,0x83,0xef,0xf0,0x22,0xe5,0x13,0xb4,0x40,0x0a,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0x96,0x42,0xf0,0x22,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0x54,0x3f,0xfe,0xef,
+0x54,0x80,0xc4,0x13,0x13,0x13,0x54,0x01,0xfd,0xaf,0x06,0x02,0x6e,0xc2,0x12,0x1f,
+0x04,0x90,0x95,0x01,0xf0,0x22,0xe4,0x90,0x9d,0xa8,0xf0,0xa3,0xf0,0x90,0x01,0xaf,
+0xf0,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,
+0x9e,0x9e,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x9e,0x8d,0xf0,0x12,0x1f,0x04,
+0x65,0x6a,0x60,0x03,0x12,0x4c,0xe3,0xd0,0xd0,0x92,0xaf,0x22,0x12,0x1f,0x04,0xf5,
+0x67,0x22,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0x30,0xe0,0x25,0x12,0x1f,0x04,0x90,
+0x9e,0x94,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0x95,0xf0,0xef,0xc3,0x13,
+0x54,0x7f,0x90,0x9e,0x93,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0x9e,0x9a,0xf0,
+0x22,0x90,0x9e,0x94,0x74,0x01,0xf0,0x90,0x9e,0x95,0x74,0x03,0xf0,0x90,0x9e,0x93,
+0x74,0x14,0xf0,0x90,0x9e,0x9a,0x74,0x05,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x18,
+0xc3,0x13,0x54,0x7f,0x90,0x9e,0x99,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0x90,
+0x9e,0x97,0xe4,0xf0,0xa3,0xef,0xf0,0x22,0x90,0x9e,0x99,0x74,0x07,0xf0,0x90,0x9e,
+0x97,0xe4,0xf0,0xa3,0x74,0x0b,0xf0,0x22,0x12,0x1f,0x04,0x60,0x02,0x80,0x01,0xe4,
+0x90,0x9e,0x96,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x07,0x54,0x01,0x90,0x9e,0xa0,
+0xf0,0x22,0x7d,0x10,0x7f,0x03,0x12,0x3a,0x71,0x7d,0x01,0x7f,0x02,0x02,0x3a,0xc5,
+0x90,0x02,0x09,0xe0,0xfd,0x12,0x1f,0x04,0xfe,0xaf,0x05,0xed,0x2e,0x90,0x9e,0xb4,
+0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0xb5,0xf0,0x90,0x00,
+0x02,0x12,0x1f,0x1d,0xff,0xed,0x2f,0x90,0x9e,0xb6,0xf0,0x90,0x00,0x03,0x12,0x1f,
+0x1d,0xff,0xed,0x2f,0x90,0x9e,0xb7,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0xff,0xae,
+0x05,0xed,0x2f,0x90,0x9e,0xb8,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x3f,0x90,
+0xfd,0x50,0x74,0x0b,0xf0,0xa3,0x74,0x05,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,
+0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0xfd,0x54,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x55,0xf0,0x90,0x00,
+0x04,0x12,0x1f,0x1d,0x90,0xfd,0x56,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x90,
+0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x0c,0xf0,0xa3,0x74,0x01,0xf0,
+0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,
+0x90,0xfd,0x58,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x17,0x90,0xfd,0x50,
+0x74,0x0d,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0x90,0xfd,
+0x58,0x74,0x01,0xf0,0x22,0x12,0x1f,0x04,0x30,0xe0,0x0e,0x90,0x07,0x78,0xe0,0x54,
+0xfd,0xf0,0x90,0x9e,0x50,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x50,0xf0,0x22,0x90,
+0x07,0x78,0xe0,0x44,0x0c,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe0,0x75,0x90,0xfd,0x58,
+0xe0,0x20,0xe0,0x10,0x90,0xfd,0x50,0x74,0x14,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xf0,
+0x90,0xfd,0x58,0xf0,0x90,0x9e,0x43,0xe0,0x44,0x08,0xf0,0xef,0x30,0xe1,0x0d,0xe0,
+0x44,0x01,0xf0,0x90,0x07,0x78,0xe0,0x54,0xfd,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,
+0x44,0x02,0xf0,0x12,0x1f,0x04,0xff,0x30,0xe2,0x1e,0x90,0x9e,0x43,0xe0,0x44,0x04,
+0xf0,0x90,0x04,0x26,0xe0,0x44,0x40,0xf0,0x90,0x07,0x78,0xe0,0x54,0xef,0xf0,0x90,
+0x07,0x83,0xe0,0x44,0x40,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x44,0x10,0xf0,0xef,
+0x30,0xe4,0x63,0x90,0x9e,0x43,0xe0,0x44,0x02,0xf0,0x90,0x04,0x26,0xe0,0x44,0x80,
+0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x12,0x90,0xfd,0x50,0x74,0x14,0xf0,0xa3,
+0x74,0x01,0xf0,0xa3,0xe4,0xf0,0x90,0xfd,0x58,0x04,0xf0,0x90,0x9e,0x43,0xe0,0x54,
+0xfe,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xf7,0xf0,0x90,0x07,
+0x78,0xe0,0x54,0xe3,0xf0,0x90,0x07,0x83,0xe0,0x54,0x3f,0xf0,0x90,0x04,0x26,0xe0,
+0x54,0x3f,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12,0x1f,0xd7,0x7f,
+0x80,0x7e,0x08,0x12,0x34,0x55,0x22,0x12,0x1f,0x04,0xff,0x30,0xe0,0x4b,0x90,0x07,
+0x78,0xe0,0x44,0x02,0xf0,0x90,0x07,0x83,0xe0,0x44,0x02,0xf0,0x90,0x07,0x78,0xe0,
+0x44,0x80,0x54,0xbf,0xf0,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a,0x90,0xfd,0x50,0x74,
+0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,
+0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0xef,0x30,0xe1,0x5f,0x90,0x9e,0x43,0xe0,0x44,0x02,
+0xf0,0x90,0x07,0x95,0xe0,0x44,0x06,0xf0,0x22,0x90,0x9e,0x43,0xe0,0x54,0xfd,0xf0,
+0x90,0x07,0x78,0xe0,0x54,0x3f,0xf0,0x90,0x07,0x83,0xe0,0x54,0xfd,0xf0,0x90,0x07,
+0x95,0xe0,0x54,0xf9,0xf0,0x90,0x9e,0x4a,0x12,0x43,0x46,0x90,0x81,0x57,0x12,0x1f,
+0xd7,0x7f,0x80,0x7e,0x08,0x12,0x34,0x55,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1a,0x90,
+0xfd,0x50,0x74,0x1a,0xf0,0xa3,0x74,0x01,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0xef,0x70,0x21,0x12,0x1f,0x04,
+0x30,0xe0,0x14,0x90,0x00,0x40,0xe0,0x44,0x20,0xf0,0xe0,0x54,0x3f,0xf0,0x90,0x07,
+0x78,0xe0,0x44,0x01,0xf0,0x80,0x07,0x90,0x07,0x78,0xe0,0x54,0xfe,0xf0,0xef,0x64,
+0x01,0x70,0x6a,0x12,0x1f,0x04,0x90,0x00,0x01,0x30,0xe0,0x2e,0x12,0x1f,0x1d,0x90,
+0x06,0xc0,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc1,0xf0,0x90,0x00,0x03,
+0x12,0x1f,0x1d,0x90,0x06,0xc2,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06,0xc3,
+0xf0,0x90,0x06,0xcc,0xe0,0x54,0xfe,0xf0,0x80,0x2c,0x12,0x1f,0x1d,0x90,0x06,0xc4,
+0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0x06,0xc5,0xf0,0x90,0x00,0x03,0x12,0x1f,
+0x1d,0x90,0x06,0xc6,0xf0,0x90,0x00,0x04,0x12,0x1f,0x1d,0x90,0x06,0xc7,0xf0,0x90,
+0x06,0xcc,0xe0,0x44,0x01,0xf0,0x90,0x06,0xcc,0xe0,0x44,0x02,0xf0,0xef,0xb4,0x02,
+0x11,0x12,0x1f,0x04,0x90,0x06,0xc8,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x06,
+0xc9,0xf0,0xef,0xb4,0x03,0x11,0x12,0x1f,0x04,0x90,0x06,0xca,0xf0,0x90,0x00,0x01,
+0x12,0x1f,0x1d,0x90,0x06,0xcb,0xf0,0xef,0x64,0x04,0x70,0x1f,0x12,0x1f,0x04,0xff,
+0x90,0x07,0x83,0x30,0xe0,0x06,0xe0,0x44,0x10,0xf0,0x80,0x04,0xe0,0x54,0x6f,0xf0,
+0xef,0x30,0xe1,0x07,0x90,0x07,0x83,0xe0,0x44,0x80,0xf0,0x22,0x90,0x9e,0x76,0x12,
+0x43,0x7e,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x37,0x90,0xfd,0x50,0x74,0x11,0xf0,0xa3,
+0x74,0x03,0xf0,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,
+0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0xfd,0x54,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x80,0x16,
+0x43,0x57,0x01,0x78,0xaa,0x7c,0x9d,0x7d,0x01,0x90,0x9e,0x76,0x12,0x43,0x5e,0x7e,
+0x00,0x7f,0x03,0x12,0x1e,0xde,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0x60,
+0x07,0x90,0x9e,0x51,0x74,0x01,0xf0,0x22,0xe4,0x90,0x9e,0x51,0xf0,0x22,0x90,0xfd,
+0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x17,0xf0,0xa3,0x74,0x01,0xf0,0x12,
+0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,
+0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,
+0x18,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,
+0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,
+0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x19,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,
+0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,
+0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1a,0xf0,
+0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,
+0x1f,0x90,0xfd,0x50,0x74,0x1b,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,
+0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,
+0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1c,0xf0,0xa3,0x74,
+0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x2f,0x90,
+0xfd,0x50,0x74,0x1d,0xf0,0xa3,0x74,0x03,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,
+0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0xfd,0x54,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,
+0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,0x74,0x1e,0xf0,0xa3,0x74,0x01,0xf0,
+0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0xe4,0xfc,0xfd,0xfe,0x78,0x18,
+0x12,0x1f,0xc4,0xa8,0x04,0xa9,0x05,0xaa,0x06,0xab,0x07,0x90,0x9e,0x4a,0x12,0x43,
+0x46,0xec,0x54,0x03,0xfc,0x12,0x43,0x19,0x90,0x9e,0x46,0x02,0x1f,0xd7,0x90,0xfd,
+0x58,0xe0,0x20,0xe0,0x3b,0x12,0x1f,0x04,0x90,0xfd,0x50,0xf0,0xa3,0x74,0x04,0xf0,
+0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0xfd,0x53,0xf0,0x90,0x00,0x03,0x12,0x1f,0x1d,0x90,0xfd,0x54,0xf0,0x90,0x00,
+0x04,0x12,0x1f,0x1d,0x90,0xfd,0x55,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,
+0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x21,0x90,0xfd,0x50,0x74,0x1f,0xf0,0xa3,0x74,
+0x01,0xf0,0x12,0x1f,0x04,0x54,0x01,0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,
+0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,
+0x21,0x90,0xfd,0x50,0x74,0x20,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x54,0x01,
+0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,
+0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0x30,0xe0,0x54,0x90,0xfd,0x58,0xe0,0x20,0xe0,
+0x4d,0x90,0xfd,0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0x00,0x01,0x12,0x1f,
+0x1d,0x90,0xfd,0x52,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,0x90,0xfd,0x53,0xf0,0xa3,
+0xe4,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x06,0xa3,0x74,0xa0,0xf0,0x80,0x06,0x90,0xfd,
+0x55,0x74,0xc0,0xf0,0x90,0xfd,0x56,0x74,0x10,0xf0,0xa3,0x74,0x80,0xf0,0x90,0xfd,
+0x50,0x74,0x0a,0xf0,0xa3,0x74,0x06,0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x90,0x00,
+0x02,0x12,0x1f,0x1d,0xfe,0x90,0x00,0x01,0x12,0x1f,0x1d,0x7c,0x00,0x24,0x00,0xff,
+0xec,0x3e,0xfe,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0xe4,0xfc,0x74,0x20,0x2f,0xff,
+0xe4,0x3e,0xfe,0x90,0x9e,0x76,0xef,0xf0,0xee,0xf9,0x90,0x02,0x09,0xe0,0xc3,0x13,
+0x90,0xfd,0x10,0xf0,0xec,0xc3,0x99,0x50,0x43,0xec,0x70,0x04,0x7d,0x04,0x80,0x02,
+0xe4,0xfd,0xed,0xc3,0x94,0x20,0x50,0x07,0xaf,0x05,0x71,0xda,0x0d,0x80,0xf3,0x0c,
+0x90,0xfd,0x10,0xe0,0x04,0xf0,0xec,0xb5,0x01,0xda,0xe4,0xfd,0xed,0x75,0xf0,0x08,
+0xa4,0xff,0x90,0x9e,0x76,0xe0,0xfb,0xc3,0xef,0x9b,0x74,0x80,0xf8,0x65,0xf0,0x98,
+0x50,0x07,0xaf,0x05,0x71,0xda,0x0d,0x80,0xe3,0x0c,0x80,0xb8,0x90,0x00,0x81,0xe0,
+0x44,0x80,0x12,0x44,0xc9,0xd0,0xd0,0x92,0xaf,0x22,0x90,0xfd,0x58,0xe0,0x30,0xe0,
+0x08,0x90,0x01,0xb8,0xe0,0x04,0xf0,0x80,0xf1,0xef,0x75,0xf0,0x08,0xa4,0x24,0x00,
+0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x50,0xf0,0xef,0x75,0xf0,0x08,
+0xa4,0x24,0x01,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x51,0xf0,0xef,
+0x75,0xf0,0x08,0xa4,0x24,0x02,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,
+0x52,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x03,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,
+0xe0,0x90,0xfd,0x53,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x04,0xf5,0x82,0xe4,0x34,
+0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x54,0xf0,0xef,0x75,0xf0,0x08,0xa4,0x24,0x05,0xf5,
+0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x55,0xf0,0xef,0x75,0xf0,0x08,0xa4,
+0x24,0x06,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x56,0xf0,0xef,0x75,
+0xf0,0x08,0xa4,0x24,0x07,0xf5,0x82,0xe4,0x34,0xfc,0xf5,0x83,0xe0,0x90,0xfd,0x57,
+0xf0,0xa3,0x74,0x01,0xf0,0x22,0x12,0x1f,0x04,0x90,0xfe,0x10,0x60,0x05,0xe0,0x44,
+0x01,0xf0,0x22,0xe0,0x54,0xfe,0xf0,0x22,0x90,0x01,0xb8,0xe0,0x04,0xf0,0x90,0xfd,
+0x58,0xe0,0x90,0x01,0xb9,0xf0,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x1f,0x90,0xfd,0x50,
+0x74,0x23,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x90,0xfd,0x52,0xf0,0xa3,0xe4,
+0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0x04,0xf0,0x22,0x90,0x9e,0x7a,
+0x12,0x43,0x7e,0x12,0x1f,0x04,0x20,0xe0,0x02,0xa1,0x9c,0xb1,0xe7,0x90,0x9e,0x7a,
+0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0x86,0xe0,0x54,0xfe,
+0x4e,0xf0,0xef,0x54,0x02,0xff,0xe0,0x54,0xfd,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,
+0x04,0xfe,0x90,0x9e,0x86,0xe0,0x54,0xfb,0x4e,0xf0,0xef,0x54,0x10,0xff,0xe0,0x54,
+0xef,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x20,0xfe,0x90,0x9e,0x86,0xe0,0x54,0xdf,
+0x4e,0xf0,0xef,0x54,0x40,0xff,0xe0,0x54,0xbf,0x4f,0xf0,0x90,0x00,0x01,0x12,0x1f,
+0x1d,0xff,0xc3,0x94,0x17,0x50,0x12,0xef,0xc3,0x94,0x03,0x90,0x9e,0x87,0x50,0x05,
+0x74,0x03,0xf0,0x80,0x0a,0xef,0xf0,0x80,0x06,0x90,0x9e,0x87,0x74,0x17,0xf0,0x90,
+0x9e,0x7a,0x12,0x43,0x5e,0x90,0x00,0x02,0x12,0x1f,0x1d,0xff,0xc3,0x94,0x18,0x50,
+0x12,0xef,0xc3,0x94,0x03,0x90,0x9e,0x88,0x50,0x05,0x74,0x03,0xf0,0x80,0x0a,0xef,
+0xf0,0x80,0x06,0x90,0x9e,0x88,0x74,0x18,0xf0,0xe4,0x90,0x9e,0x50,0xf0,0x90,0x9e,
+0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x0d,0x75,0x69,0x04,0x90,0x05,0x00,0x74,0x1c,
+0xf0,0xa3,0x74,0x11,0xf0,0x90,0x05,0x58,0x74,0x02,0xf0,0x22,0x90,0x9e,0x7a,0x12,
+0x43,0x5e,0x12,0x1f,0x04,0xff,0x13,0x13,0x13,0x54,0x1f,0x90,0x9e,0x76,0x30,0xe0,
+0x09,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x80,0x07,0x12,0x1f,0xe3,0x00,0x00,0x03,
+0x00,0xb1,0xe7,0x90,0x00,0x40,0x74,0x24,0xf0,0x90,0x07,0x78,0x74,0x01,0xf0,0xfb,
+0x7a,0x9e,0x79,0x76,0x12,0x4c,0x0d,0x90,0x05,0x22,0xe4,0xf0,0x90,0x05,0x00,0x74,
+0x1c,0xf0,0xa3,0x74,0x43,0xf0,0x22,0x90,0x9e,0x86,0xe0,0x54,0xfe,0xf0,0xa3,0x74,
+0x0b,0xf0,0xa3,0x74,0x08,0xf0,0xe4,0x90,0x9e,0x8b,0xf0,0xa3,0xf0,0x90,0x9e,0x86,
+0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xef,0xf0,0xe0,0x54,0xf7,0xf0,
+0xe0,0x54,0xdf,0xf0,0xe0,0x54,0xbf,0xf0,0x90,0x9e,0x89,0xe0,0x54,0xfe,0xf0,0xe0,
+0x54,0xfb,0xf0,0xe4,0xa3,0xf0,0x22,0x75,0xe8,0x07,0x90,0xfd,0x68,0x74,0x02,0xf0,
+0x90,0x9e,0x43,0xe0,0x54,0xfe,0xf0,0x54,0xfb,0xf0,0x54,0xfd,0xf0,0x54,0xf7,0xf0,
+0xe4,0xa3,0xf0,0xa3,0xf0,0xa3,0x12,0x1f,0xe3,0x00,0x00,0x00,0x00,0x7f,0x80,0x7e,
+0x08,0x12,0x2c,0x87,0x90,0x9e,0x4a,0x12,0x1f,0xd7,0x90,0x00,0x2e,0xe0,0x90,0x9e,
+0x4e,0xf0,0x90,0x00,0x2d,0xe0,0x90,0x9e,0x4f,0xf0,0xe4,0xa3,0xf0,0xa3,0xf0,0x90,
+0x04,0x26,0xe0,0x44,0x10,0xf0,0x90,0x07,0x83,0xe4,0xf0,0x90,0x07,0x78,0x74,0x03,
+0xf0,0xb1,0xe7,0x7d,0x04,0x7f,0x02,0x02,0x3a,0xdf,0x90,0xfd,0x58,0xe0,0x20,0xe0,
+0x21,0x90,0xfd,0x50,0x74,0x24,0xf0,0xa3,0x74,0x01,0xf0,0x12,0x1f,0x04,0x54,0x01,
+0x90,0xfd,0x52,0xf0,0xa3,0xe4,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,0xf0,0xa3,
+0x04,0xf0,0x22,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0x89,0xe0,0x54,0xfe,
+0x4e,0xf0,0xef,0x54,0x02,0xff,0xe0,0x54,0xfd,0x4f,0xf0,0x90,0x00,0x01,0x12,0x1f,
+0x1d,0x90,0x9e,0x8a,0xf0,0x22,0xe4,0x90,0x9f,0x11,0xf0,0xa3,0xf0,0x90,0x01,0xeb,
+0xe0,0x54,0xc0,0x60,0x43,0xc3,0x90,0x9f,0x12,0xe0,0x94,0x88,0x90,0x9f,0x11,0xe0,
+0x94,0x13,0x40,0x0a,0x90,0x01,0xc6,0xe0,0x44,0x04,0xf0,0x7f,0x00,0x22,0x90,0x9f,
+0x11,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x7f,0x14,0x7e,0x00,0x12,0x3b,0x3b,0xd3,
+0x90,0x9f,0x12,0xe0,0x94,0x64,0x90,0x9f,0x11,0xe0,0x94,0x00,0x40,0xbf,0x90,0x01,
+0xc7,0xe0,0x30,0xe2,0xb8,0x7f,0x00,0x22,0x7f,0x01,0x22,0xd3,0x10,0xaf,0x01,0xc3,
+0xc0,0xd0,0xef,0x54,0xfc,0xff,0x90,0x01,0xe8,0xf0,0xee,0xa3,0xf0,0x90,0x01,0xeb,
+0x74,0x80,0xf0,0xd1,0xd6,0x90,0x01,0xec,0xe0,0xff,0x90,0x9f,0x0a,0x12,0x43,0x5e,
+0x90,0x00,0x03,0xef,0x12,0x42,0x32,0x90,0x01,0xed,0xe0,0x90,0x00,0x02,0x12,0x42,
+0x32,0x90,0x01,0xee,0xe0,0x90,0x00,0x01,0x12,0x42,0x32,0x90,0x01,0xef,0xe0,0x12,
+0x42,0x20,0x90,0x9f,0x0a,0x12,0x43,0x5e,0x12,0x43,0x26,0xd0,0xd0,0x92,0xaf,0x22,
+0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x9e,0xe1,0x74,0x04,0xf0,0x22,0x12,0x57,
+0x90,0x80,0xee,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x05,0x27,0xe0,0x44,0x40,0xf0,
+0x90,0x9e,0xe1,0x74,0x04,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x9e,0xdb,
+0x74,0x05,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0x90,0x9e,0xdb,0x74,0x02,0xf0,
+0x22,0x90,0x05,0x27,0xe0,0x54,0xbf,0xf0,0x90,0x05,0x22,0x74,0x6f,0xf0,0x90,0x9e,
+0xdb,0x74,0x06,0xf0,0x22,0x90,0x05,0x22,0x74,0xff,0xf0,0xe4,0x90,0x9f,0x13,0xf0,
+0xa3,0xf0,0x90,0x05,0xf8,0xe0,0x70,0x0f,0xa3,0xe0,0x70,0x0b,0xa3,0xe0,0x70,0x07,
+0xa3,0xe0,0x70,0x03,0x7f,0x01,0x22,0xd3,0x90,0x9f,0x14,0xe0,0x94,0xe8,0x90,0x9f,
+0x13,0xe0,0x94,0x03,0x40,0x03,0x7f,0x00,0x22,0x7f,0x32,0x7e,0x00,0x12,0x3b,0x3b,
+0x90,0x9f,0x13,0xe4,0x75,0xf0,0x01,0x12,0x42,0x54,0x80,0xc6,0xd3,0x10,0xaf,0x01,
+0xc3,0xc0,0xd0,0x90,0x9f,0x1e,0xef,0xf0,0xd3,0x94,0x07,0x50,0x47,0xe0,0xff,0x74,
+0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x46,0xe0,
+0x5f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x1e,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05,
+0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x44,0xe0,0xfb,
+0xe4,0xfe,0xef,0x5b,0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8,
+0xf8,0xff,0x80,0x4c,0x90,0x9f,0x1e,0xe0,0x24,0xf8,0xf0,0xe0,0xff,0x74,0x01,0xa8,
+0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x62,0xe0,0x5f,0xf0,
+0x12,0x4f,0x6d,0x90,0x9f,0x1e,0xe0,0xfd,0x74,0x01,0x7e,0x00,0xa8,0x05,0x08,0x80,
+0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,0xff,0x90,0x00,0x60,0xe0,0xfb,0xe4,0xfe,
+0xef,0x5b,0xa8,0x05,0x08,0x80,0x06,0xce,0xa2,0xe7,0x13,0xce,0x13,0xd8,0xf8,0xff,
+0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,0xc3,0xc0,0xd0,0x90,0x9f,0x16,0xed,
+0xf0,0x90,0x9f,0x15,0xef,0xf0,0xd3,0x94,0x07,0x50,0x4f,0xa3,0xe0,0x70,0x1a,0x90,
+0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,
+0xff,0x90,0x00,0x47,0xe0,0x5f,0xf0,0x80,0x17,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01,
+0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x47,0xe0,0x4f,0xf0,
+0x12,0x4f,0x6d,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,
+0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x46,0x80,0x67,0x90,0x9f,0x15,0xe0,0x24,0xf8,
+0xf0,0xa3,0xe0,0x70,0x1a,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,
+0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x63,0xe0,0x5f,0xf0,0x80,0x17,0x90,
+0x9f,0x15,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,
+0x90,0x00,0x63,0xe0,0x4f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x15,0xe0,0xff,0x74,0x01,
+0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x12,0x4f,0x65,0x90,0x9f,0x15,0xe0,
+0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,
+0x62,0xe0,0x5f,0xf0,0x12,0x4f,0x6d,0xd0,0xd0,0x92,0xaf,0x22,0xd3,0x10,0xaf,0x01,
+0xc3,0xc0,0xd0,0x90,0x9f,0x18,0xed,0xf0,0x90,0x9f,0x17,0xef,0xf0,0xd3,0x94,0x07,
+0x50,0x65,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,
+0xff,0x90,0x00,0x47,0xe0,0x5f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x17,0xe0,0xff,0x74,
+0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x46,0xe0,0x4f,
+0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x18,0xe0,0x60,0x16,0x90,0x9f,0x17,0xe0,0xff,0x74,
+0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,0x00,0x45,0x80,0x62,
+0x90,0x9f,0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,
+0xf4,0xff,0x90,0x00,0x45,0x80,0x64,0x90,0x9f,0x17,0xe0,0x24,0xf8,0xf0,0xe0,0xff,
+0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0x12,0x4f,0x65,0x90,0x9f,
+0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,
+0x00,0x62,0xe0,0x4f,0xf0,0x12,0x4f,0x6d,0x90,0x9f,0x18,0xe0,0x60,0x18,0x90,0x9f,
+0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,0x80,0x02,0xc3,0x33,0xd8,0xfc,0xff,0x90,
+0x00,0x61,0xe0,0x4f,0x80,0x17,0x90,0x9f,0x17,0xe0,0xff,0x74,0x01,0xa8,0x07,0x08,
+0x80,0x02,0xc3,0x33,0xd8,0xfc,0xf4,0xff,0x90,0x00,0x61,0xe0,0x5f,0xf0,0x12,0x4f,
+0x6d,0xd0,0xd0,0x92,0xaf,0x22,0x90,0x06,0x90,0xe0,0x44,0x01,0xf0,0x90,0x9e,0xcc,
+0xe0,0x30,0xe0,0x31,0x90,0x9e,0xca,0xe0,0xff,0x90,0x9e,0xc9,0xe0,0xfe,0xc4,0x13,
+0x54,0x01,0xfd,0x31,0x9c,0x90,0x9e,0xcb,0xe0,0x75,0xf0,0x20,0xa4,0xff,0xae,0xf0,
+0x12,0x3b,0x3b,0x90,0x9e,0xca,0xe0,0xff,0x90,0x9e,0xc9,0xe0,0xfe,0xc4,0x13,0x54,
+0x01,0xf4,0xfd,0x31,0x9c,0x22,0x90,0x9e,0x76,0x12,0x43,0x7e,0x12,0x1f,0x04,0x20,
+0xe0,0x02,0x61,0xbe,0x90,0x9e,0x76,0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0x54,0x01,
+0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xfe,0x4e,0xf0,0xef,0x54,0x04,0xff,0xe0,0x54,0xfb,
+0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x02,0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xfd,0x4e,
+0xf0,0xef,0x54,0x08,0xff,0xe0,0x54,0xf7,0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x10,
+0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xef,0x4e,0xf0,0xef,0x54,0x20,0xff,0xe0,0x54,0xdf,
+0x4f,0xf0,0x12,0x1f,0x04,0xff,0x54,0x40,0xfe,0x90,0x9e,0xc9,0xe0,0x54,0xbf,0x4e,
+0xf0,0xef,0x54,0x80,0xff,0xe0,0x54,0x7f,0x4f,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0x9e,0xcb,0xf0,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xca,0xf0,0x90,0x00,
+0x03,0x12,0x1f,0x1d,0xff,0x54,0x01,0xfe,0x90,0x9e,0xcc,0xe0,0x54,0xfe,0x4e,0xf0,
+0xef,0x54,0x02,0xff,0xe0,0x54,0xfd,0x4f,0xf0,0xe4,0x12,0x44,0xc9,0x90,0x9e,0x76,
+0x12,0x43,0x5e,0x12,0x1f,0x04,0xff,0xc3,0x13,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0,
+0x44,0x02,0xf0,0xef,0x13,0x13,0x54,0x3f,0x30,0xe0,0x07,0x90,0x06,0x90,0xe0,0x44,
+0x04,0xf0,0x12,0x1f,0x04,0x13,0x13,0x13,0x54,0x1f,0x30,0xe0,0x07,0x90,0x06,0x90,
+0xe0,0x44,0x08,0xf0,0x90,0x9e,0xcc,0xe0,0x30,0xe0,0x12,0x90,0x9e,0xca,0xe0,0xff,
+0x90,0x9e,0xc9,0xe0,0xfe,0xc4,0x13,0x54,0x01,0xf4,0xfd,0x31,0x9c,0x22,0x90,0x06,
+0x90,0xe4,0xf0,0x71,0xcc,0x90,0x01,0x3f,0x74,0x04,0xf0,0x22,0x90,0x9e,0xc9,0xe0,
+0x54,0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb,0xf0,0xe0,0x54,0xf7,0xf0,0xe0,
+0x54,0xef,0xf0,0xe0,0x54,0xdf,0xf0,0xe0,0x54,0xbf,0xf0,0xe0,0x54,0x7f,0xf0,0xe4,
+0xa3,0xf0,0xa3,0xf0,0xa3,0xe0,0x54,0xfe,0xf0,0xe0,0x54,0xfd,0xf0,0xe0,0x54,0xfb,
+0xf0,0x22,0x90,0x9e,0xc1,0xe0,0x54,0xfe,0xf0,0xe0,0x54,0x7f,0xf0,0x90,0x01,0x17,
+0xe0,0xfe,0x90,0x01,0x16,0xe0,0x7c,0x00,0x24,0x00,0xff,0xec,0x3e,0x90,0x9e,0xc7,
+0xf0,0xa3,0xef,0xf0,0x90,0x01,0x04,0xe0,0x54,0x0f,0x90,0x9e,0x6b,0xf0,0xe0,0xff,
+0x74,0x40,0x7e,0x00,0xa8,0x07,0x08,0x80,0x05,0xc3,0x33,0xce,0x33,0xce,0xd8,0xf9,
+0x90,0x9e,0xc6,0xf0,0xee,0x90,0x9e,0xc5,0xf0,0x80,0x81,0xd3,0x10,0xaf,0x01,0xc3,
+0xc0,0xd0,0x12,0x1f,0x04,0x54,0x01,0xff,0x90,0x9e,0xc1,0xe0,0x54,0xfe,0x4f,0xf0,
+0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,0xc2,0xf0,0x90,0x00,0x02,0x12,0x1f,0x1d,
+0x90,0x9e,0xc3,0xf0,0x90,0x9e,0xc1,0xe0,0x30,0xe0,0x20,0x90,0x06,0x09,0xe0,0x54,
+0xfe,0xf0,0x90,0x02,0x86,0xe0,0x44,0x04,0xf0,0x43,0x57,0x04,0x7d,0x08,0xe4,0xff,
+0x12,0x3a,0xc5,0x90,0x01,0x3f,0x74,0x04,0xf0,0x80,0x10,0x7d,0x08,0xe4,0xff,0x12,
+0x3a,0x54,0x90,0x02,0x86,0xe0,0x54,0xfb,0xf0,0x71,0xbe,0xd0,0xd0,0x92,0xaf,0x22,
+0xe5,0x68,0x30,0xe3,0x04,0xe4,0xff,0x80,0x02,0x7f,0x01,0x02,0x48,0x7d,0x90,0x9e,
+0xbe,0xe0,0x30,0xe0,0x2d,0xe5,0x67,0xb4,0x01,0x28,0x90,0x9e,0xbd,0xe0,0x04,0xf0,
+0xe0,0xb4,0x0a,0x0b,0x90,0x9e,0xc0,0xe0,0x04,0xf0,0xe4,0x90,0x9e,0xbd,0xf0,0x90,
+0x9e,0xc0,0xe0,0xff,0x90,0x9e,0xbf,0xe0,0xb5,0x07,0x07,0x91,0xb0,0xe4,0x90,0x9e,
+0xc0,0xf0,0x22,0x12,0x1f,0x04,0xff,0x54,0x01,0xfe,0x90,0x9e,0xbe,0xe0,0x54,0xfe,
+0x4e,0xf0,0xef,0xc3,0x13,0x30,0xe0,0x0a,0x90,0x00,0x01,0x12,0x1f,0x1d,0x90,0x9e,
+0xbf,0xf0,0x22,0x90,0x9e,0xc1,0xe0,0xc4,0x13,0x13,0x13,0x54,0x01,0x20,0xe0,0x07,
+0x90,0x01,0x3f,0xe0,0x30,0xe2,0x0a,0x90,0x9e,0xc1,0xe0,0x44,0x80,0xf0,0x7f,0x00,
+0x22,0x7f,0x01,0x22,0x90,0xfd,0x58,0xe0,0x20,0xe0,0x2d,0x90,0xfd,0x50,0x74,0x11,
+0xf0,0xa3,0x74,0x04,0xf0,0x90,0x9d,0xaa,0xe0,0x90,0xfd,0x52,0xf0,0x90,0x9d,0xab,
+0xe0,0x90,0xfd,0x53,0xf0,0x90,0x9d,0xac,0xe0,0x90,0xfd,0x54,0xf0,0xa3,0x74,0x28,
+0xf0,0x90,0xfd,0x58,0x74,0x01,0xf0,0x22,0x43,0x57,0x01,0x22,0x90,0x9e,0xe6,0xe0,
+0x54,0xf0,0x44,0x0a,0xf0,0x90,0xfd,0x60,0xe0,0x90,0x9e,0xe8,0xf0,0x90,0xfd,0x62,
+0xe0,0x90,0x9e,0xe9,0xf0,0x90,0xfd,0x63,0xe0,0x90,0x9e,0xea,0xf0,0x90,0xfd,0x64,
+0xe0,0x90,0x9e,0xeb,0xf0,0x90,0xfd,0x65,0xe0,0x90,0x9e,0xec,0xf0,0x90,0xfd,0x60,
+0xe0,0x90,0x9e,0xe6,0x30,0xe6,0x08,0xe0,0x54,0x0f,0x44,0x50,0xf0,0x80,0x16,0xe0,
+0x54,0x0f,0x44,0x70,0xf0,0x90,0xfd,0x66,0xe0,0x90,0x9e,0xed,0xf0,0x90,0xfd,0x67,
+0xe0,0x90,0x9e,0xee,0xf0,0x7b,0x01,0x7a,0x9e,0x79,0xe8,0x90,0x9e,0xfe,0x12,0x43,
+0x7e,0x7a,0x9e,0x79,0xe6,0x02,0x5d,0x37,0x90,0x9e,0x86,0xe0,0x30,0xe0,0x50,0xe0,
+0xff,0xc4,0x13,0x13,0x54,0x03,0x90,0x07,0x78,0x30,0xe0,0x05,0x74,0x0d,0xf0,0x80,
+0x03,0x74,0x09,0xf0,0x90,0x9e,0x52,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x7b,0x01,
+0x7a,0x9e,0x79,0x52,0x12,0x4c,0x0d,0x90,0x9e,0x8b,0x74,0x01,0xf0,0x90,0x9e,0x86,
+0xe0,0xc4,0x13,0x54,0x07,0x30,0xe0,0x06,0x90,0x05,0x22,0xe4,0xf0,0x22,0x90,0x9e,
+0x86,0xe0,0xc4,0x54,0x0f,0x30,0xe0,0x07,0x90,0x05,0x22,0xe4,0x12,0x49,0x1c,0x22,
+0x90,0x9e,0x86,0xe0,0x30,0xe0,0x41,0xe4,0xf5,0x48,0xa3,0xe0,0xf5,0x49,0xe4,0xfb,
+0xfd,0x7f,0x60,0x7e,0x01,0x12,0x39,0xa9,0x90,0x01,0x63,0x74,0x05,0xf0,0x90,0x9e,
+0x52,0x12,0x1f,0xe3,0x00,0x00,0x03,0x10,0x7b,0x01,0x7a,0x9e,0x79,0x52,0x12,0x4c,
+0x0d,0x90,0x9e,0x8b,0x74,0x01,0xf0,0xa3,0xf0,0x90,0x9e,0x96,0xe0,0x90,0x05,0x22,
+0x60,0x04,0x74,0x6f,0xf0,0x22,0xe4,0xf0,0x22,0x00,0x79,0x4e,};
+
+u8 Rtl8723UFwBTImgArray[Rtl8723UBTImgArrayLength] = {
+0x30,};
+
+
+ //WiFi for BT MP New FW 0326
+const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength] = {
+0x02, 0x23, 0x02, 0x00, 0x22, 0x00, 0x00, 0x00, 0x05, 0x15, 0x14, 0x10, 0x14, 0x47, 0x01, 0x00,
+0x74, 0x24, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x4A, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x61, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x67, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x68, 0x55, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x6F, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xE4, 0xFB, 0x90, 0x85, 0x76, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x50, 0x70, 0x03,
+0x02, 0x43, 0x8F, 0xE5, 0x4D, 0x64, 0x01, 0x60, 0x03, 0x02, 0x43, 0x8F, 0xE5, 0x50, 0x14, 0x60,
+0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02, 0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x85, 0x59,
+0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3, 0xE0, 0x60, 0x14, 0x90, 0x85, 0x59, 0xE0, 0x70, 0x08,
+0x90, 0x85, 0x70, 0xE0, 0x90, 0x85, 0x59, 0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70,
+0x03, 0x02, 0x43, 0x8F, 0x43, 0x51, 0x10, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xC3, 0x9F, 0x50, 0x08,
+0xE4, 0xF5, 0x48, 0x90, 0x85, 0x50, 0x80, 0x2D, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x54, 0x07, 0xFF,
+0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x85, 0x71, 0xE0, 0xC3, 0x9F, 0xEE, 0x64,
+0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x53, 0x80, 0x06, 0xE4,
+0xF5, 0x48, 0x90, 0x85, 0x50, 0xE0, 0x80, 0x2D, 0x90, 0x85, 0x71, 0xE0, 0x64, 0x01, 0x60, 0x03,
+0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0xFF, 0x90, 0x85, 0x68, 0xE0, 0x2F,
+0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90,
+0x85, 0x68, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x4E, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07,
+0x7D, 0x01, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0xE5, 0x4E, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x85, 0x2B,
+0xE0, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xD3, 0x9F, 0x40, 0x08, 0x90, 0x85, 0x2C, 0xE0, 0x04, 0xF0,
+0x80, 0x05, 0xE4, 0x90, 0x85, 0x2C, 0xF0, 0x90, 0x85, 0x71, 0xE0, 0x90, 0x85, 0x2B, 0xF0, 0xA3,
+0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, 0xF0, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90, 0x85,
+0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x85, 0x72, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12,
+0x49, 0xC2, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x6E, 0x80, 0x09,
+0x43, 0x51, 0x01, 0x12, 0x50, 0xA5, 0x90, 0x85, 0x6A, 0x74, 0x01, 0xF0, 0x12, 0x84, 0xC4, 0x22,
+0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28,
+0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09,
+0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9,
+0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22,
+0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83,
+0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE,
+0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0,
+0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xEF, 0x5B, 0xFF,
+0xEE, 0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE,
+0xED, 0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD,
+0xCC, 0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0,
+0xE8, 0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF,
+0x22, 0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82,
+0xF5, 0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0,
+0xF9, 0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82,
+0x70, 0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9,
+0xF0, 0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D,
+0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93,
+0x68, 0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70,
+0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88,
+0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3,
+0xA3, 0xA3, 0xA3, 0x80, 0xD8, 0x90, 0x85, 0x60, 0xE0, 0x60, 0x16, 0x90, 0x85, 0x63, 0xE0, 0x70,
+0x10, 0x90, 0x85, 0x5D, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09,
+0xF0, 0x22, 0x22, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x85, 0x7A, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x50, 0x70, 0x03, 0x02, 0x45, 0xD5, 0xE5, 0x4D, 0x64, 0x01,
+0x60, 0x03, 0x02, 0x45, 0xD5, 0x0B, 0x90, 0x85, 0x59, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x45, 0xD5,
+0x43, 0x51, 0x10, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A,
+0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90,
+0x85, 0x50, 0xE0, 0xF5, 0x49, 0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x4F, 0xE0,
+0x54, 0x0F, 0xFF, 0x90, 0x85, 0x71, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x85,
+0x50, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x85, 0x71, 0xE0, 0x64, 0x01,
+0x60, 0x03, 0xE0, 0x70, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0xFF, 0x90, 0x85, 0x68,
+0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x71, 0xE0, 0x14,
+0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x85, 0x68, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD,
+0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x4E, 0x54,
+0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0x12, 0x84, 0xC4,
+0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0x7A, 0xF0, 0xE5, 0x50, 0x70, 0x03, 0x02,
+0x46, 0x8F, 0x90, 0x85, 0x73, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x51, 0xFD, 0xE5, 0x51, 0x54,
+0x07, 0x60, 0x03, 0x02, 0x46, 0x8F, 0x02, 0x46, 0x8C, 0x90, 0x85, 0x5A, 0xE0, 0x04, 0xF0, 0x53,
+0x51, 0xEF, 0x90, 0x85, 0x71, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x85, 0x71, 0xE0, 0xFF, 0x90, 0x85, 0x4F, 0xE0, 0x54, 0x0F,
+0xB5, 0x07, 0x0A, 0x90, 0x85, 0x52, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x85, 0x4F,
+0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x85, 0x71,
+0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90,
+0x85, 0x4F, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x85, 0x7A, 0x74,
+0x5A, 0xF0, 0x90, 0x85, 0x7A, 0xE0, 0xFF, 0x90, 0x85, 0x61, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE,
+0x90, 0x85, 0x5A, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5,
+0x4D, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x51, 0x63, 0x22,
+0xE4, 0xF5, 0x51, 0xF5, 0x50, 0x75, 0x4F, 0x0C, 0x75, 0x4E, 0x0C, 0x90, 0x85, 0x72, 0xF0, 0x90,
+0x85, 0x6E, 0xF0, 0x90, 0x85, 0x6B, 0xF0, 0x90, 0x85, 0x70, 0x04, 0xF0, 0x90, 0x85, 0x59, 0xF0,
+0xE4, 0x90, 0x85, 0x73, 0xF0, 0x90, 0x85, 0x5B, 0xF0, 0x90, 0x85, 0x68, 0x74, 0x05, 0xF0, 0xE4,
+0x90, 0x85, 0x5A, 0xF0, 0x90, 0x85, 0x66, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x85, 0x61, 0xF0,
+0x90, 0x85, 0x64, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x5E, 0x74, 0x14, 0xF0, 0x90, 0x85, 0x69, 0x74,
+0x05, 0xF0, 0xE4, 0x90, 0x85, 0x5C, 0xF0, 0x90, 0x85, 0x55, 0xF0, 0x90, 0x85, 0xC4, 0xF0, 0x90,
+0x85, 0x65, 0xF0, 0x90, 0x85, 0x75, 0xF0, 0x90, 0x85, 0x71, 0xF0, 0x90, 0x85, 0x56, 0xF0, 0x90,
+0x85, 0x6F, 0xF0, 0x90, 0x85, 0x60, 0xF0, 0x90, 0x85, 0x5D, 0xF0, 0x90, 0x85, 0x6A, 0xF0, 0x90,
+0x85, 0x63, 0xF0, 0x90, 0x85, 0x5F, 0xF0, 0x90, 0x85, 0x74, 0xF0, 0x90, 0x85, 0x62, 0xF0, 0x90,
+0x85, 0xC3, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x85, 0x4F, 0xE0, 0x54,
+0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90,
+0x85, 0x53, 0xF0, 0x90, 0x85, 0x52, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, 0x74, 0x21, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6B,
+0x90, 0x85, 0x43, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74,
+0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, 0x23, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, 0x21, 0x2F, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13,
+0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0C, 0x74,
+0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, 0x85, 0x2D, 0xE0,
+0x30, 0xE0, 0x22, 0x90, 0x85, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, 0x40, 0xF0, 0x02,
+0x48, 0x86, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, 0x90, 0x85, 0x65,
+0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x50, 0xFB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9,
+0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x51, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02,
+0xF0, 0x80, 0x53, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74,
+0x04, 0xF0, 0x80, 0x42, 0xE5, 0x51, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80,
+0x35, 0xE5, 0x51, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90, 0x85,
+0x5B, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x85, 0x65, 0xE0,
+0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90,
+0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0xE4,
+0x90, 0x85, 0x76, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x85, 0x76, 0xF0, 0xE0, 0x54, 0xC0, 0x70,
+0x18, 0x90, 0x85, 0x6A, 0xE0, 0x70, 0x03, 0x53, 0x51, 0xFE, 0x53, 0x51, 0xFD, 0x90, 0x85, 0x2D,
+0xE0, 0x20, 0xE0, 0x14, 0x12, 0x51, 0x63, 0x80, 0x0F, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90,
+0x85, 0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x85, 0x76, 0xE0, 0x30, 0xE6, 0x1B, 0x43,
+0x51, 0x01, 0x90, 0x85, 0x72, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x4E, 0x64, 0x0C, 0x60, 0x13,
+0x12, 0x50, 0xA5, 0x80, 0x0E, 0x12, 0x4F, 0xD4, 0x80, 0x09, 0x90, 0x85, 0x6A, 0xE0, 0x70, 0x03,
+0x53, 0x51, 0xFE, 0xE4, 0x90, 0x85, 0x6A, 0xF0, 0x90, 0x85, 0x76, 0xE0, 0x30, 0xE7, 0x2A, 0x43,
+0x51, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x64, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x73, 0x74, 0x01,
+0xF0, 0x90, 0x85, 0x32, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x51, 0xFD, 0x22, 0x8E, 0x25, 0x8F,
+0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0x48, 0xAF, 0x26, 0xAE, 0x25, 0x90, 0x04,
+0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F,
+0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F,
+0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0,
+0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED,
+0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x5C, 0x8D,
+0x5D, 0xE5, 0x5C, 0x54, 0x0F, 0xFF, 0xE5, 0x4E, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x5C, 0x30,
+0xE2, 0x30, 0xE5, 0x4E, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x50, 0xE1, 0xE5, 0x4E, 0x30, 0xE3,
+0x10, 0xE5, 0x5C, 0x20, 0xE3, 0x0B, 0x12, 0x4C, 0xB2, 0xEF, 0x60, 0x53, 0x12, 0x51, 0x14, 0x80,
+0x4E, 0xE5, 0x4E, 0x20, 0xE3, 0x49, 0xE5, 0x5C, 0x30, 0xE3, 0x44, 0xAF, 0x5D, 0x12, 0x50, 0xC6,
+0x80, 0x3D, 0xE5, 0x4E, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x5C, 0x20, 0xE3, 0x09, 0x12,
+0x4C, 0xB2, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0x14, 0xE5, 0x4E, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E,
+0xE5, 0x5C, 0x20, 0xE2, 0x09, 0x12, 0x47, 0xEC, 0xEF, 0x60, 0x14, 0x12, 0x50, 0x7C, 0xE5, 0x4E,
+0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0x54, 0xEF, 0x60, 0x03, 0x12, 0x51, 0x44, 0xD0,
+0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4A, 0x92, 0x02, 0x52, 0x40, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93,
+0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8,
+0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04,
+0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20,
+0x40, 0x80, 0x90, 0x4E, 0xD2, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30,
+0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0,
+0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8,
+0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83,
+0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, 0x78, 0x7F, 0x02,
+0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, 0x74, 0x03, 0xF0,
+0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x01, 0x57,
+0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x49, 0xC2, 0x90, 0x06, 0x04, 0xE0, 0x54,
+0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0,
+0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A,
+0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90,
+0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4E, 0x85, 0xE5, 0x4D, 0x20, 0xE0, 0x05, 0xE4, 0x90,
+0x85, 0x5B, 0xF0, 0x22, 0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x50, 0xFB, 0xEF, 0x64,
+0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14, 0x60, 0x08, 0x90,
+0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08,
+0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01,
+0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80, 0x07, 0x90, 0x02,
+0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, 0x90, 0x85, 0x5C,
+0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0,
+0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, 0x7F, 0x00, 0x22,
+0xE5, 0x4D, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x50, 0x60, 0x67, 0xE5, 0x50, 0x64, 0x02, 0x60, 0x06,
+0xE5, 0x50, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x85, 0x59, 0xF0, 0x90, 0x06,
+0xAA, 0xE0, 0x90, 0x85, 0x70, 0xF0, 0x90, 0x85, 0x59, 0xE0, 0x70, 0x07, 0x90, 0x85, 0x70, 0xE0,
+0xFF, 0x80, 0x05, 0x90, 0x85, 0x59, 0xE0, 0xFF, 0x90, 0x85, 0x59, 0xEF, 0xF0, 0x90, 0x85, 0x5B,
+0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x85, 0x5A, 0xF0, 0x90, 0x85, 0x71, 0xF0, 0x90, 0x05,
+0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x53,
+0x51, 0xFD, 0x53, 0x51, 0xEF, 0xE5, 0x50, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x03, 0x12, 0x48,
+0x8F, 0x22, 0x90, 0x85, 0xC3, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, 0x90, 0x85, 0xC3,
+0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0xE4, 0xFD, 0x7F, 0x93, 0x12, 0x53, 0x26, 0x90, 0x00,
+0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0x26, 0x90, 0x00, 0x28, 0xE0, 0x54, 0xFC,
+0xFD, 0x7F, 0x28, 0x12, 0x53, 0x26, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, 0x7F, 0x08, 0x12,
+0x53, 0x26, 0x7F, 0x01, 0x12, 0x4D, 0xDE, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, 0xFD, 0xE4, 0xFF,
+0x12, 0x53, 0x26, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0x26, 0x90,
+0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0x26, 0x7F, 0x14, 0x7E, 0x00, 0x02,
+0x3B, 0x09, 0x90, 0x85, 0x2D, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x85, 0x32, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12, 0x50, 0xFB, 0xEF,
+0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, 0x85, 0x6E, 0xE0,
+0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x85, 0x6B, 0xE0, 0x60, 0x08,
+0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x4F, 0x54, 0x0F, 0xD3, 0x94, 0x04, 0x40,
+0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, 0x01,
+0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x85,
+0xA1, 0x12, 0x44, 0x89, 0x12, 0x51, 0x57, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6,
+0xF5, 0x50, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, 0x70, 0x44, 0x7F,
+0x01, 0x80, 0x3D, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD,
+0xE4, 0xFF, 0x12, 0x4F, 0x96, 0x80, 0x29, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x4F, 0x96, 0x1F, 0x80, 0x14, 0x90, 0x85, 0xA1, 0x12,
+0x44, 0x69, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x4F, 0x96, 0xE4, 0xFF,
+0x12, 0x4A, 0xD7, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24, 0x90, 0x85, 0x56,
+0xE0, 0x60, 0x09, 0x90, 0x85, 0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x04, 0x1D, 0xE0,
+0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x51, 0xBF, 0x01,
+0x0D, 0x90, 0x85, 0xBC, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x2E, 0x12, 0x49, 0x2D, 0x90, 0x05,
+0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x85, 0xBC, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x2E,
+0x12, 0x49, 0x2D, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x60,
+0xE4, 0x90, 0x86, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02,
+0x7F, 0x01, 0xEF, 0x65, 0x60, 0x60, 0x3E, 0xC3, 0x90, 0x86, 0x45, 0xE0, 0x94, 0x88, 0x90, 0x86,
+0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x86,
+0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3,
+0x90, 0x86, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x86, 0x44, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01,
+0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x20, 0x12,
+0x53, 0x26, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, 0x54, 0xDF, 0xFD,
+0xE4, 0xFF, 0x12, 0x53, 0x26, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, 0x28, 0x12, 0x53,
+0x26, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x53, 0x26, 0xE4, 0xFF, 0x12,
+0x4D, 0xDE, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, 0x44, 0xC0, 0xFD,
+0x7F, 0x29, 0x02, 0x53, 0x26, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, 0x22, 0xE0, 0x30,
+0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, 0xE3, 0x13, 0x7F,
+0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, 0x02, 0x80, 0x02,
+0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x85, 0x67, 0xE0, 0x9D, 0x90, 0x85, 0x66, 0xE0, 0x94, 0x00,
+0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x85, 0x66, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58,
+0xF0, 0x22, 0x48, 0x85, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x85, 0xA9,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x85, 0xB1, 0x00, 0x41, 0x85, 0xC0, 0x00,
+0x41, 0x85, 0xA6, 0x00, 0x41, 0x86, 0x4C, 0x00, 0x41, 0x85, 0x2B, 0x00, 0x41, 0x85, 0x2C, 0x00,
+0x41, 0x84, 0x01, 0x00, 0x41, 0x84, 0x02, 0x00, 0x41, 0x84, 0x00, 0x00, 0x41, 0x86, 0x3D, 0x00,
+0x41, 0x86, 0x4A, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x85, 0x6F, 0x74,
+0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x86, 0x31, 0x12, 0x1F, 0xC9, 0x90,
+0x86, 0x31, 0x12, 0x44, 0x45, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x86, 0x31, 0x12, 0x1F, 0xC9, 0x90,
+0x86, 0x31, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12,
+0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x50, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x35,
+0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90, 0x85, 0x6F,
+0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15, 0x12, 0x84, 0xC4, 0x90, 0x85, 0x72, 0xE0, 0x60, 0x06, 0x7D,
+0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x4E, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01,
+0x7F, 0x04, 0x12, 0x49, 0xC6, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, 0x24, 0x02, 0x70,
+0x32, 0x80, 0x0A, 0x90, 0x85, 0x70, 0x74, 0x01, 0xF0, 0x90, 0x85, 0x59, 0xF0, 0xE4, 0x90, 0x85,
+0x75, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x85, 0x69, 0xE0, 0x90, 0x85, 0x70, 0xF0, 0x80, 0x05,
+0x90, 0x85, 0x70, 0xED, 0xF0, 0x90, 0x85, 0x70, 0xE0, 0x90, 0x85, 0x59, 0xF0, 0x90, 0x85, 0x75,
+0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4,
+0xF5, 0x48, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x90, 0x85,
+0x6B, 0x14, 0xF0, 0xE5, 0x4E, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12, 0x49, 0xC2, 0x22,
+0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E,
+0x90, 0x85, 0x57, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, 0xFF, 0x74, 0x40,
+0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x90, 0x85,
+0x6D, 0xF0, 0xEE, 0x90, 0x85, 0x6C, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x85, 0xC2, 0xE0, 0x90,
+0x86, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x85, 0xC2, 0xE0, 0x90, 0x86, 0x35, 0x60, 0x09, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x01, 0x10, 0x7B,
+0x01, 0x7A, 0x86, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x11, 0x90, 0x01, 0x37, 0x74,
+0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x51, 0xEF, 0x70, 0x06, 0x90, 0x01,
+0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x54, 0x08, 0x53, 0x4E,
+0xF0, 0x43, 0x4E, 0x02, 0x22, 0x90, 0x85, 0x5F, 0xE0, 0x70, 0x1A, 0x90, 0x04, 0x1D, 0xE0, 0x70,
+0x14, 0x90, 0x85, 0xBB, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x2E, 0x8E, 0x5E, 0x8F, 0x5F, 0x90,
+0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A,
+0xE5, 0x4D, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4D, 0x84, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x0C,
+0x22, 0x90, 0x86, 0x4D, 0xEF, 0xF0, 0x12, 0x66, 0x8A, 0x90, 0x86, 0x4D, 0xE0, 0x60, 0x05, 0x90,
+0x05, 0x22, 0xE4, 0xF0, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4,
+0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60,
+0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x05,
+0x7F, 0x01, 0x12, 0x4D, 0x84, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x04, 0x22, 0xE5, 0x4F, 0x30, 0xE6,
+0x12, 0xE5, 0x4F, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0,
+0x53, 0x4F, 0xBF, 0x22, 0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x01, 0x12, 0x4C, 0x42, 0x12, 0x4E, 0x36,
+0x53, 0x4E, 0xF0, 0x43, 0x4E, 0x02, 0x22, 0xE4, 0x90, 0x85, 0x73, 0xF0, 0x90, 0x85, 0x5A, 0xF0,
+0xF5, 0x51, 0x22, 0x7D, 0x01, 0xAF, 0x4F, 0x02, 0x49, 0xC6, 0x90, 0x02, 0x84, 0xEF, 0xF0, 0xA3,
+0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x44, 0xB8, 0x51, 0x95, 0x00,
+0x40, 0x51, 0xBD, 0x00, 0x80, 0x51, 0xE8, 0x01, 0x00, 0x51, 0xFC, 0x02, 0x00, 0x52, 0x14, 0x04,
+0x00, 0x00, 0x00, 0x52, 0x31, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00,
+0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE, 0xC3, 0x13, 0xCE, 0x13,
+0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80, 0x26, 0xED, 0x54, 0x7F,
+0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE,
+0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07, 0xC3, 0x33, 0xCE, 0x33,
+0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E,
+0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35, 0xEC, 0x54, 0x01, 0x4D,
+0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0xC3, 0x13,
+0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x04,
+0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00, 0x25, 0xE0, 0x25, 0xE0,
+0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x22, 0xF0, 0xA3, 0xE4, 0xF0, 0x22,
+0xE4, 0x90, 0x85, 0x8C, 0xF0, 0xA3, 0xF0, 0x12, 0x60, 0xEF, 0x75, 0x8E, 0x02, 0x91, 0xDA, 0x12,
+0x60, 0x4D, 0x90, 0x85, 0xC3, 0xEF, 0xF0, 0x12, 0x60, 0x60, 0x90, 0x85, 0xC5, 0xEF, 0xF0, 0x12,
+0x60, 0x6C, 0x90, 0x85, 0xA7, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5, 0x09, 0xF5,
+0x4D, 0x90, 0x85, 0xC2, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x46, 0x90, 0x12,
+0x37, 0x1C, 0x12, 0x77, 0x6C, 0x71, 0x3B, 0x12, 0x60, 0x11, 0x12, 0x60, 0x84, 0xF1, 0xEF, 0x12,
+0x60, 0x2F, 0x12, 0x45, 0x02, 0x12, 0x60, 0xF7, 0x91, 0xC2, 0x90, 0x85, 0x8E, 0xE5, 0xD9, 0xF0,
+0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x71, 0x99, 0x75, 0xE8, 0x03, 0x43, 0xA8,
+0x85, 0x12, 0x83, 0x81, 0xD2, 0xAF, 0x51, 0x36, 0x12, 0x60, 0x99, 0x7D, 0xDD, 0x7F, 0x8F, 0x71,
+0x26, 0x90, 0x85, 0x8C, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0x40, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52,
+0xA3, 0xF0, 0xE5, 0x14, 0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0x91, 0xEA, 0xD2, 0xAF,
+0xE5, 0x14, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x76, 0x1E, 0xE5,
+0x14, 0x30, 0xE7, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0x78, 0xC2, 0xAF, 0xE5,
+0x4F, 0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x85, 0x5C, 0x74, 0x01, 0xF0, 0x31, 0x63, 0xE4,
+0x90, 0x85, 0x5C, 0xF0, 0xD2, 0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x4E, 0xF0, 0x90, 0x85, 0x72, 0xE0,
+0x90, 0x01, 0xBC, 0xF0, 0x80, 0x9B, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75,
+0x83, 0x00, 0xED, 0xF0, 0x71, 0x99, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x3C, 0x74, 0xFF,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD,
+0x7F, 0x54, 0x71, 0x26, 0x7D, 0xFF, 0x7F, 0x55, 0x71, 0x26, 0x7D, 0xFF, 0x7F, 0x56, 0x71, 0x26,
+0x7D, 0xFF, 0x7F, 0x57, 0x80, 0xC0, 0x90, 0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x71, 0x26,
+0xE4, 0xFD, 0x7F, 0x51, 0x71, 0x26, 0xE4, 0xFD, 0x7F, 0x52, 0x71, 0x26, 0xE4, 0xFD, 0x7F, 0x53,
+0x80, 0x94, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8E, 0x53, 0x8F, 0x54, 0x8B, 0x55, 0x8A,
+0x56, 0x89, 0x57, 0xE4, 0x90, 0x86, 0x4E, 0xF0, 0xEF, 0x90, 0x00, 0x31, 0xF0, 0x71, 0x99, 0xE5,
+0x53, 0x54, 0x03, 0xFF, 0x90, 0x00, 0x32, 0xE0, 0x54, 0xFC, 0x4F, 0xF0, 0x71, 0x99, 0x90, 0x00,
+0x33, 0xE0, 0x54, 0x7F, 0xF0, 0x71, 0x99, 0x90, 0x00, 0x33, 0xE0, 0x20, 0xE7, 0x0E, 0x90, 0x86,
+0x4E, 0xE0, 0xC3, 0x94, 0x64, 0x50, 0x05, 0xE0, 0x04, 0xF0, 0x80, 0xEB, 0x90, 0x86, 0x4E, 0xE0,
+0xC3, 0x94, 0x64, 0x50, 0x10, 0x90, 0x00, 0x30, 0xE0, 0xAB, 0x55, 0xAA, 0x56, 0xA9, 0x57, 0x12,
+0x43, 0xC3, 0x7F, 0x01, 0x22, 0x7F, 0x00, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x85, 0xF7, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x85, 0xFB, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x71, 0x99, 0x71, 0x92, 0x90, 0x00,
+0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0,
+0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x85, 0x63, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78,
+0x74, 0x01, 0xF0, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x85, 0x6F, 0xF0, 0xFF, 0x7E,
+0x08, 0x12, 0x2C, 0x6E, 0x90, 0x85, 0xF7, 0x12, 0x1F, 0xC9, 0x90, 0x85, 0xF7, 0x12, 0x44, 0x45,
+0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x85, 0xF7, 0x12, 0x1F, 0xC9, 0x90, 0x85, 0xF7, 0x12, 0x44, 0x45,
+0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x60,
+0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, 0x48, 0x90, 0x85, 0x74, 0xE0, 0x60, 0x12, 0x90, 0x85, 0xFB,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0xFB, 0xB1, 0x0D, 0x90,
+0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x85, 0x6A, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x86, 0x3E, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x86, 0x40, 0xF0, 0x90, 0x86,
+0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0xBF, 0xF0, 0x90,
+0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x80, 0x61, 0x26, 0xE4, 0x7B, 0x01, 0x7A, 0x84, 0x79,
+0x03, 0x12, 0x6D, 0x3F, 0xEF, 0xB4, 0x02, 0x14, 0x90, 0x86, 0x4A, 0xE0, 0x64, 0x04, 0x60, 0x07,
+0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x86, 0x4A, 0xF0, 0x22, 0x7F, 0x70, 0x7E,
+0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0,
+0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90,
+0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0,
+0x12, 0x81, 0x7E, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x84, 0x9C, 0xE0, 0xC3, 0x13, 0x30, 0xE0,
+0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, 0x06, 0x7A, 0x84, 0x79, 0xA3, 0x80, 0x04, 0x7A, 0x84, 0x79,
+0x9F, 0x7F, 0x80, 0x7E, 0x08, 0xB1, 0x11, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xF1,
+0x97, 0xEF, 0x60, 0x4E, 0x90, 0x84, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x06, 0xF9, 0x74,
+0x84, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24,
+0x08, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0xFA, 0x90, 0x86, 0x18, 0x12, 0x44, 0x89, 0xD0, 0x01, 0xD0,
+0x02, 0xB1, 0xD7, 0x90, 0x84, 0x01, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90,
+0x84, 0x02, 0xE0, 0xFF, 0x90, 0x84, 0x01, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12,
+0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x86,
+0x15, 0x12, 0x44, 0x89, 0x90, 0x84, 0x00, 0xE0, 0x90, 0x00, 0x01, 0x12, 0x43, 0xD5, 0xF1, 0x97,
+0xEF, 0x70, 0x02, 0xC1, 0x92, 0x90, 0x86, 0x15, 0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89,
+0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0xD1, 0x97, 0x90, 0x86, 0x18, 0x12,
+0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x86, 0x15, 0x12, 0x44, 0x69, 0x12, 0x1E,
+0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0x97, 0x90,
+0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, 0x85, 0xC3, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x86, 0x15,
+0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD,
+0x79, 0x20, 0xD1, 0x97, 0x90, 0x86, 0x18, 0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22,
+0x90, 0x86, 0x15, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B,
+0x01, 0x7A, 0xFD, 0x79, 0x22, 0xD1, 0x97, 0x90, 0x85, 0xA7, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82,
+0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x84, 0x00, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64,
+0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D,
+0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x86, 0x0F, 0x12, 0x44, 0x89, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22,
+0x90, 0x86, 0x12, 0x12, 0x44, 0x89, 0xAF, 0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x86, 0x12,
+0xE4, 0x75, 0xF0, 0x01, 0x12, 0x44, 0x72, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x86, 0x0F, 0xE4, 0x75,
+0xF0, 0x01, 0x12, 0x44, 0x72, 0xEF, 0x12, 0x43, 0xC3, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9,
+0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x86, 0x1B,
+0x12, 0x44, 0x89, 0x90, 0x84, 0x02, 0xE0, 0xFF, 0x90, 0x84, 0x01, 0xE0, 0xB5, 0x07, 0x07, 0x7D,
+0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x84, 0x01, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09,
+0x60, 0x0B, 0x90, 0x84, 0x01, 0xE0, 0x14, 0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0D, 0xF1, 0x97, 0xEF,
+0x60, 0x70, 0xB1, 0x78, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x90, 0x84, 0x02, 0xE0, 0x75, 0xF0,
+0x0F, 0xA4, 0x24, 0x06, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x86,
+0x1B, 0x12, 0x44, 0x69, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E, 0xD0, 0x90, 0x84, 0x02, 0xE0, 0x75,
+0xF0, 0x0F, 0xA4, 0x24, 0x08, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0,
+0x02, 0xC0, 0x01, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x69, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90,
+0x86, 0x1B, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0xD0, 0x01,
+0xD0, 0x02, 0xD0, 0x03, 0xD1, 0x97, 0x90, 0x84, 0x02, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02,
+0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x86, 0x39, 0xEE, 0xF0,
+0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x86, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5,
+0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, 0x90, 0x86, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x86, 0x3B,
+0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90,
+0x86, 0x3B, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09,
+0x80, 0xC6, 0x7F, 0x01, 0x22, 0x8F, 0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90,
+0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xC4,
+0x74, 0xF6, 0xF0, 0x74, 0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, 0x22,
+0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, 0xE0,
+0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3,
+0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, 0x54,
+0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x62,
+0xE0, 0x54, 0x03, 0x4F, 0x90, 0x85, 0x7E, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, 0xE0,
+0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x85, 0x7F, 0xF0, 0x90, 0x85,
+0x7E, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x86, 0x21, 0xEF, 0xF0, 0xA3, 0xED, 0xF0,
+0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x86, 0x26,
+0xF0, 0xD1, 0x4B, 0xBF, 0x01, 0x02, 0x11, 0xFB, 0x90, 0x86, 0x26, 0xE0, 0x90, 0x05, 0x22, 0xF0,
+0x80, 0x02, 0x11, 0xFB, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x85, 0xBE, 0xE0, 0xFF,
+0x7D, 0x01, 0x11, 0x2E, 0x90, 0x86, 0x24, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, 0x86,
+0x21, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x86, 0x2B, 0xF0, 0xEF, 0x60, 0x10, 0x74,
+0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, 0x74,
+0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74,
+0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x86, 0x2B, 0xE0, 0xFF, 0x74, 0x23, 0x2E, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0x7A, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90,
+0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0x12, 0x85, 0x10, 0x90, 0x85, 0x3F, 0xE0, 0x64,
+0x01, 0x60, 0x02, 0x41, 0xBD, 0x90, 0x85, 0x32, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, 0x30,
+0xE0, 0x02, 0x80, 0x0A, 0x90, 0x85, 0x32, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, 0xE0,
+0x90, 0x85, 0x7A, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x7A, 0xE0, 0x24, 0x03, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90,
+0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x85, 0x3F, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, 0x80,
+0x03, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90,
+0x85, 0x2E, 0xE0, 0xFF, 0x90, 0x85, 0x3D, 0xE0, 0xC3, 0x9F, 0x90, 0x85, 0x43, 0xF0, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x6E, 0x90, 0x85, 0x43, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0,
+0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC8, 0x80,
+0x51, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x85, 0x32, 0xE0, 0x54,
+0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0,
+0xE4, 0x90, 0x85, 0x42, 0xF0, 0x90, 0x85, 0x3F, 0xF0, 0x90, 0x85, 0x35, 0x74, 0x06, 0xF0, 0x90,
+0x85, 0x65, 0xE0, 0x60, 0x07, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74,
+0x6F, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0xA1, 0xBB, 0x90, 0x85, 0x3F,
+0xE0, 0x64, 0x02, 0x60, 0x02, 0x61, 0x9C, 0x90, 0x85, 0x31, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F,
+0x30, 0xE0, 0x08, 0xD1, 0x4B, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x08, 0xE4, 0xFF, 0xD1, 0xF5, 0x90,
+0x85, 0x32, 0xE0, 0x30, 0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x85,
+0x32, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x85, 0x7A, 0xF0, 0x90, 0x85,
+0x32, 0xE0, 0x54, 0xEF, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x2E, 0xE0, 0x24, 0x03, 0xFF, 0x90,
+0x85, 0x7A, 0xE0, 0x2F, 0xFF, 0x90, 0x85, 0x3D, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x85, 0x7B, 0xE0,
+0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63,
+0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1, 0x92, 0x90, 0x85, 0x3F, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x2D,
+0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F,
+0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x80, 0x0B, 0xE5, 0x50,
+0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90,
+0x85, 0x30, 0xE0, 0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4,
+0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0xC1, 0x45, 0x90, 0x85, 0x3F, 0xE0,
+0x64, 0x03, 0x60, 0x02, 0x81, 0xF0, 0x7F, 0x01, 0xD1, 0xF5, 0x90, 0x85, 0x31, 0xE0, 0xFF, 0x13,
+0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x66, 0x8A, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x20, 0xE0, 0x02, 0x81, 0x4C, 0x90, 0x85, 0x37, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0,
+0xD3, 0x9F, 0x40, 0x4D, 0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x85, 0x39, 0xE0, 0xFE, 0xC3,
+0xEF, 0x9E, 0xFF, 0x24, 0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x85, 0x2F, 0xE0, 0xD3, 0x9D, 0xEC,
+0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x85, 0x7D, 0xF0, 0x80, 0x06,
+0x90, 0x85, 0x7D, 0x74, 0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x7D, 0xE0, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x3F, 0xE0, 0x04, 0xF0, 0x80,
+0x24, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x3A, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x35, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x85, 0x3F, 0xF0, 0x90,
+0x06, 0x92, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x85, 0x41, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90,
+0x85, 0x7C, 0xE0, 0xFF, 0x90, 0x85, 0x2F, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F,
+0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x3F, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, 0x74,
+0x05, 0xF0, 0x7F, 0x01, 0xD1, 0x92, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0,
+0x2F, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x85, 0x32, 0xE0, 0x44,
+0x20, 0xF0, 0x90, 0x85, 0x65, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D,
+0x01, 0x7F, 0x0C, 0x80, 0x08, 0xE5, 0x50, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49, 0xC6,
+0x90, 0x85, 0x65, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x85, 0x2D, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x50, 0xA5, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85, 0x30,
+0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0x7F, 0x01, 0xC1, 0x47,
+0x90, 0x85, 0x3F, 0xE0, 0x64, 0x04, 0x60, 0x02, 0xA1, 0xC1, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB,
+0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x85,
+0x3F, 0xE0, 0x04, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90,
+0x85, 0x2F, 0xE0, 0xFF, 0x90, 0x85, 0x3D, 0xE0, 0xC3, 0x9F, 0x90, 0x85, 0x43, 0xF0, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x6E, 0x90, 0x85, 0x43, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0,
+0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC8, 0x80,
+0x51, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x85, 0x32, 0xE0, 0x54,
+0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49, 0xC6, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0,
+0xE4, 0x90, 0x85, 0x42, 0xF0, 0x90, 0x85, 0x3F, 0xF0, 0x90, 0x85, 0x35, 0x74, 0x07, 0xF0, 0x90,
+0x85, 0x65, 0xE0, 0x60, 0x07, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74,
+0x6F, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x4A, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x22, 0x90, 0x85, 0x3F, 0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x4A, 0x90, 0x85, 0x31, 0xE0, 0xFF,
+0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1, 0x4B, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x08, 0xE4,
+0xFF, 0xD1, 0xF5, 0xD1, 0x92, 0xE4, 0x90, 0x85, 0x3F, 0xF0, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x85, 0x2D,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20,
+0xE0, 0x14, 0xE4, 0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x80, 0x0B, 0xE5, 0x50, 0x60, 0x0D, 0xE4,
+0xFD, 0xAF, 0x4F, 0x12, 0x49, 0xC6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x85, 0x30, 0xE0,
+0x30, 0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0x58, 0x22, 0x90, 0x05, 0x22, 0x74, 0xFF,
+0xF0, 0xE4, 0x90, 0x86, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, 0xE0,
+0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, 0x86,
+0x49, 0xE0, 0x94, 0xE8, 0x90, 0x86, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, 0x7F,
+0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x86, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7,
+0x80, 0xC6, 0x90, 0x86, 0x2C, 0xEF, 0xF0, 0x12, 0x86, 0xB9, 0x90, 0x85, 0x30, 0xE0, 0xFF, 0xC4,
+0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x86, 0x2C, 0xE0, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x86,
+0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x86, 0x2C, 0xE0, 0xB4, 0x01, 0x10, 0x90,
+0x85, 0x2D, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, 0x90,
+0x85, 0x2D, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x86, 0x2D, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x86, 0x79, 0x2D, 0x12, 0x55, 0x0D, 0x90, 0x86, 0x2C, 0xE0,
+0x90, 0x85, 0x3E, 0xF0, 0x22, 0xEF, 0x64, 0x03, 0x60, 0x02, 0xE1, 0xC3, 0x90, 0x86, 0x07, 0x74,
+0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0x13, 0x13, 0x13, 0x54,
+0x1F, 0x30, 0xE0, 0x30, 0x90, 0x86, 0x0B, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, 0x74,
+0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41,
+0x90, 0x86, 0x07, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74,
+0x55, 0xF0, 0x80, 0x2D, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, 0x86,
+0x07, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0,
+0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90, 0x86, 0x0B, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0x90, 0x86, 0x07, 0xE0, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x86, 0x08, 0xE0, 0x90, 0x06, 0xC1,
+0xF0, 0x90, 0x86, 0x09, 0xE0, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x86, 0x0A, 0xE0, 0x90, 0x06, 0xC3,
+0xF0, 0x90, 0x86, 0x0B, 0xE0, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x86, 0x0C, 0xE0, 0x90, 0x06, 0xC5,
+0xF0, 0x90, 0x86, 0x0D, 0xE0, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x86, 0x0E, 0xE0, 0x90, 0x06, 0xC7,
+0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, 0x17,
+0xE4, 0xF0, 0x22, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, 0x06,
+0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0, 0x22, 0x74, 0x03, 0xF0, 0x22, 0x12, 0x57, 0xF6, 0xBF, 0x01,
+0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x2E, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0,
+0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30, 0xE0, 0x02, 0x7D,
+0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90, 0x01, 0x30, 0xE5,
+0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B, 0xF0, 0x22, 0x75,
+0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32, 0x20, 0x90, 0x01,
+0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22, 0x90, 0x00, 0xF4,
+0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22, 0x7F, 0x00, 0x22,
+0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, 0x7F, 0x01, 0x22, 0x90, 0x85, 0xC5, 0xE0,
+0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, 0x22, 0x7E,
+0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10,
+0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x85, 0x8F, 0xF0, 0xA3, 0xF0,
+0x90, 0x01, 0x98, 0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E,
+0xC3, 0x90, 0x85, 0x90, 0xE0, 0x94, 0x88, 0x90, 0x85, 0x8F, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90,
+0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x85, 0x8F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43,
+0xF7, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x85, 0x90, 0xE0, 0x94, 0x32, 0x90,
+0x85, 0x8F, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90,
+0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01,
+0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0,
+0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4,
+0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54,
+0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90,
+0x85, 0x76, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01,
+0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x85, 0x76, 0x74, 0x01, 0xF0, 0xA3,
+0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x85, 0x76, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E,
+0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x85, 0xB1, 0xF0, 0x22, 0x90, 0x85, 0xB1,
+0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30,
+0xE0, 0x03, 0x12, 0x5F, 0xDB, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0,
+0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0,
+0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x96, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0x90, 0x01, 0x34,
+0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5,
+0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x41, 0x65, 0x90, 0x01,
+0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, 0xD4, 0x0D, 0x85, 0xD5, 0x0E,
+0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, 0x0B, 0x75, 0x20, 0x00, 0x75,
+0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x85, 0x79, 0xB2, 0x12, 0x56, 0x97,
+0xE5, 0x50, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x46, 0x90, 0x85, 0x72, 0xE0, 0x60, 0x37, 0x90,
+0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x50, 0xFB, 0xEF, 0x64, 0x01,
+0x70, 0x2D, 0xF5, 0x48, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0,
+0x90, 0x85, 0x6E, 0xF0, 0x80, 0x09, 0x12, 0x50, 0xFB, 0xBF, 0x01, 0x03, 0x12, 0x51, 0x63, 0x90,
+0x86, 0x4B, 0xE0, 0x04, 0xF0, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0x07, 0x90, 0x01, 0x34, 0x74,
+0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75,
+0x58, 0x88, 0x75, 0x59, 0x0F, 0x75, 0x5A, 0x0F, 0x80, 0x09, 0x75, 0x58, 0xC0, 0x75, 0x59, 0x08,
+0x75, 0x5A, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x5A, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55,
+0x5A, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25,
+0x58, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F,
+0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15,
+0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0xA9, 0x12, 0x56, 0x97, 0x90, 0x85, 0xA9, 0xE0,
+0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xB1, 0xBF, 0xE5, 0x12, 0x24, 0x01,
+0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x59, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90,
+0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74,
+0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10,
+0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0,
+0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x53, 0x66, 0x90,
+0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x53, 0x99, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06,
+0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0x0F, 0x90, 0x85, 0xC4,
+0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x85, 0xC1, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90,
+0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x42, 0x20, 0x90,
+0x85, 0x45, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0x06, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF,
+0x12, 0x50, 0x48, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x45, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30, 0xE0, 0x54, 0xFE,
+0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x85, 0x4A, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x46, 0x12, 0x44, 0x45, 0x90, 0x81,
+0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1B, 0x90, 0x85, 0x45,
+0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE,
+0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x02, 0xD1, 0x14, 0xB1, 0x84, 0x90, 0x85, 0xC4, 0xE4, 0xF0, 0xE5,
+0x2E, 0x30, 0xE1, 0x41, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0xF1, 0x0B, 0x31, 0x27, 0x90, 0x85,
+0x75, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12,
+0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x85, 0x70, 0xE0, 0x90, 0x05, 0x73,
+0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE,
+0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0,
+0x12, 0x4B, 0xD0, 0x90, 0x85, 0x75, 0xE0, 0x60, 0x34, 0x90, 0x85, 0x70, 0xE0, 0xFF, 0x90, 0x85,
+0x59, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x85, 0x70, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F,
+0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22,
+0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x85, 0x59, 0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30,
+0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x4D, 0x64, 0x01, 0x70, 0x28, 0xE5, 0x50,
+0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x75, 0x48, 0x00,
+0x90, 0x85, 0x64, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77,
+0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B, 0x90, 0x01, 0x36, 0x74, 0x10,
+0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x20, 0xE5, 0x50, 0x60, 0x1C, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90,
+0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x85, 0x73, 0xE4, 0xF0, 0x53, 0x51, 0xFD, 0xE5, 0x51, 0x54,
+0x07, 0x70, 0x03, 0x12, 0x51, 0x63, 0xE5, 0x2E, 0x30, 0xE5, 0x25, 0x90, 0x01, 0x36, 0x74, 0x20,
+0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x1A, 0xE5, 0x50, 0x60, 0x16, 0x90, 0x85, 0x72, 0xE0, 0x64, 0x02,
+0x60, 0x0B, 0xE5, 0x4E, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x50, 0xA5, 0x80, 0x03, 0x12, 0x4F, 0xD4,
+0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0, 0xE5, 0x4D, 0xB4, 0x01, 0x10,
+0xE5, 0x50, 0x60, 0x0C, 0x53, 0x51, 0xFE, 0xE5, 0x51, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x63,
+0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x12, 0x4F, 0x57, 0x74, 0x96,
+0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0,
+0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0,
+0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x86, 0x3E, 0xE0, 0x30, 0xE0, 0x2E, 0xE5, 0x4D, 0xB4, 0x01, 0x29,
+0x90, 0x86, 0x3D, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x86, 0x40, 0xE0, 0x04, 0xF0,
+0xE4, 0x90, 0x86, 0x3D, 0xF0, 0x90, 0x86, 0x40, 0xE0, 0xFF, 0x90, 0x86, 0x3F, 0xE0, 0xD3, 0x9F,
+0x50, 0x07, 0xB1, 0xBA, 0xE4, 0x90, 0x86, 0x40, 0xF0, 0x22, 0xE4, 0xFF, 0x02, 0x4D, 0x84, 0x90,
+0x85, 0x76, 0xE0, 0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A,
+0x00, 0x79, 0x15, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x0B, 0x7A, 0x85, 0x79, 0x76, 0x02, 0x56,
+0xE6, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x86, 0x3E,
+0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x02, 0xB1, 0xBA, 0x90, 0x85, 0x9A, 0x12, 0x44,
+0x69, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x86, 0x3F, 0xF0, 0x22, 0x90, 0x85, 0x2D, 0xE0, 0x30, 0xE0, 0x6E, 0x7F, 0x01, 0x12, 0x5E, 0xF5,
+0x90, 0x85, 0x31, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x02, 0xD1, 0x8A, 0x7F, 0x01,
+0x12, 0x5E, 0x92, 0x90, 0x85, 0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x29, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x85, 0x32, 0xE0, 0x44, 0x20, 0xF0, 0x90,
+0x85, 0x65, 0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x7D, 0x01, 0x7F, 0x0C, 0x12, 0x49, 0xC6, 0x90, 0x85, 0x65, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05,
+0x74, 0x6F, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x58, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0,
+0xD0, 0x90, 0x85, 0xEF, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x85, 0xF3, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74,
+0xFF, 0xF0, 0x90, 0x85, 0x63, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x85,
+0x56, 0xE0, 0x60, 0x14, 0x12, 0x50, 0xFB, 0xBF, 0x01, 0x0B, 0x90, 0x85, 0x2D, 0xE0, 0xFF, 0xC4,
+0x54, 0x0F, 0x30, 0xE0, 0x03, 0x12, 0x4F, 0x15, 0x90, 0x85, 0x45, 0xE0, 0x20, 0xE0, 0x24, 0x90,
+0x85, 0x60, 0xE0, 0x60, 0x1E, 0x7F, 0x01, 0x12, 0x50, 0x48, 0x90, 0x85, 0x74, 0xE0, 0x60, 0x13,
+0x90, 0x85, 0xF3, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0xF3,
+0x12, 0x55, 0x0D, 0x12, 0x53, 0x92, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x85, 0x76, 0xF0,
+0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0xE1, 0xAD, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x85, 0x39, 0xE0, 0xF5, 0x49, 0xE4, 0xFB,
+0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x85,
+0x35, 0x74, 0x01, 0xF0, 0xE4, 0x90, 0x85, 0x41, 0xF0, 0x90, 0x85, 0x3F, 0xF0, 0x80, 0x20, 0xE4,
+0xF5, 0x48, 0x90, 0x85, 0x76, 0xE0, 0xFF, 0x90, 0x85, 0x2E, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x85, 0x3F, 0x74, 0x01, 0xF0, 0x90,
+0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x3E, 0x74, 0x01, 0xF0, 0x90, 0x85, 0x65, 0xE0, 0x60,
+0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x85, 0x2D, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x50, 0xA5, 0xE4, 0x90, 0x86, 0x4B, 0xF0, 0x22, 0xC0, 0xE0,
+0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D,
+0xAE, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00,
+0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90,
+0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10,
+0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6,
+0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74,
+0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30,
+0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56,
+0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01,
+0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82,
+0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75,
+0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06,
+0xC0, 0x07, 0x75, 0x5B, 0x00, 0x90, 0x01, 0xC4, 0x74, 0x55, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0x53,
+0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35,
+0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0,
+0x06, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74,
+0x02, 0xF0, 0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x45, 0xD6, 0xE5, 0x34, 0x30, 0xE2,
+0x36, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48,
+0x00, 0x90, 0x85, 0x5E, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90,
+0x85, 0x6E, 0xE4, 0xF0, 0x12, 0x51, 0x63, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74,
+0x08, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x85, 0x5E, 0xE0,
+0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74,
+0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x85, 0x6B, 0xE4, 0xF0, 0x12,
+0x51, 0x63, 0xE5, 0x34, 0x30, 0xE4, 0x3C, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x85, 0x45,
+0xE0, 0x30, 0xE0, 0x24, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x90,
+0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F,
+0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0xA6, 0x90, 0x85, 0x4E, 0xE0, 0x60,
+0x02, 0x51, 0xE8, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35,
+0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x4F, 0x90,
+0x01, 0xBB, 0xE5, 0x4F, 0xF0, 0x12, 0x51, 0x2C, 0x12, 0x51, 0x63, 0xE5, 0x35, 0x30, 0xE2, 0x06,
+0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10,
+0xF0, 0x90, 0x85, 0xC0, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0,
+0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x01,
+0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0xE5, 0x36, 0x30, 0xE3,
+0x09, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0x12, 0x84, 0xF2, 0xE5, 0x36, 0x30, 0xE4, 0x06, 0x90,
+0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x76, 0x90, 0x01, 0x3E, 0x74, 0x04, 0xF0,
+0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x04, 0xF0,
+0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0x58, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE6,
+0x12, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x07, 0x80, 0xE0, 0xFF,
+0x12, 0x84, 0x9C, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0, 0xE4, 0xFF, 0x12,
+0x55, 0x58, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07,
+0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0, 0x7F, 0x01, 0x12,
+0x55, 0x58, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF, 0x12, 0x55, 0x58,
+0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6, 0x06,
+0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x80,
+0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x80, 0xE5,
+0x37, 0x30, 0xE4, 0x1E, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x45, 0x09, 0x90, 0x85, 0x70,
+0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x66, 0x14, 0x12,
+0x65, 0x84, 0x74, 0x55, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x68, 0xA3, 0xF0, 0xD0, 0x07, 0xD0,
+0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0,
+0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x01, 0x63, 0xE4, 0xF0, 0x90, 0x81, 0x57,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x7F, 0x01,
+0x02, 0x55, 0x58, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x4E, 0xF0, 0x70, 0x02, 0x51, 0xE8, 0x22, 0x90,
+0x85, 0x97, 0x12, 0x44, 0x89, 0xEF, 0x12, 0x44, 0x92, 0x6B, 0xAC, 0x01, 0x6B, 0xA4, 0x02, 0x6B,
+0xF3, 0x03, 0x6B, 0xFC, 0x10, 0x6C, 0x04, 0x11, 0x6C, 0x0C, 0x12, 0x6C, 0x14, 0x16, 0x6C, 0x1E,
+0x17, 0x6C, 0x28, 0x18, 0x6C, 0x32, 0x19, 0x6C, 0x3B, 0x1D, 0x6C, 0x45, 0x1E, 0x6C, 0x50, 0x21,
+0x6C, 0x58, 0x22, 0x6C, 0x60, 0x23, 0x6C, 0x68, 0x24, 0x6C, 0x70, 0x25, 0x6C, 0x78, 0x26, 0x6C,
+0x80, 0x27, 0x6C, 0x88, 0x28, 0x6C, 0x90, 0x29, 0x6B, 0xB5, 0x2D, 0x6B, 0xBE, 0x2E, 0x6C, 0x99,
+0x2F, 0x6C, 0xF9, 0x30, 0x6C, 0xA9, 0x32, 0x6C, 0xA1, 0x33, 0x6B, 0xD0, 0x34, 0x6C, 0xB1, 0x36,
+0x6C, 0xBA, 0x37, 0x6C, 0xC3, 0x38, 0x6C, 0xCB, 0x3A, 0x6B, 0xC7, 0x3B, 0x6C, 0xD4, 0x3E, 0x6C,
+0xDC, 0x3F, 0x6C, 0xE5, 0x41, 0x6D, 0x02, 0x46, 0x6B, 0xD8, 0x47, 0x6B, 0xEA, 0x48, 0x6B, 0xE1,
+0x49, 0x6D, 0x1C, 0x4B, 0x6D, 0x0B, 0x4E, 0x6C, 0xEE, 0x52, 0x6C, 0xF1, 0x53, 0x6D, 0x13, 0x54,
+0x00, 0x00, 0x6D, 0x25, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xED, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0x02, 0x77, 0x78, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x78, 0x59, 0x90, 0x85,
+0x97, 0x12, 0x44, 0x69, 0x02, 0x78, 0xA1, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x78, 0xDA,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xF3, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x79,
+0x0C, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x79, 0xCC, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69,
+0x02, 0x80, 0xE2, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x79, 0xDD, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0xA1, 0x2D, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xA1, 0x33, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0xA1, 0x39, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x85,
+0x97, 0x12, 0x44, 0x69, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x7F, 0x03,
+0x80, 0x1B, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x7B, 0x07, 0x90, 0x85, 0x97, 0x12, 0x44,
+0x69, 0xE4, 0xFF, 0x80, 0x08, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x7F, 0x04, 0x02, 0x7A, 0x25,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xC1, 0xE5, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xC1, 0xFD,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x15, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x2D,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x45, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x5D,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x75, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0x8D,
+0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x7B, 0x3F, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xC1,
+0xD6, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xA5, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1,
+0xBD, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x7B, 0x67, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69,
+0x02, 0x7D, 0x1A, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xA1, 0xCC, 0x90, 0x85, 0x97, 0x12, 0x44,
+0x69, 0x02, 0x7D, 0x2C, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0xE1, 0xD5, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0x02, 0x80, 0x43, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x80, 0x7E, 0x02, 0x80,
+0x97, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x61, 0x03, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02,
+0x65, 0xE1, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x73, 0xE3, 0x90, 0x85, 0x97, 0x12, 0x44,
+0x69, 0xA1, 0xEE, 0x90, 0x85, 0x97, 0x12, 0x44, 0x69, 0x02, 0x80, 0xEA, 0x90, 0x85, 0x97, 0x12,
+0x44, 0x69, 0x02, 0x81, 0x6C, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F,
+0x0B, 0x80, 0x10, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, 0x7D,
+0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x86, 0x41, 0x12, 0x44, 0x89,
+0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54,
+0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, 0xEF,
+0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x86, 0x41, 0x12, 0x44, 0x69, 0x8E,
+0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD,
+0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, 0x2E,
+0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, 0x74,
+0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, 0x90,
+0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x85, 0x9A, 0x12,
+0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01,
+0x7F, 0x23, 0xB1, 0x43, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x75, 0x82, 0x22, 0x90, 0x85,
+0x9A, 0x12, 0x44, 0x89, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x85, 0x9D, 0x74, 0x0A,
+0xF0, 0x90, 0x85, 0x9D, 0xE0, 0xFF, 0x70, 0x02, 0xC1, 0xD1, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0,
+0x02, 0xC1, 0xC8, 0x90, 0xFD, 0x50, 0x74, 0x86, 0xF0, 0xA3, 0xE4, 0xF0, 0xEF, 0xB4, 0x0A, 0x05,
+0xA3, 0x74, 0x10, 0x80, 0x75, 0x90, 0x85, 0x9D, 0xE0, 0xFF, 0xB4, 0x09, 0x0E, 0x90, 0xFD, 0x52,
+0x74, 0x0C, 0xF0, 0x90, 0xFD, 0x54, 0x74, 0x83, 0xF0, 0x80, 0x77, 0xEF, 0xB4, 0x08, 0x0D, 0x90,
+0xFD, 0x52, 0xE4, 0xF0, 0x90, 0xFD, 0x54, 0x74, 0x1D, 0xF0, 0x80, 0x66, 0xEF, 0xB4, 0x07, 0x07,
+0x90, 0xFD, 0x52, 0x74, 0x04, 0x80, 0x43, 0xEF, 0xB4, 0x06, 0x0E, 0x90, 0xFD, 0x52, 0x74, 0x20,
+0xF0, 0x90, 0xFD, 0x54, 0x74, 0x70, 0xF0, 0x80, 0x49, 0xEF, 0xB4, 0x05, 0x0E, 0x90, 0xFD, 0x52,
+0x74, 0x0C, 0xF0, 0x90, 0xFD, 0x54, 0x74, 0x03, 0xF0, 0x80, 0x37, 0xEF, 0xB4, 0x04, 0x07, 0x90,
+0xFD, 0x52, 0x74, 0x24, 0x80, 0x14, 0xEF, 0xB4, 0x03, 0x07, 0x90, 0xFD, 0x52, 0x74, 0x30, 0x80,
+0x09, 0xEF, 0xB4, 0x02, 0x0D, 0x90, 0xFD, 0x52, 0x74, 0x28, 0xF0, 0x90, 0xFD, 0x54, 0xE4, 0xF0,
+0x80, 0x10, 0xEF, 0xB4, 0x01, 0x0C, 0x90, 0xFD, 0x52, 0x74, 0x10, 0xF0, 0x90, 0xFD, 0x54, 0x74,
+0x80, 0xF0, 0x90, 0xFD, 0x53, 0xE4, 0xF0, 0x90, 0xFD, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0x04, 0xF0, 0x90, 0x85, 0x9D, 0xE0, 0x14, 0xF0, 0x7F, 0x46, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xC1,
+0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9, 0xE4, 0x3A,
+0xFA, 0x7D, 0x04, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x17, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x18, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x19, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x1A, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x1B, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x1C, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x03, 0x7F, 0x1D, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x1E, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x1F, 0xA1, 0x43, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D,
+0x01, 0x7F, 0x20, 0xA1, 0x43, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44,
+0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x7D, 0x01, 0x7F, 0x24, 0xA1, 0x43, 0x12, 0x1E, 0xF6,
+0xF5, 0x4D, 0x22, 0x90, 0x85, 0x9A, 0x02, 0x44, 0x89, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0,
+0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04,
+0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02,
+0x41, 0xB9, 0x90, 0x85, 0xA6, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x84, 0xA7, 0xF0,
+0x90, 0x00, 0x2D, 0xE0, 0x90, 0x84, 0xA8, 0xF0, 0x90, 0x85, 0xA6, 0x74, 0x01, 0xF0, 0x90, 0xFD,
+0x60, 0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x02, 0x91, 0x92, 0x90, 0xFD, 0x60, 0xE0, 0x64,
+0x0E, 0x60, 0x02, 0x01, 0xF9, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20,
+0xE0, 0x02, 0x01, 0xF9, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54,
+0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90,
+0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01,
+0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90, 0x84, 0x9C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19,
+0x90, 0x07, 0x78, 0x12, 0x58, 0x8E, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49,
+0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0xC3, 0x13,
+0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x55, 0x58, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3,
+0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x84, 0x9C, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x8E, 0x80, 0x0C, 0xE0, 0x44, 0x10,
+0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A,
+0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0x71, 0x4D, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15,
+0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x81, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54,
+0x3F, 0x04, 0xFF, 0x90, 0x84, 0xA7, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x85, 0x80,
+0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x84, 0xA7, 0xE0, 0x13, 0x13,
+0x54, 0x3F, 0xFF, 0x90, 0x85, 0x81, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x85, 0x80, 0xF0, 0xD3, 0x94,
+0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x85, 0x80, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF,
+0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x85, 0x80, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F,
+0x90, 0x85, 0x82, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x84, 0xA8,
+0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x07, 0x90,
+0xFD, 0x62, 0xE0, 0xFF, 0x51, 0xD4, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0x51, 0xFC, 0x90,
+0xFD, 0x60, 0xE0, 0x64, 0x23, 0x70, 0x7A, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x44, 0x30, 0xE0,
+0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90,
+0x85, 0x45, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08,
+0x12, 0x2C, 0x6E, 0x90, 0x85, 0x4A, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x7F, 0x70,
+0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x85, 0x46, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0,
+0x04, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x85, 0x45, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44,
+0x20, 0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0xB1,
+0x82, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x02, 0x71, 0x24, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25,
+0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x85, 0x34, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x85,
+0x3C, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x04, 0x7F, 0x01, 0x91, 0xFE, 0x90,
+0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0x71, 0x78, 0x90, 0x85, 0x4E,
+0xE0, 0x60, 0x4F, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x31, 0x70, 0x47, 0x90, 0xFD, 0x62, 0xE0, 0x30,
+0xE0, 0x36, 0x90, 0x01, 0x63, 0xE4, 0xF0, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0xE4, 0xFF, 0x12, 0x55, 0x58,
+0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x80, 0x0A, 0x90, 0xFD, 0x62, 0xE0, 0x30, 0xE1, 0x03, 0x12,
+0x6A, 0xE8, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0,
+0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0,
+0xF0, 0xD0, 0xE0, 0x32, 0xAD, 0x07, 0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54,
+0x0F, 0x44, 0x10, 0xF0, 0x90, 0x85, 0x85, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x85, 0x90,
+0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0x90, 0x00, 0x75, 0xE0,
+0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, 0x03, 0xF0,
+0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, 0x75, 0xE0,
+0x54, 0xFE, 0xF0, 0x22, 0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44,
+0x10, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x85, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x85,
+0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0xAE, 0x07, 0x90,
+0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x85, 0x85,
+0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x85, 0x90, 0x86, 0x1E, 0x12, 0x44,
+0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0xAC, 0x07, 0x90, 0x85, 0xDE, 0xE0, 0x44, 0x0F,
+0xF0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x85, 0xE0, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63,
+0xE0, 0x90, 0x85, 0xE1, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x85, 0xE2, 0xF0, 0x90, 0xFD, 0x64,
+0xE0, 0x90, 0x85, 0xE3, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x85, 0xE4, 0xF0, 0x90, 0xFD, 0x66,
+0xE0, 0x90, 0x85, 0xE5, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x85, 0xE6, 0xF0, 0x80, 0x11, 0x90,
+0x85, 0xE1, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0x7B, 0x01, 0x7A, 0x85, 0x79, 0xE0, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0xDE,
+0x02, 0x56, 0xE6, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x9A,
+0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x9B, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x85, 0x9C, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x9D, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x9E, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD,
+0x58, 0xE0, 0x20, 0xE0, 0x14, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x9A, 0x7F, 0x30, 0x91, 0x48, 0x90,
+0x85, 0x9A, 0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x85, 0x9A, 0xE0, 0xFB, 0xE4, 0xFD,
+0xFF, 0x71, 0x78, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x85, 0xA1, 0x12, 0x44, 0x89, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD,
+0x50, 0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x85, 0xA1, 0x12, 0x44, 0x69, 0x8E,
+0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD,
+0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90,
+0x85, 0x85, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x85, 0x86, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90,
+0x85, 0x87, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x85, 0x88, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90,
+0x85, 0x89, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x85, 0x83, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F,
+0x44, 0x50, 0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90,
+0x85, 0x8A, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x85, 0x8B, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79,
+0x85, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x02, 0x56, 0xE6, 0xAD, 0x07,
+0x90, 0x85, 0x83, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0,
+0x90, 0x85, 0x86, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x85, 0x87, 0xF0, 0x90, 0xFD, 0x64, 0xE0,
+0x90, 0x85, 0x88, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x85, 0x89, 0xF0, 0x90, 0xFD, 0x66, 0xE0,
+0x90, 0x85, 0x8A, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x85, 0x8B, 0xF0, 0xED, 0xB4, 0x01, 0x11,
+0x90, 0x85, 0x83, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x85, 0x85, 0x74, 0x01, 0xF0, 0x80,
+0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90, 0x85, 0x83, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x85,
+0x85, 0x74, 0x02, 0xF0, 0x90, 0x85, 0x83, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01,
+0x7A, 0x85, 0x79, 0x85, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0x83, 0x12, 0x56,
+0xE6, 0x22, 0xAD, 0x07, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0,
+0x90, 0xFD, 0x62, 0xE0, 0x90, 0x86, 0x01, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x86, 0x02, 0xF0,
+0x90, 0xFD, 0x64, 0xE0, 0x90, 0x86, 0x03, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x86, 0x04, 0xF0,
+0x90, 0xFD, 0x66, 0xE0, 0x90, 0x86, 0x05, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x86, 0x06, 0xF0,
+0xED, 0xB4, 0x02, 0x0B, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED,
+0xB4, 0x04, 0x0B, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4,
+0x70, 0x29, 0x90, 0x85, 0xFF, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90, 0x85, 0x44, 0xE0, 0x60,
+0x08, 0x90, 0x86, 0x01, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x86, 0x01, 0xF0, 0xE4, 0x90,
+0x86, 0x02, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x86, 0x79,
+0x01, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79, 0xFF, 0x02, 0x56, 0xE6, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x85, 0x8F, 0xF0, 0x90,
+0x85, 0x8F, 0xE0, 0xFD, 0x70, 0x02, 0xE1, 0x67, 0x90, 0x86, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0x7E,
+0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, 0x5D,
+0x70, 0x02, 0xE1, 0x60, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, 0x44,
+0x5D, 0xE0, 0x90, 0x85, 0x90, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x85, 0x75, 0x22, 0x90, 0x75,
+0x23, 0x01, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x91, 0x12, 0x56, 0x97, 0x90, 0x85, 0x91, 0xE0, 0xFF,
+0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x86, 0x4C, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, 0x02,
+0x90, 0x00, 0x88, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x92, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75,
+0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x93, 0xF0, 0x90, 0x86, 0x4C,
+0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x94, 0xF0, 0x90,
+0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x95,
+0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x44, 0x5D, 0xE0, 0x90,
+0x85, 0x96, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x44, 0x5D, 0xE0,
+0x90, 0x85, 0x92, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x44,
+0x5D, 0xE0, 0x90, 0x85, 0x93, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3,
+0x12, 0x44, 0x5D, 0xE0, 0x90, 0x85, 0x94, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, 0x85,
+0x79, 0x92, 0x12, 0x6B, 0x0F, 0x90, 0x85, 0x8F, 0xE0, 0xFF, 0x90, 0x86, 0x4C, 0xE0, 0xFE, 0x74,
+0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x85, 0x8F, 0xF0,
+0x90, 0x86, 0x4C, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC,
+0x90, 0x01, 0xCC, 0xF0, 0x90, 0x86, 0x4C, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0xC1, 0x2F,
+0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x84, 0x01,
+0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x85, 0x9A, 0x12, 0x44, 0x69, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x72, 0xF0, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x55, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0x54, 0x01, 0x90, 0x85, 0x56, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x85, 0x60, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x85, 0x5D, 0xF0, 0xEF, 0x13,
+0x13, 0x13, 0x54, 0x01, 0x90, 0x85, 0x63, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4,
+0x54, 0x01, 0x90, 0x85, 0x5F, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x85, 0x74, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x85, 0x62, 0xF0, 0xE0,
+0x70, 0x38, 0x90, 0x85, 0x60, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x85, 0x9D, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0x48, 0x90, 0x85, 0x9D,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57,
+0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x85, 0x56, 0xE0, 0x70, 0x03,
+0x12, 0x4F, 0x15, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x12, 0x4D, 0x1E, 0x90, 0x85, 0x72, 0xE0,
+0x90, 0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF,
+0x30, 0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x61, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F,
+0x90, 0x85, 0x64, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x85, 0x5E, 0xF0, 0x90, 0x00, 0x03,
+0x12, 0x1F, 0x0F, 0x90, 0x85, 0x69, 0xF0, 0x22, 0x90, 0x85, 0x61, 0x74, 0x03, 0xF0, 0x90, 0x85,
+0x64, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x5E, 0x74, 0x14, 0xF0, 0x90, 0x85, 0x69, 0x74, 0x05, 0xF0,
+0x22, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x85, 0x68, 0xF0, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x85, 0x66, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F,
+0x90, 0x85, 0x68, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x66, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90,
+0x85, 0x66, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0x65,
+0xF0, 0x60, 0x20, 0x90, 0x85, 0x2D, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x49,
+0xC6, 0x90, 0x85, 0x56, 0xE0, 0x60, 0x09, 0x90, 0x85, 0x6F, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x15,
+0x12, 0x44, 0xE5, 0x90, 0x85, 0x65, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xFF,
+0x54, 0x80, 0xFE, 0x90, 0x85, 0x4F, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0,
+0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x85, 0x4F, 0xE0, 0x54, 0x8F,
+0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x51, 0xF0, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0x90, 0x85, 0x52, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x53, 0xF0,
+0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x43, 0x90, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3,
+0x94, 0x20, 0x50, 0x08, 0x90, 0x85, 0x50, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40,
+0x50, 0x08, 0x90, 0x85, 0x50, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08,
+0x90, 0x85, 0x50, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x85,
+0x50, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, 0x85, 0x50, 0x74,
+0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x85, 0x50, 0x74, 0x06, 0xF0,
+0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x85, 0x50, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03,
+0x74, 0x08, 0xF0, 0x90, 0x85, 0x50, 0xE0, 0x90, 0x85, 0x54, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60,
+0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x02, 0x09,
+0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x85, 0xBA, 0xF0, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x85, 0xBB, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x85, 0xBC, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED,
+0x2F, 0x90, 0x85, 0xBD, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F,
+0x90, 0x85, 0xBE, 0xF0, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, 0x00,
+0x40, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, 0xF0,
+0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, 0x1E,
+0xF6, 0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x00,
+0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06,
+0xC2, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, 0xE0,
+0x54, 0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, 0x12,
+0x1F, 0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, 0xF0,
+0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x01,
+0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, 0x90,
+0x06, 0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, 0x03,
+0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06,
+0xCB, 0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, 0xE0,
+0x06, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, 0x90,
+0x07, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A,
+0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0x90, 0x84, 0x03, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F,
+0x90, 0x84, 0x04, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x84, 0x05, 0xF0, 0x90, 0x85,
+0x9A, 0x12, 0x44, 0x69, 0x12, 0x6D, 0x3F, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, 0x12,
+0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9, 0x05,
+0xAA, 0x06, 0xAB, 0x07, 0x90, 0x84, 0xA3, 0x12, 0x44, 0x45, 0xEC, 0x54, 0x03, 0xFC, 0x12, 0x44,
+0x1A, 0x90, 0x84, 0x9F, 0x02, 0x1F, 0xC9, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC,
+0xF0, 0xEF, 0x30, 0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74,
+0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6,
+0xC3, 0x13, 0x90, 0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0,
+0x90, 0xFD, 0x56, 0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0,
+0xA3, 0x74, 0x06, 0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01,
+0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00,
+0x24, 0x00, 0xFF, 0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74,
+0x20, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x90, 0x85, 0x9A, 0xEF, 0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD,
+0xE0, 0x44, 0x02, 0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3,
+0x99, 0x50, 0x43, 0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20,
+0x50, 0x07, 0xAF, 0x05, 0x91, 0x6E, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0,
+0xEC, 0xB5, 0x01, 0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90, 0x85, 0x9A, 0xE0,
+0xFB, 0xC3, 0xEF, 0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF, 0x05, 0x91, 0x6E,
+0x0D, 0x80, 0xE3, 0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12,
+0x53, 0x26, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD,
+0x58, 0xE0, 0x30, 0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0,
+0x08, 0xA4, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0,
+0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90,
+0xFD, 0x51, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x90, 0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08,
+0xA4, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF,
+0x75, 0xF0, 0x08, 0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD,
+0x56, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x90, 0xFD, 0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10,
+0x60, 0x05, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x89, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE,
+0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F,
+0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFB, 0x4E, 0xF0,
+0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE,
+0x90, 0x85, 0x2D, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F,
+0xF0, 0x12, 0x1E, 0xF6, 0xFC, 0x54, 0x80, 0xFF, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0x7F, 0x4F, 0xF0,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x85, 0x30, 0xE0, 0x54, 0xFE,
+0x4F, 0xF0, 0xED, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0xFD, 0x54, 0x04, 0xFF, 0x90, 0x85, 0x30, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10,
+0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE,
+0x90, 0x85, 0x30, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F,
+0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x85, 0x30, 0xE0, 0x54, 0x7F,
+0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x85, 0x31, 0xE0,
+0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x85, 0x31, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF,
+0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54,
+0x04, 0xFE, 0x90, 0x85, 0x31, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54,
+0xF7, 0x4F, 0xF0, 0xEC, 0x20, 0xE0, 0x02, 0xE1, 0xA6, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90,
+0x85, 0x3D, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x85, 0x9E,
+0x12, 0x44, 0x69, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x2E, 0xF0, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0x90, 0x85, 0x2F, 0xF0, 0x80, 0x4E, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90,
+0x85, 0x2E, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x85, 0x2E,
+0x74, 0x2A, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF,
+0xC3, 0x94, 0x03, 0x90, 0x85, 0x2F, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80,
+0x06, 0x90, 0x85, 0x2F, 0x74, 0x2A, 0xF0, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03,
+0x30, 0xE0, 0x3D, 0x90, 0x85, 0x2E, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x85, 0x36, 0xF0, 0xE0,
+0xC3, 0x13, 0xA3, 0xF0, 0x90, 0x85, 0x2F, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x85, 0x38, 0xF0,
+0x90, 0x85, 0x2E, 0xE0, 0xC3, 0x13, 0x90, 0x85, 0x39, 0xF0, 0x90, 0x85, 0x2F, 0xE0, 0xC3, 0x13,
+0x90, 0x85, 0x3A, 0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD,
+0xE4, 0x90, 0x84, 0xA9, 0xF0, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54,
+0x1F, 0x30, 0xE0, 0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0x48, 0x90, 0x85, 0x2D,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x18, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30,
+0xE0, 0x03, 0x75, 0x4F, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90,
+0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x85, 0x3F, 0x74,
+0x01, 0xF0, 0x80, 0x2B, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x85, 0x3F, 0x74, 0x04,
+0xF0, 0x80, 0x1C, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x85, 0x3F, 0x74, 0x02, 0xF0,
+0x80, 0x0D, 0x90, 0x85, 0x35, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x85, 0x3F, 0x74, 0x05, 0xF0, 0xE4,
+0x90, 0x85, 0x35, 0xF0, 0x80, 0x65, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0xFF,
+0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x85, 0x9A, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x03, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x12, 0x83, 0xE4, 0x90, 0x00,
+0x40, 0x74, 0x20, 0xF0, 0x90, 0x85, 0x9E, 0x12, 0x44, 0x69, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F,
+0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03,
+0x74, 0x01, 0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x9A, 0x12, 0x55, 0x0D, 0x90, 0x05, 0x22, 0xE4,
+0xF0, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x85, 0x32, 0xE0, 0x54,
+0xDF, 0xF0, 0xE4, 0x90, 0x85, 0x3E, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x09, 0x90, 0x84, 0x9C, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12,
+0x55, 0x58, 0x90, 0x84, 0x9C, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0xF5, 0xD0, 0xD0,
+0x92, 0xAF, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x85, 0x32, 0xE0, 0x54, 0xFE,
+0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54,
+0x04, 0xFE, 0x90, 0x85, 0x32, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54,
+0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0x33, 0xF0, 0x22, 0x90, 0x85,
+0x9A, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69,
+0x7D, 0x03, 0x7F, 0x26, 0x02, 0x6D, 0x43, 0x90, 0x00, 0xCC, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x00,
+0x6A, 0xE4, 0xF0, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x44,
+0x04, 0xF0, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x10, 0xF0,
+0x90, 0x00, 0x32, 0xE0, 0x44, 0x04, 0xF0, 0x7F, 0x05, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0x00,
+0x6A, 0x74, 0x15, 0xF0, 0x90, 0x00, 0xFA, 0xE0, 0x44, 0x04, 0xF0, 0x7D, 0xDD, 0x7F, 0x81, 0x02,
+0x53, 0x26, 0x12, 0x1E, 0xF6, 0x90, 0x85, 0xC2, 0xF0, 0x22, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x89,
+0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x90, 0x85, 0x9D, 0x12, 0x44, 0x89, 0xE4, 0x90, 0x85, 0xA1,
+0xF0, 0x90, 0x85, 0x9A, 0x12, 0x44, 0x69, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xA2,
+0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0x90, 0x85, 0xA4, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xA5, 0xF0, 0x90,
+0x85, 0x9D, 0x12, 0x44, 0x69, 0x12, 0x1E, 0xF6, 0x70, 0x12, 0x90, 0x85, 0xA0, 0x74, 0x3C, 0xF0,
+0x7B, 0x01, 0x7A, 0x85, 0x79, 0xA0, 0x7D, 0x06, 0x7F, 0x87, 0x80, 0x1C, 0x90, 0x85, 0x9D, 0x12,
+0x44, 0x69, 0x12, 0x1E, 0xF6, 0xB4, 0x01, 0x13, 0x90, 0x85, 0xA0, 0x74, 0x40, 0xF0, 0x7B, 0x01,
+0x7A, 0x85, 0x79, 0xA0, 0x7D, 0x04, 0x7F, 0xC7, 0x12, 0x6D, 0x43, 0x22, 0x12, 0x1E, 0xF6, 0x90,
+0x85, 0xC0, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x85, 0xC1, 0xF0, 0x22, 0xE4, 0x90,
+0x86, 0x46, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x86,
+0x47, 0xE0, 0x94, 0x88, 0x90, 0x86, 0x46, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0,
+0x44, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x86, 0x46, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xF7,
+0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x86, 0x47, 0xE0, 0x94, 0x64, 0x90, 0x86,
+0x46, 0xE0, 0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22,
+0x7F, 0x01, 0x22, 0x90, 0x85, 0xE7, 0x12, 0x1F, 0xC9, 0x90, 0x85, 0xEB, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x85, 0xEB, 0x12, 0x44, 0x51, 0xD3,
+0x12, 0x44, 0x34, 0x50, 0x41, 0x90, 0x85, 0xEB, 0x12, 0x44, 0x45, 0xA9, 0x07, 0x90, 0x85, 0xE7,
+0x12, 0x44, 0x45, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC,
+0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x44, 0x34, 0x60, 0x1B, 0x90, 0x85, 0xEB, 0x12, 0x44,
+0x45, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x85,
+0xEB, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x85, 0xEB, 0x02, 0x44, 0x45, 0x90, 0x85, 0xC6, 0x12,
+0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x85, 0xCA, 0x12, 0x44, 0x51, 0xC3, 0x12,
+0x44, 0x34, 0x90, 0x85, 0xC6, 0x60, 0x67, 0x12, 0x44, 0x45, 0x12, 0x2C, 0x6E, 0x90, 0x85, 0xD2,
+0x12, 0x1F, 0xC9, 0x90, 0x85, 0xCA, 0x12, 0x44, 0x45, 0x31, 0xD3, 0x90, 0x85, 0xD6, 0x12, 0x1F,
+0xC9, 0x90, 0x85, 0xCA, 0x12, 0x44, 0x45, 0x12, 0x44, 0x27, 0x90, 0x85, 0xD2, 0x12, 0x44, 0x51,
+0x12, 0x44, 0x0D, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x85, 0xD6, 0x12, 0x44,
+0x45, 0xA9, 0x07, 0x90, 0x85, 0xCE, 0x12, 0x44, 0x45, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03,
+0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x44, 0x1A, 0x90, 0x85, 0xDA, 0x12, 0x1F, 0xC9, 0x90,
+0x85, 0xC6, 0x12, 0x44, 0x45, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x85, 0xDA, 0x80, 0x0A, 0x12, 0x44,
+0x45, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x85, 0xCE, 0x12, 0x44, 0x45, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x86, 0x4F, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08,
+0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x53,
+0x99, 0x90, 0x86, 0x4F, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3,
+0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B,
+0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C,
+0x90, 0x86, 0x4F, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02,
+0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x53, 0x99, 0x90,
+0x86, 0x4F, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE,
+0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05,
+0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x90, 0x84, 0x9C, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7,
+0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x84,
+0xA3, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70, 0xE4, 0x90, 0x84, 0xA9, 0xF0, 0xA3, 0xF0, 0x43,
+0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90,
+0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90,
+0x00, 0x40, 0x74, 0x20, 0xF0, 0x71, 0xE4, 0x90, 0x85, 0x44, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F,
+0x02, 0x02, 0x3A, 0xAD, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3,
+0x74, 0x08, 0xF0, 0xE4, 0x90, 0x85, 0x3E, 0xF0, 0xA3, 0xF0, 0x90, 0x85, 0x2D, 0xE0, 0x54, 0xFD,
+0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF,
+0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0,
+0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0,
+0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F,
+0xF0, 0x90, 0x85, 0x40, 0x74, 0x02, 0xF0, 0x90, 0x85, 0x32, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54,
+0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x85, 0x3D, 0xF0, 0x90, 0x85, 0x34,
+0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x85, 0x3B, 0xF0, 0xA3, 0xF0, 0x90, 0x85, 0x41, 0xF0, 0xA3,
+0xF0, 0x90, 0x85, 0x34, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x85, 0x31, 0xE0,
+0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x85, 0x45, 0xE0, 0x54,
+0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0xE4, 0x90, 0x85, 0x4E, 0xF0, 0x22, 0xAD, 0x07, 0x90, 0x85,
+0x7A, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x85, 0x7C, 0xEF,
+0xF0, 0x7B, 0x01, 0x7A, 0x85, 0x79, 0x7C, 0x90, 0x86, 0x1E, 0x12, 0x44, 0x89, 0x7A, 0x85, 0x79,
+0x7A, 0x02, 0x56, 0xE6, 0x90, 0x85, 0x60, 0xE0, 0x60, 0x27, 0x90, 0x85, 0x63, 0xE0, 0x70, 0x21,
+0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0,
+0x22, 0x90, 0x85, 0x5D, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09,
+0xF0, 0x22, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, 0x85,
+0x34, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0x22,
+0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0xC1, 0xB8, 0x90, 0x85,
+0x35, 0xE0, 0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x86, 0x4B,
+0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x85, 0x41, 0xE0, 0x04, 0xF0, 0xE4,
+0x90, 0x86, 0x4B, 0xF0, 0x90, 0x85, 0x36, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0, 0xB5, 0x07, 0x02,
+0x80, 0x02, 0xC1, 0xA3, 0xE4, 0x90, 0x85, 0x35, 0xF0, 0x90, 0x85, 0x3F, 0x04, 0xF0, 0x22, 0x90,
+0x85, 0x35, 0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2, 0x06, 0x90, 0x86,
+0x4B, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x85, 0x41, 0xE0, 0x04, 0xF0,
+0xE4, 0x90, 0x86, 0x4B, 0xF0, 0x90, 0x85, 0x38, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0, 0xB5, 0x07,
+0x02, 0x80, 0x02, 0xC1, 0xA3, 0xE4, 0x90, 0x85, 0x35, 0xF0, 0x90, 0x85, 0x3F, 0x74, 0x04, 0xF0,
+0x22, 0x90, 0x85, 0x35, 0xE0, 0x64, 0x06, 0x60, 0x02, 0xC1, 0x67, 0x90, 0x85, 0x42, 0xE0, 0xB4,
+0x04, 0x0F, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x85, 0x3F, 0x30, 0xE0, 0x4E, 0xC1,
+0xB5, 0x90, 0x85, 0x34, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0,
+0xE4, 0xA3, 0xF0, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x02, 0xC1, 0x76, 0x90,
+0x85, 0x42, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D,
+0x03, 0x12, 0x1F, 0x3C, 0x90, 0x85, 0x39, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94,
+0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x90, 0x85, 0x3F, 0x40, 0x02, 0xC1, 0xB5, 0x74, 0x02, 0xF0,
+0x22, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4D, 0x84, 0x90, 0x85, 0x42, 0xE0,
+0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x85, 0x42, 0xE0, 0xFF, 0x90, 0x85, 0x41, 0xE0,
+0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x85, 0x39, 0xE0,
+0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58,
+0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x85, 0x35, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90,
+0x85, 0x42, 0xE0, 0xB4, 0x04, 0x05, 0x90, 0x85, 0x3F, 0x80, 0x3A, 0x90, 0x85, 0x34, 0xE0, 0x13,
+0x13, 0x54, 0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x85, 0x3F,
+0x80, 0x23, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4D, 0x84, 0x90, 0x85, 0x42,
+0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x64, 0x01, 0x70, 0x3C, 0x90, 0x85,
+0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x0D, 0xF0,
+0x22, 0x90, 0x85, 0x30, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0, 0x13, 0x13, 0x54, 0x3F,
+0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x85, 0x30, 0xE0, 0xC3, 0x13, 0x90, 0x07,
+0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x85, 0x31, 0xE0, 0xC4, 0x13,
+0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03, 0xF0, 0x22, 0x74, 0x01,
+0xF0, 0x22, 0xBB, 0x72,
+};
+
+u8 Rtl8723UFwUMCBCutImgArrayWithBT[Rtl8723UUMCBCutImgArrayWithBTLength] = {
+0x02, 0x23, 0x02, 0x00, 0x25, 0x00, 0x00, 0x00, 0x06, 0x27, 0x22, 0x20, 0xFC, 0x5E, 0x01, 0x00,
+0x17, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x4A, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x61, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x67, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x67, 0xA9, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x6A, 0x89, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03,
+0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09,
+0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08,
+0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10,
+0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21,
+0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20,
+0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00,
+0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28,
+0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30,
+0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04,
+0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05,
+0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13,
+0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F,
+0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24,
+0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78,
+0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40,
+0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48,
+0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8,
+0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58,
+0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07,
+0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04,
+0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18,
+0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28,
+0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09,
+0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9,
+0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22,
+0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83,
+0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE,
+0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0,
+0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A,
+0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7,
+0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83,
+0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82,
+0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82,
+0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0,
+0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22,
+0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7,
+0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8,
+0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5,
+0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB,
+0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE,
+0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED,
+0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC,
+0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8,
+0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22,
+0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5,
+0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9,
+0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70,
+0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0,
+0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3,
+0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68,
+0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12,
+0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83,
+0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3,
+0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x64, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00,
+0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0,
+0x0B, 0x90, 0x93, 0x41, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93,
+0x37, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90,
+0x93, 0x59, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x38, 0xE0, 0xF5, 0x49,
+0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93,
+0x59, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x38, 0xE0, 0x04, 0x2F, 0xF5,
+0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x59, 0xE0, 0xFF, 0x90, 0x93, 0x50, 0xE0, 0x2F, 0xF5, 0x49, 0xE4,
+0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x59, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF,
+0x90, 0x93, 0x50, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50,
+0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x12, 0x9C, 0x26, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x22, 0xE4, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, 0x42, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF,
+0x02, 0x4E, 0x27, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5E, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x62, 0x64, 0x01,
+0x60, 0x03, 0x02, 0x46, 0x78, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02,
+0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x41, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3,
+0xE0, 0x60, 0x14, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x41,
+0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x78, 0x43, 0x66, 0x10,
+0x90, 0x93, 0x37, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F,
+0xFF, 0x90, 0x93, 0x59, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x38, 0x80,
+0x2D, 0x90, 0x93, 0x37, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33,
+0xFE, 0x90, 0x93, 0x59, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3B, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x38, 0xE0, 0x80,
+0x2D, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90,
+0x93, 0x59, 0xE0, 0xFF, 0x90, 0x93, 0x50, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x59, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x50, 0xE0, 0x04, 0x2F, 0xF5, 0x49,
+0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0,
+0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69,
+0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x59, 0xE0, 0xD3,
+0x9F, 0x40, 0x08, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0x14, 0xF0,
+0x90, 0x93, 0x59, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4,
+0xF0, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8,
+0x90, 0x93, 0x5A, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x4A, 0x65, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01,
+0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x56, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x48, 0x90,
+0x93, 0x52, 0x74, 0x01, 0xF0, 0x12, 0x9C, 0x26, 0x22, 0xE4, 0x90, 0x93, 0x64, 0xF0, 0xE5, 0x65,
+0x70, 0x03, 0x02, 0x47, 0x32, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD,
+0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02, 0x47, 0x32, 0x02, 0x47, 0x2F, 0x90, 0x93, 0x42, 0xE0,
+0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x59, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0xC4,
+0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0x90, 0x93, 0x59, 0xE0, 0xFF, 0x90, 0x93, 0x37,
+0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90, 0x93, 0x3A, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22,
+0x90, 0x93, 0x37, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE,
+0x90, 0x93, 0x59, 0xE0, 0xB5, 0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74,
+0x03, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90,
+0x93, 0x64, 0x74, 0x5A, 0xF0, 0x90, 0x93, 0x64, 0xE0, 0xFF, 0x90, 0x93, 0x49, 0xE0, 0x2F, 0xFF,
+0xE4, 0x33, 0xFE, 0x90, 0x93, 0x42, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98,
+0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12,
+0x52, 0x17, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93,
+0x5A, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90, 0x93, 0x53, 0xF0, 0x90, 0x93, 0x58, 0x04, 0xF0, 0x90,
+0x93, 0x41, 0xF0, 0xE4, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x50, 0x74,
+0x05, 0xF0, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4E, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90,
+0x93, 0x49, 0xF0, 0x90, 0x93, 0x4C, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x46, 0x74, 0x14, 0xF0, 0x90,
+0x93, 0x51, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93,
+0xB4, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x93,
+0x3E, 0xF0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x93,
+0x52, 0xF0, 0x90, 0x93, 0x4B, 0xF0, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x93,
+0x4A, 0xF0, 0x90, 0x93, 0xB3, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93,
+0x37, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0x3B, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05,
+0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93,
+0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07,
+0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25,
+0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74,
+0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74,
+0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19,
+0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30,
+0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90,
+0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90, 0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74,
+0x40, 0xF0, 0x02, 0x49, 0x29, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F,
+0x90, 0x93, 0x4D, 0xE0, 0x60, 0x67, 0x80, 0x5D, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08,
+0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01,
+0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90,
+0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74,
+0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80,
+0x28, 0x90, 0x93, 0x43, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90,
+0x93, 0x4D, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9,
+0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F,
+0x00, 0x22, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5E, 0xF0, 0xE0,
+0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x52, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD,
+0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14, 0x12, 0x52, 0x17, 0x80, 0x0F, 0x90, 0x93, 0x3E, 0xE0,
+0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x5E, 0xE0, 0x30,
+0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93, 0x5A, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64,
+0x0C, 0x60, 0x13, 0x12, 0x51, 0x48, 0x80, 0x0E, 0x12, 0x50, 0x77, 0x80, 0x09, 0x90, 0x93, 0x52,
+0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93, 0x5E, 0xE0, 0x30,
+0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB,
+0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93,
+0x5B, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22,
+0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC, 0x25, 0xAF, 0x24, 0x12, 0x47, 0xEB, 0xAF, 0x26, 0xAE,
+0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51,
+0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72,
+0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0xA1, 0xE5,
+0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x53, 0x12,
+0x51, 0xD4, 0x80, 0x4E, 0xE5, 0x63, 0x20, 0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69,
+0x12, 0x51, 0x86, 0x80, 0x3D, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20,
+0xE3, 0x09, 0x12, 0x4D, 0x55, 0xEF, 0x60, 0x2A, 0x12, 0x51, 0xD4, 0xE5, 0x63, 0x54, 0x0F, 0xFF,
+0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2, 0x09, 0x12, 0x48, 0x8F, 0xEF, 0x60, 0x14, 0x12, 0x51,
+0x1F, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4B, 0xF7, 0xEF, 0x60, 0x03, 0x12,
+0x52, 0x04, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x02, 0x4B, 0x35, 0x02, 0x52, 0xF4, 0xE4, 0x93, 0xA3,
+0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4,
+0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8,
+0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04,
+0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F, 0x75, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF,
+0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54,
+0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4,
+0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8,
+0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D,
+0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36,
+0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F,
+0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x65, 0x90, 0x06,
+0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36,
+0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F,
+0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44,
+0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4F, 0x28, 0xE5, 0x62, 0x20, 0xE0,
+0x05, 0xE4, 0x90, 0x93, 0x43, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51,
+0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x5C, 0xE5, 0x14,
+0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x50, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94,
+0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x3F, 0x90, 0x02, 0x87, 0xE0, 0x60,
+0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x31, 0x90, 0x01, 0xAF, 0xE0, 0x60, 0x02, 0x80,
+0x07, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A,
+0x90, 0x93, 0x44, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01,
+0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0,
+0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64,
+0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x41,
+0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x07, 0x90,
+0x93, 0x58, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x41, 0xE0, 0xFF, 0x90, 0x93, 0x41, 0xEF, 0xF0,
+0x90, 0x93, 0x43, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x59,
+0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80,
+0x03, 0x12, 0x49, 0x32, 0x22, 0x90, 0x93, 0xB3, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C,
+0x90, 0x93, 0xB3, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0xE4, 0xFD, 0x7F, 0x93, 0x12, 0x54,
+0x1B, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x28,
+0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD,
+0x7F, 0x08, 0x12, 0x54, 0x1B, 0x7F, 0x01, 0x12, 0x4E, 0x81, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20,
+0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12,
+0x54, 0x1B, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x54, 0x1B, 0x7F, 0x14,
+0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A, 0xE0,
+0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, 0x12,
+0x51, 0xBB, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90,
+0x93, 0x56, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x53,
+0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3,
+0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4,
+0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00,
+0x22, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8,
+0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03,
+0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12,
+0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x39, 0x80, 0x29, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x39, 0x1F, 0x80, 0x14, 0x90,
+0x93, 0x8B, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x50,
+0x39, 0xE4, 0xFF, 0x12, 0x4B, 0x7A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x24,
+0x90, 0x93, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x90,
+0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, 0x5E,
+0x9B, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAC, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x2A, 0x12, 0x49,
+0xD0, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAC, 0xE0, 0xFF, 0x7D, 0x01,
+0x12, 0x58, 0x2A, 0x12, 0x49, 0xD0, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x3E, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, 0x00,
+0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x3F, 0xE0, 0x94,
+0x88, 0x90, 0x94, 0x3E, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0,
+0x22, 0x90, 0x94, 0x3E, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12,
+0x3B, 0x09, 0xD3, 0x90, 0x94, 0x3F, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x3E, 0xE0, 0x94, 0x00, 0x40,
+0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD,
+0x7F, 0x20, 0x12, 0x54, 0x1B, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0,
+0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F,
+0x28, 0x12, 0x54, 0x1B, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x54, 0x1B,
+0xE4, 0xFF, 0x12, 0x4E, 0x81, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0,
+0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x54, 0x1B, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2,
+0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30,
+0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F,
+0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4F, 0xE0, 0x9D, 0x90, 0x93, 0x4E,
+0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4E, 0xE0, 0xA3, 0xE0,
+0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x48, 0x93, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0xA0, 0x00, 0x41,
+0x93, 0xB0, 0x00, 0x41, 0x93, 0x95, 0x00, 0x41, 0x94, 0x46, 0x00, 0x41, 0x93, 0x13, 0x00, 0x41,
+0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41,
+0x94, 0x37, 0x00, 0x41, 0x94, 0x44, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0x57, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x2B, 0x12,
+0x1F, 0xC9, 0x90, 0x94, 0x2B, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x2B, 0x12,
+0x1F, 0xC9, 0x90, 0x94, 0x2B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00,
+0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50,
+0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x09,
+0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x9C, 0x26, 0x90, 0x93, 0x5A, 0xE0,
+0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50,
+0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16,
+0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x41, 0xF0,
+0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x51, 0xE0, 0x90, 0x93, 0x58,
+0xF0, 0x80, 0x05, 0x90, 0x93, 0x58, 0xED, 0xF0, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x41, 0xF0,
+0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02,
+0xF0, 0x90, 0x93, 0x53, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, 0x12,
+0x4A, 0x65, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00,
+0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3F, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F,
+0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+0xF9, 0x90, 0x93, 0x55, 0xF0, 0xEE, 0x90, 0x93, 0x54, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93,
+0xB2, 0xE0, 0x90, 0x94, 0x2F, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB2, 0xE0, 0x90, 0x94, 0x2F,
+0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2F, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x95, 0x86, 0x90,
+0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5E, 0x9B, 0xEF, 0x70,
+0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, 0x99,
+0x48, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x70, 0x1A, 0x90, 0x04,
+0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xAB, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x2A, 0x8E, 0x6A,
+0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x16, 0x90,
+0x93, 0x4B, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x45, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D,
+0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, 0x0A,
+0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x0C,
+0x22, 0x90, 0x94, 0x47, 0xEF, 0xF0, 0x12, 0x95, 0xCC, 0x90, 0x94, 0x47, 0xE0, 0x60, 0x05, 0x90,
+0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4,
+0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60,
+0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x05,
+0x7F, 0x01, 0x12, 0x4E, 0x27, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30, 0xE6,
+0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0,
+0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xE5, 0x12, 0x4E, 0xD9,
+0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x69, 0x90, 0x02,
+0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, 0x43,
+0xF7, 0x52, 0x49, 0x00, 0x40, 0x52, 0x71, 0x00, 0x80, 0x52, 0x9C, 0x01, 0x00, 0x52, 0xB0, 0x02,
+0x00, 0x52, 0xC8, 0x04, 0x00, 0x00, 0x00, 0x52, 0xE5, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, 0xFF,
+0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, 0xCE,
+0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x80,
+0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, 0x2D,
+0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x07,
+0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, 0x35,
+0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, 0x2D,
+0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, 0xFF,
+0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, 0x00,
+0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x25, 0xF0,
+0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x76, 0xF0, 0xA3, 0xF0, 0xF1, 0xBA, 0x75, 0x8E, 0x02,
+0xF1, 0x99, 0x12, 0x60, 0x51, 0x90, 0x93, 0xB3, 0xEF, 0xF0, 0xF1, 0xDA, 0x90, 0x93, 0xB5, 0xEF,
+0xF0, 0x12, 0x60, 0x64, 0x90, 0x93, 0x96, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, 0xF5,
+0x09, 0xF5, 0x62, 0x90, 0x93, 0xB2, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, 0x88,
+0x60, 0x12, 0x47, 0x33, 0x12, 0x37, 0x1C, 0xF1, 0xE6, 0x71, 0xF2, 0x12, 0x60, 0x15, 0x12, 0x60,
+0x7C, 0xF1, 0xB3, 0x12, 0x60, 0x33, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xE7, 0xF1, 0xC2, 0x90, 0x93,
+0x78, 0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x63, 0x75,
+0xE8, 0x03, 0x43, 0xA8, 0x85, 0x12, 0x97, 0x59, 0xD2, 0xAF, 0x51, 0xEA, 0x12, 0x60, 0x91, 0x90,
+0x93, 0x76, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xF4, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0,
+0xE5, 0x14, 0x30, 0xE0, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0x12, 0x9A, 0xE3, 0xD2, 0xAF, 0x90,
+0x93, 0xA9, 0xE0, 0xB4, 0x01, 0x07, 0x91, 0xD2, 0xE4, 0x90, 0x93, 0xA9, 0xF0, 0xE5, 0x14, 0x30,
+0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x6F, 0x9E, 0xE5, 0x14, 0x30, 0xE6,
+0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x80, 0x5D, 0xE5, 0x14, 0x30, 0xE7, 0x09,
+0xC2, 0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xD1, 0xEC, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF,
+0xBF, 0x01, 0x0D, 0x90, 0x93, 0x44, 0x74, 0x01, 0xF0, 0x51, 0x17, 0xE4, 0x90, 0x93, 0x44, 0xF0,
+0xD2, 0xAF, 0x90, 0x01, 0xBD, 0xE5, 0x63, 0xF0, 0x90, 0x93, 0x5A, 0xE0, 0x90, 0x01, 0xBC, 0xF0,
+0x61, 0x6F, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0,
+0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x91, 0x1B, 0x7D, 0xFF, 0x7F, 0x55, 0x91,
+0x1B, 0x7D, 0xFF, 0x7F, 0x56, 0x91, 0x1B, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3,
+0xC0, 0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x63, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0x90, 0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x91, 0x1B, 0xE4, 0xFD, 0x7F, 0x51, 0x91, 0x1B,
+0xE4, 0xFD, 0x7F, 0x52, 0x91, 0x1B, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0,
+0x44, 0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0,
+0x92, 0xAF, 0x22, 0x8E, 0x57, 0x8F, 0x58, 0x8B, 0x59, 0x8A, 0x5A, 0x89, 0x5B, 0xE4, 0x90, 0x93,
+0x7C, 0xF0, 0xEF, 0x90, 0x00, 0x31, 0xF0, 0x91, 0x63, 0xE5, 0x57, 0x54, 0x03, 0xFF, 0x90, 0x00,
+0x32, 0xE0, 0x54, 0xFC, 0x4F, 0xF0, 0x91, 0x63, 0x90, 0x00, 0x33, 0xE0, 0x54, 0x7F, 0xF0, 0x91,
+0x63, 0x90, 0x00, 0x33, 0xE0, 0x20, 0xE7, 0x0E, 0x90, 0x93, 0x7C, 0xE0, 0xC3, 0x94, 0x64, 0x50,
+0x05, 0xE0, 0x04, 0xF0, 0x80, 0xEB, 0x90, 0x93, 0x7C, 0xE0, 0xC3, 0x94, 0x64, 0x50, 0x10, 0x90,
+0x00, 0x30, 0xE0, 0xAB, 0x59, 0xAA, 0x5A, 0xA9, 0x5B, 0x12, 0x42, 0x53, 0x7F, 0x01, 0x22, 0x7F,
+0x00, 0x22, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x79, 0x7F, 0xF5, 0x7E, 0x01, 0x91, 0x73, 0xBF, 0x01,
+0x06, 0x90, 0x93, 0x79, 0xE0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x79, 0x7F, 0xF6, 0x7E,
+0x01, 0x91, 0x73, 0xBF, 0x01, 0x08, 0x90, 0x93, 0x79, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x93,
+0x7A, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xAE, 0x07, 0x90, 0x93, 0x7C, 0xE0, 0x54, 0xF0, 0xF0, 0x54,
+0x0F, 0x44, 0x50, 0xF0, 0x90, 0x93, 0x7E, 0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93,
+0x79, 0x7E, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x7C, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92,
+0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92, 0x69, 0xE0,
+0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF, 0xA3, 0xE0,
+0xB5, 0x07, 0x0D, 0xF1, 0x4B, 0xEF, 0x60, 0x70, 0xD1, 0xEC, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0,
+0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xA8,
+0x01, 0xFC, 0x7D, 0x01, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F, 0x02, 0x12, 0x1E,
+0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0,
+0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B,
+0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4,
+0x54, 0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0xB1, 0xDD, 0x90, 0x92, 0x6A, 0xE0,
+0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF,
+0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, 0x04, 0x12, 0x43, 0xC8,
+0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x07, 0x12, 0x43, 0xC8, 0xAF, 0x23, 0x15, 0x23,
+0xEF, 0x60, 0x1E, 0x90, 0x94, 0x07, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0x12, 0x1E, 0xF6,
+0xFF, 0x90, 0x94, 0x04, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12, 0x42, 0x53, 0x80,
+0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x68, 0xE0, 0x90, 0x00, 0x01,
+0x12, 0x42, 0x65, 0xF1, 0x4B, 0xEF, 0x70, 0x02, 0xC1, 0xE7, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xA8,
+0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0xB1,
+0xDD, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x0A,
+0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0x01,
+0x79, 0xA2, 0xB1, 0xDD, 0x90, 0x01, 0xAF, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0xB3, 0xE0, 0x64, 0x01,
+0x70, 0x48, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23,
+0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20, 0xB1, 0xDD, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xA8, 0x8B,
+0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x0A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4,
+0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x22, 0xB1, 0xDD, 0x90, 0x93, 0x96, 0xE0,
+0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x92, 0x68, 0xE0, 0x04, 0xF0,
+0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0xF1, 0x4B, 0xEF, 0x60, 0x4E, 0x90, 0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4,
+0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75,
+0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x90, 0x94, 0x0D, 0x12, 0x43,
+0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x2C, 0x90, 0x92, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A,
+0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D,
+0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x7F, 0xAF, 0x7E, 0x01, 0x90,
+0x94, 0x33, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x94, 0x33, 0xE0,
+0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C, 0xC3, 0x90, 0x94, 0x36, 0xE0, 0x94,
+0xE8, 0x90, 0x94, 0x35, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0,
+0x7F, 0x00, 0x22, 0x90, 0x94, 0x35, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E,
+0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0xE4, 0x90, 0x93, 0xAF, 0xF0, 0x90, 0x00,
+0x80, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x80, 0x81, 0x1B, 0x8F, 0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3,
+0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x01, 0x94, 0xE0, 0x44, 0x01,
+0xF0, 0x22, 0x90, 0x94, 0x38, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x3A, 0xF0, 0x90, 0x94,
+0x38, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00,
+0x30, 0xE3, 0x02, 0x7F, 0x01, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF,
+0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xC4, 0x74, 0xF2, 0xF0, 0x74,
+0x57, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, 0x22, 0xE0, 0x54, 0x90, 0x60,
+0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE1, 0xE4, 0x7F,
+0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0,
+0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10,
+0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7,
+0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0xFD,
+0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0x03, 0x4F,
+0x90, 0x93, 0x68, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90,
+0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x69, 0xF0, 0x90, 0x93, 0x68, 0xE0, 0xFD, 0xA3,
+0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x16, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0x90,
+0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x94, 0x1B, 0xF0, 0xD1, 0x95, 0xBF,
+0x01, 0x02, 0x11, 0xF7, 0x90, 0x94, 0x1B, 0xE0, 0x90, 0x05, 0x22, 0xF0, 0x80, 0x02, 0x11, 0xF7,
+0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAE, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x2A,
+0x90, 0x94, 0x19, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, 0x90, 0x94, 0x16, 0xE0, 0xFF, 0xA3,
+0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x25, 0xF0, 0xEF, 0x60, 0x10, 0x74, 0x21, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, 0x0E, 0x74, 0x21, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x06, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, 0x11, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, 0x16, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xEB, 0xF0, 0x90, 0x94, 0x25, 0xE0, 0xFF, 0x74, 0x23, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x04,
+0xF0, 0x22, 0xE4, 0x90, 0x93, 0x64, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20,
+0xE0, 0x02, 0xC1, 0x45, 0x12, 0x9C, 0x54, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x41,
+0xB9, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A,
+0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, 0xE0, 0x90, 0x93, 0x64, 0xF0,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x64, 0xE0, 0x24, 0x03, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4,
+0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, 0x80, 0x03, 0xE0, 0x04, 0xF0,
+0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x16, 0xE0, 0xFF,
+0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E,
+0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4,
+0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC4, 0x80, 0x51, 0x90, 0x93, 0x15,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD,
+0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0,
+0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A,
+0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0x60,
+0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93,
+0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0xA1, 0xB7, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x02, 0x60,
+0x02, 0x61, 0x98, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0xD1,
+0x95, 0xBF, 0x01, 0x03, 0x12, 0x99, 0x48, 0xE4, 0xFF, 0xD1, 0x67, 0x90, 0x93, 0x1A, 0xE0, 0x30,
+0xE0, 0x1F, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54,
+0x0F, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x64, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xEF,
+0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, 0x90, 0x93, 0x64, 0xE0, 0x2F,
+0xFF, 0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x65, 0xE0, 0x2F, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0xE4,
+0xFF, 0xD1, 0xDC, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0,
+0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0,
+0x14, 0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD,
+0xAF, 0x64, 0x12, 0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30,
+0xE0, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0xC1, 0x41, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x03, 0x60, 0x02,
+0x81, 0xEC, 0x7F, 0x01, 0xD1, 0x67, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30,
+0xE0, 0x03, 0x12, 0x95, 0xCC, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0,
+0x02, 0x81, 0x48, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xD3, 0x9F, 0x40, 0x4D,
+0xE0, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFF, 0x24,
+0x03, 0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74,
+0x80, 0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x67, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x67, 0x74,
+0x03, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x67, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x80, 0x24, 0xE4, 0xF5, 0x48,
+0x90, 0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77,
+0x90, 0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x04,
+0xF0, 0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xFF,
+0x90, 0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x7F, 0x01,
+0xD1, 0xDC, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x2F, 0x90, 0x93, 0x15,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93,
+0x4D, 0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, 0x0C, 0x80,
+0x08, 0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4D, 0xE0,
+0x60, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0,
+0x03, 0x12, 0x51, 0x48, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13,
+0x13, 0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0x7F, 0x01, 0xC1, 0x43, 0x90, 0x93, 0x27, 0xE0,
+0x64, 0x04, 0x60, 0x02, 0xA1, 0xBD, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0,
+0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x17, 0xE0, 0xFF,
+0x90, 0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13,
+0x54, 0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E,
+0x90, 0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4,
+0xFD, 0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x11, 0xC4, 0x80, 0x51, 0x90, 0x93, 0x15,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD,
+0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0,
+0x27, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A,
+0xF0, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0x60,
+0x07, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93,
+0x18, 0xE0, 0x20, 0xE0, 0x02, 0xC1, 0x45, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x27,
+0xE0, 0x64, 0x05, 0x60, 0x02, 0xC1, 0x45, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F,
+0x30, 0xE0, 0x08, 0xD1, 0x95, 0xBF, 0x01, 0x03, 0x12, 0x99, 0x48, 0xE4, 0xFF, 0xD1, 0x67, 0xD1,
+0xDC, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0,
+0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F,
+0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, 0xFD,
+0xAF, 0x64, 0x12, 0x4A, 0x69, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64, 0x12,
+0x4A, 0x69, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05, 0x90,
+0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x04, 0xE4, 0xFF, 0xD1, 0x46, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x17, 0xEF,
+0x7B, 0x01, 0xB4, 0x01, 0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79, 0x07, 0x7F,
+0x80, 0x7E, 0x08, 0x12, 0x95, 0x86, 0x22, 0xEF, 0xB4, 0x03, 0x12, 0x90, 0x93, 0x18, 0xE0, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, 0x17, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x19,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xEF, 0x90, 0x06, 0xCC, 0xB4, 0x01, 0x03, 0xE4, 0xF0,
+0x22, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0x90, 0x94, 0x42, 0xF0,
+0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07,
+0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, 0x94, 0x43, 0xE0, 0x94, 0xE8, 0x90, 0x94,
+0x42, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09,
+0x90, 0x94, 0x42, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0x90, 0x94, 0x26, 0xEF,
+0xF0, 0x12, 0x9D, 0xFD, 0x90, 0x93, 0x18, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08,
+0x90, 0x94, 0x26, 0xE0, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x94, 0x27, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x03, 0x10, 0x90, 0x94, 0x26, 0xE0, 0xB4, 0x01, 0x10, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13,
+0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x16, 0x80, 0x0A, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13,
+0x30, 0xE0, 0x0A, 0x90, 0x94, 0x27, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A,
+0x94, 0x79, 0x27, 0x12, 0x95, 0x82, 0x90, 0x94, 0x26, 0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0x90,
+0x93, 0x15, 0xE0, 0x30, 0xE0, 0x72, 0x7F, 0x01, 0xD1, 0x67, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13,
+0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, 0x12, 0x95, 0xCC, 0x7F, 0x01, 0xD1, 0xDC, 0x90, 0x93, 0x15,
+0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x05, 0x12, 0x95, 0xCC, 0x80, 0x29, 0x90, 0x93,
+0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90,
+0x93, 0x4D, 0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x7D, 0x01, 0x7F, 0x0C, 0x12, 0x4A, 0x69, 0x90, 0x93, 0x4D, 0xE0, 0x90, 0x05, 0x22, 0x60, 0x05,
+0x74, 0x6F, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x04, 0x7F, 0x01, 0xD1, 0x46, 0x22, 0x12, 0x57, 0xF2, 0xBF, 0x01, 0x0F, 0x90,
+0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x2A, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90,
+0x01, 0x63, 0xE4, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7F, 0x70,
+0x7E, 0x08, 0x12, 0x34, 0x30, 0x7F, 0x01, 0xC1, 0x46, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x36, 0xF0,
+0x70, 0x02, 0xF1, 0xCF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF,
+0x30, 0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B,
+0x90, 0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5,
+0x2B, 0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43,
+0x32, 0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0,
+0x22, 0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02,
+0x22, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xB5, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30,
+0xE7, 0x05, 0x7E, 0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0,
+0x30, 0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0,
+0x22, 0xE4, 0x90, 0x93, 0x79, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0, 0x7F, 0x00, 0x30, 0xE4,
+0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x7A, 0xE0, 0x94, 0x88, 0x90,
+0x93, 0x79, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90,
+0x93, 0x79, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09,
+0xD3, 0x90, 0x93, 0x7A, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90,
+0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01,
+0x9C, 0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0,
+0x90, 0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4,
+0xF0, 0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54,
+0x0C, 0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90,
+0x93, 0x5E, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01,
+0x60, 0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, 0x5E, 0x74, 0x01, 0xF0, 0xA3,
+0x74, 0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5E, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E,
+0x83, 0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0xA0, 0xF0, 0x22, 0x90, 0x93, 0xA0,
+0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30,
+0xE0, 0x03, 0x12, 0x5F, 0xB9, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0,
+0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0,
+0x06, 0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x86, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0x90, 0x01, 0x34,
+0xE0, 0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5,
+0x2E, 0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x80, 0x90, 0x01,
+0x34, 0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, 0xD4, 0x0D, 0x85, 0xD5, 0x0E,
+0x85, 0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, 0x0B, 0x75, 0x20, 0x00, 0x75,
+0x21, 0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0xA1, 0x12, 0x55, 0xDD,
+0x90, 0x93, 0xA2, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01,
+0x6E, 0x70, 0x02, 0x61, 0x2B, 0x90, 0x93, 0xA2, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x02, 0x61, 0x2B, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0xA3, 0xE0, 0x54, 0x3F,
+0xF5, 0x4E, 0x90, 0x93, 0xA5, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5,
+0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94,
+0x04, 0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43,
+0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93,
+0xA5, 0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84,
+0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF,
+0xF0, 0x90, 0x93, 0xA2, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0xA5, 0xE0,
+0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83,
+0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA4, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54,
+0x01, 0x30, 0xE0, 0x67, 0xAF, 0x4D, 0x12, 0x7A, 0x9C, 0x80, 0x60, 0x90, 0x93, 0xA2, 0xE0, 0xFF,
+0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0xA5, 0xE0, 0x54, 0x1F, 0xFF, 0xFD,
+0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0,
+0x12, 0x42, 0x87, 0x90, 0x93, 0xA4, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x0F, 0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0x12, 0x7A, 0x38, 0x80, 0x1B,
+0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01,
+0x0A, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD,
+0x50, 0x02, 0x80, 0x46, 0x90, 0x93, 0x5A, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90,
+0x01, 0x3C, 0x74, 0x04, 0xF0, 0x12, 0x51, 0xBB, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90,
+0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90,
+0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x80,
+0x09, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x17, 0x90, 0x94, 0x45, 0xE0, 0x04, 0xF0,
+0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x81, 0x22, 0x90, 0x01, 0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10,
+0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5, 0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F,
+0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75, 0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04,
+0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04, 0x7E, 0xE0, 0x55, 0x51, 0xF5, 0x13, 0x65, 0x12,
+0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, 0x08, 0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x15, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF,
+0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, 0x75, 0x22, 0x15, 0x75, 0x23, 0x08, 0x7B, 0x01,
+0x7A, 0x93, 0x79, 0x98, 0x12, 0x55, 0xDD, 0x90, 0x93, 0x98, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0xA9, 0xE5, 0x12, 0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD,
+0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F, 0x12, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5,
+0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30,
+0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43, 0x14, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26,
+0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20,
+0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x54, 0x30, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB,
+0xF0, 0x12, 0x54, 0x63, 0x80, 0xFE, 0xE5, 0x2C, 0x30, 0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40,
+0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0xA1, 0x30, 0x90, 0x93, 0xB4, 0x74, 0x01, 0xF0, 0x90, 0x01,
+0x36, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x02,
+0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, 0x45, 0x09, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0,
+0x02, 0xA1, 0x26, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07,
+0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70,
+0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0xFF, 0xE0, 0xFE,
+0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x35, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0,
+0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x60, 0x7E, 0x08,
+0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F,
+0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x2D,
+0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, 0x54, 0x0F, 0xFE,
+0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x5F, 0x3F, 0xD1, 0xCB, 0x90, 0x93, 0xB4, 0xE4, 0xF0,
+0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x40, 0x12, 0x9E,
+0x56, 0x31, 0x17, 0x90, 0x93, 0x5D, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16,
+0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93,
+0x58, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90,
+0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x43, 0x90,
+0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x73, 0x90, 0x93, 0x5D, 0xE0, 0x60, 0x34, 0x90, 0x93,
+0x58, 0xE0, 0xFF, 0x90, 0x93, 0x41, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x05,
+0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01,
+0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x41, 0xE0,
+0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, 0x64,
+0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B,
+0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, 0x90,
+0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5B, 0xE4, 0xF0, 0x53,
+0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2E, 0x30, 0xE5, 0x25,
+0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65, 0x60, 0x16, 0x90,
+0x93, 0x5A, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08, 0x12, 0x51, 0x48,
+0x80, 0x03, 0x12, 0x50, 0x77, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0,
+0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, 0x07,
+0x70, 0x03, 0x12, 0x52, 0x17, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0,
+0x12, 0x4F, 0xFA, 0x74, 0x86, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07,
+0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0,
+0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5E, 0xE0, 0x54, 0xF0, 0x44,
+0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15, 0x90, 0x94, 0x13,
+0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5E, 0x02, 0x55, 0x2C, 0x90, 0x94, 0x38, 0xE0, 0x30,
+0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x37, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A,
+0x0B, 0x90, 0x94, 0x3A, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x37, 0xF0, 0x90, 0x94, 0x3A, 0xE0,
+0xFF, 0x90, 0x94, 0x39, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4, 0x90, 0x94, 0x3A,
+0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05, 0xC0,
+0x06, 0xC0, 0x07, 0x7D, 0x02, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x67, 0xFF, 0xA3, 0xF0, 0x53,
+0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90, 0x00,
+0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06, 0x90,
+0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20, 0xF0,
+0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7, 0x06,
+0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74, 0x01,
+0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30, 0xE2,
+0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56, 0x74,
+0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05,
+0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0,
+0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04,
+0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xA9, 0xF0, 0x74,
+0x67, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0,
+0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37,
+0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10,
+0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x79,
+0xE5, 0x34, 0x30, 0xE2, 0x3A, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0xE5, 0x65, 0x60, 0x30, 0x90,
+0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90,
+0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x56, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5,
+0x34, 0x30, 0xE3, 0x3A, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE5, 0x65, 0x60, 0x30, 0x90, 0x06,
+0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x46, 0xE0, 0xF5, 0x49, 0xE4, 0xFB,
+0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06,
+0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x53, 0xE4, 0xF0, 0x12, 0x52, 0x17, 0xE5, 0x34,
+0x30, 0xE4, 0x3D, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0, 0x24,
+0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x07, 0x78, 0x74, 0x01,
+0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12,
+0x34, 0x30, 0x80, 0x03, 0x12, 0x59, 0xA2, 0x90, 0x93, 0x36, 0xE0, 0x60, 0x03, 0x12, 0x5F, 0xCF,
+0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18,
+0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5,
+0x64, 0xF0, 0x12, 0x51, 0xEC, 0x12, 0x52, 0x17, 0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D,
+0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93,
+0xB0, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD,
+0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36,
+0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01,
+0x3E, 0x74, 0x08, 0xF0, 0x51, 0x43, 0xE5, 0x36, 0x30, 0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10,
+0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x75, 0x90, 0x01, 0x3E, 0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0,
+0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04,
+0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE6, 0x11, 0x74, 0x40, 0xF0,
+0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x07, 0x90, 0x07, 0x80, 0xE0, 0xFF, 0x51, 0x61, 0x90, 0x07,
+0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x95,
+0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D,
+0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0, 0x7F, 0x01, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x95,
+0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF, 0x12, 0x5E, 0x46, 0xE5, 0x36, 0x30, 0xE5, 0x06,
+0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40,
+0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1,
+0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1E, 0x90,
+0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, 0x24, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x05, 0x73, 0xF0,
+0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x5F, 0x3F, 0x12, 0x66, 0xCB, 0x74, 0xA9, 0x04,
+0x90, 0x01, 0xC4, 0xF0, 0x74, 0x67, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04,
+0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0,
+0xD0, 0xE0, 0x32, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90,
+0x93, 0x1C, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0,
+0x22, 0xAD, 0x07, 0x90, 0x93, 0x64, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10,
+0xF0, 0x90, 0x93, 0x66, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x66, 0x90, 0x94, 0x13, 0x12,
+0x43, 0xC8, 0x7A, 0x93, 0x79, 0x64, 0x02, 0x55, 0x2C, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0,
+0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04,
+0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, 0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x02,
+0xA1, 0x59, 0x90, 0x93, 0x95, 0xE0, 0x70, 0x16, 0x90, 0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0,
+0x90, 0x00, 0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x95, 0x74, 0x01, 0xF0, 0x90, 0xFD,
+0x60, 0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x02, 0xF1, 0x32, 0x90, 0xFD, 0x60, 0xE0, 0x64,
+0x0E, 0x60, 0x02, 0x61, 0x89, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20,
+0xE0, 0x02, 0x61, 0x89, 0x90, 0xFD, 0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54,
+0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90,
+0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01,
+0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90, 0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19,
+0x90, 0x07, 0x78, 0x12, 0x58, 0x8A, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49,
+0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13,
+0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12, 0x5E, 0x46, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3,
+0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13,
+0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x12, 0x58, 0x8A, 0x80, 0x0C, 0xE0, 0x44, 0x10,
+0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A,
+0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0xB1, 0xED, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15,
+0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6B, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54,
+0x3F, 0x04, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x6A,
+0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20, 0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13,
+0x54, 0x3F, 0xFF, 0x90, 0x93, 0x6B, 0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x6A, 0xF0, 0xD3, 0x94,
+0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0, 0x90, 0x93, 0x6A, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF,
+0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x6A, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F,
+0x90, 0x93, 0x6C, 0xF0, 0x90, 0x00, 0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10,
+0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00, 0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x07, 0x90,
+0xFD, 0x62, 0xE0, 0xFF, 0xB1, 0x74, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x22, 0x02, 0xB1, 0x9C, 0x90,
+0xFD, 0x60, 0xE0, 0x64, 0x23, 0x60, 0x02, 0x81, 0xC0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C,
+0x30, 0xE0, 0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13,
+0x13, 0x54, 0x03, 0x20, 0xE0, 0x62, 0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90, 0x93, 0x2D,
+0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x2C,
+0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F, 0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x7F, 0x70, 0x7E, 0x08,
+0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E, 0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0, 0x04, 0xF0,
+0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44, 0x20, 0xF0,
+0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, 0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0x12, 0x9B, 0x06,
+0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, 0x02, 0xB1, 0xC4, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25, 0x13,
+0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, 0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x93, 0x24,
+0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, 0x12, 0x9B, 0xA2, 0x90,
+0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, 0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0xD1, 0x18, 0x90, 0x93, 0x36,
+0xE0, 0x60, 0x4F, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x31, 0x70, 0x47, 0x90, 0xFD, 0x62, 0xE0, 0x30,
+0xE0, 0x36, 0x90, 0x01, 0x63, 0xE4, 0xF0, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0xE4, 0xFF, 0x12, 0x5E, 0x46,
+0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x80, 0x0A, 0x90, 0xFD, 0x62, 0xE0, 0x30, 0xE1, 0x03, 0x12,
+0x5F, 0xCF, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0,
+0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0,
+0xF0, 0xD0, 0xE0, 0x32, 0xAD, 0x07, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54,
+0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6F, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F, 0x90,
+0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0x90, 0x00, 0x75, 0xE0,
+0x44, 0x01, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, 0x03, 0xF0,
+0x7F, 0x02, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, 0x75, 0xE0,
+0x54, 0xFE, 0xF0, 0x22, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44,
+0x10, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F,
+0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0xAE, 0x07, 0x90,
+0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6F,
+0xEE, 0xF0, 0xA3, 0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F, 0x90, 0x94, 0x13, 0x12, 0x43,
+0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0xAC, 0x07, 0x90, 0x93, 0xDB, 0xE0, 0x44, 0x0F,
+0xF0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0xDD, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63,
+0xE0, 0x90, 0x93, 0xDE, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, 0xFD, 0x64,
+0xE0, 0x90, 0x93, 0xE0, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x90, 0xFD, 0x66,
+0xE0, 0x90, 0x93, 0xE2, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE3, 0xF0, 0x80, 0x11, 0x90,
+0x93, 0xDE, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0x7B, 0x01, 0x7A, 0x93, 0x79, 0xDD, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xDB,
+0x02, 0x55, 0x2C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x84,
+0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x85, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x87, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x88, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD,
+0x58, 0xE0, 0x20, 0xE0, 0x14, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x84, 0x7F, 0x30, 0xD1, 0xE8, 0x90,
+0x93, 0x84, 0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x84, 0xE0, 0xFB, 0xE4, 0xFD,
+0xFF, 0xD1, 0x18, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0x8B, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD,
+0x50, 0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8B, 0x12, 0x43, 0xA8, 0x8E,
+0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD,
+0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90,
+0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90,
+0x93, 0x71, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90,
+0x93, 0x73, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6D, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F,
+0x44, 0x50, 0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90,
+0x93, 0x74, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x75, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79,
+0x6F, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6D, 0x02, 0x55, 0x2C, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x79, 0xF0, 0x90,
+0x93, 0x79, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x70, 0xE9, 0x90, 0x94, 0x46, 0xE0, 0xFF, 0x74, 0x01,
+0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF,
+0x5D, 0x70, 0x03, 0x02, 0x70, 0xE2, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0,
+0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7A, 0xF0, 0x75, 0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22,
+0x7A, 0x75, 0x23, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7B, 0x12, 0x55, 0xDD, 0x90, 0x93, 0x7B,
+0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x94, 0x46, 0x30, 0xE0, 0x59, 0xE0, 0x75,
+0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x46,
+0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90,
+0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E,
+0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90,
+0x93, 0x7F, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C,
+0xE0, 0x90, 0x93, 0x80, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43,
+0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2,
+0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x75, 0xF0, 0x04, 0x90,
+0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01,
+0x7A, 0x93, 0x79, 0x7C, 0x11, 0xEE, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x90, 0x94, 0x46, 0xE0, 0xFE,
+0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x79,
+0xF0, 0x90, 0x94, 0x46, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8,
+0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x94, 0x46, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x02,
+0x6F, 0xAF, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93,
+0x81, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x71, 0x98, 0x01, 0x71, 0x8F, 0x02, 0x71, 0xE0,
+0x03, 0x71, 0xE9, 0x05, 0x71, 0xF2, 0x06, 0x73, 0x46, 0x07, 0x71, 0xFA, 0x0B, 0x72, 0x03, 0x10,
+0x72, 0x0B, 0x11, 0x72, 0x13, 0x12, 0x72, 0x1B, 0x16, 0x72, 0x25, 0x17, 0x72, 0x2F, 0x18, 0x72,
+0x39, 0x19, 0x73, 0x09, 0x1B, 0x73, 0x12, 0x1C, 0x72, 0x42, 0x1D, 0x72, 0x4C, 0x1E, 0x72, 0x57,
+0x21, 0x72, 0x60, 0x22, 0x72, 0x69, 0x23, 0x72, 0x72, 0x24, 0x72, 0x7B, 0x25, 0x72, 0x84, 0x26,
+0x72, 0x8D, 0x27, 0x72, 0x96, 0x28, 0x72, 0x9F, 0x29, 0x71, 0xA1, 0x2D, 0x71, 0xAA, 0x2E, 0x72,
+0xA8, 0x2F, 0x73, 0x1B, 0x30, 0x72, 0xB9, 0x32, 0x72, 0xB0, 0x33, 0x71, 0xBC, 0x34, 0x72, 0xC2,
+0x36, 0x72, 0xCB, 0x37, 0x72, 0xD4, 0x38, 0x72, 0xDC, 0x3A, 0x71, 0xB3, 0x3B, 0x72, 0xE5, 0x3E,
+0x72, 0xEE, 0x3F, 0x72, 0xF7, 0x41, 0x73, 0x24, 0x46, 0x71, 0xC5, 0x47, 0x71, 0xD7, 0x48, 0x71,
+0xCE, 0x49, 0x73, 0x2D, 0x4B, 0x73, 0x36, 0x51, 0x73, 0x00, 0x53, 0x00, 0x00, 0x73, 0x3F, 0x90,
+0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8B, 0xA0, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8B,
+0xA6, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8C, 0x87, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8,
+0x02, 0x8C, 0xCF, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x08, 0x90, 0x93, 0x81, 0x12,
+0x43, 0xA8, 0x02, 0x8D, 0x3A, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8D, 0x40, 0x90, 0x93,
+0x81, 0x12, 0x43, 0xA8, 0x02, 0x8E, 0x00, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x29,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8E, 0x11, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8A, 0x5A, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x81, 0x17, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8,
+0x02, 0x8A, 0xD0, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x61, 0x47, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x61, 0x4D, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x61, 0x53, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90,
+0x93, 0x81, 0x12, 0x43, 0xA8, 0x7F, 0x03, 0x80, 0x1B, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8F, 0x43, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0xE4, 0xFF, 0x80, 0x08, 0x90, 0x93, 0x81, 0x12,
+0x43, 0xA8, 0x7F, 0x04, 0x02, 0x8E, 0x61, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x7B,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x94, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8F, 0xAD, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xC6, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x02, 0x8F, 0xDF, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0xF8, 0x90, 0x93, 0x81,
+0x12, 0x43, 0xA8, 0x02, 0x90, 0x11, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x2A, 0x90,
+0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x43, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x81, 0x08,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x6B, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x90, 0x84, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x9D, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x02, 0x92, 0x50, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x61, 0xE6, 0x90, 0x93, 0x81, 0x12,
+0x43, 0xA8, 0x02, 0x92, 0x62, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xBC, 0x90, 0x93,
+0x81, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xD5, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x10,
+0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x5F, 0xE9, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02,
+0x8A, 0x9F, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0x86, 0x90, 0x93, 0x81, 0x12, 0x43,
+0xA8, 0x02, 0x9A, 0xAF, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x6E, 0x83, 0x90, 0x93, 0x81,
+0x12, 0x43, 0xA8, 0x02, 0x98, 0x31, 0x90, 0x93, 0x81, 0x12, 0x43, 0xA8, 0x02, 0x8E, 0x59, 0x90,
+0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F, 0x0B, 0x80, 0x10, 0x7D, 0x01, 0x7F,
+0x0C, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0D, 0x80, 0x04, 0x7D, 0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF,
+0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x3B, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0,
+0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54, 0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90,
+0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, 0x50, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3,
+0x9D, 0x50, 0x1E, 0x90, 0x94, 0x3B, 0x12, 0x43, 0xA8, 0x8E, 0x82, 0x75, 0x83, 0x00, 0x12, 0x1F,
+0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80,
+0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5,
+0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90,
+0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, 0x08, 0x90, 0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F,
+0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12,
+0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x23, 0x71, 0x5D, 0xEF, 0xB4,
+0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9B, 0x06, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9,
+0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0x61, 0x5D, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x1F,
+0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0x90, 0x93, 0x84, 0xEF, 0xF0,
+0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03,
+0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x00, 0x04, 0x12,
+0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x84,
+0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC, 0x83, 0x90,
+0x93, 0x8B, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74,
+0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xA8,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x8D, 0x12, 0x43, 0xA8, 0xEF,
+0x12, 0x42, 0x53, 0x90, 0x93, 0x86, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF,
+0x90, 0x93, 0x8D, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90, 0x93, 0x86,
+0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8B, 0xE0, 0xFC, 0xA3,
+0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C, 0x83, 0xA3,
+0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x24, 0xC2, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x85, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90,
+0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B, 0x12, 0x43,
+0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C,
+0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34,
+0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24, 0x02, 0xF9,
+0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09, 0xE5, 0x57,
+0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5, 0x57, 0x75,
+0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5, 0x60, 0x89,
+0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12, 0x43, 0xD1,
+0x75, 0xA5, 0x00, 0x75, 0xBA, 0x01, 0x75, 0xCF, 0x02, 0x75, 0xE4, 0x03, 0x76, 0x0D, 0x04, 0x76,
+0x22, 0x05, 0x76, 0x37, 0x06, 0x76, 0x5D, 0x0C, 0x76, 0x8A, 0x0D, 0x76, 0xB7, 0x0E, 0x76, 0xE4,
+0x0F, 0x00, 0x00, 0x77, 0x18, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90,
+0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80, 0x27, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3,
+0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, 0xE1, 0x18, 0xE5, 0x57, 0x25,
+0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF5,
+0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74,
+0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02,
+0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xE1, 0x18, 0x90, 0x04, 0x47,
+0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x46, 0xE0, 0xAB, 0x5A,
+0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x45, 0xE0, 0x85, 0x59,
+0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0xE1, 0x0F, 0x90, 0x04, 0x4B, 0xE0, 0xAB, 0x5A,
+0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9,
+0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58,
+0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9,
+0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00,
+0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90,
+0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42,
+0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42,
+0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x50, 0xE0,
+0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xC0, 0x03,
+0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x12, 0x1E,
+0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5, 0x5C, 0x24,
+0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF,
+0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0, 0x01, 0xD0,
+0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xC0, 0x83, 0xC0, 0x82,
+0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83,
+0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E,
+0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0xE5, 0x57,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E,
+0x60, 0x4C, 0x90, 0x93, 0x90, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x00,
+0x50, 0x03, 0x02, 0x78, 0x5E, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33,
+0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x0A, 0x90, 0x93, 0x90, 0xE0,
+0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x90, 0xE0, 0x14, 0xF0, 0x80, 0xBA, 0xE5, 0x57,
+0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E,
+0x60, 0x47, 0x90, 0x93, 0x90, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x00,
+0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83,
+0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x90, 0xE0, 0xA3, 0xF0, 0x80,
+0x0D, 0x90, 0x93, 0x90, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0xE5, 0x57,
+0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E,
+0x60, 0x46, 0xE4, 0x90, 0x93, 0x90, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x40,
+0x02, 0x21, 0x17, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33,
+0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, 0x93, 0x90, 0xE0, 0x80, 0x63,
+0x90, 0x93, 0x90, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82,
+0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x90,
+0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8,
+0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0,
+0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E,
+0x60, 0x08, 0x90, 0x93, 0x90, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, 0x93, 0x90, 0xE0, 0x04, 0xF0,
+0x80, 0xBF, 0xE4, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x91, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0xE5,
+0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFE, 0x75, 0xF0,
+0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, 0x20,
+0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, 0x9F,
+0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0,
+0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x92, 0xE0, 0xA3, 0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, 0x27,
+0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x91, 0xE0, 0xFE,
+0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x93, 0xEE, 0xF0, 0x80, 0x17, 0x90, 0x93, 0x92, 0xE0,
+0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x91, 0xE0, 0x90,
+0x93, 0x93, 0xF0, 0x90, 0x93, 0x93, 0xE0, 0xFD, 0xAF, 0x57, 0x31, 0xEF, 0x90, 0x93, 0x93, 0xE0,
+0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93,
+0x91, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0, 0x22, 0xEF,
+0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x03,
+0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0, 0x22, 0xD3,
+0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E, 0x74, 0x84, 0x2F, 0xF5,
+0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x29, 0x74, 0x27, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCE, 0xEF, 0xF0, 0x24, 0x27, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xCE, 0x7D,
+0x02, 0x71, 0xB4, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D, 0x53, 0xE5, 0x53, 0x54, 0x1F,
+0x90, 0x93, 0x60, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0x90,
+0x93, 0x5E, 0xF0, 0x90, 0x93, 0x61, 0x74, 0x01, 0xF0, 0xEB, 0xC3, 0x94, 0x01, 0x40, 0x02, 0x80,
+0x3B, 0x90, 0x93, 0x5E, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3, 0xE0, 0x90, 0x41, 0xA4, 0x93,
+0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5,
+0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x21, 0xEF, 0x90, 0x93, 0x5F, 0xE0, 0xFF, 0x74, 0x01,
+0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0xAD, 0x07, 0x75, 0xF0,
+0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x74, 0x28, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, 0x93, 0x62, 0xF0, 0x74, 0xE8,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, 0x74, 0xE8, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEF, 0xF0, 0x74,
+0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74,
+0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0xC6, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, 0x74, 0xC6, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x63, 0xE0, 0xFF, 0x90, 0x93, 0x62,
+0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C,
+0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25,
+0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4,
+0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x62, 0xE0, 0xFD,
+0x31, 0xEF, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x12, 0x90, 0x04, 0x30, 0xE0,
+0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, 0xCF, 0x04, 0xF0, 0x90, 0x93,
+0x62, 0xE0, 0xFF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x1C, 0x12, 0x43,
+0xC8, 0x90, 0x94, 0x1F, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F, 0xC4, 0x54,
+0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x94, 0x13,
+0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x1F, 0x12, 0x55, 0x2C, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34,
+0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x89, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5,
+0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x89,
+0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8C, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12,
+0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8E, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43,
+0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8F, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34,
+0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x90, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90,
+0x93, 0x92, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, 0x93, 0x8F, 0xE0, 0x90, 0x93, 0x8C, 0xF0,
+0x90, 0x93, 0x89, 0xF0, 0xED, 0x70, 0x02, 0xA1, 0x6B, 0x90, 0x93, 0x8D, 0xED, 0xF0, 0x90, 0x93,
+0x89, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8C, 0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D,
+0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0x70, 0x02, 0xA1, 0x6B, 0x90, 0x93, 0x8C, 0xE0, 0xFF,
+0xD3, 0x94, 0x00, 0x50, 0x02, 0xA1, 0x6B, 0xE4, 0x90, 0x93, 0x8B, 0xF0, 0xEF, 0x14, 0x90, 0x93,
+0x8A, 0xF0, 0x90, 0x93, 0x8E, 0xE0, 0xFD, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F,
+0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08,
+0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x92, 0xE0, 0x5E, 0xFE,
+0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37,
+0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9,
+0xFF, 0x90, 0x93, 0x90, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x8A,
+0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFF,
+0x90, 0x93, 0x8B, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, 0x8A, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90,
+0x93, 0x8D, 0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xE0, 0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93, 0x8A, 0xE0,
+0xB5, 0x05, 0x08, 0x90, 0x93, 0x8E, 0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFF,
+0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01,
+0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01,
+0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24,
+0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90,
+0x93, 0x89, 0xE0, 0xFD, 0x31, 0xEF, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x22, 0xEF, 0xC3, 0x94, 0x20,
+0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, 0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24,
+0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13,
+0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4,
+0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x4D, 0xF0, 0x22, 0xAD, 0x07, 0xED, 0xC3,
+0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54,
+0x7F, 0x90, 0x93, 0x89, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xF9, 0x54, 0x1F, 0xA3,
+0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x8C,
+0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3,
+0xE0, 0x90, 0x93, 0x8D, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8F, 0xCB, 0xF0, 0xA3, 0xEB,
+0xF0, 0x90, 0x93, 0x8A, 0xE0, 0xFE, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5,
+0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xE1, 0x59,
+0x90, 0x93, 0x8A, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF,
+0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8B, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8B, 0xE0,
+0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xE1, 0x93, 0xEE, 0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0,
+0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+0xF9, 0xFF, 0x90, 0x93, 0x8D, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93,
+0x8B, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80,
+0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3,
+0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8B, 0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93, 0x8E, 0xE0,
+0x30, 0xE7, 0x06, 0x90, 0x93, 0x8B, 0x74, 0x17, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x64, 0x13,
+0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8D, 0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x8B,
+0x74, 0x18, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x89, 0xF0, 0x80,
+0x42, 0x90, 0x93, 0x8B, 0xE0, 0x04, 0xF0, 0xC1, 0xB7, 0x90, 0x93, 0x8C, 0xE0, 0xFC, 0x90, 0x93,
+0x8A, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83,
+0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10,
+0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x8A, 0xE0, 0x44, 0x40, 0x90, 0x93, 0x89, 0xF0, 0x80, 0x03,
+0xAF, 0x01, 0x22, 0x90, 0x93, 0x8A, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5,
+0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13,
+0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83,
+0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, 0x8A, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90,
+0x93, 0x8C, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0,
+0x90, 0x93, 0x8A, 0xEF, 0xF0, 0x90, 0x93, 0x89, 0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24,
+0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF,
+0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF,
+0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82,
+0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x89, 0xE0, 0x44,
+0x80, 0xFD, 0x12, 0x79, 0xEF, 0x90, 0x93, 0x89, 0xE0, 0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93,
+0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x03, 0x02, 0x88, 0x5F, 0xEF,
+0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, 0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F,
+0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90,
+0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, 0x03, 0x02, 0x88, 0x56, 0xEF, 0x25, 0xE0,
+0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00,
+0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x88, 0x56, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x20, 0x40, 0x09,
+0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x88, 0x5F, 0x90, 0x93, 0x79, 0xE0, 0x75, 0xF0, 0x0A,
+0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0,
+0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0,
+0x90, 0x93, 0x7E, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4,
+0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x80, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0,
+0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x7A, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x79,
+0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x7A,
+0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x75,
+0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x83, 0xF0, 0x74, 0x67, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x02, 0x61, 0xF4, 0x90,
+0x93, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7B, 0xE0, 0x9F, 0x40, 0x13, 0x90, 0x93, 0x83, 0xE0, 0x90,
+0x93, 0x7B, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, 0x7A, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93,
+0x7B, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x85, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, 0x06, 0xEF, 0x90, 0x40, 0xE0, 0x80, 0x07,
+0x90, 0x93, 0x7B, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, 0x93, 0x82, 0xF0, 0x90, 0x93, 0x82, 0xE0,
+0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57,
+0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7C, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12,
+0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC,
+0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA,
+0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B,
+0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93,
+0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12,
+0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42,
+0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12,
+0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9,
+0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE,
+0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F,
+0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7E, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3,
+0x90, 0x93, 0x7D, 0xE0, 0x9F, 0x90, 0x93, 0x7C, 0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0,
+0x90, 0x93, 0x7C, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, 0x90, 0x93, 0x7C, 0xF0, 0xA3, 0xF0, 0x90,
+0x93, 0x7C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5,
+0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0x25,
+0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93,
+0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x61, 0xC3, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24,
+0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x79,
+0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x93,
+0x84, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0xC6,
+0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x79, 0xE0,
+0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF,
+0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x60, 0x02, 0xE1, 0x04, 0x12, 0x7D,
+0xFC, 0xE1, 0x04, 0x90, 0x93, 0x7A, 0xE0, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41,
+0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0xC3, 0x90, 0x93, 0x7D, 0xE0, 0x9F, 0x90,
+0x93, 0x7C, 0xE0, 0x9E, 0x40, 0x02, 0xE1, 0x04, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x7D, 0x01, 0x12,
+0x7B, 0xF1, 0xE1, 0x04, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91,
+0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0xA1, 0xD2, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4,
+0x03, 0x0B, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02,
+0x0B, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x11, 0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0,
+0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE,
+0x70, 0x11, 0x90, 0x93, 0x7B, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01,
+0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x24, 0xC4, 0xF5,
+0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x88,
+0xF0, 0x74, 0x67, 0x2F, 0xA1, 0x7D, 0x90, 0x8E, 0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0xA1, 0x72,
+0x90, 0x93, 0x79, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A,
+0x60, 0x5B, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xEE, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8,
+0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33,
+0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64,
+0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, 0x79, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7B, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x79,
+0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40,
+0x08, 0x90, 0x93, 0x88, 0x74, 0x05, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x88,
+0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24,
+0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34,
+0x8F, 0x80, 0x2F, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0,
+0x80, 0x14, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7B, 0xE0, 0xFE, 0x90, 0x93, 0x79, 0xE0, 0xFF,
+0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFE,
+0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF,
+0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x11, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0x74,
+0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFD,
+0xE1, 0x01, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xE1, 0x04, 0x90, 0x93, 0x7C, 0xF0, 0xA3, 0xF0, 0x90,
+0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7E, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F,
+0x3C, 0x90, 0x93, 0x86, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x24, 0xC4, 0xF5,
+0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0xE4, 0x90, 0x93, 0x85, 0xF0,
+0x90, 0x93, 0x85, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0,
+0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7C, 0xEE, 0x8F,
+0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x86, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x7D,
+0xE0, 0x9F, 0x90, 0x93, 0x7C, 0xE0, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x85, 0xE0, 0x04, 0xF0, 0x80,
+0xAF, 0x90, 0x93, 0x85, 0xE0, 0xC3, 0x13, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xFF, 0xB4, 0x01, 0x0D,
+0x90, 0x93, 0x85, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x88, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03,
+0x1D, 0x90, 0x93, 0x85, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x88, 0x74, 0x03, 0xF0, 0x80, 0x48,
+0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x88, 0x74, 0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93,
+0x88, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x85, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x88,
+0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x88, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80,
+0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x81, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x80, 0xE0, 0x94,
+0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0xD3, 0x90, 0x93, 0x81, 0xE0, 0x94, 0x03, 0x90,
+0x93, 0x80, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0,
+0xFD, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED,
+0xF0, 0x12, 0x7D, 0xBC, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91,
+0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91,
+0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x79, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x80, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74,
+0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, 0x79, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50,
+0x1C, 0x90, 0x93, 0x80, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x79,
+0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3,
+0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5,
+0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF,
+0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3,
+0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x79, 0xE0, 0x50, 0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7,
+0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B,
+0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00,
+0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F,
+0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12,
+0x43, 0x1F, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x04, 0xF0, 0x02, 0x80, 0x62, 0x22,
+0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4,
+0xF0, 0x90, 0x93, 0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74,
+0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0x04,
+0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93,
+0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x02, 0x41, 0x59, 0x75, 0xF0,
+0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF,
+0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84,
+0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12,
+0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C,
+0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13,
+0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82,
+0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82,
+0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82,
+0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4,
+0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04,
+0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0x90, 0x41, 0x5A, 0x74, 0x01, 0x93,
+0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x79, 0xE0, 0xFD,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0,
+0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09,
+0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43,
+0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C,
+0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C,
+0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED,
+0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74,
+0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13,
+0xF0, 0x90, 0x93, 0x79, 0xE0, 0x04, 0xF0, 0x01, 0xA2, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94,
+0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4, 0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE,
+0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0x02, 0x74, 0x2B, 0x12,
+0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x93, 0x90, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x93,
+0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x90, 0x12, 0x43,
+0xA8, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x93, 0x02, 0x55, 0x2C,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3,
+0x94, 0x40, 0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25,
+0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93,
+0x84, 0xF0, 0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5,
+0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x86, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3,
+0x74, 0xFF, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0,
+0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8A, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5,
+0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xF0, 0xEE, 0xA3,
+0xF0, 0xA3, 0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x84, 0x41, 0xA7,
+0x12, 0x1E, 0xF6, 0xF5, 0x62, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x00, 0x03,
+0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01,
+0x90, 0x93, 0x3E, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x45, 0xF0, 0xEF, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x90, 0x93, 0x4B, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01,
+0x90, 0x93, 0x47, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5C, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x4A, 0xF0, 0xE0, 0x70, 0x38,
+0x90, 0x93, 0x48, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x87, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x87, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3E, 0xE0, 0x70, 0x03, 0x12, 0x4F,
+0xB8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x12, 0x4D, 0xC1, 0x90, 0x93, 0x5A, 0xE0, 0x90, 0x01,
+0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0,
+0x25, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93,
+0x4C, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0x90, 0x93, 0x51, 0xF0, 0x22, 0x90, 0x93, 0x49, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4C, 0x74,
+0x05, 0xF0, 0x90, 0x93, 0x46, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x51, 0x74, 0x05, 0xF0, 0x22, 0x12,
+0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x50, 0xF0, 0x90, 0x00, 0x01,
+0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x4E, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93,
+0x50, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x4E, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4E,
+0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4D, 0xF0, 0x60,
+0x20, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x69, 0x90,
+0x93, 0x3E, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x57, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xB8, 0x12, 0x51,
+0x69, 0x90, 0x93, 0x4D, 0xE0, 0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x84, 0x02, 0x43, 0xC8,
+0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x37, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF,
+0x54, 0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93,
+0x37, 0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x39, 0xF0,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F,
+0x90, 0x93, 0x3B, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12,
+0x1F, 0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x01, 0xF0, 0x80, 0x57,
+0xEF, 0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3,
+0x94, 0x60, 0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80,
+0x50, 0x08, 0x90, 0x93, 0x38, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08,
+0x90, 0x93, 0x38, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93,
+0x38, 0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x38, 0x50, 0x05, 0x74,
+0x07, 0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x38, 0xE0, 0x90, 0x93, 0x3C, 0xF0, 0x22,
+0x12, 0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0,
+0x22, 0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93,
+0xAA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAB, 0xF0, 0x90,
+0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAC, 0xF0, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAD, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0xAE, 0x05, 0xED, 0x2F, 0x90, 0x93, 0xAE, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xA9, 0xF0,
+0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, 0x00, 0x40, 0xE0, 0x44, 0x20,
+0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, 0xF0, 0x80, 0x07, 0x90, 0x07,
+0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, 0x1E, 0xF6, 0x90, 0x00, 0x01,
+0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC2, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x54, 0xFE, 0xF0, 0x80,
+0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x06,
+0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, 0xF0, 0x90, 0x00, 0x04, 0x12,
+0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x06, 0xCC,
+0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, 0xC8, 0xF0, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, 0x03, 0x11, 0x12, 0x1E, 0xF6,
+0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xCB, 0xF0, 0xEF, 0x64,
+0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, 0xE0, 0x06, 0xE0, 0x44, 0x10,
+0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, 0x90, 0x07, 0x83, 0xE0, 0x44,
+0x80, 0xF0, 0x22, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x12,
+0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6C, 0xF0,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, 0xF0, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8,
+0x12, 0x73, 0x59, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, 0x90, 0x93, 0x84, 0x12, 0x43,
+0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F,
+0x17, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8,
+0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x18, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D,
+0x01, 0x7F, 0x19, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12,
+0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1A, 0x02, 0x73, 0x5D, 0x90,
+0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43,
+0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93,
+0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1C, 0x02, 0x73,
+0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84,
+0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8,
+0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1E,
+0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6,
+0xA8, 0x04, 0xA9, 0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, 0x93, 0x0B, 0x12, 0x43, 0x84, 0xEC, 0x54,
+0x03, 0xFC, 0x12, 0x43, 0x59, 0x90, 0x93, 0x07, 0x02, 0x1F, 0xC9, 0x90, 0x93, 0x84, 0x12, 0x43,
+0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F,
+0x1F, 0x02, 0x73, 0x5D, 0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8,
+0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x20, 0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6,
+0xFF, 0x54, 0x01, 0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, 0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20,
+0xE0, 0x4E, 0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12,
+0x1F, 0x0F, 0x90, 0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0,
+0xA3, 0xE4, 0xF0, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, 0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0,
+0xF0, 0x80, 0x03, 0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, 0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0,
+0x90, 0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0,
+0x90, 0x01, 0xBD, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x90, 0x93, 0x84, 0xEF,
+0xF0, 0xEE, 0xF9, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13,
+0x90, 0xFD, 0x10, 0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, 0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02,
+0xE4, 0xFD, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, 0x05, 0x31, 0xA4, 0x0D, 0x80, 0xF3, 0x0C,
+0x90, 0xFD, 0x10, 0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, 0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08,
+0xA4, 0xFF, 0x90, 0x93, 0x84, 0xE0, 0xFB, 0xC3, 0xEF, 0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98,
+0x50, 0x07, 0xAF, 0x05, 0x31, 0xA4, 0x0D, 0x80, 0xE3, 0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0,
+0x44, 0x80, 0xFD, 0x7F, 0x81, 0x12, 0x54, 0x1B, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0,
+0xD0, 0x92, 0xAF, 0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04,
+0xF0, 0x80, 0xF1, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x90, 0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08,
+0xA4, 0x24, 0x03, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF,
+0x75, 0xF0, 0x08, 0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD,
+0x54, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x90, 0xFD, 0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5,
+0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22,
+0x12, 0x1E, 0xF6, 0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE,
+0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xC8, 0x12,
+0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54,
+0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93,
+0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12,
+0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54,
+0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x15,
+0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0xFE, 0x90,
+0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0,
+0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB,
+0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40,
+0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90,
+0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20,
+0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF,
+0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0,
+0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04,
+0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF,
+0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x20, 0xE0,
+0x07, 0xB1, 0xCC, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x12, 0x1E,
+0xF6, 0x20, 0xE0, 0x02, 0x81, 0xE7, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0,
+0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x16, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F,
+0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x17, 0xF0, 0x80, 0x48,
+0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03,
+0x90, 0x93, 0x16, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93,
+0x16, 0x74, 0x2A, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12,
+0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0,
+0x80, 0x06, 0x90, 0x93, 0x17, 0x74, 0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54,
+0x03, 0x30, 0xE0, 0x3D, 0x90, 0x93, 0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0,
+0xE0, 0xC3, 0x13, 0xA3, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20,
+0xF0, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3,
+0x13, 0x90, 0x93, 0x22, 0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A,
+0xAD, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13,
+0x54, 0x1F, 0x30, 0xE0, 0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93,
+0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07,
+0x30, 0xE0, 0x03, 0x75, 0x64, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0,
+0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27,
+0x74, 0x01, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74,
+0x04, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02,
+0xF0, 0x80, 0x0D, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0,
+0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x80, 0x63, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6,
+0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x93, 0x84, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0xD1, 0xA1, 0x90, 0x00,
+0x40, 0x74, 0x20, 0xF0, 0x90, 0x93, 0x88, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F,
+0x13, 0x13, 0x13, 0x54, 0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03,
+0x74, 0x01, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x84, 0xB1, 0x82, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF,
+0xF0, 0xE4, 0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x09, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x5E,
+0x46, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x12, 0x5E, 0x67, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC,
+0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F,
+0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90,
+0x01, 0xEB, 0x74, 0x40, 0xF0, 0xD1, 0x4C, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xEC, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xF0,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01,
+0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x4B, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0,
+0x90, 0x93, 0x3E, 0xE0, 0x60, 0x14, 0x12, 0x51, 0xBB, 0xBF, 0x01, 0x0B, 0x90, 0x93, 0x15, 0xE0,
+0xFF, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x03, 0x12, 0x4F, 0xB8, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0,
+0x23, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x1D, 0x7F, 0x01, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x5C, 0xE0,
+0x60, 0x12, 0x90, 0x93, 0xF0, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93,
+0x79, 0xF0, 0xB1, 0x82, 0x12, 0x54, 0x5C, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x94, 0x40,
+0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x94, 0x41, 0xE0,
+0x94, 0x88, 0x90, 0x94, 0x40, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04,
+0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x40, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14,
+0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x41, 0xE0, 0x94, 0x64, 0x90, 0x94, 0x40, 0xE0,
+0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01,
+0x22, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0,
+0xE4, 0x90, 0x93, 0x26, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54,
+0xFB, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54,
+0x7F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB,
+0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F,
+0xF0, 0xA3, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93,
+0x28, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0,
+0x54, 0xDF, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE,
+0xF0, 0xE4, 0x90, 0x93, 0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93,
+0x1C, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0,
+0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0,
+0x54, 0xE1, 0xF0, 0xE4, 0x90, 0x93, 0x36, 0xF0, 0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0,
+0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0x12,
+0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x93, 0x0B, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, 0x70,
+0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, 0x43, 0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, 0xF0,
+0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, 0x74,
+0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0xD1, 0xA1, 0x90,
+0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F, 0x02, 0x02, 0x3A, 0xAD, 0x90, 0x93, 0x84, 0x12,
+0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8, 0x7D, 0x01,
+0x7F, 0x24, 0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0,
+0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6,
+0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF,
+0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22,
+0x90, 0x93, 0x84, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x84, 0x12,
+0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, 0x73, 0x5D, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB2, 0xF0,
+0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93,
+0xB1, 0xF0, 0x22, 0x90, 0x93, 0xE4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xE8, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xE8, 0x12, 0x43, 0x90, 0xD3,
+0x12, 0x43, 0x73, 0x50, 0x41, 0x90, 0x93, 0xE8, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xE4,
+0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC,
+0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xE8, 0x12, 0x43,
+0x84, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93,
+0xE8, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE8, 0x02, 0x43, 0x84, 0x90, 0x93, 0xB6, 0x12,
+0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xBA, 0x12, 0x43, 0x90, 0xC3, 0x12,
+0x43, 0x73, 0x90, 0x93, 0xB6, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xC2,
+0x12, 0x1F, 0xC9, 0x90, 0x93, 0xBA, 0x12, 0x43, 0x84, 0x11, 0x43, 0x90, 0x93, 0xC6, 0x12, 0x1F,
+0xC9, 0x90, 0x93, 0xBA, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0xC2, 0x12, 0x43, 0x90,
+0x12, 0x43, 0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xC6, 0x12, 0x43,
+0x84, 0xA9, 0x07, 0x90, 0x93, 0xBE, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03,
+0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0xCA, 0x12, 0x1F, 0xC9, 0x90,
+0x93, 0xB6, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xCA, 0x80, 0x0A, 0x12, 0x43,
+0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xBE, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F,
+0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0xF4, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xF8, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x12, 0x54, 0x63, 0x12, 0x54, 0x5C,
+0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54,
+0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4B, 0xE0, 0x60, 0x06, 0x90,
+0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x57, 0xF0,
+0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xF4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF4, 0x12,
+0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, 0xF4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF4, 0x12,
+0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90,
+0x93, 0x48, 0xE0, 0x60, 0x24, 0xE4, 0xFF, 0x12, 0x50, 0xEB, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x13,
+0x90, 0x93, 0xF8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF8,
+0x12, 0x95, 0x82, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x02, 0xE4,
+0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x48,
+0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02,
+0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x63, 0x90,
+0x94, 0x48, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE,
+0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05,
+0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, 0x94,
+0x48, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33,
+0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x63, 0x90, 0x94, 0x48,
+0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80,
+0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90,
+0x93, 0x84, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x94, 0x38, 0xE0, 0x54,
+0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x44, 0xFE, 0x90, 0x93, 0x84, 0x12, 0x43, 0xA8,
+0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x94,
+0x39, 0xF0, 0x22, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79, 0x6B, 0x12, 0x73, 0x59, 0xEF, 0xB4, 0x02,
+0x14, 0x90, 0x94, 0x44, 0xE0, 0x64, 0x04, 0x60, 0x07, 0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, 0x22,
+0xE4, 0x90, 0x94, 0x44, 0xF0, 0x22, 0xAD, 0x07, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0xF0, 0x44, 0x0C,
+0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0xFE, 0xF0, 0x90, 0xFD, 0x63, 0xE0,
+0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x94, 0x00, 0xF0, 0x90, 0xFD, 0x65, 0xE0,
+0x90, 0x94, 0x01, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x94, 0x02, 0xF0, 0x90, 0xFD, 0x67, 0xE0,
+0x90, 0x94, 0x03, 0xF0, 0xED, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0x0F, 0x44, 0x20,
+0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, 0x0B, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0,
+0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, 0x90, 0x93, 0xFC, 0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90,
+0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, 0x93, 0xFE, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93,
+0xFE, 0xF0, 0xE4, 0x90, 0x93, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B,
+0x01, 0x7A, 0x93, 0x79, 0xFE, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xFC, 0x02,
+0x55, 0x2C, 0xAD, 0x07, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0xF0, 0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0,
+0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x71, 0xF0,
+0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x73, 0xF0,
+0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x75, 0xF0,
+0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6F,
+0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90, 0x93, 0x6D, 0xE0, 0x54, 0x0F, 0x44,
+0x70, 0xF0, 0x90, 0x93, 0x6F, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x6D, 0xE0, 0xFF, 0xC4, 0x54, 0x0F,
+0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6F, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0x7A, 0x93,
+0x79, 0x6D, 0x12, 0x55, 0x2C, 0x22, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x27, 0x90, 0x93, 0x4B, 0xE0,
+0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74,
+0x03, 0xF0, 0x22, 0x90, 0x93, 0x45, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22,
+0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02,
+0xA1, 0xFC, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x01, 0x70, 0x39, 0x90, 0x06, 0x92, 0xE0, 0x20, 0xE2,
+0x06, 0x90, 0x94, 0x45, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29,
+0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x45, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFF, 0x90, 0x93, 0x29,
+0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0xE7, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27,
+0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x04, 0x70, 0x3A, 0x90, 0x06, 0x92, 0xE0, 0x20,
+0xE2, 0x06, 0x90, 0x94, 0x45, 0xE0, 0x60, 0x21, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93,
+0x29, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x45, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x90, 0x93,
+0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xA1, 0xE7, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93,
+0x27, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, 0xA1, 0xAB, 0x90,
+0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27,
+0x30, 0xE0, 0x4E, 0xA1, 0xF9, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45,
+0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0,
+0x02, 0xA1, 0xBA, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33,
+0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E,
+0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, 0x40, 0x02, 0xA1,
+0xF9, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x27,
+0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x2A, 0xE0, 0xFF,
+0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C,
+0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80,
+0x94, 0x80, 0x40, 0x58, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64,
+0x07, 0x70, 0x49, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, 0x80, 0x3A, 0x90,
+0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3,
+0xF0, 0x90, 0x93, 0x27, 0x80, 0x23, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E,
+0x27, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F,
+0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x64, 0x01,
+0x70, 0x3C, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07,
+0x78, 0x74, 0x0D, 0xF0, 0x22, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0,
+0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x93, 0x18, 0xE0,
+0xC3, 0x13, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93,
+0x19, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03,
+0xF0, 0x22, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20,
+0xE0, 0x02, 0xC1, 0xF8, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x2A,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01,
+0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0xE4,
+0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x5E,
+0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0,
+0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0x60, 0x08, 0x90, 0x05, 0x22, 0x74,
+0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03,
+0x12, 0x51, 0x48, 0xE4, 0x90, 0x94, 0x45, 0xF0, 0x22, 0x00, 0xAA, 0x13
+};
+
+
+u8 Rtl8723UFwUMCBCutImgArrayWithoutBT[Rtl8723UUMCBCutImgArrayWithoutBTLength] = {
+0x02, 0x23, 0x02, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x10, 0x06, 0xE0, 0x4A, 0x01, 0x00,
+0x03, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x4A, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x59, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x61, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x61, 0xDA, 0x00, 0x00,
+0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, 0x00, 0x04, 0x06, 0x05, 0x04, 0x02,
+0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, 0x08, 0x06, 0x00, 0x08, 0x0A, 0x09,
+0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x00, 0x00, 0x08,
+0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, 0x00, 0x18, 0x22, 0x21, 0x20, 0x18,
+0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, 0x20, 0x08, 0x00, 0x20, 0x22, 0x21,
+0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, 0x22, 0x20, 0x18, 0x08, 0x00, 0x20,
+0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, 0x00, 0x30, 0x31, 0x2F, 0x10, 0x10,
+0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, 0x10, 0x00, 0x00, 0x30, 0x31, 0x20,
+0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04,
+0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, 0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05,
+0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, 0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E,
+0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, 0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E,
+0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A,
+0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, 0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60,
+0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, 0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40,
+0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, 0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8,
+0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x0C,
+0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x6C, 0x00, 0x28,
+0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, 0x00, 0xF0, 0x01, 0x18, 0x00, 0x64,
+0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, 0x03, 0x20, 0x03, 0xE8, 0x02, 0x02,
+0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, 0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E,
+0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x05, 0x06,
+0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28,
+0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09,
+0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9,
+0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22,
+0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83,
+0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE,
+0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0,
+0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A,
+0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7,
+0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83,
+0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82,
+0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82,
+0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0,
+0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22,
+0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7,
+0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8,
+0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5,
+0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB,
+0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE,
+0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED,
+0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC,
+0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8,
+0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22,
+0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5,
+0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9,
+0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70,
+0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0,
+0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3,
+0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68,
+0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12,
+0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83,
+0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3,
+0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0x90, 0x93, 0x07, 0xF0, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xDD,
+0x90, 0x93, 0x51, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x60,
+0x03, 0x02, 0x44, 0xDD, 0x02, 0x44, 0xDA, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF,
+0x90, 0x93, 0x4F, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x3A, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xB5, 0x07,
+0x0A, 0x90, 0x93, 0x30, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x93, 0x2D, 0xE0, 0xC4,
+0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xB5,
+0x07, 0x0B, 0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x2D,
+0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x07, 0x74, 0x5A, 0xF0,
+0x90, 0x93, 0x07, 0xE0, 0xFF, 0x90, 0x93, 0x3F, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93,
+0x38, 0xE0, 0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5, 0x62, 0xB4,
+0x01, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x51, 0x9C, 0x22, 0xEF, 0x60,
+0x0F, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x22,
+0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x22, 0x02,
+0x55, 0xE5, 0x22, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xA3, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x62, 0x64,
+0x01, 0x60, 0x03, 0x02, 0x46, 0xAB, 0xE5, 0x65, 0x14, 0x60, 0x29, 0x24, 0xFD, 0x60, 0x25, 0x24,
+0x02, 0x24, 0xFB, 0x50, 0x02, 0x80, 0x23, 0x90, 0x93, 0x37, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04,
+0xA3, 0xE0, 0x60, 0x16, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x0A, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93,
+0x37, 0xF0, 0x80, 0x00, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0,
+0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91,
+0xEF, 0x70, 0x04, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x01, 0xE0, 0x70, 0x03, 0x02, 0x46, 0x9B,
+0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44,
+0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90,
+0x93, 0x2E, 0x80, 0x2D, 0x90, 0x93, 0x2D, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F,
+0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80,
+0x98, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x31, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x2E, 0xE0, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4,
+0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5,
+0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04,
+0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57,
+0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04,
+0x12, 0x48, 0xF4, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x6F, 0x90, 0x93, 0x2B, 0xE0, 0xFF, 0x90, 0x93,
+0x4F, 0xE0, 0xD3, 0x9F, 0x40, 0x08, 0x90, 0x93, 0x2C, 0xE0, 0x04, 0xF0, 0x80, 0x05, 0xE4, 0x90,
+0x93, 0x2C, 0xF0, 0x90, 0x93, 0x4F, 0xE0, 0x90, 0x93, 0x2B, 0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05,
+0x40, 0x46, 0xE4, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70, 0x03,
+0x12, 0x4F, 0x63, 0x90, 0x93, 0x50, 0xE0, 0x64, 0x02, 0x70, 0x21, 0x12, 0x48, 0xF0, 0xE4, 0xF5,
+0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x4C, 0x80, 0x09, 0x43, 0x66, 0x01, 0x12,
+0x51, 0x2B, 0x90, 0x93, 0x48, 0x74, 0x01, 0xF0, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x98, 0xE0, 0x30,
+0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x07,
+0xF0, 0xA3, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x47, 0xA2,
+0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x47, 0xA2, 0x90, 0x93, 0x07, 0x04, 0xF0, 0xE4, 0x90,
+0x93, 0x37, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x16, 0xA3, 0xE0, 0xB4, 0x06, 0x05, 0xE4,
+0x90, 0x93, 0x07, 0xF0, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x04, 0x90, 0x93, 0x07, 0xF0,
+0x90, 0x93, 0x07, 0xE0, 0x70, 0x03, 0x02, 0x47, 0xA2, 0x43, 0x66, 0x10, 0x90, 0x93, 0x2D, 0xE0,
+0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x32, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F,
+0xE0, 0xD3, 0x9F, 0x50, 0x09, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x2E, 0xE0, 0x80, 0x4A, 0xE4, 0xF5,
+0x48, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0xC3, 0x9F, 0x75, 0xF0,
+0x03, 0xA4, 0xFF, 0x90, 0x93, 0x2E, 0xE0, 0x04, 0x2F, 0x80, 0x2D, 0x90, 0x93, 0x4F, 0xE0, 0x64,
+0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0xFF, 0x90, 0x93,
+0x46, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x4F, 0xE0, 0x14, 0x75, 0xF0, 0x03,
+0xA4, 0xFF, 0x90, 0x93, 0x46, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94,
+0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x12, 0x51, 0x4C, 0x90, 0x05, 0x22,
+0xE4, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x09, 0x12, 0x67, 0x4A, 0x90, 0x05, 0x22, 0x74,
+0xFF, 0xF0, 0x22, 0xE4, 0xF5, 0x66, 0xF5, 0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93,
+0x50, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x93, 0x4E, 0x04, 0xF0, 0x90,
+0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x93, 0x46, 0x74,
+0x05, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90,
+0x93, 0x3F, 0xF0, 0x90, 0x93, 0x42, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90,
+0x93, 0x47, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x93,
+0x71, 0xF0, 0x90, 0x93, 0x43, 0xF0, 0x90, 0x93, 0x53, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x93,
+0x34, 0xF0, 0x90, 0x93, 0x4D, 0xF0, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x93, 0x3B, 0xF0, 0x90, 0x93,
+0x48, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x93,
+0x40, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93,
+0x2D, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, 0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x93, 0x30, 0xF0, 0x22, 0x8E, 0x69, 0x8F, 0x6A, 0xAD,
+0x6A, 0xAC, 0x69, 0xAF, 0x68, 0x12, 0x44, 0xDE, 0xAF, 0x6A, 0xAE, 0x69, 0x90, 0x04, 0x80, 0xE0,
+0x54, 0x0F, 0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0,
+0x44, 0x01, 0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xFB,
+0xF0, 0xAC, 0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0xFA,
+0xF0, 0x74, 0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F, 0xF0, 0xAC,
+0x07, 0x74, 0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F, 0xF0, 0x90,
+0x04, 0x53, 0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0, 0x90, 0x04,
+0x50, 0x74, 0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54,
+0xC0, 0x4D, 0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED, 0xF0, 0x22,
+0x7D, 0x01, 0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x6C, 0x8D, 0x6D, 0xE5,
+0x6C, 0x54, 0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x6C, 0x30, 0xE2, 0x30,
+0xE5, 0x63, 0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0x69, 0xE5, 0x63, 0x30, 0xE3, 0x10, 0xE5,
+0x6C, 0x20, 0xE3, 0x0B, 0x12, 0x4D, 0x9D, 0xEF, 0x60, 0x53, 0x12, 0x51, 0x05, 0x80, 0x4E, 0xE5,
+0x63, 0x20, 0xE3, 0x49, 0xE5, 0x6C, 0x30, 0xE3, 0x44, 0xAF, 0x6D, 0x12, 0x50, 0x8A, 0x80, 0x3D,
+0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x6C, 0x20, 0xE3, 0x09, 0x12, 0x4D, 0x9D,
+0xEF, 0x60, 0x2A, 0x12, 0x51, 0x05, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E, 0xE5, 0x6C,
+0x20, 0xE2, 0x09, 0x12, 0x4B, 0x16, 0xEF, 0x60, 0x14, 0x12, 0x50, 0xB3, 0xE5, 0x63, 0x54, 0x0F,
+0xFF, 0xBF, 0x02, 0x09, 0x12, 0x4C, 0x72, 0xEF, 0x60, 0x03, 0x12, 0x51, 0xB0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0xE4, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0xE0,
+0x54, 0xC0, 0x70, 0x11, 0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD,
+0x12, 0x51, 0x9C, 0x80, 0x0F, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x4D, 0xE0, 0x70,
+0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x01, 0xE0, 0x30, 0xE6, 0x15, 0x43, 0x66, 0x01, 0x90, 0x93,
+0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x0E, 0x12, 0x4F, 0x1D, 0x80, 0x09,
+0x90, 0x93, 0x48, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93,
+0x01, 0xE0, 0x30, 0xE7, 0x23, 0x43, 0x66, 0x02, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x42, 0xE0, 0xF5,
+0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05,
+0xF0, 0x90, 0x93, 0x51, 0x74, 0x01, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, 0xEF, 0x64, 0x01, 0x70,
+0x48, 0x7D, 0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90,
+0x01, 0x36, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12,
+0x3A, 0x3F, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x48, 0xF0,
+0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x67, 0x4A, 0x90, 0x06, 0x04, 0xE0, 0x54, 0x7F,
+0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0, 0xA3,
+0x74, 0x02, 0xF0, 0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93,
+0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x06,
+0x0A, 0xE0, 0x44, 0x07, 0xF0, 0x12, 0x4E, 0x3E, 0xE5, 0x62, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x93,
+0x39, 0xF0, 0x22, 0x02, 0x4A, 0xD1, 0x02, 0x52, 0xA5, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3,
+0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54,
+0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4,
+0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40,
+0x80, 0x90, 0x4F, 0xE3, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5,
+0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60,
+0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5,
+0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA,
+0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01,
+0xB9, 0x74, 0x01, 0xF0, 0x80, 0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74,
+0x02, 0xF0, 0x80, 0x53, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9,
+0x74, 0x04, 0xF0, 0x80, 0x42, 0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0,
+0x80, 0x35, 0xE5, 0x66, 0x30, 0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90,
+0x93, 0x39, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x43,
+0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0,
+0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22,
+0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, 0x64, 0x02, 0x60, 0x06,
+0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x06,
+0xAA, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x70, 0x07, 0x90, 0x93, 0x4E, 0xE0,
+0xFF, 0x80, 0x05, 0x90, 0x93, 0x37, 0xE0, 0xFF, 0x90, 0x93, 0x37, 0xEF, 0xF0, 0x90, 0x93, 0x39,
+0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x05,
+0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x53,
+0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x03, 0x12, 0x49,
+0x82, 0x22, 0x90, 0x93, 0x70, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, 0x0C, 0x90, 0x93, 0x70,
+0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, 0x53, 0xB6, 0x90, 0x00,
+0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x28, 0xE0, 0x54, 0xFC,
+0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, 0xFD, 0x7F, 0x08, 0x12,
+0x53, 0xB6, 0x7F, 0x01, 0x12, 0x4D, 0x45, 0x90, 0x00, 0x00, 0xE0, 0x44, 0x20, 0xFD, 0xE4, 0xFF,
+0x12, 0x53, 0xB6, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x90,
+0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0xB6, 0x7F, 0x14, 0x7E, 0x00, 0x02,
+0x3B, 0x09, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0,
+0x80, 0x54, 0xE5, 0x18, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x48, 0xE5, 0x64,
+0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x37, 0x90,
+0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x29, 0x90, 0x02, 0x86,
+0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x3A, 0xE0,
+0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90,
+0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, 0xF0, 0x7F, 0x00, 0x22, 0x90,
+0x93, 0x21, 0x12, 0x43, 0xC8, 0x12, 0x51, 0xC3, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x12, 0x1E,
+0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, 0x03, 0x70, 0x44,
+0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0xFD, 0xE4, 0xFF, 0x12, 0x4F, 0xA5, 0x80, 0x29, 0x90, 0x93, 0x21, 0x12, 0x43, 0xA8, 0x90, 0x00,
+0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x4F, 0xA5, 0x1F, 0x80, 0x14, 0x90, 0x93, 0x21,
+0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, 0x4F, 0xA5, 0xE4,
+0xFF, 0x12, 0x4A, 0x0C, 0x22, 0x8F, 0x70, 0xE4, 0x90, 0x93, 0xE3, 0xF0, 0xA3, 0xF0, 0x90, 0x01,
+0x09, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x70, 0x60, 0x3E, 0xC3, 0x90,
+0x93, 0xE4, 0xE0, 0x94, 0x88, 0x90, 0x93, 0xE3, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6,
+0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0xE3, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F,
+0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE4, 0xE0, 0x94, 0x32, 0x90, 0x93, 0xE3,
+0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x12, 0x51, 0x83,
+0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, 0x90, 0x93, 0x4C,
+0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, 0x49, 0xE0, 0x60,
+0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x04,
+0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90,
+0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, 0x00, 0x22, 0x90,
+0x00, 0x20, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x20, 0x12, 0x53, 0xB6, 0x7F, 0xF4, 0x7E, 0x01, 0x12,
+0x3B, 0x09, 0x90, 0x00, 0x00, 0xE0, 0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xB6, 0x90, 0x00,
+0x28, 0xE0, 0x44, 0x03, 0xFD, 0x7F, 0x28, 0x12, 0x53, 0xB6, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF,
+0xFD, 0x7F, 0x08, 0x12, 0x53, 0xB6, 0xE4, 0xFF, 0x12, 0x4D, 0x45, 0x7F, 0x64, 0x7E, 0x00, 0x12,
+0x3B, 0x09, 0x90, 0x00, 0x29, 0xE0, 0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x53, 0xB6, 0xE4, 0xFF,
+0x90, 0x00, 0x6A, 0xE0, 0x30, 0xE2, 0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90,
+0x00, 0x60, 0xE0, 0x7F, 0x02, 0x30, 0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0,
+0x7F, 0x03, 0x30, 0xE3, 0x06, 0x7F, 0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93,
+0x45, 0xE0, 0x9D, 0x90, 0x93, 0x44, 0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0,
+0x90, 0x93, 0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3,
+0xC0, 0xD0, 0x8F, 0x68, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x6B,
+0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0x69, 0xE0, 0xFF, 0x7D, 0x01,
+0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x05, 0x22, 0xE5, 0x6B, 0xF0, 0x80, 0x0D, 0x90, 0x93,
+0x69, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x95, 0x12, 0x48, 0x5B, 0x90, 0x04, 0x1F, 0x74, 0x20,
+0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80, 0x3D, 0x90,
+0x93, 0x50, 0xE0, 0x60, 0x27, 0x12, 0x48, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5,
+0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05,
+0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x22, 0xE5, 0x63, 0x54, 0x0F,
+0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x22, 0x90, 0x01, 0x5F,
+0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0, 0xF5,
+0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05,
+0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x49, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F,
+0xC3, 0x94, 0x0C, 0x50, 0x0D, 0x12, 0x48, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x03, 0x12,
+0x67, 0x4A, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x4D, 0x74, 0x01, 0xF0,
+0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3,
+0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x93, 0xD3, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xD3,
+0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, 0x16, 0x24, 0x02, 0x70, 0x32,
+0x80, 0x0A, 0x90, 0x93, 0x4E, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x37, 0xF0, 0xE4, 0x90, 0x93, 0x53,
+0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x47, 0xE0, 0x90, 0x93, 0x4E, 0xF0, 0x80, 0x05, 0x90,
+0x93, 0x4E, 0xED, 0xF0, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x93, 0x37, 0xF0, 0x90, 0x93, 0x53, 0x74,
+0x01, 0xF0, 0x22, 0x48, 0x93, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x93,
+0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x5E, 0x00, 0x41, 0x93, 0x6D,
+0x00, 0x41, 0x93, 0xE9, 0x00, 0x41, 0x93, 0x2B, 0x00, 0x41, 0x93, 0x2C, 0x00, 0x41, 0x92, 0x69,
+0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, 0x41, 0x93, 0xDF, 0x00, 0x00, 0x90, 0x01,
+0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0x90, 0x93,
+0x35, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, 0x0F, 0xFF, 0x74, 0x40, 0x7E, 0x00,
+0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x90, 0x93, 0x4B, 0xF0,
+0xEE, 0x90, 0x93, 0x4A, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7,
+0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0x6F, 0xE0, 0x90, 0x93, 0xD7, 0x60, 0x09, 0x12, 0x1F, 0xD5,
+0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x01, 0x10, 0x7B, 0x01, 0x7A,
+0x93, 0x79, 0xD7, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x56, 0x9D, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF,
+0xF0, 0xEF, 0x60, 0x0A, 0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x8B, 0x53, 0x63,
+0xF0, 0x43, 0x63, 0x0C, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x54,
+0x7F, 0xF0, 0x22, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12,
+0x8A, 0x65, 0xEF, 0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12,
+0x3A, 0x93, 0x12, 0x54, 0x14, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0xE5, 0x64, 0x30, 0xE6,
+0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, 0xF0,
+0x53, 0x64, 0xBF, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0x83, 0xE0, 0x30, 0xE0,
+0x03, 0x75, 0x64, 0x02, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01,
+0x05, 0x7F, 0x01, 0x12, 0x4E, 0x8B, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x90, 0x93, 0x98, 0xE0,
+0x30, 0xE0, 0x07, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x3D, 0xE0, 0x70,
+0x1A, 0x90, 0x04, 0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0x68, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58,
+0x95, 0x8E, 0x6E, 0x8F, 0x6F, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x3E, 0xE0,
+0x60, 0x16, 0x90, 0x93, 0x41, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x3B, 0xE0, 0x90, 0x07, 0x78, 0x60,
+0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0xEA, 0xEF, 0xF0, 0x12, 0x56,
+0x14, 0x90, 0x93, 0xEA, 0xE0, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43,
+0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, 0xF4, 0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B,
+0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, 0x60, 0x02, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x98, 0xE0,
+0x30, 0xE0, 0x05, 0xAF, 0x64, 0x02, 0x5F, 0x72, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x22,
+0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0x02, 0x12, 0x4D, 0xEF, 0x53, 0x63, 0xF0, 0x43,
+0x63, 0x02, 0x22, 0xE4, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x38, 0xF0, 0xF5, 0x66, 0x22, 0x90,
+0x02, 0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12,
+0x43, 0xF7, 0x51, 0xFA, 0x00, 0x40, 0x52, 0x22, 0x00, 0x80, 0x52, 0x4D, 0x01, 0x00, 0x52, 0x61,
+0x02, 0x00, 0x52, 0x79, 0x04, 0x00, 0x00, 0x00, 0x52, 0x96, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06,
+0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9,
+0x80, 0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF,
+0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78,
+0x07, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04,
+0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80,
+0x35, 0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF,
+0x2D, 0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D,
+0x00, 0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x1F,
+0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0C, 0xF0, 0xA3, 0xF0, 0x12, 0x60, 0xFB, 0x75,
+0x8E, 0x02, 0x91, 0xE6, 0x12, 0x60, 0x52, 0x90, 0x93, 0x70, 0xEF, 0xF0, 0x12, 0x60, 0x65, 0x90,
+0x93, 0x72, 0xEF, 0xF0, 0x12, 0x60, 0x71, 0x90, 0x93, 0x54, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4,
+0xF5, 0x18, 0xF5, 0x0D, 0xF5, 0x62, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7,
+0xF0, 0x12, 0x7E, 0x58, 0x12, 0x47, 0xA3, 0x12, 0x37, 0x1C, 0x7F, 0x03, 0x12, 0x88, 0x1B, 0x71,
+0x8D, 0x12, 0x60, 0x16, 0x12, 0x60, 0x89, 0x12, 0x60, 0x9E, 0x12, 0x60, 0x34, 0x12, 0x45, 0x02,
+0x12, 0x61, 0x03, 0x91, 0xCE, 0x90, 0x93, 0x0E, 0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80,
+0xE0, 0x44, 0x40, 0xF0, 0x71, 0xFE, 0x75, 0xE8, 0x03, 0x43, 0xA8, 0x85, 0xD2, 0xAF, 0x12, 0x82,
+0xBB, 0x51, 0x9B, 0x12, 0x60, 0xA5, 0x90, 0x93, 0x0C, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xA5, 0x90,
+0x01, 0xC4, 0xF0, 0x74, 0x52, 0xA3, 0xF0, 0xE5, 0x18, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x18,
+0xEF, 0xD2, 0xAF, 0x12, 0x67, 0x8F, 0xE5, 0x18, 0x30, 0xE6, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0xBF,
+0xD2, 0xAF, 0x12, 0x76, 0x54, 0xE5, 0x18, 0x30, 0xE7, 0x0A, 0xC2, 0xAF, 0x53, 0x18, 0x7F, 0xD2,
+0xAF, 0x12, 0x82, 0x61, 0xC2, 0xAF, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x93,
+0x3A, 0x74, 0x01, 0xF0, 0x31, 0x9C, 0xE4, 0x90, 0x93, 0x3A, 0xF0, 0xD2, 0xAF, 0x90, 0x01, 0xBD,
+0xE5, 0x63, 0xF0, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x01, 0xBC, 0xF0, 0x80, 0x99, 0x90, 0x01, 0x3C,
+0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0xFD, 0x7F, 0x54, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x55, 0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x56,
+0x71, 0xB6, 0x7D, 0xFF, 0x7F, 0x57, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75,
+0x83, 0x00, 0xED, 0xF0, 0x71, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x30, 0xE4, 0xF0,
+0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0xFD, 0x7F, 0x50, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x51, 0x71, 0xB6, 0xE4, 0xFD, 0x7F, 0x52, 0x71,
+0xB6, 0xE4, 0xFD, 0x7F, 0x53, 0x80, 0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, 0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x05,
+0x22, 0x74, 0xFF, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xB4, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x71, 0xFE, 0x71, 0xF7, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE,
+0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x05, 0x53, 0xE0,
+0x44, 0x20, 0xF0, 0x90, 0x93, 0x41, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90,
+0x93, 0x34, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x4D, 0xF0, 0xFF, 0x7E, 0x08, 0x12, 0x2C, 0x6E,
+0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xEC, 0x54, 0xFD, 0xFC,
+0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12,
+0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x22, 0xE4,
+0xFF, 0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB8, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB8, 0xD1, 0x99, 0x90, 0x07, 0x78, 0x74, 0x01,
+0xF0, 0x90, 0x93, 0x48, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93,
+0xE0, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0x7F,
+0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x6C, 0xF0, 0x90, 0x00, 0x80, 0xE0, 0x44,
+0x80, 0xFD, 0x7F, 0x80, 0x61, 0xB6, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x8A, 0x65, 0xEF,
+0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0,
+0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x9F, 0xE0, 0x90, 0x93, 0xEB, 0xF0,
+0x6F, 0x70, 0x02, 0xA1, 0xDC, 0xEF, 0x14, 0x60, 0x3B, 0x14, 0x60, 0x5F, 0x14, 0x70, 0x02, 0xA1,
+0xB6, 0x24, 0x03, 0x60, 0x02, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x03, 0x04, 0xD1, 0xE4,
+0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x02, 0x04, 0xD1, 0xFC, 0xA1, 0xDC, 0x90, 0x93, 0xEB,
+0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x00, 0xA1, 0xDC, 0x90, 0x93, 0xEB, 0xE0, 0x64, 0x01, 0x70, 0x7C,
+0xD1, 0xE6, 0x80, 0x78, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x03, 0x04, 0xF1, 0x35, 0x80, 0x6C,
+0xEF, 0xB4, 0x02, 0x04, 0xF1, 0x04, 0x80, 0x64, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x04, 0x04,
+0xF1, 0x1A, 0x80, 0x58, 0xEF, 0x70, 0x55, 0xD1, 0x01, 0x80, 0x51, 0x90, 0x93, 0xEB, 0xE0, 0xB4,
+0x03, 0x04, 0xF1, 0x25, 0x80, 0x46, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x01, 0x04, 0x91, 0xF6, 0x80,
+0x3B, 0x90, 0x93, 0xEB, 0xE0, 0xB4, 0x04, 0x04, 0xF1, 0x11, 0x80, 0x30, 0x90, 0x93, 0xEB, 0xE0,
+0x70, 0x2A, 0xB1, 0xE1, 0x80, 0x26, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4, 0x01, 0x04, 0xB1, 0xE5,
+0x80, 0x1A, 0xEF, 0xB4, 0x02, 0x04, 0xB1, 0xFD, 0x80, 0x12, 0x90, 0x93, 0xEB, 0xE0, 0xFF, 0xB4,
+0x04, 0x05, 0x12, 0x44, 0xFF, 0x80, 0x05, 0xEF, 0x70, 0x02, 0xB1, 0xF9, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0xD1, 0x01, 0x81, 0xF6, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x54,
+0xBF, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x03, 0xF0, 0x22, 0xD1, 0x01, 0x80, 0xE8, 0xD1, 0x14, 0x80,
+0xE4, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x9F,
+0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xAC, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x41, 0xE0,
+0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x0A, 0x31, 0x83,
+0xEF, 0x64, 0x01, 0x60, 0x03, 0x12, 0x4F, 0x63, 0x90, 0x93, 0x3E, 0xE0, 0x60, 0x1C, 0x7F, 0x01,
+0x11, 0x56, 0x90, 0x93, 0x52, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xB0, 0x12, 0x1F, 0xD5, 0x00, 0x00,
+0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xB0, 0xD1, 0x99, 0x71, 0xF7, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x90, 0x93, 0xEC, 0xEF, 0xF0, 0xD1, 0x14, 0x90, 0x93, 0xEC, 0xE0, 0x60, 0x05, 0x90, 0x05,
+0x22, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x7F, 0x70, 0x7E, 0x08, 0xD3, 0x10, 0xAF,
+0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, 0xEE, 0x44, 0xF0, 0xA3,
+0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEE, 0xF0, 0x12,
+0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, 0x12, 0x88, 0x6C, 0xD0,
+0xD0, 0x92, 0xAF, 0x22, 0xF1, 0x35, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x05, 0x27,
+0xE4, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE4, 0x90, 0x93, 0x9F, 0xF0, 0x22, 0xF1, 0x04, 0x80, 0xE6,
+0xF1, 0x1A, 0x80, 0xE2, 0xD1, 0x14, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x9F, 0x04, 0xF0,
+0x22, 0x91, 0x14, 0x90, 0x93, 0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90,
+0x93, 0x9F, 0x04, 0xF0, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x0E, 0x90, 0x93,
+0x9F, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40,
+0xF0, 0x90, 0x93, 0x9F, 0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0xED, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x46, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08,
+0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, 0xE0, 0x5F, 0xF0, 0x71, 0xFE,
+0x90, 0x93, 0xED, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33,
+0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8,
+0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0x80, 0x4B, 0x90,
+0x93, 0xED, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3,
+0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, 0xF0, 0x71, 0xFE, 0x90, 0x93, 0xED,
+0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80,
+0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, 0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F,
+0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x8B, 0x21, 0x8A, 0x22, 0x89, 0x23, 0x90, 0x93, 0xBC, 0x12, 0x43, 0xC8, 0xAB, 0x24, 0xAA, 0x25,
+0xA9, 0x26, 0x90, 0x93, 0xBF, 0x12, 0x43, 0xC8, 0xAF, 0x27, 0x15, 0x27, 0xEF, 0x60, 0x1E, 0x90,
+0x93, 0xBF, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x93, 0xBC,
+0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12, 0x42, 0x53, 0x80, 0xDB, 0xAB, 0x21, 0xAA,
+0x22, 0xA9, 0x23, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x01, 0xC4, 0x74, 0x48, 0xF0, 0x74, 0x58, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90,
+0x05, 0x22, 0xE0, 0x54, 0x90, 0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01,
+0xC7, 0xE0, 0x30, 0xE1, 0xE4, 0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0x11, 0x48, 0xBF, 0x01, 0x0F, 0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x95, 0x90, 0x04,
+0x1F, 0x74, 0x20, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF,
+0x30, 0xE0, 0x02, 0x7B, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF,
+0xF0, 0xED, 0x60, 0x0E, 0x74, 0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44,
+0x80, 0xF0, 0xAF, 0x03, 0x74, 0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0,
+0x74, 0x09, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21,
+0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, 0x13,
+0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, 0x01,
+0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, 0x07,
+0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3B, 0x90, 0x93, 0x01, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x3D,
+0xF0, 0x79, 0x40, 0x90, 0x93, 0x01, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, 0xE0,
+0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x5E, 0xF0, 0x22, 0x90, 0x93, 0x5E, 0xE0, 0x04,
+0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0B, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, 0x02,
+0x11, 0x80, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00,
+0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07,
+0x90, 0x01, 0xC4, 0x74, 0x63, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, 0x55, 0x28,
+0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, 0xA3, 0xE0,
+0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x57, 0x90, 0x01, 0x34, 0x74, 0x01,
+0xF0, 0x85, 0xD1, 0x0E, 0x85, 0xD3, 0x10, 0x85, 0xD4, 0x11, 0x85, 0xD5, 0x12, 0x85, 0xD6, 0x13,
+0x85, 0xD7, 0x14, 0x85, 0xD9, 0x15, 0x85, 0xD2, 0x0F, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75,
+0x26, 0x0E, 0x75, 0x27, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0x5F, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x60,
+0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x70, 0x02,
+0x61, 0x08, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02,
+0x61, 0x08, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0x61, 0xE0, 0x54, 0x3F, 0xF5, 0x4E, 0x90,
+0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34,
+0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, 0x40, 0x03,
+0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0x75, 0xF0,
+0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x63, 0xE0, 0x54,
+0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43,
+0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93,
+0x60, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF,
+0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8F, 0xF0,
+0x12, 0x42, 0x87, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x67, 0xAF, 0x4D, 0x12, 0x71, 0x11, 0x80, 0x60, 0x90, 0x93, 0x60, 0xE0, 0xFF, 0xC4, 0x13, 0x13,
+0x54, 0x03, 0x30, 0xE0, 0x53, 0x90, 0x93, 0x63, 0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, 0x4D, 0x25,
+0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, 0x42, 0x87,
+0x90, 0x93, 0x62, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x0F, 0xEE, 0x54,
+0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0x12, 0x70, 0xAD, 0x80, 0x1B, 0x90, 0x01, 0x02,
+0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, 0xF0,
+0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, 0x80,
+0x46, 0x90, 0x93, 0x50, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74,
+0x04, 0xF0, 0x12, 0x51, 0x83, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x3C, 0xE0,
+0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74,
+0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x80, 0x09, 0x12, 0x51,
+0x83, 0xBF, 0x01, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xF9, 0x90, 0x01,
+0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, 0xE5,
+0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, 0x75,
+0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x16, 0x90, 0x04, 0x7E,
+0xE0, 0x55, 0x51, 0xF5, 0x17, 0x65, 0x16, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x16, 0x75, 0xF0, 0x08,
+0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, 0x74,
+0x19, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x24, 0x00, 0x75, 0x25, 0x00, 0x75,
+0x26, 0x19, 0x75, 0x27, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x56, 0x12, 0x57, 0xF9, 0x90, 0x93,
+0x56, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x9F, 0xE5, 0x16,
+0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, 0x8F,
+0x16, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x17, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, 0x01,
+0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, 0x43,
+0x18, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, 0x54,
+0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, 0x53,
+0xCB, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x53, 0xFE, 0x80, 0xFE, 0xE5, 0x2C, 0x30,
+0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x30, 0xE0, 0x52, 0x90, 0x93, 0x71,
+0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0x6E, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90,
+0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x9E, 0xE0,
+0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90, 0x93, 0xA0, 0x74, 0x01, 0xF0,
+0x90, 0x93, 0x98, 0xE0, 0xFF, 0x30, 0xE0, 0x0D, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x06, 0x90,
+0x93, 0x9A, 0x74, 0x01, 0xF0, 0x12, 0x45, 0x09, 0xF1, 0xBF, 0x90, 0x93, 0x71, 0xE4, 0xF0, 0xE5,
+0x2E, 0x30, 0xE1, 0x7D, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x62, 0xE0, 0xFE, 0x90,
+0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0A, 0xEC, 0x3E, 0xF5, 0x09, 0x90, 0x05, 0x22,
+0xE0, 0xB4, 0xFF, 0x06, 0x90, 0x01, 0xE6, 0xE0, 0x04, 0xF0, 0x90, 0x05, 0x22, 0xE0, 0x90, 0x01,
+0xE4, 0xF0, 0x43, 0x18, 0x40, 0x11, 0xF5, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0C, 0xE4, 0xFF,
+0xD1, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x1D,
+0x90, 0x01, 0x3B, 0xE0, 0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01,
+0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5,
+0x08, 0xC3, 0x94, 0xFF, 0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01,
+0xF0, 0xE5, 0x2E, 0x30, 0xE2, 0x7B, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x90, 0x05, 0x62, 0xE0,
+0xFE, 0x90, 0x05, 0x61, 0xE0, 0x7C, 0x00, 0x24, 0x00, 0xF5, 0x0C, 0xEC, 0x3E, 0xF5, 0x0B, 0xD3,
+0xE5, 0x0C, 0x95, 0x0A, 0xE5, 0x0B, 0x95, 0x09, 0x40, 0x06, 0x90, 0x01, 0xE5, 0xE0, 0x04, 0xF0,
+0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x0D, 0x90, 0x93, 0x39, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0xE0,
+0x64, 0x06, 0x60, 0x3D, 0x12, 0x4B, 0x90, 0x90, 0x93, 0x53, 0xE0, 0x60, 0x34, 0x90, 0x93, 0x4E,
+0xE0, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x4E, 0xE0, 0x90, 0x05, 0x73,
+0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x7D, 0x01, 0x7F,
+0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, 0x93, 0x37, 0xE0, 0x14,
+0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, 0xE5, 0x62, 0x64, 0x01,
+0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02,
+0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x42, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, 0x30, 0xE4, 0x2B, 0x90,
+0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, 0x60, 0x1C, 0x90, 0x01,
+0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE4, 0xF0, 0x53, 0x66,
+0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2E, 0x30, 0xE5, 0x1F, 0x90,
+0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x14, 0xE5, 0x65, 0x60, 0x10, 0x90, 0x93,
+0x50, 0xE0, 0x64, 0x02, 0x60, 0x05, 0x12, 0x51, 0x2B, 0x80, 0x03, 0x12, 0x4F, 0x1D, 0xE5, 0x2E,
+0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, 0x74, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65,
+0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x51, 0x9C, 0xE5, 0x2F,
+0x30, 0xE1, 0x18, 0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x08,
+0x90, 0x93, 0x9D, 0x74, 0x01, 0xF0, 0x80, 0x03, 0x12, 0x4E, 0xD6, 0x74, 0x63, 0x04, 0x90, 0x01,
+0xC4, 0xF0, 0x74, 0x59, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03,
+0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0,
+0x32, 0x8F, 0x71, 0x90, 0x05, 0x43, 0xE0, 0x7F, 0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0x22, 0x90,
+0x93, 0x01, 0xE0, 0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A,
+0x00, 0x79, 0x19, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x01, 0xD3, 0x10,
+0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, 0xFF,
+0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, 0x92,
+0x69, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, 0xFF,
+0xA3, 0xE0, 0xB5, 0x07, 0x0F, 0x12, 0x81, 0x51, 0xEF, 0x60, 0x72, 0x12, 0x82, 0x61, 0x90, 0x01,
+0x3F, 0x74, 0x02, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6B, 0xF9, 0x74,
+0x92, 0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x7E, 0x00,
+0x7F, 0x02, 0x12, 0x1E, 0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9,
+0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x93, 0xCB,
+0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC8, 0x12, 0x43, 0xA8, 0x12,
+0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x57,
+0xF9, 0x90, 0x92, 0x6A, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0xAE, 0x07, 0xE4, 0xFF, 0xD1, 0x91, 0xEF, 0x60, 0x19, 0x90, 0x93, 0x98, 0xE0, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x0D, 0xAF, 0x06, 0x7D, 0x01, 0x12, 0x48, 0xF4, 0x12, 0x67,
+0x4A, 0x7F, 0x01, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x93, 0x26, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x29,
+0xE0, 0x54, 0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x26, 0x12, 0x43,
+0xA8, 0x90, 0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x29, 0xC1, 0xBE, 0x90,
+0x93, 0xE0, 0xE0, 0x30, 0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x93, 0xDF, 0xE0, 0x04,
+0xF0, 0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x93, 0xE2, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0xDF, 0xF0,
+0x90, 0x93, 0xE2, 0xE0, 0xFF, 0x90, 0x93, 0xE1, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x8A, 0xA6,
+0xE4, 0x90, 0x93, 0xE2, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC,
+0xEF, 0x30, 0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF,
+0x05, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5,
+0x2B, 0x90, 0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3,
+0xE5, 0x2B, 0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32,
+0x43, 0x32, 0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32,
+0xF0, 0x22, 0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F,
+0x02, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, 0xE3, 0x02, 0x7F, 0x01,
+0x22, 0x90, 0x93, 0x72, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, 0x05, 0x7E,
+0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, 0xE2, 0x0D,
+0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01,
+0x64, 0x74, 0x20, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0,
+0x7F, 0x00, 0x30, 0xE4, 0x02, 0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x10,
+0xE0, 0x94, 0x88, 0x90, 0x93, 0x0F, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44,
+0x80, 0xF0, 0x22, 0x90, 0x93, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E,
+0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0x10, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x0F, 0xE0, 0x94,
+0x00, 0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x94, 0xE0, 0x44,
+0x01, 0xF0, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, 0x74, 0x7E, 0xF0,
+0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, 0x01, 0x9B, 0x74,
+0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, 0x90, 0x01, 0x98,
+0x04, 0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x05,
+0xC0, 0x06, 0xC0, 0x07, 0x7D, 0x33, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x61, 0xFF, 0xA3, 0xF0,
+0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, 0x3D, 0x90,
+0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, 0xE4, 0x06,
+0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, 0x74, 0x20,
+0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, 0x30, 0xE7,
+0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, 0x56, 0x74,
+0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, 0x3E, 0x30,
+0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, 0x00, 0x56,
+0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0,
+0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83,
+0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0,
+0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, 0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xDA, 0xF0,
+0x74, 0x61, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, 0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3,
+0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, 0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5,
+0x37, 0xE5, 0x34, 0x30, 0xE0, 0x1A, 0x90, 0x01, 0x3C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x98, 0xE0,
+0x30, 0xE0, 0x0D, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0xE5, 0x34, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x12, 0x44, 0x24, 0xE5, 0x34,
+0x30, 0xE2, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21,
+0x75, 0x48, 0x00, 0x90, 0x93, 0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01,
+0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80,
+0x08, 0x90, 0x93, 0x4C, 0xE4, 0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01,
+0x3C, 0x74, 0x08, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93,
+0x3C, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01,
+0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x49, 0xE4,
+0xF0, 0x12, 0x51, 0x9C, 0xE5, 0x34, 0x30, 0xE4, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0xE5,
+0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, 0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90,
+0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, 0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64,
+0xF0, 0x12, 0x50, 0xDC, 0x12, 0x51, 0x9C, 0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74,
+0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x6D,
+0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0,
+0x04, 0xF0, 0xE5, 0x36, 0x20, 0xE0, 0x02, 0x61, 0xAF, 0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0x90,
+0x93, 0x9E, 0xE0, 0x30, 0xE0, 0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E,
+0x91, 0xEF, 0x60, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x5F,
+0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x60, 0x3B, 0x91, 0x86, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0x64,
+0x06, 0x60, 0x30, 0xEF, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x04,
+0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09, 0x90,
+0x93, 0x99, 0xE0, 0xB4, 0x02, 0x04, 0x7F, 0x01, 0x91, 0xDA, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48,
+0xF4, 0xF1, 0x4A, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x75, 0x48, 0x00, 0x75, 0x49, 0x03, 0xE4,
+0xFB, 0xFD, 0x7F, 0x50, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x53, 0x74, 0x05, 0xF0, 0xE5,
+0x36, 0x30, 0xE1, 0x3C, 0x90, 0x01, 0x3E, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0x30, 0xE0,
+0x13, 0xA3, 0xE0, 0x64, 0x03, 0x60, 0x0D, 0x7F, 0x01, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x05, 0x7F,
+0x02, 0x12, 0x55, 0x11, 0x90, 0x93, 0x98, 0xE0, 0x30, 0xE0, 0x15, 0x12, 0x89, 0xF6, 0x90, 0x93,
+0x99, 0xE0, 0x64, 0x06, 0x60, 0x0A, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF, 0x70, 0x02, 0x91, 0xA8,
+0xE5, 0x36, 0x30, 0xE3, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xE5, 0x36, 0x30, 0xE4, 0x06,
+0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x04,
+0xF0, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, 0x30, 0xE6,
+0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, 0x3E, 0x74,
+0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, 0x18, 0x80,
+0xE5, 0x37, 0x30, 0xE4, 0x1B, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x46, 0xAC, 0x90, 0x93,
+0x4E, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x12, 0x5F, 0xBF,
+0x74, 0xDA, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0,
+0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0,
+0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x98, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03,
+0x30, 0xE0, 0x0A, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x04, 0x7F, 0x06, 0x91, 0xDA, 0x90, 0x93, 0x99,
+0xE0, 0x64, 0x06, 0x60, 0x02, 0xF1, 0x29, 0x22, 0x90, 0x93, 0x39, 0xE0, 0x60, 0x16, 0x90, 0x93,
+0x99, 0xE0, 0x70, 0x04, 0x7F, 0x05, 0x80, 0x1F, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x01, 0x70, 0x19,
+0x7F, 0x02, 0x80, 0x13, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0x7F, 0x03, 0x80, 0x08, 0x90,
+0x93, 0x99, 0xE0, 0x70, 0x04, 0x7F, 0x04, 0x91, 0xDA, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0,
+0xD0, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0x6F, 0x70, 0x02, 0xC1, 0xAC, 0xEF, 0x12, 0x43, 0xD1, 0x65,
+0x08, 0x00, 0x65, 0x43, 0x01, 0x65, 0x8A, 0x02, 0x65, 0xC5, 0x03, 0x65, 0xFE, 0x04, 0x66, 0x37,
+0x05, 0x66, 0x73, 0x06, 0x00, 0x00, 0x66, 0xAC, 0xEE, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56,
+0x81, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFF, 0xB4, 0x05, 0x04, 0xD1, 0xBB, 0xC1, 0xAC, 0xEF,
+0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06,
+0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xD1,
+0xF0, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80,
+0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04,
+0xD1, 0xE6, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0,
+0xC1, 0xAC, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0,
+0x64, 0x02, 0x60, 0x02, 0xC1, 0xAC, 0xD1, 0xC5, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04,
+0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1,
+0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04, 0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xFE,
+0xB4, 0x06, 0x06, 0x7F, 0x01, 0xD1, 0xD0, 0x80, 0x08, 0xEE, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0xD1,
+0xB1, 0xF1, 0x1C, 0xC1, 0xAC, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56,
+0x81, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0,
+0x70, 0x04, 0xD1, 0xE6, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF,
+0xD1, 0xD0, 0x80, 0x06, 0xEE, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x05, 0xC1, 0xAC, 0x90, 0x93,
+0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4, 0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06,
+0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90,
+0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1, 0xF0, 0x80, 0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05,
+0x02, 0xD1, 0xBB, 0xD1, 0xFB, 0x80, 0x75, 0x90, 0x93, 0x99, 0xE0, 0xFE, 0xB4, 0x06, 0x06, 0xE4,
+0xFF, 0xD1, 0xD0, 0x80, 0x13, 0xEE, 0xB4, 0x03, 0x06, 0x7F, 0x01, 0xD1, 0xB1, 0x80, 0x09, 0x90,
+0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x01, 0x04, 0xD1,
+0xF0, 0x80, 0x0C, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x05, 0x7F, 0x01, 0x12, 0x56, 0x81, 0xF1,
+0x0F, 0x80, 0x39, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x07, 0x7F, 0x01, 0x12, 0x56, 0x81, 0x80,
+0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05, 0x02, 0xD1, 0xBB, 0x90, 0x93, 0x99, 0xE0, 0x70, 0x04,
+0xD1, 0xE6, 0x80, 0x16, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x06, 0xE4, 0xFF, 0xD1, 0xB1, 0x80,
+0x09, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x02, 0xD1, 0xC5, 0xF1, 0x36, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x12, 0x51, 0x69, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x90, 0x93, 0x99, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x99, 0x04, 0xF0, 0x22,
+0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0xEF, 0x60, 0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90,
+0x93, 0x99, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x51, 0x05, 0x90, 0x93, 0x99, 0x74, 0x01, 0xF0, 0x22,
+0x7F, 0x01, 0x12, 0x50, 0x8A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x22, 0x12, 0x54, 0x0E, 0x90, 0x93,
+0x99, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x50, 0xB3, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0, 0x22, 0x90,
+0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x05, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74,
+0xFF, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x02, 0xF0, 0x22, 0x90, 0x93, 0x9D, 0xE0, 0xB4, 0x01, 0x05,
+0xE4, 0xF0, 0x12, 0x4E, 0xD6, 0x22, 0x90, 0x05, 0x27, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x05, 0x22,
+0x74, 0x6F, 0xF0, 0x90, 0x93, 0x99, 0x74, 0x06, 0xF0, 0x22, 0x90, 0x93, 0x99, 0xE0, 0x64, 0x06,
+0x60, 0x3C, 0xE5, 0x63, 0x54, 0x0F, 0x14, 0x60, 0x2E, 0x14, 0x60, 0x1E, 0x24, 0xFE, 0x60, 0x0E,
+0x24, 0xF8, 0x70, 0x2A, 0xE4, 0x90, 0x93, 0x99, 0xF0, 0x90, 0x05, 0x22, 0xF0, 0x22, 0x90, 0x93,
+0x99, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x99, 0x74, 0x03, 0xF0,
+0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x22, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x08, 0xF0, 0x22, 0xD3,
+0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x0F, 0xF0,
+0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x70, 0x03, 0x02, 0x68, 0xDA, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74,
+0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF,
+0xEF, 0x5D, 0x70, 0x03, 0x02, 0x68, 0xD3, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01,
+0xD0, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x75, 0x24, 0x01, 0x75, 0x25, 0x93, 0x75,
+0x26, 0x10, 0x75, 0x27, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x11, 0x12, 0x57, 0xF9, 0x90, 0x93,
+0x11, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0xE9, 0x30, 0xE0, 0x59, 0xE0,
+0x75, 0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93,
+0xE9, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0,
+0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93,
+0x14, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0,
+0x90, 0x93, 0x15, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43,
+0x9C, 0xE0, 0x90, 0x93, 0x16, 0xF0, 0x80, 0x33, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12,
+0x43, 0x9C, 0xE0, 0x90, 0x93, 0x12, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01,
+0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x13, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x75, 0xF0, 0x04,
+0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x14, 0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B,
+0x01, 0x7A, 0x93, 0x79, 0x12, 0x11, 0xDF, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x90, 0x93, 0xE9, 0xE0,
+0xFE, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93,
+0x0F, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33,
+0xD8, 0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x93, 0xE9, 0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0,
+0x02, 0x67, 0xA0, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90,
+0x93, 0x17, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, 0x69, 0x2E, 0x01, 0x69, 0x26, 0x02, 0x69,
+0x73, 0x03, 0x69, 0x7C, 0x05, 0x69, 0x85, 0x06, 0x69, 0xC8, 0x07, 0x69, 0x8D, 0x08, 0x69, 0x96,
+0x0B, 0x69, 0x9F, 0x1B, 0x69, 0xA7, 0x1C, 0x69, 0x37, 0x2D, 0x69, 0x40, 0x2E, 0x69, 0xAF, 0x30,
+0x69, 0x52, 0x34, 0x69, 0x49, 0x3B, 0x69, 0x5A, 0x47, 0x69, 0x6B, 0x48, 0x69, 0x63, 0x49, 0x69,
+0xB8, 0x4B, 0x00, 0x00, 0x69, 0xC1, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xB9, 0x90, 0x93,
+0x17, 0x12, 0x43, 0xA8, 0x02, 0x82, 0xC7, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xA8,
+0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x83, 0xF0, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02,
+0x84, 0x29, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xBF, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8,
+0x02, 0x84, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xD5, 0x90, 0x93, 0x17, 0x12, 0x43,
+0xA8, 0xE1, 0xCD, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x85, 0x14, 0x90, 0x93, 0x17, 0x12,
+0x43, 0xA8, 0x02, 0x80, 0x54, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x80, 0x3C, 0x90, 0x93, 0x17,
+0x12, 0x43, 0xA8, 0x02, 0x85, 0x5C, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x80, 0x80, 0x90,
+0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xC5, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0xE1, 0xA1, 0x90,
+0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x8A, 0xAB, 0x90, 0x93, 0x17, 0x12, 0x43, 0xA8, 0x02, 0x88,
+0x5A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, 0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0x90, 0x93, 0x1A,
+0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x20, 0xF0, 0x90,
+0x93, 0x1A, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC,
+0x83, 0x90, 0x93, 0x21, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84,
+0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1C, 0x12,
+0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43,
+0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, 0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0xFF, 0x90, 0x93, 0x23, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90,
+0x93, 0x1C, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x21, 0xE0,
+0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C,
+0x83, 0xA3, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0xFF, 0x24, 0xC2, 0xF5,
+0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFE, 0x75, 0xF0, 0x09,
+0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B,
+0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90,
+0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0x8F, 0x57, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, 0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24,
+0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09,
+0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, 0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5,
+0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5,
+0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12,
+0x43, 0xD1, 0x6B, 0x57, 0x00, 0x6B, 0x6C, 0x01, 0x6B, 0x81, 0x02, 0x6B, 0x96, 0x03, 0x6B, 0xBF,
+0x04, 0x6B, 0xD4, 0x05, 0x6B, 0xE9, 0x06, 0x6C, 0x0F, 0x0C, 0x6C, 0x3C, 0x0D, 0x6C, 0x69, 0x0E,
+0x6C, 0x96, 0x0F, 0x00, 0x00, 0x6C, 0xCA, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, 0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0,
+0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80,
+0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0,
+0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34,
+0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5,
+0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0x8F, 0xF0, 0x81, 0xCA, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3,
+0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5,
+0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, 0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0,
+0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x81, 0xCA, 0x90,
+0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x46, 0xE0,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x45, 0xE0,
+0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, 0x81, 0xC1, 0x90, 0x04, 0x4B, 0xE0,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x49, 0xE0, 0x85, 0x59, 0x82,
+0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, 0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83,
+0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01,
+0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04,
+0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C,
+0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61,
+0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5,
+0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E,
+0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0,
+0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xC0, 0x83,
+0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82,
+0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF,
+0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0,
+0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3,
+0xE0, 0x4E, 0x60, 0x4B, 0x90, 0x93, 0x26, 0x74, 0x0B, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3,
+0x94, 0x00, 0x50, 0x02, 0xC1, 0x0F, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3,
+0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x0A, 0x90, 0x93, 0x26,
+0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBB, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0,
+0x4E, 0x60, 0x47, 0x90, 0x93, 0x26, 0x74, 0x0F, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94,
+0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33,
+0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0xA3, 0xF0,
+0x80, 0x0D, 0x90, 0x93, 0x26, 0xE0, 0x14, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0,
+0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x10,
+0x40, 0x02, 0xC1, 0xC8, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE,
+0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90,
+0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x06, 0x90, 0x93, 0x26, 0xE0, 0x80,
+0x63, 0x90, 0x93, 0x26, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5,
+0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93,
+0x26, 0xF0, 0x90, 0x93, 0x26, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, 0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00,
+0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25,
+0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F,
+0x4E, 0x60, 0x08, 0x90, 0x93, 0x26, 0xE0, 0x24, 0x10, 0x80, 0x09, 0x90, 0x93, 0x26, 0xE0, 0x04,
+0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x28, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0xFF, 0x75, 0xF0, 0x09,
+0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, 0x90, 0x93, 0x28, 0xE0, 0xFE, 0x75,
+0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94,
+0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3,
+0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83,
+0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x28, 0xE0, 0xA3, 0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74,
+0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x27, 0xE0,
+0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x29, 0xEE, 0xF0, 0x80, 0x17, 0x90, 0x93, 0x28,
+0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x27, 0xE0,
+0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0xFD, 0xAF, 0x57, 0x12, 0x70, 0x63, 0x90, 0x93,
+0x29, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0,
+0x90, 0x93, 0x27, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0,
+0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3,
+0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0,
+0x22, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13,
+0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0x21, 0xDD, 0x12, 0x1E, 0xF6, 0xF5, 0x62, 0x22, 0x90,
+0x93, 0x1A, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x90, 0x89, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6,
+0x90, 0x93, 0x6F, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE,
+0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xCE,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0xD1, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F,
+0xC4, 0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x93, 0xCE, 0x12, 0x43, 0xA8, 0x90,
+0x93, 0xCB, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xD1, 0x12, 0x5E, 0xBE, 0xD0, 0xD0,
+0x92, 0xAF, 0x22, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54,
+0xF0, 0xFD, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0,
+0x54, 0x0F, 0x80, 0x10, 0xEF, 0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5,
+0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0,
+0x4D, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E,
+0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x2A, 0x74, 0x27,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0x8B, 0xEF, 0xF0, 0x24,
+0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x8C, 0xF0, 0x7B, 0x01, 0x7A,
+0x93, 0x79, 0x8B, 0x7D, 0x02, 0x12, 0x6F, 0xE6, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x8F, 0x52, 0x8D,
+0x53, 0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x03, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0x88, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x01, 0xF0, 0x90, 0x93, 0x04, 0x74, 0x01, 0xF0, 0xEB, 0xC3,
+0x94, 0x01, 0x40, 0x02, 0x80, 0x3B, 0x90, 0x93, 0x01, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3,
+0xE0, 0x90, 0x41, 0x9E, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x13, 0x74, 0x01, 0x25, 0x52, 0xF5,
+0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x01, 0x63, 0x90, 0x93,
+0x02, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, 0xF0,
+0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93,
+0x06, 0xF0, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90,
+0x93, 0x05, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0,
+0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D,
+0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89,
+0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25,
+0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0,
+0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D,
+0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x06,
+0xE0, 0xFF, 0x90, 0x93, 0x05, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x05, 0xE0,
+0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74,
+0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74,
+0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0,
+0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05,
+0x90, 0x93, 0x05, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60,
+0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, 0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04,
+0xCF, 0x04, 0xF0, 0x90, 0x93, 0x05, 0xE0, 0xFF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50,
+0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93,
+0x1F, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54,
+0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x22, 0xF0,
+0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x24, 0xF0, 0x75,
+0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x25, 0xF0, 0xEC,
+0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90,
+0x93, 0x26, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x28, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74,
+0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C,
+0x90, 0x93, 0x25, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0xED, 0x70, 0x02, 0x61,
+0xA3, 0x90, 0x93, 0x23, 0xED, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x22,
+0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0x70,
+0x02, 0x61, 0xA3, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0x61, 0xA3, 0xE4,
+0x90, 0x93, 0x21, 0xF0, 0xEF, 0x14, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x24, 0xE0, 0xFD, 0x90,
+0x93, 0x20, 0xE0, 0xFF, 0xD3, 0x9D, 0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0,
+0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+0xF9, 0xFF, 0x90, 0x93, 0x28, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93,
+0x20, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80,
+0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x26, 0xE0, 0x5E, 0xFE, 0xA3,
+0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90, 0x93, 0x20, 0xE0, 0x90, 0x93, 0x1F, 0xF0, 0x90, 0x93, 0x21,
+0xE0, 0x04, 0xF0, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0x6F, 0x60, 0x08, 0x90,
+0x93, 0x20, 0xE0, 0x14, 0xF0, 0x80, 0x83, 0x90, 0x93, 0x23, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0,
+0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93, 0x20, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x24, 0xE0, 0x90,
+0x93, 0x1F, 0xF0, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5,
+0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13,
+0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83,
+0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x90, 0x93, 0x1F, 0xE0, 0xFD, 0x11, 0x63, 0x90, 0x93,
+0x1F, 0xE0, 0xFF, 0x22, 0xAD, 0x07, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x11, 0x74,
+0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x1F, 0xF0,
+0x90, 0x93, 0x1F, 0xE0, 0xF9, 0x54, 0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88,
+0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90, 0x93, 0x22, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82,
+0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x23, 0xCB, 0xF0, 0xA3, 0xEB,
+0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3,
+0xE0, 0x90, 0x93, 0x25, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFE, 0x25, 0xE0,
+0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB,
+0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB,
+0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02, 0xA1, 0x51, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x74, 0x28, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x21, 0xF0, 0x90,
+0x93, 0x22, 0xE0, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xA1, 0x8B, 0xEE,
+0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08,
+0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x23, 0xE0, 0x5E, 0xFE,
+0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59,
+0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9,
+0xFF, 0x90, 0x93, 0x25, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x21,
+0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93, 0x24, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x21, 0x74, 0x17,
+0xF0, 0x90, 0x93, 0x21, 0xE0, 0xFF, 0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93,
+0x23, 0xE0, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x21, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x21, 0xE0, 0x90,
+0x93, 0x20, 0xF0, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x42, 0x90, 0x93, 0x21, 0xE0, 0x04, 0xF0, 0x81,
+0xAF, 0x90, 0x93, 0x22, 0xE0, 0xFC, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A,
+0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x20, 0xE0,
+0x44, 0x40, 0x90, 0x93, 0x1F, 0xF0, 0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x20, 0xE0, 0xFF,
+0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01,
+0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01,
+0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24,
+0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90,
+0x93, 0x20, 0xE0, 0xD3, 0x9C, 0x40, 0x5E, 0x90, 0x93, 0x22, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x20, 0xEF, 0xF0, 0x90, 0x93, 0x1F,
+0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83,
+0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13,
+0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3,
+0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74, 0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4,
+0xF0, 0xAF, 0x05, 0x90, 0x93, 0x1F, 0xE0, 0x44, 0x80, 0xFD, 0x11, 0x63, 0x90, 0x93, 0x1F, 0xE0,
+0x44, 0x80, 0xFF, 0x22, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94,
+0x40, 0x40, 0x03, 0x02, 0x7E, 0x57, 0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0,
+0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, 0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93,
+0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60,
+0x03, 0x02, 0x7E, 0x4E, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83,
+0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, 0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x7E, 0x4E, 0x90,
+0x93, 0x0F, 0xE0, 0x94, 0x20, 0x40, 0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x7E, 0x57,
+0x90, 0x93, 0x0F, 0xE0, 0x75, 0xF0, 0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75,
+0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34,
+0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, 0xE0, 0x90, 0x93, 0x14, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF,
+0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90,
+0x93, 0x16, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50,
+0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93,
+0x10, 0xF0, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x10, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0xFE, 0x54, 0x1F, 0xA3,
+0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0,
+0x90, 0x93, 0x19, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3,
+0x94, 0x05, 0x40, 0x03, 0x02, 0x79, 0xEC, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x90, 0x93, 0x11, 0xE0,
+0x9F, 0x40, 0x13, 0x90, 0x93, 0x19, 0xE0, 0x90, 0x93, 0x11, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90,
+0x93, 0x10, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, 0x93, 0x11, 0xE0, 0xFF, 0x90, 0x41, 0x12, 0x93, 0xFE,
+0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E,
+0x40, 0x06, 0xEF, 0x90, 0x40, 0xDA, 0x80, 0x07, 0x90, 0x93, 0x11, 0xE0, 0x90, 0x40, 0xF6, 0x93,
+0x90, 0x93, 0x18, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x50, 0xF9, 0x74,
+0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, 0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x0F, 0xE0,
+0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90,
+0x93, 0x12, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE,
+0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F,
+0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8,
+0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB,
+0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A,
+0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C,
+0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00,
+0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0,
+0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC,
+0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA,
+0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x14, 0xE0,
+0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12,
+0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0xF0, 0x80, 0x07,
+0xE4, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x12, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90,
+0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0,
+0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x10, 0xE0, 0x25, 0xE0, 0x24, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x41,
+0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, 0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02,
+0x21, 0xBB, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83,
+0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E,
+0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34,
+0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0,
+0xC3, 0x9E, 0x90, 0x93, 0x1A, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80,
+0x23, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0,
+0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0,
+0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5,
+0x83, 0xE0, 0x60, 0x02, 0x81, 0xFC, 0x12, 0x73, 0xF4, 0x81, 0xFC, 0x90, 0x93, 0x10, 0xE0, 0x25,
+0xE0, 0x24, 0x66, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93,
+0xFF, 0xC3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x40, 0x02, 0x81, 0xFC,
+0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x72, 0x29, 0x81, 0xFC, 0x90, 0x93, 0x0F, 0xE0,
+0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02,
+0x61, 0xCA, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x03, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94,
+0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, 0x02, 0x0B, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94, 0x11,
+0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, 0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x11, 0xE0,
+0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, 0xEE, 0x70, 0x11, 0x90, 0x93, 0x11, 0xE0, 0xC3, 0x94,
+0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, 0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0,
+0x90, 0x93, 0x0F, 0xE0, 0xFE, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90,
+0x93, 0x1E, 0xF0, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3,
+0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0x61, 0x75, 0x90, 0x8E,
+0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x61, 0x6A, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, 0x0A, 0x60, 0x5B, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xEE,
+0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83,
+0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x0F,
+0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34,
+0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90,
+0x93, 0x0F, 0xE0, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93,
+0x11, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E,
+0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, 0x40, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80,
+0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, 0x1E, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74,
+0x01, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83,
+0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93,
+0x0F, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x0F, 0xE0, 0xFF,
+0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x90,
+0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93,
+0x11, 0xE0, 0xFE, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xEE, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C,
+0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4,
+0x01, 0x11, 0xE4, 0x90, 0x93, 0x1E, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5,
+0x83, 0xE4, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x81, 0xF9, 0xEC, 0x64, 0x06, 0x60, 0x02, 0x81,
+0xFC, 0x90, 0x93, 0x12, 0xF0, 0xA3, 0xF0, 0x90, 0x41, 0xDB, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93,
+0x14, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x1C, 0xEE, 0xF0, 0xA3, 0xEF,
+0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90,
+0x93, 0x1E, 0xF0, 0xE4, 0x90, 0x93, 0x1B, 0xF0, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0xD3, 0x94, 0x04,
+0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85,
+0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0xEF, 0x90, 0x41, 0xD6, 0x93, 0xFF, 0x7E, 0x00,
+0x12, 0x1F, 0x3C, 0x90, 0x93, 0x12, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x1C, 0xE0,
+0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, 0x13, 0xE0, 0x9F, 0x90, 0x93, 0x12, 0xE0, 0x9E, 0x50,
+0x08, 0x90, 0x93, 0x1B, 0xE0, 0x04, 0xF0, 0x80, 0xAF, 0x90, 0x93, 0x1B, 0xE0, 0xC3, 0x13, 0xF0,
+0x90, 0x93, 0x1E, 0xE0, 0xFF, 0xB4, 0x01, 0x0D, 0x90, 0x93, 0x1B, 0xE0, 0x70, 0x5D, 0x90, 0x93,
+0x1E, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, 0x03, 0x1D, 0x90, 0x93, 0x1B, 0xE0, 0xFF, 0x70, 0x08,
+0x90, 0x93, 0x1E, 0x74, 0x03, 0xF0, 0x80, 0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x1E, 0x74,
+0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, 0x93, 0x1E, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93,
+0x1B, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x1E, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93,
+0x1E, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x17,
+0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x1E, 0xF0,
+0xD3, 0x90, 0x93, 0x17, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x16, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4,
+0x90, 0x93, 0x1E, 0xF0, 0x90, 0x93, 0x1E, 0xE0, 0xFD, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x24, 0xC4,
+0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xED, 0xF0, 0x12, 0x70, 0x23, 0x90, 0x93, 0x0F, 0xE0,
+0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F,
+0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90,
+0x93, 0x0F, 0xE0, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93,
+0x16, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90,
+0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0,
+0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, 0x50, 0x1C, 0x90, 0x93, 0x16, 0xE0, 0xFE, 0xA3, 0xE0,
+0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0,
+0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93, 0x0F, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25, 0xE0,
+0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74,
+0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34,
+0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x0F, 0xE0, 0x50,
+0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12,
+0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74,
+0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90,
+0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43,
+0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0x25,
+0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25,
+0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25,
+0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93,
+0x0F, 0xE0, 0x04, 0xF0, 0x02, 0x76, 0x59, 0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74,
+0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F,
+0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, 0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5,
+0x83, 0xE4, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0,
+0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0xFF, 0xC3,
+0x94, 0x40, 0x40, 0x03, 0x02, 0x80, 0x53, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43,
+0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4,
+0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3,
+0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75,
+0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83,
+0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0,
+0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x8E, 0x04, 0xF0, 0x90, 0x41, 0x8C, 0x93, 0xFE, 0x74,
+0x01, 0x93, 0xFF, 0x90, 0x41, 0x54, 0x74, 0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13,
+0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x0F, 0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B,
+0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C,
+0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0,
+0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75,
+0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75,
+0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED,
+0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0x74, 0x13, 0xF0, 0x90, 0x93, 0x0F, 0xE0, 0x04, 0xF0,
+0x02, 0x7E, 0x9A, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0,
+0x22, 0xEF, 0xB4, 0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3,
+0x94, 0x40, 0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25,
+0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93,
+0x1A, 0xF0, 0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5,
+0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x1C, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3,
+0x74, 0xFF, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0,
+0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x20, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5,
+0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x22, 0xF0, 0xEE, 0xA3,
+0xF0, 0xA3, 0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x1A, 0x02, 0x5F,
+0x97, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x93, 0xDB, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xA3, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0xDB, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0x60, 0x2C,
+0xC3, 0x90, 0x93, 0xDE, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xDD, 0xE0, 0x94, 0x03, 0x40, 0x0A, 0x90,
+0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xDD, 0xE4, 0x75, 0xF0, 0x01,
+0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, 0x7F, 0x01, 0x22, 0xD3,
+0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x68, 0xE0,
+0xFF, 0x04, 0xF0, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x31, 0x51, 0xEF, 0x70, 0x02, 0x41,
+0x5C, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02,
+0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B,
+0x24, 0x8A, 0x25, 0x89, 0x26, 0x90, 0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4,
+0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0x12, 0x57, 0xF9, 0x90, 0x01, 0xAF,
+0x74, 0xFF, 0xF0, 0x90, 0x93, 0x70, 0xE0, 0x64, 0x01, 0x70, 0x4A, 0x90, 0x93, 0xC2, 0x12, 0x43,
+0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x27, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, 0x20,
+0x12, 0x57, 0xF9, 0x90, 0x93, 0xC5, 0x12, 0x43, 0xA8, 0x8B, 0x24, 0x8A, 0x25, 0x89, 0x26, 0x90,
+0x93, 0xC2, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x27, 0x7B, 0x01,
+0x7A, 0xFD, 0x79, 0x22, 0x12, 0x57, 0xF9, 0x90, 0x93, 0x54, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82,
+0x8E, 0x83, 0x74, 0xFF, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4,
+0x24, 0x6B, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75,
+0xF0, 0x0F, 0xA4, 0x24, 0x6D, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x90, 0x93, 0xC5, 0x12, 0x43,
+0xC8, 0xD0, 0x01, 0xD0, 0x02, 0x31, 0x9F, 0x90, 0x92, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A,
+0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D,
+0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE4, 0x90, 0x92, 0x69, 0xF0,
+0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93,
+0x1A, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x1D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93,
+0x1A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x50, 0xF0, 0x90, 0x00,
+0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x33, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54,
+0x01, 0x90, 0x93, 0x34, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3E, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x3B, 0xF0, 0xEF, 0x13, 0x13,
+0x13, 0x54, 0x01, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54,
+0x01, 0x90, 0x93, 0x3D, 0xF0, 0xEF, 0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x52, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x40, 0xF0, 0xE0, 0x70,
+0x38, 0x90, 0x93, 0x3E, 0xE0, 0x70, 0x10, 0xFF, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, 0x0F, 0x7F, 0x01, 0x12, 0x50, 0x56, 0x90, 0x93, 0x1D, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x90, 0x93, 0x1D, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12,
+0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x34, 0xE0, 0x70, 0x03, 0x12,
+0x4F, 0x63, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x4C, 0xDF, 0x90, 0x93, 0x50, 0xE0, 0x90,
+0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30,
+0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x3F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x93, 0x42, 0xF0, 0xEF, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0x90, 0x93, 0x47, 0xF0, 0x22, 0x90, 0x93, 0x3F, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x42,
+0x74, 0x05, 0xF0, 0x90, 0x93, 0x3C, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x47, 0x74, 0x05, 0xF0, 0x22,
+0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19, 0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x46, 0xF0, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90,
+0x93, 0x46, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x44, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93,
+0x44, 0xE0, 0xA3, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x43, 0xF0,
+0x60, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x48, 0xF4, 0x90, 0x93, 0x34, 0xE0, 0x60, 0x09, 0x90,
+0x93, 0x4D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0x63, 0x12, 0x51, 0x4C, 0x90, 0x93, 0x43, 0xE0, 0x90,
+0x01, 0xE7, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x2D, 0xE0, 0x54,
+0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0, 0x54, 0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54,
+0x70, 0xFF, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0x8F, 0x4F, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0x90, 0x93, 0x2F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x30, 0xF0, 0x90, 0x00,
+0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x31, 0xF0, 0x90, 0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20,
+0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3, 0x94, 0x20, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74,
+0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x02, 0xF0,
+0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x03, 0xF0, 0x80, 0x3B,
+0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3,
+0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x05, 0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0,
+0x50, 0x08, 0x90, 0x93, 0x2E, 0x74, 0x06, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93,
+0x2E, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03, 0x74, 0x08, 0xF0, 0x90, 0x93, 0x2E, 0xE0, 0x90,
+0x93, 0x32, 0xF0, 0x22, 0x90, 0x02, 0x09, 0xE0, 0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED,
+0x2E, 0x90, 0x93, 0x67, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93,
+0x68, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0x90,
+0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0x6A, 0xF0, 0x90, 0x00, 0x04, 0x12,
+0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F, 0x90, 0x93, 0x6B, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01,
+0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x12, 0x1E,
+0xF6, 0xC3, 0x13, 0x20, 0xE0, 0x02, 0xC1, 0xB6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E,
+0xF6, 0xFF, 0x54, 0x02, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54,
+0x01, 0xFF, 0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF,
+0x54, 0xF7, 0x4D, 0xFF, 0x90, 0x93, 0x9E, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E,
+0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x20, 0xFD, 0xEF, 0x54, 0xDF, 0x4D, 0xFF, 0x90, 0x93,
+0x9E, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0xEF, 0x54, 0xBF, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xC1, 0xA2,
+0x90, 0x93, 0x1D, 0x74, 0x21, 0xF0, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF,
+0x13, 0x13, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x54, 0x01, 0x6E, 0x60,
+0x31, 0xEF, 0x54, 0x04, 0xFF, 0xED, 0x54, 0xFB, 0x4F, 0xF0, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30,
+0xE0, 0x15, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93,
+0x1D, 0xE0, 0x44, 0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0xA0, 0xF0, 0x7D, 0x40, 0xFF, 0x12,
+0x3A, 0x22, 0x90, 0x93, 0x9E, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90,
+0x93, 0x1D, 0xE0, 0x44, 0x12, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D,
+0xE0, 0x44, 0x14, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x07, 0x90,
+0x93, 0x1D, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x93, 0x9E, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20,
+0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27,
+0xF0, 0x90, 0x93, 0x9F, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x11, 0x90, 0x93, 0x9E, 0xE0,
+0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x04, 0x7F, 0x03, 0x80, 0x0E, 0x7F, 0x01, 0x12, 0x5E,
+0x91, 0xEF, 0x60, 0x04, 0x7F, 0x01, 0x80, 0x02, 0x7F, 0x02, 0x12, 0x55, 0x11, 0x7F, 0x02, 0x02,
+0x88, 0x14, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27, 0xF0, 0xE4, 0xFF, 0x12, 0x55,
+0x11, 0x7F, 0x03, 0x02, 0x88, 0x14, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF,
+0x54, 0x02, 0xFE, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFD, 0x4E, 0xFE, 0xF0, 0xEF, 0x54, 0x01, 0xFF,
+0xEE, 0x54, 0xFE, 0x4F, 0xFF, 0xF0, 0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x08, 0xFD, 0xEF, 0x54, 0xF7,
+0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0, 0xEE, 0x54, 0x10, 0xFE, 0xEF, 0x54, 0xEF, 0x4E, 0xFF, 0xF0,
+0x12, 0x1E, 0xF6, 0xFE, 0x54, 0x40, 0xFD, 0xEF, 0x54, 0xBF, 0x4D, 0xFF, 0x90, 0x93, 0x98, 0xF0,
+0xEE, 0x54, 0x04, 0xFE, 0xEF, 0x54, 0xFB, 0x4E, 0xF0, 0x20, 0xE0, 0x02, 0xE1, 0xC7, 0x90, 0x93,
+0x1D, 0x74, 0x31, 0xF0, 0x90, 0x93, 0x98, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x15, 0x90,
+0x01, 0x34, 0x74, 0x40, 0xF0, 0xFD, 0xE4, 0xFF, 0x12, 0x3A, 0x93, 0x90, 0x93, 0x1D, 0xE0, 0x44,
+0x08, 0xF0, 0x80, 0x0B, 0xE4, 0x90, 0x93, 0x9A, 0xF0, 0x7D, 0x40, 0xFF, 0x12, 0x3A, 0x22, 0x90,
+0x93, 0x98, 0xE0, 0xFD, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0,
+0x44, 0x02, 0xF0, 0xED, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x07, 0x90, 0x93, 0x1D, 0xE0, 0x44, 0x04,
+0xF0, 0x90, 0x93, 0x1D, 0xE0, 0x54, 0x0E, 0x60, 0x0C, 0x90, 0x01, 0x3E, 0x74, 0x03, 0xF0, 0xFD,
+0x7F, 0x02, 0x12, 0x3A, 0xAD, 0x90, 0x93, 0x1D, 0xE0, 0x90, 0x05, 0x27, 0xF0, 0x90, 0x93, 0x98,
+0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x0D, 0xA3, 0xE0, 0x64, 0x06, 0x60, 0x33,
+0x7F, 0x06, 0x12, 0x64, 0xDA, 0x80, 0x2C, 0x90, 0x05, 0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93,
+0x99, 0xE0, 0xB4, 0x06, 0x1B, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0xE4, 0xFF, 0x12, 0x5E, 0x91, 0xEF,
+0x60, 0x09, 0x7D, 0x01, 0xAF, 0x64, 0x12, 0x48, 0xF4, 0x80, 0x05, 0x12, 0x64, 0xA8, 0x80, 0x03,
+0x12, 0x67, 0x4A, 0x7F, 0x01, 0x80, 0x4D, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, 0x90, 0x05, 0x27,
+0xF0, 0x7D, 0x03, 0x7F, 0x02, 0x12, 0x3A, 0x3F, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x06, 0x02, 0x80,
+0x1B, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x04, 0x02, 0x80, 0x07, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x05,
+0x04, 0xE4, 0xFF, 0x80, 0x14, 0x90, 0x93, 0x99, 0xE0, 0xB4, 0x03, 0x04, 0x7F, 0x01, 0x80, 0x09,
+0x90, 0x93, 0x99, 0xE0, 0xB4, 0x02, 0x05, 0x7F, 0x01, 0x12, 0x64, 0xDA, 0x12, 0x67, 0x29, 0x12,
+0x51, 0x9C, 0x7F, 0x03, 0x11, 0x1B, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0xEF, 0x64, 0x01,
+0x60, 0x04, 0xEF, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x9E, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0,
+0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xED, 0x64, 0x02, 0x60, 0x04,
+0xED, 0xB4, 0x03, 0x15, 0x90, 0x93, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x6D,
+0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x6E, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE5,
+0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, 0x60, 0x43, 0xC3, 0x90, 0x93, 0xE6, 0xE0,
+0x94, 0x88, 0x90, 0x93, 0xE5, 0xE0, 0x94, 0x13, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04,
+0xF0, 0x7F, 0x00, 0x22, 0x90, 0x93, 0xE5, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14,
+0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x93, 0xE6, 0xE0, 0x94, 0x64, 0x90, 0x93, 0xE5, 0xE0,
+0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01,
+0x22, 0x90, 0x93, 0xA4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xA8, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00,
+0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43,
+0x73, 0x50, 0x41, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xA4, 0x12, 0x43,
+0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, 0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01,
+0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, 0x90, 0x93, 0xA8, 0x12, 0x43, 0x84, 0xEF,
+0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xA8, 0x12,
+0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xA8, 0x02, 0x43, 0x84, 0x90, 0x93, 0x73, 0x12, 0x1F, 0xC9,
+0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0x77, 0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73,
+0x90, 0x93, 0x73, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x7F, 0x12, 0x1F,
+0xC9, 0x90, 0x93, 0x77, 0x12, 0x43, 0x84, 0x11, 0xC1, 0x90, 0x93, 0x83, 0x12, 0x1F, 0xC9, 0x90,
+0x93, 0x77, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, 0x93, 0x7F, 0x12, 0x43, 0x90, 0x12, 0x43,
+0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x83, 0x12, 0x43, 0x84, 0xA9,
+0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02,
+0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, 0x87, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0x73,
+0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0x87, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0,
+0x06, 0xC0, 0x07, 0x90, 0x93, 0x7B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0,
+0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x9F, 0x74,
+0x04, 0xF0, 0x22, 0x12, 0x56, 0x01, 0x80, 0xEE, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x05,
+0x27, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x12, 0x56, 0x14, 0x90,
+0x93, 0x9F, 0x74, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x57, 0xE0, 0x60, 0x3C, 0x90, 0x01, 0x57, 0xE4,
+0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x51, 0xE0, 0x60, 0x07, 0xE4, 0xF0, 0x53,
+0x66, 0xFD, 0x80, 0x24, 0x90, 0x93, 0x38, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, 0x3F,
+0xE0, 0xFF, 0x90, 0x93, 0x38, 0xE0, 0xD3, 0x9F, 0x40, 0x0E, 0xE5, 0x62, 0xB4, 0x01, 0x09, 0x90,
+0x93, 0x39, 0xE0, 0x70, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x5B, 0xE0, 0x60, 0x10, 0x90, 0x01,
+0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x4C, 0xF0, 0x90, 0x01,
+0x5F, 0xE0, 0x60, 0x10, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0xE4,
+0x90, 0x93, 0x49, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xE7, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0,
+0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3, 0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01,
+0x22, 0xD3, 0x90, 0x93, 0xE8, 0xE0, 0x94, 0xE8, 0x90, 0x93, 0xE7, 0xE0, 0x94, 0x03, 0x40, 0x03,
+0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x93, 0xE7, 0xE4, 0x75, 0xF0,
+0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0xE4, 0xFF, 0x02, 0x4E, 0x8B, 0x90, 0x93, 0x1A, 0x12, 0x43,
+0xC8, 0x12, 0x1E, 0xF6, 0x54, 0x01, 0xFF, 0x90, 0x93, 0xE0, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0,
+0x30, 0xE0, 0x02, 0x51, 0xA6, 0x90, 0x93, 0x1A, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13,
+0x30, 0xE0, 0x0A, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0xE1, 0xF0, 0x22, 0x7E, 0xBF,
+};
+
+#ifdef CONFIG_MP_INCLUDED//BT_MP 16980 const u1Byte Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] = {
+u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] = {
+0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x55,0xB2,0xCD,0xF7,0x12,0x6B,0x6B,0xEB,0x51,0xB7,0x60,0xCA,0x53,0xB2,0x64,0xF3,0x13,0x6B,0x6B,0xEB,0xE8,0x4F,0x60,0xCA,0x51,0xB2,0x00,0x6B,0x40,0xF0,0x6C,0xC7,0x60,0xC2,0xC0,0xF0,0x58,0x9F,0x4F,0xB3,0x51,0xB0,0x00,0x69,0x6D,0xEA,0xC0,0xF0,0x58,0xDF,0x45,0xF1,0x09,0x6A,0x00,0xF1,0x50,0xCF,0x0E,0xF0,0x1D,0x6A,0x80,0xF1,0x62,0xA7,0x43,0xDF,0x48,0xB2,0x25,0xDF,0x26,0xDF,0x44,0xDF,0x68,0x32,0x69,0xE2,0x46,0xB3,0x44,0x32,0x27,0xDF,0x28,0xDF,0x29,0xDF,0x40,0xCB,0x90,0x67,0xB1,0x67,0x30,0x6E,0x00,0x18,0x64,0x2E,0x04,0xD7,0x01,0x6A,0x4B,0xEA,0x47,0xD8,0x41,0xB3,0x40,0x98,0x42,0xB4,0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x4D,0xC0,0x3D,0xB2,0x0C,0x6E,0x00,0x18,0x64,0x2E,0x20,0xC2,0x30,0xB3,0x03,0x6A,0x30,0xB5,0x80,0x9B,0x02,0x6B,0x6B,0xEB,0x6C,0xEC,0x4B,0xEA,0x4C,0xEC,0x05,0x6A,0x4B,0xEA,0x4C,0xEC,0x40,0x9D,0x6C,0xEA,0x40,0xDD,0x04,0x97,0x0E,0xF0,0x1D,0x6A,0x34,0xB3,0x43,0xDF,0x32,0xB2,0x60,0xDA,0x34,0xB3,0x33,0xB2,0x60,0xDA,0x35,0xB3,0x33,0xB2,0x60,0xDA,0x35,0xB3,0x34,0xB2,0x60,0xDA,0x36,0xB3,0x34,0xB2,0x60,0xDA,0x36,0xB3,0x35,0xB2,0x60,0xDA,0x37,0xB3,0x35,0xB2,0x60,0xDA,0x37,0xB3,0x36,0xB2,0x60,0xDA,0x38,0xB3,0x36,0xB2,0x60,0xDA,0x38,0xB3,0x37,0xB2,0x60,0xDA,0x39,0xB3,0x37,0xB2,0x60,0xDA,0x39,0xB3,0x38,0xB2,0x60,0xDA,0x3A,0xB3,0x38,0xB2,0x60,0xDA,0x3A,0xB3,0x39,0xB2,0x60,0xDA,0x3B,0xB3,0x39,0xB2,0x60,0xDA,0x3B,0xB3,0x3A,0xB2,0x60,0xDA,0x3B,0xB2,0x3C,0xB3,0x20,0xCA,0x3A,0xB2,0x60,0xDA,0x3B,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x20,0xCA,0x3A,0xB2,0x60,0xCA,0x3A,0xB2,0x20,0xDA,0x3A,0xB2,0x20,0xDA,0x3A,0xB2,0x06,0xB3,0x4C,0xEC,0x39,0xB2,0x4D,0xEC,0x80,0x18,0x5A,0x37,0x80,0xDB,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0xF4,0x00,0x11,0x80,0xF0,0x00,0x11,0x80,0xD0,0x04,0x11,0x80,0xD2,0x04,0x11,0x80,0xCA,0xA0,0x11,0x80,0x00,0x00,0x00,0x18,0x58,0xC5,0xC8,0x19,0x08,0xA1,0x11,0x80,0xCC,0xA0,0x11,0x80,0x00,0x00,0x00,0x70,0x1C,0xA1,0x11,0x80,0xFC,0xA0,0x11,0x80,0xBC,0x00,0x11,0x80,0x51,0xA9,0x10,0x80,0x44,0x00,0x11,0x80,0x4D,0xA3,0x10,0x80,0x4C,0x05,0x11,
+0x80,0x55,0xAE,0x10,0x80,0x44,0x05,0x11,0x80,0x59,0xD1,0x10,0x80,0x58,0x09,0x11,0x80,0xF5,0xD4,0x10,0x80,0x3C,0x00,0x11,0x80,0x35,0xA6,0x10,0x80,0xA0,0x05,0x11,0x80,0x51,0xAB,0x10,0x80,0xC4,0x05,0x11,0x80,0xF1,0xA9,0x10,0x80,0x5C,0x05,0x11,0x80,0xBD,0xDB,0x10,0x80,0x90,0x06,0x11,0x80,0x7D,0xCA,0x10,0x80,0x98,0x07,0x11,0x80,0xB5,0xCD,0x10,0x80,0xA0,0x07,0x11,0x80,0x1D,0xCF,0x10,0x80,0x9C,0x07,0x11,0x80,0xC5,0xCF,0x10,0x80,0xEC,0x04,0x11,0x80,0xB5,0xAF,0x10,0x80,0x80,0x00,0x11,0x80,0xCD,0xD2,0x10,0x80,0x6C,0x06,0x11,0x80,0x29,0xD4,0x10,0x80,0x0A,0xA1,0x11,0x80,0xD4,0x04,0x11,0x80,0x25,0xD3,0x10,0x80,0xC8,0xA0,0x11,0x80,0x0C,0xA1,0x11,0x80,0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0xFF,0xFF,0x1F,0xFF,0x00,0x00,0x60,0x00,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x04,0x67,0x2F,0x24,0x80,0x98,0x00,0x6A,0x00,0xF4,0x24,0x98,0xBD,0x67,0x00,0xF4,0x44,0xD8,0xE1,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x18,0x2A,0xDF,0x10,0x4D,0x12,0x2A,0x5D,0x67,0x68,0xAA,0xFF,0xF7,0x1F,0x6A,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x0E,0xB3,0x48,0x32,0x69,0xE2,0xE0,0xF0,0x4B,0xA2,0x01,0x72,0x0A,0x60,0x0B,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D,0x83,0x9A,0x07,0x2A,0x00,0x18,0x6A,0x1E,0x11,0x67,0x04,0x10,0x00,0x18,0x7B,0x57,0x90,0x67,0x11,0x67,0xD1,0x29,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0x9C,0x31,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0x6B,0x6C,0xEE,0x04,0x76,0x0A,0xD4,0x04,0xD6,0x2B,0x61,0x40,0xA4,0x6C,0xEA,0x03,0x72,0x27,0x61,0x22,0xA4,0x6C,0xE9,0x24,0x29,0x44,0xA4,0x03,0xA4,0x6C,0xEA,0x6C,0xE8,0x40,0x32,0x00,0x1C,0xDD,0x31,0x4D,0xE8,0x13,0xB3,0x1A,0x65,0x40,0xAB,0x0E,0xEA,0x14,0x2A,0x11,0xB2,0x98,0x67,0x00,0x9A,0x20,0xDA,0x10,0xB2,0x20,0xDA,0x08,0xF1,0x11,0x6A,0x4B,0xEA,0x00,0x1C,0xE5,0x31,0x40,0xCB,0x00,0x18,0xA9,0x1D,0x01,0x6C,0x07,0x20,0x80,0x18,0x8A,0x28,0x90,0x67,0x03,0x10,0x00,0x1C,0xE5,0x31,0x98,0x67,0x0A,0x94,0x00,0x18,0xBD,0x89,0x04,0x95,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x0C,0xA1,0x11,0x80,0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0x03,0xB2,
+0x01,0x6B,0x40,0x9A,0x52,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0,0x03,0xB2,0x01,0x6B,0x40,0x9A,0x4A,0x32,0x20,0xE8,0x6C,0xEA,0x50,0x60,0x00,0xB0,0xF3,0x63,0x18,0x62,0x17,0xD1,0x16,0xD0,0x7D,0x67,0x00,0x6A,0x20,0xF0,0x50,0xC3,0xA6,0xB3,0x9D,0x67,0x00,0x69,0x58,0xAB,0x40,0xF0,0x48,0xCC,0x20,0xF0,0x5A,0xA3,0x20,0xF0,0x79,0xA3,0x40,0x32,0x4D,0xEB,0xA1,0xB2,0x0D,0xD3,0x01,0x6B,0x40,0x9A,0x0F,0xD2,0xA0,0xB2,0x40,0x9A,0x0E,0xD2,0x9F,0xB2,0x00,0x9A,0x9F,0xB2,0x40,0x9A,0x10,0xD2,0x0E,0x92,0x6C,0xEA,0x3A,0x22,0xBD,0x67,0x83,0x67,0x30,0x4D,0x00,0x6E,0x00,0x18,0x71,0x23,0x23,0x67,0x02,0x2A,0x03,0x69,0x0B,0x11,0x9D,0x67,0x20,0xF0,0x70,0xA4,0x0F,0x94,0xFF,0x6A,0x4C,0xEB,0x80,0xF7,0x82,0x32,0x2C,0xEA,0x4E,0xEB,0x94,0xB4,0x1B,0x2B,0x92,0xB2,0x4D,0xE8,0x40,0x9C,0x56,0x32,0x2C,0xEA,0x02,0x2A,0x91,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A,0x05,0x69,0x6C,0xEA,0xFF,0xF7,0x1F,0x6B,0x6C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94,0x0D,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x09,0x10,0x88,0xB2,0x4C,0xE8,0x40,0x9C,0x56,0x32,0x2C,0xEA,0x02,0x2A,0x86,0xB2,0x4C,0xE8,0x09,0x69,0x0E,0x94,0x01,0x6F,0x86,0x32,0xEC,0xEA,0x41,0x22,0x7F,0xB3,0x40,0x9B,0x56,0x32,0xEC,0xEA,0x3C,0x22,0xBD,0x67,0x10,0x6A,0xC7,0x67,0x02,0x6C,0x30,0x4D,0x14,0xD7,0x00,0x18,0x71,0x23,0x4D,0xE9,0x14,0x97,0x06,0x2A,0x20,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6C,0x8C,0xE9,0xC0,0x10,0x0F,0x94,0x5D,0x67,0x20,0xF0,0x70,0xA2,0x40,0xF7,0x82,0x32,0xEC,0xEA,0x4E,0xEB,0x70,0xB2,0x80,0x9A,0x19,0x2B,0x6F,0xB2,0x4D,0xE8,0x44,0x67,0xEC,0xEA,0x02,0x2A,0x6B,0xB2,0x4D,0xE8,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x01,0xF0,0x00,0x6A,0xFF,0xF7,0x1F,0x6C,0x6C,0xEA,0x8C,0xEA,0x04,0x22,0x00,0x18,0xA4,0x1D,0x0D,0x94,0x0B,0x10,0x00,0x18,0xA9,0x1D,0x0D,0x94,0x07,0x10,0x65,0xB2,0x4C,0xE8,0x44,0x67,0xEC,0xEA,0x02,0x2A,0x61,0xB2,0x4C,0xE8,0x0E,0x93,0x01,0x6C,0x6A,0x32,0x8C,0xEA,0x3C,0x22,0x5C,0xB3,0x40,0x9B,0x0F,0x6B,0x46,0xEC,0x6C,0xEA,0x03,0x72,0x35,0x60,0xFF,0x6A,0xBD,0x67,0x01,0x4A,0x04,0x6C,0x30,0x4D,0x02,0x6E,0x00,0x18,0x71,0x23,0x4D,0xE9,0x03,0x2A,0x00,0xF2,0x00,0x6A,0x40,
+0x10,0x9D,0x67,0x20,0xF0,0x50,0xA4,0x50,0xB3,0x80,0x9B,0x11,0x22,0x53,0xB2,0x03,0x6B,0x4D,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6C,0x8C,0xEA,0x02,0x2A,0x4E,0xB2,0x4D,0xE8,0x00,0xF4,0x00,0x6A,0x10,0x10,0x4C,0xB2,0x03,0x6B,0x4C,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x60,0x96,0x32,0x01,0x6B,0x6C,0xEA,0x02,0x2A,0x47,0xB2,0x4C,0xE8,0x01,0xF0,0x00,0x6A,0x4D,0xE9,0x0E,0x94,0x01,0x6B,0x8E,0x32,0x6C,0xEA,0x18,0x22,0x3B,0xB2,0x40,0x9A,0x46,0xEB,0x0F,0x6B,0x6C,0xEA,0x03,0x72,0x11,0x60,0xBD,0x67,0x02,0xF0,0x00,0x6A,0x08,0x6C,0x30,0x4D,0x03,0x6E,0x00,0x18,0x71,0x23,0x4D,0xE9,0x07,0x2A,0x04,0xF0,0x00,0x6A,0x4D,0xE9,0xFF,0xF7,0x1F,0x6A,0x4C,0xE9,0x37,0x10,0x04,0x6A,0x2C,0xEA,0x08,0x2A,0x34,0xB2,0x4C,0xE8,0x34,0xB2,0x4C,0xE8,0x2E,0xB2,0x4C,0xE8,0x2E,0xB2,0x4C,0xE8,0xC0,0xF5,0x02,0x32,0x01,0x6B,0x6C,0xEA,0x0C,0x22,0x27,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x61,0x25,0xB2,0x4C,0xE8,0x25,0xB2,0x4C,0xE8,0x29,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0C,0x2A,0x1F,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x04,0x61,0x1F,0xB2,0x4D,0xE8,0x1F,0xB2,0x4D,0xE8,0x22,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x03,0x2A,0x00,0x18,0xBB,0x30,0x00,0x6C,0x12,0xB2,0x00,0xDA,0x05,0x6A,0x10,0x94,0x04,0xD2,0x0B,0x0A,0x05,0xD2,0x0E,0x93,0x0F,0x92,0x0A,0xD4,0xFA,0x6D,0x04,0x6C,0xE1,0xF3,0x09,0x6E,0xA1,0xF1,0x1A,0x6F,0x06,0xD1,0x09,0xD0,0x07,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD3,0x18,0x97,0x17,0x91,0x16,0x90,0x00,0xEF,0x0D,0x63,0x41,0x00,0x00,0x00,0xDC,0x00,0x11,0x80,0x44,0xA0,0x00,0xB0,0x40,0x60,0x00,0xB0,0x40,0xA0,0x00,0xB0,0x50,0xA0,0x00,0xB0,0x00,0x00,0x80,0x00,0x6C,0x1D,0x11,0x80,0x00,0x00,0x40,0x00,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xBF,0xFF,0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0x00,0x00,0xC0,0x00,0x00,0x00,0x30,0x00,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x65,0xB2,0x01,0x6F,0x20,0x9A,0x2A,0x65,0x36,0x36,0xEC,0xEE,0x0B,0x2E,0x63,0xB4,0x03,0x6B,0x6B,0xEB,0x40,0x9C,0x6C,0xEA,0x40,0xDC,0x61,0xB4,0x02,0x6B,0x40,0x9C,
+0x6D,0xEA,0x40,0xDC,0x5F,0xB2,0x00,0x6B,0x0A,0xD3,0xA3,0x67,0x60,0x9A,0x5E,0xB2,0x40,0x9A,0x0A,0x65,0x5D,0xB2,0x00,0x9A,0x51,0x67,0xEC,0xEA,0x10,0x22,0x80,0xF7,0x62,0x32,0x88,0x67,0x8E,0xEA,0xEC,0xEA,0x01,0x5A,0xA7,0x67,0x08,0x60,0x58,0xB2,0x03,0x6D,0x4D,0xE8,0x03,0x2E,0x57,0xB2,0x07,0x6D,0x4D,0xE8,0x0A,0xD7,0x29,0x67,0xC0,0x99,0x01,0x6C,0xD6,0x32,0x8C,0xEA,0x1E,0x22,0x08,0x6A,0x4D,0xED,0x02,0x32,0x52,0x32,0x8C,0xEA,0xFF,0xF7,0x1F,0x6F,0x16,0x22,0x28,0x67,0x26,0x32,0x40,0xF7,0x62,0x33,0x4E,0xEB,0x8C,0xEB,0x83,0xEB,0x0E,0x60,0x10,0x6A,0x4D,0xED,0x49,0xB2,0xEC,0xED,0x4D,0xE8,0x46,0x67,0x8C,0xEA,0x05,0x2A,0x45,0xB2,0x4D,0xE8,0x20,0x6A,0x4D,0xED,0xEC,0xED,0x0A,0xD4,0x68,0x67,0x6A,0x32,0x01,0x6E,0xCC,0xEA,0x16,0x22,0x40,0x6A,0x29,0x67,0x4D,0xED,0x80,0x99,0x3F,0xB2,0x03,0x6B,0x4D,0xE8,0x82,0x32,0x4A,0x32,0x6C,0xEA,0xCA,0xEA,0x03,0x60,0x96,0x32,0xCC,0xEA,0x07,0x2A,0x80,0x6A,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0x38,0xB2,0x4D,0xE8,0x02,0x6A,0xAC,0xEA,0x08,0x2A,0x37,0xB2,0x4C,0xE8,0x37,0xB2,0x4C,0xE8,0x37,0xB2,0x4C,0xE8,0x37,0xB2,0x4C,0xE8,0x29,0xB3,0x03,0x69,0x40,0x9B,0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x31,0xB2,0x4C,0xE8,0x2E,0xB2,0x4C,0xE8,0x31,0xB2,0x88,0x67,0x06,0xD5,0x07,0xD4,0xFA,0x6D,0x04,0x6C,0xA1,0xF4,0x0C,0x6E,0xA1,0xF1,0x19,0x6F,0x04,0xD1,0x05,0xD2,0x20,0x18,0x1B,0x32,0x08,0xD0,0x0A,0x92,0x12,0x22,0x29,0xB3,0x50,0x67,0x6C,0xEA,0x6E,0xEA,0x0B,0x2A,0x18,0xB3,0x40,0x9B,0x42,0x32,0x4A,0x32,0x2C,0xEA,0x01,0x72,0x04,0x61,0x1C,0xB2,0x4D,0xE8,0x1C,0xB2,0x4D,0xE8,0x17,0xB2,0x00,0xDA,0x21,0xB2,0x01,0x6C,0xA0,0x9A,0xBE,0x32,0x8C,0xEA,0x17,0x22,0x40,0xF5,0x02,0x32,0x8C,0xEA,0x07,0x22,0x1D,0xB2,0x00,0x6B,0x80,0xC2,0x1D,0xB2,0x60,0xC2,0x1D,0xB2,0x60,0xC2,0xA2,0x32,0x8C,0xEA,0x05,0x22,0x00,0x18,0xA5,0x23,0x00,0x65,0x18,0xB3,0x40,0xC3,0x16,0xB2,0x00,0x18,0x04,0x24,0x80,0xA2,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x6C,0x1D,0x11,0x80,0x30,0x60,0x00,0xB0,0x34,0x60,0x00,0xB0,0x44,0xA0,0x00,0xB0,0x50,0x60,0x00,0xB0,0x40,0xA0,0x00,0xB0,0x00,0x00,0x80,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,
+0x00,0x00,0x00,0x10,0x00,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xBF,0xFF,0xF0,0xA5,0x10,0x80,0x00,0x00,0xC0,0x00,0x54,0x45,0x11,0x80,0x17,0x00,0x11,0x80,0x16,0x00,0x11,0x80,0x18,0x00,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x34,0xB2,0x00,0x6E,0x01,0x6B,0x20,0x6C,0xFF,0xF7,0x1F,0x6D,0x0A,0x65,0xE6,0x67,0x06,0x67,0x4B,0x65,0x2C,0x65,0x6D,0x65,0x2D,0xB1,0xC8,0x32,0x15,0xE1,0x10,0x27,0x68,0x67,0x69,0xE2,0x80,0x9A,0x6A,0x67,0x64,0xEF,0x86,0xEF,0x80,0xDD,0x41,0x9A,0xFF,0x4B,0x29,0x67,0x6C,0xEA,0xEF,0xE1,0x44,0xEB,0x4D,0xEC,0x80,0xDD,0x04,0x10,0x68,0x67,0x69,0xE2,0x40,0x9A,0x40,0xDD,0x01,0x4E,0xFF,0x69,0x2C,0xEE,0x10,0x76,0x11,0x61,0x88,0x67,0x1E,0xB5,0x01,0x4F,0x60,0x9C,0x2C,0xEF,0x4A,0x67,0x44,0xEF,0x11,0xE5,0xFF,0x4A,0xA9,0x67,0x4C,0xEB,0xEB,0xE5,0x64,0xEA,0x40,0x9C,0x00,0x6E,0x6D,0xEA,0x40,0xDC,0x04,0x48,0x4B,0x67,0x4C,0xE8,0x00,0xF4,0x01,0x58,0xCC,0x61,0x13,0xB4,0xFF,0x6E,0x55,0x6D,0x00,0xF4,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0F,0xB4,0xFF,0x6E,0x00,0x6D,0x00,0xF5,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x0B,0xB4,0xFF,0x6E,0xB1,0x67,0x00,0xF6,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x07,0xB4,0xFF,0x6E,0x0F,0x6D,0x00,0xF7,0x00,0x4C,0x00,0x18,0x64,0x2E,0x01,0x4E,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x00,0x00,0x00,0xF8,0x10,0x80,0xDC,0xF4,0x04,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x11,0xB2,0x00,0x68,0xEE,0x6C,0x00,0xDA,0x10,0xB2,0x07,0x6D,0x00,0xDA,0x00,0x18,0x9A,0x33,0x00,0x65,0x0E,0xB4,0x4A,0xF5,0x16,0x6B,0x6B,0xEB,0xFF,0xF7,0x1F,0x6A,0x01,0x48,0x4C,0xE8,0x00,0xF4,0x00,0x58,0x60,0xCC,0xFA,0x61,0x07,0xB2,0x03,0x6B,0x05,0x97,0x60,0xDA,0x04,0x90,0x03,0xB2,0x01,0x6B,0x60,0xDA,0x00,0xEF,0x03,0x63,0x00,0x00,0x10,0xA3,0x00,0xB0,0x20,0xA3,0x00,0xB0,0xF0,0x00,0x00,0xB6,0xFD,0x63,0x04,0x62,0x17,0xB3,0x16,0xB2,0x80,0x18,0x3F,0x2A,0x60,0xDA,0x16,0xB3,0x16,0xB2,0x21,0xB4,0x04,0x97,0x52,0xDB,0x15,0xB2,0x55,0xDB,0x15,0xB2,0x49,0xDB,0x15,0xB2,0x4C,0xDB,0x15,0xB2,0x4F,0xDB,0x15,0xB2,0x46,0xDB,0x15,0xB2,0x5B,0xDB,0x15,0xB2,0x40,0xDB,0x15,0xB2,0x58,0xDB,0x16,0xB3,
+0x15,0xB2,0x60,0xDA,0xC0,0xF0,0x50,0x9C,0x40,0x6B,0x6D,0xEA,0xC0,0xF0,0x50,0xDC,0x14,0xB3,0x49,0x9C,0x6D,0xEA,0x13,0xB3,0x6D,0xEA,0x49,0xDC,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0x2C,0x11,0x80,0xE9,0xAE,0x10,0x80,0xB8,0x95,0x11,0x80,0x29,0xD8,0x10,0x80,0x99,0xB0,0x10,0x80,0x2D,0xB1,0x10,0x80,0xA1,0xB1,0x10,0x80,0x79,0xD4,0x10,0x80,0xE5,0xD4,0x10,0x80,0x19,0xC9,0x10,0x80,0xF1,0xD3,0x10,0x80,0x6D,0xCA,0x10,0x80,0x3C,0x1C,0x11,0x80,0xA5,0xA2,0x10,0x80,0xDC,0x00,0x11,0x80,0x00,0x00,0x00,0x01,0x00,0x00,0x80,0x00,0x44,0xA4,0x63,0xA4,0x00,0x6E,0x40,0x32,0x69,0xE2,0xFF,0xF7,0x1F,0x6B,0x6C,0xEA,0x7F,0xF4,0x0F,0x72,0x60,0xA5,0x46,0x67,0x08,0x61,0x69,0xE4,0xC2,0xC2,0x01,0x4B,0xFF,0x6A,0x4C,0xEB,0x61,0xC4,0x01,0x6A,0x60,0xC5,0x20,0xE8,0x00,0x65,0x00,0x00,0xF9,0x63,0x0C,0x62,0x0B,0xD1,0x0A,0xD0,0xFF,0x69,0x2C,0xEC,0x08,0xD4,0x61,0xF3,0x06,0x6D,0x00,0x18,0x9A,0x33,0x22,0x6C,0x40,0xB0,0xF3,0x6A,0x24,0x6C,0x20,0xF0,0xBF,0xA0,0x2C,0xED,0xA0,0x35,0x00,0x18,0x9A,0x33,0x4D,0xED,0x40,0xF0,0x41,0xA0,0x40,0xF0,0xA0,0xA0,0x26,0x6C,0x2C,0xEA,0x40,0x32,0x2C,0xED,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0xEB,0xF0,0x12,0x6D,0x00,0x18,0x9A,0x33,0x28,0x6C,0x93,0xF7,0x1A,0x6D,0x00,0x18,0x9A,0x33,0x2A,0x6C,0x00,0x18,0xEE,0x33,0x01,0x6C,0x02,0x6C,0x00,0x18,0x9A,0x33,0x20,0x6D,0x2D,0xB2,0x03,0xF4,0x00,0x6D,0x20,0x68,0x81,0xA2,0x00,0x18,0x9A,0x33,0x2C,0xEC,0x2A,0xB2,0xFF,0xF7,0x1F,0x6B,0xFF,0xF7,0x1F,0x6D,0x40,0xAA,0x5E,0x6C,0x4C,0xEB,0x9F,0xF7,0x1F,0x6A,0x4C,0xEB,0x0D,0xEB,0x00,0x18,0x9A,0x33,0x6C,0xED,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x03,0x6D,0x21,0xB2,0xFF,0xF7,0x1F,0x6B,0xFF,0x6D,0x81,0xA2,0x1F,0xB2,0x21,0x4D,0x2C,0xEC,0x49,0xE4,0x40,0xAA,0x4C,0xEB,0xEE,0xF1,0x09,0x6A,0x4C,0xEB,0x6D,0xED,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0x1A,0xB2,0x07,0x6B,0x40,0xA2,0x2C,0xEA,0x6C,0xEA,0x40,0x32,0x44,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0x02,0x6C,0x00,0x18,0x9A,0x33,0xB0,0x67,0x00,0x6C,0x00,0x18,0x9A,0x33,0x0D,0x6D,0x08,0x92,0x0C,0x22,0x9D,0x67,0x10,0x4C,0x55,0x6D,0x00,0x18,0x64,0x2E,0x0A,0x6E,0xDD,
+0x67,0x01,0x6C,0x00,0x6D,0x00,0x18,0xDC,0x34,0x10,0x4E,0x0C,0x97,0x0B,0x91,0x0A,0x90,0x00,0xEF,0x07,0x63,0x00,0x00,0xDC,0x00,0x11,0x80,0x38,0xF4,0x04,0x80,0x5E,0x00,0x00,0xB6,0x30,0xF4,0x04,0x80,0x00,0x00,0x00,0xB6,0x81,0x08,0x11,0x80,0xF6,0x63,0x12,0x62,0x11,0xD1,0x10,0xD0,0x14,0xD4,0x16,0xD6,0x60,0xAC,0x7F,0xF4,0x0A,0x73,0x80,0xF0,0x04,0x60,0x7F,0xF4,0x0A,0x6A,0x62,0xEA,0x13,0x61,0x7F,0xF4,0x07,0x6A,0x62,0xEA,0x08,0x61,0x7F,0xF4,0x06,0x6A,0x42,0xEB,0x23,0x60,0x3F,0xF4,0x00,0x73,0x38,0x60,0x33,0x11,0x7F,0xF4,0x08,0x73,0x47,0x60,0x7F,0xF4,0x09,0x73,0x4A,0x60,0x2C,0x11,0x5F,0xF5,0x00,0x73,0x73,0x60,0x5F,0xF5,0x00,0x6A,0x62,0xEA,0x06,0x61,0x7F,0xF4,0x0F,0x73,0x0B,0x60,0x7F,0xF4,0x10,0x73,0x06,0x10,0x5F,0xF5,0x03,0x73,0x00,0xF1,0x0D,0x60,0x5F,0xF5,0x05,0x73,0x27,0x60,0x17,0x11,0x16,0x92,0x00,0x6B,0x21,0x10,0x7F,0xF4,0x06,0x73,0x03,0x61,0x8C,0xB2,0x00,0x6B,0x60,0xDA,0x8B,0xB2,0x0F,0x6B,0x40,0x9A,0x46,0x32,0x6C,0xEA,0x03,0x72,0x04,0x61,0x89,0xB2,0x60,0x9A,0x89,0xB2,0x60,0xDA,0x8A,0xB3,0x88,0xB2,0x60,0xDA,0x8A,0xB3,0x89,0xB2,0x60,0xDA,0xFF,0x17,0x81,0xB2,0x89,0xB3,0x40,0x9A,0x6E,0xEA,0xE0,0xF0,0x16,0x2A,0x14,0x94,0x87,0xB2,0x63,0xA4,0x60,0xC2,0xE9,0x10,0x14,0x92,0x83,0xA2,0x01,0x24,0x01,0x6C,0x80,0x18,0x88,0x2A,0x00,0x65,0xE1,0x10,0x14,0x94,0x81,0xB2,0x63,0xA4,0x80,0xF1,0x61,0xC2,0xDB,0x10,0x14,0x93,0x7F,0xB1,0xFF,0xF7,0x1F,0x6C,0x43,0xA3,0x44,0x33,0x4D,0xE3,0x6C,0x33,0x4D,0xE3,0x40,0x99,0x68,0x30,0x8C,0xE8,0x4F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x91,0x67,0x0F,0x20,0x00,0x18,0x40,0xA4,0x00,0x65,0x76,0xB6,0x00,0x6A,0x01,0x6C,0xB1,0x67,0xE2,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD2,0x80,0x99,0x00,0x18,0x0C,0x1E,0xB0,0x67,0x71,0xB2,0x00,0xCA,0xB7,0x10,0x14,0x93,0x00,0x6E,0x43,0xA3,0x01,0x22,0x01,0x6E,0x6A,0xB2,0x80,0xF1,0xD1,0xC2,0xAE,0x10,0x14,0x94,0x14,0x93,0x61,0xF3,0x06,0x6D,0x85,0xA4,0x0E,0xD4,0x48,0xA3,0x27,0xA3,0xFF,0xF7,0x1F,0x6C,0x40,0x32,0x4D,0xE9,0x00,0x6A,0x45,0xC3,0x4A,0xC3,0x8C,0xE9,0x00,0x18,0x9A,0x33,0x22,0x6C,0x5F,0xB0,0xF3,0x6A,0xFF,0xF7,0x1F,0x6B,0x20,0xF0,0xBF,0xA0,0x24,0x6C,0xA0,0x35,0x4D,0xED,
+0x00,0x18,0x9A,0x33,0x6C,0xED,0x40,0xF0,0x41,0xA0,0x40,0xF0,0xA0,0xA0,0x26,0x6C,0x40,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0xEB,0xF0,0x12,0x6D,0x00,0x18,0x9A,0x33,0x28,0x6C,0x93,0xF7,0x1A,0x6D,0x00,0x18,0x9A,0x33,0x2A,0x6C,0x00,0x18,0xEE,0x33,0x01,0x6C,0x7D,0x21,0xFF,0xF7,0x1F,0x6B,0x51,0x67,0x6C,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4,0x00,0x6A,0xFF,0xF7,0x1F,0x69,0x4C,0xE9,0x0E,0x92,0xFF,0x6C,0xFF,0x4A,0x8C,0xEA,0x04,0x5A,0x28,0x61,0x47,0xB0,0x00,0x6A,0x7D,0x67,0x06,0xD2,0x0C,0xCB,0xE0,0xF7,0x1F,0x6A,0x4C,0xE9,0x44,0xB3,0x06,0x92,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA,0x8D,0xEA,0x06,0xD2,0x00,0x6C,0x40,0xB2,0x04,0xD4,0x05,0xD4,0x9D,0x67,0x18,0x4C,0xC5,0x67,0x00,0x6F,0x07,0xD2,0x3F,0x10,0xE0,0xF7,0x1F,0x6A,0x8C,0xEA,0x88,0x67,0x80,0xF4,0x40,0x32,0x8C,0xEB,0x4D,0xEB,0x38,0xB2,0xFF,0x6D,0xEC,0xED,0x60,0xDE,0x41,0xDE,0x2B,0x10,0x0E,0x92,0x00,0x6D,0x91,0x67,0x40,0x33,0x34,0xB2,0x25,0x67,0x41,0xE3,0x7D,0x67,0x18,0x4B,0x2F,0xB2,0x8B,0x65,0x31,0xB3,0x0A,0x65,0xFF,0xF7,0x1F,0x6A,0x6B,0x65,0xFF,0x6B,0x4A,0x65,0x2B,0x65,0x6C,0x67,0xAC,0x32,0x79,0xE2,0x20,0xDE,0x00,0xF1,0x01,0x5C,0x00,0xCE,0x21,0xDE,0x60,0x9E,0xE1,0x45,0xD4,0x61,0x48,0x67,0x6C,0xEA,0xA9,0x67,0x6B,0x67,0x6D,0xEA,0x80,0x4C,0xEC,0xED,0x40,0xDE,0x80,0x4C,0x4A,0x67,0x04,0x5D,0x4C,0xEC,0xE8,0x61,0x00,0x6F,0x9D,0x67,0x04,0xD7,0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65,0x0E,0x10,0x02,0x6C,0x01,0x6D,0x00,0x18,0x1C,0x80,0x00,0x6E,0x08,0x10,0x14,0x93,0x16,0x92,0x80,0xAB,0x00,0x18,0xFA,0x8B,0xA0,0xA2,0x01,0x6A,0x01,0x10,0x00,0x6A,0x12,0x97,0x11,0x91,0x10,0x90,0x00,0xEF,0x0A,0x63,0x38,0x91,0x10,0x80,0x6C,0x1D,0x11,0x80,0x2C,0x00,0x00,0xB5,0x48,0x91,0x10,0x80,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x78,0xA0,0x00,0xB0,0x01,0x00,0xA5,0x01,0xAE,0x23,0x87,0x54,0xD0,0x00,0x11,0x80,0xDC,0x00,0x11,0x80,0x88,0x07,0x11,0x80,0x01,0x91,0x02,0x80,0x08,0xA1,0x11,0x80,0x00,0xF8,0x10,0x80,0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80,0x00,0x00,0x00,0x04,0x03,0xB2,0x00,0x6B,0x60,0xDA,0x20,0xE8,0x00,0x65,0x00,
+0x00,0x04,0x60,0x00,0xB0,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x40,0xAC,0x01,0xF4,0x03,0x72,0x2C,0x61,0x80,0x18,0x3F,0x2A,0x00,0x69,0x80,0x18,0x91,0x2B,0x00,0x65,0x16,0xB2,0x08,0xF1,0x11,0x6B,0x6B,0xEB,0x60,0xCA,0x15,0xB2,0x91,0x67,0x20,0xDA,0x14,0xB2,0x20,0x18,0x83,0x39,0x20,0xDA,0x14,0xB2,0x15,0xB0,0xB1,0x67,0x80,0xF1,0x62,0xA2,0x90,0x67,0x30,0x6E,0x68,0x32,0x69,0xE2,0x0F,0xB3,0x44,0x32,0x00,0x18,0x64,0x2E,0x40,0xCB,0x01,0x6A,0x4B,0xEA,0x47,0xD8,0x0E,0xB3,0x40,0x98,0x0E,0xB4,0xB1,0x67,0x6D,0xEA,0x40,0xD8,0x00,0x18,0x64,0x2E,0x0C,0x6E,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0x6A,0x00,0xEF,0x04,0x63,0x0C,0xA1,0x11,0x80,0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0x08,0xA1,0x11,0x80,0xDC,0x00,0x11,0x80,0xCC,0xA0,0x11,0x80,0x00,0x00,0x00,0x70,0xFC,0xA0,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0xFF,0xF7,0x1F,0x6A,0xCC,0xEA,0x02,0x74,0x0C,0x65,0x05,0x67,0x4F,0x65,0x2A,0x65,0x0D,0x61,0x2A,0xB2,0x03,0x6B,0x40,0x9A,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x01,0x72,0x05,0x61,0x27,0xB3,0x40,0x9B,0xC0,0xF7,0x42,0x32,0xFC,0x2A,0x48,0x67,0x04,0x72,0x38,0x61,0x60,0xA0,0xFF,0x6E,0x46,0x67,0x6C,0xEA,0x10,0x72,0x0B,0x61,0x42,0xA0,0xCC,0xEA,0x02,0x72,0x07,0x61,0x1F,0xB2,0xB0,0x67,0x00,0x18,0xE0,0x1D,0x81,0x9A,0x00,0x6A,0x2D,0x10,0xFF,0x6A,0x6C,0xEA,0x02,0x72,0x01,0x6C,0x04,0x60,0x22,0x72,0x02,0x60,0x2F,0x72,0x1E,0x61,0xFF,0x6E,0x46,0x67,0x6C,0xEA,0x2F,0x72,0x01,0x6A,0x02,0x60,0x42,0xA0,0xCC,0xEA,0xFF,0x6D,0x6F,0x42,0xAC,0xEB,0xAA,0xEB,0x11,0x60,0xE5,0x67,0x01,0x69,0x06,0x4C,0xAC,0xEC,0x99,0xE0,0x42,0xA6,0xAC,0xEA,0x03,0x5A,0x01,0x61,0x22,0xC6,0xFF,0x4B,0xEC,0xEB,0xFF,0x6D,0x08,0x4C,0xAA,0xEB,0xEC,0xEC,0xF1,0x61,0x88,0x67,0xB0,0x67,0xC9,0x67,0x00,0x18,0xCA,0x1E,0xEA,0x67,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x6C,0x1D,0x11,0x80,0x1C,0xA3,0x00,0xB0,0x9C,0x31,0x11,0x80,0x20,0xE8,0x00,0x65,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0xF7,0x1F,0x69,0x8C,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32,0x18,0xB3,0x2B,0xE2,0x48,0x32,0x61,0xE2,0x5C,0x98,0x4F,0xEA,0x05,0x22,0x01,0x6A,0x00,0x6B,0x20,0xF2,0x5E,0xC0,
+0x1E,0x10,0x00,0x18,0x41,0x5E,0x91,0x67,0x04,0xD2,0x0C,0x6B,0x18,0x2A,0x5F,0x98,0x41,0xA2,0x44,0x72,0x14,0x60,0x00,0x18,0xA5,0x5E,0x91,0x67,0x06,0x22,0x00,0x18,0x69,0x5E,0x91,0x67,0x1F,0x6B,0x0B,0x22,0x05,0x10,0x00,0x18,0x80,0x49,0x91,0x67,0x62,0x67,0x05,0x10,0x91,0x67,0x20,0x18,0x13,0x26,0x0E,0x6D,0x04,0x93,0x08,0x97,0x07,0x91,0x06,0x90,0x43,0x67,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x03,0x44,0x90,0x67,0x00,0x18,0xF2,0x5A,0x0B,0xD5,0x22,0x67,0x1A,0x65,0x1E,0x2A,0xBD,0x67,0x90,0x67,0x00,0x18,0x07,0xDF,0x10,0x4D,0x7D,0x67,0x48,0xAB,0x0B,0x93,0xFF,0xF7,0x1F,0x6D,0x40,0xCB,0x65,0x67,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x09,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF2,0x3E,0xC2,0x5D,0x67,0x88,0xAA,0x80,0x18,0xEE,0x2B,0xAC,0xEC,0x1A,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x58,0x67,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0x20,0xB0,0x00,0x6A,0x04,0xD2,0x40,0x98,0x01,0x69,0xC0,0xF6,0x42,0x32,0x2C,0xEA,0x09,0x22,0x00,0x18,0x4F,0x9A,0x06,0xD4,0x04,0xD1,0x40,0x98,0x1A,0xB3,0x6C,0xEA,0x40,0xD8,0x06,0x94,0x44,0xAC,0xFF,0xF7,0x1F,0x6B,0x06,0x72,0x19,0x61,0x40,0x9C,0x17,0x2A,0x45,0xAC,0x6C,0xEA,0x17,0x2A,0x41,0x9C,0x82,0x67,0x42,0x32,0x42,0x32,0x6C,0xEA,0x01,0xF0,0x0B,0x72,0x6C,0xEC,0x04,0x61,0x80,0x18,0xEE,0x2B,0x00,0x65,0x0A,0x10,0x01,0xF0,0x05,0x72,0x07,0x61,0x00,0x18,0x2C,0x48,0x00,0x65,0x03,0x10,0x00,0x18,0x74,0x56,0x00,0x65,0x04,0x92,0x05,0x22,0x06,0xB2,0x07,0xB4,0x60,0x9A,0x8D,0xEB,0x60,0xDA,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00,0x54,0x45,0x11,0x80,0xFF,0xFF,0xFF,0xF7,0x00,0x00,0x00,0x08,0xF9,0x63,0x0C,0x62,0x44,0xAC,0x07,0x72,0x11,0x61,0x60,0x9C,0xFF,0x6D,0x40,0xA3,0x03,0x72,0x26,0x61,0x42,0xA3,0xAC,0xEA,0x23,0x2A,0x43,0xA3,0x64,0xA3,0xAC,0xEA,0xAC,0xEB,0x60,0x33,0x6D,0xEA,0x12,0xB3,0x40,0xCB,0x1A,0x10,0x08,0x72,0x18,0x61,0x40,0x9C,0x66,0x6B,0x9D,0x67,0x06,0xD2,0x0E,0xB2,0x70,0xCC,0xFD,0x67,0x80,0x9A,0x00,0x6D,0x04,0x06,0x24,0x4F,0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,
+0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18,0x40,0x1E,0x08,0x97,0x03,0x10,0x00,0x18,0x64,0x8B,0x00,0x65,0x0C,0x97,0x00,0xEF,0x07,0x63,0x0C,0xA1,0x11,0x80,0x84,0x21,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x44,0xAC,0x24,0x67,0x66,0x72,0x34,0x61,0x00,0x9C,0xE1,0xF7,0x1F,0x6A,0xBD,0x67,0x80,0x98,0x10,0x4D,0x4C,0xEC,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x2A,0xDF,0x4C,0xEC,0x82,0x67,0x29,0x2A,0x5D,0x67,0x68,0xAA,0xFF,0xF7,0x1F,0x6A,0x4C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x12,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF0,0x78,0xA2,0x03,0x73,0x14,0x60,0xE0,0xF7,0x08,0x6A,0x47,0xEB,0x01,0x6B,0x6C,0xEA,0x0E,0x22,0x0C,0xB3,0x00,0xF4,0x84,0xD8,0x40,0x9B,0x02,0x2A,0x00,0xDB,0x04,0x10,0x0A,0xB2,0x40,0x9A,0x00,0xF4,0x04,0xDA,0x08,0xB2,0x00,0xDA,0x03,0x10,0x00,0x18,0x18,0x58,0x91,0x67,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0x10,0xA1,0x11,0x80,0x14,0xA1,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x0B,0xB0,0xE3,0xF7,0x1F,0x6B,0x7C,0x6C,0x40,0x98,0x01,0x6D,0x56,0x32,0x6C,0xEA,0x69,0x98,0x58,0xEB,0x12,0xEA,0x00,0x18,0xEB,0x9F,0x4A,0xD8,0x6B,0x98,0x05,0x97,0x4D,0xE3,0x6B,0xD8,0x04,0x90,0x00,0xEF,0x03,0x63,0xCC,0xA0,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0x3B,0xB0,0xBD,0x67,0x10,0x4D,0x90,0xA0,0x4F,0xA0,0x80,0x34,0x4D,0xEC,0x4E,0xA0,0x80,0x34,0x00,0x18,0x3A,0xBA,0x4D,0xEC,0x7D,0x67,0x48,0xAB,0x8F,0xA0,0xFD,0x67,0x4C,0xCB,0x49,0xAB,0x4D,0xCB,0x6A,0xAB,0x03,0x6A,0x4C,0xEB,0x4E,0xA0,0x48,0x32,0x4D,0xEB,0x80,0x32,0x48,0x32,0x4D,0xEB,0x50,0xA0,0x6E,0xCF,0x70,0x80,0x48,0x32,0x9A,0x34,0x4D,0xEC,0x00,0x53,0x8F,0xCF,0x05,0x60,0x09,0xF4,0x00,0x6A,0x8D,0xEA,0x4F,0xCF,0x06,0x10,0x0A,0xF0,0x00,0x6A,0x4B,0xEA,0x8D,0xEA,0x7D,0x67,0x4F,0xCB,0x9D,0x67,0x10,0x4C,0xFF,0xF7,0x1F,0x6F,0x0F,0x6A,0x00,0x6E,0x2C,0x65,0x0F,0x65,0x01,0x69,0x4A,0x65,0x89,0x67,0xC4,0x30,0x89,0xE0,0x84,0xAA,0x00,0x6D,0xE8,0x67,0x65,0x67,0xEC,0xEC,0x44,0x67,0x47,0xEB,0x2C,0xEA,0x07,0x22,0xEA,0x67,0x6B,0xE7,0xF1,0x67,0xE4,0xEA,0xED,0xED,0x48,0x67,0x4C,0xED,0x01,0x4B,0xFF,0x6F,0xEC,0xEB,0x10,0x5B,0xF0,0x61,
+0x01,0x4E,0x69,0x67,0xEC,0xEE,0x69,0xE0,0x04,0x5E,0xA4,0xCA,0xE1,0x61,0xFD,0x67,0xCC,0xAF,0x51,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x5D,0x67,0xCD,0xAA,0x50,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x7D,0x67,0xCE,0xAB,0x4F,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0xFD,0x67,0xCF,0xAF,0x4E,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0xCC,0xA0,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6B,0x04,0xD3,0x6C,0xEA,0xFF,0x6B,0x02,0x4B,0x6B,0xEB,0x6C,0xEA,0xFF,0x6B,0x01,0x4B,0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x51,0xB1,0x52,0xB3,0x07,0x68,0x41,0x99,0x51,0xB4,0x01,0x6D,0x4E,0x32,0x0C,0xEA,0x69,0xE2,0x60,0xA2,0x40,0x99,0x0C,0xEB,0x40,0xF6,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x40,0xD9,0x04,0x93,0x57,0x6C,0x01,0x6D,0x4C,0xEB,0x71,0x6A,0x04,0xD3,0x4B,0xEA,0x4C,0xEB,0x40,0x99,0xC3,0x67,0x40,0xF6,0x42,0x32,0x0C,0xEA,0x50,0x32,0x00,0x18,0x01,0xA0,0x4D,0xEE,0x40,0x99,0x01,0x6B,0x03,0x67,0x6C,0xEA,0x06,0x22,0x41,0x99,0x80,0x6B,0x6C,0xEA,0x01,0x5A,0x18,0x67,0x02,0x48,0x56,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x00,0x36,0x37,0xB0,0xFF,0xF7,0x1F,0x69,0x1C,0xF0,0x00,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x60,0x98,0xE3,0xF7,0x1F,0x6C,0xD8,0x36,0x76,0x33,0x8C,0xEB,0x6D,0xEE,0xFB,0xF7,0x1F,0x6B,0x6C,0xEE,0x4D,0xEE,0x56,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x47,0xA0,0xC6,0xA0,0x58,0x6C,0x40,0x32,0x4D,0xEE,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xC8,0xA0,0x04,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x03,0x6B,0x6C,0xEE,0x4D,0xEE,0x59,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x80,0x18,0x9A,0x2C,0x00,0x65,0x40,0x98,0xC0,0xF7,0x42,0x32,0x24,0x22,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x81,0x6B,0x2C,0xEA,0x6B,0xEB,0x6C,0xEA,0xC2,0x67,0x80,0x6B,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE9,0xE0,0xF1,0x1D,0x6A,0x4B,0xEA,0x4C,0xE9,0x45,0xA0,0xFF,0x6B,0xD1,0x67,0x6C,0xEA,0x48,0x32,0xE0,0xF1,0x1C,0x6B,0x6C,0xEA,0x59,0x6C,0x01,0x6D,0x4D,
+0xEE,0x0B,0x10,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE9,0x81,0x6A,0x4B,0xEA,0xD1,0x67,0x57,0x6C,0x01,0x6D,0x4C,0xEE,0x00,0x18,0x01,0xA0,0x00,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0xCC,0xA0,0x11,0x80,0xD8,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x0F,0xB1,0xFF,0x68,0x8C,0xE8,0x47,0x99,0x4F,0xEA,0x04,0x22,0x87,0x41,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x0E,0x20,0x0B,0xB6,0x00,0x68,0xA7,0x41,0x01,0x6C,0x15,0x4D,0xF0,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD0,0x87,0x99,0x00,0x18,0x0C,0x1E,0x14,0x6D,0x10,0xC9,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0xCC,0xA0,0x11,0x80,0xF9,0xB5,0x10,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x00,0x6C,0x02,0xF0,0x00,0x6E,0x00,0x18,0x01,0xA0,0xA4,0x67,0x2D,0xB2,0x3C,0x6C,0x00,0x6D,0xC0,0x9A,0x7F,0x6A,0xFF,0xF7,0x1F,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE,0xC4,0x36,0xFF,0x6A,0x01,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x01,0xF6,0x01,0x69,0x2B,0xE9,0xC2,0x67,0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x01,0xF6,0x00,0x6B,0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x03,0x69,0x2B,0xE9,0xC2,0x67,0x2C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xEA,0x2C,0xEA,0x02,0x6B,0xC2,0x67,0x6D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x4C,0xE8,0xD0,0x67,0x2C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0,0x57,0x6C,0x80,0x18,0x38,0x2D,0x01,0x6C,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x1A,0xB2,0x06,0xD4,0x47,0x9A,0x8E,0xEA,0x05,0x22,0x8F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x06,0x04,0x15,0xB0,0x42,0x6B,0x41,0x98,0x6C,0xEA,0x6A,0xEA,0x08,0x60,0x47,0x98,0x4F,0xEA,0x1C,0x22,0x87,0x40,0x00,0x18,0xFD,0x1D,0x15,0x4C,0x17,0x10,0x7D,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x02,0x6E,0x4C,0xEE,0x04,0x26,0x50,0xA8,0x01,0x4A,0x50,0xC8,
+0x0C,0x10,0x86,0x67,0x00,0x18,0x01,0xA0,0xA6,0x67,0x49,0x98,0x01,0x4A,0x80,0x18,0x8D,0x2C,0x49,0xD8,0x80,0x18,0x4B,0x2D,0x00,0x65,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x00,0x6C,0xC4,0x67,0x00,0x18,0x01,0xA0,0xA4,0x67,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0xFF,0x6A,0x04,0x4A,0x4B,0xEA,0x4C,0xEE,0x01,0x6D,0x00,0x18,0x01,0xA0,0x57,0x6C,0x0A,0xB0,0x41,0x6B,0x6B,0xEB,0x41,0x98,0x00,0x6C,0x6C,0xEA,0x80,0x18,0x38,0x2D,0x41,0xD8,0x80,0x18,0x8D,0x2C,0x00,0x65,0x00,0x6A,0x49,0xC0,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62,0x80,0x18,0xD8,0x2C,0x00,0x65,0x0D,0xB3,0x00,0x6A,0x59,0x6C,0x4B,0xDB,0x49,0xDB,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x00,0xF2,0x01,0x6A,0x4B,0xEA,0x59,0x6C,0x01,0x6D,0x00,0x18,0x01,0xA0,0x4C,0xEE,0x80,0x18,0x4B,0x2D,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0xCC,0xA0,0x11,0x80,0xFD,0x63,0x04,0x62,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1,0x01,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x06,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C,0x04,0x97,0x6C,0xEA,0x41,0xDC,0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x80,0x18,0xD8,0x2C,0x00,0x65,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x69,0x02,0xF0,0x01,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0x02,0xF0,0x00,0x68,0xC2,0x67,0x0D,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x59,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x2C,0xEA,0x00,0xF2,0x01,0x6B,0x6B,0xEB,0xC2,0x67,0x6C,0xEE,0x59,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C,0xD0,0x67,0x00,0x18,0x01,0xA0,0xA4,0x67,0x28,0xB2,0x03,0x6C,0x00,0x6D,0x00,0x9A,0x07,0x6A,0x00,0xF7,0x02,0x30,0x00,0x18,0xEB,0x9F,0x4C,0xE8,0x2C,0xEA,0x1F,0xF4,0x01,0x6B,0x6B,0xEB,0x6C,0xEA,0x21,0xB3,0x05,0x48,0x1F,0xF4,0x00,0x6C,0x61,0xE0,0x20,0xF1,0x7A,0xA0,0xC2,0x67,0x00,0x6D,0x60,0x33,0x68,0x33,0x8C,0xEB,0x6D,
+0xEE,0x00,0x18,0x01,0xA0,0x03,0x6C,0x18,0xB3,0x7F,0x6A,0x3C,0x6C,0xC0,0x9B,0x00,0x6D,0x01,0x68,0x80,0xF4,0xC2,0x36,0x4C,0xEE,0xC4,0x36,0xFF,0x6A,0x06,0x4E,0x4C,0xEE,0x00,0x18,0x01,0xA0,0xC0,0x36,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x6B,0xEB,0x2C,0xEA,0x6C,0xEA,0xC2,0x67,0x0D,0xEE,0xB0,0x67,0x00,0x18,0x01,0xA0,0x57,0x6C,0xB0,0x67,0x00,0x18,0xEB,0x9F,0x57,0x6C,0x02,0x6E,0x4C,0xE9,0xCB,0xEE,0xB0,0x67,0x2C,0xEE,0x00,0x18,0x01,0xA0,0x57,0x6C,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0xEF,0x04,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0xFD,0x63,0x04,0x62,0x7F,0xF7,0x0F,0x6D,0x00,0x18,0x5D,0xBA,0x5E,0x6C,0x0E,0xB2,0xFF,0xF6,0x1F,0x6D,0x00,0x18,0x5D,0xBA,0x81,0xA2,0xFF,0x6D,0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x00,0x6D,0x07,0xB4,0x41,0x6B,0x6B,0xEB,0x41,0x9C,0x04,0x97,0x6C,0xEA,0x41,0xDC,0x00,0x6A,0x49,0xC4,0x00,0xEF,0x03,0x63,0x30,0xF4,0x04,0x80,0xCC,0xA0,0x11,0x80,0xF7,0x63,0x10,0x62,0x0F,0xD1,0x0E,0xD0,0x72,0xB5,0x73,0xB3,0x07,0x6C,0xC0,0x9D,0xFF,0xF7,0x1F,0x6F,0xC0,0x32,0x58,0x32,0x80,0xF5,0x42,0x31,0x41,0x9D,0x4E,0x32,0x8C,0xEA,0x69,0xE2,0x60,0xA2,0x6D,0xB2,0x8C,0xEB,0x40,0xF6,0x60,0x33,0xCC,0xEA,0x6D,0xEA,0x40,0xF6,0x42,0x33,0x40,0xDD,0xFF,0x6E,0x8C,0xEB,0x61,0x21,0x51,0x67,0xEC,0xE9,0x00,0xF4,0x01,0x59,0x02,0x61,0x00,0xF4,0x00,0x6A,0x27,0x67,0x4C,0xE9,0x4F,0x43,0xCC,0xEA,0x04,0x5A,0x23,0x61,0x61,0xB0,0x00,0x6F,0x5D,0x67,0x06,0xD7,0x0C,0xCA,0x06,0x92,0x5F,0xB3,0x80,0xF4,0x20,0x34,0x01,0x6D,0x6C,0xEA,0x8D,0xEA,0x06,0xD2,0x5D,0xB2,0x9D,0x67,0x18,0x4C,0xC5,0x67,0x07,0xD2,0x04,0xD7,0x05,0xD7,0x3C,0x10,0xE0,0xF7,0x1F,0x6A,0x4C,0xEB,0x49,0x67,0x80,0xF4,0x60,0x33,0xCC,0xEA,0x6D,0xEA,0x40,0xDC,0x54,0xB2,0xFF,0x6D,0xEC,0xED,0x41,0xDC,0x28,0x10,0x53,0xB2,0x60,0x33,0x00,0x6D,0x41,0xE3,0x5D,0x67,0x18,0x4A,0xAA,0x65,0x4D,0xB2,0x71,0x67,0x0D,0x65,0x2A,0x65,0x4E,0xB2,0x6F,0x65,0x4E,0x65,0x8A,0x65,0xAC,0x32,0xCD,0x67,0xD1,0xE2,0x48,0x67,0x40,0xDC,0x00,0xF1,0x01,0x5B,0x00,0xCC,0x41,0xDC,0xC0,0x9C,0xE1,0x45,0xD7,0x61,0x49,0x67,0xCC,0xEA,0xAC,0x67,0xAD,0xEA,
+0xAA,0x67,0x80,0x4B,0xEC,0xED,0x80,0x4B,0xCB,0x67,0x04,0x5D,0x40,0xDC,0xCC,0xEB,0xE7,0x61,0x00,0x6F,0x9D,0x67,0x04,0xD7,0x05,0xD7,0x18,0x4C,0x01,0x6E,0x00,0x18,0xF7,0x33,0x00,0x65,0x34,0xB2,0xC4,0x6C,0xA0,0x9A,0x7F,0x6A,0x80,0xF4,0xA2,0x35,0x4C,0xED,0xA0,0x32,0x00,0x18,0x9A,0x33,0x4D,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x60,0x6D,0x35,0xB2,0x35,0xB0,0x2C,0xB3,0x81,0xA2,0x01,0xF4,0x00,0x6D,0x09,0xE4,0x40,0xAA,0x4C,0xED,0x40,0x9B,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x40,0x32,0x50,0x32,0x4D,0xED,0x00,0x18,0x9A,0x33,0x2D,0xED,0x2D,0xB2,0x23,0xB6,0xEE,0xF1,0x1F,0x6D,0x21,0xA2,0x60,0x9E,0x01,0xE1,0x40,0xA8,0x07,0x68,0x91,0x67,0x4C,0xED,0x01,0x6A,0x6C,0xEA,0x00,0xF7,0x62,0x33,0x0C,0xEB,0x40,0x32,0x5C,0x32,0x60,0x33,0x64,0x33,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6D,0xED,0x17,0xB2,0x01,0x6C,0xA0,0x9A,0x00,0xF7,0xA2,0x35,0x00,0x18,0x68,0x91,0x0C,0xED,0x13,0xB3,0x01,0x6C,0xA0,0x9B,0x00,0xF7,0xA2,0x35,0x00,0x18,0x82,0x91,0x0C,0xED,0x5E,0x6C,0x00,0x18,0x78,0xBA,0x90,0x6D,0xFF,0x6D,0x91,0x67,0x00,0x18,0x78,0xBA,0x01,0x4D,0xFF,0x6C,0x09,0x4C,0x00,0x18,0x9A,0x33,0x03,0x6D,0xFF,0x6D,0xD8,0x6C,0x00,0x18,0x9A,0x33,0x08,0x4D,0xFE,0xF7,0x1F,0x6D,0x00,0x18,0x5D,0xBA,0x5E,0x6C,0x10,0x97,0x0F,0x91,0x0E,0x90,0x00,0xEF,0x09,0x63,0x00,0x00,0xCC,0xA0,0x11,0x80,0xE0,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0x00,0xF8,0x10,0x80,0xFF,0xFF,0x03,0xE0,0x00,0x00,0x00,0x80,0x00,0xFB,0x10,0x80,0x00,0x00,0x00,0x04,0x38,0xF4,0x04,0x80,0x00,0x00,0x00,0xB6,0x30,0xF4,0x04,0x80,0xE0,0x63,0x3F,0x62,0x3E,0xD0,0x0F,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x00,0x68,0x7D,0x67,0x04,0xF0,0x1F,0x6A,0x9D,0x67,0x12,0xC3,0x48,0xCB,0x00,0x18,0xEC,0xC6,0x10,0x4C,0x08,0xB4,0x04,0x63,0x41,0x6B,0x41,0x9C,0x09,0xC4,0x3F,0x97,0x3E,0x90,0x6B,0xEB,0x6C,0xEA,0x41,0xDC,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x18,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x16,0xB5,0x17,0xB3,0x07,0x6E,0x41,0x9D,0x16,0xB4,0x4E,0x32,0xCC,0xEA,0x69,0xE2,0x40,0xA2,0x60,0x9D,0xCC,0xEA,0x40,0xF6,0x40,0x32,0x8C,0xEB,0x4D,0xEB,0x9D,
+0x67,0x04,0xF0,0x1E,0x6A,0x60,0xDD,0x48,0xCC,0x03,0x6A,0x52,0xC4,0x80,0xF4,0x62,0x32,0x7F,0x6C,0x8C,0xEA,0x9D,0x67,0x53,0xC4,0x62,0x32,0x40,0xF6,0x62,0x33,0xCC,0xEB,0x75,0xC4,0x54,0xC4,0x00,0x18,0xAA,0xC6,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xD0,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0xF1,0xE0,0x63,0x3E,0x62,0x3D,0xD1,0x3C,0xD0,0x11,0xB4,0xFB,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x7D,0x67,0x04,0xF0,0x1F,0x6A,0x48,0xCB,0x0D,0xB2,0x0E,0xB0,0x00,0x69,0xA1,0xF1,0x48,0xAA,0x9D,0x67,0x32,0xC3,0x49,0xD8,0x00,0x18,0xEC,0xC6,0x10,0x4C,0x41,0x98,0x41,0x6B,0x6B,0xEB,0x05,0x63,0x6C,0xEA,0x29,0xC0,0x41,0xD8,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0x58,0x46,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x0E,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x7D,0x67,0x04,0xF0,0x1D,0x6A,0x48,0xCB,0x01,0x6A,0x52,0xC3,0x09,0xB2,0x7F,0x6B,0x9D,0x67,0x40,0x9A,0x10,0x4C,0x80,0xF4,0x42,0x32,0x6C,0xEA,0x7D,0x67,0x00,0x18,0x7C,0xC6,0x53,0xC3,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x24,0xB4,0xFC,0x63,0x08,0x6E,0x00,0x18,0x64,0x2E,0x00,0x6D,0x7D,0x67,0x04,0xF0,0x0D,0x6A,0x48,0xCB,0x19,0x6A,0x00,0x6C,0x52,0xC3,0x60,0x6A,0x4B,0xEA,0x53,0xC3,0x94,0xC3,0x55,0xC3,0x96,0xC3,0x97,0xC3,0x98,0xC3,0x1B,0xB3,0xBD,0x67,0x9F,0xC5,0x54,0xA3,0x20,0xF0,0x80,0xC5,0x20,0xF0,0x82,0xC5,0x59,0xC5,0x55,0xA3,0x20,0xF0,0x84,0xC5,0x20,0xF0,0x85,0xC5,0x5A,0xC5,0x56,0xA3,0x20,0xF0,0x87,0xC5,0x20,0xF0,0x89,0xC5,0x5B,0xC5,0x57,0xA3,0x5C,0xC5,0x58,0xA3,0x5D,0xC5,0x59,0xA3,0x5E,0xC5,0x02,0x6A,0x20,0xF0,0x41,0xC5,0x20,0xF0,0x43,0xC5,0x1E,0x6A,0x20,0xF0,0x46,0xC5,0x12,0x6A,0x20,0xF0,0x48,0xC5,0x20,0xF0,0x4A,0xC5,0x20,0xF0,0x8B,0xC5,0x9D,0x67,0x00,0x18,0xFC,0xC2,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x00,0x00,0x76,0x5D,0x11,0x80,0xCC,0xA0,0x11,0x80,0xE0,0x63,0x3E,0x62,0x1A,0xB4,0xFC,0x63,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x7D,0x67,0x04,0xF0,0x06,0x6A,0x48,0xCB,0x0F,0x6A,
+0x9D,0x67,0x52,0xC3,0x00,0x6A,0x54,0xC4,0x56,0xC4,0x57,0xC4,0x58,0xC4,0x59,0xC4,0x5A,0xC4,0x5B,0xC4,0x5C,0xC4,0x5D,0xC4,0x5E,0xC4,0x5F,0xC4,0x07,0x6A,0x20,0x6B,0x20,0xF0,0x40,0xC4,0x03,0x6A,0x73,0xC4,0x75,0xC4,0x20,0xF0,0x41,0xC4,0x00,0x18,0xA8,0xC1,0x10,0x4C,0x7D,0x67,0x04,0xF0,0x0A,0x6A,0x48,0xCB,0x9D,0x67,0x01,0x6A,0x52,0xC3,0x53,0xC3,0x00,0x18,0x5E,0xC2,0x10,0x4C,0x04,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0x76,0x5D,0x11,0x80,0xE0,0x63,0x3E,0x62,0xFB,0x63,0x7D,0x67,0x00,0xF4,0x06,0x6A,0x48,0xCB,0x03,0x6A,0x52,0xC3,0x13,0x6A,0x55,0xC3,0x26,0xB2,0x6D,0xA2,0x08,0x73,0x22,0x60,0x70,0x32,0x69,0xE2,0x24,0xB6,0x48,0x32,0x6B,0xE2,0x48,0x32,0xD1,0xE2,0x20,0xF1,0x4F,0xA4,0x01,0x6D,0xAC,0xEA,0x16,0x22,0x00,0xF1,0x52,0xAE,0x47,0xEB,0xAC,0xEA,0x11,0x22,0x20,0xF1,0x6C,0xAC,0xFF,0xF7,0x1F,0x6A,0x9D,0x67,0x4C,0xEB,0x5D,0x67,0x73,0xC2,0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18,0xD2,0x48,0x10,0x4C,0x13,0xB2,0x6C,0xA2,0x0A,0x73,0x1D,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x10,0xB3,0x48,0x32,0x71,0xE2,0xE0,0xF0,0x4B,0xA4,0xFF,0x6B,0x6C,0xEA,0x01,0x72,0x0E,0x61,0x60,0xF2,0x7C,0xAC,0x5D,0x67,0x9D,0x67,0x73,0xC2,0xBD,0x67,0x62,0x32,0x7D,0x67,0x54,0xC3,0x00,0xF1,0x18,0x4D,0x00,0x18,0xD2,0x48,0x10,0x4C,0x05,0x63,0x3E,0x97,0x00,0xEF,0x20,0x63,0xCC,0xA0,0x11,0x80,0x58,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x12,0xB0,0x00,0x6A,0xFF,0x6D,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1,0x58,0xC0,0x0E,0xB2,0x02,0x6B,0xAC,0xEC,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0,0xC0,0xF1,0x79,0xC0,0x40,0xF1,0x9E,0xC0,0x60,0xC2,0x00,0x18,0xEB,0xA4,0xAC,0xEC,0x20,0xF1,0x8E,0x40,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80,0xE0,0x63,0x3E,0x62,0x3D,0xD1,0x3C,0xD0,0xF5,0x63,0x7D,0x67,0x00,0xF4,0x05,0x6A,0x7E,0xB5,0x54,0xCB,0x9D,0x67,0x0D,0x6A,0x20,0xF0,0x4A,0xC3,0x2B,0x4C,0x00,0x18,0x2E,0x2E,0x06,0x6E,0x7A,0xB0,0x00,0x6A,0x9D,0x67,0x01,0x6B,0x20,0xF0,0x51,0xC4,0x20,0xF0,0x52,0xC4,0x20,
+0xF0,0x73,0xC4,0x20,0xF0,0x54,0xC4,0x20,0xF0,0x55,0xC4,0x20,0xF0,0x56,0xC4,0x20,0xF0,0x77,0xC4,0xC0,0xF1,0x46,0xC0,0xC0,0xF1,0x5A,0xC0,0x03,0x6A,0xC0,0xF1,0x58,0xC0,0x6F,0xB2,0x02,0x6B,0xC0,0xF1,0x65,0xC0,0xC0,0xF1,0x64,0xC0,0xC0,0xF1,0x79,0xC0,0x20,0xF1,0x8E,0x40,0x60,0xC2,0x00,0x6D,0x00,0x18,0x64,0x2E,0x08,0x6E,0x60,0xF1,0x4E,0xA0,0x02,0x72,0x07,0x60,0x03,0x52,0x02,0x60,0x01,0x72,0x01,0x10,0x03,0x72,0x15,0x61,0xAF,0x10,0x63,0xB5,0x00,0x6B,0xFF,0x6C,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x48,0x32,0xA9,0xE2,0x20,0xF0,0x58,0xA2,0x8C,0xEA,0x80,0xF0,0x1F,0x2A,0x01,0x4B,0x8C,0xEB,0x0A,0x5B,0xEF,0x61,0x00,0x18,0xD4,0x5A,0x0A,0x04,0x62,0x67,0x80,0xF0,0x1D,0x2A,0x0A,0x02,0x06,0x4A,0x64,0xA2,0xFF,0xF7,0x1F,0x6C,0xBD,0x67,0x60,0x33,0x4C,0xD3,0x43,0xA2,0x22,0x4D,0x4D,0xEB,0x8C,0xEB,0x4C,0xD3,0x5D,0x67,0x20,0xF0,0x53,0xA2,0x7D,0x67,0x4D,0xD2,0x20,0xF0,0x74,0xA3,0x0A,0x02,0x0A,0x4A,0x4E,0xD3,0x24,0xA2,0x43,0xA2,0x20,0x31,0x8C,0xE9,0x4D,0xE9,0x8C,0xE9,0x9D,0x67,0x20,0xF0,0x97,0xA4,0x4F,0xD4,0x9D,0x67,0x00,0x18,0x8E,0xDF,0x20,0x4C,0x50,0xD2,0x62,0x67,0x75,0x2A,0x5D,0x67,0x71,0xAA,0xFF,0xF7,0x1F,0x6C,0x3D,0xB5,0x8C,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x3C,0xB3,0x48,0x32,0x61,0xE2,0xE0,0xF0,0x8D,0x40,0x00,0x18,0x2E,0x2E,0x06,0x6E,0x5D,0x67,0x20,0xF1,0x50,0xAA,0x7D,0x67,0x9D,0x67,0x60,0xF2,0x5E,0xC8,0x20,0xF1,0x74,0xA3,0x5D,0x67,0xE0,0xF0,0x7A,0xC0,0x20,0xF1,0x98,0xA4,0x7D,0x67,0xE0,0xF0,0x9C,0xC0,0x20,0xF1,0x5C,0xA2,0xE0,0xF0,0x5D,0xC0,0x20,0xF0,0x40,0xA3,0xE0,0xF0,0x53,0xC0,0x01,0x6A,0x80,0xF2,0x42,0xC0,0x91,0xAB,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x45,0x95,0x4C,0xEC,0x7D,0x67,0x40,0xF1,0x60,0xA3,0x22,0x32,0x5E,0x32,0x00,0xF1,0x71,0xC0,0x18,0x22,0xEF,0xF7,0x1F,0x6A,0x4C,0xE9,0x01,0x6A,0x80,0xF0,0x3E,0xC8,0x04,0xD2,0x20,0xB2,0xFF,0xF7,0x1F,0x6C,0xFA,0x6D,0x05,0xD2,0x80,0xF0,0x5E,0xA8,0xA4,0xF4,0x1A,0x6E,0x20,0xF5,0x17,0x6F,0x8C,0xEA,0x06,0x6C,0x20,0x18,0x1B,0x32,0x06,0xD2,0x05,0x10,0x5D,0x67,0x40,0xF1,0x40,0xAA,0x80,0xF0,0x5E,0xC8,0x00,0x18,0x4E,0x9B,0x0A,0x04,0x22,0x67,
+0x0F,0x22,0x7D,0x67,0x20,0xF0,0x80,0xA3,0xE0,0xF0,0xA8,0xA0,0x00,0x18,0xB6,0xDF,0x00,0x65,0x0B,0xB4,0x00,0x18,0xD3,0xDF,0x00,0x65,0x07,0x10,0x0C,0x6B,0x06,0x10,0x5D,0x67,0x91,0xAA,0x20,0x18,0x13,0x26,0x01,0x6D,0x71,0x67,0x0B,0x63,0x3E,0x97,0x3D,0x91,0x3C,0x90,0x43,0x67,0x00,0xEF,0x20,0x63,0x00,0x00,0xE0,0xA0,0x11,0x80,0x48,0x5C,0x11,0x80,0xBD,0x5B,0x11,0x80,0x48,0x60,0x11,0x80,0xF0,0xA5,0x10,0x80,0xF3,0x63,0x18,0x62,0x17,0xD1,0x16,0xD0,0x00,0x6A,0x0C,0xD2,0x0D,0xD2,0x0E,0xD2,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x1A,0xD4,0x54,0xCB,0x62,0xA4,0x23,0xA4,0x26,0x5B,0x20,0xF4,0x05,0x60,0x00,0xF0,0x10,0x0A,0x64,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x4D,0x00,0x59,0x00,0xAD,0x00,0x77,0x02,0x23,0x03,0x63,0x03,0xEF,0x03,0x3F,0x08,0x11,0x04,0x25,0x04,0x43,0x04,0x57,0x04,0x25,0x07,0xC7,0x05,0x6B,0x04,0x97,0x05,0xAF,0x05,0x25,0x07,0xD7,0x05,0xE9,0x05,0xFB,0x05,0x29,0x06,0x35,0x06,0x4B,0x06,0x57,0x06,0x6B,0x06,0x7B,0x06,0x8B,0x06,0x97,0x06,0xA9,0x06,0x3B,0x08,0x3B,0x08,0x3B,0x08,0x3B,0x08,0xC7,0x06,0x07,0x07,0x13,0x07,0x31,0x08,0x21,0xF0,0x04,0xB2,0x03,0x6C,0x40,0xAA,0x0C,0xD2,0x17,0x13,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,0x80,0x18,0x38,0x2D,0x00,0x6C,0x00,0x18,0xFE,0x4F,0x00,0x65,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0xC0,0xF7,0x1C,0xB3,0x0A,0x6A,0x4C,0xC3,0x08,0x6A,0x4D,0xC3,0x00,0x6A,0x49,0xC3,0x4A,0xC3,0xC9,0x13,0x0B,0x59,0x18,0x67,0xA0,0xF3,0x0D,0x20,0xC0,0xF7,0x00,0xB4,0x05,0x21,0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x07,0x22,0x8F,0x13,0x41,0x9C,0x40,0x6B,0x6C,0xEA,0x02,0x2A,0x29,0xC4,0xB7,0x13,0xA0,0xF7,0x04,0xB3,0x04,0x6A,0xFA,0x6D,0x89,0xA3,0x29,0xC3,0x04,0xD2,0x80,0xF7,0x1C,0xB2,0x06,0xD1,0x0B,0xD4,0x05,0xD2,0x4A,0xA3,0x01,0x6C,0xA4,0xF1,0x00,0x6E,0x07,0xD2,0x61,0x9B,0xE1,0xF4,0x11,0x6F,0x6A,0x32,0x66,0xEC,0x8C,0xEA,0x8C,0xEB,0x08,0xD2,0x20,0x18,0x1B,0x32,0x09,0xD3,0xA0,0xF0,0x08,0x20,0x00,0xF0,0x10,0x0A,0x24,0x33,0x4D,
+0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x17,0x00,0x95,0x00,0xC1,0x00,0xF7,0x00,0x17,0x01,0x1B,0x01,0x1F,0x01,0x41,0x01,0x29,0x01,0x31,0x01,0x39,0x01,0x40,0xF7,0x04,0xB2,0x61,0x9A,0x01,0x6A,0x6C,0xEA,0x0B,0x22,0x02,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0x9A,0x2D,0x00,0x65,0x15,0x10,0x80,0x18,0xC0,0x2D,0x00,0x65,0x11,0x10,0x02,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0xD3,0x2E,0x00,0x65,0x0A,0x10,0x04,0x6A,0x6C,0xEA,0x04,0x22,0x80,0x18,0xA4,0x2E,0x00,0x65,0x03,0x10,0x80,0x18,0x12,0x2E,0x00,0x65,0x00,0xF7,0x00,0xB0,0x6B,0x98,0x4A,0x98,0x29,0x98,0x10,0xD3,0x00,0x18,0xFE,0x4F,0x0F,0xD2,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0x0B,0x94,0x0A,0x6A,0x4C,0xC0,0x02,0x5C,0x08,0x6A,0x4D,0xC0,0x40,0xF3,0x0D,0x60,0x0F,0x92,0x10,0x93,0x29,0xD8,0x4A,0xD8,0x6B,0xD8,0x47,0x13,0xC0,0xF6,0x04,0xB4,0x02,0x6A,0x61,0x9C,0x4D,0xEB,0x04,0x6A,0x6C,0xEA,0x61,0xDC,0x07,0x22,0x02,0x6A,0x4B,0xEA,0x6C,0xEA,0x80,0x18,0xE9,0x2E,0x41,0xDC,0x1A,0x10,0x01,0x6A,0x6D,0xEA,0x80,0x18,0xB0,0x2D,0x41,0xDC,0x14,0x10,0x80,0xF6,0x18,0xB4,0x03,0x6A,0x4B,0xEA,0x61,0x9C,0x4C,0xEB,0x02,0x6A,0x4B,0xEA,0x4C,0xEB,0x04,0x6A,0x6C,0xEA,0x61,0xDC,0x04,0x22,0x80,0x18,0xB6,0x2E,0x00,0x65,0x03,0x10,0x80,0x18,0x25,0x2E,0x00,0x65,0x60,0xF6,0x10,0xB2,0x40,0x6C,0x61,0x9A,0x8D,0xEB,0x61,0xDA,0x16,0x13,0x60,0xF6,0x04,0xB0,0x03,0x6B,0x6B,0xEB,0x41,0x98,0x6C,0xEA,0x01,0x6B,0x6D,0xEA,0x80,0x18,0xD2,0x2D,0x41,0xD8,0x41,0x98,0x40,0x6B,0x6D,0xEA,0x41,0xD8,0x06,0x13,0x01,0x6C,0x03,0x10,0x02,0x6C,0x01,0x10,0x03,0x6C,0x80,0x18,0x6B,0x2F,0x00,0x65,0xFD,0x12,0x80,0x18,0xFA,0x2E,0x00,0x65,0xF9,0x12,0x80,0x18,0x21,0x2F,0x00,0x65,0xF5,0x12,0x80,0x18,0x3D,0x2F,0x00,0x65,0xF1,0x12,0x80,0x18,0x80,0x2F,0x00,0x65,0xE0,0xF2,0x0C,0x22,0x12,0x72,0x98,0x67,0x01,0x5C,0x78,0x67,0x01,0x5B,0x58,0x67,0x03,0x4A,0xE3,0x12,0x04,0x59,0xA0,0xF2,0x13,0x60,0x80,0x18,0x38,0x2D,0x00,0x6C,0x57,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x02,0xF1,0x03,0x6A,0x4B,0xEA,0x4C,0xEE,0x57,0x6C,0x00,0x18,0x01,0xA0,0x01,0x6D,0x00,0x6C,0xA4,0x67,0x00,0x18,0x01,0xA0,0xC4,0x67,
+0x00,0x18,0xFE,0x4F,0x00,0x65,0x00,0x6D,0x9D,0x67,0x28,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0xA0,0xF5,0x18,0xB0,0x0A,0x6A,0x4C,0xC0,0x08,0x6A,0x2A,0xC0,0x00,0x1C,0xDD,0x31,0x4D,0xC0,0x11,0xD2,0x41,0x98,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0x01,0x71,0x41,0xD8,0x06,0x61,0x80,0x18,0x6B,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x02,0x71,0x04,0x61,0x41,0x98,0x04,0x6B,0x6D,0xEA,0x41,0xD8,0x00,0x1C,0xE5,0x31,0x11,0x94,0x02,0x6A,0x04,0xD2,0x60,0xF5,0x18,0xB2,0x06,0xD1,0x01,0x6C,0x05,0xD2,0x41,0x98,0xFA,0x6D,0x44,0xF2,0x19,0x6E,0x4A,0x32,0x8C,0xEA,0xE1,0xF4,0x12,0x6F,0x20,0x18,0x1B,0x32,0x07,0xD2,0x8E,0x12,0x4F,0x59,0x25,0x60,0x1A,0x93,0x44,0xA3,0x08,0x5A,0x21,0x60,0x40,0xF5,0x08,0xB5,0x7F,0x6A,0x4C,0xE9,0x80,0x9D,0x40,0xF5,0x04,0xB2,0x80,0xF4,0x20,0x33,0x4C,0xEC,0x6D,0xEC,0x80,0xDD,0x1A,0x92,0x64,0xA2,0xFF,0x6A,0x4C,0xEB,0x07,0x6A,0x4C,0xEB,0x20,0xF5,0x10,0xB2,0x00,0xF7,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x40,0xDD,0x6E,0x12,0x1A,0x93,0x0A,0x59,0x45,0xA3,0x84,0xA3,0x40,0x32,0x4D,0xEC,0x03,0x61,0x03,0x6C,0x0D,0xD4,0x64,0x12,0x00,0xF5,0x00,0xB6,0x00,0xF5,0x0C,0xB3,0xE3,0xF7,0x1F,0x6A,0xA0,0x9E,0x8C,0xEA,0x54,0x32,0x6C,0xED,0x00,0xF5,0x00,0xB3,0x4D,0xED,0x24,0x32,0x69,0xE2,0x40,0xAA,0xFF,0xF7,0x1F,0x6B,0xA0,0xDE,0x6C,0xEA,0x4C,0x32,0x82,0xEA,0x20,0xF2,0x14,0x61,0x03,0x59,0x05,0x60,0x02,0x6A,0x4B,0xEA,0x4C,0xED,0xA0,0xDE,0x0F,0x10,0x06,0x59,0xFF,0x6B,0x58,0x67,0x01,0x6C,0x6C,0xEA,0x61,0x9E,0x8D,0xED,0x8C,0xEA,0x81,0x6C,0x8B,0xEC,0x5C,0x32,0x8C,0xEB,0x4D,0xEB,0xA0,0xDE,0x61,0xDE,0xA0,0xF4,0x1C,0xB2,0x1F,0x6B,0x6B,0xEB,0x49,0xE1,0x80,0xA2,0x0F,0x6A,0x4C,0xEC,0x40,0x9E,0x84,0x34,0x6C,0xEA,0x8D,0xEA,0x40,0xDE,0x28,0x12,0x1A,0x92,0x85,0xA2,0x05,0x5C,0xE0,0xF1,0x15,0x60,0x60,0xF4,0x1C,0xB5,0x07,0x6A,0x4C,0xEC,0x41,0x9D,0x39,0x6B,0x6B,0xEB,0x8C,0x34,0x6C,0xEA,0x8D,0xEA,0x41,0xDD,0x17,0x12,0x1A,0x94,0x60,0xF4,0x04,0xB3,0x43,0xA4,0x46,0xC3,0x44,0xA4,0x47,0xC3,0x45,0xA4,0x48,0xC3,0x0D,0x12,0x40,0xF4,0x10,0xB5,0x60,0xF4,0x08,0xB3,0x3E,0x34,0x40,0x9D,0xC0,0xF7,0x80,0x34,0x6C,0xEA,0x8D,0xEA,0x40,0xDD,0x7F,0x6A,0x4C,0xE9,0x25,0xC5,0xFE,
+0x11,0x1A,0x94,0x20,0xF4,0x10,0xB3,0x43,0xA4,0x4E,0xC3,0x44,0xA4,0x4F,0xC3,0x45,0xA4,0x50,0xC3,0xF4,0x11,0x1A,0x94,0x00,0xF4,0x1C,0xB3,0x43,0xA4,0x51,0xC3,0x44,0xA4,0x52,0xC3,0x45,0xA4,0x53,0xC3,0xEA,0x11,0x00,0xF4,0x0C,0xB6,0xFF,0x6C,0xA4,0x67,0x69,0xA6,0x6C,0xED,0x0A,0x75,0x40,0x61,0x4C,0xA6,0x00,0x6F,0x8C,0xEA,0x0A,0x72,0x14,0x60,0x22,0x67,0x44,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32,0x00,0xF4,0x04,0xB3,0x2B,0xE2,0x48,0x32,0x69,0xE2,0x20,0xF0,0x58,0xA2,0x05,0x6F,0x8C,0xEA,0x04,0x72,0x03,0x60,0x0A,0x6A,0x00,0x6F,0x4C,0xC6,0x4D,0xA6,0x08,0x72,0x6A,0x60,0x22,0x67,0x50,0x32,0x29,0xE2,0xF8,0xB4,0x48,0x32,0x2B,0xE2,0x48,0x32,0x89,0xE2,0x20,0xF1,0x4F,0xA2,0x01,0x6B,0x05,0x6F,0x6C,0xEA,0x05,0x22,0x00,0xF1,0x52,0xAC,0x47,0xE9,0x6C,0xEA,0x57,0x2A,0x08,0x6A,0x00,0x6F,0x4D,0xC6,0x53,0x10,0xEF,0xB0,0x7F,0x4D,0x6E,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E,0x00,0x18,0x2E,0x2E,0x15,0xD7,0xFF,0xF7,0x38,0xC0,0x25,0x10,0x4B,0x43,0x8C,0xEA,0x03,0x5A,0x23,0x60,0xE5,0xB5,0x04,0x6F,0x00,0x69,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x4C,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF0,0x58,0xA2,0x8C,0xEA,0x04,0x72,0xDF,0x60,0x01,0x49,0x8C,0xE9,0x0A,0x59,0xEF,0x61,0x2D,0x10,0xDC,0xB0,0x60,0xF1,0x02,0x4D,0x05,0x6F,0x90,0x67,0xB5,0xE3,0x06,0x6E,0x00,0x18,0x2E,0x2E,0x15,0xD7,0xFF,0xF7,0x39,0xC0,0x15,0x97,0x1F,0x10,0x48,0x43,0x8C,0xEA,0x02,0x5A,0xE5,0x67,0x1A,0x60,0xD2,0xB5,0x04,0x6F,0x00,0x69,0x01,0x6E,0xFF,0xF7,0x1F,0x68,0x30,0x32,0x29,0xE2,0x48,0x32,0x2B,0xE2,0x48,0x33,0xA9,0xE3,0x20,0xF1,0x4F,0xA2,0xCC,0xEA,0x06,0x22,0x00,0xF1,0x52,0xAD,0x0C,0xEA,0x47,0xE9,0xCC,0xEA,0xD7,0x2A,0x01,0x49,0x8C,0xE9,0x08,0x59,0xEC,0x61,0xBC,0xB2,0x4A,0xA2,0x0C,0xD2,0x0C,0x93,0xE0,0x32,0x4D,0xEB,0x0C,0xD3,0x77,0x10,0xC3,0xB2,0x20,0xF0,0x7C,0xA2,0x0C,0xD3,0x20,0xF0,0x7D,0xA2,0x0C,0x94,0x20,0xF0,0x5E,0xA2,0x60,0x33,0x6D,0xEC,0x85,0x10,0xBD,0xB2,0x20,0xF0,0x7F,0xA2,0x0C,0xD3,0x40,0xF0,0x60,0xA2,0x0C,0x94,0x40,0xF0,0x41,0xA2,0x60,0x33,0x6D,0xEC,0x79,0x10,0x1A,0x93,0x43,0xA3,0x62,0xAB,0x60,0x33,0x6D,0xEA,0xB5,0xB3,0x41,0xDB,0x34,0x11,0x1A,0x94,
+0xA7,0xB3,0x43,0xA4,0x54,0xC3,0x44,0xA4,0x55,0xC3,0x45,0xA4,0x56,0xC3,0x2B,0x11,0x1A,0x94,0xA3,0xB3,0x43,0xA4,0x57,0xC3,0x44,0xA4,0x58,0xC3,0x45,0xA4,0x59,0xC3,0x22,0x11,0x4F,0x41,0xFF,0x6B,0x6C,0xEA,0x09,0x5A,0x00,0xF1,0x04,0x60,0x5C,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0xFF,0xF7,0x1F,0x6E,0x4C,0xEE,0x79,0x6A,0x4B,0xEA,0x4C,0xEE,0x2C,0x33,0x78,0x6A,0x4C,0xEB,0x5C,0x6C,0x01,0x6D,0x6D,0xEE,0xD6,0x10,0x93,0xB2,0x92,0xAA,0x69,0x9A,0x0C,0xD4,0x9E,0xB4,0x07,0x10,0x90,0xB2,0x69,0x9A,0x62,0x34,0x82,0x34,0x0C,0xD4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x69,0xDA,0x02,0x6A,0x3C,0x10,0x8B,0xB2,0x96,0xAA,0x6B,0x9A,0x0C,0xD4,0x96,0xB4,0x07,0x10,0x88,0xB2,0x6B,0x9A,0x62,0x34,0x82,0x34,0x0C,0xD4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEB,0x6B,0xDA,0xEE,0x17,0x78,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x02,0x6B,0x0C,0xD2,0x0E,0xD3,0xE2,0x10,0x76,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xD2,0x02,0x6C,0x0E,0xD4,0xDA,0x10,0x77,0x6C,0x00,0x18,0xEB,0x9F,0x01,0x6D,0x0C,0xD2,0xD8,0x17,0x78,0xB2,0x74,0xA2,0x0C,0xD3,0x75,0xA2,0x0C,0x94,0x56,0xA2,0x60,0x33,0x6D,0xEC,0x08,0x10,0x73,0xB2,0x77,0xA2,0x0C,0xD3,0x78,0xA2,0x0C,0x94,0x59,0xA2,0x60,0x33,0x6D,0xEC,0x40,0x32,0x40,0x32,0x4D,0xEC,0x0C,0xD4,0x03,0x6A,0x0E,0xD2,0xBC,0x10,0x1A,0x93,0x79,0xB1,0x43,0xA3,0x44,0x33,0x4D,0xE3,0x6C,0x33,0x4D,0xE3,0x40,0x99,0x68,0x30,0x4F,0xEA,0x03,0x22,0x00,0x18,0xFD,0x1D,0x91,0x67,0x0E,0x20,0x00,0x18,0x40,0xA4,0x00,0x65,0x72,0xB6,0x00,0x6F,0x01,0x6C,0xB1,0x67,0x00,0x18,0xF3,0x1D,0x04,0xD7,0x80,0x99,0x00,0x18,0x0C,0x1E,0xB0,0x67,0x6D,0xB2,0x00,0xCA,0x9C,0x10,0x1A,0x94,0x66,0xB2,0x63,0xA4,0x80,0xF1,0x61,0xC2,0x96,0x10,0x1A,0x94,0x00,0x6B,0x43,0xA4,0x01,0x22,0x01,0x6B,0x61,0xB2,0x80,0xF1,0x71,0xC2,0x8D,0x10,0x05,0x59,0x00,0x6A,0x78,0x67,0x12,0xD2,0x70,0x23,0x1A,0x94,0x42,0xA4,0x02,0xAC,0x0C,0x72,0x05,0x61,0x5B,0xB2,0x01,0x6F,0x41,0x9A,0x12,0xD2,0x03,0x10,0x12,0x97,0x03,0x6A,0x0E,0xD2,0x7A,0x23,0x00,0xF0,0x12,0x0A,0x24,0x33,0x4D,0xE3,0x60,0x8B,0x4D,0xE3,0x00,0xEB,0x00,0x65,0x0B,0x00,0x29,0x00,0x83,0x00,0xA5,0x00,0xAF,0x00,0x06,0x27,0x12,0x96,0x3F,0x6A,0x90,0x67,0x4C,0xEC,0x00,
+0x6D,0x31,0x10,0x3F,0x6A,0x90,0x67,0x4C,0xEC,0x00,0x18,0xEB,0x9F,0xA7,0x67,0x0C,0xD2,0x5E,0x10,0x02,0x31,0x01,0x6B,0x6C,0xE9,0x09,0x21,0xA3,0x67,0x40,0x6C,0xD1,0x67,0x14,0xD3,0x00,0x18,0x01,0xA0,0x15,0xD7,0x15,0x97,0x14,0x93,0x0C,0x27,0x7F,0x6A,0x4C,0xE8,0x07,0x34,0x40,0x6A,0x12,0x96,0x4D,0xEC,0xFF,0x6A,0x4C,0xEC,0x00,0x18,0x01,0xA0,0xA3,0x67,0x0B,0x10,0x7F,0x6A,0x4C,0xE8,0x07,0x34,0x40,0x6A,0x4D,0xEC,0xFF,0x6A,0x4C,0xEC,0x00,0x18,0xEB,0x9F,0xA3,0x67,0x0C,0xD2,0x38,0x21,0x40,0x6C,0x01,0x6D,0x00,0x6E,0x00,0x18,0x01,0xA0,0x00,0x65,0x31,0x10,0x01,0x6A,0x0C,0xEA,0x03,0x22,0x03,0x6B,0x0D,0xD3,0x2B,0x10,0x08,0x27,0x12,0x95,0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x00,0x18,0x9A,0x33,0x4C,0xED,0x22,0x10,0x30,0xB2,0x12,0x10,0x01,0x6A,0x0C,0xEA,0x05,0x2A,0x2E,0xB2,0x06,0x10,0x01,0x6A,0x0C,0xEA,0x02,0x22,0x03,0x6A,0x15,0x10,0x2C,0xB2,0x06,0x27,0x7D,0x67,0x40,0xF0,0x68,0xAB,0x49,0xE0,0x60,0xCA,0x0E,0x10,0x49,0xE0,0x40,0xAA,0xFF,0xF7,0x1F,0x6C,0x4C,0xEC,0x0C,0xD4,0x07,0x10,0x01,0x6A,0x4C,0xE9,0x24,0xB2,0x20,0xC2,0x02,0x10,0x02,0x6A,0x0D,0xD2,0x0E,0x93,0x0D,0x94,0x70,0x32,0x4D,0xEC,0x1A,0x92,0x83,0xC2,0x1A,0x93,0x1A,0x94,0x41,0xA3,0x10,0x6B,0x6B,0xEB,0x6C,0xEA,0x41,0xC4,0x1A,0x92,0x0C,0x96,0x02,0x6C,0x00,0x18,0x2C,0x2B,0xA0,0x9A,0x18,0x97,0x17,0x91,0x16,0x90,0x00,0xEF,0x0D,0x63,0x00,0x00,0xD2,0x04,0x11,0x80,0xCC,0xA0,0x11,0x80,0xF0,0xA5,0x10,0x80,0xFF,0xFF,0x03,0xFE,0xFF,0xFF,0xFF,0x8F,0x1F,0x00,0xFC,0xFF,0xE8,0xDF,0x10,0x80,0xFC,0xDF,0x10,0x80,0xFF,0xFF,0xFF,0x7F,0x48,0x60,0x11,0x80,0x58,0x46,0x11,0x80,0xE0,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0xFC,0xA0,0x11,0x80,0x00,0x00,0xFF,0xFF,0x88,0x07,0x11,0x80,0x01,0x91,0x02,0x80,0x08,0xA1,0x11,0x80,0x00,0x00,0x00,0xB6,0x00,0xA0,0x00,0xB0,0x00,0x10,0x00,0xB6,0x1C,0xA1,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x44,0xAC,0x24,0x67,0x01,0x72,0x55,0x61,0x00,0x9C,0x5D,0x67,0xFA,0x6D,0x20,0xF0,0x08,0xC2,0x02,0x6A,0x04,0xD2,0x45,0xB2,0x06,0xD0,0xE4,0xF4,0x03,0x6E,0x05,0xD2,0x41,0x9C,0xC1,0xF4,0x1C,0x6F,0x04,0x6C,0x20,0x18,0x1B,0x32,0x07,0xD2,0x3F,0x6A,0x4C,0xE8,0x20,0x70,0x0A,0x61,
+0x62,0xA1,0xFF,0x6A,0x4C,0xEB,0x06,0x2B,0x3C,0xB2,0x60,0xDA,0x3C,0xB2,0x60,0xDA,0x01,0x6A,0x42,0xC1,0x7D,0x67,0x20,0xF0,0x68,0xA3,0x3F,0x6A,0x6C,0xEA,0x24,0x72,0x03,0x67,0x24,0x61,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x00,0x1C,0xDD,0x31,0x50,0xCB,0x00,0x18,0xFE,0x4F,0x02,0x67,0x00,0x6D,0x9D,0x67,0x20,0x4C,0x80,0x18,0x95,0x2B,0xC5,0x67,0x2F,0xB3,0x40,0x99,0x6C,0xEA,0x2F,0xB3,0x6E,0xEA,0x06,0x2A,0x80,0x18,0x6B,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0xA0,0x99,0x02,0x6C,0x00,0x18,0x2C,0x2B,0x00,0x6E,0x00,0x1C,0xE5,0x31,0x90,0x67,0x3E,0x10,0xFF,0x6A,0x4C,0xE8,0x30,0x70,0x04,0x61,0x80,0x18,0x07,0x30,0x91,0x67,0x36,0x10,0x44,0xA9,0x02,0x72,0x30,0x61,0x21,0xB2,0x00,0xA2,0x2D,0x28,0x40,0x99,0x04,0xF0,0x0F,0x6B,0x6C,0xEA,0x6A,0xEA,0x0B,0x61,0x1E,0xB2,0xFF,0xF7,0x1F,0x6B,0x40,0xAA,0x6C,0xEA,0x40,0x32,0x40,0x32,0x00,0xF2,0x0F,0x6B,0x6D,0xEA,0x40,0xD9,0x02,0x6A,0x04,0xD2,0x11,0xB2,0x05,0x6C,0xFA,0x6D,0x05,0xD2,0x40,0x99,0x24,0xF5,0x13,0x6E,0xC1,0xF4,0x1D,0x6F,0x06,0xD2,0x41,0x99,0x20,0x18,0x1B,0x32,0x07,0xD2,0x11,0xB2,0xFF,0x6B,0x40,0xA2,0x6C,0xEA,0x07,0x22,0x40,0x99,0x6C,0xEA,0x30,0x72,0x03,0x60,0x0E,0xB2,0x00,0xDA,0x03,0x10,0x00,0x18,0xF4,0x2C,0x91,0x67,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0xF0,0xA5,0x10,0x80,0x14,0xE0,0x10,0x80,0x38,0x91,0x10,0x80,0x00,0x00,0xFF,0x00,0x00,0x00,0x01,0x00,0x98,0x00,0x11,0x80,0x04,0x09,0x11,0x80,0x1C,0xA1,0x11,0x80,0x94,0x00,0x11,0x80,0xFD,0x63,0x04,0x62,0x00,0x18,0x23,0xEA,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x80,0xAC,0x00,0x6A,0xC0,0xB3,0x11,0xD4,0xA0,0xA5,0x1B,0xD2,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x8B,0xE2,0x48,0x32,0x69,0xE2,0x19,0xD2,0x12,0xD5,0xE0,0xF0,0x6C,0xA2,0x18,0xD3,0xA0,0xF0,0x9A,0xAA,0x19,0x93,0x13,0xD4,0xA0,0xF0,0x58,0xAA,0x19,0x94,0x14,0xD2,0xA0,0xF0,0x7C,0xAB,0x19,0x92,0x15,0xD3,0x7D,0x67,0x60,0xF0,0x6C,0xA3,0xC0,0xF0,0x80,0xAC,0x16,0xD4,0xC0,0xF2,0x74,0xC2,0x9D,0x67,0xE0,0xF0,0x13,0xA2,0x60,0xF0,0x8C,0xA4,0xE0,0xF0,0x28,0xA2,0xC0,0xF2,0x95,0xC2,0xB1,0x67,0x00,0x18,0x7B,0xBB,0x90,0x67,0x17,
+0xD2,0x17,0x93,0x48,0x32,0x1C,0xD2,0x69,0xE2,0xA6,0xB3,0x44,0x32,0x69,0xE2,0x1A,0xD2,0x19,0x92,0xE0,0xF0,0xA8,0xA2,0x00,0x18,0xC3,0x34,0x90,0x67,0x12,0x93,0x0E,0x23,0x18,0x94,0x01,0x74,0x0B,0x61,0x1A,0x92,0x03,0xF4,0x00,0x6C,0x18,0xF0,0x00,0x6D,0xC3,0xAA,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x8D,0x93,0x4C,0xEE,0x14,0x93,0x05,0x23,0x19,0x94,0x00,0xF2,0x57,0xA4,0x01,0x72,0x15,0x60,0x03,0x6A,0x04,0xD2,0x95,0xB2,0x19,0x93,0x12,0x94,0x05,0xD2,0x14,0x92,0xFA,0x6D,0x64,0xF6,0x09,0x6E,0x06,0xD2,0x00,0xF2,0x57,0xA3,0x64,0xF4,0x18,0x6F,0x08,0xD4,0x04,0x6C,0x20,0x18,0x1B,0x32,0x07,0xD2,0x0C,0x11,0x00,0x1C,0xDD,0x31,0x00,0x65,0x9D,0x67,0x40,0x4C,0xB1,0x67,0x00,0x18,0x3B,0x94,0x1B,0xD2,0x10,0x92,0x88,0xB6,0x46,0x32,0x01,0x4A,0xCC,0xEA,0x10,0xD2,0x19,0x92,0xC0,0xF2,0xEE,0xAA,0x07,0x2F,0x12,0x93,0x01,0x73,0x04,0x61,0x00,0x1C,0xE5,0x31,0x1B,0x94,0xF2,0x10,0x10,0x95,0x08,0x25,0x14,0x94,0x06,0x24,0x9B,0xED,0x01,0x2C,0xE5,0xE8,0x10,0xEA,0x00,0x65,0x01,0x10,0x00,0x6A,0x14,0x93,0xFF,0xF7,0x1F,0x6C,0x4B,0xE3,0x13,0x93,0x8C,0xEA,0x65,0xE2,0x14,0x92,0x23,0xEA,0x01,0x60,0x47,0xE1,0x12,0x93,0x01,0x73,0x18,0x61,0x19,0x92,0xEC,0xEC,0xA0,0xF2,0x74,0x9A,0x14,0xD4,0xCC,0xEB,0x73,0xE5,0xA3,0xEB,0x44,0x67,0x02,0x61,0x6F,0xB2,0x49,0xE4,0x14,0x94,0x9A,0xEA,0x01,0x2C,0xE5,0xE8,0x12,0xE9,0x41,0x41,0x00,0x65,0x98,0xEA,0x12,0xEA,0x65,0xE2,0xA7,0xE1,0xCC,0xE9,0x19,0x94,0xFF,0x6B,0x14,0x35,0xE0,0xF0,0x48,0xA4,0x6C,0xED,0x02,0x6C,0x6C,0xEA,0x40,0x32,0x4C,0x32,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0x9A,0x33,0x4C,0xED,0x10,0x92,0x2D,0xE2,0x1D,0xD3,0x08,0x59,0x06,0x60,0x1D,0x94,0x14,0x93,0x71,0xE4,0x65,0xE1,0x1D,0xD4,0xF8,0x17,0x1D,0x94,0x43,0xE4,0x00,0x18,0xC4,0x36,0x04,0x30,0x41,0xE0,0x19,0x92,0x4E,0x6C,0x13,0xDA,0x00,0x18,0x9A,0x33,0x14,0x95,0x1D,0x95,0xFF,0xF7,0x1F,0x6B,0x48,0x6C,0x00,0x18,0x9A,0x33,0x6C,0xED,0x18,0x94,0x03,0x2C,0x16,0x95,0x15,0x90,0x07,0x10,0x15,0x92,0x16,0x93,0xFF,0xF7,0x1F,0x6C,0x00,0x6D,0x61,0xE2,0x8C,0xE8,0x00,0x18,0x9A,0x33,0x4C,0x6C,0x4A,0x6C,0x00,0x18,0x9A,0x33,0xB0,0x67,0x00,0x6C,0x00,0x18,0x9A,0x33,0x07,0x6D,0x12,0x92,
+0x0D,0x2A,0x18,0x93,0x01,0x73,0x0A,0x61,0x17,0x94,0x44,0xB2,0x7D,0x67,0x40,0xF0,0x68,0xA3,0x49,0xE4,0x60,0xC2,0x42,0xB2,0x49,0xE4,0x60,0xC2,0x1B,0x94,0x00,0x1C,0xE5,0x31,0x02,0x49,0x00,0x18,0x4E,0x05,0x00,0x65,0x01,0xF0,0x00,0x6D,0x00,0x18,0x78,0xBA,0x5E,0x6C,0x12,0x92,0x21,0x2A,0x18,0x93,0x01,0x73,0x0D,0x61,0x1A,0x92,0x18,0xF0,0x00,0x6C,0x03,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93,0xC3,0xAA,0x19,0x93,0x20,0x6A,0x00,0xF2,0x55,0xC3,0x11,0x10,0x51,0x59,0x07,0x61,0x11,0x95,0xFF,0xF7,0x1F,0x6A,0x91,0x67,0x00,0x18,0x3A,0x96,0x4C,0xEC,0x1A,0x92,0x18,0xF0,0x00,0x6C,0x01,0xF4,0x00,0x6D,0x00,0x18,0x8D,0x93,0xC3,0xAA,0x18,0x93,0x14,0x2B,0x12,0x94,0x12,0x24,0x51,0x59,0x10,0x61,0x11,0x95,0xFF,0xF7,0x1F,0x68,0x91,0x67,0x00,0x18,0x3A,0x96,0x0C,0xEC,0x1A,0x92,0x01,0xF4,0x00,0x6C,0x18,0xF0,0x00,0x6D,0xC3,0xAA,0x00,0x18,0x8D,0x93,0x0C,0xEE,0x2B,0x6A,0x7D,0x67,0x58,0xCB,0x14,0x94,0x1D,0xB2,0xFD,0x67,0x0A,0xD4,0x80,0x9A,0x00,0x6D,0x04,0x06,0x34,0x4F,0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x0A,0x95,0x0B,0x96,0x00,0x18,0x40,0x1E,0x0C,0x97,0x17,0x92,0x0F,0x22,0x1C,0x93,0x13,0xB2,0x49,0xE3,0x00,0x6B,0xFF,0xF7,0x7C,0xDA,0x1C,0x94,0x11,0xB2,0x49,0xE4,0xFF,0xF7,0x7C,0xDA,0x10,0xB2,0x49,0xE4,0xFF,0xF7,0x7C,0xDA,0x20,0x97,0x1F,0x91,0x1E,0x90,0x01,0x6A,0x00,0xEF,0x11,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x70,0x45,0x11,0x80,0xF0,0xA5,0x10,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x08,0x48,0x06,0x11,0x80,0x3C,0x06,0x11,0x80,0x68,0x52,0x11,0x80,0x18,0x07,0x11,0x80,0xE8,0x06,0x11,0x80,0xB8,0x06,0x11,0x80,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0xC0,0xAC,0xFF,0xF7,0x1F,0x6A,0xFF,0x6F,0x4C,0xEE,0xEC,0xEE,0x4C,0xED,0x0A,0x65,0xCC,0x32,0xC9,0xE2,0x48,0x32,0x4D,0xB3,0xCB,0xE2,0x48,0x32,0x71,0xE2,0x29,0xA4,0xFF,0xF7,0x1F,0x75,0xEC,0xE9,0x4E,0x61,0x58,0xA4,0xEC,0xEA,0x01,0x72,0x42,0x61,0x47,0xB2,0x49,0xE1,0x40,0xA2,0xEC,0xEA,0x3D,0x2A,0x46,0xB2,0x01,0x6B,0x80,0x9A,0x40,0xF6,0x82,0x32,0x6C,0xEA,0x36,0x22,0xC4,0x30,0xC9,0xE0,0x42,0xB3,0x48,0x32,0xCB,0xE2,0x48,0x32,0x7D,0xE2,0xB3,0xAF,0x48,0x67,0x80,0xF6,0x82,0x34,0xAC,
+0xEA,0x0A,0x65,0x03,0x6A,0x4C,0xEC,0x2B,0x65,0x02,0x6A,0x88,0x33,0x44,0xEB,0x68,0x67,0x42,0xEB,0x04,0x60,0x03,0x24,0x41,0x45,0x53,0xCF,0x1C,0x10,0xC9,0xE0,0x48,0x32,0xCB,0xE2,0x48,0x32,0x69,0x67,0x61,0xE2,0x20,0xF0,0x48,0xA0,0x0E,0x2A,0x33,0xB2,0xFF,0xF7,0x1F,0x6B,0xA3,0x67,0x40,0xAA,0xE0,0xF1,0x0E,0x6C,0x4C,0xED,0x08,0xF0,0x00,0x6A,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6C,0xED,0x00,0x6A,0x53,0xC8,0x01,0x6A,0x20,0xF0,0x48,0xC0,0x2A,0xB2,0x00,0x6B,0x49,0xE1,0x60,0xC2,0x24,0xB2,0x49,0xE1,0x60,0xC2,0x3B,0x10,0x1F,0xF7,0x00,0x6A,0xAC,0xEA,0xEC,0xED,0x0C,0x22,0x24,0xB2,0x01,0x6B,0x49,0xE1,0x60,0xC2,0x1E,0xB2,0x03,0x25,0x49,0xE1,0x60,0xC2,0x0B,0x10,0x49,0xE1,0xA0,0xC2,0x08,0x10,0x07,0x25,0x19,0xB2,0x4D,0xE1,0x40,0xA3,0xEC,0xEA,0x02,0x2A,0x01,0x6A,0x40,0xC3,0x58,0xA4,0xFF,0x6D,0x01,0x72,0x1E,0x61,0x14,0xB2,0x49,0xE1,0x40,0xA2,0xAC,0xEA,0x01,0x72,0x18,0x61,0xC4,0x32,0xC9,0xE2,0x48,0x32,0x11,0xB3,0xCB,0xE2,0x48,0x32,0x61,0xE2,0x20,0xF0,0x48,0xA0,0xAC,0xEA,0x09,0x22,0x0E,0xB2,0xF7,0xF7,0x1F,0x6D,0xE0,0xF1,0x0E,0x6C,0x40,0xAA,0x00,0x18,0x9A,0x33,0x4C,0xED,0x00,0x6A,0x53,0xC8,0x20,0xF0,0x48,0xC0,0x06,0x97,0x05,0x91,0x04,0x90,0x01,0x6A,0x00,0xEF,0x04,0x63,0x00,0x00,0x4C,0x7D,0x11,0x80,0xCC,0x05,0x11,0x80,0x00,0x46,0x11,0x80,0x98,0x5F,0x11,0x80,0xEE,0x01,0x00,0xB6,0xD4,0x05,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x00,0xA4,0x24,0xB3,0x04,0x31,0x09,0xE1,0x48,0x32,0x0B,0xE2,0x48,0x32,0x71,0xE2,0x20,0xF0,0x44,0xA4,0x02,0x72,0x20,0x61,0x1F,0xB2,0x01,0x6B,0x40,0x9A,0x40,0xF6,0x42,0x32,0x6C,0xEA,0x0E,0x22,0x20,0xF0,0x48,0xA4,0xFF,0x6B,0x6C,0xEA,0x09,0x22,0x1A,0xB2,0xF7,0xF7,0x1F,0x6D,0xE0,0xF1,0x0E,0x6C,0x40,0xAA,0x00,0x18,0x9A,0x33,0x4C,0xED,0x09,0xE1,0x13,0xB3,0x48,0x32,0x0B,0xE2,0x48,0x32,0x69,0xE2,0x00,0x6B,0x73,0xCA,0x20,0xF0,0x68,0xC2,0x16,0x10,0x39,0x6A,0x7D,0x67,0x50,0xCB,0x10,0xB2,0xFD,0x67,0x06,0xD0,0x80,0x9A,0x00,0x6D,0x04,0x06,0x24,0x4F,0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18,0x40,0x1E,0x08,0x97,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x01,0x6A,0x00,0xEF,
+0x08,0x63,0x98,0x5F,0x11,0x80,0x00,0x46,0x11,0x80,0xEE,0x01,0x00,0xB6,0x28,0x45,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0xC0,0xA4,0xFF,0x6B,0x34,0xB2,0x6C,0xEE,0xC4,0x34,0x2A,0x65,0xC9,0xE4,0x48,0x32,0xCB,0xE2,0x48,0x32,0x0C,0x65,0x89,0x67,0x9D,0xE2,0x20,0xF0,0x44,0xA7,0x6C,0xED,0x6C,0xEA,0x02,0x72,0x04,0x60,0x20,0xF0,0x43,0xA7,0x6C,0xEA,0x35,0x2A,0x2B,0xB2,0x01,0x6B,0x00,0x9A,0x40,0xF6,0x02,0x32,0x6C,0xEA,0x45,0x22,0x02,0x75,0x43,0x61,0x03,0x6A,0x80,0xF6,0x02,0x35,0x4C,0xED,0x33,0xAF,0xA8,0x33,0x02,0x6A,0x44,0xEB,0x42,0xE9,0x04,0x60,0x03,0x25,0x41,0x41,0x53,0xCF,0x35,0x10,0x68,0x67,0xC9,0xE3,0x48,0x32,0xCB,0xE2,0x48,0x32,0x89,0x67,0x81,0xE2,0x20,0xF0,0x48,0xA0,0x0E,0x2A,0x1B,0xB2,0xFF,0xF7,0x1F,0x6B,0xA3,0x67,0x40,0xAA,0xE0,0xF1,0x0E,0x6C,0x4C,0xED,0x08,0xF0,0x00,0x6A,0x4D,0xED,0x00,0x18,0x9A,0x33,0x6C,0xED,0x00,0x6A,0x53,0xC8,0x01,0x6A,0x20,0xF0,0x48,0xC0,0x17,0x10,0x3A,0x6A,0x7D,0x67,0x50,0xCB,0x11,0xB2,0xFD,0x67,0x06,0xD6,0x80,0x9A,0x07,0xD5,0x04,0x06,0x00,0x6D,0x24,0x4F,0xA9,0xE7,0x40,0xA2,0xAD,0xE6,0x01,0x4D,0x08,0x5D,0x40,0xC3,0xF9,0x61,0x06,0x95,0x07,0x96,0x00,0x18,0x40,0x1E,0x08,0x97,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x01,0x6A,0x00,0xEF,0x08,0x63,0x00,0x00,0x98,0x5F,0x11,0x80,0x00,0x46,0x11,0x80,0xEE,0x01,0x00,0xB6,0x28,0x45,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x6A,0x8C,0xEA,0x04,0xD2,0x04,0x93,0x01,0x69,0x44,0xE9,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x20,0xB3,0x48,0x32,0x0D,0xD5,0x69,0xE2,0x05,0xD2,0x00,0x68,0x20,0x18,0xE4,0x06,0x90,0x67,0x01,0x48,0xFF,0x6B,0x6C,0xE8,0x45,0xE1,0x04,0x58,0x6C,0xE9,0xF6,0x61,0x05,0x94,0x44,0x41,0xA0,0xF0,0x88,0xAC,0x98,0xEA,0x17,0xB2,0x06,0xD4,0x60,0xF1,0x42,0xA2,0x6C,0xEA,0x02,0x5A,0x12,0xE9,0x00,0x65,0x06,0x61,0x40,0xF1,0x00,0x59,0x06,0x60,0xFF,0x69,0x41,0x49,0x03,0x10,0xEE,0x59,0x01,0x60,0xEE,0x69,0x00,0x1C,0xDD,0x31,0x00,0x65,0x05,0x93,0x02,0x67,0x26,0x32,0xA0,0xF0,0x48,0xCB,0x04,0x94,0x00,0x18,0x2A,0xFF,0x0D,0x95,0x9D,0x67,0x4C,0xAC,0x05,0x94,0xA0,0xF0,0x48,0xCC,0x00,0x1C,0xE5,0x31,0x90,0x67,0x0A,0x97,0x09,
+0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0x5D,0x67,0x03,0x46,0x10,0xD4,0x26,0x67,0x13,0xD7,0x06,0x04,0x40,0xF0,0xA4,0xCA,0x06,0x6E,0x00,0x18,0x2E,0x2E,0xB0,0x67,0x69,0xA1,0x9D,0x67,0x09,0xD3,0x40,0xF0,0x64,0xAC,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x4D,0xB3,0x48,0x32,0x69,0xE2,0x0A,0xD2,0x20,0xF0,0x58,0xA2,0x0D,0x72,0x3D,0x60,0x0E,0x52,0x03,0x60,0x06,0x72,0x04,0x60,0x7F,0x10,0x1B,0x72,0x36,0x60,0x7C,0x10,0x13,0x93,0x01,0x6A,0x00,0x6D,0x40,0xC3,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x0A,0x94,0x00,0x18,0xFD,0x1D,0x28,0x4C,0x09,0x93,0x9D,0x67,0x40,0xF0,0x44,0xAC,0x01,0x73,0x14,0x60,0xFF,0xF7,0x1F,0x6C,0x20,0x18,0x7C,0x2F,0x4C,0xEC,0x62,0x67,0x0A,0x92,0xE0,0xF0,0x9F,0xA2,0xFF,0x6A,0x4C,0xEC,0x20,0x6A,0x4C,0xEC,0x01,0x2C,0x64,0x67,0x01,0x73,0x7D,0x67,0x40,0xF0,0x44,0xAB,0x06,0x60,0xFF,0xF7,0x1F,0x6C,0x00,0x18,0xAD,0xE1,0x4C,0xEC,0x52,0x10,0xFF,0xF7,0x1F,0x6C,0x4C,0xEC,0x80,0x18,0x2C,0x34,0x06,0x05,0x4B,0x10,0x00,0x6C,0x40,0x6B,0x1F,0x6A,0x66,0xC0,0x00,0xF0,0x47,0xC8,0x8C,0xC1,0x6A,0xC0,0x27,0xB3,0x00,0xF0,0x4B,0xC8,0x10,0x6A,0x90,0xC1,0x8F,0xC0,0x4E,0xC0,0x50,0xAB,0xBD,0x67,0xDD,0x67,0x50,0xC0,0x50,0xAB,0xE0,0x6B,0x44,0x4D,0x42,0x32,0x54,0xC1,0x20,0xB2,0x92,0xC0,0x20,0x4E,0x41,0xA2,0x91,0x67,0x01,0x6F,0x48,0x32,0x6C,0xEA,0x56,0x32,0xC0,0xF3,0x00,0x6B,0x6D,0xEA,0x00,0xF0,0x53,0xC8,0x13,0x93,0x01,0x6A,0x00,0x18,0x37,0x40,0x40,0xC3,0x02,0x67,0x16,0x22,0x5D,0x67,0x40,0xF0,0x84,0xAA,0xFF,0xF7,0x1F,0x6B,0x00,0x18,0xAE,0x5D,0x6C,0xEC,0x0A,0x94,0x0A,0x96,0x00,0x6F,0x60,0xF2,0xBC,0xAC,0x7F,0x4E,0x04,0xD2,0xFF,0xF7,0x1F,0x6A,0x90,0x67,0x4C,0xED,0x00,0x18,0x6F,0x4E,0x6E,0x4E,0x10,0x93,0x00,0x6C,0x80,0xC3,0x07,0x10,0x10,0x93,0x0C,0x6A,0x40,0xC3,0x03,0x10,0x10,0x94,0x00,0x6A,0x40,0xC4,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xC0,0x5B,0x11,0x80,0xFD,0x63,0x05,0x62,0x04,0xD0,0x00,0x1C,0xDD,0x31,0x00,0x65,0x02,0x67,0x0F,0xB2,0x0F,0xB3,0x40,0x9A,
+0x6E,0xEA,0x00,0x6B,0x02,0x2A,0x0E,0xB2,0x60,0x9A,0x0E,0xB5,0x62,0x33,0x62,0x33,0x40,0x9D,0xFF,0xF7,0x1F,0x6C,0x60,0x33,0x60,0x33,0x8C,0xEA,0x6D,0xEA,0x40,0xDD,0x00,0x18,0xFE,0x25,0x00,0x6C,0x00,0x1C,0xE5,0x31,0x90,0x67,0x05,0x97,0x04,0x90,0x00,0xEF,0x03,0x63,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x48,0x91,0x10,0x80,0x30,0x00,0x00,0xB5,0xFC,0x63,0x06,0x62,0x05,0xD1,0x04,0xD0,0x2C,0xB5,0x01,0x68,0xFF,0x6E,0x40,0xF1,0x5E,0xA5,0x0C,0xEA,0x4A,0x22,0x2A,0xB2,0x00,0x6F,0xFF,0xF7,0x1F,0x6C,0x60,0xAA,0x02,0xF0,0x00,0x6A,0x6C,0xEA,0x25,0x2A,0x60,0xF1,0x42,0xA5,0xCC,0xEA,0x05,0x2A,0x01,0x10,0x00,0x6F,0x23,0xB2,0xE0,0xCA,0x2E,0x10,0x06,0x67,0x22,0xB1,0x23,0xB6,0x67,0x67,0xA4,0x67,0x64,0x34,0x69,0xE4,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x48,0x32,0x29,0xE2,0xE0,0xF0,0x4B,0xA2,0x0C,0xEA,0x01,0x72,0x05,0x61,0xC9,0xE4,0x40,0xAA,0xAC,0xEA,0x02,0x5A,0xE5,0x61,0x01,0x4B,0xAC,0xEB,0x0A,0x5B,0xEA,0x61,0x12,0x10,0x14,0xB2,0x60,0xAA,0x01,0x4B,0x60,0xCA,0x4F,0xAD,0x8C,0xEB,0x8C,0xEA,0x4A,0x32,0x8C,0xEA,0x43,0xEB,0x07,0x61,0x4D,0xAD,0x8C,0xEA,0x4A,0x32,0x8C,0xEA,0x43,0xEB,0x01,0x61,0xF0,0x67,0x09,0x27,0x00,0x18,0xB7,0xB5,0x00,0x65,0x00,0x18,0x31,0xBE,0x00,0x65,0x07,0xB2,0x00,0x6B,0x60,0xCA,0x06,0x97,0x05,0x91,0x04,0x90,0x00,0x6A,0x00,0xEF,0x04,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0xE0,0x00,0x00,0xB6,0xC8,0xA0,0x11,0x80,0x48,0x60,0x11,0x80,0x10,0x06,0x11,0x80,0xFD,0x63,0x04,0x62,0x44,0xAC,0x04,0x72,0x0F,0x61,0x0A,0xB2,0x00,0x6B,0x00,0x18,0x3B,0x2B,0x60,0xC2,0x08,0xB6,0x00,0x6B,0x0A,0x6D,0xFF,0x6C,0xC9,0xE3,0x01,0x4B,0x8C,0xEB,0x04,0x5B,0xA0,0xC2,0xFA,0x61,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0xFE,0x08,0x11,0x80,0xB4,0x5B,0x11,0x80,0xFD,0x63,0x04,0x62,0x80,0x18,0x91,0x2B,0x00,0x65,0x0E,0xB2,0x00,0x6B,0x0F,0xB4,0x60,0xCA,0x0D,0xB2,0x02,0xF0,0x00,0x6D,0x04,0x97,0x60,0xC2,0x0C,0xB2,0x01,0xF0,0x00,0x6B,0xA0,0xF0,0x72,0xCC,0x6C,0xCA,0xAE,0xCA,0x80,0xF0,0x43,0xA4,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xA0,0xF0,0xB6,0xCC,0x80,0xF0,0x43,0xC4,0x00,0xEF,0x03,0x63,0xC8,0xA0,0x11,0x80,0xCA,0xA0,0x11,0x80,0xDC,0x00,0x11,0x80,0x48,0x5C,0x11,
+0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0x44,0xAC,0xC9,0x72,0x24,0x61,0x00,0x1C,0xDD,0x31,0x00,0x65,0x15,0xB1,0x04,0xD2,0x60,0xF1,0x54,0xA1,0x40,0xF1,0x9E,0xA1,0x04,0x99,0x05,0xD2,0x80,0x6A,0x44,0xD9,0x55,0x6A,0x60,0xF1,0x54,0xC1,0x00,0x18,0xEB,0xA4,0x00,0x65,0x60,0xF1,0x54,0xA1,0x04,0xD9,0x55,0x72,0x04,0x60,0x00,0x18,0x31,0xBE,0x00,0x65,0x04,0x10,0x5D,0x67,0x54,0xA2,0x60,0xF1,0x54,0xC1,0x00,0x1C,0xE5,0x31,0x04,0x94,0x03,0x10,0x00,0x18,0x2F,0xB9,0x00,0x65,0x08,0x97,0x07,0x91,0x06,0x90,0x00,0xEF,0x05,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0xFD,0x63,0x04,0x62,0x00,0x18,0x24,0xB4,0x00,0x65,0x04,0x97,0x00,0xEF,0x03,0x63,0x0D,0xB2,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x43,0xA2,0x01,0x6D,0xAC,0xEA,0x10,0x22,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x07,0xB3,0x48,0x32,0x69,0xE2,0x60,0xF2,0x4D,0xA2,0xAA,0xEA,0x03,0x61,0x45,0x67,0x20,0xE8,0xA0,0xC4,0x20,0xE8,0x00,0x6A,0x00,0x46,0x11,0x80,0x48,0x60,0x11,0x80,0xF8,0x63,0x0E,0x62,0x0D,0xD1,0x0C,0xD0,0xC4,0x67,0xFF,0xF7,0x1F,0x6D,0xAC,0xEE,0xFF,0x76,0x68,0x60,0xC4,0x32,0xC9,0xE2,0x4C,0x32,0xCB,0xE2,0x35,0xB3,0x4C,0x32,0xCB,0xE2,0x48,0x32,0x65,0xE2,0xC0,0xF0,0x74,0xA9,0x40,0x6F,0xAC,0xEB,0x6C,0xEF,0x25,0x27,0x04,0x6A,0x6C,0xEA,0x08,0x22,0xE0,0xF0,0x8D,0x41,0x00,0xF1,0xA7,0x41,0x00,0x18,0x47,0x43,0x0A,0xD6,0x0A,0x96,0x7D,0x67,0x01,0x6A,0x58,0xC3,0x86,0x67,0x00,0x6A,0x03,0x6E,0xBD,0x67,0x5A,0xC3,0x00,0x68,0x00,0xF2,0x4A,0xC1,0x18,0x4D,0x64,0x6A,0xE6,0x67,0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD0,0x02,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67,0x6F,0x99,0x4D,0xEB,0x6F,0xD9,0x2D,0x10,0xE0,0xF0,0x4C,0xA1,0xFF,0x6C,0x01,0x72,0x1C,0xB2,0x15,0x61,0x43,0xA2,0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x58,0xA1,0x8C,0xEA,0x1F,0x2A,0x33,0x6A,0x7D,0x67,0xBD,0x67,0x58,0xC3,0x86,0x67,0x64,0x6A,0x18,0x4D,0x02,0x6E,0x04,0xD2,0x00,0x18,0xA0,0xDD,0x05,0xD7,0x12,0x10,0x43,0xA2,0x01,0x6B,0x6C,0xEA,0x04,0x22,0xC0,0xF2,0x57,0xA1,0x8C,0xEA,0x0A,0x2A,0x60,0xF2,0x4D,0xA1,0x8C,0xEA,0x01,0x72,0x05,0x61,0x9D,0x67,0x20,0x4C,0x80,0x18,0x3D,0x35,0xA6,0x67,0xC0,0xF0,0x54,0xA9,0x07,0x6B,0x6B,0xEB,
+0x6C,0xEA,0xC0,0xF0,0x54,0xC9,0x0E,0x97,0x0D,0x91,0x0C,0x90,0x00,0xEF,0x08,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x00,0x46,0x11,0x80,0xFB,0x63,0x08,0x62,0x07,0xD1,0x06,0xD0,0xFF,0xF7,0x1F,0x6F,0xAC,0xEF,0xE4,0x32,0xE9,0xE2,0x4C,0x32,0xEB,0xE2,0x38,0xB3,0x4C,0x32,0xEB,0xE2,0x48,0x32,0x65,0xE2,0xC0,0xF0,0x54,0xA9,0xFF,0xF7,0x1F,0x6B,0xC4,0x67,0x6C,0xEA,0x02,0x6B,0x6C,0xEA,0x09,0x2A,0xC4,0xA4,0x01,0x6A,0x87,0x67,0x28,0x6D,0x4C,0xEE,0x20,0x18,0x9B,0x27,0x24,0x6F,0x52,0x10,0xF0,0xF0,0x0F,0x41,0xA5,0x46,0x90,0x67,0x08,0x6E,0x00,0x18,0x2E,0x2E,0x04,0xD7,0x29,0xB2,0x01,0x6D,0xFF,0x6E,0x60,0xA2,0x28,0xB2,0x04,0x97,0x83,0xA2,0xAC,0xEC,0x0E,0x24,0xC0,0xF2,0x56,0xA1,0xCC,0xEA,0x03,0x2A,0xC0,0xF2,0xB6,0xC1,0x0C,0x10,0x60,0xF2,0xBC,0xA9,0xFF,0xF7,0x1F,0x6A,0x00,0x6C,0x4C,0xED,0x29,0x10,0x20,0xF0,0x58,0xA1,0xCC,0xEA,0x03,0x72,0x1F,0x61,0x00,0xF1,0x46,0x81,0x00,0x52,0x17,0x60,0x7E,0x32,0x15,0x22,0xC0,0xF0,0x54,0xA9,0x04,0x68,0x03,0x6E,0x0D,0xEA,0x87,0x67,0xC0,0xF0,0x54,0xC9,0x00,0xF1,0xAF,0xC1,0x00,0x18,0x2D,0xE2,0xE6,0x67,0x7F,0x6C,0x00,0x18,0xE0,0xDC,0xB0,0x67,0x6F,0x99,0x4D,0xEB,0x6F,0xD9,0x13,0x10,0x80,0x18,0x4C,0x35,0x87,0x67,0x0F,0x10,0x60,0xF2,0xBC,0xA9,0xFF,0xF7,0x1F,0x6B,0x6C,0xED,0x00,0x18,0xF8,0x4E,0xD0,0x67,0xC0,0xF0,0x54,0xA9,0x03,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC9,0x08,0x97,0x07,0x91,0x06,0x90,0x01,0x6A,0x00,0xEF,0x05,0x63,0x48,0x60,0x11,0x80,0xC0,0x5B,0x11,0x80,0x00,0x46,0x11,0x80,0xFA,0x63,0x0A,0x62,0x09,0xD1,0x08,0xD0,0xFF,0xF7,0x1F,0x69,0xAC,0xE9,0x24,0x32,0x29,0xE2,0x4C,0x32,0x2B,0xE2,0x38,0xB3,0x4C,0x32,0x2B,0xE2,0x48,0x32,0x0C,0xD4,0x61,0xE2,0xC0,0xF0,0x54,0xA8,0x66,0xA4,0xFF,0xF7,0x1F,0x6C,0x8C,0xEA,0x04,0x6E,0xCC,0xEA,0x06,0x22,0x00,0xF1,0x4F,0xA0,0xFF,0x6D,0xAC,0xEA,0x6E,0xEA,0x0D,0x22,0x0C,0x92,0xFF,0x6C,0x7F,0x6D,0xE4,0xA2,0x24,0x6A,0x04,0xD2,0x8C,0xEF,0x01,0x6A,0x91,0x67,0x00,0x18,0xEF,0xE1,0x4C,0xEF,0x47,0x10,0x02,0x5B,0x0B,0x60,0x0C,0x95,0x6C,0x34,0x11,0xE4,0xE0,0xF0,0x1F,0x4C,0x08,0x4D,0x08,0x6E,0x00,0x18,0x2E,0x2E,0x06,0xD3,0x06,0x93,0x21,0xB2,0x01,0x6D,0x83,0xA2,0xAC,0xEC,0x15,
+0x24,0xC0,0xF2,0x57,0xA0,0xFF,0x6C,0x8C,0xEA,0x07,0x2A,0x80,0x18,0x4C,0x35,0x91,0x67,0x01,0x6D,0xC0,0xF2,0xB7,0xC0,0x29,0x10,0x1A,0xB2,0x60,0xF2,0xBC,0xA8,0x00,0x6C,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0x11,0x10,0x20,0xF0,0x58,0xA0,0xFF,0x6D,0xAC,0xEA,0x03,0x72,0x04,0x61,0x00,0x18,0xA5,0xFF,0x91,0x67,0x16,0x10,0x10,0xB2,0x60,0xF2,0xBC,0xA8,0xF0,0xA2,0x0C,0x92,0x08,0x4A,0x04,0xD2,0xFF,0xF7,0x1F,0x6A,0x4C,0xED,0xFF,0x6A,0xC3,0x67,0x00,0x18,0x8A,0x41,0x4C,0xEF,0xC0,0xF0,0x54,0xA8,0x05,0x6B,0x6B,0xEB,0x6C,0xEA,0xC0,0xF0,0x54,0xC8,0x0A,0x97,0x09,0x91,0x08,0x90,0x00,0xEF,0x06,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x00,0x46,0x11,0x80,0xC0,0x5B,0x11,0x80,0xEF,0x63,0x20,0x62,0x1F,0xD1,0x1E,0xD0,0x64,0xAC,0xC4,0x67,0x24,0x73,0x22,0x61,0xB2,0xB2,0x60,0xF1,0x50,0xA2,0x1E,0x22,0x7D,0x67,0x01,0xF4,0x03,0x6A,0x40,0xF0,0x58,0xCB,0x00,0x1C,0xDD,0x31,0x00,0x65,0x00,0x18,0xFE,0x4F,0x02,0x67,0x00,0x6D,0x9D,0x67,0xC5,0x67,0x80,0x18,0x95,0x2B,0x58,0x4C,0x80,0x18,0x6B,0x2F,0x03,0x6C,0x00,0x18,0xC4,0x53,0x00,0x6C,0x20,0x18,0x10,0x2F,0x00,0x65,0x00,0x1C,0xE5,0x31,0x90,0x67,0x3C,0x11,0xFF,0xF7,0x1F,0x69,0x51,0x67,0x6C,0xEA,0x9C,0x72,0x1D,0x61,0x00,0x9E,0xFF,0x6F,0x44,0xA0,0x46,0x32,0x2C,0xEA,0x18,0x72,0x16,0x61,0xBA,0xA0,0x99,0xA0,0xDD,0x67,0xEC,0xED,0xEC,0xEC,0x00,0x18,0x1A,0xDF,0x5A,0x4E,0x06,0x2A,0xBD,0x67,0x40,0xF0,0x9A,0xAD,0x20,0x18,0x62,0x23,0x2C,0xEC,0x20,0x18,0xCF,0x06,0x90,0x67,0x93,0xB2,0xB0,0x67,0x80,0x9A,0x12,0x11,0xFF,0xF7,0x1F,0x6C,0x44,0x67,0x6C,0xEA,0x93,0x72,0x29,0x61,0x00,0x9E,0x44,0xA0,0x46,0x32,0x11,0x72,0x07,0x60,0x7F,0x72,0x22,0x61,0x45,0xA0,0xFF,0x6B,0x6C,0xEA,0x17,0x72,0x1D,0x61,0x6B,0xA8,0x8C,0xEB,0xFF,0x73,0x19,0x60,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x84,0xB3,0x48,0x32,0x69,0xE2,0xBF,0x9A,0x82,0x67,0x00,0x18,0xB2,0x69,0x1C,0xD6,0x01,0x72,0x64,0xA0,0x1C,0x96,0x03,0x61,0x01,0x6A,0x6D,0xEA,0x03,0x10,0x02,0x6A,0x4B,0xEA,0x6C,0xEA,0x44,0xC0,0x44,0xAE,0xFF,0xF7,0x1F,0x6C,0x93,0x72,0xE0,0xF0,0x01,0x61,0x40,0x9E,0x18,0xD2,0x18,0x95,0x64,0xA2,0xFF,0x6A,0xA5,0xA5,0x22,0x67,0x6C,0xE9,
+0x4C,0xED,0x18,0x92,0x19,0xD5,0x26,0x31,0x4B,0xAA,0x8C,0xE9,0x7F,0x71,0x8C,0xEA,0x1A,0xD2,0x02,0x61,0x04,0x75,0x07,0x60,0x28,0x71,0x05,0x60,0x2D,0x71,0x03,0x60,0x2E,0x71,0xC0,0xF0,0x06,0x61,0xFF,0x68,0xC1,0x9E,0x50,0x67,0x6C,0xEA,0x18,0x93,0x46,0x31,0xA6,0x67,0x9D,0x67,0xDA,0xC3,0x0C,0xE9,0x5C,0x4C,0x0C,0xED,0x00,0x18,0x3B,0x94,0x1C,0xD6,0x7F,0x71,0x58,0x67,0x1B,0xD2,0x1C,0x96,0x04,0x22,0xE1,0xF4,0x03,0x6F,0x00,0x6B,0x05,0x10,0x18,0x94,0x01,0xF4,0x16,0x6F,0x65,0xA4,0x0C,0xEB,0x10,0x6A,0x04,0xD2,0x5B,0xB2,0x18,0x95,0x08,0xD3,0x05,0xD2,0x17,0x92,0x07,0xD1,0x01,0x6B,0x06,0xD2,0x59,0xA5,0x0A,0xD6,0x04,0x6C,0x09,0xD2,0x44,0xA5,0x6C,0xEA,0x0B,0xD2,0x4B,0xAD,0x0C,0xD2,0x54,0xB2,0x49,0xE6,0x44,0xA2,0x82,0xF6,0x17,0x6E,0x6C,0xEA,0x0D,0xD2,0x44,0xA5,0x0E,0xD2,0x45,0xA5,0x0F,0xD2,0x46,0xA5,0x10,0xD2,0x47,0xA5,0x11,0xD2,0x48,0xA5,0x12,0xD2,0x49,0xA5,0x13,0xD2,0x4A,0xA5,0x14,0xD2,0x4B,0xA5,0xFA,0x6D,0x20,0x18,0x1B,0x32,0x15,0xD2,0x1A,0x92,0xFF,0x72,0x72,0x60,0x1A,0x93,0x44,0x32,0xFF,0x6C,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x3F,0xB3,0x48,0x32,0x61,0xE2,0xE0,0xF0,0x4B,0xA0,0x8C,0xEA,0x01,0x72,0x62,0x61,0x20,0xF0,0x58,0xA0,0xFF,0x6D,0xAC,0xEA,0x0B,0x72,0x13,0x61,0x37,0xB2,0x18,0x95,0x00,0x18,0xE0,0x1D,0x80,0x9A,0x00,0xF2,0x54,0xA0,0xFF,0x6B,0x6C,0xEA,0x01,0x72,0x5B,0x61,0x8D,0x98,0x00,0x18,0x1A,0x1E,0x00,0x6D,0x00,0x6A,0x00,0xF2,0x54,0xC0,0x53,0x10,0x1A,0x94,0x00,0x18,0x5E,0xDE,0x18,0x95,0x1B,0x94,0x08,0x2C,0x19,0x95,0x04,0x75,0x05,0x61,0x18,0x94,0x80,0x18,0xCA,0x35,0x1A,0x95,0x3B,0x10,0x28,0x71,0x05,0x61,0x18,0x94,0x80,0x18,0x8A,0x35,0x1A,0x95,0x34,0x10,0x2D,0x71,0x15,0x61,0x20,0xF0,0x58,0xA0,0x03,0x72,0x2E,0x60,0x05,0x72,0x2C,0x60,0x06,0x72,0x2A,0x60,0x07,0x72,0x28,0x60,0x08,0x72,0x26,0x60,0x09,0x72,0x24,0x60,0x0A,0x72,0x22,0x60,0x18,0x94,0x00,0x18,0x35,0xFC,0x1A,0x95,0x1D,0x10,0x2E,0x71,0x1B,0x61,0x20,0xF0,0x58,0xA0,0x03,0x72,0x0C,0x60,0x05,0x72,0x0A,0x60,0x06,0x72,0x08,0x60,0x07,0x72,0x06,0x60,0x08,0x72,0x04,0x60,0x09,0x72,0x02,0x60,0x0A,0x72,0x07,0x61,0x1A,0x94,0x2E,0x6D,0x02,0x6E,0x20,0x18,0x9B,
+0x27,0x24,0x6F,0x04,0x10,0x18,0x94,0x00,0x18,0x0B,0xFC,0x1A,0x95,0x09,0xB2,0x18,0x95,0x80,0x9A,0x00,0x18,0xE0,0x1D,0x00,0x65,0x03,0x10,0x20,0x18,0xFA,0x24,0x86,0x67,0x20,0x97,0x1F,0x91,0x1E,0x90,0x00,0xEF,0x11,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x64,0x52,0x11,0x80,0x48,0x60,0x11,0x80,0xF0,0xA5,0x10,0x80,0x04,0x46,0x11,0x80,0xFF,0x63,0x00,0xD0,0x0F,0xB0,0xFF,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x6B,0xE2,0x67,0xFF,0x6E,0x64,0x32,0x69,0xE2,0x48,0x32,0x6B,0xE2,0x48,0x32,0x15,0xE2,0x43,0xAD,0xEC,0xEA,0x8E,0xEA,0x05,0x2A,0x42,0x9D,0x08,0x72,0x02,0x61,0x00,0x6A,0x05,0x10,0x01,0x4B,0xCC,0xEB,0x03,0x5B,0xED,0x61,0x01,0x6A,0x00,0x90,0x20,0xE8,0x01,0x63,0x98,0x5F,0x11,0x80,0xFD,0x63,0x04,0x62,0x16,0xB2,0x00,0x6B,0x60,0xF1,0x43,0xA2,0x01,0x72,0x14,0x61,0x14,0xB6,0x83,0x67,0xFF,0x6D,0x84,0x32,0x89,0xE2,0x4C,0x32,0x8B,0xE2,0x4C,0x32,0x8B,0xE2,0x48,0x32,0xC9,0xE2,0xE0,0xF0,0x4B,0xA2,0xAC,0xEA,0x01,0x72,0x0D,0x60,0x01,0x4C,0xAC,0xEC,0x0A,0x5C,0xEF,0x61,0x09,0xB2,0x60,0xF1,0x43,0xA2,0x02,0x5A,0x02,0x60,0x43,0x67,0x07,0x23,0x0C,0x6A,0x05,0x10,0x80,0x18,0xC5,0x36,0x00,0x65,0x62,0x67,0xF2,0x17,0x04,0x97,0x00,0xEF,0x03,0x63,0x00,0x00,0x48,0x5C,0x11,0x80,0x48,0x60,0x11,0x80,0xF9,0x63,0x0C,0x62,0x0B,0xD1,0x0A,0xD0,0x00,0x6A,0x0F,0xD5,0x06,0xD2,0x40,0xAC,0x24,0x67,0x01,0xF0,0x0B,0x72,0x0C,0x61,0xBD,0x67,0x80,0x18,0x0D,0x2C,0x10,0x4D,0x80,0xA9,0xFF,0xF7,0x1F,0x6B,0xA2,0x67,0x00,0x18,0xC5,0x4A,0x6C,0xEC,0xAC,0x10,0x00,0xF4,0x19,0x72,0x2C,0x61,0x49,0xA4,0x03,0x5A,0x02,0x61,0x01,0x6A,0x49,0xC4,0x7D,0x67,0x58,0xA3,0x00,0x1C,0xDD,0x31,0x52,0xC3,0xBD,0x67,0x91,0x67,0x12,0x4D,0x00,0x18,0xB7,0x45,0x07,0xD2,0x02,0x67,0x0C,0x2A,0xA9,0xA1,0xFF,0x6B,0x20,0x6A,0x6C,0xED,0xB8,0x35,0x4D,0xED,0xFF,0xF7,0x1F,0x6A,0xAA,0x6C,0x00,0x18,0xB6,0x33,0x4C,0xED,0x00,0x1C,0xE5,0x31,0x07,0x94,0x7D,0x67,0x52,0xA3,0xFF,0x6B,0x6C,0xEA,0x61,0x2A,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0xB0,0x67,0x4C,0xEC,0x58,0x10,0x00,0xF4,0x05,0x72,0x06,0x61,0x4B,0xA4,0x03,0x5A,0x79,0x61,0x01,0x6A,0x4B,0xC4,0x76,0x10,0x41,0xF4,0x12,0x72,0x10,0x61,0x00,0x18,0xE5,0x41,0x00,0x65,0x06,0x94,
+0x00,0x18,0x78,0x36,0x02,0x67,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6A,0x4C,0xEC,0x00,0x18,0x33,0x4B,0xB0,0x67,0x3F,0x10,0x01,0xF0,0x04,0x72,0x3F,0x61,0x04,0xA4,0xFF,0xF7,0x1F,0x6A,0xFF,0xF7,0x1F,0x6B,0x00,0x30,0x4C,0xE8,0x43,0xA4,0xBD,0x67,0x14,0x4D,0x4D,0xE8,0x6C,0xE8,0x00,0x18,0x2A,0xDF,0x90,0x67,0x04,0x22,0x5D,0x67,0x0A,0xCA,0x02,0x6A,0x23,0x10,0x7D,0x67,0xAA,0xAB,0xFF,0xF7,0x1F,0x6B,0xAC,0xEB,0x64,0x32,0x69,0xE2,0x4C,0x32,0x6B,0xE2,0x4C,0x32,0x6B,0xE2,0x27,0xB3,0x48,0x32,0x69,0xE2,0x20,0xF0,0x78,0xA2,0xFF,0x6A,0x4C,0xEB,0x12,0x73,0x0A,0x60,0x19,0x73,0x08,0x60,0x80,0xA9,0xFF,0xF7,0x1F,0x6A,0x0C,0x6D,0x00,0x18,0xC5,0x4A,0x4C,0xEC,0x2E,0x10,0xFF,0xF7,0x1F,0x6C,0x00,0x18,0x0C,0x48,0xAC,0xEC,0x80,0xA9,0xA2,0x67,0x00,0x18,0xC5,0x4A,0x00,0x65,0x01,0x6B,0x06,0xD3,0x21,0x10,0x21,0xF4,0x06,0x72,0x1E,0x61,0x80,0x18,0xD6,0x36,0x00,0x65,0x10,0x2A,0x14,0xB0,0x7D,0x67,0x78,0xA3,0x60,0xF1,0x43,0xA0,0x91,0x67,0x60,0xF1,0x63,0xC0,0x00,0x18,0xFC,0x52,0x08,0xD2,0x7D,0x67,0x20,0xF0,0x60,0xA3,0x60,0xF1,0x63,0xC0,0x80,0xA9,0x06,0x96,0xFF,0xF7,0x1F,0x6B,0x6C,0xEC,0x00,0x18,0x33,0x4B,0xA2,0x67,0x01,0x6A,0x06,0xD2,0x06,0x92,0x03,0x22,0x0F,0x93,0x66,0x6A,0x40,0xC3,0x0C,0x97,0x0B,0x91,0x0A,0x90,0x01,0x6A,0x00,0xEF,0x07,0x63,0x00,0x00,0x48,0x60,0x11,0x80,0x48,0x5C,0x11,0x80,0xF5,0x63,0x14,0x62,0x13,0xD1,0x12,0xD0,0x00,0x6D,0x17,0xF7,0x0C,0x6E,0x00,0x18,0x01,0xA0,0x33,0x6C,0x61,0xB4,0x20,0x18,0xD6,0x32,0x00,0x69,0x20,0x18,0x5B,0x30,0x00,0x65,0x00,0x18,0xA6,0x5C,0x00,0x65,0x00,0x18,0xC8,0x8A,0x00,0x65,0x00,0x18,0xA3,0x9B,0x00,0x65,0x5A,0xB4,0x00,0x18,0x44,0x81,0x00,0x65,0x59,0xB0,0x00,0x18,0x4C,0x81,0x90,0x67,0x87,0x40,0x00,0x18,0x4C,0x81,0x01,0x4C,0x56,0xB4,0x57,0xB5,0x20,0xC0,0x00,0x18,0x2E,0x2E,0x30,0x6E,0x55,0xB5,0x88,0x40,0xD8,0x4C,0x00,0x18,0x2E,0x2E,0x30,0x6E,0x53,0xB5,0x87,0x40,0x11,0x4C,0x00,0x18,0x2E,0x2E,0x18,0x6E,0x51,0xB0,0x03,0x6B,0x40,0x98,0x42,0x32,0x4A,0x32,0x6C,0xEA,0x6A,0xEA,0x05,0x60,0x4E,0xB2,0x20,0xF1,0x2C,0xC2,0x20,0xF1,0x36,0xC2,0x00,0x18,0x04,0xF6,0x00,0x65,0x00,0x18,0x48,0x3C,0x00,0x65,0x00,0x18,0x71,
+0x32,0x00,0x65,0x00,0x18,0xE2,0x24,0x00,0x65,0x00,0x18,0x9A,0x7E,0x00,0x65,0x00,0x18,0xB5,0xC8,0x00,0x65,0x45,0xB3,0x43,0xB2,0x60,0xDA,0x00,0x18,0x0B,0x2B,0x00,0x65,0x40,0x98,0x0F,0x6B,0x46,0x32,0x6C,0xEA,0x03,0x72,0x05,0x61,0x9D,0x67,0x40,0x4C,0x00,0x18,0x1B,0x28,0x00,0x6D,0x00,0x18,0xE9,0x2F,0x00,0x65,0x80,0x18,0x54,0x2A,0x00,0x65,0x20,0x18,0xA2,0x39,0x00,0x65,0x80,0x18,0x08,0x2A,0x00,0x65,0x00,0x1C,0xAD,0x31,0x00,0x65,0x29,0xF6,0x00,0x6D,0x00,0x18,0x17,0x2D,0x01,0x6C,0x09,0x6A,0x04,0xD2,0x32,0xB2,0x2F,0xB3,0x01,0x6C,0x05,0xD2,0x9B,0xF4,0x0D,0x6A,0x06,0xD2,0x32,0xF0,0x0E,0x6A,0x07,0xD2,0x2E,0xB2,0xFA,0x6D,0x8A,0xF2,0x01,0x6E,0x40,0x9A,0xA1,0xF3,0x16,0x6F,0x08,0xD2,0x40,0xF0,0x41,0xA3,0x09,0xD2,0x40,0xF0,0x40,0xA3,0x0A,0xD2,0x20,0xF0,0x5F,0xA3,0x0B,0xD2,0x20,0xF0,0x5E,0xA3,0x0C,0xD2,0x20,0xF0,0x5D,0xA3,0x0D,0xD2,0x20,0xF0,0x5C,0xA3,0x20,0x18,0x1B,0x32,0x0E,0xD2,0x21,0xB2,0x22,0xB3,0x40,0x9A,0x6E,0xEA,0x19,0x2A,0x21,0xB1,0x21,0xB3,0x40,0x99,0x6E,0xEA,0x14,0x2A,0x20,0xB0,0x21,0xB2,0x21,0xB3,0x80,0x98,0x8C,0xEA,0x6E,0xEA,0x0B,0x2A,0x20,0xB3,0x00,0xF6,0x82,0x32,0x00,0x6D,0x3F,0xF4,0x00,0x6C,0x00,0x18,0xFA,0x8B,0x40,0xC3,0x00,0x6A,0x40,0xD8,0x00,0x6A,0x40,0xD9,0x13,0xB3,0x12,0xB2,0x20,0x18,0x3D,0x36,0x60,0xDA,0x14,0x97,0x13,0x91,0x12,0x90,0x00,0xEF,0x0B,0x63,0x84,0xC8,0x00,0x80,0x03,0x00,0x00,0xC4,0x98,0x24,0x11,0x80,0x38,0x24,0x11,0x80,0x58,0xDF,0x10,0x80,0xA0,0xDF,0x10,0x80,0x88,0xDF,0x10,0x80,0x6C,0x1D,0x11,0x80,0xDC,0x00,0x11,0x80,0x5C,0xA1,0x00,0xB0,0x00,0x00,0x01,0x00,0xF0,0xA5,0x10,0x80,0x90,0x1E,0x11,0x80,0x3C,0x91,0x10,0x80,0xEF,0xBE,0x23,0x87,0x44,0x91,0x10,0x80,0x32,0x97,0x79,0x23,0x40,0x91,0x10,0x80,0xFF,0xFF,0xFF,0x00,0xEE,0xFF,0xC0,0x00,0xD0,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x2E,0x5A,0x2C,0x4B,0xCF,0x9D,0xF2,0xCB,0x74,0x9C,0x13,0xCE,0x57,0xF4,0x4C,0x54,0x48,0xA9,0xD3,0x53,0xC5,0x19,0x73,0x6F,0xF7,0xEB,0x68,0x53,0xCC,0xAE,0x50,0xF1,0x57,0x02,0xE2,0x66,0xA3,0x5C,0xBC,0xD3,0xB7,0xA6,0x2F,0xC9,0xAE,0xDC,0x77,0x9E,0x07,0x91,0x5F,0x86,0x91,0x8D,0xDC,0x27,0x00,0x5D,0xF1,0xD6,0xCF,0x0C,0x14,0x2B,
+0x62,0x5E,0xD2,0xEF,0xF4,0xA5,0x18,0xFF,0x15,0x20,0x70,0x09,0x98,0x44,0x21,0xA6,0x58,0x6F,0x9F,0xC3,0xFE,0x7E,0x43,0x29,0xD2,0x80,0x9E,0xA5,0x11,0x25,0xF8,0xED,0xB0,0x9D,0x42,0xB8,0x1B,0xC5,0xBD,0x00,0x9F,0x79,0xE4,0xB5,0x9D,0xBB,0xAA,0x85,0x7F,0xCA,0x85,0x6F,0xB9,0xF7,0xEA,0x25,0x07,0x04,0x05,0x01,0x00,0x00,0x00,0x00,0x02,0x01,0x00,0x02,0x04,0x00,0x00,0x00,0x01,0x03,0x02,0x04,0x00,0x00,0x00,0x00,0x1B,0x00,0xB7,0x00,0x53,0x01,0x36,0x00,0x6F,0x01,0xA7,0x02,0x53,0x00,0x28,0x02,0xFD,0x03,0x25,0x00,0x04,0x0B,0x0F,0x04,0x0A,0x0E,0x08,0x0B,0x0F,0x00,0x00,0x00,0x05,0x41,0x32,0x12,0x00,0x00,0x00,0x00,0x8D,0xDC,0x2E,0x90,
+};
+
+#endif //CONFIG_MP_INCLUDED
+
+#ifndef CONFIG_PHY_SETTING_WITH_ODM
+u32 Rtl8723UPHY_REG_2TArray[Rtl8723UPHY_REG_2TArrayLength] = {
+0x0, };
+
+u32 Rtl8723UPHY_REG_1TArray[Rtl8723UPHY_REG_1TArrayLength] = {
+0x800,0x80040000,
+0x804,0x00000003,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10005388,
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66f60110,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x32323200,
+0x870,0x07000760,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xa78,0x00000900,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x7116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00080740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u32 Rtl8723UPHY_ChangeTo_1T1RArray[Rtl8723UPHY_ChangeTo_1T1RArrayLength] = {
+0x0, };
+
+u32 Rtl8723UPHY_ChangeTo_1T2RArray[Rtl8723UPHY_ChangeTo_1T2RArrayLength] = {
+0x0, };
+
+u32 Rtl8723UPHY_ChangeTo_2T2RArray[Rtl8723UPHY_ChangeTo_2T2RArrayLength] = {
+0x0, };
+
+
+u32 Rtl8723UPHY_REG_1T_mCardArray[Rtl8723UPHY_REG_1T_mCardArrayLength] = {
+0x800,0x80040000,
+0x804,0x00000003,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10005388,
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66f60110,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x32323200,
+0x870,0x07000760,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xa78,0x00000900,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x7116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00080740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u32 Rtl8723UPHY_REG_1T_SDIOArray[Rtl8723UPHY_REG_1T_SDIOArrayLength] = {
+0x800,0x80040000,
+0x804,0x00000003,
+0x808,0x0000fc00,
+0x80c,0x0000000a,
+0x810,0x10005388,
+0x814,0x020c3d10,
+0x818,0x02200385,
+0x81c,0x00000000,
+0x820,0x01000100,
+0x824,0x00390004,
+0x828,0x00000000,
+0x82c,0x00000000,
+0x830,0x00000000,
+0x834,0x00000000,
+0x838,0x00000000,
+0x83c,0x00000000,
+0x840,0x00010000,
+0x844,0x00000000,
+0x848,0x00000000,
+0x84c,0x00000000,
+0x850,0x00000000,
+0x854,0x00000000,
+0x858,0x569a569a,
+0x85c,0x001b25a4,
+0x860,0x66f60110,
+0x864,0x061f0130,
+0x868,0x00000000,
+0x86c,0x32323200,
+0x870,0x07000760,
+0x874,0x22004000,
+0x878,0x00000808,
+0x87c,0x00000000,
+0x880,0xc0083070,
+0x884,0x000004d5,
+0x888,0x00000000,
+0x88c,0xccc000c0,
+0x890,0x00000800,
+0x894,0xfffffffe,
+0x898,0x40302010,
+0x89c,0x00706050,
+0x900,0x00000000,
+0x904,0x00000023,
+0x908,0x00000000,
+0x90c,0x81121111,
+0xa00,0x00d047c8,
+0xa04,0x80ff000c,
+0xa08,0x8c838300,
+0xa0c,0x2e68120f,
+0xa10,0x9500bb78,
+0xa14,0x11144028,
+0xa18,0x00881117,
+0xa1c,0x89140f00,
+0xa20,0x1a1b0000,
+0xa24,0x090e1317,
+0xa28,0x00000204,
+0xa2c,0x00d30000,
+0xa70,0x101fbf00,
+0xa74,0x00000007,
+0xa78,0x00000900,
+0xc00,0x48071d40,
+0xc04,0x03a05611,
+0xc08,0x000000e4,
+0xc0c,0x6c6c6c6c,
+0xc10,0x08800000,
+0xc14,0x40000100,
+0xc18,0x08800000,
+0xc1c,0x40000100,
+0xc20,0x00000000,
+0xc24,0x00000000,
+0xc28,0x00000000,
+0xc2c,0x00000000,
+0xc30,0x69e9ac44,
+0xc34,0x469652cf,
+0xc38,0x49795994,
+0xc3c,0x0a97971c,
+0xc40,0x1f7c403f,
+0xc44,0x000100b7,
+0xc48,0xec020107,
+0xc4c,0x007f037f,
+0xc50,0x69543420,
+0xc54,0x43bc0094,
+0xc58,0x69543420,
+0xc5c,0x433c0094,
+0xc60,0x00000000,
+0xc64,0x7116848b,
+0xc68,0x47c00bff,
+0xc6c,0x00000036,
+0xc70,0x2c7f000d,
+0xc74,0x018610db,
+0xc78,0x0000001f,
+0xc7c,0x00b91612,
+0xc80,0x40000100,
+0xc84,0x20f60000,
+0xc88,0x40000100,
+0xc8c,0x20200000,
+0xc90,0x00121820,
+0xc94,0x00000000,
+0xc98,0x00121820,
+0xc9c,0x00007f7f,
+0xca0,0x00000000,
+0xca4,0x00000080,
+0xca8,0x00000000,
+0xcac,0x00000000,
+0xcb0,0x00000000,
+0xcb4,0x00000000,
+0xcb8,0x00000000,
+0xcbc,0x28000000,
+0xcc0,0x00000000,
+0xcc4,0x00000000,
+0xcc8,0x00000000,
+0xccc,0x00000000,
+0xcd0,0x00000000,
+0xcd4,0x00000000,
+0xcd8,0x64b22427,
+0xcdc,0x00766932,
+0xce0,0x00222222,
+0xce4,0x00000000,
+0xce8,0x37644302,
+0xcec,0x2f97d40c,
+0xd00,0x00080740,
+0xd04,0x00020401,
+0xd08,0x0000907f,
+0xd0c,0x20010201,
+0xd10,0xa0633333,
+0xd14,0x3333bc43,
+0xd18,0x7a8f5b6b,
+0xd2c,0xcc979975,
+0xd30,0x00000000,
+0xd34,0x80608000,
+0xd38,0x00000000,
+0xd3c,0x00027293,
+0xd40,0x00000000,
+0xd44,0x00000000,
+0xd48,0x00000000,
+0xd4c,0x00000000,
+0xd50,0x6437140a,
+0xd54,0x00000000,
+0xd58,0x00000000,
+0xd5c,0x30032064,
+0xd60,0x4653de68,
+0xd64,0x04518a3c,
+0xd68,0x00002101,
+0xd6c,0x2a201c16,
+0xd70,0x1812362e,
+0xd74,0x322c2220,
+0xd78,0x000e3c24,
+0xe00,0x2a2a2a2a,
+0xe04,0x2a2a2a2a,
+0xe08,0x03902a2a,
+0xe10,0x2a2a2a2a,
+0xe14,0x2a2a2a2a,
+0xe18,0x2a2a2a2a,
+0xe1c,0x2a2a2a2a,
+0xe28,0x00000000,
+0xe30,0x1000dc1f,
+0xe34,0x10008c1f,
+0xe38,0x02140102,
+0xe3c,0x681604c2,
+0xe40,0x01007c00,
+0xe44,0x01004800,
+0xe48,0xfb000000,
+0xe4c,0x000028d1,
+0xe50,0x1000dc1f,
+0xe54,0x10008c1f,
+0xe58,0x02140102,
+0xe5c,0x28160d05,
+0xe60,0x00000008,
+0xe68,0x001b25a4,
+0xe6c,0x631b25a0,
+0xe70,0x631b25a0,
+0xe74,0x081b25a0,
+0xe78,0x081b25a0,
+0xe7c,0x081b25a0,
+0xe80,0x081b25a0,
+0xe84,0x631b25a0,
+0xe88,0x081b25a0,
+0xe8c,0x631b25a0,
+0xed0,0x631b25a0,
+0xed4,0x631b25a0,
+0xed8,0x631b25a0,
+0xedc,0x001b25a0,
+0xee0,0x001b25a0,
+0xeec,0x6b1b25a0,
+0xf14,0x00000003,
+0xf4c,0x00000000,
+0xf00,0x00000300,
+};
+
+u32 Rtl8723URadioA_2TArray[Rtl8723URadioA_2TArrayLength] = {
+0x0, };
+
+u32 Rtl8723URadioB_2TArray[Rtl8723URadioB_2TArrayLength] = {
+0x0, };
+
+u32 Rtl8723URadioA_1TArray[Rtl8723URadioA_1TArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00039c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001a3f1,
+0x00b,0x00014787,
+0x00c,0x000896fe,
+0x00d,0x0000e02c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00030355,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0000024f,
+0x01f,0x00000000,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x00057730,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f474,
+0x015,0x0004f477,
+0x015,0x0008f474,
+0x015,0x000cf474,
+0x016,0x00000339,
+0x016,0x00040339,
+0x016,0x00080339,
+0x016,0x000c0366,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00000003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00000247,
+0x01f,0x00000000,
+0x000,0x00030159,
+};
+
+u32 Rtl8723URadioB_1TArray[Rtl8723URadioB_1TArrayLength] = {
+0x0, };
+
+u32 Rtl8723URadioA_1T_mCardArray[Rtl8723URadioA_1T_mCardArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00018c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001a3f1,
+0x00b,0x00014787,
+0x00c,0x000896fe,
+0x00d,0x0000e02c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00030355,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0004445f,
+0x01f,0x00080001,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x00057730,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f424,
+0x015,0x0004f424,
+0x015,0x0008f424,
+0x015,0x000cf424,
+0x016,0x00000339,
+0x016,0x00040339,
+0x016,0x00080339,
+0x016,0x000c0356,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00080003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00044457,
+0x01f,0x00080000,
+0x000,0x00030159,
+};
+
+u32 Rtl8723URadioA_1T_SDIOArray[Rtl8723URadioA_1T_SDIOArrayLength] = {
+0x000,0x00030159,
+0x001,0x00031284,
+0x002,0x00098000,
+0x003,0x00039c63,
+0x004,0x000210e7,
+0x009,0x0002044f,
+0x00a,0x0001a3f1,
+0x00b,0x00014787,
+0x00c,0x000896fe,
+0x00d,0x0000e02c,
+0x00e,0x00039ce7,
+0x00f,0x00000451,
+0x019,0x00000000,
+0x01a,0x00030355,
+0x01b,0x00060a00,
+0x01c,0x000fc378,
+0x01d,0x000a1250,
+0x01e,0x0000024f,
+0x01f,0x00000000,
+0x020,0x0000b614,
+0x021,0x0006c000,
+0x022,0x00000000,
+0x023,0x00001558,
+0x024,0x00000060,
+0x025,0x00000483,
+0x026,0x0004f000,
+0x027,0x000ec7d9,
+0x028,0x00057730,
+0x029,0x00004783,
+0x02a,0x00000001,
+0x02b,0x00021334,
+0x02a,0x00000000,
+0x02b,0x00000054,
+0x02a,0x00000001,
+0x02b,0x00000808,
+0x02b,0x00053333,
+0x02c,0x0000000c,
+0x02a,0x00000002,
+0x02b,0x00000808,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000003,
+0x02b,0x00000808,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000004,
+0x02b,0x00000808,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x00000005,
+0x02b,0x00000808,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x00000006,
+0x02b,0x00000709,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x00000007,
+0x02b,0x00000709,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x00000008,
+0x02b,0x0000060a,
+0x02b,0x0004b333,
+0x02c,0x0000000d,
+0x02a,0x00000009,
+0x02b,0x0000060a,
+0x02b,0x00053333,
+0x02c,0x0000000d,
+0x02a,0x0000000a,
+0x02b,0x0000060a,
+0x02b,0x0005b333,
+0x02c,0x0000000d,
+0x02a,0x0000000b,
+0x02b,0x0000060a,
+0x02b,0x00063333,
+0x02c,0x0000000d,
+0x02a,0x0000000c,
+0x02b,0x0000060a,
+0x02b,0x0006b333,
+0x02c,0x0000000d,
+0x02a,0x0000000d,
+0x02b,0x0000060a,
+0x02b,0x00073333,
+0x02c,0x0000000d,
+0x02a,0x0000000e,
+0x02b,0x0000050b,
+0x02b,0x00066666,
+0x02c,0x0000001a,
+0x02a,0x000e0000,
+0x010,0x0004000f,
+0x011,0x000e31fc,
+0x010,0x0006000f,
+0x011,0x000ff9f8,
+0x010,0x0002000f,
+0x011,0x000203f9,
+0x010,0x0003000f,
+0x011,0x000ff500,
+0x010,0x00000000,
+0x011,0x00000000,
+0x010,0x0008000f,
+0x011,0x0003f100,
+0x010,0x0009000f,
+0x011,0x00023100,
+0x012,0x00032000,
+0x012,0x00071000,
+0x012,0x000b0000,
+0x012,0x000fc000,
+0x013,0x000287b3,
+0x013,0x000244b7,
+0x013,0x000204ab,
+0x013,0x0001c49f,
+0x013,0x00018493,
+0x013,0x0001429b,
+0x013,0x00010299,
+0x013,0x0000c29c,
+0x013,0x000081a0,
+0x013,0x000040ac,
+0x013,0x00000020,
+0x014,0x0001944c,
+0x014,0x00059444,
+0x014,0x0009944c,
+0x014,0x000d9444,
+0x015,0x0000f474,
+0x015,0x0004f477,
+0x015,0x0008f474,
+0x015,0x000cf474,
+0x016,0x00000339,
+0x016,0x00040339,
+0x016,0x00080339,
+0x016,0x000c0366,
+0x000,0x00010159,
+0x018,0x0000f401,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01f,0x00000003,
+0x0fe,0x00000000,
+0x0fe,0x00000000,
+0x01e,0x00000247,
+0x01f,0x00000000,
+0x000,0x00030159,
+};
+
+u32 Rtl8723URadioB_GM_Array[Rtl8723URadioB_GM_ArrayLength] = {
+0x0, };
+
+u32 Rtl8723UMAC_2T_Array[Rtl8723UMAC_2T_ArrayLength] = {
+0x420,0x00000080,
+0x423,0x00000000,
+0x430,0x00000000,
+0x431,0x00000000,
+0x432,0x00000000,
+0x433,0x00000001,
+0x434,0x00000004,
+0x435,0x00000005,
+0x436,0x00000006,
+0x437,0x00000007,
+0x438,0x00000000,
+0x439,0x00000000,
+0x43a,0x00000000,
+0x43b,0x00000001,
+0x43c,0x00000004,
+0x43d,0x00000005,
+0x43e,0x00000006,
+0x43f,0x00000007,
+0x440,0x0000005d,
+0x441,0x00000001,
+0x442,0x00000000,
+0x444,0x00000015,
+0x445,0x000000f0,
+0x446,0x0000000f,
+0x447,0x00000000,
+0x458,0x00000041,
+0x459,0x000000a8,
+0x45a,0x00000072,
+0x45b,0x000000b9,
+0x460,0x00000066,
+0x461,0x00000066,
+0x462,0x00000008,
+0x463,0x00000003,
+0x4c8,0x000000ff,
+0x4c9,0x00000008,
+0x4cc,0x000000ff,
+0x4cd,0x000000ff,
+0x4ce,0x00000001,
+0x500,0x00000026,
+0x501,0x000000a2,
+0x502,0x0000002f,
+0x503,0x00000000,
+0x504,0x00000028,
+0x505,0x000000a3,
+0x506,0x0000005e,
+0x507,0x00000000,
+0x508,0x0000002b,
+0x509,0x000000a4,
+0x50a,0x0000005e,
+0x50b,0x00000000,
+0x50c,0x0000004f,
+0x50d,0x000000a4,
+0x50e,0x00000000,
+0x50f,0x00000000,
+0x512,0x0000001c,
+0x514,0x0000000a,
+0x515,0x00000010,
+0x516,0x0000000a,
+0x517,0x00000010,
+0x51a,0x00000016,
+0x524,0x0000000f,
+0x525,0x0000004f,
+0x546,0x00000040,
+0x547,0x00000000,
+0x550,0x00000010,
+0x551,0x00000010,
+0x559,0x00000002,
+0x55a,0x00000002,
+0x55d,0x000000ff,
+0x605,0x00000030,
+0x608,0x0000000e,
+0x609,0x0000002a,
+0x652,0x00000020,
+0x63c,0x0000000a,
+0x63d,0x0000000e,
+0x63e,0x0000000a,
+0x63f,0x0000000e,
+0x66e,0x00000005,
+0x700,0x00000021,
+0x701,0x00000043,
+0x702,0x00000065,
+0x703,0x00000087,
+0x708,0x00000021,
+0x709,0x00000043,
+0x70a,0x00000065,
+0x70b,0x00000087,
+};
+
+
+u32 Rtl8723UAGCTAB_2TArray[Rtl8723UAGCTAB_2TArrayLength] = {
+0x0, };
+
+u32 Rtl8723UAGCTAB_1TArray[Rtl8723UAGCTAB_1TArrayLength] = {
+0xc78,0x7b000001,
+0xc78,0x7b010001,
+0xc78,0x7b020001,
+0xc78,0x7b030001,
+0xc78,0x7b040001,
+0xc78,0x7b050001,
+0xc78,0x7a060001,
+0xc78,0x79070001,
+0xc78,0x78080001,
+0xc78,0x77090001,
+0xc78,0x760a0001,
+0xc78,0x750b0001,
+0xc78,0x740c0001,
+0xc78,0x730d0001,
+0xc78,0x720e0001,
+0xc78,0x710f0001,
+0xc78,0x70100001,
+0xc78,0x6f110001,
+0xc78,0x6e120001,
+0xc78,0x6d130001,
+0xc78,0x6c140001,
+0xc78,0x6b150001,
+0xc78,0x6a160001,
+0xc78,0x69170001,
+0xc78,0x68180001,
+0xc78,0x67190001,
+0xc78,0x661a0001,
+0xc78,0x651b0001,
+0xc78,0x641c0001,
+0xc78,0x631d0001,
+0xc78,0x621e0001,
+0xc78,0x611f0001,
+0xc78,0x60200001,
+0xc78,0x49210001,
+0xc78,0x48220001,
+0xc78,0x47230001,
+0xc78,0x46240001,
+0xc78,0x45250001,
+0xc78,0x44260001,
+0xc78,0x43270001,
+0xc78,0x42280001,
+0xc78,0x41290001,
+0xc78,0x402a0001,
+0xc78,0x262b0001,
+0xc78,0x252c0001,
+0xc78,0x242d0001,
+0xc78,0x232e0001,
+0xc78,0x222f0001,
+0xc78,0x21300001,
+0xc78,0x20310001,
+0xc78,0x06320001,
+0xc78,0x05330001,
+0xc78,0x04340001,
+0xc78,0x03350001,
+0xc78,0x02360001,
+0xc78,0x01370001,
+0xc78,0x00380001,
+0xc78,0x00390001,
+0xc78,0x003a0001,
+0xc78,0x003b0001,
+0xc78,0x003c0001,
+0xc78,0x003d0001,
+0xc78,0x003e0001,
+0xc78,0x003f0001,
+0xc78,0x7b400001,
+0xc78,0x7b410001,
+0xc78,0x7b420001,
+0xc78,0x7b430001,
+0xc78,0x7b440001,
+0xc78,0x7b450001,
+0xc78,0x7a460001,
+0xc78,0x79470001,
+0xc78,0x78480001,
+0xc78,0x77490001,
+0xc78,0x764a0001,
+0xc78,0x754b0001,
+0xc78,0x744c0001,
+0xc78,0x734d0001,
+0xc78,0x724e0001,
+0xc78,0x714f0001,
+0xc78,0x70500001,
+0xc78,0x6f510001,
+0xc78,0x6e520001,
+0xc78,0x6d530001,
+0xc78,0x6c540001,
+0xc78,0x6b550001,
+0xc78,0x6a560001,
+0xc78,0x69570001,
+0xc78,0x68580001,
+0xc78,0x67590001,
+0xc78,0x665a0001,
+0xc78,0x655b0001,
+0xc78,0x645c0001,
+0xc78,0x635d0001,
+0xc78,0x625e0001,
+0xc78,0x615f0001,
+0xc78,0x60600001,
+0xc78,0x49610001,
+0xc78,0x48620001,
+0xc78,0x47630001,
+0xc78,0x46640001,
+0xc78,0x45650001,
+0xc78,0x44660001,
+0xc78,0x43670001,
+0xc78,0x42680001,
+0xc78,0x41690001,
+0xc78,0x406a0001,
+0xc78,0x266b0001,
+0xc78,0x256c0001,
+0xc78,0x246d0001,
+0xc78,0x236e0001,
+0xc78,0x226f0001,
+0xc78,0x21700001,
+0xc78,0x20710001,
+0xc78,0x06720001,
+0xc78,0x05730001,
+0xc78,0x04740001,
+0xc78,0x03750001,
+0xc78,0x02760001,
+0xc78,0x01770001,
+0xc78,0x00780001,
+0xc78,0x00790001,
+0xc78,0x007a0001,
+0xc78,0x007b0001,
+0xc78,0x007c0001,
+0xc78,0x007d0001,
+0xc78,0x007e0001,
+0xc78,0x007f0001,
+0xc78,0x3800001e,
+0xc78,0x3801001e,
+0xc78,0x3802001e,
+0xc78,0x3803001e,
+0xc78,0x3804001e,
+0xc78,0x3805001e,
+0xc78,0x3806001e,
+0xc78,0x3807001e,
+0xc78,0x3808001e,
+0xc78,0x3c09001e,
+0xc78,0x3e0a001e,
+0xc78,0x400b001e,
+0xc78,0x440c001e,
+0xc78,0x480d001e,
+0xc78,0x4c0e001e,
+0xc78,0x500f001e,
+0xc78,0x5210001e,
+0xc78,0x5611001e,
+0xc78,0x5a12001e,
+0xc78,0x5e13001e,
+0xc78,0x6014001e,
+0xc78,0x6015001e,
+0xc78,0x6016001e,
+0xc78,0x6217001e,
+0xc78,0x6218001e,
+0xc78,0x6219001e,
+0xc78,0x621a001e,
+0xc78,0x621b001e,
+0xc78,0x621c001e,
+0xc78,0x621d001e,
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
+
+
+#endif//ENDIF CONFIG_PHY_SETTING_WITH_ODM
+
+u32 Rtl8723UPHY_REG_Array_PG[Rtl8723UPHY_REG_Array_PGLength] = {
+0xe00,0xffffffff,0x0a0c0c0c,
+0xe04,0xffffffff,0x02040608,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x0a0c0d0e,
+0xe14,0xffffffff,0x02040608,
+0xe18,0xffffffff,0x0a0c0d0e,
+0xe1c,0xffffffff,0x02040608,
+0x830,0xffffffff,0x0a0c0c0c,
+0x834,0xffffffff,0x02040608,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x0a0c0d0e,
+0x848,0xffffffff,0x02040608,
+0x84c,0xffffffff,0x0a0c0d0e,
+0x868,0xffffffff,0x02040608,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x06060606,
+0xe14,0xffffffff,0x00020406,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x06060606,
+0x848,0xffffffff,0x00020406,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x04040404,
+0xe04,0xffffffff,0x00020204,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x04040404,
+0x834,0xffffffff,0x00020204,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+0xe00,0xffffffff,0x00000000,
+0xe04,0xffffffff,0x00000000,
+0xe08,0x0000ff00,0x00000000,
+0x86c,0xffffff00,0x00000000,
+0xe10,0xffffffff,0x00000000,
+0xe14,0xffffffff,0x00000000,
+0xe18,0xffffffff,0x00000000,
+0xe1c,0xffffffff,0x00000000,
+0x830,0xffffffff,0x00000000,
+0x834,0xffffffff,0x00000000,
+0x838,0xffffff00,0x00000000,
+0x86c,0x000000ff,0x00000000,
+0x83c,0xffffffff,0x00000000,
+0x848,0xffffffff,0x00000000,
+0x84c,0xffffffff,0x00000000,
+0x868,0xffffffff,0x00000000,
+};
+
+u32 Rtl8723UMACPHY_Array_PG[Rtl8723UMACPHY_Array_PGLength] = {
+0x0, };
+
+#if MP_DRIVER == 1
+
+u32 Rtl8723UPHY_REG_Array_MP[Rtl8723UPHY_REG_Array_MPLength] = {
+0xc30,0x69e9ac4a,
+0xc3c,0x0a979718,
+};
+
+#endif//#if MP_DRIVER == 1
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.h index 732e05c8d94a..2512b91bf7a2 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/Hal8723UHWImg_CE.h @@ -1,75 +1,75 @@ -#ifndef __INC_HAL8723U_FW_IMG_H -#define __INC_HAL8723U_FW_IMG_H - -/*Created on 2013/01/14, 15:51*/ - -//FW v16 enable usb interrupt -#define Rtl8723UImgArrayLength 22172 -extern u8 Rtl8723UFwImgArray[Rtl8723UImgArrayLength]; -#define Rtl8723UBTImgArrayLength 1 -extern u8 Rtl8723UFwBTImgArray[Rtl8723UBTImgArrayLength]; - -#define Rtl8723UUMCBCutImgArrayWithBTLength 24118 -#define Rtl8723UUMCBCutImgArrayWithoutBTLength 19200 - -extern u8 Rtl8723UFwUMCBCutImgArrayWithBT[Rtl8723UUMCBCutImgArrayWithBTLength]; -extern u8 Rtl8723UFwUMCBCutImgArrayWithoutBT[Rtl8723UUMCBCutImgArrayWithoutBTLength]; - -#define Rtl8723SUMCBCutMPImgArrayLength 24174 -extern const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength]; - -#define Rtl8723EBTImgArrayLength 15275 -extern u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] ; - - -#ifndef CONFIG_PHY_SETTING_WITH_ODM -#define Rtl8723UPHY_REG_2TArrayLength 1 -extern u32 Rtl8723UPHY_REG_2TArray[Rtl8723UPHY_REG_2TArrayLength]; -#define Rtl8723UPHY_REG_1TArrayLength 372 -extern u32 Rtl8723UPHY_REG_1TArray[Rtl8723UPHY_REG_1TArrayLength]; -#define Rtl8723UPHY_ChangeTo_1T1RArrayLength 1 -extern u32 Rtl8723UPHY_ChangeTo_1T1RArray[Rtl8723UPHY_ChangeTo_1T1RArrayLength]; -#define Rtl8723UPHY_ChangeTo_1T2RArrayLength 1 -extern u32 Rtl8723UPHY_ChangeTo_1T2RArray[Rtl8723UPHY_ChangeTo_1T2RArrayLength]; -#define Rtl8723UPHY_ChangeTo_2T2RArrayLength 1 -extern u32 Rtl8723UPHY_ChangeTo_2T2RArray[Rtl8723UPHY_ChangeTo_2T2RArrayLength]; - -#define Rtl8723UPHY_REG_1T_mCardArrayLength 372 -extern u32 Rtl8723UPHY_REG_1T_mCardArray[Rtl8723UPHY_REG_1T_mCardArrayLength]; -#define Rtl8723UPHY_REG_1T_SDIOArrayLength 372 -extern u32 Rtl8723UPHY_REG_1T_SDIOArray[Rtl8723UPHY_REG_1T_SDIOArrayLength]; -#define Rtl8723URadioA_2TArrayLength 1 -extern u32 Rtl8723URadioA_2TArray[Rtl8723URadioA_2TArrayLength]; -#define Rtl8723URadioB_2TArrayLength 1 -extern u32 Rtl8723URadioB_2TArray[Rtl8723URadioB_2TArrayLength]; -#define Rtl8723URadioA_1TArrayLength 282 -extern u32 Rtl8723URadioA_1TArray[Rtl8723URadioA_1TArrayLength]; -#define Rtl8723URadioB_1TArrayLength 1 -extern u32 Rtl8723URadioB_1TArray[Rtl8723URadioB_1TArrayLength]; -#define Rtl8723URadioA_1T_mCardArrayLength 282 -extern u32 Rtl8723URadioA_1T_mCardArray[Rtl8723URadioA_1T_mCardArrayLength]; -#define Rtl8723URadioA_1T_SDIOArrayLength 282 -extern u32 Rtl8723URadioA_1T_SDIOArray[Rtl8723URadioA_1T_SDIOArrayLength]; -#define Rtl8723URadioB_GM_ArrayLength 1 -extern u32 Rtl8723URadioB_GM_Array[Rtl8723URadioB_GM_ArrayLength]; -#define Rtl8723UMAC_2T_ArrayLength 172 -extern u32 Rtl8723UMAC_2T_Array[Rtl8723UMAC_2T_ArrayLength]; - -#define Rtl8723UAGCTAB_2TArrayLength 1 -extern u32 Rtl8723UAGCTAB_2TArray[Rtl8723UAGCTAB_2TArrayLength]; -#define Rtl8723UAGCTAB_1TArrayLength 320 -extern u32 Rtl8723UAGCTAB_1TArray[Rtl8723UAGCTAB_1TArrayLength]; -#endif//#ifndef CONFIG_PHY_SETTING_WITH_ODM - -#define Rtl8723UPHY_REG_Array_PGLength 336 -extern u32 Rtl8723UPHY_REG_Array_PG[Rtl8723UPHY_REG_Array_PGLength]; -#define Rtl8723UMACPHY_Array_PGLength 1 -extern u32 Rtl8723UMACPHY_Array_PG[Rtl8723UMACPHY_Array_PGLength]; - -#if MP_DRIVER == 1 -#define Rtl8723UPHY_REG_Array_MPLength 4 -extern u32 Rtl8723UPHY_REG_Array_MP[Rtl8723UPHY_REG_Array_MPLength]; -#endif //#if MP_DRIVER == 1 - -#endif //#ifndef __INC_HAL8723U_FW_IMG_H - +#ifndef __INC_HAL8723U_FW_IMG_H
+#define __INC_HAL8723U_FW_IMG_H
+
+/*Created on 2013/01/14, 15:51*/
+
+//FW v16 enable usb interrupt
+#define Rtl8723UImgArrayLength 22172
+extern u8 Rtl8723UFwImgArray[Rtl8723UImgArrayLength];
+#define Rtl8723UBTImgArrayLength 1
+extern u8 Rtl8723UFwBTImgArray[Rtl8723UBTImgArrayLength];
+
+#define Rtl8723UUMCBCutImgArrayWithBTLength 24348
+#define Rtl8723UUMCBCutImgArrayWithoutBTLength 19200
+
+extern u8 Rtl8723UFwUMCBCutImgArrayWithBT[Rtl8723UUMCBCutImgArrayWithBTLength];
+extern u8 Rtl8723UFwUMCBCutImgArrayWithoutBT[Rtl8723UUMCBCutImgArrayWithoutBTLength];
+
+#define Rtl8723SUMCBCutMPImgArrayLength 24174
+extern const u8 Rtl8723SFwUMCBCutMPImgArray[Rtl8723SUMCBCutMPImgArrayLength];
+
+#define Rtl8723EBTImgArrayLength 16404
+extern u8 Rtl8723EFwBTImgArray[Rtl8723EBTImgArrayLength] ;
+
+
+#ifndef CONFIG_PHY_SETTING_WITH_ODM
+#define Rtl8723UPHY_REG_2TArrayLength 1
+extern u32 Rtl8723UPHY_REG_2TArray[Rtl8723UPHY_REG_2TArrayLength];
+#define Rtl8723UPHY_REG_1TArrayLength 372
+extern u32 Rtl8723UPHY_REG_1TArray[Rtl8723UPHY_REG_1TArrayLength];
+#define Rtl8723UPHY_ChangeTo_1T1RArrayLength 1
+extern u32 Rtl8723UPHY_ChangeTo_1T1RArray[Rtl8723UPHY_ChangeTo_1T1RArrayLength];
+#define Rtl8723UPHY_ChangeTo_1T2RArrayLength 1
+extern u32 Rtl8723UPHY_ChangeTo_1T2RArray[Rtl8723UPHY_ChangeTo_1T2RArrayLength];
+#define Rtl8723UPHY_ChangeTo_2T2RArrayLength 1
+extern u32 Rtl8723UPHY_ChangeTo_2T2RArray[Rtl8723UPHY_ChangeTo_2T2RArrayLength];
+
+#define Rtl8723UPHY_REG_1T_mCardArrayLength 372
+extern u32 Rtl8723UPHY_REG_1T_mCardArray[Rtl8723UPHY_REG_1T_mCardArrayLength];
+#define Rtl8723UPHY_REG_1T_SDIOArrayLength 372
+extern u32 Rtl8723UPHY_REG_1T_SDIOArray[Rtl8723UPHY_REG_1T_SDIOArrayLength];
+#define Rtl8723URadioA_2TArrayLength 1
+extern u32 Rtl8723URadioA_2TArray[Rtl8723URadioA_2TArrayLength];
+#define Rtl8723URadioB_2TArrayLength 1
+extern u32 Rtl8723URadioB_2TArray[Rtl8723URadioB_2TArrayLength];
+#define Rtl8723URadioA_1TArrayLength 282
+extern u32 Rtl8723URadioA_1TArray[Rtl8723URadioA_1TArrayLength];
+#define Rtl8723URadioB_1TArrayLength 1
+extern u32 Rtl8723URadioB_1TArray[Rtl8723URadioB_1TArrayLength];
+#define Rtl8723URadioA_1T_mCardArrayLength 282
+extern u32 Rtl8723URadioA_1T_mCardArray[Rtl8723URadioA_1T_mCardArrayLength];
+#define Rtl8723URadioA_1T_SDIOArrayLength 282
+extern u32 Rtl8723URadioA_1T_SDIOArray[Rtl8723URadioA_1T_SDIOArrayLength];
+#define Rtl8723URadioB_GM_ArrayLength 1
+extern u32 Rtl8723URadioB_GM_Array[Rtl8723URadioB_GM_ArrayLength];
+#define Rtl8723UMAC_2T_ArrayLength 172
+extern u32 Rtl8723UMAC_2T_Array[Rtl8723UMAC_2T_ArrayLength];
+
+#define Rtl8723UAGCTAB_2TArrayLength 1
+extern u32 Rtl8723UAGCTAB_2TArray[Rtl8723UAGCTAB_2TArrayLength];
+#define Rtl8723UAGCTAB_1TArrayLength 320
+extern u32 Rtl8723UAGCTAB_1TArray[Rtl8723UAGCTAB_1TArrayLength];
+#endif//#ifndef CONFIG_PHY_SETTING_WITH_ODM
+
+#define Rtl8723UPHY_REG_Array_PGLength 336
+extern u32 Rtl8723UPHY_REG_Array_PG[Rtl8723UPHY_REG_Array_PGLength];
+#define Rtl8723UMACPHY_Array_PGLength 1
+extern u32 Rtl8723UMACPHY_Array_PG[Rtl8723UMACPHY_Array_PGLength];
+
+#if MP_DRIVER == 1
+#define Rtl8723UPHY_REG_Array_MPLength 4
+extern u32 Rtl8723UPHY_REG_Array_MP[Rtl8723UPHY_REG_Array_MPLength];
+#endif //#if MP_DRIVER == 1
+
+#endif //#ifndef __INC_HAL8723U_FW_IMG_H
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.c index 912752ff06b5..a737344c3b88 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.c @@ -1,815 +1,815 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#include "../odm_precomp.h" - -#if (RTL8723A_SUPPORT == 1) -static BOOLEAN -CheckCondition( - const u4Byte Condition, - const u4Byte Hex - ) -{ - u4Byte _board = (Hex & 0x000000FF); - u4Byte _interface = (Hex & 0x0000FF00) >> 8; - u4Byte _platform = (Hex & 0x00FF0000) >> 16; - u4Byte cond = Condition; - - if ( Condition == 0xCDCDCDCD ) - return TRUE; - - cond = Condition & 0x000000FF; - if ( (_board == cond) && cond != 0x00) - return FALSE; - - cond = Condition & 0x0000FF00; - cond = cond >> 8; - if ( (_interface & cond) == 0 && cond != 0x07) - return FALSE; - - cond = Condition & 0x00FF0000; - cond = cond >> 16; - if ( (_platform & cond) == 0 && cond != 0x0F) - return FALSE; - return TRUE; -} - - -/****************************************************************************** -* AGC_TAB_1T.TXT -******************************************************************************/ - -u4Byte Array_AGC_TAB_1T_8723A[] = { - 0xC78, 0x7B000001, - 0xC78, 0x7B010001, - 0xC78, 0x7B020001, - 0xC78, 0x7B030001, - 0xC78, 0x7B040001, - 0xC78, 0x7B050001, - 0xC78, 0x7A060001, - 0xC78, 0x79070001, - 0xC78, 0x78080001, - 0xC78, 0x77090001, - 0xC78, 0x760A0001, - 0xC78, 0x750B0001, - 0xC78, 0x740C0001, - 0xC78, 0x730D0001, - 0xC78, 0x720E0001, - 0xC78, 0x710F0001, - 0xC78, 0x70100001, - 0xC78, 0x6F110001, - 0xC78, 0x6E120001, - 0xC78, 0x6D130001, - 0xC78, 0x6C140001, - 0xC78, 0x6B150001, - 0xC78, 0x6A160001, - 0xC78, 0x69170001, - 0xC78, 0x68180001, - 0xC78, 0x67190001, - 0xC78, 0x661A0001, - 0xC78, 0x651B0001, - 0xC78, 0x641C0001, - 0xC78, 0x631D0001, - 0xC78, 0x621E0001, - 0xC78, 0x611F0001, - 0xC78, 0x60200001, - 0xC78, 0x49210001, - 0xC78, 0x48220001, - 0xC78, 0x47230001, - 0xC78, 0x46240001, - 0xC78, 0x45250001, - 0xC78, 0x44260001, - 0xC78, 0x43270001, - 0xC78, 0x42280001, - 0xC78, 0x41290001, - 0xC78, 0x402A0001, - 0xC78, 0x262B0001, - 0xC78, 0x252C0001, - 0xC78, 0x242D0001, - 0xC78, 0x232E0001, - 0xC78, 0x222F0001, - 0xC78, 0x21300001, - 0xC78, 0x20310001, - 0xC78, 0x06320001, - 0xC78, 0x05330001, - 0xC78, 0x04340001, - 0xC78, 0x03350001, - 0xC78, 0x02360001, - 0xC78, 0x01370001, - 0xC78, 0x00380001, - 0xC78, 0x00390001, - 0xC78, 0x003A0001, - 0xC78, 0x003B0001, - 0xC78, 0x003C0001, - 0xC78, 0x003D0001, - 0xC78, 0x003E0001, - 0xC78, 0x003F0001, - 0xC78, 0x7B400001, - 0xC78, 0x7B410001, - 0xC78, 0x7B420001, - 0xC78, 0x7B430001, - 0xC78, 0x7B440001, - 0xC78, 0x7B450001, - 0xC78, 0x7A460001, - 0xC78, 0x79470001, - 0xC78, 0x78480001, - 0xC78, 0x77490001, - 0xC78, 0x764A0001, - 0xC78, 0x754B0001, - 0xC78, 0x744C0001, - 0xC78, 0x734D0001, - 0xC78, 0x724E0001, - 0xC78, 0x714F0001, - 0xC78, 0x70500001, - 0xC78, 0x6F510001, - 0xC78, 0x6E520001, - 0xC78, 0x6D530001, - 0xC78, 0x6C540001, - 0xC78, 0x6B550001, - 0xC78, 0x6A560001, - 0xC78, 0x69570001, - 0xC78, 0x68580001, - 0xC78, 0x67590001, - 0xC78, 0x665A0001, - 0xC78, 0x655B0001, - 0xC78, 0x645C0001, - 0xC78, 0x635D0001, - 0xC78, 0x625E0001, - 0xC78, 0x615F0001, - 0xC78, 0x60600001, - 0xC78, 0x49610001, - 0xC78, 0x48620001, - 0xC78, 0x47630001, - 0xC78, 0x46640001, - 0xC78, 0x45650001, - 0xC78, 0x44660001, - 0xC78, 0x43670001, - 0xC78, 0x42680001, - 0xC78, 0x41690001, - 0xC78, 0x406A0001, - 0xC78, 0x266B0001, - 0xC78, 0x256C0001, - 0xC78, 0x246D0001, - 0xC78, 0x236E0001, - 0xC78, 0x226F0001, - 0xC78, 0x21700001, - 0xC78, 0x20710001, - 0xC78, 0x06720001, - 0xC78, 0x05730001, - 0xC78, 0x04740001, - 0xC78, 0x03750001, - 0xC78, 0x02760001, - 0xC78, 0x01770001, - 0xC78, 0x00780001, - 0xC78, 0x00790001, - 0xC78, 0x007A0001, - 0xC78, 0x007B0001, - 0xC78, 0x007C0001, - 0xC78, 0x007D0001, - 0xC78, 0x007E0001, - 0xC78, 0x007F0001, - 0xC78, 0x3800001E, - 0xC78, 0x3801001E, - 0xC78, 0x3802001E, - 0xC78, 0x3803001E, - 0xC78, 0x3804001E, - 0xC78, 0x3805001E, - 0xC78, 0x3806001E, - 0xC78, 0x3807001E, - 0xC78, 0x3808001E, - 0xC78, 0x3C09001E, - 0xC78, 0x3E0A001E, - 0xC78, 0x400B001E, - 0xC78, 0x440C001E, - 0xC78, 0x480D001E, - 0xC78, 0x4C0E001E, - 0xC78, 0x500F001E, - 0xC78, 0x5210001E, - 0xC78, 0x5611001E, - 0xC78, 0x5A12001E, - 0xC78, 0x5E13001E, - 0xC78, 0x6014001E, - 0xC78, 0x6015001E, - 0xC78, 0x6016001E, - 0xC78, 0x6217001E, - 0xC78, 0x6218001E, - 0xC78, 0x6219001E, - 0xC78, 0x621A001E, - 0xC78, 0x621B001E, - 0xC78, 0x621C001E, - 0xC78, 0x621D001E, - 0xC78, 0x621E001E, - 0xC78, 0x621F001E, - -}; - -void -ODM_ReadAndConfig_AGC_TAB_1T_8723A( - IN PDM_ODM_T pDM_Odm - ) -{ - #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0) - - u4Byte hex = 0; - u4Byte i = 0; - u2Byte count = 0; - pu4Byte ptr_array = NULL; - u1Byte platform = pDM_Odm->SupportPlatform; - u1Byte interfaceValue = pDM_Odm->SupportInterface; - u1Byte board = pDM_Odm->BoardType; - u4Byte ArrayLen = sizeof(Array_AGC_TAB_1T_8723A)/sizeof(u4Byte); - pu4Byte Array = Array_AGC_TAB_1T_8723A; - - - hex += board; - hex += interfaceValue << 8; - hex += platform << 16; - hex += 0xFF000000; - for (i = 0; i < ArrayLen; i += 2 ) - { - u4Byte v1 = Array[i]; - u4Byte v2 = Array[i+1]; - - // This (offset, data) pair meets the condition. - if ( v1 < 0xCDCDCDCD ) - { - odm_ConfigBB_AGC_8723A(pDM_Odm, v1, bMaskDWord, v2); - continue; - } - else - { // This line is the start line of branch. - if ( !CheckCondition(Array[i], hex) ) - { // Discard the following (offset, data) pairs. - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - i -= 2; // prevent from for-loop += 2 - } - else // Configure matched pairs and skip to end of if-else. - { - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - odm_ConfigBB_AGC_8723A(pDM_Odm, v1, bMaskDWord, v2); - READ_NEXT_PAIR(v1, v2, i); - } - - while (v2 != 0xDEAD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - - } - } - } - -} - - -/****************************************************************************** -* PHY_REG_1T.TXT -******************************************************************************/ - -u4Byte Array_PHY_REG_1T_8723A[] = { - 0x800, 0x80040000, - 0x804, 0x00000003, - 0x808, 0x0000FC00, - 0x80C, 0x0000000A, - 0x810, 0x10001331, - 0x814, 0x020C3D10, - 0x818, 0x02200385, - 0x81C, 0x00000000, - 0x820, 0x01000100, - 0x824, 0x00390004, - 0x828, 0x00000000, - 0x82C, 0x00000000, - 0x830, 0x00000000, - 0x834, 0x00000000, - 0x838, 0x00000000, - 0x83C, 0x00000000, - 0x840, 0x00010000, - 0x844, 0x00000000, - 0x848, 0x00000000, - 0x84C, 0x00000000, - 0x850, 0x00000000, - 0x854, 0x00000000, - 0x858, 0x569A569A, - 0x85C, 0x001B25A4, - 0x860, 0x66F60110, - 0x864, 0x061F0130, - 0x868, 0x00000000, - 0x86C, 0x32323200, - 0x870, 0x07000760, - 0x874, 0x22004000, - 0x878, 0x00000808, - 0x87C, 0x00000000, - 0x880, 0xC0083070, - 0x884, 0x000004D5, - 0x888, 0x00000000, - 0x88C, 0xCCC000C0, - 0x890, 0x00000800, - 0x894, 0xFFFFFFFE, - 0x898, 0x40302010, - 0x89C, 0x00706050, - 0x900, 0x00000000, - 0x904, 0x00000023, - 0x908, 0x00000000, - 0x90C, 0x81121111, - 0xA00, 0x00D047C8, - 0xA04, 0x80FF000C, - 0xA08, 0x8C838300, - 0xA0C, 0x2E68120F, - 0xA10, 0x9500BB78, - 0xA14, 0x11144028, - 0xA18, 0x00881117, - 0xA1C, 0x89140F00, - 0xA20, 0x1A1B0000, - 0xA24, 0x090E1317, - 0xA28, 0x00000204, - 0xA2C, 0x00D30000, - 0xA70, 0x101FBF00, - 0xA74, 0x00000007, - 0xA78, 0x00000900, - 0xC00, 0x48071D40, - 0xC04, 0x03A05611, - 0xC08, 0x000000E4, - 0xC0C, 0x6C6C6C6C, - 0xC10, 0x08800000, - 0xC14, 0x40000100, - 0xC18, 0x08800000, - 0xC1C, 0x40000100, - 0xC20, 0x00000000, - 0xC24, 0x00000000, - 0xC28, 0x00000000, - 0xC2C, 0x00000000, - 0xC30, 0x69E9AC44, - 0xFF0F011F, 0xABCD, - 0xC34, 0x469652CF, - 0xCDCDCDCD, 0xCDCD, - 0xC34, 0x469652AF, - 0xFF0F011F, 0xDEAD, - 0xC38, 0x49795994, - 0xC3C, 0x0A97971C, - 0xC40, 0x1F7C403F, - 0xC44, 0x000100B7, - 0xC48, 0xEC020107, - 0xC4C, 0x007F037F, - 0xC50, 0x69543420, - 0xC54, 0x43BC0094, - 0xC58, 0x69543420, - 0xC5C, 0x433C0094, - 0xC60, 0x00000000, - 0xFF0F011F, 0xABCD, - 0xC64, 0x7116848B, - 0xCDCDCDCD, 0xCDCD, - 0xC64, 0x7112848B, - 0xFF0F011F, 0xDEAD, - 0xC68, 0x47C00BFF, - 0xC6C, 0x00000036, - 0xC70, 0x2C7F000D, - 0xC74, 0x018610DB, - 0xC78, 0x0000001F, - 0xC7C, 0x00B91612, - 0xC80, 0x40000100, - 0xC84, 0x20F60000, - 0xC88, 0x40000100, - 0xC8C, 0x20200000, - 0xC90, 0x00121820, - 0xC94, 0x00000000, - 0xC98, 0x00121820, - 0xC9C, 0x00007F7F, - 0xCA0, 0x00000000, - 0xCA4, 0x00000080, - 0xCA8, 0x00000000, - 0xCAC, 0x00000000, - 0xCB0, 0x00000000, - 0xCB4, 0x00000000, - 0xCB8, 0x00000000, - 0xCBC, 0x28000000, - 0xCC0, 0x00000000, - 0xCC4, 0x00000000, - 0xCC8, 0x00000000, - 0xCCC, 0x00000000, - 0xCD0, 0x00000000, - 0xCD4, 0x00000000, - 0xCD8, 0x64B22427, - 0xCDC, 0x00766932, - 0xCE0, 0x00222222, - 0xCE4, 0x00000000, - 0xCE8, 0x37644302, - 0xCEC, 0x2F97D40C, - 0xD00, 0x00080740, - 0xD04, 0x00020401, - 0xD08, 0x0000907F, - 0xD0C, 0x20010201, - 0xD10, 0xA0633333, - 0xD14, 0x3333BC43, - 0xD18, 0x7A8F5B6B, - 0xD2C, 0xCC979975, - 0xD30, 0x00000000, - 0xD34, 0x80608000, - 0xD38, 0x00000000, - 0xD3C, 0x00027293, - 0xD40, 0x00000000, - 0xD44, 0x00000000, - 0xD48, 0x00000000, - 0xD4C, 0x00000000, - 0xD50, 0x6437140A, - 0xD54, 0x00000000, - 0xD58, 0x00000000, - 0xD5C, 0x30032064, - 0xD60, 0x4653DE68, - 0xD64, 0x04518A3C, - 0xD68, 0x00002101, - 0xD6C, 0x2A201C16, - 0xD70, 0x1812362E, - 0xD74, 0x322C2220, - 0xD78, 0x000E3C24, - 0xE00, 0x2A2A2A2A, - 0xE04, 0x2A2A2A2A, - 0xE08, 0x03902A2A, - 0xE10, 0x2A2A2A2A, - 0xE14, 0x2A2A2A2A, - 0xE18, 0x2A2A2A2A, - 0xE1C, 0x2A2A2A2A, - 0xE28, 0x00000000, - 0xE30, 0x1000DC1F, - 0xE34, 0x10008C1F, - 0xE38, 0x02140102, - 0xE3C, 0x681604C2, - 0xE40, 0x01007C00, - 0xE44, 0x01004800, - 0xE48, 0xFB000000, - 0xE4C, 0x000028D1, - 0xE50, 0x1000DC1F, - 0xE54, 0x10008C1F, - 0xE58, 0x02140102, - 0xE5C, 0x28160D05, - 0xE60, 0x00000008, - 0xE68, 0x001B25A4, - 0xE6C, 0x631B25A0, - 0xE70, 0x631B25A0, - 0xE74, 0x081B25A0, - 0xE78, 0x081B25A0, - 0xE7C, 0x081B25A0, - 0xE80, 0x081B25A0, - 0xE84, 0x631B25A0, - 0xE88, 0x081B25A0, - 0xE8C, 0x631B25A0, - 0xED0, 0x631B25A0, - 0xED4, 0x631B25A0, - 0xED8, 0x631B25A0, - 0xEDC, 0x001B25A0, - 0xEE0, 0x001B25A0, - 0xEEC, 0x6B1B25A0, - 0xF14, 0x00000003, - 0xF4C, 0x00000000, - 0xF00, 0x00000300, - -}; - -void -ODM_ReadAndConfig_PHY_REG_1T_8723A( - IN PDM_ODM_T pDM_Odm - ) -{ - #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0) - - u4Byte hex = 0; - u4Byte i = 0; - u2Byte count = 0; - pu4Byte ptr_array = NULL; - u1Byte platform = pDM_Odm->SupportPlatform; - u1Byte interfaceValue = pDM_Odm->SupportInterface; - u1Byte board = pDM_Odm->BoardType; - u4Byte ArrayLen = sizeof(Array_PHY_REG_1T_8723A)/sizeof(u4Byte); - pu4Byte Array = Array_PHY_REG_1T_8723A; - - - hex += board; - hex += interfaceValue << 8; - hex += platform << 16; - hex += 0xFF000000; - for (i = 0; i < ArrayLen; i += 2 ) - { - u4Byte v1 = Array[i]; - u4Byte v2 = Array[i+1]; - - // This (offset, data) pair meets the condition. - if ( v1 < 0xCDCDCDCD ) - { - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); - continue; - } - else - { // This line is the start line of branch. - if ( !CheckCondition(Array[i], hex) ) - { // Discard the following (offset, data) pairs. - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - i -= 2; // prevent from for-loop += 2 - } - else // Configure matched pairs and skip to end of if-else. - { - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); - READ_NEXT_PAIR(v1, v2, i); - } - - while (v2 != 0xDEAD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - - } - } - } - -} - - -/****************************************************************************** -* PHY_REG_MP.TXT -******************************************************************************/ - -u4Byte Array_PHY_REG_MP_8723A[] = { - 0xC30, 0x69E9AC4A, - 0xC3C, 0x0A979718, - -}; - -void -ODM_ReadAndConfig_PHY_REG_MP_8723A( - IN PDM_ODM_T pDM_Odm - ) -{ - #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0) - - u4Byte hex = 0; - u4Byte i = 0; - u2Byte count = 0; - pu4Byte ptr_array = NULL; - u1Byte platform = pDM_Odm->SupportPlatform; - u1Byte interfaceValue = pDM_Odm->SupportInterface; - u1Byte board = pDM_Odm->BoardType; - u4Byte ArrayLen = sizeof(Array_PHY_REG_MP_8723A)/sizeof(u4Byte); - pu4Byte Array = Array_PHY_REG_MP_8723A; - - - hex += board; - hex += interfaceValue << 8; - hex += platform << 16; - hex += 0xFF000000; - for (i = 0; i < ArrayLen; i += 2 ) - { - u4Byte v1 = Array[i]; - u4Byte v2 = Array[i+1]; - - // This (offset, data) pair meets the condition. - if ( v1 < 0xCDCDCDCD ) - { - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); - continue; - } - else - { // This line is the start line of branch. - if ( !CheckCondition(Array[i], hex) ) - { // Discard the following (offset, data) pairs. - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - i -= 2; // prevent from for-loop += 2 - } - else // Configure matched pairs and skip to end of if-else. - { - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); - READ_NEXT_PAIR(v1, v2, i); - } - - while (v2 != 0xDEAD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - - } - } - } - -} - - -/****************************************************************************** -* PHY_REG_PG.TXT -******************************************************************************/ - -u4Byte Array_PHY_REG_PG_8723A[] = { - 0xE00, 0xFFFFFFFF, 0x0A0C0C0C, - 0xE04, 0xFFFFFFFF, 0x02040608, - 0xE08, 0x0000FF00, 0x00000000, - 0x86C, 0xFFFFFF00, 0x00000000, - 0xE10, 0xFFFFFFFF, 0x0A0C0D0E, - 0xE14, 0xFFFFFFFF, 0x02040608, - 0xE18, 0xFFFFFFFF, 0x0A0C0D0E, - 0xE1C, 0xFFFFFFFF, 0x02040608, - 0x830, 0xFFFFFFFF, 0x0A0C0C0C, - 0x834, 0xFFFFFFFF, 0x02040608, - 0x838, 0xFFFFFF00, 0x00000000, - 0x86C, 0x000000FF, 0x00000000, - 0x83C, 0xFFFFFFFF, 0x0A0C0D0E, - 0x848, 0xFFFFFFFF, 0x02040608, - 0x84C, 0xFFFFFFFF, 0x0A0C0D0E, - 0x868, 0xFFFFFFFF, 0x02040608, - 0xE00, 0xFFFFFFFF, 0x00000000, - 0xE04, 0xFFFFFFFF, 0x00000000, - 0xE08, 0x0000FF00, 0x00000000, - 0x86C, 0xFFFFFF00, 0x00000000, - 0xE10, 0xFFFFFFFF, 0x00000000, - 0xE14, 0xFFFFFFFF, 0x00000000, - 0xE18, 0xFFFFFFFF, 0x00000000, - 0xE1C, 0xFFFFFFFF, 0x00000000, - 0x830, 0xFFFFFFFF, 0x00000000, - 0x834, 0xFFFFFFFF, 0x00000000, - 0x838, 0xFFFFFF00, 0x00000000, - 0x86C, 0x000000FF, 0x00000000, - 0x83C, 0xFFFFFFFF, 0x00000000, - 0x848, 0xFFFFFFFF, 0x00000000, - 0x84C, 0xFFFFFFFF, 0x00000000, - 0x868, 0xFFFFFFFF, 0x00000000, - 0xE00, 0xFFFFFFFF, 0x04040404, - 0xE04, 0xFFFFFFFF, 0x00020204, - 0xE08, 0x0000FF00, 0x00000000, - 0x86C, 0xFFFFFF00, 0x00000000, - 0xE10, 0xFFFFFFFF, 0x06060606, - 0xE14, 0xFFFFFFFF, 0x00020406, - 0xE18, 0xFFFFFFFF, 0x00000000, - 0xE1C, 0xFFFFFFFF, 0x00000000, - 0x830, 0xFFFFFFFF, 0x04040404, - 0x834, 0xFFFFFFFF, 0x00020204, - 0x838, 0xFFFFFF00, 0x00000000, - 0x86C, 0x000000FF, 0x00000000, - 0x83C, 0xFFFFFFFF, 0x06060606, - 0x848, 0xFFFFFFFF, 0x00020406, - 0x84C, 0xFFFFFFFF, 0x00000000, - 0x868, 0xFFFFFFFF, 0x00000000, - 0xE00, 0xFFFFFFFF, 0x00000000, - 0xE04, 0xFFFFFFFF, 0x00000000, - 0xE08, 0x0000FF00, 0x00000000, - 0x86C, 0xFFFFFF00, 0x00000000, - 0xE10, 0xFFFFFFFF, 0x00000000, - 0xE14, 0xFFFFFFFF, 0x00000000, - 0xE18, 0xFFFFFFFF, 0x00000000, - 0xE1C, 0xFFFFFFFF, 0x00000000, - 0x830, 0xFFFFFFFF, 0x00000000, - 0x834, 0xFFFFFFFF, 0x00000000, - 0x838, 0xFFFFFF00, 0x00000000, - 0x86C, 0x000000FF, 0x00000000, - 0x83C, 0xFFFFFFFF, 0x00000000, - 0x848, 0xFFFFFFFF, 0x00000000, - 0x84C, 0xFFFFFFFF, 0x00000000, - 0x868, 0xFFFFFFFF, 0x00000000, - 0xE00, 0xFFFFFFFF, 0x00000000, - 0xE04, 0xFFFFFFFF, 0x00000000, - 0xE08, 0x0000FF00, 0x00000000, - 0x86C, 0xFFFFFF00, 0x00000000, - 0xE10, 0xFFFFFFFF, 0x00000000, - 0xE14, 0xFFFFFFFF, 0x00000000, - 0xE18, 0xFFFFFFFF, 0x00000000, - 0xE1C, 0xFFFFFFFF, 0x00000000, - 0x830, 0xFFFFFFFF, 0x00000000, - 0x834, 0xFFFFFFFF, 0x00000000, - 0x838, 0xFFFFFF00, 0x00000000, - 0x86C, 0x000000FF, 0x00000000, - 0x83C, 0xFFFFFFFF, 0x00000000, - 0x848, 0xFFFFFFFF, 0x00000000, - 0x84C, 0xFFFFFFFF, 0x00000000, - 0x868, 0xFFFFFFFF, 0x00000000, - 0xE00, 0xFFFFFFFF, 0x04040404, - 0xE04, 0xFFFFFFFF, 0x00020204, - 0xE08, 0x0000FF00, 0x00000000, - 0x86C, 0xFFFFFF00, 0x00000000, - 0xE10, 0xFFFFFFFF, 0x00000000, - 0xE14, 0xFFFFFFFF, 0x00000000, - 0xE18, 0xFFFFFFFF, 0x00000000, - 0xE1C, 0xFFFFFFFF, 0x00000000, - 0x830, 0xFFFFFFFF, 0x04040404, - 0x834, 0xFFFFFFFF, 0x00020204, - 0x838, 0xFFFFFF00, 0x00000000, - 0x86C, 0x000000FF, 0x00000000, - 0x83C, 0xFFFFFFFF, 0x00000000, - 0x848, 0xFFFFFFFF, 0x00000000, - 0x84C, 0xFFFFFFFF, 0x00000000, - 0x868, 0xFFFFFFFF, 0x00000000, - 0xE00, 0xFFFFFFFF, 0x00000000, - 0xE04, 0xFFFFFFFF, 0x00000000, - 0xE08, 0x0000FF00, 0x00000000, - 0x86C, 0xFFFFFF00, 0x00000000, - 0xE10, 0xFFFFFFFF, 0x00000000, - 0xE14, 0xFFFFFFFF, 0x00000000, - 0xE18, 0xFFFFFFFF, 0x00000000, - 0xE1C, 0xFFFFFFFF, 0x00000000, - 0x830, 0xFFFFFFFF, 0x00000000, - 0x834, 0xFFFFFFFF, 0x00000000, - 0x838, 0xFFFFFF00, 0x00000000, - 0x86C, 0x000000FF, 0x00000000, - 0x83C, 0xFFFFFFFF, 0x00000000, - 0x848, 0xFFFFFFFF, 0x00000000, - 0x84C, 0xFFFFFFFF, 0x00000000, - 0x868, 0xFFFFFFFF, 0x00000000, - -}; - -void -ODM_ReadAndConfig_PHY_REG_PG_8723A( - IN PDM_ODM_T pDM_Odm - ) -{ - u4Byte hex = 0; - u4Byte i = 0; - u2Byte count = 0; - pu4Byte ptr_array = NULL; - u1Byte platform = pDM_Odm->SupportPlatform; - u1Byte interfaceValue = pDM_Odm->SupportInterface; - u1Byte board = pDM_Odm->BoardType; - u4Byte ArrayLen = sizeof(Array_PHY_REG_PG_8723A)/sizeof(u4Byte); - pu4Byte Array = Array_PHY_REG_PG_8723A; - - hex += board; - hex += interfaceValue << 8; - hex += platform << 16; - hex += 0xFF000000; - for (i = 0; i < ArrayLen; i += 3 ) - { - u4Byte v1 = Array[i]; - u4Byte v2 = Array[i+1]; - u4Byte v3 = Array[i+2]; - - // this line is a line of pure_body - if ( v1 < 0xCDCDCDCD ) - { - odm_ConfigBB_PHY_REG_PG_8723A(pDM_Odm, v1, v2, v3); - continue; - } - else - { // this line is the start of branch - if ( !CheckCondition(Array[i], hex) ) - { // don't need the hw_body - i += 2; // skip the pair of expression - v1 = Array[i]; - v2 = Array[i+1]; - v3 = Array[i+2]; - while (v2 != 0xDEAD) - { - i += 3; - v1 = Array[i]; - v2 = Array[i+1]; - v3 = Array[i+1]; - } - } - } - } -} - - -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#include "../odm_precomp.h"
+
+#if (RTL8723A_SUPPORT == 1)
+static BOOLEAN
+CheckCondition(
+ const u4Byte Condition,
+ const u4Byte Hex
+ )
+{
+ u4Byte _board = (Hex & 0x000000FF);
+ u4Byte _interface = (Hex & 0x0000FF00) >> 8;
+ u4Byte _platform = (Hex & 0x00FF0000) >> 16;
+ u4Byte cond = Condition;
+
+ if ( Condition == 0xCDCDCDCD )
+ return TRUE;
+
+ cond = Condition & 0x000000FF;
+ if ( (_board == cond) && cond != 0x00)
+ return FALSE;
+
+ cond = Condition & 0x0000FF00;
+ cond = cond >> 8;
+ if ( (_interface & cond) == 0 && cond != 0x07)
+ return FALSE;
+
+ cond = Condition & 0x00FF0000;
+ cond = cond >> 16;
+ if ( (_platform & cond) == 0 && cond != 0x0F)
+ return FALSE;
+ return TRUE;
+}
+
+
+/******************************************************************************
+* AGC_TAB_1T.TXT
+******************************************************************************/
+
+u4Byte Array_AGC_TAB_1T_8723A[] = {
+ 0xC78, 0x7B000001,
+ 0xC78, 0x7B010001,
+ 0xC78, 0x7B020001,
+ 0xC78, 0x7B030001,
+ 0xC78, 0x7B040001,
+ 0xC78, 0x7B050001,
+ 0xC78, 0x7A060001,
+ 0xC78, 0x79070001,
+ 0xC78, 0x78080001,
+ 0xC78, 0x77090001,
+ 0xC78, 0x760A0001,
+ 0xC78, 0x750B0001,
+ 0xC78, 0x740C0001,
+ 0xC78, 0x730D0001,
+ 0xC78, 0x720E0001,
+ 0xC78, 0x710F0001,
+ 0xC78, 0x70100001,
+ 0xC78, 0x6F110001,
+ 0xC78, 0x6E120001,
+ 0xC78, 0x6D130001,
+ 0xC78, 0x6C140001,
+ 0xC78, 0x6B150001,
+ 0xC78, 0x6A160001,
+ 0xC78, 0x69170001,
+ 0xC78, 0x68180001,
+ 0xC78, 0x67190001,
+ 0xC78, 0x661A0001,
+ 0xC78, 0x651B0001,
+ 0xC78, 0x641C0001,
+ 0xC78, 0x631D0001,
+ 0xC78, 0x621E0001,
+ 0xC78, 0x611F0001,
+ 0xC78, 0x60200001,
+ 0xC78, 0x49210001,
+ 0xC78, 0x48220001,
+ 0xC78, 0x47230001,
+ 0xC78, 0x46240001,
+ 0xC78, 0x45250001,
+ 0xC78, 0x44260001,
+ 0xC78, 0x43270001,
+ 0xC78, 0x42280001,
+ 0xC78, 0x41290001,
+ 0xC78, 0x402A0001,
+ 0xC78, 0x262B0001,
+ 0xC78, 0x252C0001,
+ 0xC78, 0x242D0001,
+ 0xC78, 0x232E0001,
+ 0xC78, 0x222F0001,
+ 0xC78, 0x21300001,
+ 0xC78, 0x20310001,
+ 0xC78, 0x06320001,
+ 0xC78, 0x05330001,
+ 0xC78, 0x04340001,
+ 0xC78, 0x03350001,
+ 0xC78, 0x02360001,
+ 0xC78, 0x01370001,
+ 0xC78, 0x00380001,
+ 0xC78, 0x00390001,
+ 0xC78, 0x003A0001,
+ 0xC78, 0x003B0001,
+ 0xC78, 0x003C0001,
+ 0xC78, 0x003D0001,
+ 0xC78, 0x003E0001,
+ 0xC78, 0x003F0001,
+ 0xC78, 0x7B400001,
+ 0xC78, 0x7B410001,
+ 0xC78, 0x7B420001,
+ 0xC78, 0x7B430001,
+ 0xC78, 0x7B440001,
+ 0xC78, 0x7B450001,
+ 0xC78, 0x7A460001,
+ 0xC78, 0x79470001,
+ 0xC78, 0x78480001,
+ 0xC78, 0x77490001,
+ 0xC78, 0x764A0001,
+ 0xC78, 0x754B0001,
+ 0xC78, 0x744C0001,
+ 0xC78, 0x734D0001,
+ 0xC78, 0x724E0001,
+ 0xC78, 0x714F0001,
+ 0xC78, 0x70500001,
+ 0xC78, 0x6F510001,
+ 0xC78, 0x6E520001,
+ 0xC78, 0x6D530001,
+ 0xC78, 0x6C540001,
+ 0xC78, 0x6B550001,
+ 0xC78, 0x6A560001,
+ 0xC78, 0x69570001,
+ 0xC78, 0x68580001,
+ 0xC78, 0x67590001,
+ 0xC78, 0x665A0001,
+ 0xC78, 0x655B0001,
+ 0xC78, 0x645C0001,
+ 0xC78, 0x635D0001,
+ 0xC78, 0x625E0001,
+ 0xC78, 0x615F0001,
+ 0xC78, 0x60600001,
+ 0xC78, 0x49610001,
+ 0xC78, 0x48620001,
+ 0xC78, 0x47630001,
+ 0xC78, 0x46640001,
+ 0xC78, 0x45650001,
+ 0xC78, 0x44660001,
+ 0xC78, 0x43670001,
+ 0xC78, 0x42680001,
+ 0xC78, 0x41690001,
+ 0xC78, 0x406A0001,
+ 0xC78, 0x266B0001,
+ 0xC78, 0x256C0001,
+ 0xC78, 0x246D0001,
+ 0xC78, 0x236E0001,
+ 0xC78, 0x226F0001,
+ 0xC78, 0x21700001,
+ 0xC78, 0x20710001,
+ 0xC78, 0x06720001,
+ 0xC78, 0x05730001,
+ 0xC78, 0x04740001,
+ 0xC78, 0x03750001,
+ 0xC78, 0x02760001,
+ 0xC78, 0x01770001,
+ 0xC78, 0x00780001,
+ 0xC78, 0x00790001,
+ 0xC78, 0x007A0001,
+ 0xC78, 0x007B0001,
+ 0xC78, 0x007C0001,
+ 0xC78, 0x007D0001,
+ 0xC78, 0x007E0001,
+ 0xC78, 0x007F0001,
+ 0xC78, 0x3800001E,
+ 0xC78, 0x3801001E,
+ 0xC78, 0x3802001E,
+ 0xC78, 0x3803001E,
+ 0xC78, 0x3804001E,
+ 0xC78, 0x3805001E,
+ 0xC78, 0x3806001E,
+ 0xC78, 0x3807001E,
+ 0xC78, 0x3808001E,
+ 0xC78, 0x3C09001E,
+ 0xC78, 0x3E0A001E,
+ 0xC78, 0x400B001E,
+ 0xC78, 0x440C001E,
+ 0xC78, 0x480D001E,
+ 0xC78, 0x4C0E001E,
+ 0xC78, 0x500F001E,
+ 0xC78, 0x5210001E,
+ 0xC78, 0x5611001E,
+ 0xC78, 0x5A12001E,
+ 0xC78, 0x5E13001E,
+ 0xC78, 0x6014001E,
+ 0xC78, 0x6015001E,
+ 0xC78, 0x6016001E,
+ 0xC78, 0x6217001E,
+ 0xC78, 0x6218001E,
+ 0xC78, 0x6219001E,
+ 0xC78, 0x621A001E,
+ 0xC78, 0x621B001E,
+ 0xC78, 0x621C001E,
+ 0xC78, 0x621D001E,
+ 0xC78, 0x621E001E,
+ 0xC78, 0x621F001E,
+
+};
+
+void
+ODM_ReadAndConfig_AGC_TAB_1T_8723A(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+ #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0)
+
+ u4Byte hex = 0;
+ u4Byte i = 0;
+ u2Byte count = 0;
+ pu4Byte ptr_array = NULL;
+ u1Byte platform = pDM_Odm->SupportPlatform;
+ u1Byte interfaceValue = pDM_Odm->SupportInterface;
+ u1Byte board = pDM_Odm->BoardType;
+ u4Byte ArrayLen = sizeof(Array_AGC_TAB_1T_8723A)/sizeof(u4Byte);
+ pu4Byte Array = Array_AGC_TAB_1T_8723A;
+
+
+ hex += board;
+ hex += interfaceValue << 8;
+ hex += platform << 16;
+ hex += 0xFF000000;
+ for (i = 0; i < ArrayLen; i += 2 )
+ {
+ u4Byte v1 = Array[i];
+ u4Byte v2 = Array[i+1];
+
+ // This (offset, data) pair meets the condition.
+ if ( v1 < 0xCDCDCDCD )
+ {
+ odm_ConfigBB_AGC_8723A(pDM_Odm, v1, bMaskDWord, v2);
+ continue;
+ }
+ else
+ { // This line is the start line of branch.
+ if ( !CheckCondition(Array[i], hex) )
+ { // Discard the following (offset, data) pairs.
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+ i -= 2; // prevent from for-loop += 2
+ }
+ else // Configure matched pairs and skip to end of if-else.
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ odm_ConfigBB_AGC_8723A(pDM_Odm, v1, bMaskDWord, v2);
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ while (v2 != 0xDEAD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ }
+ }
+ }
+
+}
+
+
+/******************************************************************************
+* PHY_REG_1T.TXT
+******************************************************************************/
+
+u4Byte Array_PHY_REG_1T_8723A[] = {
+ 0x800, 0x80040000,
+ 0x804, 0x00000003,
+ 0x808, 0x0000FC00,
+ 0x80C, 0x0000000A,
+ 0x810, 0x10001331,
+ 0x814, 0x020C3D10,
+ 0x818, 0x02200385,
+ 0x81C, 0x00000000,
+ 0x820, 0x01000100,
+ 0x824, 0x00390004,
+ 0x828, 0x00000000,
+ 0x82C, 0x00000000,
+ 0x830, 0x00000000,
+ 0x834, 0x00000000,
+ 0x838, 0x00000000,
+ 0x83C, 0x00000000,
+ 0x840, 0x00010000,
+ 0x844, 0x00000000,
+ 0x848, 0x00000000,
+ 0x84C, 0x00000000,
+ 0x850, 0x00000000,
+ 0x854, 0x00000000,
+ 0x858, 0x569A569A,
+ 0x85C, 0x001B25A4,
+ 0x860, 0x66F60110,
+ 0x864, 0x061F0130,
+ 0x868, 0x00000000,
+ 0x86C, 0x32323200,
+ 0x870, 0x07000760,
+ 0x874, 0x22004000,
+ 0x878, 0x00000808,
+ 0x87C, 0x00000000,
+ 0x880, 0xC0083070,
+ 0x884, 0x000004D5,
+ 0x888, 0x00000000,
+ 0x88C, 0xCCC000C0,
+ 0x890, 0x00000800,
+ 0x894, 0xFFFFFFFE,
+ 0x898, 0x40302010,
+ 0x89C, 0x00706050,
+ 0x900, 0x00000000,
+ 0x904, 0x00000023,
+ 0x908, 0x00000000,
+ 0x90C, 0x81121111,
+ 0xA00, 0x00D047C8,
+ 0xA04, 0x80FF000C,
+ 0xA08, 0x8C838300,
+ 0xA0C, 0x2E68120F,
+ 0xA10, 0x9500BB78,
+ 0xA14, 0x11144028,
+ 0xA18, 0x00881117,
+ 0xA1C, 0x89140F00,
+ 0xA20, 0x1A1B0000,
+ 0xA24, 0x090E1317,
+ 0xA28, 0x00000204,
+ 0xA2C, 0x00D30000,
+ 0xA70, 0x101FBF00,
+ 0xA74, 0x00000007,
+ 0xA78, 0x00000900,
+ 0xC00, 0x48071D40,
+ 0xC04, 0x03A05611,
+ 0xC08, 0x000000E4,
+ 0xC0C, 0x6C6C6C6C,
+ 0xC10, 0x08800000,
+ 0xC14, 0x40000100,
+ 0xC18, 0x08800000,
+ 0xC1C, 0x40000100,
+ 0xC20, 0x00000000,
+ 0xC24, 0x00000000,
+ 0xC28, 0x00000000,
+ 0xC2C, 0x00000000,
+ 0xC30, 0x69E9AC44,
+ 0xFF0F011F, 0xABCD,
+ 0xC34, 0x469652CF,
+ 0xCDCDCDCD, 0xCDCD,
+ 0xC34, 0x469652AF,
+ 0xFF0F011F, 0xDEAD,
+ 0xC38, 0x49795994,
+ 0xC3C, 0x0A97971C,
+ 0xC40, 0x1F7C403F,
+ 0xC44, 0x000100B7,
+ 0xC48, 0xEC020107,
+ 0xC4C, 0x007F037F,
+ 0xC50, 0x69543420,
+ 0xC54, 0x43BC0094,
+ 0xC58, 0x69543420,
+ 0xC5C, 0x433C0094,
+ 0xC60, 0x00000000,
+ 0xFF0F011F, 0xABCD,
+ 0xC64, 0x7116848B,
+ 0xCDCDCDCD, 0xCDCD,
+ 0xC64, 0x7112848B,
+ 0xFF0F011F, 0xDEAD,
+ 0xC68, 0x47C00BFF,
+ 0xC6C, 0x00000036,
+ 0xC70, 0x2C7F000D,
+ 0xC74, 0x018610DB,
+ 0xC78, 0x0000001F,
+ 0xC7C, 0x00B91612,
+ 0xC80, 0x40000100,
+ 0xC84, 0x20F60000,
+ 0xC88, 0x40000100,
+ 0xC8C, 0x20200000,
+ 0xC90, 0x00121820,
+ 0xC94, 0x00000000,
+ 0xC98, 0x00121820,
+ 0xC9C, 0x00007F7F,
+ 0xCA0, 0x00000000,
+ 0xCA4, 0x00000080,
+ 0xCA8, 0x00000000,
+ 0xCAC, 0x00000000,
+ 0xCB0, 0x00000000,
+ 0xCB4, 0x00000000,
+ 0xCB8, 0x00000000,
+ 0xCBC, 0x28000000,
+ 0xCC0, 0x00000000,
+ 0xCC4, 0x00000000,
+ 0xCC8, 0x00000000,
+ 0xCCC, 0x00000000,
+ 0xCD0, 0x00000000,
+ 0xCD4, 0x00000000,
+ 0xCD8, 0x64B22427,
+ 0xCDC, 0x00766932,
+ 0xCE0, 0x00222222,
+ 0xCE4, 0x00000000,
+ 0xCE8, 0x37644302,
+ 0xCEC, 0x2F97D40C,
+ 0xD00, 0x00080740,
+ 0xD04, 0x00020401,
+ 0xD08, 0x0000907F,
+ 0xD0C, 0x20010201,
+ 0xD10, 0xA0633333,
+ 0xD14, 0x3333BC43,
+ 0xD18, 0x7A8F5B6B,
+ 0xD2C, 0xCC979975,
+ 0xD30, 0x00000000,
+ 0xD34, 0x80608000,
+ 0xD38, 0x00000000,
+ 0xD3C, 0x00027293,
+ 0xD40, 0x00000000,
+ 0xD44, 0x00000000,
+ 0xD48, 0x00000000,
+ 0xD4C, 0x00000000,
+ 0xD50, 0x6437140A,
+ 0xD54, 0x00000000,
+ 0xD58, 0x00000000,
+ 0xD5C, 0x30032064,
+ 0xD60, 0x4653DE68,
+ 0xD64, 0x04518A3C,
+ 0xD68, 0x00002101,
+ 0xD6C, 0x2A201C16,
+ 0xD70, 0x1812362E,
+ 0xD74, 0x322C2220,
+ 0xD78, 0x000E3C24,
+ 0xE00, 0x2A2A2A2A,
+ 0xE04, 0x2A2A2A2A,
+ 0xE08, 0x03902A2A,
+ 0xE10, 0x2A2A2A2A,
+ 0xE14, 0x2A2A2A2A,
+ 0xE18, 0x2A2A2A2A,
+ 0xE1C, 0x2A2A2A2A,
+ 0xE28, 0x00000000,
+ 0xE30, 0x1000DC1F,
+ 0xE34, 0x10008C1F,
+ 0xE38, 0x02140102,
+ 0xE3C, 0x681604C2,
+ 0xE40, 0x01007C00,
+ 0xE44, 0x01004800,
+ 0xE48, 0xFB000000,
+ 0xE4C, 0x000028D1,
+ 0xE50, 0x1000DC1F,
+ 0xE54, 0x10008C1F,
+ 0xE58, 0x02140102,
+ 0xE5C, 0x28160D05,
+ 0xE60, 0x00000008,
+ 0xE68, 0x001B25A4,
+ 0xE6C, 0x631B25A0,
+ 0xE70, 0x631B25A0,
+ 0xE74, 0x081B25A0,
+ 0xE78, 0x081B25A0,
+ 0xE7C, 0x081B25A0,
+ 0xE80, 0x081B25A0,
+ 0xE84, 0x631B25A0,
+ 0xE88, 0x081B25A0,
+ 0xE8C, 0x631B25A0,
+ 0xED0, 0x631B25A0,
+ 0xED4, 0x631B25A0,
+ 0xED8, 0x631B25A0,
+ 0xEDC, 0x001B25A0,
+ 0xEE0, 0x001B25A0,
+ 0xEEC, 0x6B1B25A0,
+ 0xF14, 0x00000003,
+ 0xF4C, 0x00000000,
+ 0xF00, 0x00000300,
+
+};
+
+void
+ODM_ReadAndConfig_PHY_REG_1T_8723A(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+ #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0)
+
+ u4Byte hex = 0;
+ u4Byte i = 0;
+ u2Byte count = 0;
+ pu4Byte ptr_array = NULL;
+ u1Byte platform = pDM_Odm->SupportPlatform;
+ u1Byte interfaceValue = pDM_Odm->SupportInterface;
+ u1Byte board = pDM_Odm->BoardType;
+ u4Byte ArrayLen = sizeof(Array_PHY_REG_1T_8723A)/sizeof(u4Byte);
+ pu4Byte Array = Array_PHY_REG_1T_8723A;
+
+
+ hex += board;
+ hex += interfaceValue << 8;
+ hex += platform << 16;
+ hex += 0xFF000000;
+ for (i = 0; i < ArrayLen; i += 2 )
+ {
+ u4Byte v1 = Array[i];
+ u4Byte v2 = Array[i+1];
+
+ // This (offset, data) pair meets the condition.
+ if ( v1 < 0xCDCDCDCD )
+ {
+ odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2);
+ continue;
+ }
+ else
+ { // This line is the start line of branch.
+ if ( !CheckCondition(Array[i], hex) )
+ { // Discard the following (offset, data) pairs.
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+ i -= 2; // prevent from for-loop += 2
+ }
+ else // Configure matched pairs and skip to end of if-else.
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2);
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ while (v2 != 0xDEAD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ }
+ }
+ }
+
+}
+
+
+/******************************************************************************
+* PHY_REG_MP.TXT
+******************************************************************************/
+
+u4Byte Array_PHY_REG_MP_8723A[] = {
+ 0xC30, 0x69E9AC4A,
+ 0xC3C, 0x0A979718,
+
+};
+
+void
+ODM_ReadAndConfig_PHY_REG_MP_8723A(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+ #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0)
+
+ u4Byte hex = 0;
+ u4Byte i = 0;
+ u2Byte count = 0;
+ pu4Byte ptr_array = NULL;
+ u1Byte platform = pDM_Odm->SupportPlatform;
+ u1Byte interfaceValue = pDM_Odm->SupportInterface;
+ u1Byte board = pDM_Odm->BoardType;
+ u4Byte ArrayLen = sizeof(Array_PHY_REG_MP_8723A)/sizeof(u4Byte);
+ pu4Byte Array = Array_PHY_REG_MP_8723A;
+
+
+ hex += board;
+ hex += interfaceValue << 8;
+ hex += platform << 16;
+ hex += 0xFF000000;
+ for (i = 0; i < ArrayLen; i += 2 )
+ {
+ u4Byte v1 = Array[i];
+ u4Byte v2 = Array[i+1];
+
+ // This (offset, data) pair meets the condition.
+ if ( v1 < 0xCDCDCDCD )
+ {
+ odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2);
+ continue;
+ }
+ else
+ { // This line is the start line of branch.
+ if ( !CheckCondition(Array[i], hex) )
+ { // Discard the following (offset, data) pairs.
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+ i -= 2; // prevent from for-loop += 2
+ }
+ else // Configure matched pairs and skip to end of if-else.
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2);
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ while (v2 != 0xDEAD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ }
+ }
+ }
+
+}
+
+
+/******************************************************************************
+* PHY_REG_PG.TXT
+******************************************************************************/
+
+u4Byte Array_PHY_REG_PG_8723A[] = {
+ 0xE00, 0xFFFFFFFF, 0x0A0C0C0C,
+ 0xE04, 0xFFFFFFFF, 0x02040608,
+ 0xE08, 0x0000FF00, 0x00000000,
+ 0x86C, 0xFFFFFF00, 0x00000000,
+ 0xE10, 0xFFFFFFFF, 0x0A0C0D0E,
+ 0xE14, 0xFFFFFFFF, 0x02040608,
+ 0xE18, 0xFFFFFFFF, 0x0A0C0D0E,
+ 0xE1C, 0xFFFFFFFF, 0x02040608,
+ 0x830, 0xFFFFFFFF, 0x0A0C0C0C,
+ 0x834, 0xFFFFFFFF, 0x02040608,
+ 0x838, 0xFFFFFF00, 0x00000000,
+ 0x86C, 0x000000FF, 0x00000000,
+ 0x83C, 0xFFFFFFFF, 0x0A0C0D0E,
+ 0x848, 0xFFFFFFFF, 0x02040608,
+ 0x84C, 0xFFFFFFFF, 0x0A0C0D0E,
+ 0x868, 0xFFFFFFFF, 0x02040608,
+ 0xE00, 0xFFFFFFFF, 0x00000000,
+ 0xE04, 0xFFFFFFFF, 0x00000000,
+ 0xE08, 0x0000FF00, 0x00000000,
+ 0x86C, 0xFFFFFF00, 0x00000000,
+ 0xE10, 0xFFFFFFFF, 0x00000000,
+ 0xE14, 0xFFFFFFFF, 0x00000000,
+ 0xE18, 0xFFFFFFFF, 0x00000000,
+ 0xE1C, 0xFFFFFFFF, 0x00000000,
+ 0x830, 0xFFFFFFFF, 0x00000000,
+ 0x834, 0xFFFFFFFF, 0x00000000,
+ 0x838, 0xFFFFFF00, 0x00000000,
+ 0x86C, 0x000000FF, 0x00000000,
+ 0x83C, 0xFFFFFFFF, 0x00000000,
+ 0x848, 0xFFFFFFFF, 0x00000000,
+ 0x84C, 0xFFFFFFFF, 0x00000000,
+ 0x868, 0xFFFFFFFF, 0x00000000,
+ 0xE00, 0xFFFFFFFF, 0x04040404,
+ 0xE04, 0xFFFFFFFF, 0x00020204,
+ 0xE08, 0x0000FF00, 0x00000000,
+ 0x86C, 0xFFFFFF00, 0x00000000,
+ 0xE10, 0xFFFFFFFF, 0x06060606,
+ 0xE14, 0xFFFFFFFF, 0x00020406,
+ 0xE18, 0xFFFFFFFF, 0x00000000,
+ 0xE1C, 0xFFFFFFFF, 0x00000000,
+ 0x830, 0xFFFFFFFF, 0x04040404,
+ 0x834, 0xFFFFFFFF, 0x00020204,
+ 0x838, 0xFFFFFF00, 0x00000000,
+ 0x86C, 0x000000FF, 0x00000000,
+ 0x83C, 0xFFFFFFFF, 0x06060606,
+ 0x848, 0xFFFFFFFF, 0x00020406,
+ 0x84C, 0xFFFFFFFF, 0x00000000,
+ 0x868, 0xFFFFFFFF, 0x00000000,
+ 0xE00, 0xFFFFFFFF, 0x00000000,
+ 0xE04, 0xFFFFFFFF, 0x00000000,
+ 0xE08, 0x0000FF00, 0x00000000,
+ 0x86C, 0xFFFFFF00, 0x00000000,
+ 0xE10, 0xFFFFFFFF, 0x00000000,
+ 0xE14, 0xFFFFFFFF, 0x00000000,
+ 0xE18, 0xFFFFFFFF, 0x00000000,
+ 0xE1C, 0xFFFFFFFF, 0x00000000,
+ 0x830, 0xFFFFFFFF, 0x00000000,
+ 0x834, 0xFFFFFFFF, 0x00000000,
+ 0x838, 0xFFFFFF00, 0x00000000,
+ 0x86C, 0x000000FF, 0x00000000,
+ 0x83C, 0xFFFFFFFF, 0x00000000,
+ 0x848, 0xFFFFFFFF, 0x00000000,
+ 0x84C, 0xFFFFFFFF, 0x00000000,
+ 0x868, 0xFFFFFFFF, 0x00000000,
+ 0xE00, 0xFFFFFFFF, 0x00000000,
+ 0xE04, 0xFFFFFFFF, 0x00000000,
+ 0xE08, 0x0000FF00, 0x00000000,
+ 0x86C, 0xFFFFFF00, 0x00000000,
+ 0xE10, 0xFFFFFFFF, 0x00000000,
+ 0xE14, 0xFFFFFFFF, 0x00000000,
+ 0xE18, 0xFFFFFFFF, 0x00000000,
+ 0xE1C, 0xFFFFFFFF, 0x00000000,
+ 0x830, 0xFFFFFFFF, 0x00000000,
+ 0x834, 0xFFFFFFFF, 0x00000000,
+ 0x838, 0xFFFFFF00, 0x00000000,
+ 0x86C, 0x000000FF, 0x00000000,
+ 0x83C, 0xFFFFFFFF, 0x00000000,
+ 0x848, 0xFFFFFFFF, 0x00000000,
+ 0x84C, 0xFFFFFFFF, 0x00000000,
+ 0x868, 0xFFFFFFFF, 0x00000000,
+ 0xE00, 0xFFFFFFFF, 0x04040404,
+ 0xE04, 0xFFFFFFFF, 0x00020204,
+ 0xE08, 0x0000FF00, 0x00000000,
+ 0x86C, 0xFFFFFF00, 0x00000000,
+ 0xE10, 0xFFFFFFFF, 0x00000000,
+ 0xE14, 0xFFFFFFFF, 0x00000000,
+ 0xE18, 0xFFFFFFFF, 0x00000000,
+ 0xE1C, 0xFFFFFFFF, 0x00000000,
+ 0x830, 0xFFFFFFFF, 0x04040404,
+ 0x834, 0xFFFFFFFF, 0x00020204,
+ 0x838, 0xFFFFFF00, 0x00000000,
+ 0x86C, 0x000000FF, 0x00000000,
+ 0x83C, 0xFFFFFFFF, 0x00000000,
+ 0x848, 0xFFFFFFFF, 0x00000000,
+ 0x84C, 0xFFFFFFFF, 0x00000000,
+ 0x868, 0xFFFFFFFF, 0x00000000,
+ 0xE00, 0xFFFFFFFF, 0x00000000,
+ 0xE04, 0xFFFFFFFF, 0x00000000,
+ 0xE08, 0x0000FF00, 0x00000000,
+ 0x86C, 0xFFFFFF00, 0x00000000,
+ 0xE10, 0xFFFFFFFF, 0x00000000,
+ 0xE14, 0xFFFFFFFF, 0x00000000,
+ 0xE18, 0xFFFFFFFF, 0x00000000,
+ 0xE1C, 0xFFFFFFFF, 0x00000000,
+ 0x830, 0xFFFFFFFF, 0x00000000,
+ 0x834, 0xFFFFFFFF, 0x00000000,
+ 0x838, 0xFFFFFF00, 0x00000000,
+ 0x86C, 0x000000FF, 0x00000000,
+ 0x83C, 0xFFFFFFFF, 0x00000000,
+ 0x848, 0xFFFFFFFF, 0x00000000,
+ 0x84C, 0xFFFFFFFF, 0x00000000,
+ 0x868, 0xFFFFFFFF, 0x00000000,
+
+};
+
+void
+ODM_ReadAndConfig_PHY_REG_PG_8723A(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+ u4Byte hex = 0;
+ u4Byte i = 0;
+ u2Byte count = 0;
+ pu4Byte ptr_array = NULL;
+ u1Byte platform = pDM_Odm->SupportPlatform;
+ u1Byte interfaceValue = pDM_Odm->SupportInterface;
+ u1Byte board = pDM_Odm->BoardType;
+ u4Byte ArrayLen = sizeof(Array_PHY_REG_PG_8723A)/sizeof(u4Byte);
+ pu4Byte Array = Array_PHY_REG_PG_8723A;
+
+ hex += board;
+ hex += interfaceValue << 8;
+ hex += platform << 16;
+ hex += 0xFF000000;
+ for (i = 0; i < ArrayLen; i += 3 )
+ {
+ u4Byte v1 = Array[i];
+ u4Byte v2 = Array[i+1];
+ u4Byte v3 = Array[i+2];
+
+ // this line is a line of pure_body
+ if ( v1 < 0xCDCDCDCD )
+ {
+ odm_ConfigBB_PHY_REG_PG_8723A(pDM_Odm, v1, v2, v3);
+ continue;
+ }
+ else
+ { // this line is the start of branch
+ if ( !CheckCondition(Array[i], hex) )
+ { // don't need the hw_body
+ i += 2; // skip the pair of expression
+ v1 = Array[i];
+ v2 = Array[i+1];
+ v3 = Array[i+2];
+ while (v2 != 0xDEAD)
+ {
+ i += 3;
+ v1 = Array[i];
+ v2 = Array[i+1];
+ v3 = Array[i+1];
+ }
+ }
+ }
+ }
+}
+
+
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.h index fa20df9ea19a..d97e5ee60f70 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_BB.h @@ -1,63 +1,63 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#if (RTL8723A_SUPPORT == 1) -#ifndef __INC_BB_8723A_HW_IMG_H -#define __INC_BB_8723A_HW_IMG_H - -/****************************************************************************** -* AGC_TAB_1T.TXT -******************************************************************************/ - -void -ODM_ReadAndConfig_AGC_TAB_1T_8723A( - IN PDM_ODM_T pDM_Odm -); - -/****************************************************************************** -* PHY_REG_1T.TXT -******************************************************************************/ - -void -ODM_ReadAndConfig_PHY_REG_1T_8723A( - IN PDM_ODM_T pDM_Odm -); - -/****************************************************************************** -* PHY_REG_MP.TXT -******************************************************************************/ - -void -ODM_ReadAndConfig_PHY_REG_MP_8723A( - IN PDM_ODM_T pDM_Odm -); - -/****************************************************************************** -* PHY_REG_PG.TXT -******************************************************************************/ - -void -ODM_ReadAndConfig_PHY_REG_PG_8723A( - IN PDM_ODM_T pDM_Odm -); - -#endif -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#if (RTL8723A_SUPPORT == 1)
+#ifndef __INC_BB_8723A_HW_IMG_H
+#define __INC_BB_8723A_HW_IMG_H
+
+/******************************************************************************
+* AGC_TAB_1T.TXT
+******************************************************************************/
+
+void
+ODM_ReadAndConfig_AGC_TAB_1T_8723A(
+ IN PDM_ODM_T pDM_Odm
+);
+
+/******************************************************************************
+* PHY_REG_1T.TXT
+******************************************************************************/
+
+void
+ODM_ReadAndConfig_PHY_REG_1T_8723A(
+ IN PDM_ODM_T pDM_Odm
+);
+
+/******************************************************************************
+* PHY_REG_MP.TXT
+******************************************************************************/
+
+void
+ODM_ReadAndConfig_PHY_REG_MP_8723A(
+ IN PDM_ODM_T pDM_Odm
+);
+
+/******************************************************************************
+* PHY_REG_PG.TXT
+******************************************************************************/
+
+void
+ODM_ReadAndConfig_PHY_REG_PG_8723A(
+ IN PDM_ODM_T pDM_Odm
+);
+
+#endif
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.c index 2b95f5b3c534..736411b1af4b 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.c @@ -1,1597 +1,1597 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#include "Mp_Precomp.h" -#include "../odm_precomp.h" - -#if (RTL8723A_SUPPORT == 1) -u1Byte Array_8723A_rtl8723fw[] = { - -}; -u4Byte ArrayLength_8723A_rtl8723fw = 0; - - -void -ODM_ReadFirmware_8723A_rtl8723fw( - IN PDM_ODM_T pDM_Odm, - OUT u1Byte *pFirmware, - OUT u4Byte *pFirmwareSize -) -{ - ODM_MoveMemory(pDM_Odm, pFirmware, Array_8723A_rtl8723fw, ArrayLength_8723A_rtl8723fw); - *pFirmwareSize = ArrayLength_8723A_rtl8723fw; -} - - -u1Byte Array_8723A_rtl8723fw_B[] = { -0x02, 0x23, 0x02, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x14, 0x15, 0x51, 0xC6, 0x5F, 0x01, 0x00, -0x03, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x4A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x61, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x66, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x67, 0xC2, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x6F, 0x8F, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03, -0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09, -0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08, -0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10, -0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21, -0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20, -0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00, -0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28, -0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30, -0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04, -0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05, -0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13, -0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F, -0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24, -0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78, -0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40, -0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02, -0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48, -0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8, -0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58, -0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07, -0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C, -0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, -0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18, -0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28, -0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09, -0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9, -0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, -0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, -0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, -0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, -0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, -0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, -0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, -0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, -0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, -0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, -0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, -0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, -0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, -0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, -0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, -0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE, -0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED, -0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC, -0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, -0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, -0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5, -0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, -0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, -0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, -0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, -0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, -0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, -0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, -0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3, -0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x63, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, -0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0, -0x0B, 0x90, 0x93, 0x40, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93, -0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90, -0x93, 0x58, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0xF5, 0x49, -0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93, -0x58, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x04, 0x2F, 0xF5, -0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0xF5, 0x49, 0xE4, -0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, -0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, -0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, -0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x12, 0x9D, 0x6C, 0x90, 0x05, 0x22, 0xE4, 0xF0, -0x22, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF, -0x02, 0x4E, 0x18, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5D, 0x12, 0x1F, -0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x71, 0xE5, 0x62, 0x64, 0x01, -0x60, 0x03, 0x02, 0x46, 0x71, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02, -0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3, -0xE0, 0x60, 0x14, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x71, 0x43, 0x66, 0x10, -0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F, -0xFF, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0x80, -0x2D, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, -0xFE, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, -0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3A, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x80, -0x2D, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, -0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, -0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x62, -0xE5, 0x63, 0x64, 0x0C, 0x60, 0x68, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x58, 0xE0, 0xD3, -0x9F, 0x40, 0x06, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x13, -0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, -0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x70, -0x21, 0x12, 0x4A, 0x5E, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x55, -0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x39, 0x90, 0x93, 0x51, 0x74, 0x01, 0xF0, 0x12, 0x9D, -0x6C, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x47, 0x2B, 0x90, 0x93, -0x5A, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02, -0x47, 0x2B, 0x02, 0x47, 0x28, 0x90, 0x93, 0x41, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93, -0x58, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, -0x3A, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90, -0x93, 0x39, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, -0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x58, 0xE0, 0xB5, 0x07, 0x0B, -0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, -0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x63, 0x74, 0x5A, 0xF0, 0x90, 0x93, -0x63, 0xE0, 0xFF, 0x90, 0x93, 0x48, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x41, 0xE0, -0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B, -0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x52, 0x08, 0x22, 0xE4, 0xF5, 0x66, 0xF5, -0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x90, -0x93, 0x52, 0xF0, 0x90, 0x93, 0x57, 0x04, 0xF0, 0x90, 0x93, 0x40, 0xF0, 0xE4, 0x90, 0x93, 0x5A, -0xF0, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4F, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, -0x90, 0x93, 0x4D, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93, 0x4B, 0x74, -0x05, 0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0xE4, 0x90, -0x93, 0x43, 0xF0, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x93, 0xB2, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90, -0x93, 0x5C, 0xF0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90, -0x93, 0x47, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x4A, 0xF0, 0x90, -0x93, 0x46, 0xF0, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0xB4, -0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54, -0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x90, -0x93, 0x39, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, 0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, -0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40, -0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0, -0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, -0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, -0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0, -0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82, -0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90, -0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, 0x40, 0xF0, 0x02, 0x49, 0x22, 0xE5, 0x64, -0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x67, 0x80, -0x5D, 0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, -0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5, -0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42, -0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30, -0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x08, -0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x01, -0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, -0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, -0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0xE0, 0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x51, -0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14, -0x12, 0x52, 0x08, 0x80, 0x0F, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, -0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x5D, 0xE0, 0x30, 0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93, -0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x13, 0x12, 0x51, 0x39, 0x80, -0x0E, 0x12, 0x50, 0x68, 0x80, 0x09, 0x90, 0x93, 0x51, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4, -0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x5D, 0xE0, 0x30, 0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5, -0x48, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, -0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x5A, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A, -0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, 0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC, -0x25, 0xAF, 0x24, 0x12, 0x47, 0xE4, 0xAF, 0x26, 0xAE, 0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F, -0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01, -0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC, -0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74, -0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74, -0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53, -0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74, -0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D, -0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01, -0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54, -0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63, -0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0x92, 0xE5, 0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20, -0xE3, 0x0B, 0x12, 0x4D, 0x46, 0xEF, 0x60, 0x53, 0x12, 0x51, 0xC5, 0x80, 0x4E, 0xE5, 0x63, 0x20, -0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69, 0x12, 0x51, 0x77, 0x80, 0x3D, 0xE5, 0x63, -0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20, 0xE3, 0x09, 0x12, 0x4D, 0x46, 0xEF, 0x60, -0x2A, 0x12, 0x51, 0xC5, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2, -0x09, 0x12, 0x48, 0x88, 0xEF, 0x60, 0x14, 0x12, 0x51, 0x10, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, -0x02, 0x09, 0x12, 0x4B, 0xF0, 0xEF, 0x60, 0x03, 0x12, 0x51, 0xF5, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x02, 0x4B, 0x2E, 0x02, 0x52, 0xE5, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, -0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, -0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, -0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F, -0x66, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, -0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, -0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, -0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, -0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, 0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, -0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12, -0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, -0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x5E, 0x90, 0x06, 0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06, -0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0, -0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F, -0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44, -0x07, 0xF0, 0x12, 0x4F, 0x19, 0xE5, 0x62, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x22, -0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, -0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x54, 0xE5, 0x14, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, -0xF0, 0x80, 0x48, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, -0x02, 0xF0, 0x80, 0x37, 0x90, 0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, -0x80, 0x29, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, -0x1A, 0x90, 0x93, 0x43, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90, -0x01, 0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02, -0xF0, 0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65, -0x64, 0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93, -0x40, 0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x07, -0x90, 0x93, 0x57, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x40, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xEF, -0xF0, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93, -0x58, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, -0x74, 0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, -0x80, 0x03, 0x12, 0x49, 0x2B, 0x22, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80, -0x0C, 0x90, 0x93, 0xB1, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12, -0x53, 0xF0, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0xF0, 0x90, 0x00, -0x28, 0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10, -0xFD, 0x7F, 0x08, 0x12, 0x53, 0xF0, 0x7F, 0x01, 0x12, 0x4E, 0x72, 0x90, 0x00, 0x00, 0xE0, 0x44, -0x20, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20, -0x12, 0x53, 0xF0, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0xF0, 0x7F, -0x14, 0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A, -0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49, -0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39, -0x90, 0x93, 0x55, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93, -0x52, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F, -0xD3, 0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, -0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F, -0x00, 0x22, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8A, 0x12, 0x43, -0xA8, 0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24, -0x03, 0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x2A, 0x80, 0x29, 0x90, 0x93, 0x8A, 0x12, 0x43, -0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x2A, 0x1F, 0x80, 0x14, -0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12, -0x50, 0x2A, 0xE4, 0xFF, 0x12, 0x4B, 0x73, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, -0x24, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, -0x90, 0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12, -0x5A, 0x0E, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x90, 0x12, -0x49, 0xC9, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, -0x01, 0x12, 0x58, 0x90, 0x12, 0x49, 0xC9, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F, -0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x45, 0xE0, -0x94, 0x88, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, -0xF0, 0x22, 0x90, 0x94, 0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, -0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x00, -0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01, -0xFD, 0x7F, 0x20, 0x12, 0x53, 0xF0, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00, -0xE0, 0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD, -0x7F, 0x28, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x53, -0xF0, 0xE4, 0xFF, 0x12, 0x4E, 0x72, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29, -0xE0, 0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x53, 0xF0, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30, -0xE2, 0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02, -0x30, 0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06, -0x7F, 0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4E, 0xE0, 0x9D, 0x90, 0x93, -0x4D, 0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, -0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x48, 0x93, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x9F, 0x00, -0x41, 0x93, 0xAE, 0x00, 0x41, 0x93, 0x94, 0x00, 0x41, 0x94, 0x4A, 0x00, 0x41, 0x93, 0x13, 0x00, -0x41, 0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00, -0x41, 0x94, 0x3D, 0x00, 0x41, 0x94, 0x4D, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x93, 0x56, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x31, -0x12, 0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x31, -0x12, 0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, -0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD, -0x50, 0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3D, 0xE0, 0x60, -0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x12, 0x9D, 0x6C, 0x90, 0x93, 0x59, -0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, -0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60, -0x16, 0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x57, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x40, -0xF0, 0xE4, 0x90, 0x93, 0x5C, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x93, -0x57, 0xF0, 0x80, 0x05, 0x90, 0x93, 0x57, 0xED, 0xF0, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40, -0xF0, 0x90, 0x93, 0x5C, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C, -0x74, 0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, -0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, -0x02, 0xF0, 0x90, 0x93, 0x52, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03, -0x12, 0x4A, 0x5E, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24, -0x00, 0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3E, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54, -0x0F, 0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, -0xD8, 0xF9, 0x90, 0x93, 0x54, 0xF0, 0xEE, 0x90, 0x93, 0x53, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90, -0x93, 0xB0, 0xE0, 0x90, 0x94, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB0, 0xE0, 0x90, 0x94, -0x35, 0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x51, -0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5A, 0x0E, 0xEF, -0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12, -0x54, 0x48, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x46, 0xE0, 0x70, 0x1A, 0x90, -0x04, 0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xA9, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x90, 0x8E, -0x6A, 0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x16, -0x90, 0x93, 0x4A, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74, -0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60, -0x0A, 0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x18, 0x53, 0x63, 0xF0, 0x43, 0x63, -0x0C, 0x22, 0x90, 0x94, 0x4B, 0xEF, 0xF0, 0x12, 0x6B, 0xF8, 0x90, 0x94, 0x4B, 0xE0, 0x60, 0x05, -0x90, 0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0, -0xF4, 0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01, -0x60, 0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, -0x05, 0x7F, 0x01, 0x12, 0x4E, 0x18, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30, -0xE6, 0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80, -0xF0, 0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xD6, 0x12, 0x4E, -0xCA, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x62, 0x90, -0x02, 0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12, -0x43, 0xF7, 0x52, 0x3A, 0x00, 0x40, 0x52, 0x62, 0x00, 0x80, 0x52, 0x8D, 0x01, 0x00, 0x52, 0xA1, -0x02, 0x00, 0x52, 0xB9, 0x04, 0x00, 0x00, 0x00, 0x52, 0xD6, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06, -0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, -0x80, 0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF, -0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, -0x07, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04, -0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80, -0x35, 0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF, -0x2D, 0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE, -0xFF, 0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D, -0x00, 0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x1F, -0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x75, 0xF0, 0xA3, 0xF0, 0xF1, 0xE1, 0x75, 0x8E, -0x02, 0xB1, 0x1A, 0x12, 0x60, 0x10, 0x90, 0x93, 0xB1, 0xEF, 0xF0, 0xF1, 0xE9, 0x90, 0x93, 0xB3, -0xEF, 0xF0, 0x12, 0x60, 0x23, 0x90, 0x93, 0x95, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14, -0xF5, 0x09, 0xF5, 0x62, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12, -0x87, 0x51, 0x12, 0x47, 0x2C, 0x12, 0x37, 0x1C, 0x71, 0xC7, 0x12, 0x5F, 0xD4, 0x12, 0x60, 0x3B, -0xF1, 0xDA, 0x12, 0x5F, 0xF2, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xA6, 0xB1, 0x02, 0x90, 0x93, 0x77, -0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x38, 0x75, 0xE8, -0x03, 0x43, 0xA8, 0x85, 0x12, 0x9A, 0xCA, 0xD2, 0xAF, 0x12, 0x90, 0x6F, 0x51, 0xDB, 0x12, 0x60, -0x50, 0x90, 0x93, 0x75, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xE5, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52, -0xA3, 0xF0, 0xE5, 0x14, 0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0xB1, 0x2A, 0xD2, 0xAF, -0xE5, 0x14, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x77, 0xF7, 0xE5, -0x14, 0x30, 0xE6, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x7F, 0x4E, 0xE5, 0x14, -0x30, 0xE7, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0xB8, 0xC2, 0xAF, 0xE5, 0x64, -0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0x43, 0x74, 0x01, 0xF0, 0x51, 0x08, 0xE4, 0x90, -0x93, 0x43, 0xF0, 0xD2, 0xAF, 0x80, 0x9A, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3, -0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x71, 0xF0, -0x7D, 0xFF, 0x7F, 0x55, 0x71, 0xF0, 0x7D, 0xFF, 0x7F, 0x56, 0x71, 0xF0, 0x7D, 0xFF, 0x7F, 0x57, -0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x38, -0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x71, 0xF0, 0xE4, -0xFD, 0x7F, 0x51, 0x71, 0xF0, 0xE4, 0xFD, 0x7F, 0x52, 0x71, 0xF0, 0xE4, 0xFD, 0x7F, 0x53, 0x80, -0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F, -0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0xF2, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x00, 0x00, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x91, 0x38, 0x91, 0x31, 0x90, 0x00, -0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0, -0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, -0x74, 0x01, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x56, 0xF0, 0xFF, 0x7E, -0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, -0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84, -0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x47, -0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, 0xDC, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xF6, -0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF6, 0xB1, 0x4D, 0x90, -0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x51, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x90, 0x94, -0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xAD, 0xF0, 0x90, -0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x80, 0x61, 0xF0, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79, -0x6B, 0x12, 0x76, 0x31, 0xEF, 0xB4, 0x02, 0x14, 0x90, 0x94, 0x4D, 0xE0, 0x64, 0x04, 0x60, 0x07, -0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x4D, 0xF0, 0x22, 0x7F, 0x70, 0x7E, -0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0, -0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90, -0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0, -0x12, 0x98, 0x93, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0, -0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, 0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79, -0x07, 0x7F, 0x80, 0x7E, 0x08, 0xB1, 0x51, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B, -0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35, -0xF0, 0xFA, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x12, 0x90, 0x92, -0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90, -0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90, -0x92, 0x68, 0xE0, 0xFF, 0x04, 0xF0, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0xF1, 0xF5, 0xEF, -0x70, 0x02, 0xC1, 0xCB, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, -0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0xD1, 0xD0, 0x90, 0x94, 0x13, 0x12, 0x43, -0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, -0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0xD0, 0x90, 0x01, -0xAF, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x94, 0x10, 0x12, -0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79, -0x20, 0xD1, 0xD0, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, -0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, -0x7A, 0xFD, 0x79, 0x22, 0xD1, 0xD0, 0x90, 0x93, 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, -0x83, 0x74, 0xFF, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, 0x0A, -0x12, 0x43, 0xC8, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xC8, 0xAF, -0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x94, 0x0D, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, -0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x94, 0x0A, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12, -0x42, 0x53, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, -0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x16, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0, -0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90, -0x92, 0x69, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14, -0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0D, 0xF1, 0xF5, 0xEF, 0x60, 0x70, 0xB1, 0xB8, 0x90, 0x01, 0x3F, -0x74, 0x02, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, -0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F, -0x02, 0x12, 0x1E, 0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, -0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x19, 0x12, -0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x12, 0x1E, -0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0xD1, 0xD0, 0x90, -0x92, 0x6A, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0x8F, 0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0, -0x22, 0x90, 0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30, -0xE3, 0x02, 0x7F, 0x01, 0x22, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x94, 0x39, 0xEE, 0xF0, 0xA3, 0xEF, -0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x94, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, -0x83, 0xE0, 0x60, 0x2C, 0xC3, 0x90, 0x94, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x3B, 0xE0, 0x94, -0x03, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x3B, -0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6, -0x7F, 0x01, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xC4, 0x74, 0x43, 0xF0, -0x74, 0x58, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, 0x22, 0xE0, 0x54, 0x90, -0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE1, 0xE4, -0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x11, 0x43, 0xBF, 0x01, 0x0F, -0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x90, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, -0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80, -0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74, -0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74, -0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, -0xE0, 0x54, 0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, -0xFD, 0x62, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x67, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F, -0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x68, 0xF0, -0x90, 0x93, 0x67, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x1C, 0xEF, 0xF0, 0xA3, -0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90, -0x94, 0x21, 0xF0, 0x51, 0x08, 0xBF, 0x01, 0x02, 0x31, 0x5D, 0x90, 0x94, 0x21, 0xE0, 0x90, 0x05, -0x22, 0xF0, 0x80, 0x02, 0x31, 0x5D, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAC, -0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x90, 0x90, 0x94, 0x1F, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD, -0x90, 0x94, 0x1C, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x2B, 0xF0, 0xEF, 0x60, -0x10, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80, -0x0E, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, -0x05, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74, -0x11, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74, -0x16, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x94, 0x2B, 0xE0, 0xFF, 0x74, 0x23, -0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0x90, -0x94, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3, -0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, 0x94, 0x49, 0xE0, 0x94, -0xE8, 0x90, 0x94, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00, -0x12, 0x3B, 0x09, 0x90, 0x94, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0xE4, -0x90, 0x93, 0x63, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1, -0xF8, 0x12, 0x9D, 0x9A, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x61, 0x66, 0x90, 0x93, -0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, -0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0xE4, 0xF5, 0x48, -0x90, 0x93, 0x63, 0xE0, 0x24, 0x03, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, -0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, -0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, 0x80, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19, -0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x16, 0xE0, 0xFF, 0x90, 0x93, 0x25, -0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, -0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B, -0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05, -0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x31, 0x2A, 0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, -0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12, -0x4A, 0x62, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93, -0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93, -0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93, -0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20, -0xE0, 0x02, 0xC1, 0xF8, 0xC1, 0x66, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x02, 0x60, 0x02, 0x81, 0x46, -0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0x51, 0x08, 0xBF, 0x01, -0x03, 0x12, 0x54, 0x48, 0xE4, 0xFF, 0x12, 0x6A, 0xBF, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x1F, -0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30, -0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xEF, 0xF0, 0xE4, -0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, 0x90, 0x93, 0x63, 0xE0, 0x2F, 0xFF, 0x90, -0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x64, 0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, -0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1, -0xF9, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, -0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, -0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4, -0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x62, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64, -0x12, 0x4A, 0x62, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05, -0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, -0xE0, 0x02, 0xC1, 0xF8, 0xC1, 0xF3, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x03, 0x60, 0x02, 0xA1, 0x9B, -0x7F, 0x01, 0x12, 0x6A, 0xBF, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, -0x03, 0x12, 0x6B, 0xF8, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, -0x81, 0xF7, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xD3, 0x9F, 0x40, 0x4D, 0xE0, -0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFF, 0x24, 0x03, -0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, -0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x66, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x66, 0x74, 0x03, -0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x80, 0x24, 0xE4, 0xF5, 0x48, 0x90, -0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, -0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, -0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x65, 0xE0, 0xFF, 0x90, -0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, -0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x7F, 0x01, 0xD1, -0xF9, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x2F, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, -0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x08, -0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x4C, 0xE0, 0x60, -0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, -0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, -0x12, 0x51, 0x39, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, -0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0xF8, 0x7F, 0x01, 0xC1, 0xF5, 0x90, 0x93, 0x27, 0xE0, 0x64, -0x04, 0x60, 0x02, 0xC1, 0x6C, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, -0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, -0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x17, 0xE0, 0xFF, 0x90, -0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, -0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, -0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, -0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x31, 0x2A, 0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, -0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, -0x04, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, -0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, -0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, -0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, -0xE0, 0x20, 0xE0, 0x02, 0xC1, 0xF8, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x27, 0xE0, -0x64, 0x05, 0x60, 0x02, 0xC1, 0xF8, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, -0xE0, 0x08, 0x51, 0x08, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x48, 0xE4, 0xFF, 0x12, 0x6A, 0xBF, 0xE4, -0xFF, 0xD1, 0xF9, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, -0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, -0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x62, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, -0x64, 0x12, 0x4A, 0x62, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, -0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, -0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0x98, 0x22, 0x90, 0x94, 0x2C, 0xEF, 0xF0, 0xF1, 0x5B, -0x90, 0x93, 0x18, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x94, 0x2C, 0xE0, -0xFF, 0x12, 0x50, 0xDC, 0x90, 0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x94, -0x2C, 0xE0, 0xB4, 0x01, 0x10, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, -0x30, 0xE0, 0x16, 0x80, 0x0A, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, -0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2D, 0x12, -0x55, 0x4D, 0x90, 0x94, 0x2C, 0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0xEF, 0x64, 0x01, 0x70, 0x3C, -0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, -0x0D, 0xF0, 0x22, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0, 0x13, 0x13, -0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x93, 0x18, 0xE0, 0xC3, 0x13, -0x90, 0x07, 0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03, 0xF0, 0x22, -0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30, -0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0, -0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90, -0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B, -0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32, -0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22, -0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22, -0x7F, 0x00, 0x22, 0x90, 0x93, 0xB3, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7, -0x05, 0x7E, 0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30, -0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22, -0xE4, 0x90, 0x93, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02, -0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x88, 0x90, 0x93, -0x78, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, -0x78, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, -0x90, 0x93, 0x79, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01, -0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C, -0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90, -0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0, -0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C, -0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93, -0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01, 0x60, -0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, -0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5D, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83, -0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x9F, 0xF0, 0x22, 0x90, 0x93, 0x9F, 0xE0, -0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0, -0x03, 0x12, 0x58, 0x7B, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, -0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, -0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x45, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0, -0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E, -0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x38, 0x90, 0x01, 0x34, -0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, 0xD4, 0x0D, 0x85, 0xD5, 0x0E, 0x85, -0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, 0x0B, 0x75, 0x20, 0x00, 0x75, 0x21, -0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0xA0, 0x12, 0x56, 0xD0, 0x90, -0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E, -0x70, 0x02, 0x41, 0xE9, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, -0xE0, 0x02, 0x41, 0xE9, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0xA2, 0xE0, 0x54, 0x3F, 0xF5, -0x4E, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, -0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04, -0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, -0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0xA4, -0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, -0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, -0x90, 0x93, 0xA1, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0xA4, 0xE0, 0x54, -0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, -0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, -0x30, 0xE0, 0x66, 0xAF, 0x4D, 0x12, 0x79, 0xCB, 0x80, 0x5F, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, -0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x52, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5, -0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12, -0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x0E, -0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0xF1, 0x5C, 0x80, 0x1B, 0x90, 0x01, -0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02, -0x80, 0x46, 0x90, 0x93, 0x59, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C, -0x74, 0x04, 0xF0, 0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x45, -0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, -0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x80, 0x09, 0x12, -0x51, 0xAC, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x08, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xDA, 0x90, -0x01, 0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30, -0xE5, 0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0, -0x75, 0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04, -0x7E, 0xE0, 0x55, 0x51, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0, -0x08, 0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE, -0x74, 0x15, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00, -0x75, 0x22, 0x15, 0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x97, 0x12, 0x56, 0xD0, 0x90, -0x93, 0x97, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x5C, 0xE5, -0x12, 0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05, -0x8F, 0x12, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90, -0x01, 0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0, -0x43, 0x14, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0, -0x54, 0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12, -0x54, 0x05, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x54, 0x38, 0x80, 0xFE, 0xE5, 0x2C, -0x30, 0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0xE3, -0x90, 0x93, 0xB2, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0xAF, 0xE0, 0x60, 0x0F, -0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12, -0x45, 0x09, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0xD9, 0x90, 0x05, 0x22, 0x74, 0xFF, -0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, -0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D, -0xE0, 0xC4, 0x13, 0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30, -0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81, -0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43, -0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1C, -0x90, 0x93, 0x2D, 0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04, -0x54, 0x0F, 0xFE, 0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x6A, 0x4A, 0xD1, 0x7E, 0x90, 0x93, -0xB2, 0xE4, 0xF0, 0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14, -0x40, 0x12, 0x9F, 0x27, 0x11, 0xD6, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0, -0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, -0x22, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF, -0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30, -0xE2, 0x43, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x64, 0x90, 0x93, 0x5C, 0xE0, 0x60, -0x34, 0x90, 0x93, 0x57, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x57, -0xE0, 0x90, 0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A, -0xAD, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90, -0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0, -0xE5, 0x62, 0x64, 0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, -0x01, 0x3C, 0x74, 0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, -0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E, -0x30, 0xE4, 0x2B, 0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65, -0x60, 0x1C, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5A, -0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x08, 0xE5, 0x2E, -0x30, 0xE5, 0x25, 0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65, -0x60, 0x16, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08, -0x12, 0x51, 0x39, 0x80, 0x03, 0x12, 0x50, 0x68, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36, -0x74, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5, -0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x08, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37, -0x74, 0x02, 0xF0, 0x12, 0x4F, 0xEB, 0x74, 0x45, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3, -0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, -0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5D, 0xE0, -0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15, -0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5D, 0x02, 0x57, 0x1F, 0x90, 0x94, -0x3E, 0xE0, 0x30, 0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x3D, 0xE0, 0x04, 0xF0, -0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x94, 0x40, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x3D, 0xF0, 0x90, -0x94, 0x40, 0xE0, 0xFF, 0x90, 0x94, 0x3F, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4, -0x90, 0x94, 0x40, 0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, -0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D, 0xB5, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x66, 0xFF, -0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5, -0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30, -0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55, -0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D, -0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00, -0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5, -0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90, -0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0, -0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0x8F, 0x52, 0x8D, 0x53, -0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x5F, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, -0xF5, 0x83, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x60, 0x74, 0x01, 0xF0, 0xEB, 0xC3, 0x94, -0x01, 0x40, 0x03, 0x02, 0x79, 0xCB, 0x90, 0x93, 0x5D, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3, -0xE0, 0x90, 0x41, 0xA4, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x14, 0x74, 0x01, 0x25, 0x52, 0xF5, -0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x02, 0x79, 0x82, 0x90, -0x93, 0x5E, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF, -0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, -0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75, -0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xC2, 0xF0, 0x74, 0x67, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90, -0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55, -0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01, -0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, -0x93, 0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x72, 0xE5, 0x34, 0x30, 0xE2, 0x36, 0x90, 0x01, -0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, -0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, -0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x55, 0xE4, -0xF0, 0x12, 0x52, 0x08, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0x90, -0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, -0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, -0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x52, 0xE4, 0xF0, 0x12, 0x52, 0x08, 0xE5, -0x34, 0x30, 0xE4, 0x34, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0, -0x24, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x07, 0x78, 0x74, -0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, -0x12, 0x34, 0x30, 0x80, 0x03, 0x12, 0x5A, 0x4F, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C, -0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00, -0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, 0xF0, 0x12, 0x51, 0xDD, 0x12, 0x52, 0x08, -0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B, -0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0xAE, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05, -0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06, -0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02, -0xF0, 0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0x71, 0xB2, 0xE5, 0x36, -0x30, 0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x75, 0x90, 0x01, -0x3E, 0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07, -0x95, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0x98, 0x90, 0x07, -0x8F, 0xE0, 0x30, 0xE6, 0x11, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x07, 0x90, -0x07, 0x80, 0xE0, 0xFF, 0x71, 0xD0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0, -0xE4, 0xFF, 0x12, 0x55, 0x98, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, -0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0, -0x7F, 0x01, 0x12, 0x55, 0x98, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF, -0x12, 0x55, 0x98, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36, -0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01, -0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43, -0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1D, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, 0x24, -0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x51, -0x4A, 0x12, 0x66, 0x7E, 0x74, 0xC2, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x67, 0xA3, 0xF0, 0xD0, -0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, -0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, -0x6D, 0x7F, 0x01, 0x51, 0xBF, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, -0x02, 0x71, 0xF8, 0x7F, 0x01, 0x12, 0x5E, 0xF9, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, -0x20, 0xE0, 0x29, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A, -0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09, -0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, 0x0C, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x4C, 0xE0, -0x90, 0x05, 0x22, 0x60, 0x05, 0x74, 0x6F, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, -0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x98, 0x22, 0xEF, -0x64, 0x03, 0x60, 0x02, 0x61, 0x8D, 0x90, 0x94, 0x02, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x30, 0x90, 0x94, -0x06, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, -0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0, -0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0x80, 0x2D, 0x90, 0x93, -0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74, -0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90, -0x94, 0x06, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x94, 0x02, 0xE0, 0x90, -0x06, 0xC0, 0xF0, 0x90, 0x94, 0x03, 0xE0, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x94, 0x04, 0xE0, 0x90, -0x06, 0xC2, 0xF0, 0x90, 0x94, 0x05, 0xE0, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x94, 0x06, 0xE0, 0x90, -0x06, 0xC4, 0xF0, 0x90, 0x94, 0x07, 0xE0, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x94, 0x08, 0xE0, 0x90, -0x06, 0xC6, 0xF0, 0x90, 0x94, 0x09, 0xE0, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, -0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, 0x24, 0xE4, 0xF0, 0x22, 0xEF, 0xB4, 0x01, -0x10, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x16, 0x90, 0x06, 0xCC, 0xE4, 0xF0, -0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0x90, 0x06, 0xCC, 0x74, 0x03, -0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, 0x93, -0x1C, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0x22, -0xAD, 0x07, 0x90, 0x93, 0x63, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, -0x90, 0x93, 0x65, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x65, 0x90, 0x94, 0x19, 0x12, 0x43, -0xC8, 0x7A, 0x93, 0x79, 0x63, 0x02, 0x57, 0x1F, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, -0x93, 0xEA, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00, -0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0, -0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x3D, 0xE0, -0x60, 0x14, 0x12, 0x51, 0xAC, 0xBF, 0x01, 0x0B, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, -0x30, 0xE0, 0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x24, 0x90, 0x93, 0x47, -0xE0, 0x60, 0x1E, 0x7F, 0x01, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x13, 0x90, 0x93, -0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xEE, 0x12, 0x55, -0x4D, 0x12, 0x54, 0x31, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E, -0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10, -0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E, -0xF6, 0xFC, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x15, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03, -0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xED, -0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54, -0x04, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10, 0xFF, 0xE0, 0x54, -0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18, -0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, -0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, -0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E, -0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, -0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF, -0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90, -0x93, 0x19, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, -0xEC, 0x20, 0xE0, 0x02, 0xC1, 0xF3, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, -0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0x90, 0x93, 0x17, 0xF0, 0x80, 0x4E, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12, -0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x16, 0x50, -0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x16, 0x74, 0x2A, 0xF0, -0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, -0x90, 0x93, 0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, -0x17, 0x74, 0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x3D, -0x90, 0x93, 0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0, 0xE0, 0xC3, 0x13, 0xA3, -0xF0, 0x90, 0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x16, -0xE0, 0xC3, 0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x22, -0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0xE4, 0x90, 0x93, -0x11, 0xF0, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, -0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, -0x0F, 0x30, 0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x03, 0x75, -0x64, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90, 0x05, 0x58, 0x74, -0x03, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x80, -0x2B, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x80, 0x1C, -0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02, 0xF0, 0x80, 0x0D, 0x90, -0x93, 0x1D, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x1D, -0xF0, 0x80, 0x65, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x90, 0x93, 0x83, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, -0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x12, 0x9B, 0x2D, 0x90, 0x00, 0x40, 0x74, 0x20, -0xF0, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x13, 0x13, 0x13, -0x54, 0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, -0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x12, 0x55, 0x4D, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05, -0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, -0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, -0x09, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x55, 0x98, 0x90, -0x93, 0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x51, 0xBF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xC0, -0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, -0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90, -0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x03, 0x02, 0x72, 0x0E, 0x90, 0x93, 0x94, 0xE0, 0x70, 0x16, 0x90, -0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x00, 0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90, -0x93, 0x94, 0x74, 0x01, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x03, -0x12, 0x9B, 0xE0, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x0E, 0x60, 0x03, 0x02, 0x70, 0x93, 0x90, 0x93, -0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20, 0xE0, 0x03, 0x02, 0x70, 0x93, 0x90, 0xFD, -0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54, 0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63, -0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65, -0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01, 0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90, -0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19, 0x90, 0x07, 0x78, 0x12, 0x58, 0xF0, -0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, -0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12, -0x55, 0x98, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, -0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, -0xE0, 0x05, 0x12, 0x58, 0xF0, 0x80, 0x0C, 0xE0, 0x44, 0x10, 0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, -0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A, 0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3, -0xE0, 0xFD, 0x51, 0xCA, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15, 0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0, -0x90, 0x93, 0x6A, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54, 0x3F, 0x04, 0xFF, 0x90, 0x93, 0x0F, -0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20, -0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xFF, 0x90, 0x93, 0x6A, -0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0, -0x90, 0x93, 0x69, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF, 0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF, -0x90, 0x93, 0x69, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F, 0x90, 0x93, 0x6B, 0xF0, 0x90, 0x00, -0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10, 0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00, -0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x16, 0x07, 0x90, 0xFD, 0x62, 0xE0, 0xFF, 0x51, 0x29, -0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x07, 0x90, 0xFD, 0x62, 0xE0, 0xFF, 0x51, 0x51, 0x90, 0xFD, -0x60, 0xE0, 0xB4, 0x22, 0x02, 0x51, 0x79, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x23, 0x70, 0x7B, 0x90, -0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C, 0x30, 0xE0, 0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0, -0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90, 0x93, 0x2D, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, -0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F, -0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E, -0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, -0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0, 0x04, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, -0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44, 0x20, 0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44, -0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0x12, 0x9C, 0x4C, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24, -0x02, 0x51, 0xA1, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25, 0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D, -0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x93, 0x24, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60, -0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, 0x12, 0x9C, 0xE8, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07, -0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0x51, 0xF5, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07, -0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, -0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, -0xF0, 0x44, 0x07, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01, -0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57, -0x1F, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54, 0x0F, 0x44, 0x10, -0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, -0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57, 0x1F, 0x90, 0x00, 0x75, 0xE0, 0x44, 0x01, 0xF0, -0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, 0x03, 0xF0, 0x7F, 0x02, 0x7E, -0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, 0x75, 0xE0, 0x54, 0xFE, 0xF0, -0x22, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, -0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, -0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57, 0x1F, 0xAE, 0x07, 0x90, 0x93, 0x6C, 0xE0, -0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0xEE, 0xF0, 0xA3, -0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, -0x79, 0x6C, 0x02, 0x57, 0x1F, 0xAC, 0x07, 0x90, 0x93, 0xD9, 0xE0, 0x44, 0x0F, 0xF0, 0x54, 0x0F, -0x44, 0x70, 0xF0, 0x90, 0x93, 0xDB, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, -0xDC, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, -0xDE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, -0xE0, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x80, 0x11, 0x90, 0x93, 0xDC, 0xED, -0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, -0x93, 0x79, 0xDB, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xD9, 0x02, 0x57, 0x1F, -0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x83, 0xF0, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, -0x85, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x00, 0x04, 0x12, -0x1F, 0x0F, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD, 0x58, 0xE0, 0x20, -0xE0, 0x15, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x7F, 0x30, 0x12, 0x98, 0x37, 0x90, 0x93, 0x83, -0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xE4, 0xFD, 0xFF, 0x51, -0xF5, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x80, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1, -0x74, 0x73, 0x01, 0x74, 0x6A, 0x02, 0x74, 0xBB, 0x03, 0x74, 0xC4, 0x05, 0x74, 0xCD, 0x06, 0x76, -0x24, 0x07, 0x74, 0xD6, 0x0B, 0x74, 0xDF, 0x10, 0x74, 0xE7, 0x11, 0x74, 0xEF, 0x12, 0x74, 0xF7, -0x13, 0x75, 0x00, 0x14, 0x75, 0x09, 0x15, 0x75, 0x11, 0x16, 0x75, 0x1B, 0x17, 0x75, 0x25, 0x18, -0x75, 0x2F, 0x19, 0x75, 0xF1, 0x1B, 0x75, 0xFA, 0x1C, 0x75, 0x38, 0x1D, 0x75, 0x42, 0x1E, 0x75, -0x4D, 0x21, 0x75, 0x55, 0x22, 0x75, 0x5D, 0x23, 0x75, 0x65, 0x24, 0x75, 0x6D, 0x25, 0x75, 0x75, -0x26, 0x75, 0x7D, 0x27, 0x75, 0x86, 0x28, 0x75, 0x8F, 0x29, 0x74, 0x7C, 0x2D, 0x74, 0x85, 0x2E, -0x75, 0x98, 0x2F, 0x76, 0x03, 0x30, 0x75, 0xA9, 0x32, 0x75, 0xA0, 0x33, 0x74, 0x97, 0x34, 0x75, -0xB2, 0x36, 0x75, 0xBB, 0x37, 0x75, 0xC4, 0x38, 0x75, 0xCD, 0x3A, 0x74, 0x8E, 0x3B, 0x75, 0xD6, -0x3E, 0x75, 0xDF, 0x3F, 0x75, 0xE8, 0x41, 0x76, 0x0C, 0x46, 0x74, 0xA0, 0x47, 0x74, 0xB2, 0x48, -0x74, 0xA9, 0x49, 0x76, 0x14, 0x4B, 0x00, 0x00, 0x76, 0x1D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x02, 0x90, 0x7B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x81, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x02, 0x91, 0x62, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x91, 0xAA, 0x90, 0x93, -0x80, 0x12, 0x43, 0xA8, 0x02, 0x91, 0xE3, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x15, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x1B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x92, 0xDB, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x2F, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x92, 0xEC, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x41, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x8F, 0x13, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x9E, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0xC1, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xC1, 0x2B, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0x52, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x93, 0x34, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x93, 0x4E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xC1, -0xBE, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x03, 0x80, 0x1B, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0x16, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE4, 0xFF, -0x80, 0x08, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x04, 0x02, 0x94, 0x34, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0xE1, 0x67, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0x7F, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0xE1, 0x97, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0xAF, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0xE1, 0xC7, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0xDF, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x95, 0x4E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0x67, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0x80, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0x58, -0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0xA8, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, -0x95, 0xC1, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0xDA, 0x90, 0x93, 0x80, 0x12, 0x43, -0xA8, 0x02, 0x97, 0x8D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x97, 0x9F, 0x90, 0x93, 0x80, -0x12, 0x43, 0xA8, 0x02, 0x6C, 0x79, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xC2, 0x90, -0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xDB, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x98, -0x16, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x6D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, -0x02, 0x8F, 0x29, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x9A, 0x96, 0x90, 0x93, 0x80, 0x12, -0x43, 0xA8, 0x61, 0x60, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x81, 0x90, 0x01, 0xC6, -0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F, 0x0B, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0C, 0x80, -0x04, 0x7D, 0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x41, 0x12, -0x43, 0xC8, 0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0, -0xE0, 0x54, 0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD, -0x50, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x94, 0x41, 0x12, 0x43, -0xA8, 0x8E, 0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4, -0x34, 0xFD, 0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74, -0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD, -0x58, 0x74, 0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80, -0x08, 0x90, 0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, -0x83, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x86, 0xF0, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x42, 0x90, -0x07, 0x78, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x07, 0x78, -0xE0, 0x44, 0x80, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x86, 0x74, 0x01, 0xF0, 0xFB, 0x7A, 0x93, 0x79, -0x86, 0xFD, 0x7F, 0x1A, 0xD1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x30, -0xE1, 0x4F, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x06, 0xF0, -0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54, 0x3F, 0xF0, 0x90, -0x07, 0x83, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x54, 0xF9, 0xF0, 0x90, 0x93, 0x0B, -0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x80, 0x7E, 0x08, 0x12, 0x34, 0x30, -0xE4, 0x90, 0x93, 0x86, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x86, 0x7D, 0x01, 0x7F, 0x1A, 0xD1, -0x35, 0x22, 0x7D, 0x01, 0x7F, 0x0D, 0xC1, 0x35, 0x12, 0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9, -0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0xC1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x17, 0xC1, 0x35, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x18, 0xC1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x19, 0xC1, 0x35, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x1A, 0xC1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0xC1, 0x35, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x1C, 0xC1, 0x35, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, -0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFD, 0x70, 0x02, 0x21, -0x40, 0x90, 0x94, 0x4A, 0xE0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, -0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, 0x5D, 0x70, 0x02, 0x21, 0x39, 0x90, 0x94, 0x4A, -0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x79, 0xF0, 0x75, -0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22, 0x79, 0x75, 0x23, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79, -0x7A, 0x12, 0x56, 0xD0, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, -0x94, 0x4A, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0, -0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43, -0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1, -0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x04, 0x90, -0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0, -0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7F, 0xF0, 0x80, 0x33, 0xE0, 0x75, -0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4A, -0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, -0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, -0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7B, 0x12, 0x73, 0xC6, 0x90, 0x93, -0x78, 0xE0, 0xFF, 0x90, 0x94, 0x4A, 0xE0, 0xFE, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, -0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0xFF, 0x74, 0x01, -0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x94, 0x4A, -0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x01, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0, -0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x22, 0x12, -0x43, 0xC8, 0x90, 0x94, 0x25, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F, 0xC4, -0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, 0x22, 0x12, 0x43, 0xA8, 0x90, 0x94, -0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x25, 0x12, 0x57, 0x1F, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E, 0x74, -0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x29, 0x74, 0x27, 0x2F, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCC, 0xEF, 0xF0, 0x24, 0x27, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCD, 0xF0, 0x7B, 0x01, 0x7A, 0x93, -0x79, 0xCC, 0x7D, 0x02, 0x31, 0x45, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09, -0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x62, 0xF0, 0x74, 0x28, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, 0x93, 0x61, 0xF0, 0x74, 0xE8, 0x2D, -0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, -0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6, -0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4, -0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0x90, 0x93, 0x61, 0xE0, -0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x61, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, -0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, -0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, -0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, -0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x61, 0xE0, 0xFD, 0x31, -0x82, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x12, 0x90, 0x04, 0x30, 0xE0, 0x70, -0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, 0xCF, 0x04, 0xF0, 0x90, 0x93, 0x61, -0xE0, 0xFF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82, -0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27, -0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90, -0x93, 0x88, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, -0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8D, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88, -0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8E, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, -0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8F, 0xCB, 0xF0, 0xA3, 0xEB, -0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, -0xE0, 0x90, 0x93, 0x91, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34, -0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, 0x93, 0x8E, 0xE0, 0x90, 0x93, -0x8B, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xED, 0x70, 0x02, 0x81, 0x5D, 0x90, 0x93, 0x8C, 0xED, 0xF0, -0x90, 0x93, 0x88, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8B, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, -0x93, 0x8C, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x70, 0x02, 0x81, 0x5D, 0x90, 0x93, 0x8B, -0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0x81, 0x5D, 0xE4, 0x90, 0x93, 0x8A, 0xF0, 0xEF, 0x14, -0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFD, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0xD3, 0x9D, -0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, -0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x91, 0xE0, -0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0xC3, 0x94, 0x10, -0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, -0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90, -0x93, 0x89, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x8C, -0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, 0x89, 0xE0, 0x14, 0xF0, 0x80, -0x83, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93, -0x89, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x8D, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, -0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, -0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, -0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, -0x04, 0x90, 0x93, 0x88, 0xE0, 0xFD, 0x31, 0x82, 0x90, 0x93, 0x88, 0xE0, 0xFF, 0x22, 0xAD, 0x07, -0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, -0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xF9, 0x54, -0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90, -0x93, 0x8B, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, -0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8E, 0xCB, 0xF0, -0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, -0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02, -0xC1, 0x0B, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, -0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x90, 0x93, -0x8A, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xC1, 0x45, 0xEE, 0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE, -0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, -0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8C, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, -0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, -0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8E, 0xE0, 0x5E, -0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8A, 0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93, -0x8D, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x17, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0xFF, -0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8C, 0xE0, 0x30, 0xE0, 0x06, 0x90, -0x93, 0x8A, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x88, -0xF0, 0x80, 0x42, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0xA1, 0x69, 0x90, 0x93, 0x8B, 0xE0, 0xFC, -0x90, 0x93, 0x89, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, -0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4, -0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x89, 0xE0, 0x44, 0x40, 0x90, 0x93, 0x88, 0xF0, -0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, -0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, -0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, -0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, -0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, 0x89, 0xE0, 0xD3, 0x9C, 0x40, -0x5E, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, -0xEF, 0xF0, 0x90, 0x93, 0x89, 0xEF, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25, -0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, -0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, -0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, -0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74, -0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x88, -0xE0, 0x44, 0x80, 0xFD, 0x31, 0x82, 0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, 0xFF, 0x22, 0xEF, 0xC3, -0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, 0xF0, 0xFD, 0xEF, 0xC3, 0x13, -0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x0F, 0x80, 0x10, 0xEF, -0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, -0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x4D, 0xF0, 0x22, 0xE4, 0x90, -0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x03, 0x02, 0x87, 0x50, -0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, 0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90, -0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09, -0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, 0x03, 0x02, 0x87, 0x47, 0xEF, 0x25, -0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94, -0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x87, 0x47, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x20, 0x40, -0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x87, 0x50, 0x90, 0x93, 0x78, 0xE0, 0x75, 0xF0, -0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C, -0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3, -0xE0, 0x90, 0x93, 0x7D, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, -0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7F, 0xCF, 0xF0, 0xA3, 0xEF, -0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, 0x80, 0x14, 0x90, 0x93, -0x78, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, -0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, -0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x82, 0xF0, 0x74, 0x67, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x02, 0x41, 0xE5, -0x90, 0x93, 0x82, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x9F, 0x40, 0x13, 0x90, 0x93, 0x82, 0xE0, -0x90, 0x93, 0x7A, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, 0x79, 0xF0, 0xEF, 0x4E, 0xF0, 0x90, -0x93, 0x7A, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, 0x06, 0xEF, 0x90, 0x40, 0xE0, 0x80, -0x07, 0x90, 0x93, 0x7A, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, 0x93, 0x81, 0xF0, 0x90, 0x93, 0x81, -0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B, -0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7B, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, -0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD, -0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, -0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, -0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04, -0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, -0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, -0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, -0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, -0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, -0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, -0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12, -0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C, -0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F, -0xF0, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, 0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0, -0x90, 0x93, 0x7B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x02, -0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x79, 0xE0, -0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01, -0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x41, 0xB4, 0x90, 0x93, 0x78, 0xE0, 0xFF, -0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93, -0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x90, 0x93, 0x83, 0xF0, 0x90, -0x93, 0x83, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, -0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6, -0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78, -0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x60, 0x02, 0xA1, 0xF5, 0x12, -0x7C, 0xAE, 0xA1, 0xF5, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, -0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0xC3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, -0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x02, 0xA1, 0xF5, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x7D, 0x01, -0x12, 0x7A, 0xE3, 0xA1, 0xF5, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0x81, 0xC3, 0x90, 0x8A, 0x83, 0xE0, 0xFE, -0xB4, 0x03, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4, -0x02, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x11, 0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83, -0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C, -0xEE, 0x70, 0x11, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74, -0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFE, 0x24, 0xC4, -0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x85, 0x2E, 0xF5, -0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93, -0x87, 0xF0, 0x74, 0x67, 0x2F, 0x81, 0x6E, 0x90, 0x8E, 0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x81, -0x63, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64, -0x0A, 0x60, 0x5B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xEE, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74, -0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80, -0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x78, 0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4, -0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA, -0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xA7, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93, -0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42, -0x40, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93, -0x87, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, -0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91, -0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04, -0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFE, 0x90, 0x93, 0x78, 0xE0, -0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x87, 0xE0, -0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09, -0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x11, 0xE4, 0x90, 0x93, 0x87, 0xF0, -0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x87, 0xE0, -0xFD, 0xA1, 0xF2, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xA1, 0xF5, 0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0, -0x90, 0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, -0x1F, 0x3C, 0x90, 0x93, 0x85, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xC4, -0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0x90, 0x93, 0x84, -0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, -0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC, -0xF0, 0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, -0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x85, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93, -0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x84, 0xE0, 0x04, 0xF0, -0x80, 0xAF, 0x90, 0x93, 0x84, 0xE0, 0xC3, 0x13, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFF, 0xB4, 0x01, -0x0D, 0x90, 0x93, 0x84, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x87, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4, -0x03, 0x1D, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x87, 0x74, 0x03, 0xF0, 0x80, -0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x87, 0x74, 0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90, -0x93, 0x87, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, -0x87, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x87, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0, -0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0, -0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, 0x94, 0x03, -0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, 0x87, -0xE0, 0xFD, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, -0xED, 0xF0, 0x12, 0x7F, 0x0E, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, -0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, -0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, 0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E, -0x50, 0x1C, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, -0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93, -0x78, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, -0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, -0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA, -0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x78, 0xE0, 0x50, 0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, -0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24, -0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, -0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43, -0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, -0x12, 0x43, 0x1F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, -0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, -0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, -0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x02, 0x7F, 0x53, -0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3, -0xE4, 0xF0, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14, -0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, -0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90, -0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x03, 0x02, 0x89, 0x4C, -0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, -0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, -0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, -0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12, -0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74, -0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80, -0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, -0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05, -0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, -0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7, -0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82, -0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, -0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, -0x8E, 0x04, 0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0x90, 0x41, 0x5A, 0x74, -0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x78, -0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, -0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75, -0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5, -0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86, -0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12, -0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, -0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4, -0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, -0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0x74, 0x13, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x02, 0x87, 0x93, 0x22, 0x8F, 0x57, 0xEF, -0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5, -0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24, 0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, -0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82, -0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5, 0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, -0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5, 0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4, -0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12, 0x43, 0xD1, 0x89, 0xCD, 0x00, 0x89, 0xE2, 0x01, 0x89, 0xF7, -0x02, 0x8A, 0x0C, 0x03, 0x8A, 0x35, 0x04, 0x8A, 0x4A, 0x05, 0x8A, 0x5F, 0x06, 0x8A, 0x85, 0x0C, -0x8A, 0xB2, 0x0D, 0x8A, 0xDF, 0x0E, 0x8B, 0x0C, 0x0F, 0x00, 0x00, 0x8B, 0x40, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15, -0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, -0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, -0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0, -0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, -0x74, 0x8F, 0xF0, 0x61, 0x40, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74, -0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4, -0xF0, 0xA3, 0xF0, 0x61, 0x40, 0x90, 0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, -0x42, 0x53, 0x90, 0x04, 0x46, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, -0x42, 0x65, 0x90, 0x04, 0x45, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44, -0x61, 0x37, 0x90, 0x04, 0x4B, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, -0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, -0x04, 0x49, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90, -0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0, -0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA, -0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82, -0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0, -0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, -0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, -0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5, 0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03, -0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59, -0x82, 0x85, 0x58, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, -0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, -0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF, -0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, -0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x4B, 0x90, 0x93, 0x8F, 0x74, 0x0B, 0xF0, -0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x50, 0x02, 0x81, 0x85, 0x74, 0x01, 0x7E, 0x00, -0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, -0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, -0x4E, 0x60, 0x0A, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x8F, -0xE0, 0x14, 0xF0, 0x80, 0xBB, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x47, 0x90, 0x93, 0x8F, 0x74, 0x0F, 0xF0, 0x90, -0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, -0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, -0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, -0x90, 0x93, 0x8F, 0xE0, 0xA3, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x8F, 0xE0, 0x14, 0xF0, 0x80, 0xBF, -0xE4, 0x90, 0x93, 0x90, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, -0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, -0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x40, 0x02, 0xA1, 0x3E, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, -0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, -0x06, 0x90, 0x93, 0x8F, 0xE0, 0x80, 0x63, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5, -0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, -0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x0C, -0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, -0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0x80, -0x09, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0x90, 0x93, -0x90, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0, -0x90, 0x93, 0x91, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, -0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, 0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4, -0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5, -0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x91, 0xE0, 0xA3, -0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, 0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, -0xE0, 0xFF, 0x90, 0x93, 0x90, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x92, 0xEE, -0xF0, 0x80, 0x17, 0x90, 0x93, 0x91, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0, -0x80, 0x08, 0x90, 0x93, 0x90, 0xE0, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFD, 0xAF, -0x57, 0x12, 0x79, 0x82, 0x90, 0x93, 0x92, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4, -0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07, -0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83, -0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0, -0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0, 0x22, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54, -0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40, -0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x75, 0xF0, -0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC, 0x83, 0x90, 0x93, 0x8A, 0xEC, 0xF0, -0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA, -0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, -0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90, -0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12, -0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, -0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82, -0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C, 0x83, 0xA3, 0xF0, 0x90, 0x93, 0x88, -0xE0, 0xFE, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x24, 0xC2, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, -0xEE, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43, -0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, -0x90, 0x93, 0x89, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE, -0xF0, 0x21, 0x4D, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20, -0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0xC1, 0x17, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, -0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0xC1, -0x17, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4, -0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x12, 0x1E, 0xF6, -0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x92, 0xE0, 0x54, -0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xA8, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x92, 0x02, 0x57, 0x1F, 0x90, 0x00, -0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, 0x94, 0x40, -0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, 0xE0, 0x24, -0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x83, 0xF0, -0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, -0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x85, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x74, 0xFF, -0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, -0xE0, 0x90, 0x93, 0x89, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, -0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, -0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, -0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x02, 0x8F, 0x75, 0xE4, -0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xF5, 0x62, -0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x90, 0x00, -0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, -0x3C, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0x90, 0x93, 0x3D, 0xF0, 0xEF, -0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13, -0x13, 0x54, 0x01, 0x90, 0x93, 0x44, 0xF0, 0xEF, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x4A, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01, 0x90, 0x93, 0x46, 0xF0, 0xEF, -0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, -0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x49, 0xF0, 0xE0, 0x70, 0x38, 0x90, 0x93, 0x47, 0xE0, 0x70, -0x10, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80, -0x0F, 0x7F, 0x01, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, -0x90, 0x93, 0x86, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, -0x12, 0x34, 0x30, 0x90, 0x93, 0x3D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x12, 0x4D, 0xB2, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92, -0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90, -0x93, 0x48, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x4B, 0xF0, 0xEF, 0xC3, 0x13, -0x54, 0x7F, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x50, 0xF0, -0x22, 0x90, 0x93, 0x48, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x45, -0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19, -0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, -0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x4F, 0x74, 0x05, 0xF0, 0x90, -0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, 0x90, 0x05, -0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4C, 0xF0, 0x60, 0x20, 0x90, 0x93, 0x15, 0xE0, -0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, -0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x12, 0x51, 0x5A, 0x90, 0x93, 0x4C, 0xE0, -0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54, -0x80, 0xFE, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0, 0x54, -0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x8F, 0x4F, -0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, -0x0F, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3A, 0xF0, 0x90, -0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3, 0x94, -0x20, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40, 0x50, -0x08, 0x90, 0x93, 0x37, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08, 0x90, -0x93, 0x37, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x93, 0x37, -0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x05, -0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x06, 0xF0, 0x80, -0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x37, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03, 0x74, -0x08, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x90, 0x93, 0x3B, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60, 0x0B, -0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x02, 0x09, 0xE0, -0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93, 0xA8, 0xF0, 0x90, 0x00, 0x01, -0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xA9, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, -0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAA, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, -0x90, 0x93, 0xAB, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F, 0x90, -0x93, 0xAC, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x0E, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFD, -0xF0, 0x90, 0x93, 0x11, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0x22, 0x90, 0x93, -0x83, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x0C, 0xF0, -0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x7A, 0x90, 0x93, 0x86, 0x74, -0x01, 0xF0, 0xFB, 0x7A, 0x93, 0x79, 0x86, 0xFD, 0x7F, 0x14, 0x12, 0x76, 0x35, 0x90, 0x93, 0x04, -0xE0, 0x44, 0x08, 0xF0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x30, 0xE1, -0x10, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFD, 0xF0, 0x80, -0x07, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0x30, 0xE2, 0x1E, 0x90, 0x93, 0x04, 0xE0, -0x44, 0x04, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xEF, -0xF0, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x10, -0xF0, 0x12, 0x1E, 0xF6, 0x30, 0xE4, 0x5C, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x04, -0x26, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x86, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, -0x86, 0x7D, 0x01, 0x7F, 0x14, 0x12, 0x76, 0x35, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, -0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54, -0xE3, 0xF0, 0x90, 0x07, 0x83, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x54, 0x3F, 0xF0, -0x90, 0x93, 0x0B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x80, 0x7E, 0x08, -0x12, 0x34, 0x30, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, 0x00, 0x40, -0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, 0xF0, 0x80, -0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, 0x1E, 0xF6, -0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x00, 0x02, -0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC2, -0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x54, -0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, -0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, 0xF0, 0x90, -0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x01, 0xF0, -0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06, -0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, 0x03, 0x11, -0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xCB, -0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, 0xE0, 0x06, -0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, 0x90, 0x07, -0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, -0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0x92, 0x6C, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, 0xF0, 0x90, 0x93, 0x83, -0x12, 0x43, 0xA8, 0x12, 0x76, 0x31, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, 0x90, 0x93, -0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, -0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x76, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, -0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1E, 0x02, 0x76, 0x35, -0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9, -0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, 0x93, 0x0B, 0x12, 0x43, 0x84, 0xEC, 0x54, 0x03, 0xFC, 0x12, -0x43, 0x59, 0x90, 0x93, 0x07, 0x02, 0x1F, 0xC9, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1F, 0x02, 0x76, -0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, -0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x20, 0x02, 0x76, 0x35, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, -0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, 0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90, -0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, -0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0, -0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, 0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03, -0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, 0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50, -0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD, -0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, -0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xEE, 0xF9, -0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10, -0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, 0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED, -0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, 0x05, 0xD1, 0xE1, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10, -0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, 0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90, -0x93, 0x83, 0xE0, 0xFB, 0xC3, 0xEF, 0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF, -0x05, 0xD1, 0xE1, 0x0D, 0x80, 0xE3, 0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD, -0x7F, 0x81, 0x12, 0x53, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1, -0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, -0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, -0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4, -0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03, -0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08, -0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF, -0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, -0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, -0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34, -0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6, -0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0x90, -0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, -0xA8, 0x7D, 0x01, 0x7F, 0x23, 0x12, 0x76, 0x35, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9C, -0x4C, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, -0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x24, 0x02, 0x76, 0x35, 0x12, 0x1E, 0xF6, 0xFF, 0x54, -0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, -0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFB, -0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, -0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, -0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, 0x76, 0x35, 0x12, -0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, -0x8A, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD, 0x50, -0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x8E, 0x82, -0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, -0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, -0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xAE, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, -0xAF, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x46, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0, -0x60, 0x43, 0xC3, 0x90, 0x94, 0x47, 0xE0, 0x94, 0x88, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x13, 0x40, -0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x46, 0xE4, 0x75, -0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x47, -0xE0, 0x94, 0x64, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30, -0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, 0x22, 0x90, 0x93, 0xE2, 0x12, 0x1F, 0xC9, 0x90, 0x93, -0xE6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93, -0xE6, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, 0x73, 0x50, 0x41, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, -0xA9, 0x07, 0x90, 0x93, 0xE2, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01, -0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B, -0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, -0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xE6, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE6, 0x02, 0x43, -0x84, 0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xB8, -0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, 0x90, 0x93, 0xB4, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12, -0x2C, 0x6E, 0x90, 0x93, 0xC0, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x11, 0xE8, -0x90, 0x93, 0xC4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90, -0x93, 0xC0, 0x12, 0x43, 0x90, 0x12, 0x43, 0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, -0x90, 0x93, 0xC4, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, 0xA8, 0x01, -0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93, -0xC8, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, -0xC8, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, -0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF, -0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x4C, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF, -0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46, -0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x38, 0x90, 0x94, 0x4C, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, -0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0, -0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, -0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, 0x94, 0x4C, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01, -0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F, -0xF0, 0x12, 0x54, 0x38, 0x90, 0x94, 0x4C, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08, -0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4, -0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8, -0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x54, -0x01, 0xFF, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x44, -0xFE, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90, -0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x94, 0x3F, 0xF0, 0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, -0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, -0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x93, 0x0B, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30, -0x70, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, 0x43, 0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02, -0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78, -0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0x71, 0x2D, -0x90, 0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F, 0x02, 0x02, 0x3A, 0xAD, 0x90, 0x93, 0x15, -0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0, 0xE4, 0x90, 0x93, 0x26, -0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, -0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, -0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF, -0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0xE0, 0x54, -0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, 0x28, 0x74, 0x02, 0xF0, -0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, -0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93, -0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFD, -0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, -0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x22, -0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6E, -0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x70, -0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x72, -0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6C, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F, 0x44, 0x50, -0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73, -0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, -0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57, 0x1F, 0xAD, 0x07, 0x90, 0x93, -0xFA, 0xE0, 0x54, 0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, -0xFC, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0xFD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, -0xFE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x94, -0x00, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x94, 0x01, 0xF0, 0xED, 0xB4, 0x02, 0x0B, 0x90, 0x93, -0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, 0x0B, 0x90, 0x93, 0xFA, -0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, 0x90, 0x93, 0xFA, 0xE0, -0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90, 0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, 0x93, 0xFC, 0x74, 0x01, -0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0xFC, 0xF0, 0xE4, 0x90, 0x93, 0xFD, 0xF0, 0xA3, 0xF0, 0xA3, -0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xFC, 0x90, 0x94, 0x19, 0x12, 0x43, -0xC8, 0x7A, 0x93, 0x79, 0xFA, 0x02, 0x57, 0x1F, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, -0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, -0x63, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, -0x65, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD, -0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0x0F, -0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90, -0x93, 0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x02, 0xF0, 0x90, 0x93, -0x6C, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, -0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x12, 0x57, 0x1F, 0x22, 0x90, 0x93, 0x47, 0xE0, -0x60, 0x27, 0x90, 0x93, 0x4A, 0xE0, 0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, -0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, -0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, -0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0xE1, 0x26, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x01, 0x70, 0x2B, -0x90, 0x06, 0x92, 0xE0, 0x30, 0xE2, 0x19, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0, -0x90, 0x93, 0x1E, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xE1, 0x11, -0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, -0x04, 0x70, 0x2C, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE2, 0x19, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29, -0xE0, 0x04, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, -0x02, 0xE1, 0x11, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x22, 0x90, -0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, 0xC1, 0xD5, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F, -0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x4E, 0xE1, 0x23, 0x90, -0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, -0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x02, 0xC1, 0xE4, 0x90, 0x93, 0x2A, -0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, -0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, -0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, 0x40, 0x02, 0xE1, 0x23, 0x74, 0x02, 0xF0, 0x22, 0x90, -0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x18, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0, -0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, -0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, -0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, -0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58, 0x90, 0x07, -0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90, 0x93, 0x2A, -0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, 0x80, 0x3A, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, -0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x27, 0x80, 0x23, -0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x18, 0x90, 0x93, 0x2A, 0xE0, 0x04, -0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, -0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x15, 0xE0, -0x20, 0xE0, 0x02, 0xE1, 0xC3, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, -0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, -0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0, -0xE4, 0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, -0x5D, 0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, -0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, -0xF0, 0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x05, 0x22, -0x74, 0x6F, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, -0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03, -0x12, 0x51, 0x39, 0x22, 0x01, 0xF5, -}; -u4Byte ArrayLength_8723A_rtl8723fw_B = 24550; - - -void -ODM_ReadFirmware_8723A_rtl8723fw_B( - IN PDM_ODM_T pDM_Odm, - OUT u1Byte *pFirmware, - OUT u4Byte *pFirmwareSize -) -{ - ODM_MoveMemory(pDM_Odm, pFirmware, Array_8723A_rtl8723fw_B, ArrayLength_8723A_rtl8723fw_B); - *pFirmwareSize = ArrayLength_8723A_rtl8723fw_B; -} - - - -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#include "Mp_Precomp.h"
+#include "../odm_precomp.h"
+
+#if (RTL8723A_SUPPORT == 1)
+u1Byte Array_8723A_rtl8723fw[] = {
+
+};
+u4Byte ArrayLength_8723A_rtl8723fw = 0;
+
+
+void
+ODM_ReadFirmware_8723A_rtl8723fw(
+ IN PDM_ODM_T pDM_Odm,
+ OUT u1Byte *pFirmware,
+ OUT u4Byte *pFirmwareSize
+)
+{
+ ODM_MoveMemory(pDM_Odm, pFirmware, Array_8723A_rtl8723fw, ArrayLength_8723A_rtl8723fw);
+ *pFirmwareSize = ArrayLength_8723A_rtl8723fw;
+}
+
+
+u1Byte Array_8723A_rtl8723fw_B[] = {
+0x02, 0x23, 0x02, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x14, 0x15, 0x51, 0xC6, 0x5F, 0x01, 0x00,
+0x03, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x4A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x61, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x66, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x67, 0xC2, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x6F, 0x8F, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x06, 0x05, 0x04, 0x03,
+0x00, 0x04, 0x06, 0x05, 0x04, 0x02, 0x00, 0x04, 0x08, 0x07, 0x06, 0x04, 0x00, 0x06, 0x0A, 0x09,
+0x08, 0x06, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x04, 0x00, 0x08, 0x0A, 0x09, 0x08, 0x02, 0x00, 0x08,
+0x0A, 0x09, 0x08, 0x00, 0x00, 0x08, 0x12, 0x11, 0x10, 0x08, 0x00, 0x10, 0x1A, 0x19, 0x18, 0x10,
+0x00, 0x18, 0x22, 0x21, 0x20, 0x18, 0x00, 0x20, 0x22, 0x21, 0x20, 0x10, 0x00, 0x20, 0x22, 0x21,
+0x20, 0x08, 0x00, 0x20, 0x22, 0x21, 0x1C, 0x08, 0x00, 0x20, 0x22, 0x21, 0x14, 0x08, 0x00, 0x20,
+0x22, 0x20, 0x18, 0x08, 0x00, 0x20, 0x31, 0x30, 0x20, 0x10, 0x00, 0x30, 0x31, 0x30, 0x18, 0x00,
+0x00, 0x30, 0x31, 0x2F, 0x10, 0x10, 0x00, 0x30, 0x31, 0x2C, 0x10, 0x10, 0x00, 0x30, 0x31, 0x28,
+0x10, 0x00, 0x00, 0x30, 0x31, 0x20, 0x10, 0x00, 0x00, 0x30, 0x31, 0x10, 0x10, 0x00, 0x00, 0x30,
+0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x05, 0x07, 0x07, 0x07, 0x08, 0x0A, 0x04, 0x04, 0x04, 0x04,
+0x06, 0x0A, 0x0B, 0x0D, 0x05, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x0F, 0x04, 0x04, 0x04, 0x05,
+0x07, 0x07, 0x09, 0x09, 0x0C, 0x0E, 0x10, 0x12, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x11, 0x13,
+0x09, 0x09, 0x09, 0x09, 0x0C, 0x0E, 0x11, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x26, 0x2A, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x27, 0x29, 0x2A, 0x00, 0x00, 0x00, 0x1F,
+0x23, 0x28, 0x2A, 0x2C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x24,
+0x00, 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x90, 0x00, 0xC0, 0x00, 0xD8, 0x00, 0x50, 0x00, 0x78,
+0x00, 0xA0, 0x00, 0xC8, 0x01, 0x40, 0x01, 0x90, 0x01, 0xE0, 0x02, 0x30, 0x01, 0x2C, 0x01, 0x40,
+0x01, 0xE0, 0x02, 0xD0, 0x03, 0xE8, 0x04, 0xB0, 0x06, 0x40, 0x07, 0xD0, 0x00, 0x02, 0x00, 0x02,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x48,
+0x00, 0x60, 0x00, 0x6C, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x50, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xC8,
+0x00, 0xF0, 0x01, 0x18, 0x00, 0x64, 0x00, 0xA0, 0x00, 0xF0, 0x01, 0x68, 0x01, 0xF4, 0x02, 0x58,
+0x03, 0x20, 0x03, 0xE8, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x07,
+0x02, 0x03, 0x04, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x05, 0x07, 0x07, 0x08, 0x0B, 0x12, 0x24, 0x3C,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04,
+0x05, 0x06, 0x07, 0x08, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x20, 0x1E, 0x1C, 0x18,
+0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xBB, 0x01, 0x0F, 0xF8, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x28,
+0xF0, 0x22, 0x50, 0x09, 0xC5, 0x82, 0x29, 0xF8, 0xE5, 0x82, 0x26, 0xF6, 0x22, 0xBB, 0xFE, 0x09,
+0xC5, 0x82, 0x29, 0xF8, 0xE2, 0x25, 0x82, 0xF2, 0x22, 0xF8, 0xEA, 0x25, 0x83, 0xF5, 0x83, 0xE9,
+0x93, 0x28, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22,
+0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83,
+0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE,
+0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0x22, 0xC5, 0xF0, 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0,
+0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A,
+0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7,
+0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83,
+0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82,
+0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82,
+0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0,
+0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22,
+0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7,
+0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8,
+0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5,
+0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB,
+0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, 0x08, 0xF2, 0x22, 0xEF, 0x5B, 0xFF, 0xEE,
+0x5A, 0xFE, 0xED, 0x59, 0xFD, 0xEC, 0x58, 0xFC, 0x22, 0xEF, 0x4B, 0xFF, 0xEE, 0x4A, 0xFE, 0xED,
+0x49, 0xFD, 0xEC, 0x48, 0xFC, 0x22, 0xCF, 0xF4, 0xCF, 0xCE, 0xF4, 0xCE, 0xCD, 0xF4, 0xCD, 0xCC,
+0xF4, 0xCC, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8,
+0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22,
+0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xA4, 0x25, 0x82, 0xF5,
+0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9,
+0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70,
+0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0,
+0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3,
+0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68,
+0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12,
+0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83,
+0xE4, 0x73, 0x74, 0x02, 0x93, 0xB5, 0xF0, 0x06, 0x74, 0x03, 0x93, 0x68, 0x60, 0xE9, 0xA3, 0xA3,
+0xA3, 0xA3, 0x80, 0xD8, 0xE4, 0xFB, 0x90, 0x93, 0x63, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00,
+0xE5, 0x65, 0x70, 0x03, 0x02, 0x44, 0xF0, 0xE5, 0x62, 0x64, 0x01, 0x60, 0x03, 0x02, 0x44, 0xF0,
+0x0B, 0x90, 0x93, 0x40, 0xF0, 0x04, 0x70, 0x03, 0x02, 0x44, 0xF0, 0x43, 0x66, 0x10, 0x90, 0x93,
+0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x3A, 0xE0, 0x54, 0x0F, 0xFF, 0x90,
+0x93, 0x58, 0xE0, 0xD3, 0x9F, 0x50, 0x0D, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0xF5, 0x49,
+0xE4, 0x1B, 0x80, 0x56, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x93,
+0x58, 0xE0, 0xC3, 0x9F, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x37, 0xE0, 0x04, 0x2F, 0xF5,
+0x49, 0xE4, 0xFB, 0x80, 0x35, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x13,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0xF5, 0x49, 0xE4,
+0xFB, 0x80, 0x17, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF,
+0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50,
+0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x12, 0x9D, 0x6C, 0x90, 0x05, 0x22, 0xE4, 0xF0,
+0x22, 0xE4, 0x90, 0x93, 0x5A, 0xF0, 0x90, 0x93, 0x41, 0xF0, 0xF5, 0x66, 0x22, 0x22, 0xE4, 0xFF,
+0x02, 0x4E, 0x18, 0x02, 0x45, 0x03, 0x02, 0x45, 0x06, 0xE4, 0xFB, 0x90, 0x93, 0x5D, 0x12, 0x1F,
+0xD5, 0x00, 0x00, 0x00, 0x00, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x46, 0x71, 0xE5, 0x62, 0x64, 0x01,
+0x60, 0x03, 0x02, 0x46, 0x71, 0xE5, 0x65, 0x14, 0x60, 0x2B, 0x24, 0xFD, 0x60, 0x27, 0x24, 0x02,
+0x24, 0xFB, 0x50, 0x02, 0x80, 0x21, 0x90, 0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE0, 0x60, 0x04, 0xA3,
+0xE0, 0x60, 0x14, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x08, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40,
+0xF0, 0x7B, 0x01, 0x80, 0x02, 0x7B, 0x01, 0xEB, 0x70, 0x03, 0x02, 0x46, 0x71, 0x43, 0x66, 0x10,
+0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x44, 0xE0, 0x54, 0x0F,
+0xFF, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0x50, 0x08, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0x80,
+0x2D, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07, 0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33,
+0xFE, 0x90, 0x93, 0x58, 0xE0, 0xC3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08,
+0xE4, 0xF5, 0x48, 0x90, 0x93, 0x3A, 0x80, 0x06, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x37, 0xE0, 0x80,
+0x2D, 0x90, 0x93, 0x58, 0xE0, 0x64, 0x01, 0x60, 0x03, 0xE0, 0x70, 0x0F, 0xE4, 0xF5, 0x48, 0x90,
+0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x2F, 0x80, 0x13, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x58, 0xE0, 0x14, 0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x4F, 0xE0, 0x04, 0x2F, 0xF5, 0x49,
+0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0,
+0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04, 0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x62,
+0xE5, 0x63, 0x64, 0x0C, 0x60, 0x68, 0x90, 0x93, 0x13, 0xE0, 0xFF, 0x90, 0x93, 0x58, 0xE0, 0xD3,
+0x9F, 0x40, 0x06, 0x90, 0x93, 0x14, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x58, 0xE0, 0x90, 0x93, 0x13,
+0xF0, 0xA3, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x46, 0xE4, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09,
+0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x70,
+0x21, 0x12, 0x4A, 0x5E, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD,
+0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x55,
+0x80, 0x09, 0x43, 0x66, 0x01, 0x12, 0x51, 0x39, 0x90, 0x93, 0x51, 0x74, 0x01, 0xF0, 0x12, 0x9D,
+0x6C, 0x22, 0xE4, 0x90, 0x93, 0x63, 0xF0, 0xE5, 0x65, 0x70, 0x03, 0x02, 0x47, 0x2B, 0x90, 0x93,
+0x5A, 0xE0, 0x60, 0x11, 0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x60, 0x03, 0x02,
+0x47, 0x2B, 0x02, 0x47, 0x28, 0x90, 0x93, 0x41, 0xE0, 0x04, 0xF0, 0x53, 0x66, 0xEF, 0x90, 0x93,
+0x58, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x3A, 0x90, 0x93, 0x58, 0xE0, 0xFF, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x0F, 0xB5, 0x07, 0x0A, 0x90,
+0x93, 0x39, 0xE0, 0x90, 0x05, 0x58, 0xF0, 0x80, 0x22, 0x90, 0x93, 0x36, 0xE0, 0xC4, 0x54, 0x07,
+0xFF, 0xE0, 0x54, 0x0F, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x58, 0xE0, 0xB5, 0x07, 0x0B,
+0xE4, 0xB5, 0x06, 0x07, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0xC4,
+0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x06, 0x90, 0x93, 0x63, 0x74, 0x5A, 0xF0, 0x90, 0x93,
+0x63, 0xE0, 0xFF, 0x90, 0x93, 0x48, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x93, 0x41, 0xE0,
+0xD3, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x0D, 0xE5, 0x62, 0xB4, 0x01, 0x0B,
+0xA3, 0xE0, 0x70, 0x07, 0xE0, 0x04, 0xF0, 0x22, 0x12, 0x52, 0x08, 0x22, 0xE4, 0xF5, 0x66, 0xF5,
+0x65, 0x75, 0x64, 0x0C, 0x75, 0x63, 0x0C, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x90,
+0x93, 0x52, 0xF0, 0x90, 0x93, 0x57, 0x04, 0xF0, 0x90, 0x93, 0x40, 0xF0, 0xE4, 0x90, 0x93, 0x5A,
+0xF0, 0x90, 0x93, 0x42, 0xF0, 0x90, 0x93, 0x4F, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0,
+0x90, 0x93, 0x4D, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x48, 0xF0, 0x90, 0x93, 0x4B, 0x74,
+0x05, 0xF0, 0x90, 0x93, 0x45, 0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0xE4, 0x90,
+0x93, 0x43, 0xF0, 0x90, 0x93, 0x3C, 0xF0, 0x90, 0x93, 0xB2, 0xF0, 0x90, 0x93, 0x4C, 0xF0, 0x90,
+0x93, 0x5C, 0xF0, 0x90, 0x93, 0x58, 0xF0, 0x90, 0x93, 0x3D, 0xF0, 0x90, 0x93, 0x56, 0xF0, 0x90,
+0x93, 0x47, 0xF0, 0x90, 0x93, 0x44, 0xF0, 0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x4A, 0xF0, 0x90,
+0x93, 0x46, 0xF0, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x93, 0x49, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0xB4,
+0x02, 0x05, 0x90, 0x00, 0x93, 0xE4, 0xF0, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x54,
+0xF0, 0xF0, 0xE0, 0x54, 0x8F, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x3A, 0xF0, 0x90,
+0x93, 0x39, 0xF0, 0x22, 0xEF, 0x60, 0x5F, 0xAF, 0x05, 0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03,
+0x30, 0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x40,
+0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6B, 0x90, 0x93, 0x2B, 0xE0,
+0xC3, 0x94, 0x20, 0x50, 0x13, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74, 0x23, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x22, 0x74, 0x23, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0x74, 0x7F, 0xF0, 0x22, 0xAF, 0x05, 0x74, 0x21, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC,
+0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30,
+0xE0, 0x0E, 0x74, 0x0F, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xBF, 0xF0,
+0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0C, 0x74, 0x23, 0x2D, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x22, 0x90,
+0x93, 0x26, 0xE0, 0x60, 0x09, 0x90, 0x01, 0xB9, 0x74, 0x40, 0xF0, 0x02, 0x49, 0x22, 0xE5, 0x64,
+0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x02, 0x80, 0x2F, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x67, 0x80,
+0x5D, 0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80,
+0x61, 0xE5, 0x66, 0x54, 0x03, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x53, 0xE5,
+0x64, 0x54, 0x0F, 0xD3, 0x94, 0x02, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x42,
+0xE5, 0x66, 0x30, 0xE2, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x35, 0xE5, 0x66, 0x30,
+0xE4, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x28, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x08,
+0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x1A, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x08, 0x90, 0x01,
+0xB9, 0x74, 0x80, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F,
+0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0,
+0x90, 0x06, 0xA9, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0xE0, 0x54, 0xC0, 0x70, 0x18, 0x90, 0x93, 0x51,
+0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0x53, 0x66, 0xFD, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x14,
+0x12, 0x52, 0x08, 0x80, 0x0F, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70,
+0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x5D, 0xE0, 0x30, 0xE6, 0x1B, 0x43, 0x66, 0x01, 0x90, 0x93,
+0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x13, 0x12, 0x51, 0x39, 0x80,
+0x0E, 0x12, 0x50, 0x68, 0x80, 0x09, 0x90, 0x93, 0x51, 0xE0, 0x70, 0x03, 0x53, 0x66, 0xFE, 0xE4,
+0x90, 0x93, 0x51, 0xF0, 0x90, 0x93, 0x5D, 0xE0, 0x30, 0xE7, 0x2A, 0x43, 0x66, 0x02, 0xE4, 0xF5,
+0x48, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x5A, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x1A,
+0xE0, 0x44, 0x10, 0xF0, 0x22, 0x53, 0x66, 0xFD, 0x22, 0x8E, 0x25, 0x8F, 0x26, 0xAD, 0x26, 0xAC,
+0x25, 0xAF, 0x24, 0x12, 0x47, 0xE4, 0xAF, 0x26, 0xAE, 0x25, 0x90, 0x04, 0x80, 0xE0, 0x54, 0x0F,
+0xFD, 0xAC, 0x07, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x01,
+0xF0, 0x74, 0x11, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xFB, 0xF0, 0xAC,
+0x07, 0x74, 0x16, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0xFA, 0xF0, 0x74,
+0x15, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x1F, 0xF0, 0xAC, 0x07, 0x74,
+0x06, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x0F, 0xF0, 0x90, 0x04, 0x53,
+0xE4, 0xF0, 0x90, 0x04, 0x52, 0xF0, 0x90, 0x04, 0x51, 0x74, 0xFF, 0xF0, 0x90, 0x04, 0x50, 0x74,
+0xFD, 0xF0, 0x74, 0x14, 0x2C, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xC0, 0x4D,
+0xFD, 0x74, 0x14, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xED, 0xF0, 0x22, 0x7D, 0x01,
+0x7F, 0x0C, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x68, 0x8D, 0x69, 0xE5, 0x68, 0x54,
+0x0F, 0xFF, 0xE5, 0x63, 0x54, 0x0F, 0x6F, 0x60, 0x72, 0xE5, 0x68, 0x30, 0xE2, 0x30, 0xE5, 0x63,
+0x20, 0xE2, 0x05, 0x7F, 0x01, 0x12, 0x51, 0x92, 0xE5, 0x63, 0x30, 0xE3, 0x10, 0xE5, 0x68, 0x20,
+0xE3, 0x0B, 0x12, 0x4D, 0x46, 0xEF, 0x60, 0x53, 0x12, 0x51, 0xC5, 0x80, 0x4E, 0xE5, 0x63, 0x20,
+0xE3, 0x49, 0xE5, 0x68, 0x30, 0xE3, 0x44, 0xAF, 0x69, 0x12, 0x51, 0x77, 0x80, 0x3D, 0xE5, 0x63,
+0x54, 0x0F, 0xFF, 0xBF, 0x0C, 0x0E, 0xE5, 0x68, 0x20, 0xE3, 0x09, 0x12, 0x4D, 0x46, 0xEF, 0x60,
+0x2A, 0x12, 0x51, 0xC5, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF, 0x04, 0x0E, 0xE5, 0x68, 0x20, 0xE2,
+0x09, 0x12, 0x48, 0x88, 0xEF, 0x60, 0x14, 0x12, 0x51, 0x10, 0xE5, 0x63, 0x54, 0x0F, 0xFF, 0xBF,
+0x02, 0x09, 0x12, 0x4B, 0xF0, 0xEF, 0x60, 0x03, 0x12, 0x51, 0xF5, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0x02, 0x4B, 0x2E, 0x02, 0x52, 0xE5, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6,
+0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C,
+0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01,
+0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x4F,
+0x66, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F,
+0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8,
+0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA,
+0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE,
+0xE7, 0x80, 0xBE, 0xEF, 0x64, 0x01, 0x70, 0x3E, 0x7D, 0x78, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D,
+0x02, 0x7F, 0x03, 0x12, 0x3A, 0x22, 0x90, 0x01, 0x36, 0x74, 0x03, 0xF0, 0xFD, 0x7F, 0x02, 0x12,
+0x3A, 0x93, 0x7D, 0x10, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01,
+0x3C, 0x74, 0x02, 0xF0, 0x12, 0x4A, 0x5E, 0x90, 0x06, 0x04, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x06,
+0x0A, 0xE0, 0x54, 0xF8, 0xF0, 0x22, 0x90, 0x01, 0x36, 0x74, 0x7B, 0xF0, 0xA3, 0x74, 0x02, 0xF0,
+0x7D, 0x7B, 0xFF, 0x12, 0x3A, 0x93, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x7D, 0x10, 0x7F,
+0x03, 0x12, 0x3A, 0x3F, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x06, 0x0A, 0xE0, 0x44,
+0x07, 0xF0, 0x12, 0x4F, 0x19, 0xE5, 0x62, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x93, 0x42, 0xF0, 0x22,
+0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x10, 0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90,
+0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x54, 0xE5, 0x14, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01,
+0xF0, 0x80, 0x48, 0xE5, 0x64, 0x54, 0x0F, 0xD3, 0x94, 0x01, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74,
+0x02, 0xF0, 0x80, 0x37, 0x90, 0x02, 0x87, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0,
+0x80, 0x29, 0x90, 0x02, 0x86, 0xE0, 0x20, 0xE1, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80,
+0x1A, 0x90, 0x93, 0x43, 0xE0, 0x70, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x10, 0xF0, 0x80, 0x0C, 0x90,
+0x01, 0xB9, 0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x02,
+0xF0, 0x7F, 0x00, 0x22, 0xE5, 0x62, 0x64, 0x01, 0x70, 0x6B, 0xE5, 0x65, 0x60, 0x67, 0xE5, 0x65,
+0x64, 0x02, 0x60, 0x06, 0xE5, 0x65, 0x64, 0x05, 0x70, 0x27, 0x90, 0x06, 0xAB, 0xE0, 0x90, 0x93,
+0x40, 0xF0, 0x90, 0x06, 0xAA, 0xE0, 0x90, 0x93, 0x57, 0xF0, 0x90, 0x93, 0x40, 0xE0, 0x70, 0x07,
+0x90, 0x93, 0x57, 0xE0, 0xFF, 0x80, 0x05, 0x90, 0x93, 0x40, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xEF,
+0xF0, 0x90, 0x93, 0x42, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xE4, 0x90, 0x93, 0x41, 0xF0, 0x90, 0x93,
+0x58, 0xF0, 0x90, 0x05, 0x58, 0x74, 0x03, 0xF0, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C,
+0x74, 0x02, 0xF0, 0x53, 0x66, 0xFD, 0x53, 0x66, 0xEF, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02,
+0x80, 0x03, 0x12, 0x49, 0x2B, 0x22, 0x90, 0x93, 0xB1, 0xE0, 0xB4, 0x01, 0x04, 0x7D, 0x91, 0x80,
+0x0C, 0x90, 0x93, 0xB1, 0xE0, 0x70, 0x04, 0x7D, 0xD4, 0x80, 0x02, 0x7D, 0x40, 0x7F, 0x93, 0x12,
+0x53, 0xF0, 0x90, 0x00, 0x29, 0xE0, 0x54, 0x3F, 0xFD, 0x7F, 0x29, 0x12, 0x53, 0xF0, 0x90, 0x00,
+0x28, 0xE0, 0x54, 0xFC, 0xFD, 0x7F, 0x28, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x08, 0xE0, 0x44, 0x10,
+0xFD, 0x7F, 0x08, 0x12, 0x53, 0xF0, 0x7F, 0x01, 0x12, 0x4E, 0x72, 0x90, 0x00, 0x00, 0xE0, 0x44,
+0x20, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x20, 0xE0, 0x54, 0xFE, 0xFD, 0x7F, 0x20,
+0x12, 0x53, 0xF0, 0x90, 0x00, 0x90, 0xE0, 0x44, 0x01, 0xFD, 0x7F, 0x90, 0x12, 0x53, 0xF0, 0x7F,
+0x14, 0x7E, 0x00, 0x02, 0x3B, 0x09, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0, 0x13, 0x90, 0x93, 0x1A,
+0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x18, 0x90, 0x01, 0xB9, 0x74, 0x20, 0xF0, 0x80, 0x49,
+0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x01, 0xF0, 0x80, 0x39,
+0x90, 0x93, 0x55, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x02, 0xF0, 0x80, 0x2B, 0x90, 0x93,
+0x52, 0xE0, 0x60, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x04, 0xF0, 0x80, 0x1D, 0xE5, 0x64, 0x54, 0x0F,
+0xD3, 0x94, 0x04, 0x40, 0x08, 0x90, 0x01, 0xB9, 0x74, 0x08, 0xF0, 0x80, 0x0C, 0x90, 0x01, 0xB9,
+0xE4, 0xF0, 0x90, 0x01, 0xB8, 0xF0, 0x7F, 0x01, 0x22, 0x90, 0x01, 0xB8, 0x74, 0x08, 0xF0, 0x7F,
+0x00, 0x22, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xC8, 0x12, 0x44, 0xF1, 0x90, 0x93, 0x8A, 0x12, 0x43,
+0xA8, 0x12, 0x1E, 0xF6, 0xF5, 0x65, 0x14, 0x60, 0x0E, 0x14, 0x60, 0x1F, 0x14, 0x60, 0x31, 0x24,
+0x03, 0x70, 0x44, 0x7F, 0x01, 0x80, 0x3D, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0xFD, 0xE4, 0xFF, 0x12, 0x50, 0x2A, 0x80, 0x29, 0x90, 0x93, 0x8A, 0x12, 0x43,
+0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x01, 0x12, 0x50, 0x2A, 0x1F, 0x80, 0x14,
+0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x7F, 0x02, 0x12,
+0x50, 0x2A, 0xE4, 0xFF, 0x12, 0x4B, 0x73, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F,
+0x24, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9,
+0x90, 0x04, 0x1D, 0xE0, 0x60, 0x24, 0x90, 0x05, 0x22, 0xE0, 0xF5, 0x27, 0x74, 0xFF, 0xF0, 0x12,
+0x5A, 0x0E, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D, 0x01, 0x12, 0x58, 0x90, 0x12,
+0x49, 0xC9, 0x90, 0x05, 0x22, 0xE5, 0x27, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0xAA, 0xE0, 0xFF, 0x7D,
+0x01, 0x12, 0x58, 0x90, 0x12, 0x49, 0xC9, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x8F, 0x6C, 0xE4, 0x90, 0x94, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x09, 0xE0, 0x7F,
+0x00, 0x30, 0xE7, 0x02, 0x7F, 0x01, 0xEF, 0x65, 0x6C, 0x60, 0x3E, 0xC3, 0x90, 0x94, 0x45, 0xE0,
+0x94, 0x88, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80,
+0xF0, 0x22, 0x90, 0x94, 0x44, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00,
+0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x45, 0xE0, 0x94, 0x32, 0x90, 0x94, 0x44, 0xE0, 0x94, 0x00,
+0x40, 0xB9, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE0, 0xB2, 0x22, 0x90, 0x00, 0x20, 0xE0, 0x44, 0x01,
+0xFD, 0x7F, 0x20, 0x12, 0x53, 0xF0, 0x7F, 0xF4, 0x7E, 0x01, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x00,
+0xE0, 0x54, 0xDF, 0xFD, 0xE4, 0xFF, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x28, 0xE0, 0x44, 0x03, 0xFD,
+0x7F, 0x28, 0x12, 0x53, 0xF0, 0x90, 0x00, 0x08, 0xE0, 0x54, 0xEF, 0xFD, 0x7F, 0x08, 0x12, 0x53,
+0xF0, 0xE4, 0xFF, 0x12, 0x4E, 0x72, 0x7F, 0x64, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x90, 0x00, 0x29,
+0xE0, 0x44, 0xC0, 0xFD, 0x7F, 0x29, 0x02, 0x53, 0xF0, 0xE4, 0xFF, 0x90, 0x00, 0x6A, 0xE0, 0x30,
+0xE2, 0x22, 0xE0, 0x30, 0xE0, 0x20, 0xE0, 0x30, 0xE1, 0x0D, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x02,
+0x30, 0xE3, 0x13, 0x7F, 0x03, 0x80, 0x0F, 0x90, 0x00, 0x60, 0xE0, 0x7F, 0x03, 0x30, 0xE3, 0x06,
+0x7F, 0x02, 0x80, 0x02, 0x7F, 0x03, 0xEF, 0xFD, 0xD3, 0x90, 0x93, 0x4E, 0xE0, 0x9D, 0x90, 0x93,
+0x4D, 0xE0, 0x94, 0x00, 0x50, 0x05, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3,
+0xE0, 0x90, 0x05, 0x58, 0xF0, 0x22, 0x48, 0x93, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x48, 0x93, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x93, 0x9F, 0x00,
+0x41, 0x93, 0xAE, 0x00, 0x41, 0x93, 0x94, 0x00, 0x41, 0x94, 0x4A, 0x00, 0x41, 0x93, 0x13, 0x00,
+0x41, 0x93, 0x14, 0x00, 0x41, 0x92, 0x69, 0x00, 0x41, 0x92, 0x6A, 0x00, 0x41, 0x92, 0x68, 0x00,
+0x41, 0x94, 0x3D, 0x00, 0x41, 0x94, 0x4D, 0x00, 0x00, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x90, 0x93, 0x56, 0x74, 0x01, 0xF0, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x94, 0x31,
+0x12, 0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0xEC, 0x44, 0x02, 0xFC, 0x90, 0x94, 0x31,
+0x12, 0x1F, 0xC9, 0x90, 0x94, 0x31, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F,
+0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xE5, 0x65, 0x14, 0x24, 0xFD,
+0x50, 0x02, 0x80, 0x35, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x2E, 0x90, 0x93, 0x3D, 0xE0, 0x60,
+0x09, 0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x12, 0x9D, 0x6C, 0x90, 0x93, 0x59,
+0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x0D, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x04,
+0x50, 0x07, 0x7D, 0x01, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x22, 0xEF, 0x14, 0x60, 0x09, 0x14, 0x60,
+0x16, 0x24, 0x02, 0x70, 0x32, 0x80, 0x0A, 0x90, 0x93, 0x57, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x40,
+0xF0, 0xE4, 0x90, 0x93, 0x5C, 0xF0, 0x22, 0xED, 0x70, 0x0A, 0x90, 0x93, 0x50, 0xE0, 0x90, 0x93,
+0x57, 0xF0, 0x80, 0x05, 0x90, 0x93, 0x57, 0xED, 0xF0, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x93, 0x40,
+0xF0, 0x90, 0x93, 0x5C, 0x74, 0x01, 0xF0, 0x22, 0x90, 0x01, 0x5F, 0xE4, 0xF0, 0x90, 0x01, 0x3C,
+0x74, 0x08, 0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F,
+0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74,
+0x02, 0xF0, 0x90, 0x93, 0x52, 0x14, 0xF0, 0xE5, 0x63, 0x54, 0x0F, 0xC3, 0x94, 0x0C, 0x50, 0x03,
+0x12, 0x4A, 0x5E, 0x22, 0x90, 0x01, 0x17, 0xE0, 0xFE, 0x90, 0x01, 0x16, 0xE0, 0x7C, 0x00, 0x24,
+0x00, 0xFF, 0xEC, 0x3E, 0x90, 0x93, 0x3E, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x04, 0xE0, 0x54,
+0x0F, 0xFF, 0x74, 0x40, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0x90, 0x93, 0x54, 0xF0, 0xEE, 0x90, 0x93, 0x53, 0xF0, 0x22, 0xEF, 0x70, 0x0B, 0x90,
+0x93, 0xB0, 0xE0, 0x90, 0x94, 0x35, 0x60, 0x0B, 0x80, 0x12, 0x90, 0x93, 0xB0, 0xE0, 0x90, 0x94,
+0x35, 0x60, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x02, 0x10, 0x80, 0x07, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x01, 0x10, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x35, 0x7F, 0x60, 0x7E, 0x08, 0x02, 0x55, 0x51,
+0x90, 0x01, 0x37, 0x74, 0x02, 0xF0, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x12, 0x5A, 0x0E, 0xEF,
+0x70, 0x06, 0x90, 0x01, 0xC8, 0x74, 0xFD, 0xF0, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x93, 0x12,
+0x54, 0x48, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x90, 0x93, 0x46, 0xE0, 0x70, 0x1A, 0x90,
+0x04, 0x1D, 0xE0, 0x70, 0x14, 0x90, 0x93, 0xA9, 0xE0, 0xFF, 0xE4, 0xFD, 0x12, 0x58, 0x90, 0x8E,
+0x6A, 0x8F, 0x6B, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0x47, 0xE0, 0x60, 0x16,
+0x90, 0x93, 0x4A, 0xE0, 0x70, 0x10, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78, 0x60, 0x04, 0x74,
+0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x54, 0xBF, 0xF0, 0xEF, 0x60,
+0x0A, 0xE5, 0x62, 0xB4, 0x01, 0x05, 0xE4, 0xFF, 0x12, 0x4E, 0x18, 0x53, 0x63, 0xF0, 0x43, 0x63,
+0x0C, 0x22, 0x90, 0x94, 0x4B, 0xEF, 0xF0, 0x12, 0x6B, 0xF8, 0x90, 0x94, 0x4B, 0xE0, 0x60, 0x05,
+0x90, 0x05, 0x22, 0xE4, 0xF0, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0x90, 0x04, 0x1A, 0xE0,
+0xF4, 0x60, 0x03, 0x7F, 0x00, 0x22, 0x90, 0x04, 0x1B, 0xE0, 0x54, 0x07, 0x64, 0x07, 0x7F, 0x01,
+0x60, 0x02, 0x7F, 0x00, 0x22, 0x90, 0x06, 0x04, 0xE0, 0x44, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01,
+0x05, 0x7F, 0x01, 0x12, 0x4E, 0x18, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x04, 0x22, 0xE5, 0x64, 0x30,
+0xE6, 0x12, 0xE5, 0x64, 0x54, 0x0F, 0xFF, 0x90, 0x01, 0x2F, 0xE0, 0x54, 0x80, 0x4F, 0x64, 0x80,
+0xF0, 0x53, 0x64, 0xBF, 0x22, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x01, 0x12, 0x4C, 0xD6, 0x12, 0x4E,
+0xCA, 0x53, 0x63, 0xF0, 0x43, 0x63, 0x02, 0x22, 0x7D, 0x01, 0xAF, 0x64, 0x02, 0x4A, 0x62, 0x90,
+0x02, 0x84, 0xEF, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0x74, 0x05, 0xF0, 0x22, 0xEF, 0x8E, 0xF0, 0x12,
+0x43, 0xF7, 0x52, 0x3A, 0x00, 0x40, 0x52, 0x62, 0x00, 0x80, 0x52, 0x8D, 0x01, 0x00, 0x52, 0xA1,
+0x02, 0x00, 0x52, 0xB9, 0x04, 0x00, 0x00, 0x00, 0x52, 0xD6, 0xED, 0x54, 0x3F, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x40, 0xEF, 0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x06,
+0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78, 0x06, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9,
+0x80, 0x26, 0xED, 0x54, 0x7F, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x00, 0x7F, 0x80, 0xEF,
+0x2D, 0xFF, 0xEE, 0x3C, 0xFE, 0xEF, 0x78, 0x07, 0xCE, 0xC3, 0x13, 0xCE, 0x13, 0xD8, 0xF9, 0x78,
+0x07, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFD, 0xAC, 0x06, 0x80, 0x49, 0xED, 0x70, 0x04,
+0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x01, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x7D, 0x00, 0xFC, 0x80,
+0x35, 0xEC, 0x54, 0x01, 0x4D, 0x70, 0x04, 0xFE, 0xFF, 0x80, 0x04, 0x7E, 0x02, 0x7F, 0x00, 0xEF,
+0x2D, 0xEE, 0x3C, 0xC3, 0x13, 0x7D, 0x00, 0x80, 0x1A, 0xEC, 0x54, 0x03, 0x4D, 0x70, 0x04, 0xFE,
+0xFF, 0x80, 0x04, 0x7E, 0x04, 0x7F, 0x00, 0xEF, 0x2D, 0xEE, 0x3C, 0x13, 0x13, 0x54, 0x3F, 0x7D,
+0x00, 0x25, 0xE0, 0x25, 0xE0, 0xFC, 0xAE, 0x04, 0xAF, 0x05, 0x22, 0x90, 0x01, 0xE4, 0x74, 0x1F,
+0xF0, 0xA3, 0xE4, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x75, 0xF0, 0xA3, 0xF0, 0xF1, 0xE1, 0x75, 0x8E,
+0x02, 0xB1, 0x1A, 0x12, 0x60, 0x10, 0x90, 0x93, 0xB1, 0xEF, 0xF0, 0xF1, 0xE9, 0x90, 0x93, 0xB3,
+0xEF, 0xF0, 0x12, 0x60, 0x23, 0x90, 0x93, 0x95, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xE4, 0xF5, 0x14,
+0xF5, 0x09, 0xF5, 0x62, 0x90, 0x93, 0xB0, 0xF0, 0x90, 0x00, 0xCC, 0xE0, 0x54, 0xF7, 0xF0, 0x12,
+0x87, 0x51, 0x12, 0x47, 0x2C, 0x12, 0x37, 0x1C, 0x71, 0xC7, 0x12, 0x5F, 0xD4, 0x12, 0x60, 0x3B,
+0xF1, 0xDA, 0x12, 0x5F, 0xF2, 0x12, 0x44, 0xFD, 0x12, 0x60, 0xA6, 0xB1, 0x02, 0x90, 0x93, 0x77,
+0xE5, 0xD9, 0xF0, 0xC2, 0xAF, 0x90, 0x00, 0x80, 0xE0, 0x44, 0x40, 0xF0, 0x91, 0x38, 0x75, 0xE8,
+0x03, 0x43, 0xA8, 0x85, 0x12, 0x9A, 0xCA, 0xD2, 0xAF, 0x12, 0x90, 0x6F, 0x51, 0xDB, 0x12, 0x60,
+0x50, 0x90, 0x93, 0x75, 0xE0, 0x64, 0x01, 0xF0, 0x24, 0xE5, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x52,
+0xA3, 0xF0, 0xE5, 0x14, 0x30, 0xE0, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0xFE, 0xB1, 0x2A, 0xD2, 0xAF,
+0xE5, 0x14, 0x30, 0xE4, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xEF, 0xD2, 0xAF, 0x12, 0x77, 0xF7, 0xE5,
+0x14, 0x30, 0xE6, 0x0A, 0xC2, 0xAF, 0x53, 0x14, 0xBF, 0xD2, 0xAF, 0x12, 0x7F, 0x4E, 0xE5, 0x14,
+0x30, 0xE7, 0x09, 0xC2, 0xAF, 0x53, 0x14, 0x7F, 0xD2, 0xAF, 0xB1, 0xB8, 0xC2, 0xAF, 0xE5, 0x64,
+0x54, 0x0F, 0xFF, 0xBF, 0x01, 0x0D, 0x90, 0x93, 0x43, 0x74, 0x01, 0xF0, 0x51, 0x08, 0xE4, 0x90,
+0x93, 0x43, 0xF0, 0xD2, 0xAF, 0x80, 0x9A, 0x90, 0x01, 0x3C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0x90, 0x01, 0x34, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x54, 0x71, 0xF0,
+0x7D, 0xFF, 0x7F, 0x55, 0x71, 0xF0, 0x7D, 0xFF, 0x7F, 0x56, 0x71, 0xF0, 0x7D, 0xFF, 0x7F, 0x57,
+0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8F, 0x82, 0x75, 0x83, 0x00, 0xED, 0xF0, 0x91, 0x38,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x01, 0x30, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0x90, 0x01, 0x38, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xFD, 0x7F, 0x50, 0x71, 0xF0, 0xE4,
+0xFD, 0x7F, 0x51, 0x71, 0xF0, 0xE4, 0xFD, 0x7F, 0x52, 0x71, 0xF0, 0xE4, 0xFD, 0x7F, 0x53, 0x80,
+0xBF, 0x90, 0x00, 0x02, 0xE0, 0x44, 0x01, 0xF0, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x7F,
+0x10, 0xDF, 0xFE, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0xF2, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xF6, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x00, 0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x91, 0x38, 0x91, 0x31, 0x90, 0x00,
+0x02, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0x01, 0x00, 0x74, 0x3F, 0xF0, 0xA3, 0xE0, 0x54, 0xFD, 0xF0,
+0x90, 0x05, 0x53, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78,
+0x74, 0x01, 0xF0, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x34, 0xE4, 0x90, 0x93, 0x56, 0xF0, 0xFF, 0x7E,
+0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84,
+0xEC, 0x54, 0xFD, 0xFC, 0x90, 0x93, 0xF2, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xF2, 0x12, 0x43, 0x84,
+0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x00, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x47,
+0xE0, 0x60, 0x22, 0xE4, 0xFF, 0x11, 0xDC, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x12, 0x90, 0x93, 0xF6,
+0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xF6, 0xB1, 0x4D, 0x90,
+0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x51, 0xE0, 0x60, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x94, 0x40, 0xF0, 0x90, 0x94,
+0x3E, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0x74, 0x0A, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0xAD, 0xF0, 0x90,
+0x00, 0x80, 0xE0, 0x44, 0x80, 0xFD, 0x7F, 0x80, 0x61, 0xF0, 0xE4, 0x7B, 0x01, 0x7A, 0x92, 0x79,
+0x6B, 0x12, 0x76, 0x31, 0xEF, 0xB4, 0x02, 0x14, 0x90, 0x94, 0x4D, 0xE0, 0x64, 0x04, 0x60, 0x07,
+0x43, 0x14, 0x01, 0xE0, 0x04, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x4D, 0xF0, 0x22, 0x7F, 0x70, 0x7E,
+0x08, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0x54, 0xFC, 0xFF, 0x90, 0x01, 0xE8, 0xF0,
+0xEE, 0x44, 0xF0, 0xA3, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xEC, 0xF0, 0x90,
+0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x01, 0xED, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x01, 0xEE, 0xF0, 0x12, 0x1E, 0xF6, 0x90, 0x01, 0xEF, 0xF0, 0x90, 0x01, 0xEB, 0x74, 0x40, 0xF0,
+0x12, 0x98, 0x93, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x04, 0xE0, 0xC3, 0x13, 0x30, 0xE0,
+0x16, 0xEF, 0x7B, 0x01, 0xB4, 0x01, 0x06, 0x7A, 0x93, 0x79, 0x0B, 0x80, 0x04, 0x7A, 0x93, 0x79,
+0x07, 0x7F, 0x80, 0x7E, 0x08, 0xB1, 0x51, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x92, 0x69, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92, 0x35, 0xF0, 0xFA, 0x7B,
+0x01, 0xC0, 0x02, 0xC0, 0x01, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74, 0x92, 0x35,
+0xF0, 0xFA, 0x90, 0x94, 0x13, 0x12, 0x43, 0xC8, 0xD0, 0x01, 0xD0, 0x02, 0xD1, 0x12, 0x90, 0x92,
+0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0xFF, 0x90,
+0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0x3F, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x10, 0x12, 0x43, 0xC8, 0x90,
+0x92, 0x68, 0xE0, 0xFF, 0x04, 0xF0, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0xF1, 0xF5, 0xEF,
+0x70, 0x02, 0xC1, 0xCB, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22,
+0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA0, 0xD1, 0xD0, 0x90, 0x94, 0x13, 0x12, 0x43,
+0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6,
+0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA2, 0xD1, 0xD0, 0x90, 0x01,
+0xAF, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0xB1, 0xE0, 0x64, 0x01, 0x70, 0x48, 0x90, 0x94, 0x10, 0x12,
+0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x75, 0x23, 0x02, 0x7B, 0x01, 0x7A, 0xFD, 0x79,
+0x20, 0xD1, 0xD0, 0x90, 0x94, 0x13, 0x12, 0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90,
+0x94, 0x10, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0x7B, 0x01,
+0x7A, 0xFD, 0x79, 0x22, 0xD1, 0xD0, 0x90, 0x93, 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E,
+0x83, 0x74, 0xFF, 0xF0, 0x90, 0x01, 0xCB, 0xE0, 0x64, 0x80, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x8B, 0x1D, 0x8A, 0x1E, 0x89, 0x1F, 0x90, 0x94, 0x0A,
+0x12, 0x43, 0xC8, 0xAB, 0x20, 0xAA, 0x21, 0xA9, 0x22, 0x90, 0x94, 0x0D, 0x12, 0x43, 0xC8, 0xAF,
+0x23, 0x15, 0x23, 0xEF, 0x60, 0x1E, 0x90, 0x94, 0x0D, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1,
+0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x94, 0x0A, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x43, 0xB1, 0xEF, 0x12,
+0x42, 0x53, 0x80, 0xDB, 0xAB, 0x1D, 0xAA, 0x1E, 0xA9, 0x1F, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3,
+0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x16, 0x12, 0x43, 0xC8, 0x90, 0x92, 0x6A, 0xE0,
+0xFF, 0x90, 0x92, 0x69, 0xE0, 0xB5, 0x07, 0x07, 0x7D, 0x02, 0x7F, 0x03, 0x12, 0x3A, 0xAD, 0x90,
+0x92, 0x69, 0xE0, 0x70, 0x06, 0xA3, 0xE0, 0x64, 0x09, 0x60, 0x0B, 0x90, 0x92, 0x69, 0xE0, 0x14,
+0xFF, 0xA3, 0xE0, 0xB5, 0x07, 0x0D, 0xF1, 0xF5, 0xEF, 0x60, 0x70, 0xB1, 0xB8, 0x90, 0x01, 0x3F,
+0x74, 0x02, 0xF0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x6E, 0xF9, 0x74, 0x92,
+0x35, 0xF0, 0xA8, 0x01, 0xFC, 0x7D, 0x01, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x7E, 0x00, 0x7F,
+0x02, 0x12, 0x1E, 0xD0, 0x90, 0x92, 0x6A, 0xE0, 0x75, 0xF0, 0x0F, 0xA4, 0x24, 0x70, 0xF9, 0x74,
+0x92, 0x35, 0xF0, 0xFA, 0x7B, 0x01, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x90, 0x94, 0x19, 0x12,
+0x43, 0xA8, 0x8B, 0x20, 0x8A, 0x21, 0x89, 0x22, 0x90, 0x94, 0x16, 0x12, 0x43, 0xA8, 0x12, 0x1E,
+0xF6, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x23, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0xD1, 0xD0, 0x90,
+0x92, 0x6A, 0xE0, 0x04, 0xF0, 0xE0, 0xB4, 0x0A, 0x02, 0xE4, 0xF0, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0x8F, 0x82, 0x8E, 0x83, 0xA3, 0xA3, 0xA3, 0xE4, 0xF0, 0x22, 0x90, 0x01, 0x64, 0x74, 0x20, 0xF0,
+0x22, 0x90, 0x01, 0x94, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x7F, 0x00, 0x30,
+0xE3, 0x02, 0x7F, 0x01, 0x22, 0x7F, 0xAF, 0x7E, 0x01, 0x90, 0x94, 0x39, 0xEE, 0xF0, 0xA3, 0xEF,
+0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x94, 0x39, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E,
+0x83, 0xE0, 0x60, 0x2C, 0xC3, 0x90, 0x94, 0x3C, 0xE0, 0x94, 0xE8, 0x90, 0x94, 0x3B, 0xE0, 0x94,
+0x03, 0x40, 0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x10, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x3B,
+0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x0A, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0x80, 0xC6,
+0x7F, 0x01, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01, 0xC4, 0x74, 0x43, 0xF0,
+0x74, 0x58, 0xA3, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x1A, 0x90, 0x05, 0x22, 0xE0, 0x54, 0x90,
+0x60, 0x07, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x01, 0xC7, 0xE0, 0x30, 0xE1, 0xE4,
+0x7F, 0x00, 0x80, 0x02, 0x7F, 0x01, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x11, 0x43, 0xBF, 0x01, 0x0F,
+0x90, 0x02, 0x09, 0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x90, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22,
+0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFB, 0xFA, 0xEF, 0x30, 0xE0, 0x02, 0x7B, 0x80,
+0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0x90, 0x04, 0x25, 0xEF, 0xF0, 0xED, 0x60, 0x0E, 0x74,
+0x0F, 0x2B, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x80, 0xF0, 0xAF, 0x03, 0x74,
+0x08, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x09, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0, 0x74, 0x21, 0x2B, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xF7, 0xF0, 0xAE, 0x02, 0xAF, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22,
+0xE0, 0x54, 0xEF, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x3F, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90,
+0xFD, 0x62, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x67, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x54, 0x3F,
+0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0xFD, 0x63, 0xE0, 0x54, 0x03, 0x4F, 0x90, 0x93, 0x68, 0xF0,
+0x90, 0x93, 0x67, 0xE0, 0xFD, 0xA3, 0xE0, 0xFB, 0xE4, 0xFF, 0x90, 0x94, 0x1C, 0xEF, 0xF0, 0xA3,
+0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0x90, 0x04, 0x1D, 0xE0, 0x60, 0x19, 0x90, 0x05, 0x22, 0xE0, 0x90,
+0x94, 0x21, 0xF0, 0x51, 0x08, 0xBF, 0x01, 0x02, 0x31, 0x5D, 0x90, 0x94, 0x21, 0xE0, 0x90, 0x05,
+0x22, 0xF0, 0x80, 0x02, 0x31, 0x5D, 0x90, 0x04, 0x1F, 0x74, 0x20, 0xF0, 0x22, 0x90, 0x93, 0xAC,
+0xE0, 0xFF, 0x7D, 0x01, 0x11, 0x90, 0x90, 0x94, 0x1F, 0xEE, 0xF0, 0xFC, 0xA3, 0xEF, 0xF0, 0xFD,
+0x90, 0x94, 0x1C, 0xE0, 0xFF, 0xA3, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x94, 0x2B, 0xF0, 0xEF, 0x60,
+0x10, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x80,
+0x0E, 0x74, 0x21, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF,
+0x05, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x10, 0xF0, 0x74,
+0x11, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0xEF, 0xF0, 0xAF, 0x05, 0x74,
+0x16, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x74, 0x16, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x54, 0x03, 0xF0, 0xAE, 0x05, 0x74, 0x22, 0x2E,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEB, 0xF0, 0x90, 0x94, 0x2B, 0xE0, 0xFF, 0x74, 0x23,
+0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x24, 0x2E, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x22, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0x90,
+0x94, 0x48, 0xF0, 0xA3, 0xF0, 0x90, 0x05, 0xF8, 0xE0, 0x70, 0x0F, 0xA3, 0xE0, 0x70, 0x0B, 0xA3,
+0xE0, 0x70, 0x07, 0xA3, 0xE0, 0x70, 0x03, 0x7F, 0x01, 0x22, 0xD3, 0x90, 0x94, 0x49, 0xE0, 0x94,
+0xE8, 0x90, 0x94, 0x48, 0xE0, 0x94, 0x03, 0x40, 0x03, 0x7F, 0x00, 0x22, 0x7F, 0x32, 0x7E, 0x00,
+0x12, 0x3B, 0x09, 0x90, 0x94, 0x48, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x80, 0xC6, 0xE4,
+0x90, 0x93, 0x63, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x20, 0xE0, 0x02, 0xC1,
+0xF8, 0x12, 0x9D, 0x9A, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x61, 0x66, 0x90, 0x93,
+0x1A, 0xE0, 0x30, 0xE0, 0x18, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A,
+0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0xE4, 0xF5, 0x48,
+0x90, 0x93, 0x63, 0xE0, 0x24, 0x03, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12,
+0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90,
+0x93, 0x27, 0x30, 0xE0, 0x05, 0x74, 0x05, 0xF0, 0x80, 0x03, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x19,
+0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x16, 0xE0, 0xFF, 0x90, 0x93, 0x25,
+0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30,
+0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90, 0x93, 0x2B,
+0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD, 0x80, 0x05,
+0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x31, 0x2A, 0x80, 0x51, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54,
+0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F, 0x04, 0x12,
+0x4A, 0x62, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x27, 0x90, 0x93,
+0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0, 0x90, 0x93,
+0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x06, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x93,
+0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x20,
+0xE0, 0x02, 0xC1, 0xF8, 0xC1, 0x66, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x02, 0x60, 0x02, 0x81, 0x46,
+0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x08, 0x51, 0x08, 0xBF, 0x01,
+0x03, 0x12, 0x54, 0x48, 0xE4, 0xFF, 0x12, 0x6A, 0xBF, 0x90, 0x93, 0x1A, 0xE0, 0x30, 0xE0, 0x1F,
+0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x02, 0x80, 0x0A, 0x90, 0x93, 0x1A, 0xE0, 0xC4, 0x54, 0x0F, 0x30,
+0xE0, 0x0D, 0xA3, 0xE0, 0x90, 0x93, 0x63, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xEF, 0xF0, 0xE4,
+0xF5, 0x48, 0x90, 0x93, 0x16, 0xE0, 0x24, 0x03, 0xFF, 0x90, 0x93, 0x63, 0xE0, 0x2F, 0xFF, 0x90,
+0x93, 0x25, 0xE0, 0xC3, 0x9F, 0xFF, 0x90, 0x93, 0x64, 0xE0, 0x2F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD,
+0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0xE4, 0xFF, 0xD1,
+0xF9, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30,
+0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54,
+0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x14, 0xE4,
+0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x62, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF, 0x64,
+0x12, 0x4A, 0x62, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0, 0x05,
+0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x20,
+0xE0, 0x02, 0xC1, 0xF8, 0xC1, 0xF3, 0x90, 0x93, 0x27, 0xE0, 0x64, 0x03, 0x60, 0x02, 0xA1, 0x9B,
+0x7F, 0x01, 0x12, 0x6A, 0xBF, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0,
+0x03, 0x12, 0x6B, 0xF8, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x20, 0xE0, 0x02,
+0x81, 0xF7, 0x90, 0x93, 0x1F, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xD3, 0x9F, 0x40, 0x4D, 0xE0,
+0x75, 0xF0, 0x03, 0xA4, 0xFF, 0x90, 0x93, 0x21, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFF, 0x24, 0x03,
+0xFD, 0xE4, 0x33, 0xFC, 0x90, 0x93, 0x17, 0xE0, 0xD3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80,
+0x98, 0x40, 0x08, 0xE0, 0x9F, 0x90, 0x93, 0x66, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x66, 0x74, 0x03,
+0xF0, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x66, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x80, 0x24, 0xE4, 0xF5, 0x48, 0x90,
+0x93, 0x22, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90,
+0x93, 0x1D, 0x74, 0x04, 0xF0, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0,
+0xE4, 0x90, 0x93, 0x29, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x65, 0xE0, 0xFF, 0x90,
+0x93, 0x17, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39,
+0x77, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x7F, 0x01, 0xD1,
+0xF9, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x2F, 0x90, 0x93, 0x15, 0xE0,
+0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1A, 0x90, 0x93, 0x1A, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C,
+0xE0, 0x60, 0x02, 0x80, 0x0F, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, 0x0C, 0x80, 0x08,
+0xE5, 0x65, 0x60, 0x07, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x4C, 0xE0, 0x60,
+0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x1F, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03,
+0x12, 0x51, 0x39, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13,
+0x54, 0x01, 0x20, 0xE0, 0x02, 0xC1, 0xF8, 0x7F, 0x01, 0xC1, 0xF5, 0x90, 0x93, 0x27, 0xE0, 0x64,
+0x04, 0x60, 0x02, 0xC1, 0x6C, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01,
+0x12, 0x39, 0x77, 0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x27, 0xE0, 0x04, 0xF0, 0x90,
+0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x0F, 0x90, 0x93, 0x17, 0xE0, 0xFF, 0x90,
+0x93, 0x25, 0xE0, 0xC3, 0x9F, 0x90, 0x93, 0x2B, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x30, 0xE0, 0x28, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x6E, 0x90,
+0x93, 0x2B, 0xE0, 0xC3, 0x94, 0x20, 0x50, 0x0A, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFB, 0xE4, 0xFD,
+0x80, 0x05, 0x7B, 0x7F, 0x7D, 0xFF, 0xE4, 0xFF, 0x31, 0x2A, 0x80, 0x51, 0x90, 0x93, 0x15, 0xE0,
+0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4, 0xFD, 0x7F,
+0x04, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x27,
+0x90, 0x93, 0x1C, 0xE0, 0x44, 0x02, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0x90, 0x93, 0x2A, 0xF0,
+0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x07, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07,
+0x90, 0x93, 0x1C, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x90, 0x93, 0x18,
+0xE0, 0x20, 0xE0, 0x02, 0xC1, 0xF8, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x22, 0x90, 0x93, 0x27, 0xE0,
+0x64, 0x05, 0x60, 0x02, 0xC1, 0xF8, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30,
+0xE0, 0x08, 0x51, 0x08, 0xBF, 0x01, 0x03, 0x12, 0x54, 0x48, 0xE4, 0xFF, 0x12, 0x6A, 0xBF, 0xE4,
+0xFF, 0xD1, 0xF9, 0xE4, 0x90, 0x93, 0x27, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07,
+0x30, 0xE0, 0x08, 0x90, 0x05, 0x22, 0x74, 0x6F, 0xF0, 0x80, 0x2F, 0x90, 0x93, 0x15, 0xE0, 0xC4,
+0x54, 0x0F, 0x30, 0xE0, 0x14, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x14,
+0xE4, 0xFD, 0xAF, 0x64, 0x12, 0x4A, 0x62, 0x80, 0x0B, 0xE5, 0x65, 0x60, 0x0D, 0xE4, 0xFD, 0xAF,
+0x64, 0x12, 0x4A, 0x62, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0x30, 0xE0,
+0x05, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x05, 0xE4, 0xFF, 0x12, 0x55, 0x98, 0x22, 0x90, 0x94, 0x2C, 0xEF, 0xF0, 0xF1, 0x5B,
+0x90, 0x93, 0x18, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x07, 0x20, 0xE0, 0x08, 0x90, 0x94, 0x2C, 0xE0,
+0xFF, 0x12, 0x50, 0xDC, 0x90, 0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x90, 0x94,
+0x2C, 0xE0, 0xB4, 0x01, 0x10, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x16, 0x80, 0x0A, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90,
+0x94, 0x2D, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x2D, 0x12,
+0x55, 0x4D, 0x90, 0x94, 0x2C, 0xE0, 0x90, 0x93, 0x26, 0xF0, 0x22, 0xEF, 0x64, 0x01, 0x70, 0x3C,
+0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x07, 0x90, 0x07, 0x78, 0x74,
+0x0D, 0xF0, 0x22, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x0D, 0xE0, 0x13, 0x13,
+0x54, 0x3F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x24, 0x80, 0x0E, 0x90, 0x93, 0x18, 0xE0, 0xC3, 0x13,
+0x90, 0x07, 0x78, 0x30, 0xE0, 0x02, 0x80, 0x14, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0,
+0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x04, 0x74, 0x03, 0xF0, 0x22,
+0x74, 0x01, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xE4, 0xFD, 0xFC, 0xEF, 0x30,
+0xE0, 0x02, 0x7D, 0x80, 0xEF, 0xC3, 0x13, 0x90, 0xFD, 0x10, 0xF0, 0xAE, 0x04, 0xAF, 0x05, 0xD0,
+0xD0, 0x92, 0xAF, 0x22, 0x75, 0x28, 0x33, 0xE4, 0xF5, 0x29, 0x75, 0x2A, 0x07, 0xF5, 0x2B, 0x90,
+0x01, 0x30, 0xE5, 0x28, 0xF0, 0xA3, 0xE5, 0x29, 0xF0, 0xA3, 0xE5, 0x2A, 0xF0, 0xA3, 0xE5, 0x2B,
+0xF0, 0x22, 0x75, 0x30, 0x1F, 0x75, 0x31, 0x01, 0x43, 0x31, 0x10, 0xE4, 0xF5, 0x32, 0x43, 0x32,
+0x20, 0x90, 0x01, 0x38, 0xE5, 0x30, 0xF0, 0xA3, 0xE5, 0x31, 0xF0, 0xA3, 0xE5, 0x32, 0xF0, 0x22,
+0x90, 0x00, 0xF4, 0xE0, 0x20, 0xE3, 0x09, 0xE0, 0x7F, 0x01, 0x20, 0xE2, 0x05, 0x7F, 0x02, 0x22,
+0x7F, 0x00, 0x22, 0x90, 0x93, 0xB3, 0xE0, 0xB4, 0x01, 0x0C, 0x90, 0x00, 0xF2, 0xE0, 0x30, 0xE7,
+0x05, 0x7E, 0xFD, 0x7F, 0x33, 0x22, 0x7E, 0xFD, 0x7F, 0x2F, 0x22, 0x90, 0x00, 0xF3, 0xE0, 0x30,
+0xE2, 0x0D, 0x90, 0x05, 0x41, 0x74, 0x10, 0xF0, 0x90, 0x05, 0x5A, 0xF0, 0xA3, 0xE4, 0xF0, 0x22,
+0xE4, 0x90, 0x93, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x98, 0xE0, 0x7F, 0x00, 0x30, 0xE4, 0x02,
+0x7F, 0x01, 0xEF, 0x64, 0x01, 0x60, 0x3E, 0xC3, 0x90, 0x93, 0x79, 0xE0, 0x94, 0x88, 0x90, 0x93,
+0x78, 0xE0, 0x94, 0x13, 0x40, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93,
+0x78, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3,
+0x90, 0x93, 0x79, 0xE0, 0x94, 0x32, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x00, 0x40, 0xB9, 0x90, 0x01,
+0xC7, 0xE0, 0x30, 0xE3, 0xB2, 0x22, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0x01, 0x9C,
+0x74, 0x7E, 0xF0, 0xA3, 0x74, 0x92, 0xF0, 0xA3, 0x74, 0xA0, 0xF0, 0xA3, 0x74, 0x24, 0xF0, 0x90,
+0x01, 0x9B, 0x74, 0x49, 0xF0, 0x90, 0x01, 0x9A, 0x74, 0xE0, 0xF0, 0x90, 0x01, 0x99, 0xE4, 0xF0,
+0x90, 0x01, 0x98, 0x04, 0xF0, 0x22, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0xFF, 0xE0, 0x54, 0x0C,
+0x13, 0x13, 0x54, 0x3F, 0xFE, 0xEF, 0x64, 0x01, 0x60, 0x04, 0xEF, 0xB4, 0x03, 0x0E, 0x90, 0x93,
+0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x37, 0xF0, 0x79, 0x01, 0x80, 0x18, 0xEE, 0x64, 0x01, 0x60,
+0x07, 0xAF, 0x06, 0xEE, 0x64, 0x03, 0x70, 0x3C, 0x90, 0x93, 0x5D, 0x74, 0x01, 0xF0, 0xA3, 0x74,
+0x3D, 0xF0, 0x79, 0x40, 0x90, 0x93, 0x5D, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xF5, 0x82, 0x8E, 0x83,
+0xE0, 0x59, 0x60, 0x08, 0xE9, 0xF0, 0xE4, 0x90, 0x93, 0x9F, 0xF0, 0x22, 0x90, 0x93, 0x9F, 0xE0,
+0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x0C, 0xE4, 0xF0, 0x90, 0x04, 0x19, 0xE0, 0x30, 0xE0,
+0x03, 0x12, 0x58, 0x7B, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75,
+0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06,
+0xC0, 0x07, 0x90, 0x01, 0xC4, 0x74, 0x45, 0xF0, 0x74, 0x61, 0xA3, 0xF0, 0x90, 0x01, 0x34, 0xE0,
+0x55, 0x28, 0xF5, 0x2C, 0xA3, 0xE0, 0x55, 0x29, 0xF5, 0x2D, 0xA3, 0xE0, 0x55, 0x2A, 0xF5, 0x2E,
+0xA3, 0xE0, 0x55, 0x2B, 0xF5, 0x2F, 0xE5, 0x2C, 0x20, 0xE0, 0x02, 0x61, 0x38, 0x90, 0x01, 0x34,
+0x74, 0x01, 0xF0, 0x85, 0xD1, 0x0A, 0x85, 0xD3, 0x0C, 0x85, 0xD4, 0x0D, 0x85, 0xD5, 0x0E, 0x85,
+0xD6, 0x0F, 0x85, 0xD7, 0x10, 0x85, 0xD9, 0x11, 0x85, 0xD2, 0x0B, 0x75, 0x20, 0x00, 0x75, 0x21,
+0x00, 0x75, 0x22, 0x0A, 0x75, 0x23, 0x08, 0xFB, 0x7A, 0x93, 0x79, 0xA0, 0x12, 0x56, 0xD0, 0x90,
+0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x54, 0x01, 0xFE, 0xEF, 0xC4, 0x13, 0x13, 0x54, 0x01, 0x6E,
+0x70, 0x02, 0x41, 0xE9, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30,
+0xE0, 0x02, 0x41, 0xE9, 0xEF, 0x54, 0x1F, 0xF5, 0x4D, 0x90, 0x93, 0xA2, 0xE0, 0x54, 0x3F, 0xF5,
+0x4E, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82,
+0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xE5, 0x4E, 0xD3, 0x94, 0x04,
+0x40, 0x03, 0x75, 0x4E, 0x04, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C,
+0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0xA4,
+0xE0, 0x54, 0x1F, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x75, 0xF0, 0x0A, 0xE5, 0x4D, 0x90, 0x84, 0x00,
+0x12, 0x43, 0x9C, 0x75, 0xF0, 0x02, 0xE5, 0x4E, 0x12, 0x43, 0x9C, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0,
+0x90, 0x93, 0xA1, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x2F, 0x90, 0x93, 0xA4, 0xE0, 0x54,
+0x1F, 0xFF, 0xE5, 0x4D, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4,
+0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01,
+0x30, 0xE0, 0x66, 0xAF, 0x4D, 0x12, 0x79, 0xCB, 0x80, 0x5F, 0x90, 0x93, 0xA1, 0xE0, 0xFF, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x52, 0x90, 0x93, 0xA4, 0xE0, 0x54, 0x1F, 0xFF, 0xFD, 0xE5,
+0x4D, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0x8D, 0xF0, 0x12,
+0x42, 0x87, 0x90, 0x93, 0xA3, 0xE0, 0xFE, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x0E,
+0xEE, 0x54, 0x7F, 0xFD, 0x8F, 0x55, 0xAB, 0x4E, 0xAF, 0x4D, 0xF1, 0x5C, 0x80, 0x1B, 0x90, 0x01,
+0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x11, 0x90, 0x04, 0x30, 0xE0, 0xB4, 0x01, 0x0A, 0xE4,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x04, 0xCF, 0xF0, 0xE5, 0x65, 0x14, 0x24, 0xFD, 0x50, 0x02,
+0x80, 0x46, 0x90, 0x93, 0x59, 0xE0, 0x60, 0x37, 0x90, 0x01, 0x5B, 0xE4, 0xF0, 0x90, 0x01, 0x3C,
+0x74, 0x04, 0xF0, 0x12, 0x51, 0xAC, 0xEF, 0x64, 0x01, 0x70, 0x2D, 0xF5, 0x48, 0x90, 0x93, 0x45,
+0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5B,
+0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x55, 0xF0, 0x80, 0x09, 0x12,
+0x51, 0xAC, 0xBF, 0x01, 0x03, 0x12, 0x52, 0x08, 0xE5, 0x2C, 0x20, 0xE1, 0x02, 0x61, 0xDA, 0x90,
+0x01, 0x34, 0x74, 0x02, 0xF0, 0x90, 0xFD, 0x10, 0x74, 0x7F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x30,
+0xE5, 0x0B, 0x75, 0x4F, 0x88, 0x75, 0x50, 0x0F, 0x75, 0x51, 0x0F, 0x80, 0x09, 0x75, 0x4F, 0xC0,
+0x75, 0x50, 0x08, 0x75, 0x51, 0x07, 0x90, 0x04, 0x7F, 0xE0, 0x55, 0x51, 0xF5, 0x12, 0x90, 0x04,
+0x7E, 0xE0, 0x55, 0x51, 0xF5, 0x13, 0x65, 0x12, 0x60, 0x60, 0xE4, 0xFF, 0xE5, 0x12, 0x75, 0xF0,
+0x08, 0xA4, 0x25, 0x4F, 0x2F, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0xFE,
+0x74, 0x15, 0x2F, 0xF8, 0xA6, 0x06, 0x0F, 0xBF, 0x08, 0xE2, 0x75, 0x20, 0x00, 0x75, 0x21, 0x00,
+0x75, 0x22, 0x15, 0x75, 0x23, 0x08, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x97, 0x12, 0x56, 0xD0, 0x90,
+0x93, 0x97, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x02, 0xD1, 0x5C, 0xE5,
+0x12, 0x24, 0x01, 0xFF, 0xE4, 0x33, 0xFE, 0xAD, 0x50, 0x7C, 0x00, 0x12, 0x1F, 0x4E, 0xAF, 0x05,
+0x8F, 0x12, 0x90, 0x04, 0x7F, 0xEF, 0xF0, 0xB5, 0x13, 0xA0, 0xE5, 0x2C, 0x30, 0xE3, 0x06, 0x90,
+0x01, 0x34, 0x74, 0x08, 0xF0, 0xE5, 0x2C, 0x30, 0xE4, 0x09, 0x90, 0x01, 0x34, 0x74, 0x10, 0xF0,
+0x43, 0x14, 0x10, 0xE5, 0x2C, 0x30, 0xE5, 0x26, 0x90, 0x01, 0xCF, 0xE0, 0x30, 0xE5, 0x1F, 0xE0,
+0x54, 0xDF, 0xF0, 0x90, 0x01, 0x34, 0x74, 0x20, 0xF0, 0x75, 0xA8, 0x00, 0x75, 0xE8, 0x00, 0x12,
+0x54, 0x05, 0x90, 0x00, 0x03, 0xE0, 0x54, 0xFB, 0xF0, 0x12, 0x54, 0x38, 0x80, 0xFE, 0xE5, 0x2C,
+0x30, 0xE6, 0x06, 0x90, 0x01, 0x34, 0x74, 0x40, 0xF0, 0xE5, 0x2E, 0x20, 0xE0, 0x02, 0x81, 0xE3,
+0x90, 0x93, 0xB2, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x36, 0xF0, 0x90, 0x93, 0xAF, 0xE0, 0x60, 0x0F,
+0xE4, 0xF0, 0x90, 0x05, 0x53, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x05, 0xFC, 0xE0, 0x04, 0xF0, 0x12,
+0x45, 0x09, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x02, 0x81, 0xD9, 0x90, 0x05, 0x22, 0x74, 0xFF,
+0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x07, 0x78, 0x74, 0x01, 0xF0, 0x90, 0x81, 0x57, 0x12,
+0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2D,
+0xE0, 0xC4, 0x13, 0x54, 0x07, 0xFF, 0xE0, 0xFE, 0xC3, 0x13, 0x54, 0x0F, 0xC3, 0x9F, 0x40, 0x30,
+0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x90, 0x93, 0x32, 0x12, 0x43, 0x84, 0x90, 0x81,
+0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x90, 0x93, 0x2E, 0x12, 0x43,
+0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x34, 0x30, 0x80, 0x1C,
+0x90, 0x93, 0x2D, 0xE0, 0xFF, 0xC3, 0x13, 0x54, 0x0F, 0xFE, 0xEF, 0x54, 0xE1, 0xFF, 0xEE, 0x04,
+0x54, 0x0F, 0xFE, 0x25, 0xE0, 0x4F, 0xF0, 0x80, 0x03, 0x12, 0x6A, 0x4A, 0xD1, 0x7E, 0x90, 0x93,
+0xB2, 0xE4, 0xF0, 0xE5, 0x2E, 0x30, 0xE1, 0x45, 0x90, 0x01, 0x36, 0x74, 0x02, 0xF0, 0x43, 0x14,
+0x40, 0x12, 0x9F, 0x27, 0x11, 0xD6, 0x90, 0x93, 0x5C, 0xE0, 0x60, 0x1D, 0x90, 0x01, 0x3B, 0xE0,
+0x30, 0xE4, 0x16, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A,
+0x22, 0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x05, 0x08, 0xE5, 0x08, 0xC3, 0x94, 0xFF,
+0x40, 0x0B, 0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0xE5, 0x2E, 0x30,
+0xE2, 0x43, 0x90, 0x01, 0x36, 0x74, 0x04, 0xF0, 0x12, 0x4C, 0x64, 0x90, 0x93, 0x5C, 0xE0, 0x60,
+0x34, 0x90, 0x93, 0x57, 0xE0, 0xFF, 0x90, 0x93, 0x40, 0xE0, 0x6F, 0x70, 0x28, 0x90, 0x93, 0x57,
+0xE0, 0x90, 0x05, 0x73, 0xF0, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0xFD, 0x7F, 0x03, 0x12, 0x3A,
+0xAD, 0x7D, 0x01, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x22, 0x90,
+0x93, 0x40, 0xE0, 0x14, 0xF0, 0xE5, 0x2E, 0x30, 0xE3, 0x34, 0x90, 0x01, 0x36, 0x74, 0x08, 0xF0,
+0xE5, 0x62, 0x64, 0x01, 0x70, 0x28, 0xE5, 0x65, 0x60, 0x24, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90,
+0x01, 0x3C, 0x74, 0x02, 0xF0, 0x75, 0x48, 0x00, 0x90, 0x93, 0x4B, 0xE0, 0xF5, 0x49, 0xE4, 0xFB,
+0xFD, 0x7F, 0x54, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x57, 0x74, 0x05, 0xF0, 0xE5, 0x2E,
+0x30, 0xE4, 0x2B, 0x90, 0x01, 0x36, 0x74, 0x10, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x20, 0xE5, 0x65,
+0x60, 0x1C, 0x90, 0x01, 0x57, 0xE4, 0xF0, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90, 0x93, 0x5A,
+0xE4, 0xF0, 0x53, 0x66, 0xFD, 0xE5, 0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x08, 0xE5, 0x2E,
+0x30, 0xE5, 0x25, 0x90, 0x01, 0x36, 0x74, 0x20, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x1A, 0xE5, 0x65,
+0x60, 0x16, 0x90, 0x93, 0x59, 0xE0, 0x64, 0x02, 0x60, 0x0B, 0xE5, 0x63, 0x64, 0x0C, 0x60, 0x08,
+0x12, 0x51, 0x39, 0x80, 0x03, 0x12, 0x50, 0x68, 0xE5, 0x2E, 0x30, 0xE6, 0x1B, 0x90, 0x01, 0x36,
+0x74, 0x40, 0xF0, 0xE5, 0x62, 0xB4, 0x01, 0x10, 0xE5, 0x65, 0x60, 0x0C, 0x53, 0x66, 0xFE, 0xE5,
+0x66, 0x54, 0x07, 0x70, 0x03, 0x12, 0x52, 0x08, 0xE5, 0x2F, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x37,
+0x74, 0x02, 0xF0, 0x12, 0x4F, 0xEB, 0x74, 0x45, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x61, 0xA3,
+0xF0, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0,
+0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x5D, 0xE0,
+0x54, 0xF0, 0x44, 0x03, 0xF0, 0x54, 0x0F, 0x44, 0x80, 0xF0, 0x7B, 0x00, 0x7A, 0x00, 0x79, 0x15,
+0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x0B, 0x7A, 0x93, 0x79, 0x5D, 0x02, 0x57, 0x1F, 0x90, 0x94,
+0x3E, 0xE0, 0x30, 0xE0, 0x2F, 0xE5, 0x62, 0xB4, 0x01, 0x2A, 0x90, 0x94, 0x3D, 0xE0, 0x04, 0xF0,
+0xE0, 0xB4, 0x0A, 0x0B, 0x90, 0x94, 0x40, 0xE0, 0x04, 0xF0, 0xE4, 0x90, 0x94, 0x3D, 0xF0, 0x90,
+0x94, 0x40, 0xE0, 0xFF, 0x90, 0x94, 0x3F, 0xE0, 0xD3, 0x9F, 0x50, 0x08, 0x12, 0x44, 0xFE, 0xE4,
+0x90, 0x94, 0x40, 0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00,
+0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x7D, 0xB5, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0x74, 0x66, 0xFF,
+0xA3, 0xF0, 0x53, 0x91, 0xEF, 0x90, 0x00, 0x51, 0xE0, 0xFE, 0x90, 0x00, 0x55, 0xE0, 0x5E, 0xF5,
+0x3D, 0x90, 0x00, 0x52, 0xE0, 0xFE, 0x90, 0x00, 0x56, 0xE0, 0x5E, 0xF5, 0x3E, 0xE5, 0x3D, 0x30,
+0xE4, 0x06, 0x90, 0x00, 0x55, 0x74, 0x10, 0xF0, 0xE5, 0x3D, 0x30, 0xE5, 0x06, 0x90, 0x00, 0x55,
+0x74, 0x20, 0xF0, 0xE5, 0x3D, 0x30, 0xE6, 0x06, 0x90, 0x00, 0x55, 0x74, 0x40, 0xF0, 0xE5, 0x3D,
+0x30, 0xE7, 0x06, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0xE5, 0x3E, 0x30, 0xE0, 0x06, 0x90, 0x00,
+0x56, 0x74, 0x01, 0xF0, 0xE5, 0x3E, 0x30, 0xE1, 0x06, 0x90, 0x00, 0x56, 0x74, 0x02, 0xF0, 0xE5,
+0x3E, 0x30, 0xE2, 0x06, 0x90, 0x00, 0x56, 0x74, 0x04, 0xF0, 0xE5, 0x3E, 0x30, 0xE3, 0x06, 0x90,
+0x00, 0x56, 0x74, 0x08, 0xF0, 0x90, 0x01, 0xC4, 0xED, 0xF0, 0xA3, 0xEF, 0xF0, 0xD0, 0x07, 0xD0,
+0x06, 0xD0, 0x05, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0x8F, 0x52, 0x8D, 0x53,
+0xE5, 0x53, 0x54, 0x1F, 0x90, 0x93, 0x5F, 0xF0, 0x74, 0x01, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88,
+0xF5, 0x83, 0xE0, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x60, 0x74, 0x01, 0xF0, 0xEB, 0xC3, 0x94,
+0x01, 0x40, 0x03, 0x02, 0x79, 0xCB, 0x90, 0x93, 0x5D, 0xE0, 0x25, 0x55, 0xFF, 0xA3, 0xF0, 0xA3,
+0xE0, 0x90, 0x41, 0xA4, 0x93, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x14, 0x74, 0x01, 0x25, 0x52, 0xF5,
+0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x02, 0x79, 0x82, 0x90,
+0x93, 0x5E, 0xE0, 0xFF, 0x74, 0x01, 0x25, 0x52, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEF,
+0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0,
+0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x75,
+0x56, 0x00, 0x90, 0x01, 0xC4, 0x74, 0xC2, 0xF0, 0x74, 0x67, 0xA3, 0xF0, 0x53, 0x91, 0xDF, 0x90,
+0x01, 0x3C, 0xE0, 0x55, 0x30, 0xF5, 0x34, 0xA3, 0xE0, 0x55, 0x31, 0xF5, 0x35, 0xA3, 0xE0, 0x55,
+0x32, 0xF5, 0x36, 0xA3, 0xE0, 0x55, 0x33, 0xF5, 0x37, 0xE5, 0x34, 0x30, 0xE0, 0x06, 0x90, 0x01,
+0x3C, 0x74, 0x01, 0xF0, 0xE5, 0x34, 0x30, 0xE1, 0x10, 0x90, 0x01, 0x3C, 0x74, 0x02, 0xF0, 0x90,
+0x93, 0x15, 0xE0, 0x20, 0xE0, 0x03, 0x12, 0x46, 0x72, 0xE5, 0x34, 0x30, 0xE2, 0x36, 0x90, 0x01,
+0x3C, 0x74, 0x04, 0xF0, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE0, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93,
+0x45, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x58, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01,
+0x5B, 0x74, 0x05, 0xF0, 0x90, 0x06, 0x92, 0x74, 0x01, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x55, 0xE4,
+0xF0, 0x12, 0x52, 0x08, 0xE5, 0x34, 0x30, 0xE3, 0x36, 0x90, 0x01, 0x3C, 0x74, 0x08, 0xF0, 0x90,
+0x06, 0x92, 0xE0, 0x30, 0xE1, 0x21, 0x75, 0x48, 0x00, 0x90, 0x93, 0x45, 0xE0, 0xF5, 0x49, 0xE4,
+0xFB, 0xFD, 0x7F, 0x5C, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x01, 0x5F, 0x74, 0x05, 0xF0, 0x90,
+0x06, 0x92, 0x74, 0x02, 0xF0, 0x80, 0x08, 0x90, 0x93, 0x52, 0xE4, 0xF0, 0x12, 0x52, 0x08, 0xE5,
+0x34, 0x30, 0xE4, 0x34, 0x90, 0x01, 0x3C, 0x74, 0x10, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x30, 0xE0,
+0x24, 0x90, 0x05, 0x22, 0x74, 0xFF, 0xF0, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x07, 0x78, 0x74,
+0x01, 0xF0, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E, 0x08,
+0x12, 0x34, 0x30, 0x80, 0x03, 0x12, 0x5A, 0x4F, 0xE5, 0x34, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3C,
+0x74, 0x20, 0xF0, 0xE5, 0x35, 0x30, 0xE0, 0x18, 0x90, 0x01, 0x3D, 0x74, 0x01, 0xF0, 0x90, 0x00,
+0x83, 0xE0, 0xF5, 0x64, 0x90, 0x01, 0xBB, 0xE5, 0x64, 0xF0, 0x12, 0x51, 0xDD, 0x12, 0x52, 0x08,
+0xE5, 0x35, 0x30, 0xE2, 0x06, 0x90, 0x01, 0x3D, 0x74, 0x04, 0xF0, 0xE5, 0x35, 0x30, 0xE4, 0x1B,
+0x90, 0x01, 0x3D, 0x74, 0x10, 0xF0, 0x90, 0x93, 0xAE, 0xE0, 0x60, 0x0F, 0xE4, 0xF0, 0x90, 0x05,
+0x53, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05, 0xFD, 0xE0, 0x04, 0xF0, 0xE5, 0x36, 0x30, 0xE0, 0x06,
+0x90, 0x01, 0x3E, 0x74, 0x01, 0xF0, 0xE5, 0x36, 0x30, 0xE1, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x02,
+0xF0, 0xE5, 0x36, 0x30, 0xE3, 0x08, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0x71, 0xB2, 0xE5, 0x36,
+0x30, 0xE4, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x10, 0xF0, 0xE5, 0x36, 0x30, 0xE2, 0x75, 0x90, 0x01,
+0x3E, 0x74, 0x04, 0xF0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE7, 0x13, 0x74, 0x80, 0xF0, 0x90, 0x07,
+0x95, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x44, 0x04, 0xF0, 0xE4, 0xFF, 0x12, 0x55, 0x98, 0x90, 0x07,
+0x8F, 0xE0, 0x30, 0xE6, 0x11, 0x74, 0x40, 0xF0, 0x90, 0x07, 0x7C, 0xE0, 0xB4, 0x06, 0x07, 0x90,
+0x07, 0x80, 0xE0, 0xFF, 0x71, 0xD0, 0x90, 0x07, 0x8F, 0xE0, 0x30, 0xE5, 0x14, 0x74, 0x20, 0xF0,
+0xE4, 0xFF, 0x12, 0x55, 0x98, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01,
+0xF0, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE2, 0x0D, 0x74, 0x04, 0xF0, 0xA3, 0xE0, 0x54, 0xFB, 0xF0,
+0x7F, 0x01, 0x12, 0x55, 0x98, 0x90, 0x07, 0x95, 0xE0, 0x30, 0xE0, 0x07, 0x74, 0x01, 0xF0, 0xFF,
+0x12, 0x55, 0x98, 0xE5, 0x36, 0x30, 0xE5, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x20, 0xF0, 0xE5, 0x36,
+0x30, 0xE6, 0x06, 0x90, 0x01, 0x3E, 0x74, 0x40, 0xF0, 0xE5, 0x36, 0x30, 0xE7, 0x06, 0x90, 0x01,
+0x3E, 0x74, 0x80, 0xF0, 0xE5, 0x37, 0x30, 0xE1, 0x09, 0x90, 0x01, 0x3F, 0x74, 0x02, 0xF0, 0x43,
+0x14, 0x80, 0xE5, 0x37, 0x30, 0xE4, 0x1D, 0x90, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x12, 0x44, 0x24,
+0x90, 0x93, 0x57, 0xE0, 0x90, 0x05, 0x73, 0xF0, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x3A, 0x93, 0x51,
+0x4A, 0x12, 0x66, 0x7E, 0x74, 0xC2, 0x04, 0x90, 0x01, 0xC4, 0xF0, 0x74, 0x67, 0xA3, 0xF0, 0xD0,
+0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0,
+0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x93, 0x15, 0xE0, 0x30, 0xE0,
+0x6D, 0x7F, 0x01, 0x51, 0xBF, 0x90, 0x93, 0x19, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0,
+0x02, 0x71, 0xF8, 0x7F, 0x01, 0x12, 0x5E, 0xF9, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54, 0x07,
+0x20, 0xE0, 0x29, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1F, 0x90, 0x93, 0x1A,
+0xE0, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x06, 0x7D, 0x01, 0x7F, 0x04, 0x80, 0x09,
+0x90, 0x05, 0x22, 0xE4, 0xF0, 0x7D, 0x01, 0x7F, 0x0C, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x4C, 0xE0,
+0x90, 0x05, 0x22, 0x60, 0x05, 0x74, 0x6F, 0xF0, 0x80, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x18, 0xE0,
+0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x05, 0x7F, 0x01, 0x12, 0x55, 0x98, 0x22, 0xEF,
+0x64, 0x03, 0x60, 0x02, 0x61, 0x8D, 0x90, 0x94, 0x02, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0, 0x30, 0x90, 0x94,
+0x06, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0, 0xA3, 0x74, 0xFA, 0xF0, 0xA3, 0x74, 0x5A, 0xF0,
+0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x41, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0,
+0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0x80, 0x2D, 0x90, 0x93,
+0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x17, 0x90, 0x94, 0x02, 0x74, 0xFF, 0xF0, 0xA3, 0x74,
+0x55, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xA3, 0x74, 0x55, 0xF0, 0xA3, 0x74, 0x5A, 0x80, 0x05, 0x90,
+0x94, 0x06, 0x74, 0x55, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x94, 0x02, 0xE0, 0x90,
+0x06, 0xC0, 0xF0, 0x90, 0x94, 0x03, 0xE0, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x94, 0x04, 0xE0, 0x90,
+0x06, 0xC2, 0xF0, 0x90, 0x94, 0x05, 0xE0, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x94, 0x06, 0xE0, 0x90,
+0x06, 0xC4, 0xF0, 0x90, 0x94, 0x07, 0xE0, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x94, 0x08, 0xE0, 0x90,
+0x06, 0xC6, 0xF0, 0x90, 0x94, 0x09, 0xE0, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4,
+0x13, 0x13, 0x54, 0x03, 0x90, 0x06, 0xCC, 0x30, 0xE0, 0x24, 0xE4, 0xF0, 0x22, 0xEF, 0xB4, 0x01,
+0x10, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x16, 0x90, 0x06, 0xCC, 0xE4, 0xF0,
+0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x06, 0x90, 0x06, 0xCC, 0x74, 0x03,
+0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x11, 0x90, 0x93,
+0x1C, 0xE0, 0xC3, 0x13, 0x30, 0xE0, 0x08, 0xE0, 0x44, 0x04, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0x22,
+0xAD, 0x07, 0x90, 0x93, 0x63, 0xE0, 0x54, 0xF0, 0x44, 0x05, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0,
+0x90, 0x93, 0x65, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x65, 0x90, 0x94, 0x19, 0x12, 0x43,
+0xC8, 0x7A, 0x93, 0x79, 0x63, 0x02, 0x57, 0x1F, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90,
+0x93, 0xEA, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0xEE, 0x12, 0x1F, 0xD5, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x01, 0x01, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x01, 0x00, 0x74, 0xFF, 0xF0,
+0x90, 0x93, 0x4A, 0xE0, 0x60, 0x06, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x3D, 0xE0,
+0x60, 0x14, 0x12, 0x51, 0xAC, 0xBF, 0x01, 0x0B, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0xC4, 0x54, 0x0F,
+0x30, 0xE0, 0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x2D, 0xE0, 0x20, 0xE0, 0x24, 0x90, 0x93, 0x47,
+0xE0, 0x60, 0x1E, 0x7F, 0x01, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x5B, 0xE0, 0x60, 0x13, 0x90, 0x93,
+0xEE, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xEE, 0x12, 0x55,
+0x4D, 0x12, 0x54, 0x31, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0x90, 0x93, 0x87, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01, 0xFE, 0x90, 0x93, 0x15,
+0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x12, 0x1E,
+0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x10,
+0xFF, 0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x15,
+0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x12, 0x1E,
+0xF6, 0xFC, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x15, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90, 0x00, 0x03,
+0x12, 0x1F, 0x0F, 0xFD, 0x54, 0x01, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xED,
+0x54, 0x02, 0xFF, 0xE0, 0x54, 0xFD, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFD, 0x54,
+0x04, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0xFB, 0x4F, 0xF0, 0xED, 0x54, 0x10, 0xFF, 0xE0, 0x54,
+0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x18,
+0xE0, 0x54, 0xDF, 0x4E, 0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00,
+0x03, 0x12, 0x1F, 0x0F, 0x54, 0x80, 0xFF, 0x90, 0x93, 0x18, 0xE0, 0x54, 0x7F, 0x4F, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x20, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xDF, 0x4E,
+0xF0, 0xEF, 0x54, 0x40, 0xFF, 0xE0, 0x54, 0xBF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F,
+0xFF, 0x54, 0x80, 0xFE, 0x90, 0x93, 0x19, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x10, 0xFF,
+0xE0, 0x54, 0xEF, 0x4F, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x04, 0xFE, 0x90,
+0x93, 0x19, 0xE0, 0x54, 0xFB, 0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0,
+0xEC, 0x20, 0xE0, 0x02, 0xC1, 0xF3, 0x90, 0x05, 0x54, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x25, 0xF0,
+0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x1C, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8,
+0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x16, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0x90, 0x93, 0x17, 0xF0, 0x80, 0x4E, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x01, 0x12,
+0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03, 0x90, 0x93, 0x16, 0x50,
+0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93, 0x16, 0x74, 0x2A, 0xF0,
+0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0xC3, 0x94, 0x2A, 0x50, 0x12, 0xEF, 0xC3, 0x94, 0x03,
+0x90, 0x93, 0x17, 0x50, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x0A, 0xEF, 0xF0, 0x80, 0x06, 0x90, 0x93,
+0x17, 0x74, 0x2A, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0, 0x3D,
+0x90, 0x93, 0x16, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x1E, 0xF0, 0xE0, 0xC3, 0x13, 0xA3,
+0xF0, 0x90, 0x93, 0x17, 0xE0, 0x75, 0xF0, 0x03, 0x84, 0x90, 0x93, 0x20, 0xF0, 0x90, 0x93, 0x16,
+0xE0, 0xC3, 0x13, 0x90, 0x93, 0x21, 0xF0, 0x90, 0x93, 0x17, 0xE0, 0xC3, 0x13, 0x90, 0x93, 0x22,
+0xF0, 0x90, 0x01, 0x3E, 0x74, 0x08, 0xF0, 0xFD, 0x7F, 0x02, 0x12, 0x3A, 0xAD, 0xE4, 0x90, 0x93,
+0x11, 0xF0, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xC4, 0x13,
+0x13, 0x54, 0x03, 0x20, 0xE0, 0x14, 0x12, 0x1E, 0xF6, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x30, 0xE0,
+0x04, 0x7F, 0x01, 0x80, 0x02, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x54,
+0x0F, 0x30, 0xE0, 0x18, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x54, 0x07, 0x30, 0xE0, 0x03, 0x75,
+0x64, 0x04, 0x90, 0x05, 0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x11, 0xF0, 0x90, 0x05, 0x58, 0x74,
+0x03, 0xF0, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x80,
+0x2B, 0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x04, 0x08, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x80, 0x1C,
+0x90, 0x93, 0x1D, 0xE0, 0xB4, 0x06, 0x08, 0x90, 0x93, 0x27, 0x74, 0x02, 0xF0, 0x80, 0x0D, 0x90,
+0x93, 0x1D, 0xE0, 0xB4, 0x07, 0x06, 0x90, 0x93, 0x27, 0x74, 0x05, 0xF0, 0xE4, 0x90, 0x93, 0x1D,
+0xF0, 0x80, 0x65, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x13, 0x13, 0x13,
+0x54, 0x1F, 0x90, 0x93, 0x83, 0x30, 0xE0, 0x09, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80,
+0x07, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x12, 0x9B, 0x2D, 0x90, 0x00, 0x40, 0x74, 0x20,
+0xF0, 0x90, 0x93, 0x87, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x13, 0x13, 0x13,
+0x54, 0x1F, 0x90, 0x07, 0x78, 0x30, 0xE0, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0,
+0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x12, 0x55, 0x4D, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x05,
+0x00, 0x74, 0x1C, 0xF0, 0xA3, 0x74, 0x43, 0xF0, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0xE4,
+0x90, 0x93, 0x26, 0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0,
+0x09, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x80, 0x0C, 0x7F, 0x01, 0x12, 0x55, 0x98, 0x90,
+0x93, 0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x7F, 0x03, 0x51, 0xBF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xC0,
+0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01,
+0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0x53, 0x91, 0xBF, 0x90,
+0xFD, 0x68, 0xE0, 0x20, 0xE0, 0x03, 0x02, 0x72, 0x0E, 0x90, 0x93, 0x94, 0xE0, 0x70, 0x16, 0x90,
+0x00, 0x2E, 0xE0, 0x90, 0x93, 0x0F, 0xF0, 0x90, 0x00, 0x2D, 0xE0, 0x90, 0x93, 0x10, 0xF0, 0x90,
+0x93, 0x94, 0x74, 0x01, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x54, 0x3F, 0xD3, 0x94, 0x09, 0x50, 0x03,
+0x12, 0x9B, 0xE0, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x0E, 0x60, 0x03, 0x02, 0x70, 0x93, 0x90, 0x93,
+0x04, 0xE0, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x20, 0xE0, 0x03, 0x02, 0x70, 0x93, 0x90, 0xFD,
+0x62, 0xE0, 0x54, 0xC0, 0xFE, 0x90, 0x07, 0x90, 0xE0, 0x54, 0x3F, 0x4E, 0xF0, 0x90, 0xFD, 0x63,
+0xE0, 0x90, 0x07, 0x91, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x07, 0x92, 0xF0, 0x90, 0xFD, 0x65,
+0xE0, 0x90, 0x07, 0x93, 0xF0, 0x90, 0x07, 0x95, 0x74, 0x01, 0xF0, 0xEF, 0x20, 0xE0, 0x44, 0x90,
+0x93, 0x04, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x19, 0x90, 0x07, 0x78, 0x12, 0x58, 0xF0,
+0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x49, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x40,
+0xF0, 0x80, 0x40, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0xC3, 0x13, 0x30, 0xE0, 0x11, 0xE4, 0xFF, 0x12,
+0x55, 0x98, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x01, 0xF0, 0xA3, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07,
+0x78, 0x80, 0x14, 0x90, 0x93, 0x04, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x90, 0x07, 0x78, 0x30,
+0xE0, 0x05, 0x12, 0x58, 0xF0, 0x80, 0x0C, 0xE0, 0x44, 0x10, 0xF0, 0xE0, 0x44, 0x20, 0xF0, 0xE0,
+0x54, 0xDF, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x0F, 0x0A, 0x90, 0xFD, 0x62, 0xE0, 0xFF, 0xA3,
+0xE0, 0xFD, 0x51, 0xCA, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x15, 0x70, 0x76, 0x90, 0xFD, 0x62, 0xE0,
+0x90, 0x93, 0x6A, 0xF0, 0xE0, 0x30, 0xE6, 0x1C, 0xF4, 0x54, 0x3F, 0x04, 0xFF, 0x90, 0x93, 0x0F,
+0xE0, 0x13, 0x13, 0x54, 0x3F, 0xC3, 0x9F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x20,
+0xE4, 0xF0, 0x80, 0x1C, 0x90, 0x93, 0x0F, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0xFF, 0x90, 0x93, 0x6A,
+0xE0, 0x54, 0x3F, 0x2F, 0x90, 0x93, 0x69, 0xF0, 0xD3, 0x94, 0x3F, 0x40, 0x03, 0x74, 0x3F, 0xF0,
+0x90, 0x93, 0x69, 0xE0, 0xFF, 0x90, 0x01, 0xE7, 0xF0, 0xEF, 0x54, 0x30, 0xC4, 0x54, 0x0F, 0xFF,
+0x90, 0x93, 0x69, 0xE0, 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0x4F, 0x90, 0x93, 0x6B, 0xF0, 0x90, 0x00,
+0x2E, 0xF0, 0xEE, 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x93, 0x10, 0xE0, 0x54, 0x0F, 0x4F, 0x90, 0x00,
+0x2D, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x16, 0x07, 0x90, 0xFD, 0x62, 0xE0, 0xFF, 0x51, 0x29,
+0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x21, 0x07, 0x90, 0xFD, 0x62, 0xE0, 0xFF, 0x51, 0x51, 0x90, 0xFD,
+0x60, 0xE0, 0xB4, 0x22, 0x02, 0x51, 0x79, 0x90, 0xFD, 0x60, 0xE0, 0x64, 0x23, 0x70, 0x7B, 0x90,
+0xFD, 0x62, 0xE0, 0x90, 0x93, 0x2C, 0x30, 0xE0, 0x05, 0x74, 0x01, 0xF0, 0x80, 0x02, 0xE4, 0xF0,
+0x90, 0xFD, 0x65, 0xE0, 0x30, 0xE1, 0x5B, 0x90, 0x93, 0x2D, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x05,
+0x22, 0x74, 0xFF, 0xF0, 0x7F, 0x60, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x32, 0x12, 0x1F,
+0xC9, 0xE4, 0xFF, 0x12, 0x50, 0xDC, 0x7F, 0x70, 0x7E, 0x08, 0x12, 0x2C, 0x6E, 0x90, 0x93, 0x2E,
+0x12, 0x1F, 0xC9, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00, 0x7F, 0x70, 0x7E,
+0x08, 0x12, 0x34, 0x30, 0x90, 0x01, 0xBE, 0xE0, 0x04, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93,
+0x2D, 0x30, 0xE2, 0x08, 0xE0, 0x54, 0x1F, 0x44, 0x20, 0xF0, 0x80, 0x06, 0xE0, 0x54, 0x1F, 0x44,
+0x60, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0xFF, 0x12, 0x9C, 0x4C, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x24,
+0x02, 0x51, 0xA1, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x25, 0x13, 0x90, 0xFD, 0x62, 0xE0, 0x60, 0x0D,
+0x90, 0x93, 0x1C, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x93, 0x24, 0x74, 0x04, 0xF0, 0x90, 0xFD, 0x60,
+0xE0, 0xB4, 0x26, 0x05, 0x7F, 0x01, 0x12, 0x9C, 0xE8, 0x90, 0xFD, 0x60, 0xE0, 0xB4, 0x30, 0x07,
+0xE4, 0xFB, 0xFD, 0x7F, 0x01, 0x51, 0xF5, 0x90, 0xFD, 0x68, 0xE0, 0x44, 0x01, 0xF0, 0xD0, 0x07,
+0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0,
+0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54,
+0xF0, 0x44, 0x07, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01,
+0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57,
+0x1F, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x09, 0xF0, 0x54, 0x0F, 0x44, 0x10,
+0xF0, 0x90, 0x93, 0x6E, 0xEF, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12,
+0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57, 0x1F, 0x90, 0x00, 0x75, 0xE0, 0x44, 0x01, 0xF0,
+0x7F, 0x01, 0x7E, 0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0x74, 0x03, 0xF0, 0x7F, 0x02, 0x7E,
+0x00, 0x12, 0x3A, 0x78, 0x90, 0xFE, 0x13, 0xE4, 0xF0, 0x90, 0x00, 0x75, 0xE0, 0x54, 0xFE, 0xF0,
+0x22, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0D, 0xF0, 0x54, 0x0F, 0x44, 0x10, 0xF0, 0x90,
+0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6E, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19,
+0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57, 0x1F, 0xAE, 0x07, 0x90, 0x93, 0x6C, 0xE0,
+0x54, 0xF0, 0x44, 0x04, 0xF0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0xEE, 0xF0, 0xA3,
+0xED, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93,
+0x79, 0x6C, 0x02, 0x57, 0x1F, 0xAC, 0x07, 0x90, 0x93, 0xD9, 0xE0, 0x44, 0x0F, 0xF0, 0x54, 0x0F,
+0x44, 0x70, 0xF0, 0x90, 0x93, 0xDB, 0xEC, 0xF0, 0x60, 0x32, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93,
+0xDC, 0xF0, 0x90, 0xFD, 0x61, 0xE0, 0x90, 0x93, 0xDD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93,
+0xDE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xDF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93,
+0xE0, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0xE1, 0xF0, 0x80, 0x11, 0x90, 0x93, 0xDC, 0xED,
+0xF0, 0xA3, 0xEB, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A,
+0x93, 0x79, 0xDB, 0x90, 0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0xD9, 0x02, 0x57, 0x1F,
+0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x83, 0xF0, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x84, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93,
+0x85, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x00, 0x04, 0x12,
+0x1F, 0x0F, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFD, 0x58, 0xE0, 0x20,
+0xE0, 0x15, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x7F, 0x30, 0x12, 0x98, 0x37, 0x90, 0x93, 0x83,
+0xE0, 0xFB, 0x7D, 0x01, 0xE4, 0x80, 0x07, 0x90, 0x93, 0x83, 0xE0, 0xFB, 0xE4, 0xFD, 0xFF, 0x51,
+0xF5, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x80, 0x12, 0x43, 0xC8, 0xEF, 0x12, 0x43, 0xD1,
+0x74, 0x73, 0x01, 0x74, 0x6A, 0x02, 0x74, 0xBB, 0x03, 0x74, 0xC4, 0x05, 0x74, 0xCD, 0x06, 0x76,
+0x24, 0x07, 0x74, 0xD6, 0x0B, 0x74, 0xDF, 0x10, 0x74, 0xE7, 0x11, 0x74, 0xEF, 0x12, 0x74, 0xF7,
+0x13, 0x75, 0x00, 0x14, 0x75, 0x09, 0x15, 0x75, 0x11, 0x16, 0x75, 0x1B, 0x17, 0x75, 0x25, 0x18,
+0x75, 0x2F, 0x19, 0x75, 0xF1, 0x1B, 0x75, 0xFA, 0x1C, 0x75, 0x38, 0x1D, 0x75, 0x42, 0x1E, 0x75,
+0x4D, 0x21, 0x75, 0x55, 0x22, 0x75, 0x5D, 0x23, 0x75, 0x65, 0x24, 0x75, 0x6D, 0x25, 0x75, 0x75,
+0x26, 0x75, 0x7D, 0x27, 0x75, 0x86, 0x28, 0x75, 0x8F, 0x29, 0x74, 0x7C, 0x2D, 0x74, 0x85, 0x2E,
+0x75, 0x98, 0x2F, 0x76, 0x03, 0x30, 0x75, 0xA9, 0x32, 0x75, 0xA0, 0x33, 0x74, 0x97, 0x34, 0x75,
+0xB2, 0x36, 0x75, 0xBB, 0x37, 0x75, 0xC4, 0x38, 0x75, 0xCD, 0x3A, 0x74, 0x8E, 0x3B, 0x75, 0xD6,
+0x3E, 0x75, 0xDF, 0x3F, 0x75, 0xE8, 0x41, 0x76, 0x0C, 0x46, 0x74, 0xA0, 0x47, 0x74, 0xB2, 0x48,
+0x74, 0xA9, 0x49, 0x76, 0x14, 0x4B, 0x00, 0x00, 0x76, 0x1D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8,
+0x02, 0x90, 0x7B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x90, 0x81, 0x90, 0x93, 0x80, 0x12,
+0x43, 0xA8, 0x02, 0x91, 0x62, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x91, 0xAA, 0x90, 0x93,
+0x80, 0x12, 0x43, 0xA8, 0x02, 0x91, 0xE3, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x15,
+0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x92, 0x1B, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02,
+0x92, 0xDB, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x2F, 0x90, 0x93, 0x80, 0x12, 0x43,
+0xA8, 0x02, 0x92, 0xEC, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x41, 0x90, 0x93, 0x80,
+0x12, 0x43, 0xA8, 0x02, 0x8F, 0x13, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x9E, 0x90,
+0x93, 0x80, 0x12, 0x43, 0xA8, 0xC1, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xC1, 0x2B, 0x90,
+0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0x52, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x93, 0x34,
+0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x93, 0x4E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xC1,
+0xBE, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x01, 0x80, 0x2F, 0x90, 0x93, 0x80, 0x12, 0x43,
+0xA8, 0x7F, 0x02, 0x80, 0x25, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x03, 0x80, 0x1B, 0x90,
+0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0x16, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE4, 0xFF,
+0x80, 0x08, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x7F, 0x04, 0x02, 0x94, 0x34, 0x90, 0x93, 0x80,
+0x12, 0x43, 0xA8, 0xE1, 0x67, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0x7F, 0x90, 0x93, 0x80,
+0x12, 0x43, 0xA8, 0xE1, 0x97, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0xAF, 0x90, 0x93, 0x80,
+0x12, 0x43, 0xA8, 0xE1, 0xC7, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0xDF, 0x90, 0x93, 0x80,
+0x12, 0x43, 0xA8, 0x02, 0x95, 0x4E, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0x67, 0x90,
+0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0x80, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0xE1, 0x58,
+0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0xA8, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02,
+0x95, 0xC1, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x95, 0xDA, 0x90, 0x93, 0x80, 0x12, 0x43,
+0xA8, 0x02, 0x97, 0x8D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x97, 0x9F, 0x90, 0x93, 0x80,
+0x12, 0x43, 0xA8, 0x02, 0x6C, 0x79, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xC2, 0x90,
+0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x97, 0xDB, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x98,
+0x16, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x8F, 0x6D, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8,
+0x02, 0x8F, 0x29, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x9A, 0x96, 0x90, 0x93, 0x80, 0x12,
+0x43, 0xA8, 0x61, 0x60, 0x90, 0x93, 0x80, 0x12, 0x43, 0xA8, 0x02, 0x98, 0x81, 0x90, 0x01, 0xC6,
+0xE0, 0x44, 0x01, 0xF0, 0x22, 0x7D, 0x05, 0x7F, 0x0B, 0x80, 0x0A, 0x7D, 0x01, 0x7F, 0x0C, 0x80,
+0x04, 0x7D, 0x03, 0x7F, 0x11, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x41, 0x12,
+0x43, 0xC8, 0xE4, 0xFE, 0x90, 0x00, 0xA3, 0xE0, 0x54, 0xF8, 0x44, 0x05, 0xF0, 0x90, 0x00, 0xA0,
+0xE0, 0x54, 0x0F, 0x64, 0x04, 0x70, 0x5A, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x49, 0x90, 0xFD,
+0x50, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xEE, 0xC3, 0x9D, 0x50, 0x1E, 0x90, 0x94, 0x41, 0x12, 0x43,
+0xA8, 0x8E, 0x82, 0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x52, 0x2E, 0xF5, 0x82, 0xE4,
+0x34, 0xFD, 0xF5, 0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDD, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x0F, 0x74,
+0x52, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5, 0x83, 0xE4, 0xF0, 0x0E, 0x80, 0xEB, 0x90, 0xFD,
+0x58, 0x74, 0x01, 0xF0, 0xFF, 0x80, 0x12, 0x90, 0x01, 0x43, 0xE0, 0x04, 0xF0, 0x7F, 0x02, 0x80,
+0x08, 0x90, 0x01, 0x42, 0xE0, 0x04, 0xF0, 0x7F, 0x03, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93,
+0x83, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x86, 0xF0, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x42, 0x90,
+0x07, 0x78, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x07, 0x78,
+0xE0, 0x44, 0x80, 0x54, 0xBF, 0xF0, 0x90, 0x93, 0x86, 0x74, 0x01, 0xF0, 0xFB, 0x7A, 0x93, 0x79,
+0x86, 0xFD, 0x7F, 0x1A, 0xD1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x30,
+0xE1, 0x4F, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x44, 0x06, 0xF0,
+0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54, 0x3F, 0xF0, 0x90,
+0x07, 0x83, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x07, 0x95, 0xE0, 0x54, 0xF9, 0xF0, 0x90, 0x93, 0x0B,
+0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x80, 0x7E, 0x08, 0x12, 0x34, 0x30,
+0xE4, 0x90, 0x93, 0x86, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x86, 0x7D, 0x01, 0x7F, 0x1A, 0xD1,
+0x35, 0x22, 0x7D, 0x01, 0x7F, 0x0D, 0xC1, 0x35, 0x12, 0x1E, 0xF6, 0xFF, 0xE9, 0x24, 0x01, 0xF9,
+0xE4, 0x3A, 0xFA, 0x7D, 0x04, 0xC1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x17, 0xC1, 0x35, 0x90,
+0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43,
+0xA8, 0x7D, 0x01, 0x7F, 0x18, 0xC1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x19, 0xC1, 0x35, 0x90,
+0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43,
+0xA8, 0x7D, 0x01, 0x7F, 0x1A, 0xC1, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1B, 0xC1, 0x35, 0x90,
+0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43,
+0xA8, 0x7D, 0x01, 0x7F, 0x1C, 0xC1, 0x35, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x01,
+0xCC, 0xE0, 0x54, 0x0F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFD, 0x70, 0x02, 0x21,
+0x40, 0x90, 0x94, 0x4A, 0xE0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3,
+0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xEF, 0x5D, 0x70, 0x02, 0x21, 0x39, 0x90, 0x94, 0x4A,
+0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD0, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x79, 0xF0, 0x75,
+0x20, 0x01, 0x75, 0x21, 0x93, 0x75, 0x22, 0x79, 0x75, 0x23, 0x01, 0x7B, 0x01, 0x7A, 0x93, 0x79,
+0x7A, 0x12, 0x56, 0xD0, 0x90, 0x93, 0x7A, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90,
+0x94, 0x4A, 0x30, 0xE0, 0x59, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x88, 0x12, 0x43, 0x9C, 0xE0,
+0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x02, 0x90, 0x00, 0x89, 0x12, 0x43,
+0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD1,
+0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x04, 0x90,
+0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7E, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0x75, 0xF0,
+0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7F, 0xF0, 0x80, 0x33, 0xE0, 0x75,
+0xF0, 0x04, 0x90, 0x01, 0xD1, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7B, 0xF0, 0x90, 0x94, 0x4A,
+0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD2, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7C, 0xF0, 0x90,
+0x94, 0x4A, 0xE0, 0x75, 0xF0, 0x04, 0x90, 0x01, 0xD3, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x7D,
+0xF0, 0xEF, 0x54, 0x7F, 0xFF, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x7B, 0x12, 0x73, 0xC6, 0x90, 0x93,
+0x78, 0xE0, 0xFF, 0x90, 0x94, 0x4A, 0xE0, 0xFE, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3,
+0x33, 0xD8, 0xFC, 0xF4, 0x5F, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x94, 0x4A, 0xE0, 0xFF, 0x74, 0x01,
+0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0x90, 0x01, 0xCC, 0xF0, 0x90, 0x94, 0x4A,
+0xE0, 0x04, 0xF0, 0xE0, 0x54, 0x03, 0xF0, 0x01, 0x08, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x02, 0xF0,
+0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x22, 0x12,
+0x43, 0xC8, 0x90, 0x94, 0x25, 0xE0, 0x54, 0xF0, 0x44, 0x06, 0xFF, 0xF0, 0xED, 0x54, 0x0F, 0xC4,
+0x54, 0xF0, 0xFE, 0xEF, 0x54, 0x0F, 0x4E, 0xF0, 0x90, 0x94, 0x22, 0x12, 0x43, 0xA8, 0x90, 0x94,
+0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x94, 0x79, 0x25, 0x12, 0x57, 0x1F, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0xEF, 0xC3, 0x94, 0x20, 0x50, 0x0E, 0x74,
+0x84, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xED, 0xF0, 0x80, 0x29, 0x74, 0x27, 0x2F,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x93, 0xCC, 0xEF, 0xF0, 0x24, 0x27,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0xCD, 0xF0, 0x7B, 0x01, 0x7A, 0x93,
+0x79, 0xCC, 0x7D, 0x02, 0x31, 0x45, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0xAD, 0x07, 0x75, 0xF0, 0x09,
+0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x62, 0xF0, 0x74, 0x28, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83, 0xE0, 0x54, 0x1F, 0x90, 0x93, 0x61, 0xF0, 0x74, 0xE8, 0x2D,
+0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x5D, 0x74, 0xE8, 0x2D, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x85, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83,
+0xE0, 0xFF, 0x74, 0x82, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0x85,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0x74, 0xC6,
+0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEF, 0xF0, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4,
+0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0xC8, 0x40, 0x0D, 0x74, 0xC6, 0x2D, 0xF5, 0x82, 0xE4,
+0x34, 0x8E, 0xF5, 0x83, 0x74, 0xC8, 0xF0, 0x90, 0x93, 0x62, 0xE0, 0xFF, 0x90, 0x93, 0x61, 0xE0,
+0xD3, 0x9F, 0x40, 0x02, 0xEF, 0xF0, 0x90, 0x93, 0x61, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5,
+0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0,
+0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93,
+0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x61, 0xE0, 0xFD, 0x31,
+0x82, 0x90, 0x01, 0x02, 0xE0, 0x54, 0x03, 0x64, 0x03, 0x60, 0x12, 0x90, 0x04, 0x30, 0xE0, 0x70,
+0x0C, 0x04, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x90, 0x04, 0xCF, 0x04, 0xF0, 0x90, 0x93, 0x61,
+0xE0, 0xFF, 0x22, 0xAC, 0x07, 0xEC, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2C, 0xF5, 0x82,
+0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27,
+0x2C, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90,
+0x93, 0x88, 0xE0, 0x54, 0x1F, 0xFF, 0x90, 0x93, 0x8B, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A,
+0x89, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x8D, 0xF0, 0x75, 0xF0, 0x09, 0xEC, 0x90, 0x8A, 0x88,
+0x12, 0x43, 0x9C, 0xE0, 0xFE, 0x90, 0x93, 0x8E, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82,
+0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8F, 0xCB, 0xF0, 0xA3, 0xEB,
+0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFB, 0xA3,
+0xE0, 0x90, 0x93, 0x91, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0xC6, 0x2C, 0xF5, 0x82, 0xE4, 0x34,
+0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0xD3, 0x9E, 0x40, 0x0C, 0x90, 0x93, 0x8E, 0xE0, 0x90, 0x93,
+0x8B, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xED, 0x70, 0x02, 0x81, 0x5D, 0x90, 0x93, 0x8C, 0xED, 0xF0,
+0x90, 0x93, 0x88, 0xE0, 0x30, 0xE6, 0x0E, 0x90, 0x93, 0x8B, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90,
+0x93, 0x8C, 0xE0, 0x14, 0xF0, 0x90, 0x93, 0x8C, 0xE0, 0x70, 0x02, 0x81, 0x5D, 0x90, 0x93, 0x8B,
+0xE0, 0xFF, 0xD3, 0x94, 0x00, 0x50, 0x02, 0x81, 0x5D, 0xE4, 0x90, 0x93, 0x8A, 0xF0, 0xEF, 0x14,
+0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x8D, 0xE0, 0xFD, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0xD3, 0x9D,
+0x40, 0x6F, 0xEF, 0x94, 0x10, 0x40, 0x21, 0xEF, 0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8,
+0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x91, 0xE0,
+0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0xC3, 0x94, 0x10,
+0x50, 0x37, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8F, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x1A, 0x90,
+0x93, 0x89, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0x90, 0x93, 0x8C,
+0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0x6F, 0x60, 0x08, 0x90, 0x93, 0x89, 0xE0, 0x14, 0xF0, 0x80,
+0x83, 0x90, 0x93, 0x8C, 0xE0, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xC3, 0x9F, 0x50, 0x0F, 0x90, 0x93,
+0x89, 0xE0, 0xB5, 0x05, 0x08, 0x90, 0x93, 0x8D, 0xE0, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88,
+0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA,
+0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83,
+0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xEC, 0x25,
+0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF,
+0x04, 0x90, 0x93, 0x88, 0xE0, 0xFD, 0x31, 0x82, 0x90, 0x93, 0x88, 0xE0, 0xFF, 0x22, 0xAD, 0x07,
+0xED, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83,
+0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x80, 0x11, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34,
+0x91, 0xF5, 0x83, 0xE0, 0x54, 0x7F, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x93, 0x88, 0xE0, 0xF9, 0x54,
+0x1F, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0xFF, 0x90,
+0x93, 0x8B, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0,
+0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8C, 0xCB, 0xF0, 0xA3, 0xEB, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0xFB, 0xA3, 0xE0, 0x90, 0x93, 0x8E, 0xCB, 0xF0,
+0xA3, 0xEB, 0xF0, 0x90, 0x93, 0x89, 0xE0, 0xFE, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5,
+0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEA, 0xF0, 0xA3, 0xEB, 0xF0, 0xEE, 0xC3, 0x9F, 0x40, 0x02,
+0xC1, 0x0B, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5,
+0x83, 0xEF, 0xF0, 0xEF, 0x04, 0x90, 0x93, 0x8A, 0xF0, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x90, 0x93,
+0x8A, 0xE0, 0xFE, 0xD3, 0x9F, 0x40, 0x02, 0xC1, 0x45, 0xEE, 0xC3, 0x94, 0x10, 0x40, 0x21, 0xEE,
+0x24, 0xF0, 0xFF, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33,
+0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8C, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x70, 0x27,
+0x90, 0x93, 0x8A, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x59, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07,
+0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x93, 0x8E, 0xE0, 0x5E,
+0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x3C, 0x90, 0x93, 0x8A, 0xE0, 0xB4, 0x11, 0x0D, 0x90, 0x93,
+0x8D, 0xE0, 0x30, 0xE7, 0x06, 0x90, 0x93, 0x8A, 0x74, 0x17, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0xFF,
+0x64, 0x13, 0x60, 0x04, 0xEF, 0xB4, 0x12, 0x0D, 0x90, 0x93, 0x8C, 0xE0, 0x30, 0xE0, 0x06, 0x90,
+0x93, 0x8A, 0x74, 0x18, 0xF0, 0x90, 0x93, 0x8A, 0xE0, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x88,
+0xF0, 0x80, 0x42, 0x90, 0x93, 0x8A, 0xE0, 0x04, 0xF0, 0xA1, 0x69, 0x90, 0x93, 0x8B, 0xE0, 0xFC,
+0x90, 0x93, 0x89, 0xE0, 0xFF, 0x6C, 0x70, 0x71, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92,
+0xF5, 0x83, 0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0xE0, 0xB4,
+0x01, 0x10, 0xE9, 0x20, 0xE6, 0x0C, 0x90, 0x93, 0x89, 0xE0, 0x44, 0x40, 0x90, 0x93, 0x88, 0xF0,
+0x80, 0x03, 0xAF, 0x01, 0x22, 0x90, 0x93, 0x89, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82,
+0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93, 0xFB, 0xEF, 0x25, 0xE0, 0x24,
+0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93, 0x2B, 0xFF, 0xE4, 0x93, 0x3A,
+0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A,
+0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x66, 0x90, 0x93, 0x89, 0xE0, 0xD3, 0x9C, 0x40,
+0x5E, 0x90, 0x93, 0x8B, 0xE0, 0xFF, 0x74, 0x28, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x92, 0xF5, 0x83,
+0xEF, 0xF0, 0x90, 0x93, 0x89, 0xEF, 0xF0, 0x90, 0x93, 0x88, 0xF0, 0xFC, 0xA3, 0xE0, 0xFF, 0x25,
+0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFA, 0x74, 0x01, 0x93,
+0xFB, 0xEF, 0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0x74, 0x01, 0x93,
+0x2B, 0xFF, 0xE4, 0x93, 0x3A, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x02,
+0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xAF, 0x04, 0x22, 0x74,
+0x01, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE4, 0xF0, 0xAF, 0x05, 0x90, 0x93, 0x88,
+0xE0, 0x44, 0x80, 0xFD, 0x31, 0x82, 0x90, 0x93, 0x88, 0xE0, 0x44, 0x80, 0xFF, 0x22, 0xEF, 0xC3,
+0x94, 0x20, 0x50, 0x39, 0xEF, 0x30, 0xE0, 0x17, 0xED, 0xC4, 0x54, 0xF0, 0xFD, 0xEF, 0xC3, 0x13,
+0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x0F, 0x80, 0x10, 0xEF,
+0xC3, 0x13, 0xFE, 0x24, 0xA4, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0xF0, 0xF0,
+0x74, 0xA4, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x4D, 0xF0, 0x22, 0xE4, 0x90,
+0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x03, 0x02, 0x87, 0x50,
+0xEF, 0xB4, 0x20, 0x14, 0x90, 0x8F, 0x46, 0xE0, 0x04, 0xF0, 0x90, 0x89, 0x01, 0xE0, 0xFF, 0x90,
+0x8F, 0x46, 0xE0, 0xB5, 0x07, 0x02, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x75, 0xF0, 0x09,
+0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0xE0, 0x64, 0x01, 0x60, 0x03, 0x02, 0x87, 0x47, 0xEF, 0x25,
+0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xD3, 0x94,
+0x00, 0xEE, 0x94, 0x00, 0x50, 0x03, 0x02, 0x87, 0x47, 0x90, 0x93, 0x78, 0xE0, 0x94, 0x20, 0x40,
+0x09, 0x90, 0x8F, 0x46, 0xE0, 0x60, 0x03, 0x02, 0x87, 0x50, 0x90, 0x93, 0x78, 0xE0, 0x75, 0xF0,
+0x0A, 0xA4, 0x24, 0x00, 0xF9, 0x74, 0x84, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5, 0x5B, 0x89, 0x5C,
+0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE0, 0xFD, 0xA3,
+0xE0, 0x90, 0x93, 0x7D, 0xCD, 0xF0, 0xA3, 0xED, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82,
+0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7F, 0xCF, 0xF0, 0xA3, 0xEF,
+0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x20, 0x50, 0x13, 0x74, 0x84, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93, 0x79, 0xF0, 0x80, 0x14, 0x90, 0x93,
+0x78, 0xE0, 0x24, 0x27, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0x54, 0x3F, 0x90, 0x93,
+0x79, 0xF0, 0x90, 0x93, 0x79, 0xE0, 0xFE, 0x54, 0x1F, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF,
+0x75, 0xF0, 0x09, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xE0, 0x90, 0x93, 0x82, 0xF0, 0x74, 0x67,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x02, 0x41, 0xE5,
+0x90, 0x93, 0x82, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x9F, 0x40, 0x13, 0x90, 0x93, 0x82, 0xE0,
+0x90, 0x93, 0x7A, 0xF0, 0xEE, 0x54, 0x40, 0xFE, 0x90, 0x93, 0x79, 0xF0, 0xEF, 0x4E, 0xF0, 0x90,
+0x93, 0x7A, 0xE0, 0xFF, 0x90, 0x41, 0x18, 0x93, 0xFE, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x85, 0xF5,
+0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x40, 0x06, 0xEF, 0x90, 0x40, 0xE0, 0x80,
+0x07, 0x90, 0x93, 0x7A, 0xE0, 0x90, 0x40, 0xFC, 0x93, 0x90, 0x93, 0x81, 0xF0, 0x90, 0x93, 0x81,
+0xE0, 0x75, 0xF0, 0x06, 0xA4, 0x24, 0x56, 0xF9, 0x74, 0x40, 0x35, 0xF0, 0xFA, 0x7B, 0xFF, 0x8B,
+0x57, 0xF5, 0x58, 0x89, 0x59, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0x8A, 0xF5, 0x83, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x93, 0x7B, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0,
+0x12, 0x1E, 0xF6, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x9D, 0xFD,
+0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57,
+0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x02, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90,
+0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00,
+0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x04,
+0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12,
+0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0x7E,
+0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x06, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0,
+0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58,
+0xA9, 0x59, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9,
+0x5C, 0x90, 0x00, 0x08, 0x12, 0x42, 0xC8, 0xFD, 0xAC, 0xF0, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B,
+0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0xAB, 0x57, 0xAA, 0x58, 0xA9, 0x59, 0x90, 0x00, 0x05, 0x12,
+0x1F, 0x0F, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x1F, 0x3C,
+0xD3, 0x90, 0x93, 0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x0C, 0xA3, 0xE0, 0x9F,
+0xF0, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0xF0, 0x80, 0x07, 0xE4, 0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0,
+0x90, 0x93, 0x7B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x93, 0x78, 0xE0, 0x25, 0xE0, 0x24, 0x02,
+0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x79, 0xE0,
+0x25, 0xE0, 0x24, 0x34, 0xF5, 0x82, 0xE4, 0x34, 0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFC, 0x74, 0x01,
+0x93, 0xFD, 0xD3, 0xEF, 0x9D, 0xEE, 0x9C, 0x50, 0x02, 0x41, 0xB4, 0x90, 0x93, 0x78, 0xE0, 0xFF,
+0x24, 0x82, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9E, 0x40, 0x03, 0xEF, 0x80, 0x1C, 0x90, 0x93,
+0x78, 0xE0, 0xFF, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x82,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x90, 0x93, 0x83, 0xF0, 0x90,
+0x93, 0x83, 0xE0, 0xD3, 0x94, 0x04, 0x40, 0x02, 0x80, 0x23, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24,
+0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x01, 0x40, 0x0F, 0x74, 0xC6,
+0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78,
+0xE0, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0,
+0xFF, 0x24, 0xC6, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0x60, 0x02, 0xA1, 0xF5, 0x12,
+0x7C, 0xAE, 0xA1, 0xF5, 0x90, 0x93, 0x79, 0xE0, 0x25, 0xE0, 0x24, 0x6C, 0xF5, 0x82, 0xE4, 0x34,
+0x41, 0xF5, 0x83, 0xE4, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0xC3, 0x90, 0x93, 0x7C, 0xE0, 0x9F,
+0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x40, 0x02, 0xA1, 0xF5, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x7D, 0x01,
+0x12, 0x7A, 0xE3, 0xA1, 0xF5, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34,
+0x91, 0xF5, 0x83, 0xE0, 0xFC, 0x64, 0x05, 0x60, 0x02, 0x81, 0xC3, 0x90, 0x8A, 0x83, 0xE0, 0xFE,
+0xB4, 0x03, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x19, 0x40, 0x3D, 0x80, 0x2E, 0xEE, 0xB4,
+0x02, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x11, 0x40, 0x2E, 0x80, 0x1F, 0x90, 0x8A, 0x83,
+0xE0, 0xFE, 0xB4, 0x01, 0x0B, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x0A, 0x40, 0x1B, 0x80, 0x0C,
+0xEE, 0x70, 0x11, 0x90, 0x93, 0x7A, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0x0D, 0x90, 0x8E, 0xC5, 0x74,
+0x01, 0xF0, 0x80, 0x05, 0xE4, 0x90, 0x8E, 0xC5, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFE, 0x24, 0xC4,
+0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, 0x74, 0x85, 0x2E, 0xF5,
+0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x94, 0x30, 0x50, 0x0A, 0xE4, 0x90, 0x93,
+0x87, 0xF0, 0x74, 0x67, 0x2F, 0x81, 0x6E, 0x90, 0x8E, 0xC5, 0xE0, 0x64, 0x01, 0x60, 0x02, 0x81,
+0x63, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x64,
+0x0A, 0x60, 0x5B, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xEE, 0x24, 0x05, 0xFB, 0xE4, 0x33, 0xFA, 0x74,
+0x41, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x88, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x9B, 0xEA, 0x64, 0x80,
+0xF8, 0x74, 0x80, 0x98, 0x50, 0x38, 0x90, 0x93, 0x78, 0xE0, 0xFE, 0xEF, 0x24, 0x05, 0xFB, 0xE4,
+0x33, 0xFA, 0x74, 0x85, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0xEA,
+0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x16, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xA7, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x93, 0x7A, 0xE0, 0x6F, 0x60, 0x56, 0x90, 0x93,
+0x78, 0xE0, 0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFF, 0xD3, 0x94, 0x42,
+0x40, 0x08, 0x90, 0x93, 0x87, 0x74, 0x05, 0xF0, 0x80, 0x11, 0xEF, 0xD3, 0x94, 0x39, 0x90, 0x93,
+0x87, 0x40, 0x05, 0x74, 0x03, 0xF0, 0x80, 0x03, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF,
+0x24, 0x85, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0x41, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0x88, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x06, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0x80, 0x2F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34, 0x91,
+0xF5, 0x83, 0xE4, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0x04,
+0xF0, 0x80, 0x14, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7A, 0xE0, 0xFE, 0x90, 0x93, 0x78, 0xE0,
+0xFF, 0x24, 0xA7, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x93, 0x87, 0xE0,
+0xFE, 0x74, 0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xEE, 0xF0, 0x75, 0xF0, 0x09,
+0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xE0, 0xB4, 0x01, 0x11, 0xE4, 0x90, 0x93, 0x87, 0xF0,
+0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x87, 0xE0,
+0xFD, 0xA1, 0xF2, 0xEC, 0x64, 0x06, 0x60, 0x02, 0xA1, 0xF5, 0x90, 0x93, 0x7B, 0xF0, 0xA3, 0xF0,
+0x90, 0x41, 0xE1, 0x93, 0xFF, 0x7E, 0x00, 0x90, 0x93, 0x7D, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12,
+0x1F, 0x3C, 0x90, 0x93, 0x85, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x24, 0xC4,
+0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE0, 0x90, 0x93, 0x87, 0xF0, 0xE4, 0x90, 0x93, 0x84,
+0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0xD3, 0x94, 0x04, 0x50, 0x47, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9,
+0x5C, 0x75, 0xF0, 0x02, 0xEF, 0xA4, 0xF5, 0x82, 0x85, 0xF0, 0x83, 0x12, 0x42, 0xC8, 0xFD, 0xAC,
+0xF0, 0xEF, 0x90, 0x41, 0xDC, 0x93, 0xFF, 0x7E, 0x00, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x7B, 0xEE,
+0x8F, 0xF0, 0x12, 0x42, 0x87, 0x90, 0x93, 0x85, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xD3, 0x90, 0x93,
+0x7C, 0xE0, 0x9F, 0x90, 0x93, 0x7B, 0xE0, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x84, 0xE0, 0x04, 0xF0,
+0x80, 0xAF, 0x90, 0x93, 0x84, 0xE0, 0xC3, 0x13, 0xF0, 0x90, 0x93, 0x87, 0xE0, 0xFF, 0xB4, 0x01,
+0x0D, 0x90, 0x93, 0x84, 0xE0, 0x70, 0x5D, 0x90, 0x93, 0x87, 0x04, 0xF0, 0x80, 0x5B, 0xEF, 0xB4,
+0x03, 0x1D, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93, 0x87, 0x74, 0x03, 0xF0, 0x80,
+0x48, 0xEF, 0xB4, 0x01, 0x08, 0x90, 0x93, 0x87, 0x74, 0x01, 0xF0, 0x80, 0x3C, 0x80, 0x35, 0x90,
+0x93, 0x87, 0xE0, 0x64, 0x05, 0x70, 0x32, 0x90, 0x93, 0x84, 0xE0, 0xFF, 0x70, 0x08, 0x90, 0x93,
+0x87, 0x74, 0x05, 0xF0, 0x80, 0x0F, 0xEF, 0x90, 0x93, 0x87, 0xB4, 0x01, 0x05, 0x74, 0x03, 0xF0,
+0x80, 0x03, 0x74, 0x01, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, 0x94, 0x03, 0x90, 0x93, 0x7F, 0xE0,
+0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0xD3, 0x90, 0x93, 0x80, 0xE0, 0x94, 0x03,
+0x90, 0x93, 0x7F, 0xE0, 0x94, 0x00, 0x40, 0x05, 0xE4, 0x90, 0x93, 0x87, 0xF0, 0x90, 0x93, 0x87,
+0xE0, 0xFD, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0xC4, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83,
+0xED, 0xF0, 0x12, 0x7F, 0x0E, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x24, 0x67, 0xF5, 0x82, 0xE4, 0x34,
+0x91, 0xF5, 0x83, 0xE0, 0xD3, 0x94, 0x05, 0x50, 0x0F, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34,
+0x91, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x78, 0xE0, 0x24, 0x67, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3,
+0x74, 0xFF, 0x9F, 0xFF, 0x74, 0xFF, 0x9E, 0xFE, 0x90, 0x93, 0x78, 0xE0, 0xFD, 0x25, 0xE0, 0x24,
+0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFA, 0xA3, 0xE0, 0xD3, 0x9F, 0xEA, 0x9E,
+0x50, 0x1C, 0x90, 0x93, 0x7F, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5,
+0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEE, 0x8F, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x14, 0x90, 0x93,
+0x78, 0xE0, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0,
+0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34, 0x8D,
+0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0x74, 0xFF, 0x9D, 0xFB, 0x74, 0xFF, 0x9C, 0xFA,
+0xEF, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0,
+0xD3, 0x9B, 0xEE, 0x9A, 0x90, 0x93, 0x78, 0xE0, 0x50, 0x13, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82,
+0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xEC, 0x8D, 0xF0, 0x12, 0x42, 0x87, 0x80, 0x10, 0x25, 0xE0, 0x24,
+0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x00, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90,
+0x00, 0x02, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x04, 0xE4, 0xF5, 0xF0, 0x12, 0x43,
+0x1F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x43, 0x1F, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0,
+0x12, 0x43, 0x1F, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0x25, 0xE0, 0x24, 0x80, 0xF5, 0x82, 0xE4, 0x34,
+0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34,
+0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84, 0xF5, 0x82, 0xE4, 0x34,
+0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x02, 0x7F, 0x53,
+0x22, 0x90, 0x04, 0x44, 0x74, 0x11, 0xF0, 0xA3, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0xA3,
+0xE4, 0xF0, 0x90, 0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x50, 0x14,
+0x74, 0xA4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x93, 0x78, 0xE0,
+0x04, 0xF0, 0x80, 0xE2, 0xE4, 0x90, 0x8F, 0x46, 0xF0, 0x90, 0x89, 0x01, 0x04, 0xF0, 0xE4, 0x90,
+0x93, 0x78, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0xFF, 0xC3, 0x94, 0x40, 0x40, 0x03, 0x02, 0x89, 0x4C,
+0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x00, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0,
+0x0A, 0xEF, 0x90, 0x84, 0x02, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF,
+0x90, 0x84, 0x04, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84,
+0x06, 0x12, 0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x0A, 0xEF, 0x90, 0x84, 0x08, 0x12,
+0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0xA7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83,
+0x74, 0x13, 0xF0, 0x74, 0x06, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0x74,
+0xC4, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8C, 0xF5, 0x83, 0xE4, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x80,
+0xF5, 0x82, 0xE4, 0x34, 0x87, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x04,
+0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x05,
+0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x84,
+0xF5, 0x82, 0xE4, 0x34, 0x8D, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEF, 0x25, 0xE0, 0x24, 0xC7,
+0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x74, 0x07, 0x2F, 0xF5, 0x82,
+0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x74, 0xC7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5,
+0x83, 0xE4, 0xF0, 0x74, 0x67, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83, 0xE4, 0xF0, 0x90,
+0x8E, 0x04, 0xF0, 0x90, 0x41, 0x92, 0x93, 0xFE, 0x74, 0x01, 0x93, 0xFF, 0x90, 0x41, 0x5A, 0x74,
+0x01, 0x93, 0x2F, 0xFF, 0xE4, 0x93, 0x3E, 0xC3, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x93, 0x78,
+0xE0, 0xFD, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x8A, 0xF5, 0x83, 0xEE, 0xF0, 0xA3,
+0xEF, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x75,
+0xF0, 0x09, 0xED, 0x90, 0x8A, 0x8A, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0, 0x74, 0xC2, 0x2D, 0xF5,
+0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0C, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x86,
+0x12, 0x43, 0x9C, 0x74, 0xFF, 0xF0, 0xA3, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x84, 0x12,
+0x43, 0x9C, 0xE4, 0xF0, 0xA3, 0x74, 0x0F, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x88, 0x12,
+0x43, 0x9C, 0x74, 0x13, 0xF0, 0x75, 0xF0, 0x09, 0xED, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C, 0xE4,
+0xF0, 0xED, 0xC3, 0x94, 0x20, 0x50, 0x0F, 0x74, 0x84, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x04, 0xF5,
+0x83, 0x74, 0x13, 0xF0, 0x80, 0x0D, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83,
+0x74, 0x13, 0xF0, 0x90, 0x93, 0x78, 0xE0, 0x04, 0xF0, 0x02, 0x87, 0x93, 0x22, 0x8F, 0x57, 0xEF,
+0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xAF, 0x82, 0xF5, 0x58, 0x8F, 0x59, 0xE5,
+0x57, 0x75, 0xF0, 0x02, 0xA4, 0x24, 0x02, 0xF9, 0x74, 0x89, 0x35, 0xF0, 0x75, 0x5A, 0x01, 0xF5,
+0x5B, 0x89, 0x5C, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAF, 0x82,
+0x85, 0x83, 0x5D, 0x8F, 0x5E, 0xE5, 0x57, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A,
+0x35, 0xF0, 0x75, 0x5F, 0x01, 0xF5, 0x60, 0x89, 0x61, 0x74, 0xC2, 0x25, 0x57, 0xF5, 0x82, 0xE4,
+0x34, 0x89, 0xF5, 0x83, 0xE0, 0x12, 0x43, 0xD1, 0x89, 0xCD, 0x00, 0x89, 0xE2, 0x01, 0x89, 0xF7,
+0x02, 0x8A, 0x0C, 0x03, 0x8A, 0x35, 0x04, 0x8A, 0x4A, 0x05, 0x8A, 0x5F, 0x06, 0x8A, 0x85, 0x0C,
+0x8A, 0xB2, 0x0D, 0x8A, 0xDF, 0x0E, 0x8B, 0x0C, 0x0F, 0x00, 0x00, 0x8B, 0x40, 0xE5, 0x57, 0x25,
+0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x15,
+0x80, 0x3C, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74,
+0xF0, 0xF0, 0xA3, 0x74, 0x10, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4,
+0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0x74, 0x05, 0x80, 0x12, 0xE5, 0x57, 0x25, 0xE0,
+0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0xF0, 0xF0, 0xA3, 0xE4, 0xF0, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3,
+0x74, 0x8F, 0xF0, 0x61, 0x40, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90,
+0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF5, 0x80, 0x27, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0x74, 0x0F, 0xF0, 0xA3, 0x74, 0xF0, 0x80, 0x12, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0x74,
+0x0D, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE4,
+0xF0, 0xA3, 0xF0, 0x61, 0x40, 0x90, 0x04, 0x47, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12,
+0x42, 0x53, 0x90, 0x04, 0x46, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12,
+0x42, 0x65, 0x90, 0x04, 0x45, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x44,
+0x61, 0x37, 0x90, 0x04, 0x4B, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90,
+0x04, 0x4A, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90,
+0x04, 0x49, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x48, 0x80, 0x58, 0x90,
+0x04, 0x4F, 0xE0, 0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x4E, 0xE0,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x4D, 0xE0,
+0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x4C, 0x80, 0x2B, 0x90, 0x04, 0x53, 0xE0,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0x12, 0x42, 0x53, 0x90, 0x04, 0x52, 0xE0, 0xAB, 0x5A, 0xAA,
+0x5B, 0xA9, 0x5C, 0x90, 0x00, 0x01, 0x12, 0x42, 0x65, 0x90, 0x04, 0x51, 0xE0, 0x85, 0x59, 0x82,
+0x85, 0x58, 0x83, 0xF0, 0x90, 0x04, 0x50, 0xE0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3, 0xF0,
+0xAB, 0x5A, 0xAA, 0x5B, 0xA9, 0x5C, 0xC0, 0x03, 0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF,
+0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x12, 0x1E, 0xF6, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03,
+0x12, 0x42, 0x53, 0xAB, 0x5A, 0xE5, 0x5C, 0x24, 0x01, 0xF9, 0xE4, 0x35, 0x5B, 0xFA, 0xC0, 0x03,
+0xC0, 0x02, 0xC0, 0x01, 0x12, 0x1E, 0xF6, 0xFF, 0xAB, 0x5F, 0xAA, 0x60, 0xA9, 0x61, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0x5F, 0xD0, 0x01, 0xD0, 0x02, 0xD0, 0x03, 0x12, 0x42, 0x53, 0x85, 0x59,
+0x82, 0x85, 0x58, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83,
+0xE0, 0xFE, 0xEF, 0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0x85, 0x59, 0x82, 0x85, 0x58, 0x83, 0xA3,
+0xC0, 0x83, 0xC0, 0x82, 0xE0, 0xFF, 0x85, 0x5E, 0x82, 0x85, 0x5D, 0x83, 0xA3, 0xE0, 0xFE, 0xEF,
+0x5E, 0xD0, 0x82, 0xD0, 0x83, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34,
+0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x4B, 0x90, 0x93, 0x8F, 0x74, 0x0B, 0xF0,
+0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x50, 0x02, 0x81, 0x85, 0x74, 0x01, 0x7E, 0x00,
+0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25,
+0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F,
+0x4E, 0x60, 0x0A, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0xA3, 0xF0, 0x80, 0x68, 0x90, 0x93, 0x8F,
+0xE0, 0x14, 0xF0, 0x80, 0xBB, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90,
+0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x47, 0x90, 0x93, 0x8F, 0x74, 0x0F, 0xF0, 0x90,
+0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x00, 0x40, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08,
+0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47,
+0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08,
+0x90, 0x93, 0x8F, 0xE0, 0xA3, 0xF0, 0x80, 0x0D, 0x90, 0x93, 0x8F, 0xE0, 0x14, 0xF0, 0x80, 0xBF,
+0xE4, 0x90, 0x93, 0x90, 0xF0, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90,
+0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93,
+0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x10, 0x40, 0x02, 0xA1, 0x3E, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07,
+0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24,
+0x47, 0xF5, 0x82, 0xE4, 0x34, 0x90, 0xF5, 0x83, 0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60,
+0x06, 0x90, 0x93, 0x8F, 0xE0, 0x80, 0x63, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE5,
+0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0,
+0x4E, 0x60, 0x46, 0xE4, 0x90, 0x93, 0x8F, 0xF0, 0x90, 0x93, 0x8F, 0xE0, 0xFF, 0xC3, 0x94, 0x0C,
+0x50, 0x3C, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x07, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE,
+0xD8, 0xF9, 0xFF, 0xE5, 0x57, 0x25, 0xE0, 0x24, 0x02, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83,
+0xE0, 0x5E, 0xFE, 0xA3, 0xE0, 0x5F, 0x4E, 0x60, 0x08, 0x90, 0x93, 0x8F, 0xE0, 0x24, 0x10, 0x80,
+0x09, 0x90, 0x93, 0x8F, 0xE0, 0x04, 0xF0, 0x80, 0xBF, 0xE4, 0x90, 0x93, 0x91, 0xF0, 0x90, 0x93,
+0x90, 0xE0, 0xFF, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x88, 0x12, 0x43, 0x9C, 0xEF, 0xF0,
+0x90, 0x93, 0x91, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xE5, 0x57, 0x90, 0x8A, 0x89, 0x12, 0x43, 0x9C,
+0xEE, 0xF0, 0xE5, 0x57, 0xC3, 0x94, 0x20, 0x50, 0x2C, 0x74, 0x84, 0x25, 0x57, 0xF5, 0x82, 0xE4,
+0x34, 0x04, 0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40, 0x02, 0x80, 0x47, 0x74, 0x84, 0x25, 0x57, 0xF5,
+0x82, 0xE4, 0x34, 0x04, 0xF5, 0x83, 0xE0, 0xC3, 0x9E, 0x50, 0x08, 0x90, 0x93, 0x91, 0xE0, 0xA3,
+0xF0, 0x80, 0x37, 0x80, 0x2D, 0x74, 0x27, 0x25, 0x57, 0xF5, 0x82, 0xE4, 0x34, 0x91, 0xF5, 0x83,
+0xE0, 0xFF, 0x90, 0x93, 0x90, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E, 0x40, 0x07, 0x90, 0x93, 0x92, 0xEE,
+0xF0, 0x80, 0x17, 0x90, 0x93, 0x91, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x05, 0xA3, 0xEE, 0xF0,
+0x80, 0x08, 0x90, 0x93, 0x90, 0xE0, 0x90, 0x93, 0x92, 0xF0, 0x90, 0x93, 0x92, 0xE0, 0xFD, 0xAF,
+0x57, 0x12, 0x79, 0x82, 0x90, 0x93, 0x92, 0xE0, 0xFF, 0x74, 0xA7, 0x25, 0x57, 0xF5, 0x82, 0xE4,
+0x34, 0x91, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x93, 0x90, 0xE0, 0xFF, 0xD3, 0x94, 0x13, 0x40, 0x07,
+0x90, 0x8A, 0x83, 0x74, 0x03, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x0B, 0x40, 0x07, 0x90, 0x8A, 0x83,
+0x74, 0x02, 0xF0, 0x22, 0xEF, 0xD3, 0x94, 0x03, 0x40, 0x07, 0x90, 0x8A, 0x83, 0x74, 0x01, 0xF0,
+0x22, 0xE4, 0x90, 0x8A, 0x83, 0xF0, 0x22, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xA3,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x54,
+0xF0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x88, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x54, 0x40,
+0xC4, 0x13, 0x13, 0x54, 0x03, 0x90, 0x93, 0x89, 0xF0, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x75, 0xF0,
+0x09, 0x90, 0x8A, 0x86, 0x12, 0x43, 0x9C, 0xAD, 0x82, 0xAC, 0x83, 0x90, 0x93, 0x8A, 0xEC, 0xF0,
+0xA3, 0xED, 0xF0, 0xEF, 0x75, 0xF0, 0x09, 0xA4, 0x24, 0x84, 0xF9, 0x74, 0x8A, 0x35, 0xF0, 0xFA,
+0x7B, 0x01, 0xA3, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x03, 0x12,
+0x1F, 0x0F, 0x54, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12, 0x43, 0xA8, 0xEF, 0x12, 0x42, 0x53, 0x90,
+0x93, 0x85, 0x12, 0x43, 0xA8, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8C, 0x12,
+0x43, 0xA8, 0x90, 0x00, 0x01, 0xEF, 0x12, 0x42, 0x65, 0x90, 0x93, 0x85, 0x12, 0x43, 0xA8, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90, 0x93, 0x8A, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xF5, 0x82,
+0x8C, 0x83, 0xEF, 0xF0, 0x12, 0x1E, 0xF6, 0x8D, 0x82, 0x8C, 0x83, 0xA3, 0xF0, 0x90, 0x93, 0x88,
+0xE0, 0xFE, 0x90, 0x93, 0x83, 0xE0, 0xFF, 0x24, 0xC2, 0xF5, 0x82, 0xE4, 0x34, 0x89, 0xF5, 0x83,
+0xEE, 0xF0, 0x90, 0x93, 0x84, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8A, 0x12, 0x43,
+0x9C, 0xEE, 0xF0, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8B, 0x12, 0x43, 0x9C, 0x74, 0x01, 0xF0,
+0x90, 0x93, 0x89, 0xE0, 0xFE, 0x75, 0xF0, 0x09, 0xEF, 0x90, 0x8A, 0x8C, 0x12, 0x43, 0x9C, 0xEE,
+0xF0, 0x21, 0x4D, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x1F, 0xFE, 0xEF, 0x54, 0x20,
+0xC4, 0x13, 0x54, 0x07, 0xFD, 0xAF, 0x06, 0xC1, 0x17, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF,
+0x54, 0x3F, 0xFE, 0xEF, 0x54, 0x80, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0xFD, 0xAF, 0x06, 0xC1,
+0x17, 0x12, 0x1E, 0xF6, 0xFF, 0xC3, 0x94, 0x40, 0x50, 0x14, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0xFE, 0x74, 0x85, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x8E, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xEF, 0xB4,
+0x40, 0x0A, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x8A, 0x82, 0xF0, 0x22, 0x12, 0x1E, 0xF6,
+0x90, 0x89, 0x01, 0xF0, 0x22, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x92, 0xE0, 0x54,
+0xF0, 0x44, 0x02, 0xF0, 0x54, 0x0F, 0x44, 0xC0, 0xF0, 0x90, 0x93, 0x8F, 0x12, 0x43, 0xA8, 0x90,
+0x94, 0x19, 0x12, 0x43, 0xC8, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x92, 0x02, 0x57, 0x1F, 0x90, 0x00,
+0x02, 0x12, 0x1F, 0x0F, 0xFD, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFC, 0xED, 0xC3, 0x94, 0x40,
+0x40, 0x02, 0xE4, 0xFD, 0xEC, 0xC3, 0x94, 0x40, 0x40, 0x02, 0xE4, 0xFC, 0xED, 0x25, 0xE0, 0x24,
+0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x83, 0xF0,
+0xEE, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0,
+0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x85, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0x74, 0xFF,
+0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3,
+0xE0, 0x90, 0x93, 0x89, 0xF0, 0xEE, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4,
+0x34, 0x8F, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0x90, 0x93, 0x8B, 0xF0, 0xEE, 0xA3, 0xF0, 0xA3,
+0xEC, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xED, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0x47, 0xF5, 0x82, 0xE4, 0x34, 0x8F,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0xEC, 0x25, 0xE0, 0x24, 0xC7, 0xF5, 0x82, 0xE4, 0x34, 0x8F,
+0xF5, 0x83, 0xE4, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x83, 0x02, 0x8F, 0x75, 0xE4,
+0x90, 0x92, 0x69, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xAF, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0xF5, 0x62,
+0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93,
+0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x90, 0x00,
+0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x59, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93,
+0x3C, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x54, 0x01, 0x90, 0x93, 0x3D, 0xF0, 0xEF,
+0xC3, 0x13, 0x54, 0x01, 0x90, 0x93, 0x47, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0x13,
+0x13, 0x54, 0x01, 0x90, 0x93, 0x44, 0xF0, 0xEF, 0x13, 0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x4A,
+0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4, 0x54, 0x01, 0x90, 0x93, 0x46, 0xF0, 0xEF,
+0xC4, 0x13, 0x54, 0x01, 0x90, 0x93, 0x5B, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xC4,
+0x13, 0x13, 0x54, 0x01, 0x90, 0x93, 0x49, 0xF0, 0xE0, 0x70, 0x38, 0x90, 0x93, 0x47, 0xE0, 0x70,
+0x10, 0xFF, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x10, 0x80,
+0x0F, 0x7F, 0x01, 0x12, 0x50, 0xDC, 0x90, 0x93, 0x86, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x03, 0x00,
+0x90, 0x93, 0x86, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x70, 0x7E, 0x08,
+0x12, 0x34, 0x30, 0x90, 0x93, 0x3D, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x90, 0x93, 0x83, 0x12,
+0x43, 0xA8, 0x12, 0x4D, 0xB2, 0x90, 0x93, 0x59, 0xE0, 0x90, 0x01, 0xE6, 0xF0, 0xD0, 0xD0, 0x92,
+0xAF, 0x22, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFF, 0x30, 0xE0, 0x25, 0x12, 0x1E, 0xF6, 0x90,
+0x93, 0x48, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x4B, 0xF0, 0xEF, 0xC3, 0x13,
+0x54, 0x7F, 0x90, 0x93, 0x45, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x50, 0xF0,
+0x22, 0x90, 0x93, 0x48, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4B, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x45,
+0x74, 0x14, 0xF0, 0x90, 0x93, 0x50, 0x74, 0x05, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x19,
+0xC3, 0x13, 0x54, 0x7F, 0x90, 0x93, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0x90,
+0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0xEF, 0xF0, 0x80, 0x0F, 0x90, 0x93, 0x4F, 0x74, 0x05, 0xF0, 0x90,
+0x93, 0x4D, 0xE4, 0xF0, 0xA3, 0x74, 0x03, 0xF0, 0x90, 0x93, 0x4D, 0xE0, 0xA3, 0xE0, 0x90, 0x05,
+0x58, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0x4C, 0xF0, 0x60, 0x20, 0x90, 0x93, 0x15, 0xE0,
+0x20, 0xE0, 0x19, 0xE4, 0xFD, 0x7F, 0x04, 0x12, 0x4A, 0x62, 0x90, 0x93, 0x3D, 0xE0, 0x60, 0x09,
+0x90, 0x93, 0x56, 0xE0, 0x70, 0x03, 0x12, 0x4F, 0xA9, 0x12, 0x51, 0x5A, 0x90, 0x93, 0x4C, 0xE0,
+0x90, 0x01, 0xE7, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x02, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0xFF, 0x54,
+0x80, 0xFE, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x7F, 0x4E, 0xF0, 0xEF, 0x54, 0x0F, 0xFF, 0xE0, 0x54,
+0xF0, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0x54, 0x70, 0xFF, 0x90, 0x93, 0x36, 0xE0, 0x54, 0x8F, 0x4F,
+0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x38, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F,
+0x0F, 0x90, 0x93, 0x39, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x93, 0x3A, 0xF0, 0x90,
+0x00, 0x01, 0x74, 0x19, 0x12, 0x42, 0x20, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0xFF, 0xD3, 0x94,
+0x20, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x01, 0xF0, 0x80, 0x57, 0xEF, 0xD3, 0x94, 0x40, 0x50,
+0x08, 0x90, 0x93, 0x37, 0x74, 0x02, 0xF0, 0x80, 0x49, 0xEF, 0xD3, 0x94, 0x60, 0x50, 0x08, 0x90,
+0x93, 0x37, 0x74, 0x03, 0xF0, 0x80, 0x3B, 0xEF, 0xD3, 0x94, 0x80, 0x50, 0x08, 0x90, 0x93, 0x37,
+0x74, 0x04, 0xF0, 0x80, 0x2D, 0xEF, 0xD3, 0x94, 0xA0, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x05,
+0xF0, 0x80, 0x1F, 0xEF, 0xD3, 0x94, 0xC0, 0x50, 0x08, 0x90, 0x93, 0x37, 0x74, 0x06, 0xF0, 0x80,
+0x11, 0xEF, 0xD3, 0x94, 0xE0, 0x90, 0x93, 0x37, 0x50, 0x05, 0x74, 0x07, 0xF0, 0x80, 0x03, 0x74,
+0x08, 0xF0, 0x90, 0x93, 0x37, 0xE0, 0x90, 0x93, 0x3B, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x60, 0x0B,
+0x90, 0x01, 0x98, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x02, 0x09, 0xE0,
+0xFD, 0x12, 0x1E, 0xF6, 0xFE, 0xAF, 0x05, 0xED, 0x2E, 0x90, 0x93, 0xA8, 0xF0, 0x90, 0x00, 0x01,
+0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F, 0x90, 0x93, 0xA9, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F,
+0xFF, 0xED, 0x2F, 0x90, 0x93, 0xAA, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0xFF, 0xED, 0x2F,
+0x90, 0x93, 0xAB, 0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0xFF, 0xAE, 0x05, 0xED, 0x2F, 0x90,
+0x93, 0xAC, 0xF0, 0x22, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x0E, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFD,
+0xF0, 0x90, 0x93, 0x11, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0x22, 0x90, 0x93,
+0x83, 0x12, 0x43, 0xC8, 0xE4, 0x90, 0x93, 0x86, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x0C, 0xF0,
+0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x7A, 0x90, 0x93, 0x86, 0x74,
+0x01, 0xF0, 0xFB, 0x7A, 0x93, 0x79, 0x86, 0xFD, 0x7F, 0x14, 0x12, 0x76, 0x35, 0x90, 0x93, 0x04,
+0xE0, 0x44, 0x08, 0xF0, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xFF, 0x30, 0xE1,
+0x10, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFD, 0xF0, 0x80,
+0x07, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0x30, 0xE2, 0x1E, 0x90, 0x93, 0x04, 0xE0,
+0x44, 0x04, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xEF,
+0xF0, 0x90, 0x07, 0x83, 0xE0, 0x44, 0x40, 0xF0, 0x80, 0x07, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x10,
+0xF0, 0x12, 0x1E, 0xF6, 0x30, 0xE4, 0x5C, 0x90, 0x93, 0x04, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x04,
+0x26, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x86, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79,
+0x86, 0x7D, 0x01, 0x7F, 0x14, 0x12, 0x76, 0x35, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE, 0xF0, 0xE0,
+0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x54,
+0xE3, 0xF0, 0x90, 0x07, 0x83, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x04, 0x26, 0xE0, 0x54, 0x3F, 0xF0,
+0x90, 0x93, 0x0B, 0x12, 0x43, 0x84, 0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0x7F, 0x80, 0x7E, 0x08,
+0x12, 0x34, 0x30, 0x22, 0xEF, 0x70, 0x21, 0x12, 0x1E, 0xF6, 0x30, 0xE0, 0x14, 0x90, 0x00, 0x40,
+0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0x3F, 0xF0, 0x90, 0x07, 0x78, 0xE0, 0x44, 0x01, 0xF0, 0x80,
+0x07, 0x90, 0x07, 0x78, 0xE0, 0x54, 0xFE, 0xF0, 0xEF, 0x64, 0x01, 0x70, 0x6A, 0x12, 0x1E, 0xF6,
+0x90, 0x00, 0x01, 0x30, 0xE0, 0x2E, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC0, 0xF0, 0x90, 0x00, 0x02,
+0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC1, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC2,
+0xF0, 0x90, 0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC3, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x54,
+0xFE, 0xF0, 0x80, 0x2C, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC4, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F,
+0x0F, 0x90, 0x06, 0xC5, 0xF0, 0x90, 0x00, 0x03, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC6, 0xF0, 0x90,
+0x00, 0x04, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC7, 0xF0, 0x90, 0x06, 0xCC, 0xE0, 0x44, 0x01, 0xF0,
+0x90, 0x06, 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0xEF, 0xB4, 0x02, 0x11, 0x12, 0x1E, 0xF6, 0x90, 0x06,
+0xC8, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xC9, 0xF0, 0xEF, 0xB4, 0x03, 0x11,
+0x12, 0x1E, 0xF6, 0x90, 0x06, 0xCA, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x06, 0xCB,
+0xF0, 0xEF, 0x64, 0x04, 0x70, 0x1F, 0x12, 0x1E, 0xF6, 0xFF, 0x90, 0x07, 0x83, 0x30, 0xE0, 0x06,
+0xE0, 0x44, 0x10, 0xF0, 0x80, 0x04, 0xE0, 0x54, 0x6F, 0xF0, 0xEF, 0x30, 0xE1, 0x07, 0x90, 0x07,
+0x83, 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12,
+0x43, 0xA8, 0x12, 0x1E, 0xF6, 0x90, 0x92, 0x6B, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0x92, 0x6C, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0x92, 0x6D, 0xF0, 0x90, 0x93, 0x83,
+0x12, 0x43, 0xA8, 0x12, 0x76, 0x31, 0xEF, 0xB4, 0x02, 0x03, 0x43, 0x14, 0x01, 0x22, 0x90, 0x93,
+0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8,
+0x7D, 0x03, 0x7F, 0x1D, 0x02, 0x76, 0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86,
+0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1E, 0x02, 0x76, 0x35,
+0x12, 0x1E, 0xF6, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x78, 0x18, 0x12, 0x1F, 0xB6, 0xA8, 0x04, 0xA9,
+0x05, 0xAA, 0x06, 0xAB, 0x07, 0x90, 0x93, 0x0B, 0x12, 0x43, 0x84, 0xEC, 0x54, 0x03, 0xFC, 0x12,
+0x43, 0x59, 0x90, 0x93, 0x07, 0x02, 0x1F, 0xC9, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93,
+0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x1F, 0x02, 0x76,
+0x35, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83,
+0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x20, 0x02, 0x76, 0x35, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x01,
+0x90, 0x01, 0xBC, 0xF0, 0xEF, 0x30, 0xE0, 0x5C, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x4E, 0x90,
+0xFD, 0x50, 0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90,
+0xFD, 0x52, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0x90, 0xFD, 0x53, 0xF0, 0xA3, 0xE4, 0xF0,
+0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x90, 0xFD, 0x55, 0x30, 0xE0, 0x05, 0x74, 0xA0, 0xF0, 0x80, 0x03,
+0x74, 0xC0, 0xF0, 0x90, 0xFD, 0x56, 0x74, 0x10, 0xF0, 0xA3, 0x74, 0x80, 0xF0, 0x90, 0xFD, 0x50,
+0x74, 0x0A, 0xF0, 0xA3, 0x74, 0x06, 0xF0, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xBD,
+0xE0, 0x44, 0x01, 0xF0, 0x90, 0x00, 0x02, 0x12, 0x1F, 0x0F, 0xFE, 0x90, 0x00, 0x01, 0x12, 0x1F,
+0x0F, 0x7C, 0x00, 0x24, 0x00, 0xFF, 0xEC, 0x3E, 0xFE, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0,
+0xE4, 0xFC, 0x74, 0x20, 0x2F, 0xFF, 0xE4, 0x3E, 0xFE, 0x90, 0x93, 0x83, 0xEF, 0xF0, 0xEE, 0xF9,
+0x90, 0x01, 0xBD, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x02, 0x09, 0xE0, 0xC3, 0x13, 0x90, 0xFD, 0x10,
+0xF0, 0xEC, 0xC3, 0x99, 0x50, 0x43, 0xEC, 0x70, 0x04, 0x7D, 0x04, 0x80, 0x02, 0xE4, 0xFD, 0xED,
+0xC3, 0x94, 0x20, 0x50, 0x07, 0xAF, 0x05, 0xD1, 0xE1, 0x0D, 0x80, 0xF3, 0x0C, 0x90, 0xFD, 0x10,
+0xE0, 0x04, 0xF0, 0xEC, 0xB5, 0x01, 0xDA, 0xE4, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0xA4, 0xFF, 0x90,
+0x93, 0x83, 0xE0, 0xFB, 0xC3, 0xEF, 0x9B, 0x74, 0x80, 0xF8, 0x65, 0xF0, 0x98, 0x50, 0x07, 0xAF,
+0x05, 0xD1, 0xE1, 0x0D, 0x80, 0xE3, 0x0C, 0x80, 0xB8, 0x90, 0x00, 0x81, 0xE0, 0x44, 0x80, 0xFD,
+0x7F, 0x81, 0x12, 0x53, 0xF0, 0x90, 0x01, 0xBD, 0xE0, 0x44, 0x04, 0xF0, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x90, 0xFD, 0x58, 0xE0, 0x30, 0xE0, 0x08, 0x90, 0x01, 0xB8, 0xE0, 0x04, 0xF0, 0x80, 0xF1,
+0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x00, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90,
+0xFD, 0x50, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x01, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5,
+0x83, 0xE0, 0x90, 0xFD, 0x51, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x02, 0xF5, 0x82, 0xE4,
+0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x52, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x03,
+0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x53, 0xF0, 0xEF, 0x75, 0xF0, 0x08,
+0xA4, 0x24, 0x04, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x54, 0xF0, 0xEF,
+0x75, 0xF0, 0x08, 0xA4, 0x24, 0x05, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD,
+0x55, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x06, 0xF5, 0x82, 0xE4, 0x34, 0xFC, 0xF5, 0x83,
+0xE0, 0x90, 0xFD, 0x56, 0xF0, 0xEF, 0x75, 0xF0, 0x08, 0xA4, 0x24, 0x07, 0xF5, 0x82, 0xE4, 0x34,
+0xFC, 0xF5, 0x83, 0xE0, 0x90, 0xFD, 0x57, 0xF0, 0xA3, 0x74, 0x01, 0xF0, 0x22, 0x12, 0x1E, 0xF6,
+0x90, 0xFE, 0x10, 0x60, 0x05, 0xE0, 0x44, 0x01, 0xF0, 0x22, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0x90,
+0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43,
+0xA8, 0x7D, 0x01, 0x7F, 0x23, 0x12, 0x76, 0x35, 0xEF, 0xB4, 0x03, 0x05, 0x7F, 0xFF, 0x12, 0x9C,
+0x4C, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12, 0x43, 0xC8, 0x90, 0x93,
+0x83, 0x12, 0x43, 0xA8, 0x7D, 0x01, 0x7F, 0x24, 0x02, 0x76, 0x35, 0x12, 0x1E, 0xF6, 0xFF, 0x54,
+0x01, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0x4E, 0xF0, 0xEF, 0x54, 0x02, 0xFF, 0xE0, 0x54,
+0xFD, 0x4F, 0xF0, 0x12, 0x1E, 0xF6, 0xFF, 0x54, 0x04, 0xFE, 0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFB,
+0x4E, 0xF0, 0xEF, 0x54, 0x08, 0xFF, 0xE0, 0x54, 0xF7, 0x4F, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F,
+0x0F, 0x90, 0x93, 0x1B, 0xF0, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x90, 0x93, 0x86, 0x12,
+0x43, 0xC8, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x7D, 0x03, 0x7F, 0x26, 0x02, 0x76, 0x35, 0x12,
+0x1E, 0xF6, 0x90, 0x93, 0xB0, 0xF0, 0x22, 0xD3, 0x10, 0xAF, 0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x93,
+0x8A, 0x12, 0x43, 0xC8, 0xE4, 0xFE, 0x90, 0xFD, 0x58, 0xE0, 0x20, 0xE0, 0x2F, 0x90, 0xFD, 0x50,
+0xEF, 0xF0, 0xEE, 0xC3, 0x94, 0x07, 0x50, 0x1E, 0x90, 0x93, 0x8A, 0x12, 0x43, 0xA8, 0x8E, 0x82,
+0x75, 0x83, 0x00, 0x12, 0x1F, 0x0F, 0xFF, 0x74, 0x51, 0x2E, 0xF5, 0x82, 0xE4, 0x34, 0xFD, 0xF5,
+0x83, 0xEF, 0xF0, 0x0E, 0x80, 0xDC, 0x90, 0xFD, 0x58, 0x74, 0x01, 0xF0, 0xD0, 0xD0, 0x92, 0xAF,
+0x22, 0x12, 0x1E, 0xF6, 0x90, 0x93, 0xAE, 0xF0, 0x90, 0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x93,
+0xAF, 0xF0, 0x22, 0xE4, 0x90, 0x94, 0x46, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0xEB, 0xE0, 0x54, 0xC0,
+0x60, 0x43, 0xC3, 0x90, 0x94, 0x47, 0xE0, 0x94, 0x88, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x13, 0x40,
+0x0A, 0x90, 0x01, 0xC6, 0xE0, 0x44, 0x04, 0xF0, 0x7F, 0x00, 0x22, 0x90, 0x94, 0x46, 0xE4, 0x75,
+0xF0, 0x01, 0x12, 0x42, 0x87, 0x7F, 0x14, 0x7E, 0x00, 0x12, 0x3B, 0x09, 0xD3, 0x90, 0x94, 0x47,
+0xE0, 0x94, 0x64, 0x90, 0x94, 0x46, 0xE0, 0x94, 0x00, 0x40, 0xBF, 0x90, 0x01, 0xC7, 0xE0, 0x30,
+0xE2, 0xB8, 0x7F, 0x00, 0x22, 0x7F, 0x01, 0x22, 0x90, 0x93, 0xE2, 0x12, 0x1F, 0xC9, 0x90, 0x93,
+0xE6, 0x12, 0x1F, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x7F, 0x1F, 0xFE, 0xFD, 0xFC, 0x90, 0x93,
+0xE6, 0x12, 0x43, 0x90, 0xD3, 0x12, 0x43, 0x73, 0x50, 0x41, 0x90, 0x93, 0xE6, 0x12, 0x43, 0x84,
+0xA9, 0x07, 0x90, 0x93, 0xE2, 0x12, 0x43, 0x84, 0xA8, 0x01, 0x12, 0x1F, 0xA3, 0xEF, 0x54, 0x01,
+0xFF, 0xE4, 0xFE, 0xFD, 0xFC, 0x7B, 0x01, 0xFA, 0xF9, 0xF8, 0xC3, 0x12, 0x43, 0x73, 0x60, 0x1B,
+0x90, 0x93, 0xE6, 0x12, 0x43, 0x84, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD,
+0xE4, 0x3C, 0xFC, 0x90, 0x93, 0xE6, 0x12, 0x1F, 0xC9, 0x80, 0xAD, 0x90, 0x93, 0xE6, 0x02, 0x43,
+0x84, 0x90, 0x93, 0xB4, 0x12, 0x1F, 0xC9, 0x74, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0x90, 0x93, 0xB8,
+0x12, 0x43, 0x90, 0xC3, 0x12, 0x43, 0x73, 0x90, 0x93, 0xB4, 0x60, 0x67, 0x12, 0x43, 0x84, 0x12,
+0x2C, 0x6E, 0x90, 0x93, 0xC0, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x11, 0xE8,
+0x90, 0x93, 0xC4, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB8, 0x12, 0x43, 0x84, 0x12, 0x43, 0x66, 0x90,
+0x93, 0xC0, 0x12, 0x43, 0x90, 0x12, 0x43, 0x4C, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07,
+0x90, 0x93, 0xC4, 0x12, 0x43, 0x84, 0xA9, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84, 0xA8, 0x01,
+0x12, 0x1F, 0xB6, 0xD0, 0x03, 0xD0, 0x02, 0xD0, 0x01, 0xD0, 0x00, 0x12, 0x43, 0x59, 0x90, 0x93,
+0xC8, 0x12, 0x1F, 0xC9, 0x90, 0x93, 0xB4, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93,
+0xC8, 0x80, 0x0A, 0x12, 0x43, 0x84, 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x93, 0xBC, 0x12, 0x43, 0x84,
+0x90, 0x81, 0x57, 0x12, 0x1F, 0xC9, 0xD0, 0x07, 0xD0, 0x06, 0x02, 0x34, 0x30, 0xD3, 0x10, 0xAF,
+0x01, 0xC3, 0xC0, 0xD0, 0x90, 0x94, 0x4C, 0xEF, 0xF0, 0xD3, 0x94, 0x07, 0x50, 0x47, 0xE0, 0xFF,
+0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x46,
+0xE0, 0x5F, 0xF0, 0x12, 0x54, 0x38, 0x90, 0x94, 0x4C, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8,
+0x05, 0x08, 0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x44, 0xE0,
+0xFB, 0xE4, 0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13,
+0xD8, 0xF8, 0xFF, 0x80, 0x4C, 0x90, 0x94, 0x4C, 0xE0, 0x24, 0xF8, 0xF0, 0xE0, 0xFF, 0x74, 0x01,
+0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF4, 0xFF, 0x90, 0x00, 0x62, 0xE0, 0x5F,
+0xF0, 0x12, 0x54, 0x38, 0x90, 0x94, 0x4C, 0xE0, 0xFD, 0x74, 0x01, 0x7E, 0x00, 0xA8, 0x05, 0x08,
+0x80, 0x05, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x90, 0x00, 0x60, 0xE0, 0xFB, 0xE4,
+0xFE, 0xEF, 0x5B, 0xA8, 0x05, 0x08, 0x80, 0x06, 0xCE, 0xA2, 0xE7, 0x13, 0xCE, 0x13, 0xD8, 0xF8,
+0xFF, 0xD0, 0xD0, 0x92, 0xAF, 0x22, 0x90, 0x93, 0x83, 0x12, 0x43, 0xC8, 0x12, 0x1E, 0xF6, 0x54,
+0x01, 0xFF, 0x90, 0x94, 0x3E, 0xE0, 0x54, 0xFE, 0x4F, 0xF0, 0xE0, 0x30, 0xE0, 0x03, 0x12, 0x44,
+0xFE, 0x90, 0x93, 0x83, 0x12, 0x43, 0xA8, 0x12, 0x1E, 0xF6, 0xC3, 0x13, 0x30, 0xE0, 0x0A, 0x90,
+0x00, 0x01, 0x12, 0x1F, 0x0F, 0x90, 0x94, 0x3F, 0xF0, 0x22, 0x90, 0x93, 0x04, 0xE0, 0x54, 0xFE,
+0xF0, 0x54, 0xFB, 0xF0, 0x54, 0xFD, 0xF0, 0x54, 0xF7, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0xA3,
+0x12, 0x1F, 0xD5, 0x20, 0x08, 0x30, 0x70, 0x90, 0x93, 0x0B, 0x12, 0x1F, 0xD5, 0xC0, 0x08, 0x30,
+0x70, 0xE4, 0x90, 0x93, 0x11, 0xF0, 0xA3, 0xF0, 0x43, 0xE8, 0x04, 0x90, 0xFD, 0x68, 0x74, 0x02,
+0xF0, 0x90, 0x04, 0x26, 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x07, 0x83, 0xE4, 0xF0, 0x90, 0x07, 0x78,
+0x74, 0x03, 0xF0, 0x90, 0x04, 0x64, 0xE4, 0xF0, 0x90, 0x00, 0x40, 0x74, 0x20, 0xF0, 0x71, 0x2D,
+0x90, 0x93, 0x2C, 0x74, 0x01, 0xF0, 0x7D, 0x04, 0x7F, 0x02, 0x02, 0x3A, 0xAD, 0x90, 0x93, 0x15,
+0xE0, 0x54, 0xFE, 0xF0, 0xA3, 0x74, 0x0B, 0xF0, 0xA3, 0x74, 0x08, 0xF0, 0xE4, 0x90, 0x93, 0x26,
+0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54,
+0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93,
+0x18, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xFD, 0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0xE0, 0x54, 0xEF,
+0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0xA3, 0xE0, 0x54,
+0xDF, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x93, 0x28, 0x74, 0x02, 0xF0,
+0x90, 0x93, 0x1A, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xDF, 0xF0, 0xE4,
+0xA3, 0xF0, 0x90, 0x93, 0x25, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFE, 0xF0, 0xE4, 0x90, 0x93,
+0x23, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x29, 0xF0, 0xA3, 0xF0, 0x90, 0x93, 0x1C, 0xE0, 0x54, 0xFD,
+0xF0, 0xE0, 0x54, 0xFB, 0xF0, 0x90, 0x93, 0x19, 0xE0, 0x54, 0xEF, 0xF0, 0xE0, 0x54, 0xFB, 0xF0,
+0xE0, 0x54, 0xF7, 0xF0, 0x90, 0x93, 0x2D, 0xE0, 0x54, 0xFE, 0xF0, 0xE0, 0x54, 0xE1, 0xF0, 0x22,
+0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0, 0x44, 0x0A, 0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6E,
+0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0x70,
+0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0x72,
+0xF0, 0x90, 0xFD, 0x60, 0xE0, 0x90, 0x93, 0x6C, 0x30, 0xE6, 0x08, 0xE0, 0x54, 0x0F, 0x44, 0x50,
+0xF0, 0x80, 0x16, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73,
+0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90,
+0x94, 0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x02, 0x57, 0x1F, 0xAD, 0x07, 0x90, 0x93,
+0xFA, 0xE0, 0x54, 0xF0, 0x44, 0x0C, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93,
+0xFC, 0xF0, 0x90, 0xFD, 0x63, 0xE0, 0x90, 0x93, 0xFD, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93,
+0xFE, 0xF0, 0x90, 0xFD, 0x65, 0xE0, 0x90, 0x93, 0xFF, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x94,
+0x00, 0xF0, 0x90, 0xFD, 0x67, 0xE0, 0x90, 0x94, 0x01, 0xF0, 0xED, 0xB4, 0x02, 0x0B, 0x90, 0x93,
+0xFA, 0xE0, 0x54, 0x0F, 0x44, 0x20, 0xF0, 0x80, 0x3C, 0xED, 0xB4, 0x04, 0x0B, 0x90, 0x93, 0xFA,
+0xE0, 0x54, 0x0F, 0x44, 0x60, 0xF0, 0x80, 0x2D, 0xED, 0xF4, 0x70, 0x29, 0x90, 0x93, 0xFA, 0xE0,
+0x54, 0x0F, 0x44, 0x60, 0xF0, 0x90, 0x93, 0x2C, 0xE0, 0x60, 0x08, 0x90, 0x93, 0xFC, 0x74, 0x01,
+0xF0, 0x80, 0x05, 0xE4, 0x90, 0x93, 0xFC, 0xF0, 0xE4, 0x90, 0x93, 0xFD, 0xF0, 0xA3, 0xF0, 0xA3,
+0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0xFC, 0x90, 0x94, 0x19, 0x12, 0x43,
+0xC8, 0x7A, 0x93, 0x79, 0xFA, 0x02, 0x57, 0x1F, 0xAD, 0x07, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0xF0,
+0x44, 0x0E, 0xF0, 0x54, 0x0F, 0xF0, 0x90, 0xFD, 0x62, 0xE0, 0x90, 0x93, 0x6F, 0xF0, 0x90, 0xFD,
+0x63, 0xE0, 0x90, 0x93, 0x70, 0xF0, 0x90, 0xFD, 0x64, 0xE0, 0x90, 0x93, 0x71, 0xF0, 0x90, 0xFD,
+0x65, 0xE0, 0x90, 0x93, 0x72, 0xF0, 0x90, 0xFD, 0x66, 0xE0, 0x90, 0x93, 0x73, 0xF0, 0x90, 0xFD,
+0x67, 0xE0, 0x90, 0x93, 0x74, 0xF0, 0xED, 0xB4, 0x01, 0x11, 0x90, 0x93, 0x6C, 0xE0, 0x54, 0x0F,
+0x44, 0x20, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x01, 0xF0, 0x80, 0x13, 0xED, 0xB4, 0x02, 0x0F, 0x90,
+0x93, 0x6C, 0xE0, 0x54, 0x0F, 0x44, 0x70, 0xF0, 0x90, 0x93, 0x6E, 0x74, 0x02, 0xF0, 0x90, 0x93,
+0x6C, 0xE0, 0xFF, 0xC4, 0x54, 0x0F, 0x60, 0x13, 0x7B, 0x01, 0x7A, 0x93, 0x79, 0x6E, 0x90, 0x94,
+0x19, 0x12, 0x43, 0xC8, 0x7A, 0x93, 0x79, 0x6C, 0x12, 0x57, 0x1F, 0x22, 0x90, 0x93, 0x47, 0xE0,
+0x60, 0x27, 0x90, 0x93, 0x4A, 0xE0, 0x70, 0x21, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30,
+0xE0, 0x07, 0x90, 0x07, 0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x44, 0xE0, 0x90, 0x07, 0x78,
+0x60, 0x04, 0x74, 0x0D, 0xF0, 0x22, 0x74, 0x09, 0xF0, 0x22, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13,
+0x13, 0x54, 0x03, 0x20, 0xE0, 0x02, 0xE1, 0x26, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x01, 0x70, 0x2B,
+0x90, 0x06, 0x92, 0xE0, 0x30, 0xE2, 0x19, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29, 0xE0, 0x04, 0xF0,
+0x90, 0x93, 0x1E, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80, 0x02, 0xE1, 0x11,
+0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x04, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64,
+0x04, 0x70, 0x2C, 0x90, 0x06, 0x92, 0xE0, 0x30, 0xE2, 0x19, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x29,
+0xE0, 0x04, 0xF0, 0x90, 0x93, 0x20, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0xB5, 0x07, 0x02, 0x80,
+0x02, 0xE1, 0x11, 0xE4, 0x90, 0x93, 0x1D, 0xF0, 0x90, 0x93, 0x27, 0x74, 0x04, 0xF0, 0x22, 0x90,
+0x93, 0x1D, 0xE0, 0x64, 0x06, 0x60, 0x02, 0xC1, 0xD5, 0x90, 0x93, 0x2A, 0xE0, 0xB4, 0x04, 0x0F,
+0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x90, 0x93, 0x27, 0x30, 0xE0, 0x4E, 0xE1, 0x23, 0x90,
+0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x45, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3,
+0xF0, 0x90, 0x93, 0x18, 0xE0, 0xC4, 0x54, 0x0F, 0x30, 0xE0, 0x02, 0xC1, 0xE4, 0x90, 0x93, 0x2A,
+0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12,
+0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF, 0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE,
+0x64, 0x80, 0x94, 0x80, 0x90, 0x93, 0x27, 0x40, 0x02, 0xE1, 0x23, 0x74, 0x02, 0xF0, 0x22, 0x90,
+0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x18, 0x90, 0x93, 0x2A, 0xE0, 0x04, 0xF0,
+0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77, 0x90,
+0x01, 0x63, 0x74, 0x05, 0xF0, 0x90, 0x93, 0x2A, 0xE0, 0xFF, 0x90, 0x93, 0x29, 0xE0, 0x2F, 0xFF,
+0xE4, 0x33, 0xFE, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x1F, 0x3C, 0x90, 0x93, 0x21, 0xE0, 0x2F, 0xFF,
+0xEC, 0x3E, 0xFE, 0xC3, 0xEF, 0x94, 0x32, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x40, 0x58, 0x90, 0x07,
+0x78, 0x74, 0x03, 0xF0, 0x22, 0x90, 0x93, 0x1D, 0xE0, 0x64, 0x07, 0x70, 0x49, 0x90, 0x93, 0x2A,
+0xE0, 0xB4, 0x04, 0x05, 0x90, 0x93, 0x27, 0x80, 0x3A, 0x90, 0x93, 0x1C, 0xE0, 0x13, 0x13, 0x54,
+0x3F, 0x30, 0xE0, 0x0C, 0xE0, 0x54, 0xFB, 0xF0, 0xE4, 0xA3, 0xF0, 0x90, 0x93, 0x27, 0x80, 0x23,
+0x90, 0x04, 0x1D, 0xE0, 0x70, 0x05, 0x7F, 0x01, 0x12, 0x4E, 0x18, 0x90, 0x93, 0x2A, 0xE0, 0x04,
+0xF0, 0xE4, 0xF5, 0x48, 0x75, 0x49, 0x03, 0xFB, 0xFD, 0x7F, 0x60, 0x7E, 0x01, 0x12, 0x39, 0x77,
+0x90, 0x01, 0x63, 0x74, 0x05, 0xF0, 0x22, 0xE4, 0x90, 0x93, 0x5D, 0xF0, 0x90, 0x93, 0x15, 0xE0,
+0x20, 0xE0, 0x02, 0xE1, 0xC3, 0x90, 0x93, 0x19, 0xE0, 0xC4, 0x13, 0x13, 0x54, 0x03, 0x30, 0xE0,
+0x2A, 0xE4, 0xF5, 0x48, 0x90, 0x93, 0x21, 0xE0, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60, 0x7E,
+0x01, 0x12, 0x39, 0x77, 0x90, 0x06, 0x92, 0x74, 0x04, 0xF0, 0x90, 0x93, 0x1D, 0x74, 0x01, 0xF0,
+0xE4, 0x90, 0x93, 0x29, 0xF0, 0x90, 0x93, 0x27, 0xF0, 0x80, 0x20, 0xE4, 0xF5, 0x48, 0x90, 0x93,
+0x5D, 0xE0, 0xFF, 0x90, 0x93, 0x16, 0xE0, 0xC3, 0x9F, 0xF5, 0x49, 0xE4, 0xFB, 0xFD, 0x7F, 0x60,
+0x7E, 0x01, 0x12, 0x39, 0x77, 0x90, 0x93, 0x27, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x63, 0x74, 0x05,
+0xF0, 0x90, 0x93, 0x26, 0x74, 0x01, 0xF0, 0x90, 0x93, 0x4C, 0xE0, 0x60, 0x07, 0x90, 0x05, 0x22,
+0x74, 0x6F, 0xF0, 0x22, 0x90, 0x05, 0x22, 0xE4, 0xF0, 0x90, 0x93, 0x15, 0xE0, 0xC4, 0x13, 0x54,
+0x07, 0x20, 0xE0, 0x0F, 0x90, 0x93, 0x15, 0xE0, 0xFF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x03,
+0x12, 0x51, 0x39, 0x22, 0x01, 0xF5,
+};
+u4Byte ArrayLength_8723A_rtl8723fw_B = 24550;
+
+
+void
+ODM_ReadFirmware_8723A_rtl8723fw_B(
+ IN PDM_ODM_T pDM_Odm,
+ OUT u1Byte *pFirmware,
+ OUT u4Byte *pFirmwareSize
+)
+{
+ ODM_MoveMemory(pDM_Odm, pFirmware, Array_8723A_rtl8723fw_B, ArrayLength_8723A_rtl8723fw_B);
+ *pFirmwareSize = ArrayLength_8723A_rtl8723fw_B;
+}
+
+
+
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.h index fcdc62b7ec3a..8bdde6c6d264 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_FW.h @@ -1,39 +1,39 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#if (RTL8723A_SUPPORT == 1) -#ifndef __INC_FW_8723A_HW_IMG_H -#define __INC_FW_8723A_HW_IMG_H - - -/****************************************************************************** -* rtl8723fw_B.TXT -******************************************************************************/ - -void -ODM_ReadFirmware_8723A_rtl8723fw_B( - IN PDM_ODM_T pDM_Odm, - OUT u1Byte *pFirmware, - OUT u4Byte *pFirmwareSize -); - -#endif -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#if (RTL8723A_SUPPORT == 1)
+#ifndef __INC_FW_8723A_HW_IMG_H
+#define __INC_FW_8723A_HW_IMG_H
+
+
+/******************************************************************************
+* rtl8723fw_B.TXT
+******************************************************************************/
+
+void
+ODM_ReadFirmware_8723A_rtl8723fw_B(
+ IN PDM_ODM_T pDM_Odm,
+ OUT u1Byte *pFirmware,
+ OUT u4Byte *pFirmwareSize
+);
+
+#endif
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.c index 4d5fed358af3..b4e13b43f97c 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.c @@ -1,219 +1,219 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#include "../odm_precomp.h" - -#if (RTL8723A_SUPPORT == 1) -static BOOLEAN -CheckCondition( - const u4Byte Condition, - const u4Byte Hex - ) -{ - u4Byte _board = (Hex & 0x000000FF); - u4Byte _interface = (Hex & 0x0000FF00) >> 8; - u4Byte _platform = (Hex & 0x00FF0000) >> 16; - u4Byte cond = Condition; - - if ( Condition == 0xCDCDCDCD ) - return TRUE; - - cond = Condition & 0x000000FF; - if ( (_board == cond) && cond != 0x00) - return FALSE; - - cond = Condition & 0x0000FF00; - cond = cond >> 8; - if ( (_interface & cond) == 0 && cond != 0x07) - return FALSE; - - cond = Condition & 0x00FF0000; - cond = cond >> 16; - if ( (_platform & cond) == 0 && cond != 0x0F) - return FALSE; - return TRUE; -} - - -/****************************************************************************** -* MAC_REG.TXT -******************************************************************************/ - -u4Byte Array_MAC_REG_8723A[] = { - 0x420, 0x00000080, - 0x423, 0x00000000, - 0x430, 0x00000000, - 0x431, 0x00000000, - 0x432, 0x00000000, - 0x433, 0x00000001, - 0x434, 0x00000004, - 0x435, 0x00000005, - 0x436, 0x00000006, - 0x437, 0x00000007, - 0x438, 0x00000000, - 0x439, 0x00000000, - 0x43A, 0x00000000, - 0x43B, 0x00000001, - 0x43C, 0x00000004, - 0x43D, 0x00000005, - 0x43E, 0x00000006, - 0x43F, 0x00000007, - 0x440, 0x0000005D, - 0x441, 0x00000001, - 0x442, 0x00000000, - 0x444, 0x00000015, - 0x445, 0x000000F0, - 0x446, 0x0000000F, - 0x447, 0x00000000, - 0x458, 0x00000041, - 0x459, 0x000000A8, - 0x45A, 0x00000072, - 0x45B, 0x000000B9, - 0x460, 0x00000066, - 0x461, 0x00000066, - 0x462, 0x00000008, - 0x463, 0x00000003, - 0x4C8, 0x000000FF, - 0x4C9, 0x00000008, - 0x4CC, 0x000000FF, - 0x4CD, 0x000000FF, - 0x4CE, 0x00000001, - 0x500, 0x00000026, - 0x501, 0x000000A2, - 0x502, 0x0000002F, - 0x503, 0x00000000, - 0x504, 0x00000028, - 0x505, 0x000000A3, - 0x506, 0x0000005E, - 0x507, 0x00000000, - 0x508, 0x0000002B, - 0x509, 0x000000A4, - 0x50A, 0x0000005E, - 0x50B, 0x00000000, - 0x50C, 0x0000004F, - 0x50D, 0x000000A4, - 0x50E, 0x00000000, - 0x50F, 0x00000000, - 0x512, 0x0000001C, - 0x514, 0x0000000A, - 0x515, 0x00000010, - 0x516, 0x0000000A, - 0x517, 0x00000010, - 0x51A, 0x00000016, - 0x524, 0x0000000F, - 0x525, 0x0000004F, - 0x546, 0x00000040, - 0x547, 0x00000000, - 0x550, 0x00000010, - 0x551, 0x00000010, - 0x559, 0x00000002, - 0x55A, 0x00000002, - 0x55D, 0x000000FF, - 0x605, 0x00000030, - 0x608, 0x0000000E, - 0x609, 0x0000002A, - 0x652, 0x00000020, - 0x63C, 0x0000000A, - 0x63D, 0x0000000A, - 0x63E, 0x0000000E, - 0x63F, 0x0000000E, - 0x66E, 0x00000005, - 0x700, 0x00000021, - 0x701, 0x00000043, - 0x702, 0x00000065, - 0x703, 0x00000087, - 0x708, 0x00000021, - 0x709, 0x00000043, - 0x70A, 0x00000065, - 0x70B, 0x00000087, - -}; - -void -ODM_ReadAndConfig_MAC_REG_8723A( - IN PDM_ODM_T pDM_Odm - ) -{ - #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0) - - u4Byte hex = 0; - u4Byte i = 0; - u2Byte count = 0; - pu4Byte ptr_array = NULL; - u1Byte platform = pDM_Odm->SupportPlatform; - u1Byte interfaceValue = pDM_Odm->SupportInterface; - u1Byte board = pDM_Odm->BoardType; - u4Byte ArrayLen = sizeof(Array_MAC_REG_8723A)/sizeof(u4Byte); - pu4Byte Array = Array_MAC_REG_8723A; - - - hex += board; - hex += interfaceValue << 8; - hex += platform << 16; - hex += 0xFF000000; - for (i = 0; i < ArrayLen; i += 2 ) - { - u4Byte v1 = Array[i]; - u4Byte v2 = Array[i+1]; - - // This (offset, data) pair meets the condition. - if ( v1 < 0xCDCDCDCD ) - { - odm_ConfigMAC_8723A(pDM_Odm, v1, (u1Byte)v2); - continue; - } - else - { // This line is the start line of branch. - if ( !CheckCondition(Array[i], hex) ) - { // Discard the following (offset, data) pairs. - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - i -= 2; // prevent from for-loop += 2 - } - else // Configure matched pairs and skip to end of if-else. - { - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - odm_ConfigMAC_8723A(pDM_Odm, v1, (u1Byte)v2); - READ_NEXT_PAIR(v1, v2, i); - } - - while (v2 != 0xDEAD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - - } - } - } - -} - - -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#include "../odm_precomp.h"
+
+#if (RTL8723A_SUPPORT == 1)
+static BOOLEAN
+CheckCondition(
+ const u4Byte Condition,
+ const u4Byte Hex
+ )
+{
+ u4Byte _board = (Hex & 0x000000FF);
+ u4Byte _interface = (Hex & 0x0000FF00) >> 8;
+ u4Byte _platform = (Hex & 0x00FF0000) >> 16;
+ u4Byte cond = Condition;
+
+ if ( Condition == 0xCDCDCDCD )
+ return TRUE;
+
+ cond = Condition & 0x000000FF;
+ if ( (_board == cond) && cond != 0x00)
+ return FALSE;
+
+ cond = Condition & 0x0000FF00;
+ cond = cond >> 8;
+ if ( (_interface & cond) == 0 && cond != 0x07)
+ return FALSE;
+
+ cond = Condition & 0x00FF0000;
+ cond = cond >> 16;
+ if ( (_platform & cond) == 0 && cond != 0x0F)
+ return FALSE;
+ return TRUE;
+}
+
+
+/******************************************************************************
+* MAC_REG.TXT
+******************************************************************************/
+
+u4Byte Array_MAC_REG_8723A[] = {
+ 0x420, 0x00000080,
+ 0x423, 0x00000000,
+ 0x430, 0x00000000,
+ 0x431, 0x00000000,
+ 0x432, 0x00000000,
+ 0x433, 0x00000001,
+ 0x434, 0x00000004,
+ 0x435, 0x00000005,
+ 0x436, 0x00000006,
+ 0x437, 0x00000007,
+ 0x438, 0x00000000,
+ 0x439, 0x00000000,
+ 0x43A, 0x00000000,
+ 0x43B, 0x00000001,
+ 0x43C, 0x00000004,
+ 0x43D, 0x00000005,
+ 0x43E, 0x00000006,
+ 0x43F, 0x00000007,
+ 0x440, 0x0000005D,
+ 0x441, 0x00000001,
+ 0x442, 0x00000000,
+ 0x444, 0x00000015,
+ 0x445, 0x000000F0,
+ 0x446, 0x0000000F,
+ 0x447, 0x00000000,
+ 0x458, 0x00000041,
+ 0x459, 0x000000A8,
+ 0x45A, 0x00000072,
+ 0x45B, 0x000000B9,
+ 0x460, 0x00000066,
+ 0x461, 0x00000066,
+ 0x462, 0x00000008,
+ 0x463, 0x00000003,
+ 0x4C8, 0x000000FF,
+ 0x4C9, 0x00000008,
+ 0x4CC, 0x000000FF,
+ 0x4CD, 0x000000FF,
+ 0x4CE, 0x00000001,
+ 0x500, 0x00000026,
+ 0x501, 0x000000A2,
+ 0x502, 0x0000002F,
+ 0x503, 0x00000000,
+ 0x504, 0x00000028,
+ 0x505, 0x000000A3,
+ 0x506, 0x0000005E,
+ 0x507, 0x00000000,
+ 0x508, 0x0000002B,
+ 0x509, 0x000000A4,
+ 0x50A, 0x0000005E,
+ 0x50B, 0x00000000,
+ 0x50C, 0x0000004F,
+ 0x50D, 0x000000A4,
+ 0x50E, 0x00000000,
+ 0x50F, 0x00000000,
+ 0x512, 0x0000001C,
+ 0x514, 0x0000000A,
+ 0x515, 0x00000010,
+ 0x516, 0x0000000A,
+ 0x517, 0x00000010,
+ 0x51A, 0x00000016,
+ 0x524, 0x0000000F,
+ 0x525, 0x0000004F,
+ 0x546, 0x00000040,
+ 0x547, 0x00000000,
+ 0x550, 0x00000010,
+ 0x551, 0x00000010,
+ 0x559, 0x00000002,
+ 0x55A, 0x00000002,
+ 0x55D, 0x000000FF,
+ 0x605, 0x00000030,
+ 0x608, 0x0000000E,
+ 0x609, 0x0000002A,
+ 0x652, 0x00000020,
+ 0x63C, 0x0000000A,
+ 0x63D, 0x0000000A,
+ 0x63E, 0x0000000E,
+ 0x63F, 0x0000000E,
+ 0x66E, 0x00000005,
+ 0x700, 0x00000021,
+ 0x701, 0x00000043,
+ 0x702, 0x00000065,
+ 0x703, 0x00000087,
+ 0x708, 0x00000021,
+ 0x709, 0x00000043,
+ 0x70A, 0x00000065,
+ 0x70B, 0x00000087,
+
+};
+
+void
+ODM_ReadAndConfig_MAC_REG_8723A(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+ #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0)
+
+ u4Byte hex = 0;
+ u4Byte i = 0;
+ u2Byte count = 0;
+ pu4Byte ptr_array = NULL;
+ u1Byte platform = pDM_Odm->SupportPlatform;
+ u1Byte interfaceValue = pDM_Odm->SupportInterface;
+ u1Byte board = pDM_Odm->BoardType;
+ u4Byte ArrayLen = sizeof(Array_MAC_REG_8723A)/sizeof(u4Byte);
+ pu4Byte Array = Array_MAC_REG_8723A;
+
+
+ hex += board;
+ hex += interfaceValue << 8;
+ hex += platform << 16;
+ hex += 0xFF000000;
+ for (i = 0; i < ArrayLen; i += 2 )
+ {
+ u4Byte v1 = Array[i];
+ u4Byte v2 = Array[i+1];
+
+ // This (offset, data) pair meets the condition.
+ if ( v1 < 0xCDCDCDCD )
+ {
+ odm_ConfigMAC_8723A(pDM_Odm, v1, (u1Byte)v2);
+ continue;
+ }
+ else
+ { // This line is the start line of branch.
+ if ( !CheckCondition(Array[i], hex) )
+ { // Discard the following (offset, data) pairs.
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+ i -= 2; // prevent from for-loop += 2
+ }
+ else // Configure matched pairs and skip to end of if-else.
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ odm_ConfigMAC_8723A(pDM_Odm, v1, (u1Byte)v2);
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ while (v2 != 0xDEAD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ }
+ }
+ }
+
+}
+
+
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.h index 498faac482c2..295e6f4067b7 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_MAC.h @@ -1,36 +1,36 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#if (RTL8723A_SUPPORT == 1) -#ifndef __INC_MAC_8723A_HW_IMG_H -#define __INC_MAC_8723A_HW_IMG_H - -/****************************************************************************** -* MAC_REG.TXT -******************************************************************************/ - -void -ODM_ReadAndConfig_MAC_REG_8723A( - IN PDM_ODM_T pDM_Odm -); - -#endif -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#if (RTL8723A_SUPPORT == 1)
+#ifndef __INC_MAC_8723A_HW_IMG_H
+#define __INC_MAC_8723A_HW_IMG_H
+
+/******************************************************************************
+* MAC_REG.TXT
+******************************************************************************/
+
+void
+ODM_ReadAndConfig_MAC_REG_8723A(
+ IN PDM_ODM_T pDM_Odm
+);
+
+#endif
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.c b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.c index 31925b03922c..b9a5942bbb22 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.c +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.c @@ -1,290 +1,290 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#include "../odm_precomp.h" - -#if (RTL8723A_SUPPORT == 1) -static BOOLEAN -CheckCondition( - const u4Byte Condition, - const u4Byte Hex - ) -{ - u4Byte _board = (Hex & 0x000000FF); - u4Byte _interface = (Hex & 0x0000FF00) >> 8; - u4Byte _platform = (Hex & 0x00FF0000) >> 16; - u4Byte cond = Condition; - - if ( Condition == 0xCDCDCDCD ) - return TRUE; - - cond = Condition & 0x000000FF; - if ( (_board == cond) && cond != 0x00) - return FALSE; - - cond = Condition & 0x0000FF00; - cond = cond >> 8; - if ( (_interface & cond) == 0 && cond != 0x07) - return FALSE; - - cond = Condition & 0x00FF0000; - cond = cond >> 16; - if ( (_platform & cond) == 0 && cond != 0x0F) - return FALSE; - return TRUE; -} - - -/****************************************************************************** -* RadioA_1T.TXT -******************************************************************************/ - -u4Byte Array_RadioA_1T_8723A[] = { - 0x000, 0x00030159, - 0x001, 0x00031284, - 0x002, 0x00098000, - 0xFF0F011F, 0xABCD, - 0x003, 0x00018C63, - 0xCDCDCDCD, 0xCDCD, - 0x003, 0x00039C63, - 0xFF0F011F, 0xDEAD, - 0x004, 0x000210E7, - 0x009, 0x0002044F, - 0x00A, 0x0001A3F1, - 0x00B, 0x00014787, - 0x00C, 0x000896FE, - 0x00D, 0x0000E02C, - 0x00E, 0x00039CE7, - 0x00F, 0x00000451, - 0x019, 0x00000000, - 0x01A, 0x00030355, - 0x01B, 0x00060A00, - 0x01C, 0x000FC378, - 0x01D, 0x000A1250, - 0x01E, 0x0000024F, - 0x01F, 0x00000000, - 0x020, 0x0000B614, - 0x021, 0x0006C000, - 0x022, 0x00000000, - 0x023, 0x00001558, - 0x024, 0x00000060, - 0x025, 0x00000483, - 0x026, 0x0004F000, - 0x027, 0x000EC7D9, - 0x028, 0x00057730, - 0x029, 0x00004783, - 0x02A, 0x00000001, - 0x02B, 0x00021334, - 0x02A, 0x00000000, - 0x02B, 0x00000054, - 0x02A, 0x00000001, - 0x02B, 0x00000808, - 0x02B, 0x00053333, - 0x02C, 0x0000000C, - 0x02A, 0x00000002, - 0x02B, 0x00000808, - 0x02B, 0x0005B333, - 0x02C, 0x0000000D, - 0x02A, 0x00000003, - 0x02B, 0x00000808, - 0x02B, 0x00063333, - 0x02C, 0x0000000D, - 0x02A, 0x00000004, - 0x02B, 0x00000808, - 0x02B, 0x0006B333, - 0x02C, 0x0000000D, - 0x02A, 0x00000005, - 0x02B, 0x00000808, - 0x02B, 0x00073333, - 0x02C, 0x0000000D, - 0x02A, 0x00000006, - 0x02B, 0x00000709, - 0x02B, 0x0005B333, - 0x02C, 0x0000000D, - 0x02A, 0x00000007, - 0x02B, 0x00000709, - 0x02B, 0x00063333, - 0x02C, 0x0000000D, - 0x02A, 0x00000008, - 0x02B, 0x0000060A, - 0x02B, 0x0004B333, - 0x02C, 0x0000000D, - 0x02A, 0x00000009, - 0x02B, 0x0000060A, - 0x02B, 0x00053333, - 0x02C, 0x0000000D, - 0x02A, 0x0000000A, - 0x02B, 0x0000060A, - 0x02B, 0x0005B333, - 0x02C, 0x0000000D, - 0x02A, 0x0000000B, - 0x02B, 0x0000060A, - 0x02B, 0x00063333, - 0x02C, 0x0000000D, - 0x02A, 0x0000000C, - 0x02B, 0x0000060A, - 0x02B, 0x0006B333, - 0x02C, 0x0000000D, - 0x02A, 0x0000000D, - 0x02B, 0x0000060A, - 0x02B, 0x00073333, - 0x02C, 0x0000000D, - 0x02A, 0x0000000E, - 0x02B, 0x0000050B, - 0x02B, 0x00066666, - 0x02C, 0x0000001A, - 0x02A, 0x000E0000, - 0x010, 0x0004000F, - 0x011, 0x000E31FC, - 0x010, 0x0006000F, - 0x011, 0x000FF9F8, - 0x010, 0x0002000F, - 0x011, 0x000203F9, - 0x010, 0x0003000F, - 0x011, 0x000FF500, - 0x010, 0x00000000, - 0x011, 0x00000000, - 0x010, 0x0008000F, - 0x011, 0x0003F100, - 0x010, 0x0009000F, - 0x011, 0x00023100, - 0x012, 0x00032000, - 0x012, 0x00071000, - 0x012, 0x000B0000, - 0x012, 0x000FC000, - 0x013, 0x000287B3, - 0x013, 0x000244B7, - 0x013, 0x000204AB, - 0x013, 0x0001C49F, - 0x013, 0x00018493, - 0x013, 0x0001429B, - 0x013, 0x00010299, - 0x013, 0x0000C29C, - 0x013, 0x000081A0, - 0x013, 0x000040AC, - 0x013, 0x00000020, - 0x014, 0x0001944C, - 0x014, 0x00059444, - 0x014, 0x0009944C, - 0x014, 0x000D9444, - 0xFF0F011F, 0xABCD, - 0x015, 0x0000F424, - 0x015, 0x0004F424, - 0x015, 0x0008F424, - 0x015, 0x000CF424, - 0xCDCDCDCD, 0xCDCD, - 0x015, 0x0000F474, - 0x015, 0x0004F477, - 0x015, 0x0008F455, - 0x015, 0x000CF455, - 0xFF0F011F, 0xDEAD, - 0x016, 0x00000339, - 0x016, 0x00040339, - 0x016, 0x00080339, - 0xFF0F011F, 0xABCD, - 0x016, 0x000C0356, - 0xCDCDCDCD, 0xCDCD, - 0x016, 0x000C0366, - 0xFF0F011F, 0xDEAD, - 0x000, 0x00010159, - 0x018, 0x0000F401, - 0x0FE, 0x00000000, - 0x0FE, 0x00000000, - 0x01F, 0x00000003, - 0x0FE, 0x00000000, - 0x0FE, 0x00000000, - 0x01E, 0x00000247, - 0x01F, 0x00000000, - 0x000, 0x00030159, - -}; - -void -ODM_ReadAndConfig_RadioA_1T_8723A( - IN PDM_ODM_T pDM_Odm - ) -{ - #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0) - - u4Byte hex = 0; - u4Byte i = 0; - u2Byte count = 0; - pu4Byte ptr_array = NULL; - u1Byte platform = pDM_Odm->SupportPlatform; - u1Byte interfaceValue = pDM_Odm->SupportInterface; - u1Byte board = pDM_Odm->BoardType; - u4Byte ArrayLen = sizeof(Array_RadioA_1T_8723A)/sizeof(u4Byte); - pu4Byte Array = Array_RadioA_1T_8723A; - - - hex += board; - hex += interfaceValue << 8; - hex += platform << 16; - hex += 0xFF000000; - - for (i = 0; i < ArrayLen; i += 2 ) - { - u4Byte v1 = Array[i]; - u4Byte v2 = Array[i+1]; - - // This (offset, data) pair meets the condition. - if ( v1 < 0xCDCDCDCD ) - { - odm_ConfigRF_RadioA_8723A(pDM_Odm, v1, v2); - continue; - } - else - { // This line is the start line of branch. - if ( !CheckCondition(Array[i], hex) ) - { // Discard the following (offset, data) pairs. - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - i -= 2; // prevent from for-loop += 2 - } - else // Configure matched pairs and skip to end of if-else. - { - READ_NEXT_PAIR(v1, v2, i); - while (v2 != 0xDEAD && - v2 != 0xCDEF && - v2 != 0xCDCD && i < ArrayLen -2) - { - odm_ConfigRF_RadioA_8723A(pDM_Odm, v1, v2); - READ_NEXT_PAIR(v1, v2, i); - } - - while (v2 != 0xDEAD && i < ArrayLen -2) - { - READ_NEXT_PAIR(v1, v2, i); - } - - } - } - } - -} - - -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#include "../odm_precomp.h"
+
+#if (RTL8723A_SUPPORT == 1)
+static BOOLEAN
+CheckCondition(
+ const u4Byte Condition,
+ const u4Byte Hex
+ )
+{
+ u4Byte _board = (Hex & 0x000000FF);
+ u4Byte _interface = (Hex & 0x0000FF00) >> 8;
+ u4Byte _platform = (Hex & 0x00FF0000) >> 16;
+ u4Byte cond = Condition;
+
+ if ( Condition == 0xCDCDCDCD )
+ return TRUE;
+
+ cond = Condition & 0x000000FF;
+ if ( (_board == cond) && cond != 0x00)
+ return FALSE;
+
+ cond = Condition & 0x0000FF00;
+ cond = cond >> 8;
+ if ( (_interface & cond) == 0 && cond != 0x07)
+ return FALSE;
+
+ cond = Condition & 0x00FF0000;
+ cond = cond >> 16;
+ if ( (_platform & cond) == 0 && cond != 0x0F)
+ return FALSE;
+ return TRUE;
+}
+
+
+/******************************************************************************
+* RadioA_1T.TXT
+******************************************************************************/
+
+u4Byte Array_RadioA_1T_8723A[] = {
+ 0x000, 0x00030159,
+ 0x001, 0x00031284,
+ 0x002, 0x00098000,
+ 0xFF0F011F, 0xABCD,
+ 0x003, 0x00018C63,
+ 0xCDCDCDCD, 0xCDCD,
+ 0x003, 0x00039C63,
+ 0xFF0F011F, 0xDEAD,
+ 0x004, 0x000210E7,
+ 0x009, 0x0002044F,
+ 0x00A, 0x0001A3F1,
+ 0x00B, 0x00014787,
+ 0x00C, 0x000896FE,
+ 0x00D, 0x0000E02C,
+ 0x00E, 0x00039CE7,
+ 0x00F, 0x00000451,
+ 0x019, 0x00000000,
+ 0x01A, 0x00030355,
+ 0x01B, 0x00060A00,
+ 0x01C, 0x000FC378,
+ 0x01D, 0x000A1250,
+ 0x01E, 0x0000024F,
+ 0x01F, 0x00000000,
+ 0x020, 0x0000B614,
+ 0x021, 0x0006C000,
+ 0x022, 0x00000000,
+ 0x023, 0x00001558,
+ 0x024, 0x00000060,
+ 0x025, 0x00000483,
+ 0x026, 0x0004F000,
+ 0x027, 0x000EC7D9,
+ 0x028, 0x00057730,
+ 0x029, 0x00004783,
+ 0x02A, 0x00000001,
+ 0x02B, 0x00021334,
+ 0x02A, 0x00000000,
+ 0x02B, 0x00000054,
+ 0x02A, 0x00000001,
+ 0x02B, 0x00000808,
+ 0x02B, 0x00053333,
+ 0x02C, 0x0000000C,
+ 0x02A, 0x00000002,
+ 0x02B, 0x00000808,
+ 0x02B, 0x0005B333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x00000003,
+ 0x02B, 0x00000808,
+ 0x02B, 0x00063333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x00000004,
+ 0x02B, 0x00000808,
+ 0x02B, 0x0006B333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x00000005,
+ 0x02B, 0x00000808,
+ 0x02B, 0x00073333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x00000006,
+ 0x02B, 0x00000709,
+ 0x02B, 0x0005B333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x00000007,
+ 0x02B, 0x00000709,
+ 0x02B, 0x00063333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x00000008,
+ 0x02B, 0x0000060A,
+ 0x02B, 0x0004B333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x00000009,
+ 0x02B, 0x0000060A,
+ 0x02B, 0x00053333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x0000000A,
+ 0x02B, 0x0000060A,
+ 0x02B, 0x0005B333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x0000000B,
+ 0x02B, 0x0000060A,
+ 0x02B, 0x00063333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x0000000C,
+ 0x02B, 0x0000060A,
+ 0x02B, 0x0006B333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x0000000D,
+ 0x02B, 0x0000060A,
+ 0x02B, 0x00073333,
+ 0x02C, 0x0000000D,
+ 0x02A, 0x0000000E,
+ 0x02B, 0x0000050B,
+ 0x02B, 0x00066666,
+ 0x02C, 0x0000001A,
+ 0x02A, 0x000E0000,
+ 0x010, 0x0004000F,
+ 0x011, 0x000E31FC,
+ 0x010, 0x0006000F,
+ 0x011, 0x000FF9F8,
+ 0x010, 0x0002000F,
+ 0x011, 0x000203F9,
+ 0x010, 0x0003000F,
+ 0x011, 0x000FF500,
+ 0x010, 0x00000000,
+ 0x011, 0x00000000,
+ 0x010, 0x0008000F,
+ 0x011, 0x0003F100,
+ 0x010, 0x0009000F,
+ 0x011, 0x00023100,
+ 0x012, 0x00032000,
+ 0x012, 0x00071000,
+ 0x012, 0x000B0000,
+ 0x012, 0x000FC000,
+ 0x013, 0x000287B3,
+ 0x013, 0x000244B7,
+ 0x013, 0x000204AB,
+ 0x013, 0x0001C49F,
+ 0x013, 0x00018493,
+ 0x013, 0x0001429B,
+ 0x013, 0x00010299,
+ 0x013, 0x0000C29C,
+ 0x013, 0x000081A0,
+ 0x013, 0x000040AC,
+ 0x013, 0x00000020,
+ 0x014, 0x0001944C,
+ 0x014, 0x00059444,
+ 0x014, 0x0009944C,
+ 0x014, 0x000D9444,
+ 0xFF0F011F, 0xABCD,
+ 0x015, 0x0000F424,
+ 0x015, 0x0004F424,
+ 0x015, 0x0008F424,
+ 0x015, 0x000CF424,
+ 0xCDCDCDCD, 0xCDCD,
+ 0x015, 0x0000F474,
+ 0x015, 0x0004F477,
+ 0x015, 0x0008F455,
+ 0x015, 0x000CF455,
+ 0xFF0F011F, 0xDEAD,
+ 0x016, 0x00000339,
+ 0x016, 0x00040339,
+ 0x016, 0x00080339,
+ 0xFF0F011F, 0xABCD,
+ 0x016, 0x000C0356,
+ 0xCDCDCDCD, 0xCDCD,
+ 0x016, 0x000C0366,
+ 0xFF0F011F, 0xDEAD,
+ 0x000, 0x00010159,
+ 0x018, 0x0000F401,
+ 0x0FE, 0x00000000,
+ 0x0FE, 0x00000000,
+ 0x01F, 0x00000003,
+ 0x0FE, 0x00000000,
+ 0x0FE, 0x00000000,
+ 0x01E, 0x00000247,
+ 0x01F, 0x00000000,
+ 0x000, 0x00030159,
+
+};
+
+void
+ODM_ReadAndConfig_RadioA_1T_8723A(
+ IN PDM_ODM_T pDM_Odm
+ )
+{
+ #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0)
+
+ u4Byte hex = 0;
+ u4Byte i = 0;
+ u2Byte count = 0;
+ pu4Byte ptr_array = NULL;
+ u1Byte platform = pDM_Odm->SupportPlatform;
+ u1Byte interfaceValue = pDM_Odm->SupportInterface;
+ u1Byte board = pDM_Odm->BoardType;
+ u4Byte ArrayLen = sizeof(Array_RadioA_1T_8723A)/sizeof(u4Byte);
+ pu4Byte Array = Array_RadioA_1T_8723A;
+
+
+ hex += board;
+ hex += interfaceValue << 8;
+ hex += platform << 16;
+ hex += 0xFF000000;
+
+ for (i = 0; i < ArrayLen; i += 2 )
+ {
+ u4Byte v1 = Array[i];
+ u4Byte v2 = Array[i+1];
+
+ // This (offset, data) pair meets the condition.
+ if ( v1 < 0xCDCDCDCD )
+ {
+ odm_ConfigRF_RadioA_8723A(pDM_Odm, v1, v2);
+ continue;
+ }
+ else
+ { // This line is the start line of branch.
+ if ( !CheckCondition(Array[i], hex) )
+ { // Discard the following (offset, data) pairs.
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+ i -= 2; // prevent from for-loop += 2
+ }
+ else // Configure matched pairs and skip to end of if-else.
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ while (v2 != 0xDEAD &&
+ v2 != 0xCDEF &&
+ v2 != 0xCDCD && i < ArrayLen -2)
+ {
+ odm_ConfigRF_RadioA_8723A(pDM_Odm, v1, v2);
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ while (v2 != 0xDEAD && i < ArrayLen -2)
+ {
+ READ_NEXT_PAIR(v1, v2, i);
+ }
+
+ }
+ }
+ }
+
+}
+
+
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.h b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.h index 59e8273098cc..21ce3d1aedb9 100755 --- a/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.h +++ b/drivers/net/wireless/rtl8723as/hal/OUTSRC/rtl8723a/HalHWImg8723A_RF.h @@ -1,37 +1,37 @@ -/****************************************************************************** -* -* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of version 2 of the GNU General Public License as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -* more details. -* -* You should have received a copy of the GNU General Public License along with -* this program; if not, write to the Free Software Foundation, Inc., -* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA -* -* -******************************************************************************/ - -#if (RTL8723A_SUPPORT == 1) -#ifndef __INC_RF_8723A_HW_IMG_H -#define __INC_RF_8723A_HW_IMG_H - -/****************************************************************************** -* RadioA_1T.TXT -******************************************************************************/ - -void -ODM_ReadAndConfig_RadioA_1T_8723A( - IN PDM_ODM_T pDM_Odm -); - - -#endif -#endif // end of HWIMG_SUPPORT - +/******************************************************************************
+*
+* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+#if (RTL8723A_SUPPORT == 1)
+#ifndef __INC_RF_8723A_HW_IMG_H
+#define __INC_RF_8723A_HW_IMG_H
+
+/******************************************************************************
+* RadioA_1T.TXT
+******************************************************************************/
+
+void
+ODM_ReadAndConfig_RadioA_1T_8723A(
+ IN PDM_ODM_T pDM_Odm
+);
+
+
+#endif
+#endif // end of HWIMG_SUPPORT
+
diff --git a/drivers/net/wireless/rtl8723as/hal/hal_com.c b/drivers/net/wireless/rtl8723as/hal/hal_com.c index 7628b1be1469..9f413a09cfbf 100755 --- a/drivers/net/wireless/rtl8723as/hal/hal_com.c +++ b/drivers/net/wireless/rtl8723as/hal/hal_com.c @@ -65,6 +65,9 @@ void dump_chip_info(HAL_VERSION ChipVersion) else if(IS_C_CUT(ChipVersion)) cnt += sprintf((buf+cnt), "C_CUT_"); else if(IS_D_CUT(ChipVersion)) cnt += sprintf((buf+cnt), "D_CUT_"); else if(IS_E_CUT(ChipVersion)) cnt += sprintf((buf+cnt), "E_CUT_"); + else if(IS_I_CUT(ChipVersion)) cnt += sprintf((buf+cnt), "I_CUT_"); + else if(IS_J_CUT(ChipVersion)) cnt += sprintf((buf+cnt), "J_CUT_"); + else if(IS_K_CUT(ChipVersion)) cnt += sprintf((buf+cnt), "K_CUT_"); else cnt += sprintf((buf+cnt), "UNKNOWN_CUT(%d)_", ChipVersion.CUTVersion); if(IS_1T1R(ChipVersion)) cnt += sprintf((buf+cnt), "1T1R_"); @@ -393,3 +396,58 @@ exit: return ret; } +u8 +SetHalDefVar(_adapter *adapter, HAL_DEF_VARIABLE variable, void *value) +{ + HAL_DATA_TYPE *pHalData = GET_HAL_DATA(adapter); + PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); + u8 bResult = _SUCCESS; + + switch(variable) { + case HW_DEF_FA_CNT_DUMP: + if(*((u8*)value)) + pDM_Odm->DebugComponents |= (ODM_COMP_DIG |ODM_COMP_FA_CNT); + else + pDM_Odm->DebugComponents &= ~(ODM_COMP_DIG |ODM_COMP_FA_CNT); + break; + case HW_DEF_ODM_DBG_FLAG: + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_DBG_COMP, *((u8Byte*)value)); + break; + case HW_DEF_ODM_DBG_LEVEL: + ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_DBG_LEVEL, *((u4Byte*)value)); + break; + default: + DBG_871X_LEVEL(_drv_always_, "%s: [WARNING] HAL_DEF_VARIABLE(%d) not defined!\n", __FUNCTION__, variable); + bResult = _FAIL; + break; + } + + return bResult; +} + +u8 +GetHalDefVar(_adapter *adapter, HAL_DEF_VARIABLE variable, void *value) +{ + HAL_DATA_TYPE *pHalData = GET_HAL_DATA(adapter); + PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); + u8 bResult = _SUCCESS; + + switch(variable) { + case HW_DEF_ODM_DBG_FLAG: + *((u8Byte*)value) = pDM_Odm->DebugComponents; + break; + case HW_DEF_ODM_DBG_LEVEL: + *((u4Byte*)value) = pDM_Odm->DebugLevel; + break; + case HAL_DEF_DBG_DM_FUNC: + *((u32*)value) = pHalData->odmpriv.SupportAbility; + break; + default: + DBG_871X_LEVEL(_drv_always_, "%s: [WARNING] HAL_DEF_VARIABLE(%d) not defined!\n", __FUNCTION__, variable); + bResult = _FAIL; + break; + } + + return bResult; +} + diff --git a/drivers/net/wireless/rtl8723as/hal/hal_intf.c b/drivers/net/wireless/rtl8723as/hal/hal_intf.c index 9fd02a87228f..c7950c48f3b3 100755 --- a/drivers/net/wireless/rtl8723as/hal/hal_intf.c +++ b/drivers/net/wireless/rtl8723as/hal/hal_intf.c @@ -54,24 +54,28 @@ void rtw_hal_read_chip_version(_adapter *padapter) void rtw_hal_def_value_init(_adapter *padapter) { - if(padapter->HalFunc.init_default_value) - padapter->HalFunc.init_default_value(padapter); + if (is_primary_adapter(padapter)) + if(padapter->HalFunc.init_default_value) + padapter->HalFunc.init_default_value(padapter); } void rtw_hal_free_data(_adapter *padapter) { - if(padapter->HalFunc.free_hal_data) - padapter->HalFunc.free_hal_data(padapter); + if (is_primary_adapter(padapter)) + if(padapter->HalFunc.free_hal_data) + padapter->HalFunc.free_hal_data(padapter); } void rtw_hal_dm_init(_adapter *padapter) { - if(padapter->HalFunc.dm_init) - padapter->HalFunc.dm_init(padapter); + if (is_primary_adapter(padapter)) + if(padapter->HalFunc.dm_init) + padapter->HalFunc.dm_init(padapter); } void rtw_hal_dm_deinit(_adapter *padapter) { // cancel dm timer - if(padapter->HalFunc.dm_deinit) - padapter->HalFunc.dm_deinit(padapter); + if (is_primary_adapter(padapter)) + if(padapter->HalFunc.dm_deinit) + padapter->HalFunc.dm_deinit(padapter); } void rtw_hal_sw_led_init(_adapter *padapter) { @@ -96,6 +100,8 @@ u32 rtw_hal_power_on(_adapter *padapter) uint rtw_hal_init(_adapter *padapter) { uint status = _SUCCESS; + struct dvobj_priv *dvobj = adapter_to_dvobj(padapter); + int i; #ifdef CONFIG_DUALMAC_CONCURRENT if(padapter->hw_init_completed == _TRUE) @@ -128,20 +134,27 @@ uint rtw_hal_init(_adapter *padapter) } #endif - padapter->hw_init_completed=_FALSE; - status = padapter->HalFunc.hal_init(padapter); if(status == _SUCCESS){ - padapter->hw_init_completed = _TRUE; + for (i = 0; i<dvobj->iface_nums; i++) { + padapter = dvobj->padapters[i]; + padapter->hw_init_completed = _TRUE; + } if (padapter->registrypriv.notch_filter == 1) rtw_hal_notch_filter(padapter, 1); rtw_hal_reset_security_engine(padapter); + rtw_sec_restore_wep_key(padapter); + + init_hw_mlme_ext(padapter); } else{ - padapter->hw_init_completed = _FALSE; + for (i = 0; i<dvobj->iface_nums; i++) { + padapter = dvobj->padapters[i]; + padapter->hw_init_completed = _FALSE; + } DBG_871X("rtw_hal_init: hal__init fail\n"); } @@ -154,13 +167,22 @@ uint rtw_hal_init(_adapter *padapter) uint rtw_hal_deinit(_adapter *padapter) { uint status = _SUCCESS; - + struct dvobj_priv *dvobj = adapter_to_dvobj(padapter); + int i; + _func_enter_; + if (!is_primary_adapter(padapter)){ + DBG_871X(" rtw_hal_deinit: Secondary adapter return l\n"); + return status; + } status = padapter->HalFunc.hal_deinit(padapter); if(status == _SUCCESS){ - padapter->hw_init_completed = _FALSE; + for (i = 0; i<dvobj->iface_nums; i++) { + padapter = dvobj->padapters[i]; + padapter->hw_init_completed = _FALSE; + } } else { @@ -210,6 +232,11 @@ void rtw_hal_get_odm_var(_adapter *padapter, HAL_ODM_VARIABLE eVariable, PVOID p void rtw_hal_enable_interrupt(_adapter *padapter) { + if (!is_primary_adapter(padapter)){ + DBG_871X(" rtw_hal_enable_interrupt: Secondary adapter return l\n"); + return; + } + if (padapter->HalFunc.enable_interrupt) padapter->HalFunc.enable_interrupt(padapter); else @@ -218,6 +245,11 @@ void rtw_hal_enable_interrupt(_adapter *padapter) } void rtw_hal_disable_interrupt(_adapter *padapter) { + if (!is_primary_adapter(padapter)){ + DBG_871X(" rtw_hal_disable_interrupt: Secondary adapter return l\n"); + return; + } + if (padapter->HalFunc.disable_interrupt) padapter->HalFunc.disable_interrupt(padapter); else @@ -272,6 +304,30 @@ s32 rtw_hal_xmit(_adapter *padapter, struct xmit_frame *pxmitframe) s32 rtw_hal_mgnt_xmit(_adapter *padapter, struct xmit_frame *pmgntframe) { s32 ret = _FAIL; + unsigned char *pframe; + struct rtw_ieee80211_hdr *pwlanhdr; + + pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; + pwlanhdr = (struct rtw_ieee80211_hdr *)pframe; + _rtw_memcpy(pmgntframe->attrib.ra, pwlanhdr->addr1, ETH_ALEN); + +#ifdef CONFIG_IEEE80211W + if(padapter->securitypriv.binstallBIPkey == _TRUE) + { + if(IS_MCAST(pmgntframe->attrib.ra)) + { + pmgntframe->attrib.encrypt = _BIP_; + //pmgntframe->attrib.bswenc = _TRUE; + } + else + { + pmgntframe->attrib.encrypt = _AES_; + pmgntframe->attrib.bswenc = _TRUE; + } + rtw_mgmt_xmitframe_coalesce(padapter, pmgntframe->pkt, pmgntframe); + } +#endif //CONFIG_IEEE80211W + if(padapter->HalFunc.mgnt_xmit) ret = padapter->HalFunc.mgnt_xmit(padapter, pmgntframe); return ret; @@ -330,13 +386,7 @@ void rtw_hal_add_ra_tid(_adapter *padapter, u32 bitmap, u8 arg, u8 rssi_level) if(padapter->HalFunc.Add_RateATid) padapter->HalFunc.Add_RateATid(padapter, bitmap, arg, rssi_level); } -#ifdef CONFIG_CONCURRENT_MODE -void rtw_hal_clone_data(_adapter *dst_padapter, _adapter *src_padapter) -{ - if(dst_padapter->HalFunc.clone_haldata) - dst_padapter->HalFunc.clone_haldata(dst_padapter, src_padapter); -} -#endif + /* Start specifical interface thread */ void rtw_hal_start_thread(_adapter *padapter) { @@ -457,15 +507,17 @@ void rtw_hal_sreset_reset_value(_adapter *padapter) void rtw_hal_sreset_xmit_status_check(_adapter *padapter) { -#ifdef CONFIG_CONCURRENT_MODE - if (padapter->adapter_type != PRIMARY_ADAPTER) + if (!is_primary_adapter(padapter)) return; -#endif + if(padapter->HalFunc.sreset_xmit_status_check) padapter->HalFunc.sreset_xmit_status_check(padapter); } void rtw_hal_sreset_linked_status_check(_adapter *padapter) { + if (!is_primary_adapter(padapter)) + return; + if(padapter->HalFunc.sreset_linked_status_check) padapter->HalFunc.sreset_linked_status_check(padapter); } diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/Hal8723PwrSeq.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/Hal8723PwrSeq.c index 4f801cbc3e2a..97255cd3bc88 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/Hal8723PwrSeq.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/Hal8723PwrSeq.c @@ -1,91 +1,91 @@ -/*++ -Copyright (c) Realtek Semiconductor Corp. All rights reserved. - -Module Name: - Hal8723PwrSeq.c - -Abstract: - This file includes all kinds of Power Action event for RTL8188E and corresponding hardware configurtions which are released from HW SD. - -Major Change History: - When Who What - ---------- --------------- ------------------------------- - 2011-08-08 Roger Create. - ---*/ -#include "Hal8723PwrSeq.h" - - -/* - drivers should parse below arrays and do the corresponding actions -*/ -//3 Power on Array -WLAN_PWR_CFG rtl8723A_power_on_flow[RTL8723A_TRANS_CARDEMU_TO_ACT_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - RTL8723A_TRANS_CARDEMU_TO_ACT - RTL8723A_TRANS_END -}; - -//3 Radio off GPIO Array -WLAN_PWR_CFG rtl8723A_radio_off_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - RTL8723A_TRANS_ACT_TO_CARDEMU - RTL8723A_TRANS_END -}; - -//3 Card Disable Array -WLAN_PWR_CFG rtl8723A_card_disable_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - RTL8723A_TRANS_ACT_TO_CARDEMU - RTL8723A_TRANS_CARDEMU_TO_CARDDIS - RTL8723A_TRANS_END -}; - -//3 Card Enable Array -WLAN_PWR_CFG rtl8723A_card_enable_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - RTL8723A_TRANS_CARDDIS_TO_CARDEMU - RTL8723A_TRANS_CARDEMU_TO_ACT - RTL8723A_TRANS_END -}; - -//3 Suspend Array -WLAN_PWR_CFG rtl8723A_suspend_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - RTL8723A_TRANS_ACT_TO_CARDEMU - RTL8723A_TRANS_CARDEMU_TO_SUS - RTL8723A_TRANS_END -}; - -//3 Resume Array -WLAN_PWR_CFG rtl8723A_resume_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - RTL8723A_TRANS_SUS_TO_CARDEMU - RTL8723A_TRANS_CARDEMU_TO_ACT - RTL8723A_TRANS_END -}; - -//3 HWPDN Array -WLAN_PWR_CFG rtl8723A_hwpdn_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - RTL8723A_TRANS_ACT_TO_CARDEMU - RTL8723A_TRANS_CARDEMU_TO_PDN - RTL8723A_TRANS_END -}; - -//3 Enter LPS -WLAN_PWR_CFG rtl8723A_enter_lps_flow[RTL8723A_TRANS_ACT_TO_LPS_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - //FW behavior - RTL8723A_TRANS_ACT_TO_LPS - RTL8723A_TRANS_END -}; - -//3 Leave LPS -WLAN_PWR_CFG rtl8723A_leave_lps_flow[RTL8723A_TRANS_LPS_TO_ACT_STEPS+RTL8723A_TRANS_END_STEPS]= -{ - //FW behavior - RTL8723A_TRANS_LPS_TO_ACT - RTL8723A_TRANS_END -}; - +/*++
+Copyright (c) Realtek Semiconductor Corp. All rights reserved.
+
+Module Name:
+ Hal8723PwrSeq.c
+
+Abstract:
+ This file includes all kinds of Power Action event for RTL8188E and corresponding hardware configurtions which are released from HW SD.
+
+Major Change History:
+ When Who What
+ ---------- --------------- -------------------------------
+ 2011-08-08 Roger Create.
+
+--*/
+#include "Hal8723PwrSeq.h"
+
+
+/*
+ drivers should parse below arrays and do the corresponding actions
+*/
+//3 Power on Array
+WLAN_PWR_CFG rtl8723A_power_on_flow[RTL8723A_TRANS_CARDEMU_TO_ACT_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ RTL8723A_TRANS_CARDEMU_TO_ACT
+ RTL8723A_TRANS_END
+};
+
+//3 Radio off GPIO Array
+WLAN_PWR_CFG rtl8723A_radio_off_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ RTL8723A_TRANS_ACT_TO_CARDEMU
+ RTL8723A_TRANS_END
+};
+
+//3 Card Disable Array
+WLAN_PWR_CFG rtl8723A_card_disable_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ RTL8723A_TRANS_ACT_TO_CARDEMU
+ RTL8723A_TRANS_CARDEMU_TO_CARDDIS
+ RTL8723A_TRANS_END
+};
+
+//3 Card Enable Array
+WLAN_PWR_CFG rtl8723A_card_enable_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ RTL8723A_TRANS_CARDDIS_TO_CARDEMU
+ RTL8723A_TRANS_CARDEMU_TO_ACT
+ RTL8723A_TRANS_END
+};
+
+//3 Suspend Array
+WLAN_PWR_CFG rtl8723A_suspend_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ RTL8723A_TRANS_ACT_TO_CARDEMU
+ RTL8723A_TRANS_CARDEMU_TO_SUS
+ RTL8723A_TRANS_END
+};
+
+//3 Resume Array
+WLAN_PWR_CFG rtl8723A_resume_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ RTL8723A_TRANS_SUS_TO_CARDEMU
+ RTL8723A_TRANS_CARDEMU_TO_ACT
+ RTL8723A_TRANS_END
+};
+
+//3 HWPDN Array
+WLAN_PWR_CFG rtl8723A_hwpdn_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ RTL8723A_TRANS_ACT_TO_CARDEMU
+ RTL8723A_TRANS_CARDEMU_TO_PDN
+ RTL8723A_TRANS_END
+};
+
+//3 Enter LPS
+WLAN_PWR_CFG rtl8723A_enter_lps_flow[RTL8723A_TRANS_ACT_TO_LPS_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ //FW behavior
+ RTL8723A_TRANS_ACT_TO_LPS
+ RTL8723A_TRANS_END
+};
+
+//3 Leave LPS
+WLAN_PWR_CFG rtl8723A_leave_lps_flow[RTL8723A_TRANS_LPS_TO_ACT_STEPS+RTL8723A_TRANS_END_STEPS]=
+{
+ //FW behavior
+ RTL8723A_TRANS_LPS_TO_ACT
+ RTL8723A_TRANS_END
+};
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_bt-coexist.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_bt-coexist.c index 34025b0bb50e..4ac0a4a6bd64 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_bt-coexist.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_bt-coexist.c @@ -27,7 +27,7 @@ //#define BT_DEBUG -#define CHECK_BT_EXIST_FROM_REG +//#define CHECK_BT_EXIST_FROM_REG #define DIS_PS_RX_BCN //#define BTCOEX_DECREASE_WIFI_POWER //#define BTCOEX_CMCC_TEST @@ -144,7 +144,7 @@ static u8 PlatformCancelTimer(PADAPTER a, _timer *ptimer) #define PlatformScheduleWorkItem(pwork) _set_workitem(pwork) #if 0 #define GET_UNDECORATED_AVERAGE_RSSI(padapter) \ - (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE|WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE) == _TRUE) ? \ + (BTDM_CheckFWState(padapter, WIFI_AP_STATE|WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE) == _TRUE) ? \ (GET_HAL_DATA(padapter)->dmpriv.EntryMinUndecoratedSmoothedPWDB): \ (GET_HAL_DATA(padapter)->dmpriv.UndecoratedSmoothedPWDB) #else @@ -216,6 +216,14 @@ void BT_SignalCompensation(PADAPTER padapter, u8 *rssi_wifi, u8 *rssi_bt) void BT_WifiScanNotify(PADAPTER padapter, u8 scanType) { +#if defined(CONFIG_CONCURRENT_MODE) + if (padapter->adapter_type != PRIMARY_ADAPTER) + { + RTPRINT(FBT, BT_TRACE, ("[DM][BT], CONFIG_CONCURRENT_MODE and padapter->adapter_type != PRIMARY_ADAPTER in %s!!\n", __FUNCTION__)); + return; + } +#endif + BTHCI_WifiScanNotify(padapter, scanType); BTDM_CheckAntSelMode(padapter); BTDM_WifiScanNotify(padapter, scanType); @@ -223,6 +231,14 @@ void BT_WifiScanNotify(PADAPTER padapter, u8 scanType) void BT_WifiAssociateNotify(PADAPTER padapter, u8 action) { +#if defined(CONFIG_CONCURRENT_MODE) + if (padapter->adapter_type != PRIMARY_ADAPTER) + { + RTPRINT(FBT, BT_TRACE, ("[DM][BT], CONFIG_CONCURRENT_MODE and padapter->adapter_type != PRIMARY_ADAPTER in %s!!\n", __FUNCTION__)); + return; + } +#endif + // action : // TRUE = associate start // FALSE = associate finished @@ -234,11 +250,27 @@ void BT_WifiAssociateNotify(PADAPTER padapter, u8 action) void BT_WifiMediaStatusNotify(PADAPTER padapter, RT_MEDIA_STATUS mstatus) { +#if defined(CONFIG_CONCURRENT_MODE) + if (padapter->adapter_type != PRIMARY_ADAPTER) + { + RTPRINT(FBT, BT_TRACE, ("[DM][BT], CONFIG_CONCURRENT_MODE and padapter->adapter_type != PRIMARY_ADAPTER in %s!!\n", __FUNCTION__)); + return; + } +#endif + BTDM_MediaStatusNotify(padapter, mstatus); } void BT_SpecialPacketNotify(PADAPTER padapter) { +#if defined(CONFIG_CONCURRENT_MODE) + if (padapter->adapter_type != PRIMARY_ADAPTER) + { + RTPRINT(FBT, BT_TRACE, ("[DM][BT], CONFIG_CONCURRENT_MODE and padapter->adapter_type != PRIMARY_ADAPTER in %s!!\n", __FUNCTION__)); + return; + } +#endif + BTDM_ForDhcp(padapter); } @@ -295,7 +327,7 @@ void BTPKT_WPAAuthINITIALIZE(PADAPTER padapter, u8 EntryNum) if (pHalData->bBTMode) { // if (padapter->MgntInfo.OpMode == RT_OP_MODE_IBSS) - if (check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE) == _TRUE) + if (BTDM_CheckFWState(padapter, WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE) == _TRUE) { pBtSec->bUsedHwEncrypt = _FALSE; } @@ -745,7 +777,7 @@ void bthci_DecideBTChannel(PADAPTER padapter, u8 EntryNum) IsAPModeExist(padapter)|| BTHCI_HsConnectionEstablished(padapter))) #else - if (!(check_fwstate(pmlmepriv, WIFI_ASOC_STATE|WIFI_ADHOC_STATE|WIFI_AP_STATE) == _TRUE || + if (!(BTDM_CheckFWState(padapter, WIFI_ASOC_STATE|WIFI_ADHOC_STATE|WIFI_AP_STATE) == _TRUE || BTHCI_HsConnectionEstablished(padapter))) #endif { @@ -1462,7 +1494,7 @@ bthci_AssocPreferredChannelList( pMgntInfo->mIbss || IsExtAPModeExist(padapter)) || #else - (check_fwstate(&padapter->mlmepriv, WIFI_ASOC_STATE|WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE|WIFI_AP_STATE) == _TRUE) || + (BTDM_CheckFWState(padapter, WIFI_ASOC_STATE|WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE|WIFI_AP_STATE) == _TRUE) || #endif BTHCI_HsConnectionEstablished(padapter)) { @@ -1591,7 +1623,7 @@ u8 bthci_CheckRfStateBeforeConnect(PADAPTER padapter) pBTInfo = GET_BT_INFO(padapter); // rtw_hal_get_hwreg(padapter, HW_VAR_RF_STATE, (u8*)(&RfState)); - RfState = padapter->pwrctrlpriv.rf_pwrstate; + RfState = adapter_to_pwrctl(padapter)->rf_pwrstate; if (RfState != rf_on) { @@ -4249,7 +4281,7 @@ bthci_CmdReadLocalAMPInfo( { // PMGNT_INFO pMgntInfo = &padapter->MgntInfo; - struct pwrctrl_priv *ppwrctrl = &padapter->pwrctrlpriv; + struct pwrctrl_priv *ppwrctrl = adapter_to_pwrctl(padapter); u8 localBuf[TmpLocalBufSize] = ""; u8 *pRetPar; u8 len = 0; @@ -5353,15 +5385,15 @@ bthci_CmdWIFIConnectionStatus( } } #else - if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) == _TRUE) { + if (BTDM_CheckFWState(padapter, WIFI_AP_STATE) == _TRUE) { if (padapter->stapriv.asoc_sta_count >= 3) connectStatus = HCI_WIFI_CONNECTED; else connectStatus = HCI_WIFI_NOT_CONNECTED; } - else if (check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE|WIFI_ASOC_STATE) == _TRUE) + else if (BTDM_CheckFWState(padapter, WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE|WIFI_ASOC_STATE) == _TRUE) connectStatus = HCI_WIFI_CONNECTED; - else if (check_fwstate(&padapter->mlmepriv, WIFI_UNDER_LINKING) == _TRUE) + else if (BTDM_CheckFWState(padapter, WIFI_UNDER_LINKING) == _TRUE) connectStatus = HCI_WIFI_CONNECT_IN_PROGRESS; else connectStatus = HCI_WIFI_NOT_CONNECTED; @@ -6526,7 +6558,7 @@ bthci_StateDisconnected( (MgntIsLinkInProgress(pMgntInfo))|| (MgntScanInProgress(pMgntInfo))) #else - while (check_fwstate(&padapter->mlmepriv, WIFI_ASOC_STATE|WIFI_SITE_MONITOR) == _TRUE) + while (BTDM_CheckFWState(padapter, WIFI_ASOC_STATE|WIFI_SITE_MONITOR) == _TRUE) #endif { RTPRINT(FIOCTL, IOCTL_STATE, ("Scan/Roaming/Wifi Link is in Progress, wait 200 ms\n")); @@ -6959,7 +6991,7 @@ u8 bthci_WaitForRfReady(PADAPTER padapter) u8 bRet = _FALSE; // PRT_POWER_SAVE_CONTROL pPSC = GET_POWER_SAVE_CONTROL(&(padapter->MgntInfo)); - struct pwrctrl_priv *ppwrctrl = &padapter->pwrctrlpriv; + struct pwrctrl_priv *ppwrctrl = adapter_to_pwrctl(padapter); rt_rf_power_state RfState; u32 waitcnt = 0; @@ -7070,7 +7102,7 @@ u8 BTHCI_GetCurrentEntryNumByMAC(PADAPTER padapter, u8 *SA) void BTHCI_StatusWatchdog(PADAPTER padapter) { // PMGNT_INFO pMgntInfo = &padapter->MgntInfo; - struct pwrctrl_priv *ppwrctrl = &padapter->pwrctrlpriv; + struct pwrctrl_priv *ppwrctrl = adapter_to_pwrctl(padapter); PBT30Info pBTInfo = GET_BT_INFO(padapter); PBT_MGNT pBtMgnt = &pBTInfo->BtMgnt; PBT_TRAFFIC pBtTraffic = &pBTInfo->BtTraffic; @@ -7113,7 +7145,7 @@ void BTHCI_StatusWatchdog(PADAPTER padapter) !MgntIsLinkInProgress(pMgntInfo) && !MgntScanInProgress(pMgntInfo) && #else - if ((check_fwstate(&padapter->mlmepriv, WIFI_REASOC_STATE|WIFI_UNDER_LINKING|WIFI_SITE_MONITOR) == _FALSE) && + if ((BTDM_CheckFWState(padapter, WIFI_REASOC_STATE|WIFI_UNDER_LINKING|WIFI_SITE_MONITOR) == _FALSE) && #endif !bRfOff) { @@ -7166,7 +7198,7 @@ BTHCI_NotifyRFState( PMGNT_INFO pMgntInfo = &padapter->MgntInfo; RT_RF_CHANGE_SOURCE RfOffReason = pMgntInfo->RfOffReason; #else - struct pwrctrl_priv *ppwrctrl = &padapter->pwrctrlpriv; + struct pwrctrl_priv *ppwrctrl = adapter_to_pwrctl(padapter); RT_RF_CHANGE_SOURCE RfOffReason = ppwrctrl->rfoff_reason; #endif @@ -8104,7 +8136,7 @@ void btdm_1AntSetPSMode(PADAPTER padapter, u8 enable, u8 smartps, u8 mode) RTPRINT(FBT, BT_TRACE, ("[BTCoex], Current LPS(%s, %d), smartps=%d\n", enable==_TRUE?"ON":"OFF", mode, smartps)); - pwrctrl = &padapter->pwrctrlpriv; + pwrctrl = adapter_to_pwrctl(padapter); if (enable == _TRUE) { rtw_set_ps_mode(padapter, PS_MODE_MIN, smartps, mode); @@ -8147,6 +8179,41 @@ u8 btdm_Is1AntPsTdmaStateChange(PADAPTER padapter) } } +void btdm_1AntSetBTCoexTable(PADAPTER padapter, u8 coexCase) +{ + switch (coexCase) + { + case 0: + rtw_write32(padapter, REG_BT_COEX_TABLE_1, 0x55555555); + rtw_write32(padapter, REG_BT_COEX_TABLE_2, 0x55555555); + break; + case 1: + rtw_write32(padapter, REG_BT_COEX_TABLE_1, 0x55555555); + rtw_write32(padapter, REG_BT_COEX_TABLE_2, 0x5afa5afa); + break; + case 2: + rtw_write32(padapter, REG_BT_COEX_TABLE_1, 0x5a5a5a5a); + rtw_write32(padapter, REG_BT_COEX_TABLE_2, 0x5a5a5a5a); + break; + case 3: + rtw_write32(padapter, REG_BT_COEX_TABLE_1, 0xaaaaaaaa); + rtw_write32(padapter, REG_BT_COEX_TABLE_2, 0xaaaaaaaa); + break; + case 4: + rtw_write32(padapter, REG_BT_COEX_TABLE_1, 0xffffffff); + rtw_write32(padapter, REG_BT_COEX_TABLE_2, 0xffffffff); + break; + case 5: + rtw_write32(padapter, REG_BT_COEX_TABLE_1, 0x5fff5fff); + rtw_write32(padapter, REG_BT_COEX_TABLE_2, 0x5fff5fff); + break; + case 6: + rtw_write32(padapter, REG_BT_COEX_TABLE_1, 0x55ff55ff); + rtw_write32(padapter, REG_BT_COEX_TABLE_2, 0x5a5a5a5a); + break; + } +} + // Before enter TDMA, make sure Power Saving is enable! void btdm_1AntPsTdma( @@ -8171,22 +8238,24 @@ btdm_1AntPsTdma( if (btdm_Is1AntPsTdmaStateChange(padapter)) { // wide duration for WiFi - BTDM_SetFw3a(padapter, 0xd3, 0x1a, 0x1a, 0x0, 0x58); + BTDM_SetFw3a(padapter, 0xd3, 0x1a, 0x1a, 0x0, 0x50); + btdm_1AntSetBTCoexTable(padapter, 6); } break; case 2: // A2DP Level-2 if (btdm_Is1AntPsTdmaStateChange(padapter)) { // normal duration for WiFi - BTDM_SetFw3a(padapter, 0xd3, 0x12, 0x12, 0x0, 0x58); + BTDM_SetFw3a(padapter, 0xd3, 0x12, 0x12, 0x0, 0x50); + btdm_1AntSetBTCoexTable(padapter, 6); } break; case 3: // BT FTP/OPP if (btdm_Is1AntPsTdmaStateChange(padapter)) { // normal duration for WiFi - BTDM_SetFw3a(padapter, 0xd3, 0x30, 0x03, 0x10, 0x58); - + BTDM_SetFw3a(padapter, 0x53, 0x30, 0x03, 0x10, 0x50); + btdm_1AntSetBTCoexTable(padapter, 6); } break; case 4: // for wifi scan & BT is connected @@ -8194,13 +8263,15 @@ btdm_1AntPsTdma( { // protect 3 beacons in 3-beacon period & no Tx pause at BT slot BTDM_SetFw3a(padapter, 0x93, 0x15, 0x03, 0x14, 0x0); + btdm_1AntSetBTCoexTable(padapter, 1); } break; case 5: // for WiFi connected-busy & BT is Non-Connected-Idle if (btdm_Is1AntPsTdmaStateChange(padapter)) { // SCO mode, Ant fixed at WiFi, WLAN_Act toggle - BTDM_SetFw3a(padapter, 0x61, 0x15, 0x03, 0x31, 0x00); + BTDM_SetFw3a(padapter, 0x61, 0x15, 0x03, 0x31, 0x10); + btdm_1AntSetBTCoexTable(padapter, 2); } break; case 9: // ACL high-retry type - 2 @@ -8208,19 +8279,22 @@ btdm_1AntPsTdma( { // narrow duration for WiFi BTDM_SetFw3a(padapter, 0xd3, 0xa, 0xa, 0x0, 0x58); //narrow duration for WiFi + btdm_1AntSetBTCoexTable(padapter, 6); } break; case 10: // for WiFi connect idle & BT ACL busy or WiFi Connected-Busy & BT is Inquiry if (btdm_Is1AntPsTdmaStateChange(padapter)) { BTDM_SetFw3a(padapter, 0x13, 0xa, 0xa, 0x0, 0x40); + btdm_1AntSetBTCoexTable(padapter, 2); } break; case 11: // ACL high-retry type - 3 if (btdm_Is1AntPsTdmaStateChange(padapter)) { // narrow duration for WiFi - BTDM_SetFw3a(padapter, 0xd3, 0x05, 0x05, 0x00, 0x58); + BTDM_SetFw3a(padapter, 0x53, 0x10, 0x03, 0x10, 0x50); + btdm_1AntSetBTCoexTable(padapter, 6); } break; case 12: // for WiFi Connected-Busy & BT is Connected-Idle @@ -8228,68 +8302,91 @@ btdm_1AntPsTdma( { // Allow High-Pri BT BTDM_SetFw3a(padapter, 0xeb, 0x0a, 0x03, 0x31, 0x18); + btdm_1AntSetBTCoexTable(padapter, 2); } break; case 20: // WiFi only busy ,TDMA mode for power saving if (btdm_Is1AntPsTdmaStateChange(padapter)) { BTDM_SetFw3a(padapter, 0x13, 0x25, 0x25, 0x00, 0x00); + btdm_1AntSetBTCoexTable(padapter, 2); } break; case 27: // WiFi DHCP/Site Survey & BT SCO busy if (btdm_Is1AntPsTdmaStateChange(padapter)) { BTDM_SetFw3a(padapter, 0xa3, 0x25, 0x03, 0x31, 0x98); + btdm_1AntSetBTCoexTable(padapter, 2); } break; case 28: // WiFi DHCP/Site Survey & BT idle if (btdm_Is1AntPsTdmaStateChange(padapter)) { BTDM_SetFw3a(padapter, 0x69, 0x25, 0x03, 0x31, 0x00); + btdm_1AntSetBTCoexTable(padapter, 2); } break; case 29: // WiFi DHCP/Site Survey & BT ACL busy if (btdm_Is1AntPsTdmaStateChange(padapter)) { BTDM_SetFw3a(padapter, 0xeb, 0x1a, 0x1a, 0x01, 0x18); - rtw_write32(padapter, 0x6c0, 0x5afa5afa); - rtw_write32(padapter, 0x6c4, 0x5afa5afa); + btdm_1AntSetBTCoexTable(padapter, 1); } break; case 30: // WiFi idle & BT Inquiry if (btdm_Is1AntPsTdmaStateChange(padapter)) { BTDM_SetFw3a(padapter, 0x93, 0x15, 0x03, 0x14, 0x00); + btdm_1AntSetBTCoexTable(padapter, 0); } break; case 31: // BT HID if (btdm_Is1AntPsTdmaStateChange(padapter)) { - BTDM_SetFw3a(padapter, 0xd3, 0x1a, 0x1a, 0x00, 0x58); + BTDM_SetFw3a(padapter, 0x53, 0x12, 0x12, 0x00, 0x50); + btdm_1AntSetBTCoexTable(padapter, 6); } break; case 32: // BT SCO & Inquiry if (btdm_Is1AntPsTdmaStateChange(padapter)) { - BTDM_SetFw3a(padapter, 0xab, 0x0a, 0x03, 0x11, 0x98); + BTDM_SetFw3a(padapter, 0xa3, 0x0a, 0x03, 0x14, 0x00); + btdm_1AntSetBTCoexTable(padapter, 0); } break; case 33: // BT SCO & WiFi site survey if (btdm_Is1AntPsTdmaStateChange(padapter)) { BTDM_SetFw3a(padapter, 0xa3, 0x25, 0x03, 0x30, 0x98); + btdm_1AntSetBTCoexTable(padapter, 2); } break; case 34: // BT HID & WiFi site survey if (btdm_Is1AntPsTdmaStateChange(padapter)) { - BTDM_SetFw3a(padapter, 0xd3, 0x1a, 0x1a, 0x00, 0x18); + BTDM_SetFw3a(padapter, 0xd3, 0x1a, 0x1a, 0x00, 0x10); + btdm_1AntSetBTCoexTable(padapter, 1); } break; case 35: // BT HID & WiFi Connecting if (btdm_Is1AntPsTdmaStateChange(padapter)) { - BTDM_SetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0x00, 0x18); + BTDM_SetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0x00, 0x10); + btdm_1AntSetBTCoexTable(padapter, 1); + } + break; + case 36: // BT A2DP/FTP/A2DP+HID/FTP+A2DP & WiFi LPS + if (btdm_Is1AntPsTdmaStateChange(padapter)) + { + BTDM_SetFw3a(padapter, 0x23, 0x20, 0x00, 0x10, 0x24); + btdm_1AntSetBTCoexTable(padapter, 2); + } + break; + case 37: + if (btdm_Is1AntPsTdmaStateChange(padapter)) + { + BTDM_SetFw3a(padapter, 0x53, 0x10, 0x03, 0x10, 0x10); + btdm_1AntSetBTCoexTable(padapter, 6); } break; } @@ -8326,6 +8423,7 @@ btdm_1AntPsTdma( RTPRINT(FBT, BT_TRACE, ("[BTCoex], 0x860=0x110, Switch Antenna to WiFi\n")); break; } + btdm_1AntSetBTCoexTable(padapter, 2); } RTPRINT(FBT, BT_TRACE, ("[BTCoex], Current TDMA(%s, %d)\n", @@ -8345,7 +8443,7 @@ void _btdm_1AntSetPSTDMA(PADAPTER padapter, u8 bPSEn, u8 smartps, u8 psOption, u u8 bSwitchPS; - if ((check_fwstate(&padapter->mlmepriv, WIFI_STATION_STATE) == _FALSE) && + if ((BTDM_CheckFWState(padapter, WIFI_STATION_STATE) == _FALSE) && (get_fwstate(&padapter->mlmepriv) != WIFI_NULL_STATE)) { btdm_1AntPsTdma(padapter, bTDMAOn, tdmaType); @@ -8361,7 +8459,7 @@ void _btdm_1AntSetPSTDMA(PADAPTER padapter, u8 bPSEn, u8 smartps, u8 psOption, u bPSEn==_TRUE?"ON":"OFF", psOption, bTDMAOn==_TRUE?"ON":"OFF", tdmaType)); - pwrctrl = &padapter->pwrctrlpriv; + pwrctrl = adapter_to_pwrctl(padapter); pHalData = GET_HAL_DATA(padapter); pBtdm8723 = &pHalData->bt_coexist.halCoex8723.btdm1Ant; @@ -8606,7 +8704,12 @@ void btdm_1AntTdmaDurationAdjustForACL(PADAPTER padapter) if (pBtdm8723->psTdmaMonitorCnt == 0) { // RTPRINT(FBT, BT_TRACE, ("[BTCoex], 1AntTdmaAdjACL, first time execute!!\n")); - btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 2); + btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 9); + if(pHalData->bt_coexist.halCoex8723.btInfoExt){ + pBtdm8723->psTdmaDuAdjType = 9; + RTPRINT(FBT, BT_TRACE, ("[BTCoex], 1AntTdmaAdjACL, limit to type9 \n")); + } + else pBtdm8723->psTdmaDuAdjType = 2; } else @@ -8666,7 +8769,7 @@ void btdm_1AntTdmaDurationAdjustForACL(PADAPTER padapter) } else if (pBtdm8723->curPsTdma == 9) { - if (pHalData->bt_coexist.halCoex8723.btInfoExt){ + if ((pHalData->bt_coexist.halCoex8723.btInfoExt) || (pHalData->bt_coexist.halCoex8723.btRssi <= 32)){ pBtdm8723->psTdmaDuAdjType = 9; // RTPRINT(FBT, BT_TRACE, ("[BTCoex], 1AntTdmaAdjACL, limit to type9 \n")); } @@ -8676,7 +8779,7 @@ void btdm_1AntTdmaDurationAdjustForACL(PADAPTER padapter) } else if (pBtdm8723->curPsTdma == 2) { - if (pHalData->bt_coexist.halCoex8723.btInfoExt){ + if ((pHalData->bt_coexist.halCoex8723.btInfoExt) || (pHalData->bt_coexist.halCoex8723.btRssi <=32)){ pBtdm8723->psTdmaDuAdjType = 9; // RTPRINT(FBT, BT_TRACE, ("[BTCoex], 1AntTdmaAdjACL, limit to type9 \n")); } @@ -8855,9 +8958,9 @@ void btdm_1AntCoexProcessForWifiConnect(PADAPTER padapter) RTPRINT(FBT, BT_TRACE, ("[BTCoex], WiFi is %s\n", BTDM_IsWifiBusy(padapter)?"Busy":"IDLE")); RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT is %s\n", BtStateString[BtState])); - padapter->pwrctrlpriv.btcoex_rfon = _FALSE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _FALSE; - if ((!BTDM_IsWifiBusy(padapter)) &&(check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) != _TRUE)&& + if ((!BTDM_IsWifiBusy(padapter)) &&(BTDM_CheckFWState(padapter, WIFI_AP_STATE) != _TRUE)&& ((BtState == BT_INFO_STATE_NO_CONNECTION) || (BtState == BT_INFO_STATE_CONNECT_IDLE))) { switch (BtState) @@ -8866,7 +8969,7 @@ void btdm_1AntCoexProcessForWifiConnect(PADAPTER padapter) _btdm_1AntSetPSTDMA(padapter, _TRUE, 2, 0x26, _FALSE, 9); break; case BT_INFO_STATE_CONNECT_IDLE: - _btdm_1AntSetPSTDMA(padapter, _TRUE, 2, 0x26, _FALSE, 0); + _btdm_1AntSetPSTDMA(padapter, _TRUE, 2, 0x26, _FALSE, 9); break; } } @@ -8898,13 +9001,11 @@ void btdm_1AntCoexProcessForWifiConnect(PADAPTER padapter) case BT_INFO_STATE_CONNECT_IDLE: // WiFi is Busy btdm_1AntSetPSTDMA(padapter, _FALSE, 0, _TRUE, 5); - rtw_write32(padapter, 0x6c0, 0x5a5a5a5a); - rtw_write32(padapter, 0x6c4, 0x5a5a5a5a); break; case BT_INFO_STATE_ACL_INQ_OR_PAG: RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is BT_INFO_STATE_ACL_INQ_OR_PAG\n")); case BT_INFO_STATE_INQ_OR_PAG: - padapter->pwrctrlpriv.btcoex_rfon = _TRUE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _TRUE; btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 30); break; case BT_INFO_STATE_SCO_ONLY_BUSY: @@ -8917,14 +9018,17 @@ void btdm_1AntCoexProcessForWifiConnect(PADAPTER padapter) btdm_1AntSetPSTDMA(padapter, _FALSE, 0, _TRUE, 23); #else // !BTCOEX_CMCC_TEST btdm_1AntSetPSTDMA(padapter, _FALSE, 0, _FALSE, 8); - rtw_write32(padapter, 0x6c0, 0x5a5a5a5a); - rtw_write32(padapter, 0x6c4, 0x5a5a5a5a); #endif // !BTCOEX_CMCC_TEST } break; case BT_INFO_STATE_ACL_ONLY_BUSY: - padapter->pwrctrlpriv.btcoex_rfon = _TRUE; - if (pBtCoex->c2hBtProfile == BT_INFO_HID) + adapter_to_pwrctl(padapter)->btcoex_rfon = _TRUE; + if (!BTDM_IsWifiBusy(padapter)) { + //WiFi LPS + btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 37); + + } + else if (pBtCoex->c2hBtProfile == BT_INFO_HID) { RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is HID\n")); btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 31); @@ -8939,17 +9043,37 @@ void btdm_1AntCoexProcessForWifiConnect(PADAPTER padapter) RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is A2DP_FTP\n")); btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 11); } + else if (pBtCoex->c2hBtProfile == (BT_INFO_A2DP|BT_INFO_HID)) + { + RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is A2DP_HID\n")); + btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 11); + } + else if (pBtCoex->c2hBtProfile == (BT_INFO_FTP|BT_INFO_HID)) + { + RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is FTP_HID\n")); + btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 11); + } else { if (pBtCoex->c2hBtProfile == BT_INFO_A2DP) { RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is A2DP\n")); + RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is A2DP pBtCoex->AclTp=0x%x lowPriorityTx=%d\n",pBtCoex->AclTp,pHalData->bt_coexist.halCoex8723.lowPriorityTx)); + if(pBtCoex->AclTp > 0x3000 ||pHalData->bt_coexist.halCoex8723.lowPriorityTx >1000) + { + RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is A2DP change to A2DP+OPP, pBtCoex->AclTp=0x%x lowPriorityTx=%d\n",pBtCoex->AclTp,pHalData->bt_coexist.halCoex8723.lowPriorityTx)); + btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 11); + } + else{ + btdm_1AntTdmaDurationAdjustForACL(padapter); + } } else { RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT PROFILE is UNKNOWN(0x%02X)! Use A2DP Profile\n", pBtCoex->c2hBtProfile)); + btdm_1AntTdmaDurationAdjustForACL(padapter); } - btdm_1AntTdmaDurationAdjustForACL(padapter); + } break; } @@ -9114,7 +9238,7 @@ void btdm_1AntBTStateChangeHandler(PADAPTER padapter, BT_STATE_1ANT oldState, BT btdm_SetFwIgnoreWlanAct(padapter, _FALSE); } - if ((check_fwstate(&padapter->mlmepriv, WIFI_STATION_STATE) == _TRUE) && + if ((BTDM_CheckFWState(padapter, WIFI_STATION_STATE) == _TRUE) && (BTDM_IsWifiConnectionExist(padapter) == _TRUE)) { if ((newState == BT_INFO_STATE_SCO_ONLY_BUSY) || @@ -9185,7 +9309,7 @@ void btdm_1AntBtCoexistHandler(PADAPTER padapter) pHalData = GET_HAL_DATA(padapter); pBtCoex8723 = &pHalData->bt_coexist.halCoex8723; pBtdm8723 = &pBtCoex8723->btdm1Ant; - padapter->pwrctrlpriv.btcoex_rfon = _FALSE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _FALSE; if (BT_IsBtDisabled(padapter) == _TRUE) { RTPRINT(FBT, BT_TRACE, ("[BTCoex], BT is disabled\n")); @@ -9403,8 +9527,6 @@ void BTDM_1AntWifiAssociateNotify(PADAPTER padapter, u8 type) (BtState == BT_INFO_STATE_ACL_SCO_BUSY)) { btdm_1AntSetPSTDMA(padapter, _FALSE, 0, _FALSE, 8); - rtw_write32(padapter, 0x6c0, 0x5a5a5a5a); - rtw_write32(padapter, 0x6c4, 0x5a5a5a5a); } else if ((BtState == BT_INFO_STATE_ACL_ONLY_BUSY) || (BtState == BT_INFO_STATE_ACL_INQ_OR_PAG)) @@ -9445,7 +9567,7 @@ void BTDM_1AntMediaStatusNotify(PADAPTER padapter, RT_MEDIA_STATUS mstatus) if (RT_MEDIA_CONNECT == mstatus) { - if (check_fwstate(&padapter->mlmepriv, WIFI_STATION_STATE) == _TRUE) + if (BTDM_CheckFWState(padapter, WIFI_STATION_STATE) == _TRUE) { if ((pBtCoex->c2hBtInfo == BT_INFO_STATE_SCO_ONLY_BUSY) || (pBtCoex->c2hBtInfo == BT_INFO_STATE_ACL_SCO_BUSY)) @@ -9454,7 +9576,7 @@ void BTDM_1AntMediaStatusNotify(PADAPTER padapter, RT_MEDIA_STATUS mstatus) } } - padapter->pwrctrlpriv.DelayLPSLastTimeStamp = rtw_get_current_time(); + adapter_to_pwrctl(padapter)->DelayLPSLastTimeStamp = rtw_get_current_time(); BTDM_1AntForDhcp(padapter); } else @@ -9486,7 +9608,8 @@ void BTDM_1AntForDhcp(PADAPTER padapter) #if 1 - BTDM_1AntWifiAssociateNotify(padapter, _TRUE); + //BTDM_1AntWifiAssociateNotify(padapter, _TRUE); + RTPRINT(FBT, BT_TRACE, ("\n[BTCoex], 1Ant for DHCP SKIP~~~~~\n")); #else @@ -9509,7 +9632,7 @@ void BTDM_1AntForDhcp(PADAPTER padapter) } else if (BtState == BT_INFO_STATE_ACL_ONLY_BUSY) { - padapter->pwrctrlpriv.btcoex_rfon = _TRUE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _TRUE; if(padapter->securitypriv.ndisencryptstatus != Ndis802_11EncryptionDisabled) { btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 18); @@ -9579,18 +9702,18 @@ void BTDM_1AntWifiScanNotify(PADAPTER padapter, u8 scanType) btdm_1AntSetPSTDMA(padapter, _FALSE, 0, _TRUE, 32); else { - padapter->pwrctrlpriv.btcoex_rfon = _TRUE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _TRUE; btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 33); } } else if (_TRUE == pBtCoex->bC2hBtInquiryPage) { - padapter->pwrctrlpriv.btcoex_rfon = _TRUE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _TRUE; btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 30); } else if (BtState == BT_INFO_STATE_ACL_ONLY_BUSY) { - padapter->pwrctrlpriv.btcoex_rfon = _TRUE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _TRUE; if (pBtCoex->c2hBtProfile == BT_INFO_HID) btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 34); else @@ -9598,7 +9721,7 @@ void BTDM_1AntWifiScanNotify(PADAPTER padapter, u8 scanType) } else { - padapter->pwrctrlpriv.btcoex_rfon = _TRUE; + adapter_to_pwrctl(padapter)->btcoex_rfon = _TRUE; btdm_1AntSetPSTDMA(padapter, _TRUE, 0, _TRUE, 5); } } @@ -9655,6 +9778,10 @@ void BTDM_1AntFwC2hBtInfo8723A(PADAPTER padapter) if (btState == 0x1) { pBtCoex->c2hBtInfo = BT_INFO_STATE_CONNECT_IDLE; + if (pBtCoex->c2hBtProfile) + { + pBtCoex->c2hBtInfo = BT_INFO_STATE_ACL_ONLY_BUSY; + } } else if (btState == 0x9) { @@ -9692,28 +9819,26 @@ void BTDM_1AntFwC2hBtInfo8723A(PADAPTER padapter) RTPRINT(FBT, BT_TRACE, ("[BTC2H], %s(%d)\n", BtStateString[pBtCoex->c2hBtInfo], pBtCoex->c2hBtInfo)); - if(pBtCoex->c2hBtProfile != BT_INFO_HID) - pBtCoex->c2hBtProfile &= ~BT_INFO_HID; +// if(pBtCoex->c2hBtProfile != BT_INFO_HID) +// pBtCoex->c2hBtProfile &= ~BT_INFO_HID; } void BTDM_1AntBtCoexist8723A(PADAPTER padapter) { - struct mlme_priv *pmlmepriv; PHAL_DATA_TYPE pHalData; u32 curr_time, delta_time; - pmlmepriv = &padapter->mlmepriv; pHalData = GET_HAL_DATA(padapter); - if (check_fwstate(pmlmepriv, WIFI_SITE_MONITOR) == _TRUE) + if (BTDM_CheckFWState(padapter, WIFI_SITE_MONITOR) == _TRUE) { // already done in BTDM_1AntForScan() RTPRINT(FBT, BT_TRACE, ("[BTCoex], wifi is under scan progress!!\n")); return; } - if (check_fwstate(pmlmepriv, WIFI_UNDER_LINKING) == _TRUE) + if (BTDM_CheckFWState(padapter, WIFI_UNDER_LINKING) == _TRUE) { RTPRINT(FBT, BT_TRACE, ("[BTCoex], wifi is under link progress!!\n")); return; @@ -9721,7 +9846,7 @@ void BTDM_1AntBtCoexist8723A(PADAPTER padapter) // under DHCP(Special packet) curr_time = rtw_get_current_time(); - delta_time = curr_time - padapter->pwrctrlpriv.DelayLPSLastTimeStamp; + delta_time = curr_time - adapter_to_pwrctl(padapter)->DelayLPSLastTimeStamp; delta_time = rtw_systime_to_ms(delta_time); if (delta_time < 500) // 500ms { @@ -10321,8 +10446,8 @@ void btdm_2AntCoexTable( PADAPTER padapter,u32 val0x6c0,u32 val0x6c8,u8 val0x6cc PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); PBTDM_8723A_2ANT pBtdm8723 = &pHalData->bt_coexist.halCoex8723.btdm2Ant; - RTPRINT(FBT, BT_TRACE, ("[BTCoex], write Coex Table 0x6c0=0x%x, 0x6c8=0x%x, 0x6cc=0x%x\n", - val0x6c0, val0x6c8, val0x6cc)); +// RTPRINT(FBT, BT_TRACE, ("[BTCoex], write Coex Table 0x6c0=0x%x, 0x6c8=0x%x, 0x6cc=0x%x\n", +// val0x6c0, val0x6c8, val0x6cc)); pBtdm8723->curVal0x6c0 = val0x6c0; pBtdm8723->curVal0x6c8 = val0x6c8; pBtdm8723->curVal0x6cc = val0x6cc; @@ -10361,6 +10486,33 @@ void btdm_2AntIgnoreWlanAct(PADAPTER padapter,u8 bEnable) btdm_SetFwIgnoreWlanAct(padapter,bEnable); pBtdm8723->bPreIgnoreWlanAct = pBtdm8723->bCurIgnoreWlanAct; } +void btdm_2AntSetTable(PADAPTER padapter,u8 byte){ + u8 value; + u32 val0x6c0,val0x6c4; + value =(byte&(BIT4|BIT3))>>3; + + switch(value){ + case 0: + val0x6c0=0x55555555; + val0x6c4=0x55555555; + break; + case 1: + val0x6c0=0x55555555; + val0x6c4=0x5afa5afa; + break; + case 2: + val0x6c0=0x55ff55ff; + val0x6c4=0x5a5a5a5a; + break; + case 3: + val0x6c0=0x55ff55ff; + val0x6c4=0x5afa5afa; + break; + } + RTPRINT(FBT, BT_TRACE, ("set coex table, set 0x6c0=0x%x 0x6c4=0x%x\n", val0x6c0, val0x6c4)); + rtw_write32(padapter, 0x6c0, val0x6c0); + rtw_write32(padapter, 0x6c4, val0x6c4); +} void btdm_2AntSetFw3a(PADAPTER padapter,u8 byte1,u8 byte2,u8 byte3,u8 byte4,u8 byte5) { @@ -10391,6 +10543,7 @@ void btdm_2AntSetFw3a(PADAPTER padapter,u8 byte1,u8 byte2,u8 byte3,u8 byte4,u8 H2C_Parameter[1]<<24|H2C_Parameter[2]<<16|H2C_Parameter[3]<<8|H2C_Parameter[4])); FillH2CCmd(padapter, 0x3a, 5, H2C_Parameter); + btdm_2AntSetTable(padapter,byte5); // Driver need to set the Coex Table value after FW version 35. } void btdm_2AntPsTdma(PADAPTER padapter,u8 bTurnOn,u8 type) @@ -10434,64 +10587,64 @@ void btdm_2AntPsTdma(PADAPTER padapter,u8 bTurnOn,u8 type) { case 1: default: - btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0xe1, 0x98); break; case 2: - btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0xe1, 0x98); break; case 3: - btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0xe1, 0x98); break; case 4: - btdm_2AntSetFw3a(padapter, 0xa3, 0x5, 0x5, 0xa1, 0x80); + btdm_2AntSetFw3a(padapter, 0xa3, 0x5, 0x5, 0xe1, 0x80); break; case 5: - btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0x60, 0x98); break; case 6: - btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0x60, 0x98); break; case 7: - btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0x60, 0x98); break; case 8: - btdm_2AntSetFw3a(padapter, 0xa3, 0x5, 0x5, 0x20, 0x80); + btdm_2AntSetFw3a(padapter, 0xa3, 0x5, 0x5, 0x60, 0x80); break; case 9: - btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0xe1, 0x98); break; case 10: - btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0xe1, 0x98); break; case 11: - btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0xe1, 0x98); break; case 12: - btdm_2AntSetFw3a(padapter, 0xe3, 0x5, 0x5, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x5, 0x5, 0xe1, 0x98); break; case 13: - btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x1a, 0x1a, 0x60, 0x98); break; case 14: - btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x12, 0x12, 0x60, 0x98); break; case 15: - btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0xa, 0xa, 0x60, 0x98); break; case 16: - btdm_2AntSetFw3a(padapter, 0xe3, 0x5, 0x5, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x5, 0x5, 0x60, 0x98); break; case 17: - btdm_2AntSetFw3a(padapter, 0xa3, 0x2f, 0x2f, 0x20, 0x80); + btdm_2AntSetFw3a(padapter, 0xa3, 0x2f, 0x2f, 0x60, 0x80); break; case 18: - btdm_2AntSetFw3a(padapter, 0xe3, 0x5, 0x5, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x5, 0x5, 0xe1, 0x98); break; case 19: - btdm_2AntSetFw3a(padapter, 0xe3, 0x25, 0x25, 0xa1, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x25, 0x25, 0xe1, 0x98); break; case 20: - btdm_2AntSetFw3a(padapter, 0xe3, 0x25, 0x25, 0x20, 0x98); + btdm_2AntSetFw3a(padapter, 0xe3, 0x25, 0x25, 0x60, 0x98); break; } } @@ -10572,11 +10725,11 @@ u8 btdm_Is2Ant8723ACommonAction(PADAPTER padapter) PBTDM_8723A_2ANT pBtdm8723 = &pHalData->bt_coexist.halCoex8723.btdm2Ant; u8 bCommon=_FALSE; - RTPRINT(FBT, BT_TRACE, ("%s :BTDM_IsWifiConnectionExist =%x check_fwstate=%x pmlmepriv->fw_state=0x%x\n",__func__,BTDM_IsWifiConnectionExist(padapter),check_fwstate(&padapter->mlmepriv, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING)),padapter->mlmepriv.fw_state)); + RTPRINT(FBT, BT_TRACE, ("%s :BTDM_IsWifiConnectionExist =%x BTDM_CheckFWState=%x pmlmepriv->fw_state=0x%x\n",__func__,BTDM_IsWifiConnectionExist(padapter),BTDM_CheckFWState(padapter, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING)),padapter->mlmepriv.fw_state)); // if(!BTDM_IsWifiBusy(padapter) && - if((BTDM_IsWifiConnectionExist(padapter) == _FALSE)&&(check_fwstate(&padapter->mlmepriv, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _FALSE)&& + if((BTDM_IsWifiConnectionExist(padapter) == _FALSE)&&(BTDM_CheckFWState(padapter, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _FALSE)&& (BT_2ANT_BT_STATUS_IDLE == pBtdm8723->btStatus) ) { RTPRINT(FBT, BT_TRACE, ("Wifi idle + Bt idle!!\n")); @@ -10597,7 +10750,7 @@ u8 btdm_Is2Ant8723ACommonAction(PADAPTER padapter) bCommon = _TRUE; } // else if( BTDM_IsWifiBusy(padapter) && - else if(((BTDM_IsWifiConnectionExist(padapter) == _TRUE)||(check_fwstate(&padapter->mlmepriv, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _TRUE))&& + else if(((BTDM_IsWifiConnectionExist(padapter) == _TRUE)||(BTDM_CheckFWState(padapter, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _TRUE))&& (BT_2ANT_BT_STATUS_IDLE == pBtdm8723->btStatus) ) { RTPRINT(FBT, BT_TRACE, ("Wifi non-idle + BT idle!!\n")); @@ -10618,7 +10771,7 @@ u8 btdm_Is2Ant8723ACommonAction(PADAPTER padapter) bCommon = _TRUE; } // else if(!BTDM_IsWifiBusy(padapter) && - else if((BTDM_IsWifiConnectionExist(padapter) == _FALSE)&&(check_fwstate(&padapter->mlmepriv, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _FALSE)&& + else if((BTDM_IsWifiConnectionExist(padapter) == _FALSE)&&(BTDM_CheckFWState(padapter, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _FALSE)&& (BT_2ANT_BT_STATUS_CONNECTED_IDLE == pBtdm8723->btStatus) ) { RTPRINT(FBT, BT_TRACE, ("Wifi idle + Bt connected idle!!\n")); @@ -10639,7 +10792,7 @@ u8 btdm_Is2Ant8723ACommonAction(PADAPTER padapter) bCommon = _TRUE; } // else if(BTDM_IsWifiBusy(padapter) && - else if(((BTDM_IsWifiConnectionExist(padapter) == _TRUE)||(check_fwstate(&padapter->mlmepriv, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _TRUE))&& + else if(((BTDM_IsWifiConnectionExist(padapter) == _TRUE)||(BTDM_CheckFWState(padapter, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _TRUE))&& (BT_2ANT_BT_STATUS_CONNECTED_IDLE == pBtdm8723->btStatus) ) { RTPRINT(FBT, BT_TRACE, ("Wifi non-idle + Bt connected idle!!\n")); @@ -10660,7 +10813,7 @@ u8 btdm_Is2Ant8723ACommonAction(PADAPTER padapter) bCommon = _TRUE; } // else if(!BTDM_IsWifiBusy(padapter) && - else if((BTDM_IsWifiConnectionExist(padapter) == _FALSE)&&(check_fwstate(&padapter->mlmepriv, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _FALSE)&& + else if((BTDM_IsWifiConnectionExist(padapter) == _FALSE)&&(BTDM_CheckFWState(padapter, (_FW_UNDER_SURVEY|_FW_UNDER_LINKING))== _FALSE)&& (BT_2ANT_BT_STATUS_NON_IDLE == pBtdm8723->btStatus) ) { RTPRINT(FBT, BT_TRACE, ("Wifi idle + BT non-idle!!\n")); @@ -11573,7 +11726,7 @@ void btdm_2AntTdmaDurationAdjust(PADAPTER padapter,u8 bScoHid,u8 bTxPause,u8 RTPRINT(FBT, BT_TRACE, ("[BTCoex], PsTdma type dismatch!!!, curPsTdma=%d, recordPsTdma=%d\n", pBtdm8723->curPsTdma, pBtdm8723->psTdmaDuAdjType)); - if( check_fwstate(&padapter->mlmepriv, _FW_UNDER_SURVEY|_FW_UNDER_LINKING) == _FALSE ) + if( BTDM_CheckFWState(padapter, _FW_UNDER_SURVEY|_FW_UNDER_LINKING) == _FALSE ) { btdm_2AntPsTdma(padapter, _TRUE, pBtdm8723->psTdmaDuAdjType); } @@ -13362,6 +13515,22 @@ u8 btdm_BtWifiAntNum(PADAPTER padapter) return Ant_x2; } +u8 btdm_GetBtState(PADAPTER padapter) +{ + PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); + PBT_COEXIST_8723A pBtCoex = &pHalData->bt_coexist.halCoex8723; + + return pBtCoex->c2hBtInfo; +} + +u8 btdm_IsBtInquiryPage(PADAPTER padapter) +{ + PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); + PBT_COEXIST_8723A pBtCoex = &pHalData->bt_coexist.halCoex8723; + + return pBtCoex->bC2hBtInquiryPage; +} + void btdm_BtHwCountersMonitor(PADAPTER padapter) { PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); @@ -13580,7 +13749,7 @@ void BTDM_SetFwChnlInfo(PADAPTER padapter, RT_MEDIA_STATUS mstatus) H2C_Parameter[0] = 0x1; // 0: disconnected, 1:connected } - if (check_fwstate(&padapter->mlmepriv, WIFI_ASOC_STATE) == _TRUE) + if (BTDM_CheckFWState(padapter, WIFI_ASOC_STATE) == _TRUE) { // channel chnl = pmlmeext->cur_channel; @@ -13619,7 +13788,10 @@ void BTDM_SetFwChnlInfo(PADAPTER padapter, RT_MEDIA_STATUS mstatus) // RTPRINT(FBT, BT_TRACE, ("[BTCoex], FW write 0x19=0x%x\n", // H2C_Parameter[0]<<16|H2C_Parameter[1]<<8|H2C_Parameter[2])); - FillH2CCmd(padapter, 0x19, 3, H2C_Parameter); + if (btdm_BtWifiAntNum(padapter) == Ant_x2) + { + FillH2CCmd(padapter, 0x19, 3, H2C_Parameter); + } } u8 BTDM_IsWifiConnectionExist(PADAPTER padapter) @@ -13630,8 +13802,21 @@ u8 BTDM_IsWifiConnectionExist(PADAPTER padapter) if (BTHCI_HsConnectionEstablished(padapter)) bRet = _TRUE; - if (check_fwstate(&padapter->mlmepriv, WIFI_ASOC_STATE) == _TRUE) +#ifdef CONFIG_CONCURRENT_MODE + if (padapter->pbuddy_adapter != NULL) + { + if ((BTDM_CheckFWState(padapter, WIFI_ASOC_STATE) == _TRUE) || (BTDM_CheckFWState(padapter->pbuddy_adapter, WIFI_ASOC_STATE) == _TRUE)) + bRet = _TRUE; + } + else + { + if (BTDM_CheckFWState(padapter, WIFI_ASOC_STATE) == _TRUE) + bRet = _TRUE; + } +#else + if (BTDM_CheckFWState(padapter, WIFI_ASOC_STATE) == _TRUE) bRet = _TRUE; +#endif return bRet; } @@ -13649,7 +13834,7 @@ void BTDM_SetFw3a( if (BTDM_1Ant8723A(padapter) == _TRUE) { - if ((check_fwstate(&padapter->mlmepriv, WIFI_STATION_STATE) == _FALSE) && + if ((BTDM_CheckFWState(padapter, WIFI_STATION_STATE) == _FALSE) && (get_fwstate(&padapter->mlmepriv) != WIFI_NULL_STATE)) // for softap mode { PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); @@ -13859,6 +14044,7 @@ void BTDM_FwC2hBtInfo8723A(PADAPTER padapter, u8 *tmpBuf, u8 length) RTPRINT(FBT, BT_TRACE, ("[BTC2H], BT info[%d]=[", length)); pBtCoex->btRetryCnt = 0; + pBtCoex->AclTp=0; for (i=0; i<length; i++) { switch (i) @@ -13873,8 +14059,14 @@ void BTDM_FwC2hBtInfo8723A(PADAPTER padapter, u8 *tmpBuf, u8 length) BTDM_FwC2hBtRssi8723A(padapter, &tmpBuf[i]); break; case 3: - pBtCoex->btInfoExt=tmpBuf[i]&BIT(0); + pBtCoex->btInfoExt=tmpBuf[i]&BIT(0); //EDR_BR break; + case 4: + pBtCoex->AclTp=tmpBuf[i]; + break; + case 5: + pBtCoex->AclTp |=(tmpBuf[i]<<8); + break; } if (i == length-1) @@ -14328,6 +14520,16 @@ void BTDM_BTCoexist8723A(PADAPTER padapter) BTDM_QueryBtInformation(padapter); } +u8 BTDM_GetBtState8723A(PADAPTER padapter) +{ + return btdm_GetBtState(padapter); +} + +u8 BTDM_IsBtInquiryPage8723A(PADAPTER padapter) +{ + return btdm_IsBtInquiryPage(padapter); +} + // ===== End of sync from SD7 driver HAL/BTCoexist/HalBtc8723.c ===== #endif @@ -15239,7 +15441,7 @@ void BTDM_CheckBTIdleChange1Ant(PADAPTER padapter) MgntIsLinkInProgress(pMgntInfo) || MgntScanInProgress(pMgntInfo)) #else - if (check_fwstate(&padapter->mlmepriv, WIFI_UNDER_LINKING|WIFI_SITE_MONITOR) == _TRUE) + if (BTDM_CheckFWState(padapter, WIFI_UNDER_LINKING|WIFI_SITE_MONITOR) == _TRUE) #endif { BTDM_SetAntenna(padapter, BTDM_ANT_WIFI); @@ -18164,16 +18366,14 @@ void BTDM_CheckWiFiState(PADAPTER padapter) s32 BTDM_GetRxSS(PADAPTER padapter) { // PMGNT_INFO pMgntInfo = &padapter->MgntInfo; - struct mlme_priv *pmlmepriv; PHAL_DATA_TYPE pHalData; s32 UndecoratedSmoothedPWDB = 0; - pmlmepriv = &padapter->mlmepriv; pHalData = GET_HAL_DATA(padapter); // if (pMgntInfo->bMediaConnect) // Default port - if (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE) + if (BTDM_CheckFWState(padapter, _FW_LINKED) == _TRUE) { UndecoratedSmoothedPWDB = GET_UNDECORATED_AVERAGE_RSSI(padapter); } @@ -18189,16 +18389,14 @@ s32 BTDM_GetRxSS(PADAPTER padapter) s32 BTDM_GetRxBeaconSS(PADAPTER padapter) { // PMGNT_INFO pMgntInfo = &padapter->MgntInfo; - struct mlme_priv *pmlmepriv; PHAL_DATA_TYPE pHalData; s32 pwdbBeacon = 0; - pmlmepriv = &padapter->mlmepriv; pHalData = GET_HAL_DATA(padapter); // if (pMgntInfo->bMediaConnect) // Default port - if (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE) + if (BTDM_CheckFWState(padapter, _FW_LINKED) == _TRUE) { //pwdbBeacon = pHalData->dmpriv.UndecoratedSmoothedBeacon; pwdbBeacon= pHalData->dmpriv.EntryMinUndecoratedSmoothedPWDB; @@ -18666,7 +18864,7 @@ u8 BTDM_DisableEDCATurbo(PADAPTER padapter) if ((pHalData->bt_coexist.last_aggr_num != aggr_num) || !pHalData->bt_coexist.bEDCAInitialized) { RTPRINT(FBT, BT_TRACE, ("BT write AGGR NUM = 0x%x\n", aggr_num)); - rtw_write16(padapter, REG_MAX_AGGR_NUM, aggr_num); + rtw_write8(padapter, REG_MAX_AGGR_NUM, aggr_num); pHalData->bt_coexist.last_aggr_num = aggr_num; } } @@ -18893,7 +19091,7 @@ void BTDM_TurnOffBtCoexistBeforeEnterLPS(PADAPTER padapter) PBT_MGNT pBtMgnt = &pBTInfo->BtMgnt; PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); // PRT_POWER_SAVE_CONTROL pPSC = GET_POWER_SAVE_CONTROL(pMgntInfo); - struct pwrctrl_priv *ppwrctrl = &padapter->pwrctrlpriv; + struct pwrctrl_priv *ppwrctrl = adapter_to_pwrctl(padapter); // Add temporarily. @@ -18928,7 +19126,7 @@ void BTDM_TurnOffBtCoexistBeforeEnterIPS(PADAPTER padapter) PBT_MGNT pBtMgnt = &pBTInfo->BtMgnt; PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); // PRT_POWER_SAVE_CONTROL pPSC = GET_POWER_SAVE_CONTROL(pMgntInfo); - struct pwrctrl_priv *ppwrctrl = &padapter->pwrctrlpriv; + struct pwrctrl_priv *ppwrctrl = adapter_to_pwrctl(padapter); if (!pHalData->bt_coexist.BluetoothCoexist) return; @@ -19008,6 +19206,9 @@ void dm_CheckBTState(_adapter *pAdapter) rtw_write8(pAdapter, 0xf6, value); rtw_write8(pAdapter, 0x3A, 0x31); } + else{ + return; + } regvalue32 = rtw_read32(pAdapter, 0xc0); //DBG_871X("Get 0xc0 = 0x%x\n",regvalue32); @@ -19016,6 +19217,9 @@ void dm_CheckBTState(_adapter *pAdapter) value |= 0x4; rtw_write8(pAdapter, 0xcc, value); } + else{ + return; + } regValue8 = rtw_read8(pAdapter, 0x6b); //0x6b[28] //DBG_871X("Get 0x6b = 0x%x\n",regValue8); @@ -19042,6 +19246,7 @@ void check_bt_status_work(void *data) { struct delayed_work *dwork; PADAPTER padapter; + struct pwrctrl_priv *pwrpriv ; dwork = container_of(data, struct delayed_work, work); padapter = container_of(dwork, struct _ADAPTER, checkbt_work); @@ -19051,7 +19256,9 @@ void check_bt_status_work(void *data) return; }; - dm_CheckBTState(padapter); + pwrpriv = adapter_to_pwrctl(padapter); + if (pwrpriv->bInSuspend == _FALSE) + dm_CheckBTState(padapter); } #endif void BTDM_Coexist(PADAPTER padapter) @@ -19261,8 +19468,33 @@ u8 BTDM_IsWifiBusy(PADAPTER padapter) PBT30Info pBTInfo = GET_BT_INFO(padapter); PBT_TRAFFIC pBtTraffic = &pBTInfo->BtTraffic; +#ifdef CONFIG_CONCURRENT_MODE + struct mlme_priv *pbuddy_mlmepriv; + + if (padapter->pbuddy_adapter != NULL) + { + pbuddy_mlmepriv = &(padapter->pbuddy_adapter->mlmepriv); + +#if 1 + if ((btdm_BtWifiAntNum(padapter) == Ant_x1) && ((BT_IsBtDisabled(padapter) == _TRUE) || ((BT_IsBtDisabled(padapter) == _FALSE && (BT_GetBtState(padapter) <= BT_INFO_STATE_CONNECT_IDLE))))) + { + if (((padapter->iface_type == IFACE_PORT0) && (check_fwstate(pbuddy_mlmepriv, _FW_LINKED) == _TRUE)) || + ((padapter->iface_type == IFACE_PORT1) && (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE))) + return _TRUE; + } +#endif + + if (pmlmepriv->LinkDetectInfo.NumRxOkInPeriod > WIFI_BUSY_TRAFFIC_TH ||pmlmepriv->LinkDetectInfo.NumTxOkInPeriod > WIFI_BUSY_TRAFFIC_TH || + pbuddy_mlmepriv->LinkDetectInfo.NumRxOkInPeriod > WIFI_BUSY_TRAFFIC_TH || pbuddy_mlmepriv->LinkDetectInfo.NumTxOkInPeriod > WIFI_BUSY_TRAFFIC_TH || + pBtTraffic->Bt30TrafficStatistics.bTxBusyTraffic || + pBtTraffic->Bt30TrafficStatistics.bRxBusyTraffic) + return _TRUE; + else + return _FALSE; + } +#endif - if (pmlmepriv->LinkDetectInfo.bBusyTraffic || + if (pmlmepriv->LinkDetectInfo.NumRxOkInPeriod > WIFI_BUSY_TRAFFIC_TH ||pmlmepriv->LinkDetectInfo.NumTxOkInPeriod > WIFI_BUSY_TRAFFIC_TH || pBtTraffic->Bt30TrafficStatistics.bTxBusyTraffic || pBtTraffic->Bt30TrafficStatistics.bRxBusyTraffic) return _TRUE; @@ -19707,6 +19939,25 @@ u8 BTDM_IsBtDisabled(PADAPTER padapter) return _FALSE; } +sint BTDM_CheckFWState(PADAPTER padapter, sint state) +{ + if (check_fwstate(&padapter->mlmepriv, state) == _FALSE) + { +#ifdef CONFIG_CONCURRENT_MODE + if (padapter->pbuddy_adapter != NULL) + { + if (check_fwstate(&padapter->pbuddy_adapter->mlmepriv, state) == _TRUE) + { + return _TRUE; + } + } +#endif + return _FALSE; + } + + return _TRUE; +} + //============================================ // Started with "WA_" means this is a work around function. // Because fw need to count bt HW counters diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_cmd.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_cmd.c index ce088bc86590..47e8c631f46f 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_cmd.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_cmd.c @@ -1,1159 +1,1185 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -#define _RTL8723A_CMD_C_ - -#include <drv_conf.h> -#include <osdep_service.h> -#include <drv_types.h> -#include <recv_osdep.h> -#include <cmd_osdep.h> -#include <mlme_osdep.h> -#include <rtw_byteorder.h> -#include <circ_buf.h> -#include <rtw_ioctl_set.h> - -#include <rtl8723a_hal.h> - - -#define RTL92C_MAX_H2C_BOX_NUMS 4 -#define RTL92C_MAX_CMD_LEN 5 -#define MESSAGE_BOX_SIZE 4 -#define EX_MESSAGE_BOX_SIZE 2 - - -static u8 _is_fw_read_cmd_down(_adapter* padapter, u8 msgbox_num) -{ - u8 read_down = _FALSE; - int retry_cnts = 100; - - u8 valid; - - //DBG_8192C(" _is_fw_read_cmd_down ,reg_1cc(%x),msg_box(%d)...\n",rtw_read8(padapter,REG_HMETFR),msgbox_num); - - do{ - valid = rtw_read8(padapter,REG_HMETFR) & BIT(msgbox_num); - if(0 == valid ){ - read_down = _TRUE; - } - }while( (!read_down) && (retry_cnts--)); - - return read_down; - -} - - -/***************************************** -* H2C Msg format : -*| 31 - 8 |7 | 6 - 0 | -*| h2c_msg |Ext_bit |CMD_ID | -* -******************************************/ -s32 FillH2CCmd(PADAPTER padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer) -{ - u8 bcmd_down = _FALSE; - s32 retry_cnts = 100; - u8 h2c_box_num; - u32 msgbox_addr; - u32 msgbox_ex_addr; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - u32 h2c_cmd = 0; - u16 h2c_cmd_ex = 0; - s32 ret = _FAIL; - -_func_enter_; - - padapter = GET_PRIMARY_ADAPTER(padapter); - pHalData = GET_HAL_DATA(padapter); - - _enter_critical_mutex(&(adapter_to_dvobj(padapter)->h2c_fwcmd_mutex), NULL); - - if (!pCmdBuffer) { - goto exit; - } - if (CmdLen > RTL92C_MAX_CMD_LEN) { - goto exit; - } - if (padapter->bSurpriseRemoved == _TRUE) - goto exit; - - //pay attention to if race condition happened in H2C cmd setting. - do{ - h2c_box_num = pHalData->LastHMEBoxNum; - - if(!_is_fw_read_cmd_down(padapter, h2c_box_num)){ - DBG_8192C(" fw read cmd failed...\n"); - goto exit; - } - - if(CmdLen<=3) - { - _rtw_memcpy((u8*)(&h2c_cmd)+1, pCmdBuffer, CmdLen ); - } - else{ - _rtw_memcpy((u8*)(&h2c_cmd_ex), pCmdBuffer, EX_MESSAGE_BOX_SIZE); - _rtw_memcpy((u8*)(&h2c_cmd)+1, pCmdBuffer+2,( CmdLen-EX_MESSAGE_BOX_SIZE)); - *(u8*)(&h2c_cmd) |= BIT(7); - } - - *(u8*)(&h2c_cmd) |= ElementID; - - if(h2c_cmd & BIT(7)){ - msgbox_ex_addr = REG_HMEBOX_EXT_0 + (h2c_box_num *EX_MESSAGE_BOX_SIZE); - h2c_cmd_ex = le16_to_cpu( h2c_cmd_ex ); - rtw_write16(padapter, msgbox_ex_addr, h2c_cmd_ex); - } - msgbox_addr =REG_HMEBOX_0 + (h2c_box_num *MESSAGE_BOX_SIZE); - h2c_cmd = le32_to_cpu( h2c_cmd ); - rtw_write32(padapter,msgbox_addr, h2c_cmd); - - bcmd_down = _TRUE; - - // DBG_8192C("MSG_BOX:%d,CmdLen(%d), reg:0x%x =>h2c_cmd:0x%x, reg:0x%x =>h2c_cmd_ex:0x%x ..\n" - // ,pHalData->LastHMEBoxNum ,CmdLen,msgbox_addr,h2c_cmd,msgbox_ex_addr,h2c_cmd_ex); - - pHalData->LastHMEBoxNum = (h2c_box_num+1) % RTL92C_MAX_H2C_BOX_NUMS; - - }while((!bcmd_down) && (retry_cnts--)); - - ret = _SUCCESS; - -exit: - - _exit_critical_mutex(&(adapter_to_dvobj(padapter)->h2c_fwcmd_mutex), NULL); - -_func_exit_; - - return ret; -} - -u8 rtl8192c_h2c_msg_hdl(_adapter *padapter, unsigned char *pbuf) -{ - u8 ElementID, CmdLen; - u8 *pCmdBuffer; - struct cmd_msg_parm *pcmdmsg; - - if(!pbuf) - return H2C_PARAMETERS_ERROR; - - pcmdmsg = (struct cmd_msg_parm*)pbuf; - ElementID = pcmdmsg->eid; - CmdLen = pcmdmsg->sz; - pCmdBuffer = pcmdmsg->buf; - - FillH2CCmd(padapter, ElementID, CmdLen, pCmdBuffer); - - return H2C_SUCCESS; -} - -#if defined(CONFIG_AUTOSUSPEND) && defined(SUPPORT_HW_RFOFF_DETECTED) -u8 rtl8192c_set_FwSelectSuspend_cmd(_adapter *padapter ,u8 bfwpoll, u16 period) -{ - u8 res=_SUCCESS; - struct H2C_SS_RFOFF_PARAM param; - DBG_8192C("==>%s bfwpoll(%x)\n",__FUNCTION__,bfwpoll); - param.gpio_period = period;//Polling GPIO_11 period time - param.ROFOn = (_TRUE == bfwpoll)?1:0; - FillH2CCmd(padapter, SELECTIVE_SUSPEND_ROF_CMD, sizeof(param), (u8*)(¶m)); - return res; -} -#endif //CONFIG_AUTOSUSPEND && SUPPORT_HW_RFOFF_DETECTED - -u8 rtl8192c_set_rssi_cmd(_adapter*padapter, u8 *param) -{ - u8 res=_SUCCESS; - -_func_enter_; - - *((u32*) param ) = cpu_to_le32( *((u32*) param ) ); - - FillH2CCmd(padapter, RSSI_SETTING_EID, 3, param); - -_func_exit_; - - return res; -} - -u8 rtl8192c_set_raid_cmd(_adapter*padapter, u32 mask, u8 arg) -{ - u8 buf[5]; - u8 res=_SUCCESS; - -_func_enter_; - - _rtw_memset(buf, 0, 5); - mask = cpu_to_le32( mask ); - _rtw_memcpy(buf, &mask, 4); - buf[4] = arg; - - FillH2CCmd(padapter, MACID_CONFIG_EID, 5, buf); - -_func_exit_; - - return res; - -} - -//bitmap[0:27] = tx_rate_bitmap -//bitmap[28:31]= Rate Adaptive id -//arg[0:4] = macid -//arg[5] = Short GI -void rtl8192c_Add_RateATid(PADAPTER pAdapter, u32 bitmap, u8 arg, u8 rssi_level) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - - u8 macid = arg&0x1f; - -#ifdef CONFIG_ODM_REFRESH_RAMASK - u8 raid = (bitmap>>28) & 0x0f; - -#ifdef CONFIG_CONCURRENT_MODE - if(rtw_buddy_adapter_up(pAdapter) && pAdapter->adapter_type > PRIMARY_ADAPTER) - pHalData = GET_HAL_DATA(pAdapter->pbuddy_adapter); -#endif //CONFIG_CONCURRENT_MODE - - bitmap &=0x0fffffff; - if(rssi_level != DM_RATR_STA_INIT) - bitmap = ODM_Get_Rate_Bitmap(&pHalData->odmpriv, macid, bitmap, rssi_level); - - bitmap |= ((raid<<28)&0xf0000000); -#endif //CONFIG_ODM_REFRESH_RAMASK - - - if(pHalData->fw_ractrl == _TRUE) - { - rtl8192c_set_raid_cmd(pAdapter, bitmap, arg); - } - else - { - u8 init_rate, shortGIrate=_FALSE; - - init_rate = get_highest_rate_idx(bitmap&0x0fffffff)&0x3f; - - - shortGIrate = (arg&BIT(5)) ? _TRUE:_FALSE; - - if (shortGIrate==_TRUE) - init_rate |= BIT(6); - - rtw_write8(pAdapter, (REG_INIDATA_RATE_SEL+macid), (u8)init_rate); - } - -} - -void rtl8723a_set_FwPwrMode_cmd(PADAPTER padapter, u8 Mode) -{ - SETPWRMODE_PARM H2CSetPwrMode; - struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; - -_func_enter_; - - DBG_871X("%s: Mode=%d SmartPS=%d UAPSD=%d BcnMode=0x%02x\n", __FUNCTION__, - Mode, pwrpriv->smart_ps, padapter->registrypriv.uapsd_enable, pwrpriv->bcn_ant_mode); - - H2CSetPwrMode.Mode = Mode; - H2CSetPwrMode.SmartPS = pwrpriv->smart_ps; - H2CSetPwrMode.AwakeInterval = 1; - H2CSetPwrMode.bAllQueueUAPSD = padapter->registrypriv.uapsd_enable; - H2CSetPwrMode.BcnAntMode = pwrpriv->bcn_ant_mode; - - FillH2CCmd(padapter, SET_PWRMODE_EID, sizeof(H2CSetPwrMode), (u8 *)&H2CSetPwrMode); - -_func_exit_; -} - -void ConstructBeacon(_adapter *padapter, u8 *pframe, u32 *pLength) -{ - struct rtw_ieee80211_hdr *pwlanhdr; - u16 *fctrl; - u32 rate_len, pktlen; - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); - struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); - WLAN_BSSID_EX *cur_network = &(pmlmeinfo->network); - u8 bc_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; - - - //DBG_871X("%s\n", __FUNCTION__); - - pwlanhdr = (struct rtw_ieee80211_hdr *)pframe; - - fctrl = &(pwlanhdr->frame_ctl); - *(fctrl) = 0; - - _rtw_memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr3, get_my_bssid(cur_network), ETH_ALEN); - - SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/); - //pmlmeext->mgnt_seq++; - SetFrameSubType(pframe, WIFI_BEACON); - - pframe += sizeof(struct rtw_ieee80211_hdr_3addr); - pktlen = sizeof (struct rtw_ieee80211_hdr_3addr); - - //timestamp will be inserted by hardware - pframe += 8; - pktlen += 8; - - // beacon interval: 2 bytes - _rtw_memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->IEs)), 2); - - pframe += 2; - pktlen += 2; - - // capability info: 2 bytes - _rtw_memcpy(pframe, (unsigned char *)(rtw_get_capability_from_ie(cur_network->IEs)), 2); - - pframe += 2; - pktlen += 2; - - if( (pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE) - { - //DBG_871X("ie len=%d\n", cur_network->IELength); - pktlen += cur_network->IELength - sizeof(NDIS_802_11_FIXED_IEs); - _rtw_memcpy(pframe, cur_network->IEs+sizeof(NDIS_802_11_FIXED_IEs), pktlen); - - goto _ConstructBeacon; - } - - //below for ad-hoc mode - - // SSID - pframe = rtw_set_ie(pframe, _SSID_IE_, cur_network->Ssid.SsidLength, cur_network->Ssid.Ssid, &pktlen); - - // supported rates... - rate_len = rtw_get_rateset_len(cur_network->SupportedRates); - pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_, ((rate_len > 8)? 8: rate_len), cur_network->SupportedRates, &pktlen); - - // DS parameter set - pframe = rtw_set_ie(pframe, _DSSET_IE_, 1, (unsigned char *)&(cur_network->Configuration.DSConfig), &pktlen); - - if( (pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) - { - u32 ATIMWindow; - // IBSS Parameter Set... - //ATIMWindow = cur->Configuration.ATIMWindow; - ATIMWindow = 0; - pframe = rtw_set_ie(pframe, _IBSS_PARA_IE_, 2, (unsigned char *)(&ATIMWindow), &pktlen); - } - - - //todo: ERP IE - - - // EXTERNDED SUPPORTED RATE - if (rate_len > 8) - { - pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_, (rate_len - 8), (cur_network->SupportedRates + 8), &pktlen); - } - - - //todo:HT for adhoc - -_ConstructBeacon: - - if ((pktlen + TXDESC_SIZE) > 512) - { - DBG_871X("beacon frame too large\n"); - return; - } - - *pLength = pktlen; - - //DBG_871X("%s bcn_sz=%d\n", __FUNCTION__, pktlen); - -} - -void ConstructPSPoll(_adapter *padapter, u8 *pframe, u32 *pLength) -{ - struct rtw_ieee80211_hdr *pwlanhdr; - u16 *fctrl; - u32 pktlen; - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); - struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); - - //DBG_871X("%s\n", __FUNCTION__); - - pwlanhdr = (struct rtw_ieee80211_hdr *)pframe; - - // Frame control. - fctrl = &(pwlanhdr->frame_ctl); - *(fctrl) = 0; - SetPwrMgt(fctrl); - SetFrameSubType(pframe, WIFI_PSPOLL); - - // AID. - SetDuration(pframe, (pmlmeinfo->aid | 0xc000)); - - // BSSID. - _rtw_memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); - - // TA. - _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN); - - *pLength = 16; -} - -void ConstructNullFunctionData( - PADAPTER padapter, - u8 *pframe, - u32 *pLength, - u8 *StaAddr, - u8 bQoS, - u8 AC, - u8 bEosp, - u8 bForcePowerSave) -{ - struct rtw_ieee80211_hdr *pwlanhdr; - u16 *fctrl; - u32 pktlen; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &pmlmepriv->cur_network; - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); - struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); - - - //DBG_871X("%s:%d\n", __FUNCTION__, bForcePowerSave); - - pwlanhdr = (struct rtw_ieee80211_hdr*)pframe; - - fctrl = &pwlanhdr->frame_ctl; - *(fctrl) = 0; - if (bForcePowerSave) - { - SetPwrMgt(fctrl); - } - - switch(cur_network->network.InfrastructureMode) - { - case Ndis802_11Infrastructure: - SetToDs(fctrl); - _rtw_memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr3, StaAddr, ETH_ALEN); - break; - case Ndis802_11APMode: - SetFrDs(fctrl); - _rtw_memcpy(pwlanhdr->addr1, StaAddr, ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr2, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr3, myid(&(padapter->eeprompriv)), ETH_ALEN); - break; - case Ndis802_11IBSS: - default: - _rtw_memcpy(pwlanhdr->addr1, StaAddr, ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); - break; - } - - SetSeqNum(pwlanhdr, 0); - - if (bQoS == _TRUE) { - struct rtw_ieee80211_hdr_3addr_qos *pwlanqoshdr; - - SetFrameSubType(pframe, WIFI_QOS_DATA_NULL); - - pwlanqoshdr = (struct rtw_ieee80211_hdr_3addr_qos*)pframe; - SetPriority(&pwlanqoshdr->qc, AC); - SetEOSP(&pwlanqoshdr->qc, bEosp); - - pktlen = sizeof(struct rtw_ieee80211_hdr_3addr_qos); - } else { - SetFrameSubType(pframe, WIFI_DATA_NULL); - - pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); - } - - *pLength = pktlen; -} - -void ConstructProbeRsp(_adapter *padapter, u8 *pframe, u32 *pLength, u8 *StaAddr, BOOLEAN bHideSSID) -{ - struct rtw_ieee80211_hdr *pwlanhdr; - u16 *fctrl; - u8 *mac, *bssid; - u32 pktlen; - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); - struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); - WLAN_BSSID_EX *cur_network = &(pmlmeinfo->network); - - - //DBG_871X("%s\n", __FUNCTION__); - - pwlanhdr = (struct rtw_ieee80211_hdr *)pframe; - - mac = myid(&(padapter->eeprompriv)); - bssid = cur_network->MacAddress; - - fctrl = &(pwlanhdr->frame_ctl); - *(fctrl) = 0; - _rtw_memcpy(pwlanhdr->addr1, StaAddr, ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr2, mac, ETH_ALEN); - _rtw_memcpy(pwlanhdr->addr3, bssid, ETH_ALEN); - - SetSeqNum(pwlanhdr, 0); - SetFrameSubType(fctrl, WIFI_PROBERSP); - - pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); - pframe += pktlen; - - if(cur_network->IELength>MAX_IE_SZ) - return; - - _rtw_memcpy(pframe, cur_network->IEs, cur_network->IELength); - pframe += cur_network->IELength; - pktlen += cur_network->IELength; - - *pLength = pktlen; -} - -// To check if reserved page content is destroyed by beacon beacuse beacon is too large. -// 2010.06.23. Added by tynli. -VOID -CheckFwRsvdPageContent( - IN PADAPTER Adapter -) -{ - HAL_DATA_TYPE* pHalData = GET_HAL_DATA(Adapter); - u32 MaxBcnPageNum; - - if(pHalData->FwRsvdPageStartOffset != 0) - { - /*MaxBcnPageNum = PageNum_128(pMgntInfo->MaxBeaconSize); - RT_ASSERT((MaxBcnPageNum <= pHalData->FwRsvdPageStartOffset), - ("CheckFwRsvdPageContent(): The reserved page content has been"\ - "destroyed by beacon!!! MaxBcnPageNum(%d) FwRsvdPageStartOffset(%d)\n!", - MaxBcnPageNum, pHalData->FwRsvdPageStartOffset));*/ - } -} - -// -// Description: Fill the reserved packets that FW will use to RSVD page. -// Now we just send 4 types packet to rsvd page. -// (1)Beacon, (2)Ps-poll, (3)Null data, (4)ProbeRsp. -// Input: -// bDLFinished - FALSE: At the first time we will send all the packets as a large packet to Hw, -// so we need to set the packet length to total lengh. -// TRUE: At the second time, we should send the first packet (default:beacon) -// to Hw again and set the lengh in descriptor to the real beacon lengh. -// 2009.10.15 by tynli. -static void SetFwRsvdPagePkt(PADAPTER padapter, BOOLEAN bDLFinished) -{ - PHAL_DATA_TYPE pHalData; - struct xmit_frame *pmgntframe; - struct pkt_attrib *pattrib; - struct xmit_priv *pxmitpriv; - struct mlme_ext_priv *pmlmeext; - struct mlme_ext_info *pmlmeinfo; - u32 BeaconLength, ProbeRspLength, PSPollLength; - u32 NullDataLength, QosNullLength, BTQosNullLength; - u8 *ReservedPagePacket; - u8 PageNum, PageNeed, TxDescLen; - u16 BufIndex; - u32 TotalPacketLen; - RSVDPAGE_LOC RsvdPageLoc; - - - DBG_871X("%s\n", __FUNCTION__); - - ReservedPagePacket = (u8*)rtw_zmalloc(1000); - if (ReservedPagePacket == NULL) { - DBG_871X("%s: alloc ReservedPagePacket fail!\n", __FUNCTION__); - return; - } - - pHalData = GET_HAL_DATA(padapter); - pxmitpriv = &padapter->xmitpriv; - pmlmeext = &padapter->mlmeextpriv; - pmlmeinfo = &pmlmeext->mlmext_info; - - TxDescLen = TXDESC_SIZE; - PageNum = 0; - - //3 (1) beacon - BufIndex = TXDESC_OFFSET; - ConstructBeacon(padapter, &ReservedPagePacket[BufIndex], &BeaconLength); - - // When we count the first page size, we need to reserve description size for the RSVD - // packet, it will be filled in front of the packet in TXPKTBUF. - PageNeed = (u8)PageNum_128(TxDescLen + BeaconLength); - // To reserved 2 pages for beacon buffer. 2010.06.24. - if (PageNeed == 1) - PageNeed += 1; - PageNum += PageNeed; - pHalData->FwRsvdPageStartOffset = PageNum; - - BufIndex += PageNeed*128; - - //3 (2) ps-poll - RsvdPageLoc.LocPsPoll = PageNum; - ConstructPSPoll(padapter, &ReservedPagePacket[BufIndex], &PSPollLength); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], PSPollLength, _TRUE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + PSPollLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; - - //3 (3) null data - RsvdPageLoc.LocNullData = PageNum; - ConstructNullFunctionData( - padapter, - &ReservedPagePacket[BufIndex], - &NullDataLength, - get_my_bssid(&pmlmeinfo->network), - _FALSE, 0, 0, _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], NullDataLength, _FALSE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + NullDataLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; - - //3 (4) probe response - RsvdPageLoc.LocProbeRsp = PageNum; - ConstructProbeRsp( - padapter, - &ReservedPagePacket[BufIndex], - &ProbeRspLength, - get_my_bssid(&pmlmeinfo->network), - _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], ProbeRspLength, _FALSE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + ProbeRspLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; - - //3 (5) Qos null data - RsvdPageLoc.LocQosNull = PageNum; - ConstructNullFunctionData( - padapter, - &ReservedPagePacket[BufIndex], - &QosNullLength, - get_my_bssid(&pmlmeinfo->network), - _TRUE, 0, 0, _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], QosNullLength, _FALSE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + QosNullLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; - - //3 (6) BT Qos null data - RsvdPageLoc.LocBTQosNull = PageNum; - ConstructNullFunctionData( - padapter, - &ReservedPagePacket[BufIndex], - &BTQosNullLength, - get_my_bssid(&pmlmeinfo->network), - _TRUE, 0, 0, _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], BTQosNullLength, _FALSE, _TRUE); - - TotalPacketLen = BufIndex + BTQosNullLength; - - pmgntframe = alloc_mgtxmitframe(pxmitpriv); - if (pmgntframe == NULL) - goto exit; - - // update attribute - pattrib = &pmgntframe->attrib; - update_mgntframe_attrib(padapter, pattrib); - pattrib->qsel = 0x10; - pattrib->pktlen = pattrib->last_txcmdsz = TotalPacketLen - TXDESC_OFFSET; - _rtw_memcpy(pmgntframe->buf_addr, ReservedPagePacket, TotalPacketLen); - - rtw_hal_mgnt_xmit(padapter, pmgntframe); - - DBG_871X("%s: Set RSVD page location to Fw\n", __FUNCTION__); - FillH2CCmd(padapter, RSVD_PAGE_EID, sizeof(RsvdPageLoc), (u8*)&RsvdPageLoc); - -exit: - rtw_mfree(ReservedPagePacket, 1000); -} - -void rtl8723a_set_FwJoinBssReport_cmd(PADAPTER padapter, u8 mstatus) -{ - JOINBSSRPT_PARM JoinBssRptParm; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); - struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); - -_func_enter_; - - DBG_871X("%s mstatus(%x)\n", __FUNCTION__,mstatus); - - if(mstatus == 1) - { - BOOLEAN bRecover = _FALSE; - u8 v8; - - // We should set AID, correct TSF, HW seq enable before set JoinBssReport to Fw in 88/92C. - // Suggested by filen. Added by tynli. - rtw_write16(padapter, REG_BCN_PSR_RPT, (0xC000|pmlmeinfo->aid)); - // Do not set TSF again here or vWiFi beacon DMA INT will not work. - //correct_TSF(padapter, pmlmeext); - // Hw sequende enable by dedault. 2010.06.23. by tynli. - //rtw_write16(padapter, REG_NQOS_SEQ, ((pmlmeext->mgnt_seq+100)&0xFFF)); - //rtw_write8(padapter, REG_HWSEQ_CTRL, 0xFF); - - // set REG_CR bit 8 - v8 = rtw_read8(padapter, REG_CR+1); - v8 |= BIT(0); // ENSWBCN - rtw_write8(padapter, REG_CR+1, v8); - - // Disable Hw protection for a time which revserd for Hw sending beacon. - // Fix download reserved page packet fail that access collision with the protection time. - // 2010.05.11. Added by tynli. -// SetBcnCtrlReg(padapter, 0, BIT(3)); -// SetBcnCtrlReg(padapter, BIT(4), 0); - SetBcnCtrlReg(padapter, BIT(4), BIT(3)); - - // Set FWHW_TXQ_CTRL 0x422[6]=0 to tell Hw the packet is not a real beacon frame. - if (pHalData->RegFwHwTxQCtrl & BIT(6)) - bRecover = _TRUE; - - // To tell Hw the packet is not a real beacon frame. - //U1bTmp = rtw_read8(padapter, REG_FWHW_TXQ_CTRL+2); - rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl & ~BIT(6)); - pHalData->RegFwHwTxQCtrl &= ~BIT(6); - SetFwRsvdPagePkt(padapter, 0); - - // 2010.05.11. Added by tynli. -// SetBcnCtrlReg(padapter, BIT3, 0); -// SetBcnCtrlReg(padapter, 0, BIT4); - SetBcnCtrlReg(padapter, BIT(3), BIT(4)); - - // To make sure that if there exists an adapter which would like to send beacon. - // If exists, the origianl value of 0x422[6] will be 1, we should check this to - // prevent from setting 0x422[6] to 0 after download reserved page, or it will cause - // the beacon cannot be sent by HW. - // 2010.06.23. Added by tynli. - if(bRecover) - { - rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl | BIT(6)); - pHalData->RegFwHwTxQCtrl |= BIT(6); - } - - // Clear CR[8] or beacon packet will not be send to TxBuf anymore. - v8 = rtw_read8(padapter, REG_CR+1); - v8 &= ~BIT(0); // ~ENSWBCN - rtw_write8(padapter, REG_CR+1, v8); - } - - JoinBssRptParm.OpMode = mstatus; - - FillH2CCmd(padapter, JOINBSS_RPT_EID, sizeof(JoinBssRptParm), (u8 *)&JoinBssRptParm); - -_func_exit_; -} - -#ifdef CONFIG_BT_COEXIST -static void SetFwRsvdPagePkt_BTCoex(PADAPTER padapter) -{ - PHAL_DATA_TYPE pHalData; - struct xmit_frame *pmgntframe; - struct pkt_attrib *pattrib; - struct xmit_priv *pxmitpriv; - struct mlme_ext_priv *pmlmeext; - struct mlme_ext_info *pmlmeinfo; - u8 fakemac[6]={0x00,0xe0,0x4c,0x00,0x00,0x00}; - u32 BeaconLength, ProbeRspLength, PSPollLength; - u32 NullDataLength, QosNullLength, BTQosNullLength; - u8 *ReservedPagePacket; - u8 PageNum, PageNeed, TxDescLen; - u16 BufIndex; - u32 TotalPacketLen; - RSVDPAGE_LOC RsvdPageLoc; - - - DBG_871X("+%s\n", __FUNCTION__); - - ReservedPagePacket = (u8*)rtw_zmalloc(1024); - if (ReservedPagePacket == NULL) { - DBG_871X("%s: alloc ReservedPagePacket fail!\n", __FUNCTION__); - return; - } - - pHalData = GET_HAL_DATA(padapter); - pxmitpriv = &padapter->xmitpriv; - pmlmeext = &padapter->mlmeextpriv; - pmlmeinfo = &pmlmeext->mlmext_info; - - TxDescLen = TXDESC_SIZE; - PageNum = 0; - - //3 (1) beacon - BufIndex = TXDESC_OFFSET; -#if 0 - ConstructBeacon(padapter, &ReservedPagePacket[BufIndex], &BeaconLength); - - // When we count the first page size, we need to reserve description size for the RSVD - // packet, it will be filled in front of the packet in TXPKTBUF. - PageNeed = (u8)PageNum_128(TxDescLen + BeaconLength); - // To reserved 2 pages for beacon buffer. 2010.06.24. - if (PageNeed == 1) - PageNeed += 1; -#else - // skip Beacon Packet - PageNeed = 3; -#endif - - PageNum += PageNeed; - pHalData->FwRsvdPageStartOffset = PageNum; - - BufIndex += PageNeed*128; - - //3 (2) ps-poll -#if 0 // skip - RsvdPageLoc.LocPsPoll = PageNum; - ConstructPSPoll(padapter, &ReservedPagePacket[BufIndex], &PSPollLength); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], PSPollLength, _TRUE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + PSPollLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; -#endif - - //3 (3) null data - RsvdPageLoc.LocNullData = PageNum; - ConstructNullFunctionData( - padapter, - &ReservedPagePacket[BufIndex], - &NullDataLength, - fakemac, - _FALSE, 0, 0, _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], NullDataLength, _FALSE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + NullDataLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; - - //3 (4) probe response -#if 0 // skip - RsvdPageLoc.LocProbeRsp = PageNum; - ConstructProbeRsp( - padapter, - &ReservedPagePacket[BufIndex], - &ProbeRspLength, - get_my_bssid(&pmlmeinfo->network), - _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], ProbeRspLength, _FALSE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + ProbeRspLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; -#endif - - //3 (5) Qos null data -#if 0 // skip - RsvdPageLoc.LocQosNull = PageNum; - ConstructNullFunctionData( - padapter, - &ReservedPagePacket[BufIndex], - &QosNullLength, - get_my_bssid(&pmlmeinfo->network), - _TRUE, 0, 0, _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], QosNullLength, _FALSE, _FALSE); - - PageNeed = (u8)PageNum_128(TxDescLen + QosNullLength); - PageNum += PageNeed; - - BufIndex += PageNeed*128; -#endif - - //3 (6) BT Qos null data - RsvdPageLoc.LocBTQosNull = PageNum; - ConstructNullFunctionData( - padapter, - &ReservedPagePacket[BufIndex], - &BTQosNullLength, - fakemac, - _TRUE, 0, 0, _FALSE); - rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], BTQosNullLength, _FALSE, _TRUE); - - TotalPacketLen = BufIndex + BTQosNullLength; - - pmgntframe = alloc_mgtxmitframe(pxmitpriv); - if (pmgntframe == NULL) - goto exit; - - // update attribute - pattrib = &pmgntframe->attrib; - update_mgntframe_attrib(padapter, pattrib); - pattrib->qsel = 0x10; - pattrib->pktlen = pattrib->last_txcmdsz = TotalPacketLen - TXDESC_OFFSET; - _rtw_memcpy(pmgntframe->buf_addr, ReservedPagePacket, TotalPacketLen); - - rtw_hal_mgnt_xmit(padapter, pmgntframe); - - DBG_8192C("%s: Set RSVD page location to Fw\n", __FUNCTION__); - FillH2CCmd(padapter, RSVD_PAGE_EID, sizeof(RsvdPageLoc), (u8*)&RsvdPageLoc); - -exit: - rtw_mfree(ReservedPagePacket, 1024); -} - -void rtl8723a_set_BTCoex_AP_mode_FwRsvdPkt_cmd(PADAPTER padapter) -{ - PHAL_DATA_TYPE pHalData; - u8 bRecover = _FALSE; - - - DBG_8192C("+%s\n", __FUNCTION__); - - pHalData = GET_HAL_DATA(padapter); - - // Set FWHW_TXQ_CTRL 0x422[6]=0 to tell Hw the packet is not a real beacon frame. - if (pHalData->RegFwHwTxQCtrl & BIT(6)) - bRecover = _TRUE; - - // To tell Hw the packet is not a real beacon frame. - pHalData->RegFwHwTxQCtrl &= ~BIT(6); - rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl); - SetFwRsvdPagePkt_BTCoex(padapter); - - // To make sure that if there exists an adapter which would like to send beacon. - // If exists, the origianl value of 0x422[6] will be 1, we should check this to - // prevent from setting 0x422[6] to 0 after download reserved page, or it will cause - // the beacon cannot be sent by HW. - // 2010.06.23. Added by tynli. - if (bRecover) - { - pHalData->RegFwHwTxQCtrl |= BIT(6); - rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl); - } -} -#endif - -#ifdef CONFIG_P2P_PS -void rtl8192c_set_p2p_ps_offload_cmd(_adapter* padapter, u8 p2p_ps_state) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; - struct wifidirect_info *pwdinfo = &( padapter->wdinfo ); - struct P2P_PS_Offload_t *p2p_ps_offload = &pHalData->p2p_ps_offload; - u8 i; - -_func_enter_; - - switch(p2p_ps_state) - { - case P2P_PS_DISABLE: - DBG_8192C("P2P_PS_DISABLE \n"); - _rtw_memset(p2p_ps_offload, 0 ,1); - break; - case P2P_PS_ENABLE: - DBG_8192C("P2P_PS_ENABLE \n"); - // update CTWindow value. - if( pwdinfo->ctwindow > 0 ) - { - p2p_ps_offload->CTWindow_En = 1; - rtw_write8(padapter, REG_P2P_CTWIN, pwdinfo->ctwindow); - } - - // hw only support 2 set of NoA - for( i=0 ; i<pwdinfo->noa_num ; i++) - { - // To control the register setting for which NOA - rtw_write8(padapter, REG_NOA_DESC_SEL, (i << 4)); - if(i == 0) - p2p_ps_offload->NoA0_En = 1; - else - p2p_ps_offload->NoA1_En = 1; - - // config P2P NoA Descriptor Register - //DBG_8192C("%s(): noa_duration = %x\n",__FUNCTION__,pwdinfo->noa_duration[i]); - rtw_write32(padapter, REG_NOA_DESC_DURATION, pwdinfo->noa_duration[i]); - - //DBG_8192C("%s(): noa_interval = %x\n",__FUNCTION__,pwdinfo->noa_interval[i]); - rtw_write32(padapter, REG_NOA_DESC_INTERVAL, pwdinfo->noa_interval[i]); - - //DBG_8192C("%s(): start_time = %x\n",__FUNCTION__,pwdinfo->noa_start_time[i]); - rtw_write32(padapter, REG_NOA_DESC_START, pwdinfo->noa_start_time[i]); - - //DBG_8192C("%s(): noa_count = %x\n",__FUNCTION__,pwdinfo->noa_count[i]); - rtw_write8(padapter, REG_NOA_DESC_COUNT, pwdinfo->noa_count[i]); - } - - if( (pwdinfo->opp_ps == 1) || (pwdinfo->noa_num > 0) ) - { - // rst p2p circuit - rtw_write8(padapter, REG_DUAL_TSF_RST, BIT(4)); - - p2p_ps_offload->Offload_En = 1; - - if(rtw_p2p_chk_role(pwdinfo, P2P_ROLE_GO)) - { - p2p_ps_offload->role= 1; - p2p_ps_offload->AllStaSleep = 0; - } - else - { - p2p_ps_offload->role= 0; - } - - p2p_ps_offload->discovery = 0; - } - break; - case P2P_PS_SCAN: - DBG_8192C("P2P_PS_SCAN \n"); - p2p_ps_offload->discovery = 1; - break; - case P2P_PS_SCAN_DONE: - DBG_8192C("P2P_PS_SCAN_DONE \n"); - p2p_ps_offload->discovery = 0; - pwdinfo->p2p_ps_state = P2P_PS_ENABLE; - break; - default: - break; - } - - FillH2CCmd(padapter, P2P_PS_OFFLOAD_EID, 1, (u8 *)p2p_ps_offload); - -_func_exit_; - -} -#endif //CONFIG_P2P_PS - -#ifdef CONFIG_IOL -#include <rtw_iol.h> -#ifdef CONFIG_USB_HCI -#include <usb_ops.h> -#endif -int rtl8192c_IOL_exec_cmds_sync(ADAPTER *adapter, struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt) -{ - IO_OFFLOAD_LOC IoOffloadLoc; - u32 start_time = rtw_get_current_time(); - u32 passing_time_ms; - u8 polling_ret; - int ret = _FAIL; - - if (rtw_IOL_append_END_cmd(xmit_frame) != _SUCCESS) - goto exit; -#ifdef CONFIG_USB_HCI - { - struct pkt_attrib *pattrib = &xmit_frame->attrib; - if(rtw_usb_bulk_size_boundary(adapter,TXDESC_SIZE+pattrib->last_txcmdsz)) - { - if (rtw_IOL_append_END_cmd(xmit_frame) != _SUCCESS) - goto exit; - } - } -#endif //CONFIG_USB_HCI - - - dump_mgntframe_and_wait(adapter, xmit_frame, max_wating_ms); - - IoOffloadLoc.LocCmd = 0; - if(_SUCCESS != FillH2CCmd(adapter, H2C_92C_IO_OFFLOAD, sizeof(IO_OFFLOAD_LOC), (u8 *)&IoOffloadLoc)) - goto exit; - - //polling if the IO offloading is done - while( (passing_time_ms=rtw_get_passing_time_ms(start_time)) <= max_wating_ms) { - #if 0 //C2H - if(0xff == rtw_read8(adapter, REG_C2HEVT_CLEAR)) - break; - #else// 0x1c3 - if(0x00 != (polling_ret=rtw_read8(adapter, 0x1c3))) - break; - #endif - rtw_msleep_os(5); - } - #if 0 //debug - DBG_871X("IOL %s, polling_ret:0x%02x, 0x1c0=0x%08x, 0x1c4=0x%08x, 0x1cc=0x%08x, 0x1e8=0x%08x, 0x130=0x%08x, 0x134=0x%08x\n" - , polling_ret==0xff?"success":"error" - , polling_ret - , rtw_read32(adapter, 0x1c0) - , rtw_read32(adapter, 0x1c4) - , rtw_read32(adapter, 0x1cc) - , rtw_read32(adapter, 0x1e8) - , rtw_read32(adapter, 0x130) - , rtw_read32(adapter, 0x134) - ); - rtw_write32(adapter, 0x1c0, 0x0); - #endif - - if(polling_ret == 0xff) - ret =_SUCCESS; - else { - DBG_871X("IOL %s, polling_ret:0x%02x\n" - //", 0x1c0=0x%08x, 0x1c4=0x%08x, 0x1cc=0x%08x, 0x1e8=0x%08x, 0x130=0x%08x, 0x134=0x%08x\n" - , polling_ret==0xff?"success":"error" - , polling_ret - //, rtw_read32(adapter, 0x1c0) - //, rtw_read32(adapter, 0x1c4) - //, rtw_read32(adapter, 0x1cc) - //, rtw_read32(adapter, 0x1e8) - //, rtw_read32(adapter, 0x130) - //, rtw_read32(adapter, 0x134) - ); - #if 0 //debug - rtw_write16(adapter, 0x1c4, 0x0000); - rtw_msleep_os(10); - DBG_871X("after reset, 0x1c4=0x%08x\n", rtw_read32(adapter, 0x1c4)); - #endif - - } - - { - #if 0 //C2H - u32 c2h_evt; - int i; - c2h_evt = rtw_read32(adapter, REG_C2HEVT_MSG_NORMAL); - DBG_871X("%s io-offloading complete, in %ums: 0x%08x\n", __FUNCTION__, passing_time_ms, c2h_evt); - rtw_write8(adapter, REG_C2HEVT_CLEAR, 0x0); - #else// 0x1c3 - //DBG_871X("%s IOF complete in %ums\n", __FUNCTION__, passing_time_ms); - rtw_write8(adapter, 0x1c3, 0x0); - #endif - } - -exit: - return ret; - -} -#endif //CONFIG_IOL - -#ifdef CONFIG_TSF_RESET_OFFLOAD -/* - ask FW to Reset sync register at Beacon early interrupt -*/ -u8 rtl8723c_reset_tsf(_adapter *padapter, u8 reset_port ) -{ - u8 buf[2]; - u8 res=_SUCCESS; - -_func_enter_; - if (IFACE_PORT0==reset_port) { - buf[0] = 0x1; buf[1] = 0; - - } else{ - buf[0] = 0x0; buf[1] = 0x1; - } - FillH2CCmd(padapter, H2C_RESET_TSF, 2, buf); -_func_exit_; - - return res; -} -#endif // CONFIG_TSF_RESET_OFFLOAD - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+#define _RTL8723A_CMD_C_
+
+#include <drv_conf.h>
+#include <osdep_service.h>
+#include <drv_types.h>
+#include <recv_osdep.h>
+#include <cmd_osdep.h>
+#include <mlme_osdep.h>
+#include <rtw_byteorder.h>
+#include <circ_buf.h>
+#include <rtw_ioctl_set.h>
+
+#include <rtl8723a_hal.h>
+
+
+#define RTL92C_MAX_H2C_BOX_NUMS 4
+#define RTL92C_MAX_CMD_LEN 5
+#define MESSAGE_BOX_SIZE 4
+#define EX_MESSAGE_BOX_SIZE 2
+
+
+static u8 _is_fw_read_cmd_down(_adapter* padapter, u8 msgbox_num)
+{
+ u8 read_down = _FALSE;
+ int retry_cnts = 100;
+
+ u8 valid;
+
+ //DBG_8192C(" _is_fw_read_cmd_down ,reg_1cc(%x),msg_box(%d)...\n",rtw_read8(padapter,REG_HMETFR),msgbox_num);
+
+ do{
+ valid = rtw_read8(padapter,REG_HMETFR) & BIT(msgbox_num);
+
+ if(0 == valid ){
+ read_down = _TRUE;
+ }
+ }while( (!read_down) && (retry_cnts--));
+
+ return read_down;
+
+}
+
+
+/*****************************************
+* H2C Msg format :
+*| 31 - 8 |7 | 6 - 0 |
+*| h2c_msg |Ext_bit |CMD_ID |
+*
+******************************************/
+s32 FillH2CCmd(PADAPTER padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer)
+{
+ u8 bcmd_down = _FALSE;
+ s32 retry_cnts = 100;
+ u8 h2c_box_num;
+ u32 msgbox_addr;
+ u32 msgbox_ex_addr;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ u32 h2c_cmd = 0;
+ u16 h2c_cmd_ex = 0;
+ s32 ret = _FAIL;
+
+_func_enter_;
+
+ padapter = GET_PRIMARY_ADAPTER(padapter);
+ pHalData = GET_HAL_DATA(padapter);
+
+ _enter_critical_mutex(&(adapter_to_dvobj(padapter)->h2c_fwcmd_mutex), NULL);
+
+ if (!pCmdBuffer) {
+ goto exit;
+ }
+ if (CmdLen > RTL92C_MAX_CMD_LEN) {
+ goto exit;
+ }
+ if (padapter->bSurpriseRemoved == _TRUE)
+ goto exit;
+
+ //pay attention to if race condition happened in H2C cmd setting.
+ do{
+ h2c_box_num = pHalData->LastHMEBoxNum;
+
+ if(!_is_fw_read_cmd_down(padapter, h2c_box_num)){
+ DBG_8192C(" fw read cmd failed...\n");
+ goto exit;
+ }
+
+ if(CmdLen<=3)
+ {
+ _rtw_memcpy((u8*)(&h2c_cmd)+1, pCmdBuffer, CmdLen );
+ }
+ else{
+ _rtw_memcpy((u8*)(&h2c_cmd_ex), pCmdBuffer, EX_MESSAGE_BOX_SIZE);
+ _rtw_memcpy((u8*)(&h2c_cmd)+1, pCmdBuffer+2,( CmdLen-EX_MESSAGE_BOX_SIZE));
+ *(u8*)(&h2c_cmd) |= BIT(7);
+ }
+
+ *(u8*)(&h2c_cmd) |= ElementID;
+
+ if(h2c_cmd & BIT(7)){
+ msgbox_ex_addr = REG_HMEBOX_EXT_0 + (h2c_box_num *EX_MESSAGE_BOX_SIZE);
+ h2c_cmd_ex = le16_to_cpu( h2c_cmd_ex );
+ rtw_write16(padapter, msgbox_ex_addr, h2c_cmd_ex);
+ }
+ msgbox_addr =REG_HMEBOX_0 + (h2c_box_num *MESSAGE_BOX_SIZE);
+ h2c_cmd = le32_to_cpu( h2c_cmd );
+ rtw_write32(padapter,msgbox_addr, h2c_cmd);
+
+ bcmd_down = _TRUE;
+
+ //DBG_8192C("MSG_BOX:%d,CmdLen(%d), reg:0x%x =>h2c_cmd:0x%x, reg:0x%x =>h2c_cmd_ex:0x%x ..\n"
+ // ,pHalData->LastHMEBoxNum ,CmdLen,msgbox_addr,h2c_cmd,msgbox_ex_addr,h2c_cmd_ex);
+
+ pHalData->LastHMEBoxNum = (h2c_box_num+1) % RTL92C_MAX_H2C_BOX_NUMS;
+
+ }while((!bcmd_down) && (retry_cnts--));
+
+ ret = _SUCCESS;
+
+exit:
+
+ _exit_critical_mutex(&(adapter_to_dvobj(padapter)->h2c_fwcmd_mutex), NULL);
+
+_func_exit_;
+
+ return ret;
+}
+
+u8 rtl8192c_h2c_msg_hdl(_adapter *padapter, unsigned char *pbuf)
+{
+ u8 ElementID, CmdLen;
+ u8 *pCmdBuffer;
+ struct cmd_msg_parm *pcmdmsg;
+
+ if(!pbuf)
+ return H2C_PARAMETERS_ERROR;
+
+ pcmdmsg = (struct cmd_msg_parm*)pbuf;
+ ElementID = pcmdmsg->eid;
+ CmdLen = pcmdmsg->sz;
+ pCmdBuffer = pcmdmsg->buf;
+
+ FillH2CCmd(padapter, ElementID, CmdLen, pCmdBuffer);
+
+ return H2C_SUCCESS;
+}
+
+#if defined(CONFIG_AUTOSUSPEND) && defined(SUPPORT_HW_RFOFF_DETECTED)
+u8 rtl8192c_set_FwSelectSuspend_cmd(_adapter *padapter ,u8 bfwpoll, u16 period)
+{
+ u8 res=_SUCCESS;
+ struct H2C_SS_RFOFF_PARAM param;
+ DBG_8192C("==>%s bfwpoll(%x)\n",__FUNCTION__,bfwpoll);
+ param.gpio_period = period;//Polling GPIO_11 period time
+ param.ROFOn = (_TRUE == bfwpoll)?1:0;
+ FillH2CCmd(padapter, SELECTIVE_SUSPEND_ROF_CMD, sizeof(param), (u8*)(¶m));
+ return res;
+}
+#endif //CONFIG_AUTOSUSPEND && SUPPORT_HW_RFOFF_DETECTED
+
+u8 rtl8192c_set_rssi_cmd(_adapter*padapter, u8 *param)
+{
+ u8 res=_SUCCESS;
+
+_func_enter_;
+
+ *((u32*) param ) = cpu_to_le32( *((u32*) param ) );
+
+ FillH2CCmd(padapter, RSSI_SETTING_EID, 3, param);
+
+_func_exit_;
+
+ return res;
+}
+
+u8 rtl8192c_set_raid_cmd(_adapter*padapter, u32 mask, u8 arg)
+{
+ u8 buf[5];
+ u8 res=_SUCCESS;
+
+_func_enter_;
+
+ _rtw_memset(buf, 0, 5);
+ mask = cpu_to_le32( mask );
+ _rtw_memcpy(buf, &mask, 4);
+ buf[4] = arg;
+
+ FillH2CCmd(padapter, MACID_CONFIG_EID, 5, buf);
+
+_func_exit_;
+
+ return res;
+
+}
+
+//bitmap[0:27] = tx_rate_bitmap
+//bitmap[28:31]= Rate Adaptive id
+//arg[0:4] = macid
+//arg[5] = Short GI
+void rtl8192c_Add_RateATid(PADAPTER pAdapter, u32 bitmap, u8 arg, u8 rssi_level)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+
+ u8 macid = arg&0x1f;
+
+#ifdef CONFIG_ODM_REFRESH_RAMASK
+ u8 raid = (bitmap>>28) & 0x0f;
+ bitmap &=0x0fffffff;
+ if(rssi_level != DM_RATR_STA_INIT)
+ bitmap = ODM_Get_Rate_Bitmap(&pHalData->odmpriv, macid, bitmap, rssi_level);
+
+ bitmap |= ((raid<<28)&0xf0000000);
+#endif //CONFIG_ODM_REFRESH_RAMASK
+
+
+ if(pHalData->fw_ractrl == _TRUE)
+ {
+ rtl8192c_set_raid_cmd(pAdapter, bitmap, arg);
+ }
+ else
+ {
+ u8 init_rate, shortGIrate=_FALSE;
+
+ init_rate = get_highest_rate_idx(bitmap&0x0fffffff)&0x3f;
+
+
+ shortGIrate = (arg&BIT(5)) ? _TRUE:_FALSE;
+
+ if (shortGIrate==_TRUE)
+ init_rate |= BIT(6);
+
+ rtw_write8(pAdapter, (REG_INIDATA_RATE_SEL+macid), (u8)init_rate);
+ }
+
+}
+
+void rtl8723a_set_FwPwrMode_cmd(PADAPTER padapter, u8 Mode)
+{
+ SETPWRMODE_PARM H2CSetPwrMode;
+ struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
+
+_func_enter_;
+
+ H2CSetPwrMode.Mode = Mode;
+ H2CSetPwrMode.SmartPS = pwrpriv->smart_ps;
+ H2CSetPwrMode.AwakeInterval = 1;
+ H2CSetPwrMode.bAllQueueUAPSD = padapter->registrypriv.uapsd_enable;
+
+ if(0 == Mode)
+ {
+ /* Leave LPS, set BcnAntMode to 0 */
+ H2CSetPwrMode.BcnAntMode = 0;
+ }
+ else
+ {
+ H2CSetPwrMode.BcnAntMode = pwrpriv->bcn_ant_mode;
+ }
+
+ DBG_871X("%s: Mode=%d SmartPS=%d UAPSD=%d BcnMode=0x%02x\n", __FUNCTION__,
+ H2CSetPwrMode.Mode, H2CSetPwrMode.SmartPS, H2CSetPwrMode.bAllQueueUAPSD, H2CSetPwrMode.BcnAntMode);
+
+ FillH2CCmd(padapter, SET_PWRMODE_EID, sizeof(H2CSetPwrMode), (u8 *)&H2CSetPwrMode);
+
+_func_exit_;
+}
+
+
+void rtl8723a_set_FwMediaStatus_cmd(PADAPTER padapter, u16 mstatus_rpt )
+{
+ u8 opmode,macid;
+ u16 mst_rpt = cpu_to_le16 (mstatus_rpt);
+ u32 reg_macid_no_link = REG_MACID_NO_LINK;
+ opmode = (u8) mst_rpt;
+ macid = (u8)(mst_rpt >> 8) ;
+ DBG_871X("### %s: MStatus=%x MACID=%d \n", __FUNCTION__,opmode,macid);
+
+ //Delete select macid (MACID 0~63) from queue list.
+ if(opmode == 1)// 1:connect
+ {
+ rtw_write32(padapter,reg_macid_no_link, (rtw_read32(padapter,reg_macid_no_link) & (~BIT(macid))));
+ }
+ else//0: disconnect
+ {
+ rtw_write32(padapter,reg_macid_no_link, (rtw_read32(padapter,reg_macid_no_link)|BIT(macid)));
+ }
+}
+
+
+void ConstructBeacon(_adapter *padapter, u8 *pframe, u32 *pLength)
+{
+ struct rtw_ieee80211_hdr *pwlanhdr;
+ u16 *fctrl;
+ u32 rate_len, pktlen;
+ struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
+ struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
+ WLAN_BSSID_EX *cur_network = &(pmlmeinfo->network);
+ u8 bc_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+
+
+ //DBG_871X("%s\n", __FUNCTION__);
+
+ pwlanhdr = (struct rtw_ieee80211_hdr *)pframe;
+
+ fctrl = &(pwlanhdr->frame_ctl);
+ *(fctrl) = 0;
+
+ _rtw_memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr3, get_my_bssid(cur_network), ETH_ALEN);
+
+ SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/);
+ //pmlmeext->mgnt_seq++;
+ SetFrameSubType(pframe, WIFI_BEACON);
+
+ pframe += sizeof(struct rtw_ieee80211_hdr_3addr);
+ pktlen = sizeof (struct rtw_ieee80211_hdr_3addr);
+
+ //timestamp will be inserted by hardware
+ pframe += 8;
+ pktlen += 8;
+
+ // beacon interval: 2 bytes
+ _rtw_memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->IEs)), 2);
+
+ pframe += 2;
+ pktlen += 2;
+
+ // capability info: 2 bytes
+ _rtw_memcpy(pframe, (unsigned char *)(rtw_get_capability_from_ie(cur_network->IEs)), 2);
+
+ pframe += 2;
+ pktlen += 2;
+
+ if( (pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE)
+ {
+ //DBG_871X("ie len=%d\n", cur_network->IELength);
+ pktlen += cur_network->IELength - sizeof(NDIS_802_11_FIXED_IEs);
+ _rtw_memcpy(pframe, cur_network->IEs+sizeof(NDIS_802_11_FIXED_IEs), pktlen);
+
+ goto _ConstructBeacon;
+ }
+
+ //below for ad-hoc mode
+
+ // SSID
+ pframe = rtw_set_ie(pframe, _SSID_IE_, cur_network->Ssid.SsidLength, cur_network->Ssid.Ssid, &pktlen);
+
+ // supported rates...
+ rate_len = rtw_get_rateset_len(cur_network->SupportedRates);
+ pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_, ((rate_len > 8)? 8: rate_len), cur_network->SupportedRates, &pktlen);
+
+ // DS parameter set
+ pframe = rtw_set_ie(pframe, _DSSET_IE_, 1, (unsigned char *)&(cur_network->Configuration.DSConfig), &pktlen);
+
+ if( (pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE)
+ {
+ u32 ATIMWindow;
+ // IBSS Parameter Set...
+ //ATIMWindow = cur->Configuration.ATIMWindow;
+ ATIMWindow = 0;
+ pframe = rtw_set_ie(pframe, _IBSS_PARA_IE_, 2, (unsigned char *)(&ATIMWindow), &pktlen);
+ }
+
+
+ //todo: ERP IE
+
+
+ // EXTERNDED SUPPORTED RATE
+ if (rate_len > 8)
+ {
+ pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_, (rate_len - 8), (cur_network->SupportedRates + 8), &pktlen);
+ }
+
+
+ //todo:HT for adhoc
+
+_ConstructBeacon:
+
+ if ((pktlen + TXDESC_SIZE) > 512)
+ {
+ DBG_871X("beacon frame too large\n");
+ return;
+ }
+
+ *pLength = pktlen;
+
+ //DBG_871X("%s bcn_sz=%d\n", __FUNCTION__, pktlen);
+
+}
+
+void ConstructPSPoll(_adapter *padapter, u8 *pframe, u32 *pLength)
+{
+ struct rtw_ieee80211_hdr *pwlanhdr;
+ u16 *fctrl;
+ u32 pktlen;
+ struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
+ struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
+
+ //DBG_871X("%s\n", __FUNCTION__);
+
+ pwlanhdr = (struct rtw_ieee80211_hdr *)pframe;
+
+ // Frame control.
+ fctrl = &(pwlanhdr->frame_ctl);
+ *(fctrl) = 0;
+ SetPwrMgt(fctrl);
+ SetFrameSubType(pframe, WIFI_PSPOLL);
+
+ // AID.
+ SetDuration(pframe, (pmlmeinfo->aid | 0xc000));
+
+ // BSSID.
+ _rtw_memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
+
+ // TA.
+ _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
+
+ *pLength = 16;
+}
+
+void ConstructNullFunctionData(
+ PADAPTER padapter,
+ u8 *pframe,
+ u32 *pLength,
+ u8 *StaAddr,
+ u8 bQoS,
+ u8 AC,
+ u8 bEosp,
+ u8 bForcePowerSave)
+{
+ struct rtw_ieee80211_hdr *pwlanhdr;
+ u16 *fctrl;
+ u32 pktlen;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct wlan_network *cur_network = &pmlmepriv->cur_network;
+ struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
+ struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
+
+
+ //DBG_871X("%s:%d\n", __FUNCTION__, bForcePowerSave);
+
+ pwlanhdr = (struct rtw_ieee80211_hdr*)pframe;
+
+ fctrl = &pwlanhdr->frame_ctl;
+ *(fctrl) = 0;
+ if (bForcePowerSave)
+ {
+ SetPwrMgt(fctrl);
+ }
+
+ switch(cur_network->network.InfrastructureMode)
+ {
+ case Ndis802_11Infrastructure:
+ SetToDs(fctrl);
+ _rtw_memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr3, StaAddr, ETH_ALEN);
+ break;
+ case Ndis802_11APMode:
+ SetFrDs(fctrl);
+ _rtw_memcpy(pwlanhdr->addr1, StaAddr, ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr2, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr3, myid(&(padapter->eeprompriv)), ETH_ALEN);
+ break;
+ case Ndis802_11IBSS:
+ default:
+ _rtw_memcpy(pwlanhdr->addr1, StaAddr, ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
+ break;
+ }
+
+ SetSeqNum(pwlanhdr, 0);
+
+ if (bQoS == _TRUE) {
+ struct rtw_ieee80211_hdr_3addr_qos *pwlanqoshdr;
+
+ SetFrameSubType(pframe, WIFI_QOS_DATA_NULL);
+
+ pwlanqoshdr = (struct rtw_ieee80211_hdr_3addr_qos*)pframe;
+ SetPriority(&pwlanqoshdr->qc, AC);
+ SetEOSP(&pwlanqoshdr->qc, bEosp);
+
+ pktlen = sizeof(struct rtw_ieee80211_hdr_3addr_qos);
+ } else {
+ SetFrameSubType(pframe, WIFI_DATA_NULL);
+
+ pktlen = sizeof(struct rtw_ieee80211_hdr_3addr);
+ }
+
+ *pLength = pktlen;
+}
+
+void ConstructProbeRsp(_adapter *padapter, u8 *pframe, u32 *pLength, u8 *StaAddr, BOOLEAN bHideSSID)
+{
+ struct rtw_ieee80211_hdr *pwlanhdr;
+ u16 *fctrl;
+ u8 *mac, *bssid;
+ u32 pktlen;
+ struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
+ struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
+ WLAN_BSSID_EX *cur_network = &(pmlmeinfo->network);
+
+
+ //DBG_871X("%s\n", __FUNCTION__);
+
+ pwlanhdr = (struct rtw_ieee80211_hdr *)pframe;
+
+ mac = myid(&(padapter->eeprompriv));
+ bssid = cur_network->MacAddress;
+
+ fctrl = &(pwlanhdr->frame_ctl);
+ *(fctrl) = 0;
+ _rtw_memcpy(pwlanhdr->addr1, StaAddr, ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr2, mac, ETH_ALEN);
+ _rtw_memcpy(pwlanhdr->addr3, bssid, ETH_ALEN);
+
+ SetSeqNum(pwlanhdr, 0);
+ SetFrameSubType(fctrl, WIFI_PROBERSP);
+
+ pktlen = sizeof(struct rtw_ieee80211_hdr_3addr);
+ pframe += pktlen;
+
+ if(cur_network->IELength>MAX_IE_SZ)
+ return;
+
+ _rtw_memcpy(pframe, cur_network->IEs, cur_network->IELength);
+ pframe += cur_network->IELength;
+ pktlen += cur_network->IELength;
+
+ *pLength = pktlen;
+}
+
+// To check if reserved page content is destroyed by beacon beacuse beacon is too large.
+// 2010.06.23. Added by tynli.
+VOID
+CheckFwRsvdPageContent(
+ IN PADAPTER Adapter
+)
+{
+ HAL_DATA_TYPE* pHalData = GET_HAL_DATA(Adapter);
+ u32 MaxBcnPageNum;
+
+ if(pHalData->FwRsvdPageStartOffset != 0)
+ {
+ /*MaxBcnPageNum = PageNum_128(pMgntInfo->MaxBeaconSize);
+ RT_ASSERT((MaxBcnPageNum <= pHalData->FwRsvdPageStartOffset),
+ ("CheckFwRsvdPageContent(): The reserved page content has been"\
+ "destroyed by beacon!!! MaxBcnPageNum(%d) FwRsvdPageStartOffset(%d)\n!",
+ MaxBcnPageNum, pHalData->FwRsvdPageStartOffset));*/
+ }
+}
+
+//
+// Description: Fill the reserved packets that FW will use to RSVD page.
+// Now we just send 4 types packet to rsvd page.
+// (1)Beacon, (2)Ps-poll, (3)Null data, (4)ProbeRsp.
+// Input:
+// bDLFinished - FALSE: At the first time we will send all the packets as a large packet to Hw,
+// so we need to set the packet length to total lengh.
+// TRUE: At the second time, we should send the first packet (default:beacon)
+// to Hw again and set the lengh in descriptor to the real beacon lengh.
+// 2009.10.15 by tynli.
+static void SetFwRsvdPagePkt(PADAPTER padapter, BOOLEAN bDLFinished)
+{
+ PHAL_DATA_TYPE pHalData;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
+ struct xmit_priv *pxmitpriv;
+ struct mlme_ext_priv *pmlmeext;
+ struct mlme_ext_info *pmlmeinfo;
+ u32 BeaconLength, ProbeRspLength, PSPollLength;
+ u32 NullDataLength, QosNullLength, BTQosNullLength;
+ u8 *ReservedPagePacket;
+ u8 PageNum, PageNeed, TxDescLen;
+ u16 BufIndex;
+ u32 TotalPacketLen;
+ RSVDPAGE_LOC RsvdPageLoc;
+
+
+ DBG_871X("%s\n", __FUNCTION__);
+
+ ReservedPagePacket = (u8*)rtw_zmalloc(1000);
+ if (ReservedPagePacket == NULL) {
+ DBG_871X("%s: alloc ReservedPagePacket fail!\n", __FUNCTION__);
+ return;
+ }
+
+ pHalData = GET_HAL_DATA(padapter);
+ pxmitpriv = &padapter->xmitpriv;
+ pmlmeext = &padapter->mlmeextpriv;
+ pmlmeinfo = &pmlmeext->mlmext_info;
+
+ TxDescLen = TXDESC_SIZE;
+ PageNum = 0;
+
+ //3 (1) beacon
+ BufIndex = TXDESC_OFFSET;
+ ConstructBeacon(padapter, &ReservedPagePacket[BufIndex], &BeaconLength);
+
+ // When we count the first page size, we need to reserve description size for the RSVD
+ // packet, it will be filled in front of the packet in TXPKTBUF.
+ PageNeed = (u8)PageNum_128(TxDescLen + BeaconLength);
+ // To reserved 2 pages for beacon buffer. 2010.06.24.
+ if (PageNeed == 1)
+ PageNeed += 1;
+ PageNum += PageNeed;
+ pHalData->FwRsvdPageStartOffset = PageNum;
+
+ BufIndex += PageNeed*128;
+
+ //3 (2) ps-poll
+ RsvdPageLoc.LocPsPoll = PageNum;
+ ConstructPSPoll(padapter, &ReservedPagePacket[BufIndex], &PSPollLength);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], PSPollLength, _TRUE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + PSPollLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+
+ //3 (3) null data
+ RsvdPageLoc.LocNullData = PageNum;
+ ConstructNullFunctionData(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &NullDataLength,
+ get_my_bssid(&pmlmeinfo->network),
+ _FALSE, 0, 0, _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], NullDataLength, _FALSE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + NullDataLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+
+ //3 (4) probe response
+ RsvdPageLoc.LocProbeRsp = PageNum;
+ ConstructProbeRsp(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &ProbeRspLength,
+ get_my_bssid(&pmlmeinfo->network),
+ _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], ProbeRspLength, _FALSE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + ProbeRspLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+
+ //3 (5) Qos null data
+ RsvdPageLoc.LocQosNull = PageNum;
+ ConstructNullFunctionData(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &QosNullLength,
+ get_my_bssid(&pmlmeinfo->network),
+ _TRUE, 0, 0, _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], QosNullLength, _FALSE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + QosNullLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+
+ //3 (6) BT Qos null data
+ RsvdPageLoc.LocBTQosNull = PageNum;
+ ConstructNullFunctionData(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &BTQosNullLength,
+ get_my_bssid(&pmlmeinfo->network),
+ _TRUE, 0, 0, _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], BTQosNullLength, _FALSE, _TRUE);
+
+ TotalPacketLen = BufIndex + BTQosNullLength;
+
+ pmgntframe = alloc_mgtxmitframe(pxmitpriv);
+ if (pmgntframe == NULL)
+ goto exit;
+
+ // update attribute
+ pattrib = &pmgntframe->attrib;
+ update_mgntframe_attrib(padapter, pattrib);
+ pattrib->qsel = 0x10;
+ pattrib->pktlen = pattrib->last_txcmdsz = TotalPacketLen - TXDESC_OFFSET;
+ _rtw_memcpy(pmgntframe->buf_addr, ReservedPagePacket, TotalPacketLen);
+
+ rtw_hal_mgnt_xmit(padapter, pmgntframe);
+
+ DBG_871X("%s: Set RSVD page location to Fw\n", __FUNCTION__);
+ FillH2CCmd(padapter, RSVD_PAGE_EID, sizeof(RsvdPageLoc), (u8*)&RsvdPageLoc);
+
+exit:
+ rtw_mfree(ReservedPagePacket, 1000);
+}
+
+void rtl8723a_set_FwJoinBssReport_cmd(PADAPTER padapter, u8 mstatus)
+{
+ JOINBSSRPT_PARM JoinBssRptParm;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
+ struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
+
+_func_enter_;
+
+ DBG_871X("%s mstatus(%x)\n", __FUNCTION__,mstatus);
+
+ if(mstatus == 1)
+ {
+ BOOLEAN bRecover = _FALSE;
+ u8 v8;
+
+ // We should set AID, correct TSF, HW seq enable before set JoinBssReport to Fw in 88/92C.
+ // Suggested by filen. Added by tynli.
+ rtw_write16(padapter, REG_BCN_PSR_RPT, (0xC000|pmlmeinfo->aid));
+ // Do not set TSF again here or vWiFi beacon DMA INT will not work.
+ //correct_TSF(padapter, pmlmeext);
+ // Hw sequende enable by dedault. 2010.06.23. by tynli.
+ //rtw_write16(padapter, REG_NQOS_SEQ, ((pmlmeext->mgnt_seq+100)&0xFFF));
+ //rtw_write8(padapter, REG_HWSEQ_CTRL, 0xFF);
+
+ // set REG_CR bit 8
+ v8 = rtw_read8(padapter, REG_CR+1);
+ v8 |= BIT(0); // ENSWBCN
+ rtw_write8(padapter, REG_CR+1, v8);
+
+ // Disable Hw protection for a time which revserd for Hw sending beacon.
+ // Fix download reserved page packet fail that access collision with the protection time.
+ // 2010.05.11. Added by tynli.
+// SetBcnCtrlReg(padapter, 0, BIT(3));
+// SetBcnCtrlReg(padapter, BIT(4), 0);
+ SetBcnCtrlReg(padapter, BIT(4), BIT(3));
+
+ // Set FWHW_TXQ_CTRL 0x422[6]=0 to tell Hw the packet is not a real beacon frame.
+ if (pHalData->RegFwHwTxQCtrl & BIT(6))
+ bRecover = _TRUE;
+
+ // To tell Hw the packet is not a real beacon frame.
+ //U1bTmp = rtw_read8(padapter, REG_FWHW_TXQ_CTRL+2);
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl & ~BIT(6));
+ pHalData->RegFwHwTxQCtrl &= ~BIT(6);
+ SetFwRsvdPagePkt(padapter, 0);
+
+ // 2010.05.11. Added by tynli.
+// SetBcnCtrlReg(padapter, BIT3, 0);
+// SetBcnCtrlReg(padapter, 0, BIT4);
+ SetBcnCtrlReg(padapter, BIT(3), BIT(4));
+
+ // To make sure that if there exists an adapter which would like to send beacon.
+ // If exists, the origianl value of 0x422[6] will be 1, we should check this to
+ // prevent from setting 0x422[6] to 0 after download reserved page, or it will cause
+ // the beacon cannot be sent by HW.
+ // 2010.06.23. Added by tynli.
+ if(bRecover)
+ {
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl | BIT(6));
+ pHalData->RegFwHwTxQCtrl |= BIT(6);
+ }
+
+ // Clear CR[8] or beacon packet will not be send to TxBuf anymore.
+ v8 = rtw_read8(padapter, REG_CR+1);
+ v8 &= ~BIT(0); // ~ENSWBCN
+ rtw_write8(padapter, REG_CR+1, v8);
+ }
+
+ JoinBssRptParm.OpMode = mstatus;
+
+ FillH2CCmd(padapter, JOINBSS_RPT_EID, sizeof(JoinBssRptParm), (u8 *)&JoinBssRptParm);
+
+_func_exit_;
+}
+
+#ifdef CONFIG_BT_COEXIST
+static void SetFwRsvdPagePkt_BTCoex(PADAPTER padapter)
+{
+ PHAL_DATA_TYPE pHalData;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
+ struct xmit_priv *pxmitpriv;
+ struct mlme_ext_priv *pmlmeext;
+ struct mlme_ext_info *pmlmeinfo;
+ u8 fakemac[6]={0x00,0xe0,0x4c,0x00,0x00,0x00};
+ u32 BeaconLength, ProbeRspLength, PSPollLength;
+ u32 NullDataLength, QosNullLength, BTQosNullLength;
+ u8 *ReservedPagePacket;
+ u8 PageNum, PageNeed, TxDescLen;
+ u16 BufIndex;
+ u32 TotalPacketLen;
+ RSVDPAGE_LOC RsvdPageLoc;
+
+
+ DBG_871X("+%s\n", __FUNCTION__);
+
+ ReservedPagePacket = (u8*)rtw_zmalloc(1024);
+ if (ReservedPagePacket == NULL) {
+ DBG_871X("%s: alloc ReservedPagePacket fail!\n", __FUNCTION__);
+ return;
+ }
+
+ pHalData = GET_HAL_DATA(padapter);
+ pxmitpriv = &padapter->xmitpriv;
+ pmlmeext = &padapter->mlmeextpriv;
+ pmlmeinfo = &pmlmeext->mlmext_info;
+
+ TxDescLen = TXDESC_SIZE;
+ PageNum = 0;
+
+ //3 (1) beacon
+ BufIndex = TXDESC_OFFSET;
+#if 0
+ ConstructBeacon(padapter, &ReservedPagePacket[BufIndex], &BeaconLength);
+
+ // When we count the first page size, we need to reserve description size for the RSVD
+ // packet, it will be filled in front of the packet in TXPKTBUF.
+ PageNeed = (u8)PageNum_128(TxDescLen + BeaconLength);
+ // To reserved 2 pages for beacon buffer. 2010.06.24.
+ if (PageNeed == 1)
+ PageNeed += 1;
+#else
+ // skip Beacon Packet
+ PageNeed = 3;
+#endif
+
+ PageNum += PageNeed;
+ pHalData->FwRsvdPageStartOffset = PageNum;
+
+ BufIndex += PageNeed*128;
+
+ //3 (2) ps-poll
+#if 0 // skip
+ RsvdPageLoc.LocPsPoll = PageNum;
+ ConstructPSPoll(padapter, &ReservedPagePacket[BufIndex], &PSPollLength);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], PSPollLength, _TRUE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + PSPollLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+#endif
+
+ //3 (3) null data
+ RsvdPageLoc.LocNullData = PageNum;
+ ConstructNullFunctionData(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &NullDataLength,
+ fakemac,
+ _FALSE, 0, 0, _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], NullDataLength, _FALSE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + NullDataLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+
+ //3 (4) probe response
+#if 0 // skip
+ RsvdPageLoc.LocProbeRsp = PageNum;
+ ConstructProbeRsp(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &ProbeRspLength,
+ get_my_bssid(&pmlmeinfo->network),
+ _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], ProbeRspLength, _FALSE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + ProbeRspLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+#endif
+
+ //3 (5) Qos null data
+#if 0 // skip
+ RsvdPageLoc.LocQosNull = PageNum;
+ ConstructNullFunctionData(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &QosNullLength,
+ get_my_bssid(&pmlmeinfo->network),
+ _TRUE, 0, 0, _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], QosNullLength, _FALSE, _FALSE);
+
+ PageNeed = (u8)PageNum_128(TxDescLen + QosNullLength);
+ PageNum += PageNeed;
+
+ BufIndex += PageNeed*128;
+#endif
+
+ //3 (6) BT Qos null data
+ RsvdPageLoc.LocBTQosNull = PageNum;
+ ConstructNullFunctionData(
+ padapter,
+ &ReservedPagePacket[BufIndex],
+ &BTQosNullLength,
+ fakemac,
+ _TRUE, 0, 0, _FALSE);
+ rtl8723a_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], BTQosNullLength, _FALSE, _TRUE);
+
+ TotalPacketLen = BufIndex + BTQosNullLength;
+
+ pmgntframe = alloc_mgtxmitframe(pxmitpriv);
+ if (pmgntframe == NULL)
+ goto exit;
+
+ // update attribute
+ pattrib = &pmgntframe->attrib;
+ update_mgntframe_attrib(padapter, pattrib);
+ pattrib->qsel = 0x10;
+ pattrib->pktlen = pattrib->last_txcmdsz = TotalPacketLen - TXDESC_OFFSET;
+ _rtw_memcpy(pmgntframe->buf_addr, ReservedPagePacket, TotalPacketLen);
+
+ rtw_hal_mgnt_xmit(padapter, pmgntframe);
+
+ DBG_8192C("%s: Set RSVD page location to Fw\n", __FUNCTION__);
+ FillH2CCmd(padapter, RSVD_PAGE_EID, sizeof(RsvdPageLoc), (u8*)&RsvdPageLoc);
+
+exit:
+ rtw_mfree(ReservedPagePacket, 1024);
+}
+
+void rtl8723a_set_BTCoex_AP_mode_FwRsvdPkt_cmd(PADAPTER padapter)
+{
+ PHAL_DATA_TYPE pHalData;
+ u8 bRecover = _FALSE;
+
+
+ DBG_8192C("+%s\n", __FUNCTION__);
+
+ pHalData = GET_HAL_DATA(padapter);
+
+ // Set FWHW_TXQ_CTRL 0x422[6]=0 to tell Hw the packet is not a real beacon frame.
+ if (pHalData->RegFwHwTxQCtrl & BIT(6))
+ bRecover = _TRUE;
+
+ // To tell Hw the packet is not a real beacon frame.
+ pHalData->RegFwHwTxQCtrl &= ~BIT(6);
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl);
+ SetFwRsvdPagePkt_BTCoex(padapter);
+
+ // To make sure that if there exists an adapter which would like to send beacon.
+ // If exists, the origianl value of 0x422[6] will be 1, we should check this to
+ // prevent from setting 0x422[6] to 0 after download reserved page, or it will cause
+ // the beacon cannot be sent by HW.
+ // 2010.06.23. Added by tynli.
+ if (bRecover)
+ {
+ pHalData->RegFwHwTxQCtrl |= BIT(6);
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl);
+ }
+}
+#endif
+
+#ifdef CONFIG_P2P_PS
+void rtl8192c_set_p2p_ps_offload_cmd(_adapter* padapter, u8 p2p_ps_state)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
+ struct wifidirect_info *pwdinfo = &( padapter->wdinfo );
+ struct P2P_PS_Offload_t *p2p_ps_offload = &pHalData->p2p_ps_offload;
+ u8 i;
+
+_func_enter_;
+
+ switch(p2p_ps_state)
+ {
+ case P2P_PS_DISABLE:
+ DBG_8192C("P2P_PS_DISABLE \n");
+ _rtw_memset(p2p_ps_offload, 0 ,1);
+ break;
+ case P2P_PS_ENABLE:
+ DBG_8192C("P2P_PS_ENABLE \n");
+ // update CTWindow value.
+ if( pwdinfo->ctwindow > 0 )
+ {
+ p2p_ps_offload->CTWindow_En = 1;
+ rtw_write8(padapter, REG_P2P_CTWIN, pwdinfo->ctwindow);
+ }
+
+ // hw only support 2 set of NoA
+ for( i=0 ; i<pwdinfo->noa_num ; i++)
+ {
+ // To control the register setting for which NOA
+ rtw_write8(padapter, REG_NOA_DESC_SEL, (i << 4));
+ if(i == 0)
+ p2p_ps_offload->NoA0_En = 1;
+ else
+ p2p_ps_offload->NoA1_En = 1;
+
+ // config P2P NoA Descriptor Register
+ //DBG_8192C("%s(): noa_duration = %x\n",__FUNCTION__,pwdinfo->noa_duration[i]);
+ rtw_write32(padapter, REG_NOA_DESC_DURATION, pwdinfo->noa_duration[i]);
+
+ //DBG_8192C("%s(): noa_interval = %x\n",__FUNCTION__,pwdinfo->noa_interval[i]);
+ rtw_write32(padapter, REG_NOA_DESC_INTERVAL, pwdinfo->noa_interval[i]);
+
+ //DBG_8192C("%s(): start_time = %x\n",__FUNCTION__,pwdinfo->noa_start_time[i]);
+ rtw_write32(padapter, REG_NOA_DESC_START, pwdinfo->noa_start_time[i]);
+
+ //DBG_8192C("%s(): noa_count = %x\n",__FUNCTION__,pwdinfo->noa_count[i]);
+ rtw_write8(padapter, REG_NOA_DESC_COUNT, pwdinfo->noa_count[i]);
+ }
+
+ if( (pwdinfo->opp_ps == 1) || (pwdinfo->noa_num > 0) )
+ {
+ // rst p2p circuit
+ rtw_write8(padapter, REG_DUAL_TSF_RST, BIT(4));
+
+ p2p_ps_offload->Offload_En = 1;
+
+ if(rtw_p2p_chk_role(pwdinfo, P2P_ROLE_GO))
+ {
+ p2p_ps_offload->role= 1;
+ p2p_ps_offload->AllStaSleep = 0;
+ }
+ else
+ {
+ p2p_ps_offload->role= 0;
+ }
+
+ p2p_ps_offload->discovery = 0;
+ }
+ break;
+ case P2P_PS_SCAN:
+ DBG_8192C("P2P_PS_SCAN \n");
+ p2p_ps_offload->discovery = 1;
+ break;
+ case P2P_PS_SCAN_DONE:
+ DBG_8192C("P2P_PS_SCAN_DONE \n");
+ p2p_ps_offload->discovery = 0;
+ pwdinfo->p2p_ps_state = P2P_PS_ENABLE;
+ break;
+ default:
+ break;
+ }
+
+ FillH2CCmd(padapter, P2P_PS_OFFLOAD_EID, 1, (u8 *)p2p_ps_offload);
+
+_func_exit_;
+
+}
+#endif //CONFIG_P2P_PS
+
+#ifdef CONFIG_IOL
+#include <rtw_iol.h>
+#ifdef CONFIG_USB_HCI
+#include <usb_ops.h>
+#endif
+int rtl8192c_IOL_exec_cmds_sync(ADAPTER *adapter, struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt)
+{
+ IO_OFFLOAD_LOC IoOffloadLoc;
+ u32 start_time = rtw_get_current_time();
+ u32 passing_time_ms;
+ u8 polling_ret;
+ int ret = _FAIL;
+
+ if (rtw_IOL_append_END_cmd(xmit_frame) != _SUCCESS)
+ goto exit;
+#ifdef CONFIG_USB_HCI
+ {
+ struct pkt_attrib *pattrib = &xmit_frame->attrib;
+ if(rtw_usb_bulk_size_boundary(adapter,TXDESC_SIZE+pattrib->last_txcmdsz))
+ {
+ if (rtw_IOL_append_END_cmd(xmit_frame) != _SUCCESS)
+ goto exit;
+ }
+ }
+#endif //CONFIG_USB_HCI
+
+
+ dump_mgntframe_and_wait(adapter, xmit_frame, max_wating_ms);
+
+ IoOffloadLoc.LocCmd = 0;
+ if(_SUCCESS != FillH2CCmd(adapter, H2C_92C_IO_OFFLOAD, sizeof(IO_OFFLOAD_LOC), (u8 *)&IoOffloadLoc))
+ goto exit;
+
+ //polling if the IO offloading is done
+ while( (passing_time_ms=rtw_get_passing_time_ms(start_time)) <= max_wating_ms) {
+ #if 0 //C2H
+ if(0xff == rtw_read8(adapter, REG_C2HEVT_CLEAR))
+ break;
+ #else// 0x1c3
+ if(0x00 != (polling_ret=rtw_read8(adapter, 0x1c3)))
+ break;
+ #endif
+ rtw_msleep_os(5);
+ }
+ #if 0 //debug
+ DBG_871X("IOL %s, polling_ret:0x%02x, 0x1c0=0x%08x, 0x1c4=0x%08x, 0x1cc=0x%08x, 0x1e8=0x%08x, 0x130=0x%08x, 0x134=0x%08x\n"
+ , polling_ret==0xff?"success":"error"
+ , polling_ret
+ , rtw_read32(adapter, 0x1c0)
+ , rtw_read32(adapter, 0x1c4)
+ , rtw_read32(adapter, 0x1cc)
+ , rtw_read32(adapter, 0x1e8)
+ , rtw_read32(adapter, 0x130)
+ , rtw_read32(adapter, 0x134)
+ );
+ rtw_write32(adapter, 0x1c0, 0x0);
+ #endif
+
+ if(polling_ret == 0xff)
+ ret =_SUCCESS;
+ else {
+ DBG_871X("IOL %s, polling_ret:0x%02x\n"
+ //", 0x1c0=0x%08x, 0x1c4=0x%08x, 0x1cc=0x%08x, 0x1e8=0x%08x, 0x130=0x%08x, 0x134=0x%08x\n"
+ , polling_ret==0xff?"success":"error"
+ , polling_ret
+ //, rtw_read32(adapter, 0x1c0)
+ //, rtw_read32(adapter, 0x1c4)
+ //, rtw_read32(adapter, 0x1cc)
+ //, rtw_read32(adapter, 0x1e8)
+ //, rtw_read32(adapter, 0x130)
+ //, rtw_read32(adapter, 0x134)
+ );
+ #if 0 //debug
+ rtw_write16(adapter, 0x1c4, 0x0000);
+ rtw_msleep_os(10);
+ DBG_871X("after reset, 0x1c4=0x%08x\n", rtw_read32(adapter, 0x1c4));
+ #endif
+
+ }
+
+ {
+ #if 0 //C2H
+ u32 c2h_evt;
+ int i;
+ c2h_evt = rtw_read32(adapter, REG_C2HEVT_MSG_NORMAL);
+ DBG_871X("%s io-offloading complete, in %ums: 0x%08x\n", __FUNCTION__, passing_time_ms, c2h_evt);
+ rtw_write8(adapter, REG_C2HEVT_CLEAR, 0x0);
+ #else// 0x1c3
+ //DBG_871X("%s IOF complete in %ums\n", __FUNCTION__, passing_time_ms);
+ rtw_write8(adapter, 0x1c3, 0x0);
+ #endif
+ }
+
+exit:
+ return ret;
+
+}
+#endif //CONFIG_IOL
+
+#ifdef CONFIG_TSF_RESET_OFFLOAD
+/*
+ ask FW to Reset sync register at Beacon early interrupt
+*/
+u8 rtl8723c_reset_tsf(_adapter *padapter, u8 reset_port )
+{
+ u8 buf[2];
+ u8 res=_SUCCESS;
+
+_func_enter_;
+ if (IFACE_PORT0==reset_port) {
+ buf[0] = 0x1; buf[1] = 0;
+
+ } else{
+ buf[0] = 0x0; buf[1] = 0x1;
+ }
+ FillH2CCmd(padapter, H2C_RESET_TSF, 2, buf);
+_func_exit_;
+
+ return res;
+}
+#endif // CONFIG_TSF_RESET_OFFLOAD
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_dm.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_dm.c index 6d82a0f7ab9a..bab4925b0959 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_dm.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_dm.c @@ -1,578 +1,581 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -//============================================================ -// Description: -// -// This file is for 92CE/92CU dynamic mechanism only -// -// -//============================================================ -#define _RTL8723A_DM_C_ - -//============================================================ -// include files -//============================================================ -#include <drv_conf.h> -#include <osdep_service.h> -#include <drv_types.h> -#include <rtw_byteorder.h> - -#include <rtl8723a_hal.h> - -//============================================================ -// Global var -//============================================================ - - -static VOID -dm_CheckProtection( - IN PADAPTER Adapter - ) -{ -#if 0 - PMGNT_INFO pMgntInfo = &(Adapter->MgntInfo); - u1Byte CurRate, RateThreshold; - - if(pMgntInfo->pHTInfo->bCurBW40MHz) - RateThreshold = MGN_MCS1; - else - RateThreshold = MGN_MCS3; - - if(Adapter->TxStats.CurrentInitTxRate <= RateThreshold) - { - pMgntInfo->bDmDisableProtect = TRUE; - DbgPrint("Forced disable protect: %x\n", Adapter->TxStats.CurrentInitTxRate); - } - else - { - pMgntInfo->bDmDisableProtect = FALSE; - DbgPrint("Enable protect: %x\n", Adapter->TxStats.CurrentInitTxRate); - } -#endif -} - -static VOID -dm_CheckStatistics( - IN PADAPTER Adapter - ) -{ -#if 0 - if(!Adapter->MgntInfo.bMediaConnect) - return; - - //2008.12.10 tynli Add for getting Current_Tx_Rate_Reg flexibly. - rtw_hal_get_hwreg( Adapter, HW_VAR_INIT_TX_RATE, (pu1Byte)(&Adapter->TxStats.CurrentInitTxRate) ); - - // Calculate current Tx Rate(Successful transmited!!) - - // Calculate current Rx Rate(Successful received!!) - - //for tx tx retry count - rtw_hal_get_hwreg( Adapter, HW_VAR_RETRY_COUNT, (pu1Byte)(&Adapter->TxStats.NumTxRetryCount) ); -#endif -} - -static void dm_CheckPbcGPIO(_adapter *padapter) -{ - u8 tmp1byte; - u8 bPbcPressed = _FALSE; - - if(!padapter->registrypriv.hw_wps_pbc) - return; - -#ifdef CONFIG_USB_HCI - tmp1byte = rtw_read8(padapter, GPIO_IO_SEL); - tmp1byte |= (HAL_8192C_HW_GPIO_WPS_BIT); - rtw_write8(padapter, GPIO_IO_SEL, tmp1byte); //enable GPIO[2] as output mode - - tmp1byte &= ~(HAL_8192C_HW_GPIO_WPS_BIT); - rtw_write8(padapter, GPIO_IN, tmp1byte); //reset the floating voltage level - - tmp1byte = rtw_read8(padapter, GPIO_IO_SEL); - tmp1byte &= ~(HAL_8192C_HW_GPIO_WPS_BIT); - rtw_write8(padapter, GPIO_IO_SEL, tmp1byte); //enable GPIO[2] as input mode - - tmp1byte =rtw_read8(padapter, GPIO_IN); - - if (tmp1byte == 0xff) - return ; - - if (tmp1byte&HAL_8192C_HW_GPIO_WPS_BIT) - { - bPbcPressed = _TRUE; - } -#else - tmp1byte = rtw_read8(padapter, GPIO_IN); - //RT_TRACE(COMP_IO, DBG_TRACE, ("dm_CheckPbcGPIO - %x\n", tmp1byte)); - - if (tmp1byte == 0xff || padapter->init_adpt_in_progress) - return ; - - if((tmp1byte&HAL_8192C_HW_GPIO_WPS_BIT)==0) - { - bPbcPressed = _TRUE; - } -#endif - - if( _TRUE == bPbcPressed) - { - // Here we only set bPbcPressed to true - // After trigger PBC, the variable will be set to false - DBG_8192C("CheckPbcGPIO - PBC is pressed\n"); - -#ifdef RTK_DMP_PLATFORM -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)) - kobject_uevent(&padapter->pnetdev->dev.kobj, KOBJ_NET_PBC); -#else - kobject_hotplug(&padapter->pnetdev->class_dev.kobj, KOBJ_NET_PBC); -#endif -#else - - if ( padapter->pid[0] == 0 ) - { // 0 is the default value and it means the application monitors the HW PBC doesn't privde its pid to driver. - return; - } - -#ifdef PLATFORM_LINUX - rtw_signal_process(padapter->pid[0], SIGUSR1); -#endif -#endif - } -} - -#ifdef CONFIG_PCI_HCI -// -// Description: -// Perform interrupt migration dynamically to reduce CPU utilization. -// -// Assumption: -// 1. Do not enable migration under WIFI test. -// -// Created by Roger, 2010.03.05. -// -VOID -dm_InterruptMigration( - IN PADAPTER Adapter - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - struct mlme_priv *pmlmepriv = &(Adapter->mlmepriv); - BOOLEAN bCurrentIntMt, bCurrentACIntDisable; - BOOLEAN IntMtToSet = _FALSE; - BOOLEAN ACIntToSet = _FALSE; - - - // Retrieve current interrupt migration and Tx four ACs IMR settings first. - bCurrentIntMt = pHalData->bInterruptMigration; - bCurrentACIntDisable = pHalData->bDisableTxInt; - - // - // <Roger_Notes> Currently we use busy traffic for reference instead of RxIntOK counts to prevent non-linear Rx statistics - // when interrupt migration is set before. 2010.03.05. - // - if(!Adapter->registrypriv.wifi_spec && - (check_fwstate(pmlmepriv, _FW_LINKED)== _TRUE) && - pmlmepriv->LinkDetectInfo.bHigherBusyTraffic) - { - IntMtToSet = _TRUE; - - // To check whether we should disable Tx interrupt or not. - if(pmlmepriv->LinkDetectInfo.bHigherBusyRxTraffic ) - ACIntToSet = _TRUE; - } - - //Update current settings. - if( bCurrentIntMt != IntMtToSet ){ - DBG_8192C("%s(): Update interrrupt migration(%d)\n",__FUNCTION__,IntMtToSet); - if(IntMtToSet) - { - // - // <Roger_Notes> Set interrrupt migration timer and corresponging Tx/Rx counter. - // timer 25ns*0xfa0=100us for 0xf packets. - // 2010.03.05. - // - rtw_write32(Adapter, REG_INT_MIG, 0xff000fa0);// 0x306:Rx, 0x307:Tx - pHalData->bInterruptMigration = IntMtToSet; - } - else - { - // Reset all interrupt migration settings. - rtw_write32(Adapter, REG_INT_MIG, 0); - pHalData->bInterruptMigration = IntMtToSet; - } - } - - /*if( bCurrentACIntDisable != ACIntToSet ){ - DBG_8192C("%s(): Update AC interrrupt(%d)\n",__FUNCTION__,ACIntToSet); - if(ACIntToSet) // Disable four ACs interrupts. - { - // - // <Roger_Notes> Disable VO, VI, BE and BK four AC interrupts to gain more efficient CPU utilization. - // When extremely highly Rx OK occurs, we will disable Tx interrupts. - // 2010.03.05. - // - UpdateInterruptMask8192CE( Adapter, 0, RT_AC_INT_MASKS ); - pHalData->bDisableTxInt = ACIntToSet; - } - else// Enable four ACs interrupts. - { - UpdateInterruptMask8192CE( Adapter, RT_AC_INT_MASKS, 0 ); - pHalData->bDisableTxInt = ACIntToSet; - } - }*/ - -} - -#endif - -// -// Initialize GPIO setting registers -// -static void -dm_InitGPIOSetting( - IN PADAPTER Adapter - ) -{ - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); - - u8 tmp1byte; - - tmp1byte = rtw_read8(Adapter, REG_GPIO_MUXCFG); - tmp1byte &= (GPIOSEL_GPIO | ~GPIOSEL_ENBT); - - rtw_write8(Adapter, REG_GPIO_MUXCFG, tmp1byte); -} -//============================================================ -// functions -//============================================================ -static void Init_ODM_ComInfo_8723a(PADAPTER Adapter) -{ - - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - u8 cut_ver,fab_ver; - - // - // Init Value - // - _rtw_memset(pDM_Odm,0,sizeof(pDM_Odm)); - - pDM_Odm->Adapter = Adapter; - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_PLATFORM,ODM_CE); - if(Adapter->interface_type == RTW_GSPI ) - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_INTERFACE,ODM_ITRF_SDIO); - else - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_INTERFACE,Adapter->interface_type);//RTL871X_HCI_TYPE - - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_IC_TYPE,ODM_RTL8723A); - - - if(IS_8723A_A_CUT(pHalData->VersionID)) - { - fab_ver = ODM_UMC; - cut_ver = ODM_CUT_A; - } - else if(IS_8723A_B_CUT(pHalData->VersionID)) - { - fab_ver = ODM_UMC; - cut_ver = ODM_CUT_B; - } - else - { - fab_ver = ODM_TSMC; - cut_ver = ODM_CUT_A; - } - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_FAB_VER,fab_ver); - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_CUT_VER,cut_ver); - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_MP_TEST_CHIP,IS_NORMAL_CHIP(pHalData->VersionID)); - -#ifdef CONFIG_USB_HCI - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_BOARD_TYPE,pHalData->BoardType); - - if(pHalData->BoardType == BOARD_USB_High_PA){ - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_EXT_LNA,_TRUE); - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_EXT_PA,_TRUE); - } -#endif - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_PATCH_ID,pHalData->CustomerID); - // ODM_CMNINFO_BINHCT_TEST only for MP Team - ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_BWIFI_TEST,Adapter->registrypriv.wifi_spec); - - - if(pHalData->rf_type == RF_1T1R){ - ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_RF_TYPE,ODM_1T1R); - } - else if(pHalData->rf_type == RF_2T2R){ - ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_RF_TYPE,ODM_2T2R); - } - else if(pHalData->rf_type == RF_1T2R){ - ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_RF_TYPE,ODM_1T2R); - } -} -static void Update_ODM_ComInfo_8723a(PADAPTER Adapter) -{ - struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv; - struct mlme_priv *pmlmepriv = &Adapter->mlmepriv; - struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv; - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - int i; - pdmpriv->InitODMFlag = ODM_BB_DIG | -#ifdef CONFIG_ODM_REFRESH_RAMASK - ODM_BB_RA_MASK | -#endif - ODM_BB_DYNAMIC_TXPWR | - ODM_BB_FA_CNT | - ODM_BB_RSSI_MONITOR | - ODM_BB_CCK_PD | - ODM_BB_PWR_SAVE | - ODM_MAC_EDCA_TURBO | - ODM_RF_TX_PWR_TRACK | - ODM_RF_CALIBRATION ; - // - // Pointer reference - // - //ODM_CMNINFO_MAC_PHY_MODE pHalData->MacPhyMode92D - // ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_MAC_PHY_MODE,&(pDM_Odm->u1Byte_temp)); - - -#ifdef CONFIG_ANTENNA_DIVERSITY - if(pHalData->AntDivCfg) - pdmpriv->InitODMFlag |= ODM_BB_ANT_DIV; -#endif - -#if (MP_DRIVER==1) - if (Adapter->registrypriv.mp_mode == 1) - { - pdmpriv->InitODMFlag = ODM_RF_CALIBRATION | - ODM_RF_TX_PWR_TRACK; - } -#endif//(MP_DRIVER==1) - - ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_ABILITY,pdmpriv->InitODMFlag); - - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_TX_UNI,&(Adapter->xmitpriv.tx_bytes)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_RX_UNI,&(Adapter->recvpriv.rx_bytes)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_WM_MODE,&(pmlmeext->cur_wireless_mode)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_SEC_CHNL_OFFSET,&(pHalData->nCur40MhzPrimeSC)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_SEC_MODE,&(Adapter->securitypriv.dot11PrivacyAlgrthm)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BW,&(pHalData->CurrentChannelBW )); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_CHNL,&( pHalData->CurrentChannel)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_NET_CLOSED,&( Adapter->net_closed)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_MP_MODE,&(Adapter->registrypriv.mp_mode)); - - //================= only for 8192D ================= - /* - //pHalData->CurrentBandType92D - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BAND,&(pDM_Odm->u1Byte_temp)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_DMSP_GET_VALUE,&(pDM_Odm->u1Byte_temp)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BUDDY_ADAPTOR,&(pDM_Odm->PADAPTER_temp)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_DMSP_IS_MASTER,&(pDM_Odm->u1Byte_temp)); - //================= only for 8192D ================= - // driver havn't those variable now - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BT_OPERATION,&(pDM_Odm->u1Byte_temp)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BT_DISABLE_EDCA,&(pDM_Odm->u1Byte_temp)); - */ - - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_SCAN,&(pmlmepriv->bScanInProcess)); - ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_POWER_SAVING,&(pwrctrlpriv->bpower_saving)); - - - for(i=0; i< NUM_STA; i++) - { - //pDM_Odm->pODM_StaInfo[i] = NULL; - ODM_CmnInfoPtrArrayHook(pDM_Odm, ODM_CMNINFO_STA_STATUS,i,NULL); - } -} - -void -rtl8723a_InitHalDm( - IN PADAPTER Adapter - ) -{ - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - - u8 i; - - pdmpriv->DM_Type = DM_Type_ByDriver; - pdmpriv->DMFlag = DYNAMIC_FUNC_DISABLE; - -#ifdef CONFIG_BT_COEXIST - pdmpriv->DMFlag |= DYNAMIC_FUNC_BT; -// btdm_InitBtCoexistDM(Adapter); // Move to BT_CoexistMechanism() -#endif - pdmpriv->InitDMFlag = pdmpriv->DMFlag; - - Update_ODM_ComInfo_8723a(Adapter); - ODM_DMInit(pDM_Odm); - // Save REG_INIDATA_RATE_SEL value for TXDESC. - for(i = 0 ; i<32 ; i++) - { - pdmpriv->INIDATA_RATE[i] = rtw_read8(Adapter, REG_INIDATA_RATE_SEL+i) & 0x3f; - } - -} - -VOID -rtl8723a_HalDmWatchDog( - IN PADAPTER Adapter - ) -{ - BOOLEAN bFwCurrentInPSMode = _FALSE; - BOOLEAN bFwPSAwake = _TRUE; - u8 hw_init_completed = _FALSE; - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; -#ifdef CONFIG_CONCURRENT_MODE - PADAPTER pbuddy_adapter = Adapter->pbuddy_adapter; -#endif //CONFIG_CONCURRENT_MODE - - hw_init_completed = Adapter->hw_init_completed; - - if (hw_init_completed == _FALSE) - goto skip_dm; - -#ifdef CONFIG_LPS - #ifdef CONFIG_CONCURRENT_MODE - if (Adapter->iface_type != IFACE_PORT0 && pbuddy_adapter) { - bFwCurrentInPSMode = pbuddy_adapter->pwrctrlpriv.bFwCurrentInPSMode; - rtw_hal_get_hwreg(pbuddy_adapter, HW_VAR_FWLPS_RF_ON, (u8 *)(&bFwPSAwake)); - } else - #endif //CONFIG_CONCURRENT_MODE - { - bFwCurrentInPSMode = Adapter->pwrctrlpriv.bFwCurrentInPSMode; - rtw_hal_get_hwreg(Adapter, HW_VAR_FWLPS_RF_ON, (u8 *)(&bFwPSAwake)); - } -#endif - -#ifdef CONFIG_P2P_PS - // Fw is under p2p powersaving mode, driver should stop dynamic mechanism. - // modifed by thomas. 2011.06.11. - if(Adapter->wdinfo.p2p_ps_mode) - bFwPSAwake = _FALSE; -#endif //CONFIG_P2P_PS - - if( (hw_init_completed == _TRUE) - && ((!bFwCurrentInPSMode) && bFwPSAwake)) - { - // - // Calculate Tx/Rx statistics. - // - dm_CheckStatistics(Adapter); - - -#ifdef CONFIG_CONCURRENT_MODE - if(Adapter->adapter_type > PRIMARY_ADAPTER) - goto _record_initrate; -#endif - - // - // Dynamically switch RTS/CTS protection. - // - //dm_CheckProtection(Adapter); - -#ifdef CONFIG_PCI_HCI - // 20100630 Joseph: Disable Interrupt Migration mechanism temporarily because it degrades Rx throughput. - // Tx Migration settings. - //dm_InterruptMigration(Adapter); - - //if(Adapter->HalFunc.TxCheckStuckHandler(Adapter)) - // PlatformScheduleWorkItem(&(GET_HAL_DATA(Adapter)->HalResetWorkItem)); -#endif -_record_initrate: - - // Read REG_INIDATA_RATE_SEL value for TXDESC. - if(check_fwstate(&Adapter->mlmepriv, WIFI_STATION_STATE) == _TRUE) - { - pdmpriv->INIDATA_RATE[0] = rtw_read8(Adapter, REG_INIDATA_RATE_SEL) & 0x3f; - } - else - { - u8 i; - for(i=1 ; i < (Adapter->stapriv.asoc_sta_count + 1); i++) - { - pdmpriv->INIDATA_RATE[i] = rtw_read8(Adapter, (REG_INIDATA_RATE_SEL+i)) & 0x3f; - } - } - } - - - //ODM - if (hw_init_completed == _TRUE) - { - u8 bLinked=_FALSE; - - #ifdef CONFIG_DISABLE_ODM - pHalData->odmpriv.SupportAbility = 0; - #endif - - if(rtw_linked_check(Adapter)) - bLinked = _TRUE; - -#ifdef CONFIG_CONCURRENT_MODE - if(pbuddy_adapter && rtw_linked_check(pbuddy_adapter)) - bLinked = _TRUE; -#endif //CONFIG_CONCURRENT_MODE - - ODM_CmnInfoUpdate(&pHalData->odmpriv ,ODM_CMNINFO_LINK, bLinked); - ODM_DMWatchdog(&pHalData->odmpriv); - - } - -skip_dm: - - // Check GPIO to determine current RF on/off and Pbc status. - // Check Hardware Radio ON/OFF or not -#ifdef CONFIG_PCI_HCI - if(pHalData->bGpioHwWpsPbc) -#endif - { - dm_CheckPbcGPIO(Adapter); // Add by hpfan 2008-03-11 - } - -} - -void rtl8723a_init_dm_priv(IN PADAPTER Adapter) -{ - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - PDM_ODM_T podmpriv = &pHalData->odmpriv; - _rtw_memset(pdmpriv, 0, sizeof(struct dm_priv)); - Init_ODM_ComInfo_8723a(Adapter); -#ifdef CONFIG_SW_ANTENNA_DIVERSITY - //_init_timer(&(pdmpriv->SwAntennaSwitchTimer), Adapter->pnetdev , odm_SW_AntennaSwitchCallback, Adapter); - ODM_InitAllTimers(podmpriv ); -#endif -} - -void rtl8723a_deinit_dm_priv(IN PADAPTER Adapter) -{ - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - PDM_ODM_T podmpriv = &pHalData->odmpriv; -#ifdef CONFIG_SW_ANTENNA_DIVERSITY - //_cancel_timer_ex(&pdmpriv->SwAntennaSwitchTimer); - ODM_CancelAllTimers(podmpriv); -#endif -} - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+//============================================================
+// Description:
+//
+// This file is for 92CE/92CU dynamic mechanism only
+//
+//
+//============================================================
+#define _RTL8723A_DM_C_
+
+//============================================================
+// include files
+//============================================================
+#include <drv_conf.h>
+#include <osdep_service.h>
+#include <drv_types.h>
+#include <rtw_byteorder.h>
+
+#include <rtl8723a_hal.h>
+
+//============================================================
+// Global var
+//============================================================
+
+
+static VOID
+dm_CheckProtection(
+ IN PADAPTER Adapter
+ )
+{
+#if 0
+ PMGNT_INFO pMgntInfo = &(Adapter->MgntInfo);
+ u1Byte CurRate, RateThreshold;
+
+ if(pMgntInfo->pHTInfo->bCurBW40MHz)
+ RateThreshold = MGN_MCS1;
+ else
+ RateThreshold = MGN_MCS3;
+
+ if(Adapter->TxStats.CurrentInitTxRate <= RateThreshold)
+ {
+ pMgntInfo->bDmDisableProtect = TRUE;
+ DbgPrint("Forced disable protect: %x\n", Adapter->TxStats.CurrentInitTxRate);
+ }
+ else
+ {
+ pMgntInfo->bDmDisableProtect = FALSE;
+ DbgPrint("Enable protect: %x\n", Adapter->TxStats.CurrentInitTxRate);
+ }
+#endif
+}
+
+static VOID
+dm_CheckStatistics(
+ IN PADAPTER Adapter
+ )
+{
+#if 0
+ if(!Adapter->MgntInfo.bMediaConnect)
+ return;
+
+ //2008.12.10 tynli Add for getting Current_Tx_Rate_Reg flexibly.
+ rtw_hal_get_hwreg( Adapter, HW_VAR_INIT_TX_RATE, (pu1Byte)(&Adapter->TxStats.CurrentInitTxRate) );
+
+ // Calculate current Tx Rate(Successful transmited!!)
+
+ // Calculate current Rx Rate(Successful received!!)
+
+ //for tx tx retry count
+ rtw_hal_get_hwreg( Adapter, HW_VAR_RETRY_COUNT, (pu1Byte)(&Adapter->TxStats.NumTxRetryCount) );
+#endif
+}
+
+static void dm_CheckPbcGPIO(_adapter *padapter)
+{
+ u8 tmp1byte;
+ u8 bPbcPressed = _FALSE;
+
+ if(!padapter->registrypriv.hw_wps_pbc)
+ return;
+
+#ifdef CONFIG_USB_HCI
+ tmp1byte = rtw_read8(padapter, GPIO_IO_SEL);
+ tmp1byte |= (HAL_8192C_HW_GPIO_WPS_BIT);
+ rtw_write8(padapter, GPIO_IO_SEL, tmp1byte); //enable GPIO[2] as output mode
+
+ tmp1byte &= ~(HAL_8192C_HW_GPIO_WPS_BIT);
+ rtw_write8(padapter, GPIO_IN, tmp1byte); //reset the floating voltage level
+
+ tmp1byte = rtw_read8(padapter, GPIO_IO_SEL);
+ tmp1byte &= ~(HAL_8192C_HW_GPIO_WPS_BIT);
+ rtw_write8(padapter, GPIO_IO_SEL, tmp1byte); //enable GPIO[2] as input mode
+
+ tmp1byte =rtw_read8(padapter, GPIO_IN);
+
+ if (tmp1byte == 0xff)
+ return ;
+
+ if (tmp1byte&HAL_8192C_HW_GPIO_WPS_BIT)
+ {
+ bPbcPressed = _TRUE;
+ }
+#else
+ tmp1byte = rtw_read8(padapter, GPIO_IN);
+ //RT_TRACE(COMP_IO, DBG_TRACE, ("dm_CheckPbcGPIO - %x\n", tmp1byte));
+
+ if (tmp1byte == 0xff || padapter->init_adpt_in_progress)
+ return ;
+
+ if((tmp1byte&HAL_8192C_HW_GPIO_WPS_BIT)==0)
+ {
+ bPbcPressed = _TRUE;
+ }
+#endif
+
+ if( _TRUE == bPbcPressed)
+ {
+ // Here we only set bPbcPressed to true
+ // After trigger PBC, the variable will be set to false
+ DBG_8192C("CheckPbcGPIO - PBC is pressed\n");
+
+#ifdef RTK_DMP_PLATFORM
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
+ kobject_uevent(&padapter->pnetdev->dev.kobj, KOBJ_NET_PBC);
+#else
+ kobject_hotplug(&padapter->pnetdev->class_dev.kobj, KOBJ_NET_PBC);
+#endif
+#else
+
+ if ( padapter->pid[0] == 0 )
+ { // 0 is the default value and it means the application monitors the HW PBC doesn't privde its pid to driver.
+ return;
+ }
+
+#ifdef PLATFORM_LINUX
+ rtw_signal_process(padapter->pid[0], SIGUSR1);
+#endif
+#endif
+ }
+}
+
+#ifdef CONFIG_PCI_HCI
+//
+// Description:
+// Perform interrupt migration dynamically to reduce CPU utilization.
+//
+// Assumption:
+// 1. Do not enable migration under WIFI test.
+//
+// Created by Roger, 2010.03.05.
+//
+VOID
+dm_InterruptMigration(
+ IN PADAPTER Adapter
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ struct mlme_priv *pmlmepriv = &(Adapter->mlmepriv);
+ BOOLEAN bCurrentIntMt, bCurrentACIntDisable;
+ BOOLEAN IntMtToSet = _FALSE;
+ BOOLEAN ACIntToSet = _FALSE;
+
+
+ // Retrieve current interrupt migration and Tx four ACs IMR settings first.
+ bCurrentIntMt = pHalData->bInterruptMigration;
+ bCurrentACIntDisable = pHalData->bDisableTxInt;
+
+ //
+ // <Roger_Notes> Currently we use busy traffic for reference instead of RxIntOK counts to prevent non-linear Rx statistics
+ // when interrupt migration is set before. 2010.03.05.
+ //
+ if(!Adapter->registrypriv.wifi_spec &&
+ (check_fwstate(pmlmepriv, _FW_LINKED)== _TRUE) &&
+ pmlmepriv->LinkDetectInfo.bHigherBusyTraffic)
+ {
+ IntMtToSet = _TRUE;
+
+ // To check whether we should disable Tx interrupt or not.
+ if(pmlmepriv->LinkDetectInfo.bHigherBusyRxTraffic )
+ ACIntToSet = _TRUE;
+ }
+
+ //Update current settings.
+ if( bCurrentIntMt != IntMtToSet ){
+ DBG_8192C("%s(): Update interrrupt migration(%d)\n",__FUNCTION__,IntMtToSet);
+ if(IntMtToSet)
+ {
+ //
+ // <Roger_Notes> Set interrrupt migration timer and corresponging Tx/Rx counter.
+ // timer 25ns*0xfa0=100us for 0xf packets.
+ // 2010.03.05.
+ //
+ rtw_write32(Adapter, REG_INT_MIG, 0xff000fa0);// 0x306:Rx, 0x307:Tx
+ pHalData->bInterruptMigration = IntMtToSet;
+ }
+ else
+ {
+ // Reset all interrupt migration settings.
+ rtw_write32(Adapter, REG_INT_MIG, 0);
+ pHalData->bInterruptMigration = IntMtToSet;
+ }
+ }
+
+ /*if( bCurrentACIntDisable != ACIntToSet ){
+ DBG_8192C("%s(): Update AC interrrupt(%d)\n",__FUNCTION__,ACIntToSet);
+ if(ACIntToSet) // Disable four ACs interrupts.
+ {
+ //
+ // <Roger_Notes> Disable VO, VI, BE and BK four AC interrupts to gain more efficient CPU utilization.
+ // When extremely highly Rx OK occurs, we will disable Tx interrupts.
+ // 2010.03.05.
+ //
+ UpdateInterruptMask8192CE( Adapter, 0, RT_AC_INT_MASKS );
+ pHalData->bDisableTxInt = ACIntToSet;
+ }
+ else// Enable four ACs interrupts.
+ {
+ UpdateInterruptMask8192CE( Adapter, RT_AC_INT_MASKS, 0 );
+ pHalData->bDisableTxInt = ACIntToSet;
+ }
+ }*/
+
+}
+
+#endif
+
+//
+// Initialize GPIO setting registers
+//
+static void
+dm_InitGPIOSetting(
+ IN PADAPTER Adapter
+ )
+{
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
+
+ u8 tmp1byte;
+
+ tmp1byte = rtw_read8(Adapter, REG_GPIO_MUXCFG);
+ tmp1byte &= (GPIOSEL_GPIO | ~GPIOSEL_ENBT);
+
+ rtw_write8(Adapter, REG_GPIO_MUXCFG, tmp1byte);
+}
+//============================================================
+// functions
+//============================================================
+static void Init_ODM_ComInfo_8723a(PADAPTER Adapter)
+{
+
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
+ PDM_ODM_T pDM_Odm = &(pHalData->odmpriv);
+ u8 cut_ver,fab_ver;
+
+ //
+ // Init Value
+ //
+ _rtw_memset(pDM_Odm,0,sizeof(pDM_Odm));
+
+ pDM_Odm->Adapter = Adapter;
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_PLATFORM,ODM_CE);
+ if(Adapter->interface_type == RTW_GSPI )
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_INTERFACE,ODM_ITRF_SDIO);
+ else
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_INTERFACE,Adapter->interface_type);//RTL871X_HCI_TYPE
+
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_IC_TYPE,ODM_RTL8723A);
+
+
+ if(IS_8723A_A_CUT(pHalData->VersionID))
+ {
+ fab_ver = ODM_UMC;
+ cut_ver = ODM_CUT_A;
+ }
+ else if(IS_8723A_B_CUT(pHalData->VersionID))
+ {
+ fab_ver = ODM_UMC;
+ cut_ver = ODM_CUT_B;
+ }
+ else
+ {
+ fab_ver = ODM_TSMC;
+ cut_ver = ODM_CUT_A;
+ }
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_FAB_VER,fab_ver);
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_CUT_VER,cut_ver);
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_MP_TEST_CHIP,IS_NORMAL_CHIP(pHalData->VersionID));
+
+#ifdef CONFIG_USB_HCI
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_BOARD_TYPE,pHalData->BoardType);
+
+ if(pHalData->BoardType == BOARD_USB_High_PA){
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_EXT_LNA,_TRUE);
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_EXT_PA,_TRUE);
+ }
+#endif
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_PATCH_ID,pHalData->CustomerID);
+ // ODM_CMNINFO_BINHCT_TEST only for MP Team
+ ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_BWIFI_TEST,Adapter->registrypriv.wifi_spec);
+
+
+ if(pHalData->rf_type == RF_1T1R){
+ ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_RF_TYPE,ODM_1T1R);
+ }
+ else if(pHalData->rf_type == RF_2T2R){
+ ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_RF_TYPE,ODM_2T2R);
+ }
+ else if(pHalData->rf_type == RF_1T2R){
+ ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_RF_TYPE,ODM_1T2R);
+ }
+}
+static void Update_ODM_ComInfo_8723a(PADAPTER Adapter)
+{
+ struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv;
+ struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
+ struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter);
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
+ PDM_ODM_T pDM_Odm = &(pHalData->odmpriv);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+ int i;
+
+ pdmpriv->InitODMFlag = 0
+ | ODM_BB_DIG
+#ifdef CONFIG_ODM_REFRESH_RAMASK
+ | ODM_BB_RA_MASK
+#endif
+ | ODM_BB_DYNAMIC_TXPWR
+ | ODM_BB_FA_CNT
+ | ODM_BB_RSSI_MONITOR
+ | ODM_BB_CCK_PD
+ | ODM_BB_PWR_SAVE
+ | ODM_MAC_EDCA_TURBO
+ | ODM_RF_TX_PWR_TRACK
+ | ODM_RF_CALIBRATION
+#ifdef CONFIG_ODM_ADAPTIVITY
+ | ODM_BB_ADAPTIVITY
+#endif
+ ;
+
+#ifdef CONFIG_ANTENNA_DIVERSITY
+ if(pHalData->AntDivCfg)
+ pdmpriv->InitODMFlag |= ODM_BB_ANT_DIV;
+#endif
+
+#if (MP_DRIVER==1)
+ if (Adapter->registrypriv.mp_mode == 1) {
+ pdmpriv->InitODMFlag = 0
+ | ODM_RF_CALIBRATION
+ | ODM_RF_TX_PWR_TRACK
+ ;
+ }
+#endif//(MP_DRIVER==1)
+
+#ifdef CONFIG_DISABLE_ODM
+ pdmpriv->InitODMFlag = 0;
+#endif//CONFIG_DISABLE_ODM
+
+ //
+ // Pointer reference
+ //
+ //ODM_CMNINFO_MAC_PHY_MODE pHalData->MacPhyMode92D
+ // ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_MAC_PHY_MODE,&(pDM_Odm->u1Byte_temp));
+
+ ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_ABILITY,pdmpriv->InitODMFlag);
+
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_TX_UNI,&(Adapter->xmitpriv.tx_bytes));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_RX_UNI,&(Adapter->recvpriv.rx_bytes));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_WM_MODE,&(pmlmeext->cur_wireless_mode));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_SEC_CHNL_OFFSET,&(pHalData->nCur40MhzPrimeSC));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_SEC_MODE,&(Adapter->securitypriv.dot11PrivacyAlgrthm));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BW,&(pHalData->CurrentChannelBW ));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_CHNL,&( pHalData->CurrentChannel));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_NET_CLOSED,&( Adapter->net_closed));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_MP_MODE,&(Adapter->registrypriv.mp_mode));
+
+ //================= only for 8192D =================
+ /*
+ //pHalData->CurrentBandType92D
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BAND,&(pDM_Odm->u1Byte_temp));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_DMSP_GET_VALUE,&(pDM_Odm->u1Byte_temp));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BUDDY_ADAPTOR,&(pDM_Odm->PADAPTER_temp));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_DMSP_IS_MASTER,&(pDM_Odm->u1Byte_temp));
+ //================= only for 8192D =================
+ // driver havn't those variable now
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BT_OPERATION,&(pDM_Odm->u1Byte_temp));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_BT_DISABLE_EDCA,&(pDM_Odm->u1Byte_temp));
+ */
+
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_SCAN,&(pmlmepriv->bScanInProcess));
+ ODM_CmnInfoHook(pDM_Odm,ODM_CMNINFO_POWER_SAVING,&(pwrctrlpriv->bpower_saving));
+
+
+ for(i=0; i< NUM_STA; i++)
+ {
+ //pDM_Odm->pODM_StaInfo[i] = NULL;
+ ODM_CmnInfoPtrArrayHook(pDM_Odm, ODM_CMNINFO_STA_STATUS,i,NULL);
+ }
+}
+
+void
+rtl8723a_InitHalDm(
+ IN PADAPTER Adapter
+ )
+{
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+ PDM_ODM_T pDM_Odm = &(pHalData->odmpriv);
+
+ u8 i;
+
+ pdmpriv->DM_Type = DM_Type_ByDriver;
+ pdmpriv->DMFlag = DYNAMIC_FUNC_DISABLE;
+
+#ifdef CONFIG_BT_COEXIST
+ pdmpriv->DMFlag |= DYNAMIC_FUNC_BT;
+// btdm_InitBtCoexistDM(Adapter); // Move to BT_CoexistMechanism()
+#endif
+ pdmpriv->InitDMFlag = pdmpriv->DMFlag;
+
+ Update_ODM_ComInfo_8723a(Adapter);
+ ODM_DMInit(pDM_Odm);
+ // Save REG_INIDATA_RATE_SEL value for TXDESC.
+ for(i = 0 ; i<32 ; i++)
+ {
+ pdmpriv->INIDATA_RATE[i] = rtw_read8(Adapter, REG_INIDATA_RATE_SEL+i) & 0x3f;
+ }
+
+}
+
+VOID
+rtl8723a_HalDmWatchDog(
+ IN PADAPTER Adapter
+ )
+{
+ BOOLEAN bFwCurrentInPSMode = _FALSE;
+ BOOLEAN bFwPSAwake = _TRUE;
+ u8 hw_init_completed = _FALSE;
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+#ifdef CONFIG_CONCURRENT_MODE
+ PADAPTER pbuddy_adapter = Adapter->pbuddy_adapter;
+#endif //CONFIG_CONCURRENT_MODE
+
+ hw_init_completed = Adapter->hw_init_completed;
+
+ if (hw_init_completed == _FALSE)
+ goto skip_dm;
+
+#ifdef CONFIG_LPS
+ bFwCurrentInPSMode = adapter_to_pwrctl(Adapter)->bFwCurrentInPSMode;
+ rtw_hal_get_hwreg(Adapter, HW_VAR_FWLPS_RF_ON, (u8 *)(&bFwPSAwake));
+#endif
+
+#ifdef CONFIG_P2P_PS
+ // Fw is under p2p powersaving mode, driver should stop dynamic mechanism.
+ // modifed by thomas. 2011.06.11.
+ if(Adapter->wdinfo.p2p_ps_mode)
+ bFwPSAwake = _FALSE;
+#endif //CONFIG_P2P_PS
+
+ if( (hw_init_completed == _TRUE)
+ && ((!bFwCurrentInPSMode) && bFwPSAwake))
+ {
+ //
+ // Calculate Tx/Rx statistics.
+ //
+ dm_CheckStatistics(Adapter);
+
+
+#ifdef CONFIG_CONCURRENT_MODE
+ if(Adapter->adapter_type > PRIMARY_ADAPTER)
+ goto _record_initrate;
+#endif
+
+ //
+ // Dynamically switch RTS/CTS protection.
+ //
+ //dm_CheckProtection(Adapter);
+
+#ifdef CONFIG_PCI_HCI
+ // 20100630 Joseph: Disable Interrupt Migration mechanism temporarily because it degrades Rx throughput.
+ // Tx Migration settings.
+ //dm_InterruptMigration(Adapter);
+
+ //if(Adapter->HalFunc.TxCheckStuckHandler(Adapter))
+ // PlatformScheduleWorkItem(&(GET_HAL_DATA(Adapter)->HalResetWorkItem));
+#endif
+_record_initrate:
+
+ // Read REG_INIDATA_RATE_SEL value for TXDESC.
+ if(check_fwstate(&Adapter->mlmepriv, WIFI_STATION_STATE) == _TRUE)
+ {
+ pdmpriv->INIDATA_RATE[0] = rtw_read8(Adapter, REG_INIDATA_RATE_SEL) & 0x3f;
+ }
+ else
+ {
+ u8 i;
+ for(i=1 ; i < (Adapter->stapriv.asoc_sta_count + 1); i++)
+ {
+ pdmpriv->INIDATA_RATE[i] = rtw_read8(Adapter, (REG_INIDATA_RATE_SEL+i)) & 0x3f;
+ }
+ }
+ }
+
+
+ //ODM
+ if (hw_init_completed == _TRUE)
+ {
+ u8 bLinked=_FALSE;
+
+ #ifdef CONFIG_DISABLE_ODM
+ pHalData->odmpriv.SupportAbility = 0;
+ #endif
+
+ if(rtw_linked_check(Adapter))
+ bLinked = _TRUE;
+
+#ifdef CONFIG_CONCURRENT_MODE
+ if(pbuddy_adapter && rtw_linked_check(pbuddy_adapter))
+ bLinked = _TRUE;
+#endif //CONFIG_CONCURRENT_MODE
+
+ ODM_CmnInfoUpdate(&pHalData->odmpriv ,ODM_CMNINFO_LINK, bLinked);
+ ODM_DMWatchdog(&pHalData->odmpriv);
+
+ }
+
+skip_dm:
+
+ // Check GPIO to determine current RF on/off and Pbc status.
+ // Check Hardware Radio ON/OFF or not
+#ifdef CONFIG_PCI_HCI
+ if(pHalData->bGpioHwWpsPbc)
+#endif
+ {
+ dm_CheckPbcGPIO(Adapter); // Add by hpfan 2008-03-11
+ }
+
+}
+
+void rtl8723a_init_dm_priv(IN PADAPTER Adapter)
+{
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+ PDM_ODM_T podmpriv = &pHalData->odmpriv;
+ _rtw_memset(pdmpriv, 0, sizeof(struct dm_priv));
+ Init_ODM_ComInfo_8723a(Adapter);
+#ifdef CONFIG_SW_ANTENNA_DIVERSITY
+ //_init_timer(&(pdmpriv->SwAntennaSwitchTimer), Adapter->pnetdev , odm_SW_AntennaSwitchCallback, Adapter);
+ ODM_InitAllTimers(podmpriv );
+#endif
+}
+
+void rtl8723a_deinit_dm_priv(IN PADAPTER Adapter)
+{
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+ PDM_ODM_T podmpriv = &pHalData->odmpriv;
+#ifdef CONFIG_SW_ANTENNA_DIVERSITY
+ //_cancel_timer_ex(&pdmpriv->SwAntennaSwitchTimer);
+ ODM_CancelAllTimers(podmpriv);
+#endif
+}
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_hal_init.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_hal_init.c index 2a002f5e5f7c..aef17c95853c 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_hal_init.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_hal_init.c @@ -37,10 +37,6 @@ _FWDownloadEnable( if(enable) { - // 8051 enable - tmp = rtw_read8(padapter, REG_SYS_FUNC_EN+1); - rtw_write8(padapter, REG_SYS_FUNC_EN+1, tmp|0x04); - // MCU firmware download enable. tmp = rtw_read8(padapter, REG_MCUFWDL); rtw_write8(padapter, REG_MCUFWDL, tmp|0x01); @@ -230,6 +226,29 @@ exit: return ret; } +void _8051Reset8723A(PADAPTER padapter) +{ + u8 tmp; + + // Reset 8051 + tmp = rtw_read8(padapter, REG_SYS_FUNC_EN + 1); + rtw_write8(padapter, REG_SYS_FUNC_EN + 1, tmp & (~BIT2)); + + // Reset wrapper + tmp = rtw_read8(padapter, REG_RSV_CTRL + 1); + rtw_write8(padapter, REG_RSV_CTRL + 1, tmp & (~BIT0)); + + // Enable wrapper + tmp = rtw_read8(padapter, REG_RSV_CTRL + 1); + rtw_write8(padapter, REG_RSV_CTRL + 1, tmp | BIT0); + + // 8051 enable + tmp = rtw_read8(padapter, REG_SYS_FUNC_EN+1); + rtw_write8(padapter, REG_SYS_FUNC_EN+1, tmp|BIT2); + + DBG_871X("=====> _8051Reset8723A(): 8051 reset success .\n"); +} + static s32 _FWFreeToGo(PADAPTER padapter) { u32 counter = 0; @@ -242,7 +261,7 @@ static s32 _FWFreeToGo(PADAPTER padapter) } while (counter++ < POLLING_READY_TIMEOUT_COUNT); if (counter >= POLLING_READY_TIMEOUT_COUNT) { - RT_TRACE(_module_hal_init_c_, _drv_err_, ("%s: chksum report fail! REG_MCUFWDL:0x%08x\n", __FUNCTION__, value32)); + DBG_871X("%s: chksum report fail! REG_MCUFWDL:0x%08x\n", __FUNCTION__, value32); return _FAIL; } RT_TRACE(_module_hal_init_c_, _drv_info_, ("%s: Checksum report OK! REG_MCUFWDL:0x%08x\n", __FUNCTION__, value32)); @@ -252,6 +271,8 @@ static s32 _FWFreeToGo(PADAPTER padapter) value32 &= ~WINTINI_RDY; rtw_write32(padapter, REG_MCUFWDL, value32); + _8051Reset8723A(padapter); + // polling for FW ready counter = 0; do { @@ -263,7 +284,7 @@ static s32 _FWFreeToGo(PADAPTER padapter) rtw_udelay_os(5); } while (counter++ < POLLING_READY_TIMEOUT_COUNT); - RT_TRACE(_module_hal_init_c_, _drv_err_, ("%s: Polling FW ready fail!! REG_MCUFWDL:0x%08x\n", __FUNCTION__, value32)); + DBG_871X("%s: Polling FW ready fail!! REG_MCUFWDL:0x%08x\n", __FUNCTION__, value32); return _FAIL; } @@ -412,7 +433,7 @@ int _WriteBTFWtoTxPktBuf8723A( //BT patch is big, we should set 0x209 < 0x40 suggested from Gimmy RT_TRACE(_module_mp_, _drv_info_,("0x209:%x\n", PlatformEFIORead1Byte(Adapter, REG_TDECTRL+1)));//209 < 0x40 -#if 0 +#if 0//def CONFIG_RTL8723A_SDIO PlatformEFIOWrite1Byte(Adapter, REG_TDECTRL+1, 0x30); RT_TRACE(_module_mp_, _drv_info_,("0x209:%x\n", PlatformEFIORead1Byte(Adapter, REG_TDECTRL+1))); @@ -656,6 +677,7 @@ FirmwareDownloadBT(IN PADAPTER Adapter, PRT_FIRMWARE_8723A pFirmware) u1Byte *pBTFirmwareBuf; u4Byte BTFirmwareLen; + u8 i; // // Patch BT Fw. Download BT RAM code to Tx packet buffer. Added by tynli. 2011.10. // Only for 8723AE for Toshiba. Suggested by SD1 Jackie. @@ -667,7 +689,13 @@ FirmwareDownloadBT(IN PADAPTER Adapter, PRT_FIRMWARE_8723A pFirmware) DBG_871X("BT Firmware is ready!!\n"); return _FAIL; }*/ - + PlatformEFIOWrite1Byte(Adapter, 0xCC, 0x2d); + PlatformEFIOWrite4Byte(Adapter, 0x68, 0xa005000c); + rtw_msleep_os(5); + PlatformEFIOWrite4Byte(Adapter, 0x68, 0xb005000c); + PlatformEFIOWrite1Byte(Adapter, 0xCC, 0x29); + for(i=0; i<10; i++) + rtw_msleep_os(100); BTFwImage = (pu1Byte)Rtl8723EFwBTImgArray; BTFwImageLen = Rtl8723EBTImgArrayLength; DBG_871X("BT Firmware is size= %zu!!\n",sizeof(Rtl8723EFwBTImgArray)); @@ -701,33 +729,34 @@ FirmwareDownloadBT(IN PADAPTER Adapter, PRT_FIRMWARE_8723A pFirmware) //for h2c cam here should be set to true Adapter->bFWReady = _TRUE; DBG_871X("FirmwareDownloadBT to _WriteBTFWtoTxPktBuf8723A !\n"); -#if 1 +#ifdef CONFIG_RTL8723A_SDIO + rtStatus = _WriteBTFWtoTxPktBuf8723A(Adapter, pBTFirmwareBuf, BTFirmwareLen, 0); +#else //rtStatus = _WriteBTFWtoTxPktBuf8723A(Adapter, pBTFirmwareBuf, BTFirmwareLen); rtStatus = _WriteBTFWtoTxPktBuf8723A(Adapter, pBTFirmwareBuf+(4096*3), (BTFirmwareLen-(4096*3)), 1); if(rtStatus != _SUCCESS) { - DBG_871X("BT Firmware download to Tx packet buffer first fail!\n"); + DBG_871X("BT Firmware download to Tx packet buffer first fail! \n"); return rtStatus; } rtStatus = _WriteBTFWtoTxPktBuf8723A(Adapter, pBTFirmwareBuf+(4096*2), 4096, 2); if(rtStatus != _SUCCESS) { - DBG_871X("BT Firmware download to Tx packet buffer second fail!\n"); + DBG_871X("BT Firmware download to Tx packet buffer second fail! \n"); return rtStatus; } rtStatus = _WriteBTFWtoTxPktBuf8723A(Adapter, pBTFirmwareBuf+(4096), 4096, 3); if(rtStatus != _SUCCESS) { - DBG_871X("BT Firmware download to Tx packet buffer third fail!\n"); + DBG_871X("BT Firmware download to Tx packet buffer third fail! \n"); return rtStatus; } rtStatus = _WriteBTFWtoTxPktBuf8723A(Adapter, pBTFirmwareBuf, 4096, 4); - - +#endif if(rtStatus != _SUCCESS) { - RT_TRACE(_module_mp_, _drv_info_,("BT Firmware download to Tx packet buffer fail!\n")); - DBG_871X("BT Firmware download to Tx packet buffer fail!\n"); + RT_TRACE(_module_mp_, _drv_info_,("BT Firmware download to Tx packet buffer four fail! \n")); + DBG_871X("BT Firmware download to Tx packet buffer four fail!!\n"); } else { @@ -735,7 +764,7 @@ FirmwareDownloadBT(IN PADAPTER Adapter, PRT_FIRMWARE_8723A pFirmware) SetFwBTFwPatchCmd(Adapter, (u2Byte)BTFirmwareLen); _CheckWLANFwPatchBTFwReady(Adapter); } -#endif + DBG_871X("<===FirmwareDownloadBT(),return %s!\n",rtStatus?"SUCCESS":"FAIL"); return rtStatus; @@ -970,7 +999,7 @@ void rtl8723a_InitializeFirmwareVars(PADAPTER padapter) PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); // Init Fw LPS related. - padapter->pwrctrlpriv.bFwCurrentInPSMode = _FALSE; + adapter_to_pwrctl(padapter)->bFwCurrentInPSMode = _FALSE; // Init H2C counter. by tynli. 2009.12.09. pHalData->LastHMEBoxNum = 0; @@ -982,10 +1011,13 @@ void rtl8723a_InitializeFirmwareVars(PADAPTER padapter) static void rtl8723a_free_hal_data(PADAPTER padapter) { _func_enter_; - if (padapter->HalData) { + + if(padapter->HalData) + { rtw_mfree(padapter->HalData, sizeof(HAL_DATA_TYPE)); padapter->HalData = NULL; } + _func_exit_; } @@ -2589,14 +2621,6 @@ void rtl8723a_SetHalODMVar( case HAL_ODM_STA_INFO: { struct sta_info *psta = (struct sta_info *)pValue1; - #ifdef CONFIG_CONCURRENT_MODE - //get Primary adapter's odmpriv - if(Adapter->adapter_type > PRIMARY_ADAPTER && Adapter->pbuddy_adapter){ - pHalData = GET_HAL_DATA(Adapter->pbuddy_adapter); - podmpriv = &pHalData->odmpriv; - } - #endif - if(bSet){ DBG_8192C("Set STA_(%d) info\n",psta->mac_id); ODM_CmnInfoPtrArrayHook(podmpriv, ODM_CMNINFO_STA_STATUS,psta->mac_id,psta); @@ -2721,9 +2745,7 @@ void rtl8723a_set_hal_ops(struct hal_ops *pHalFunc) pHalFunc->SetBeaconRelatedRegistersHandler = &rtl8723a_SetBeaconRelatedRegisters; pHalFunc->Add_RateATid = &rtl8192c_Add_RateATid; -#ifdef CONFIG_CONCURRENT_MODE - pHalFunc->clone_haldata = &rtl8723a_clone_haldata; -#endif + pHalFunc->run_thread= &rtl8723a_start_thread; pHalFunc->cancel_thread= &rtl8723a_stop_thread; @@ -2831,7 +2853,7 @@ void rtl8723a_init_default_value(PADAPTER padapter) // init default value pHalData->fw_ractrl = _FALSE; pHalData->bIQKInitialized = _FALSE; - if (!padapter->pwrctrlpriv.bkeepfwalive) + if (!adapter_to_pwrctl(padapter)->bkeepfwalive) pHalData->LastHMEBoxNum = 0; pHalData->bIQKInitialized = _FALSE; @@ -3905,6 +3927,33 @@ Hal_InitChannelPlan( #endif } +#ifdef CONFIG_RF_GAIN_OFFSET +void Hal_ReadRFGainOffset( + IN PADAPTER Adapter, + IN u8* PROMContent, + IN BOOLEAN AutoloadFail) +{ + // + // BB_RF Gain Offset from EEPROM + // + if(!AutoloadFail ){ + Adapter->eeprompriv.EEPROMRFGainOffset =PROMContent[EEPROM_RF_GAIN_OFFSET]; + DBG_871X("AutoloadFail =%x,\n", AutoloadFail); + Adapter->eeprompriv.EEPROMRFGainVal=EFUSE_Read1Byte(Adapter, EEPROM_RF_GAIN_VAL); + DBG_871X("Adapter->eeprompriv.EEPROMRFGainVal=%x\n", Adapter->eeprompriv.EEPROMRFGainVal); + } + else{ + Adapter->eeprompriv.EEPROMRFGainOffset = 0; + Adapter->eeprompriv.EEPROMRFGainVal=0xFF; + DBG_871X("else AutoloadFail =%x,\n", AutoloadFail); + } + DBG_871X("EEPRORFGainOffset = 0x%02x\n", Adapter->eeprompriv.EEPROMRFGainOffset); +} +#endif //CONFIG_RF_GAIN_OFFSET + + + + void rtl8723a_cal_txdesc_chksum(struct tx_desc *ptxdesc) { u16 *usPtr = (u16*)ptxdesc; @@ -4351,6 +4400,11 @@ static void hw_var_set_opmode(PADAPTER padapter, u8 variable, u8 *val) } // disable atim wnd +#ifdef CONFIG_CONCURRENT_MODE + if (padapter->iface_type == IFACE_PORT1) + val8 = DIS_TSF_UDT|DIS_ATIM; + else +#endif val8 = DIS_TSF_UDT|EN_BCN_FUNCTION|DIS_ATIM; SetBcnCtrlReg(padapter, val8, ~val8); } @@ -4608,8 +4662,8 @@ static void hw_var_set_mlme_disconnect(PADAPTER padapter, u8 variable, u8 *val) // reset TSF1 rtw_write8(padapter, REG_DUAL_TSF_RST, BIT(1)); - // disable update TSF1 - SetBcnCtrlReg(padapter, DIS_TSF_UDT, 0); + // disable update TSF1, disble BCN function + SetBcnCtrlReg(padapter, DIS_TSF_UDT, EN_BCN_FUNCTION); } else #endif @@ -5315,7 +5369,7 @@ _func_enter_; #define RW_RELEASE_EN BIT(18) #define RXDMA_IDLE BIT(17) - struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; + struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter); u8 trycnt = 100; // pause tx @@ -5353,12 +5407,13 @@ _func_enter_; { u16 v16; u32 i; + #if 0 u8 RetryLimit = 0x01; //rtw_write16(padapter, REG_RL,0x0101); v16 = RetryLimit << RETRY_LIMIT_SHORT_SHIFT | RetryLimit << RETRY_LIMIT_LONG_SHIFT; rtw_write16(padapter, REG_RL, v16); - + #endif for (i=0; i<1000; i++) { if (rtw_read32(padapter, 0x200) != rtw_read32(padapter, 0x204)) @@ -5372,10 +5427,11 @@ _func_enter_; break; } } - + #if 0 RetryLimit = 0x30; v16 = RetryLimit << RETRY_LIMIT_SHORT_SHIFT | RetryLimit << RETRY_LIMIT_LONG_SHIFT; rtw_write16(padapter, REG_RL, v16); + #endif } #endif break; @@ -5403,7 +5459,11 @@ _func_enter_; rtw_write8(padapter, REG_NAV_UPPER, (u8)usNavUpper); } break; - + case HW_VAR_H2C_MEDIA_STATUS_RPT: + { + rtl8723a_set_FwMediaStatus_cmd(padapter , (*(u16 *)val)); + } + break; case HW_VAR_BCN_VALID: //BCN_VALID, BIT16 of REG_TDECTRL = BIT0 of REG_TDECTRL+2, write 1 to clear, Clear by sw rtw_write8(padapter, REG_TDECTRL+2, rtw_read8(padapter, REG_TDECTRL+2) | BIT0); @@ -5447,13 +5507,25 @@ void GetHwReg8723A(PADAPTER padapter, u8 variable, u8 *val) } break; + case HW_VAR_CAM_READ: + { + u32 cmd; + u32 *cam_val = (u32*)val; + + cmd = CAM_POLLINIG | CAM_READ | cam_val[1]; + rtw_write32(padapter, RWCAM, cmd); + + cam_val[0]=rtw_read32(padapter, RCAMO); + } + break; + case HW_VAR_FWLPS_RF_ON: { // When we halt NIC, we should check if FW LPS is leave. u32 valRCR; if ((padapter->bSurpriseRemoved == _TRUE) || - (padapter->pwrctrlpriv.rf_pwrstate == rf_off)) + (adapter_to_pwrctl(padapter)->rf_pwrstate == rf_off)) { // If it is in HW/SW Radio OFF or IPS state, we do not check Fw LPS Leave, // because Fw is unload. @@ -5504,7 +5576,13 @@ void GetHwReg8723A(PADAPTER padapter, u8 variable, u8 *val) break; case HW_VAR_CHK_HI_QUEUE_EMPTY: *val = ((rtw_read32(padapter, REG_HGQ_INFORMATION)&0x0000ff00)==0) ? _TRUE:_FALSE; + break; + case HW_VAR_C2HEVT_CLEAR: + *val = rtw_read8(padapter, REG_C2HEVT_CLEAR); break; + case HW_VAR_C2HEVT_MSG_NORMAL: + *val = rtw_read8(padapter, REG_C2HEVT_MSG_NORMAL); + break; } } @@ -5557,40 +5635,14 @@ void rtl8723a_SingleDualAntennaDetection(PADAPTER padapter) } #endif // CONFIG_BT_COEXIST -void rtl8723a_clone_haldata(_adapter* dst_adapter, _adapter* src_adapter) -{ -#ifdef CONFIG_SDIO_HCI - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(dst_adapter); - //_thread_hdl_ SdioXmitThread; - _sema temp_SdioXmitSema; - _sema temp_SdioXmitTerminateSema; - //u8 SdioTxFIFOFreePage[SDIO_TX_FREE_PG_QUEUE]; - _lock temp_SdioTxFIFOFreePageLock; - - _rtw_memcpy(&temp_SdioXmitSema, &(pHalData->SdioXmitSema), sizeof(_sema)); - _rtw_memcpy(&temp_SdioXmitTerminateSema, &(pHalData->SdioXmitTerminateSema), sizeof(_sema)); - _rtw_memcpy(&temp_SdioTxFIFOFreePageLock, &(pHalData->SdioTxFIFOFreePageLock), sizeof(_lock)); - - _rtw_memcpy(dst_adapter->HalData, src_adapter->HalData, dst_adapter->hal_data_sz); - - _rtw_memcpy(&(pHalData->SdioXmitSema), &temp_SdioXmitSema, sizeof(_sema)); - _rtw_memcpy(&(pHalData->SdioXmitTerminateSema), &temp_SdioXmitTerminateSema, sizeof(_sema)); - _rtw_memcpy(&(pHalData->SdioTxFIFOFreePageLock), &temp_SdioTxFIFOFreePageLock, sizeof(_lock)); - -#else - _rtw_memcpy(dst_adapter->HalData, src_adapter->HalData, dst_adapter->hal_data_sz); -#endif - -} - void rtl8723a_start_thread(_adapter *padapter) { #if (defined CONFIG_SDIO_HCI) || (defined CONFIG_GSPI_HCI) #ifndef CONFIG_SDIO_TX_TASKLET - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); + struct xmit_priv *xmitpriv = &padapter->xmitpriv; - pHalData->SdioXmitThread = kthread_run(rtl8723as_xmit_thread, padapter, "RTWHALXT"); - if (IS_ERR(pHalData->SdioXmitThread)) + xmitpriv->SdioXmitThread = kthread_run(rtl8723as_xmit_thread, padapter, "RTWHALXT"); + if (IS_ERR(xmitpriv->SdioXmitThread)) { RT_TRACE(_module_hal_xmit_c_, _drv_err_, ("%s: start rtl8723as_xmit_thread FAIL!!\n", __FUNCTION__)); } @@ -5602,15 +5654,49 @@ void rtl8723a_stop_thread(_adapter *padapter) { #if (defined CONFIG_SDIO_HCI) || (defined CONFIG_GSPI_HCI) #ifndef CONFIG_SDIO_TX_TASKLET - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); + struct xmit_priv *xmitpriv = &padapter->xmitpriv; // stop xmit_buf_thread - if (pHalData->SdioXmitThread ) { - _rtw_up_sema(&pHalData->SdioXmitSema); - _rtw_down_sema(&pHalData->SdioXmitTerminateSema); - pHalData->SdioXmitThread = 0; + if (xmitpriv->SdioXmitThread ) { + _rtw_up_sema(&xmitpriv->SdioXmitSema); + _rtw_down_sema(&xmitpriv->SdioXmitTerminateSema); + xmitpriv->SdioXmitThread = 0; } #endif #endif } +#if defined(CONFIG_CHECK_BT_HANG) && defined(CONFIG_BT_COEXIST) +extern void check_bt_status_work(void *data); +void rtl8723a_init_checkbthang_workqueue(_adapter * adapter) +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) + adapter->priv_checkbt_wq = alloc_workqueue("sdio_wq", 0, 0); +#else + adapter->priv_checkbt_wq = create_workqueue("sdio_wq"); +#endif + INIT_DELAYED_WORK(&adapter->checkbt_work, (void*)check_bt_status_work); +} + +void rtl8723a_free_checkbthang_workqueue(_adapter * adapter) +{ + if (adapter->priv_checkbt_wq) { + cancel_delayed_work_sync(&adapter->checkbt_work); + flush_workqueue(adapter->priv_checkbt_wq); + destroy_workqueue(adapter->priv_checkbt_wq); + adapter->priv_checkbt_wq = NULL; + } +} +void rtl8723a_cancel_checkbthang_workqueue(_adapter * adapter) +{ + if (adapter->priv_checkbt_wq) { + cancel_delayed_work_sync(&adapter->checkbt_work); + } +} + +void rtl8723a_hal_check_bt_hang(_adapter * adapter) +{ + if (adapter->priv_checkbt_wq) + queue_delayed_work(adapter->priv_checkbt_wq, &(adapter->checkbt_work), 0); +} +#endif diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_mp.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_mp.c index 9ee3996aaad1..c05a0cb39103 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_mp.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_mp.c @@ -1,1179 +1,1214 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -#define _RTL8723A_MP_C_ -#ifdef CONFIG_MP_INCLUDED - -#include <drv_types.h> -#include <rtw_mp.h> -#include <rtl8723a_hal.h> - - -/*----------------------------------------------------------------------------- - * Function: mpt_SwitchRfSetting - * - * Overview: Change RF Setting when we siwthc channel/rate/BW for MP. - * - * Input: IN PADAPTER pAdapter - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 01/08/2009 MHC Suggestion from SD3 Willis for 92S series. - * 01/09/2009 MHC Add CCK modification for 40MHZ. Suggestion from SD3. - * - *---------------------------------------------------------------------------*/ - static void phy_SwitchRfSetting8723A(PADAPTER pAdapter,u8 channel ) -{ - - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - u32 u4RF_IPA[3], u4RF_TXBIAS, u4RF_SYN_G2; - - //default value - { - u4RF_IPA[0] = 0x4F424; //CCK - u4RF_IPA[1] = 0xCF424; //OFDM - u4RF_IPA[2] = 0x8F424; //MCS - u4RF_TXBIAS = 0xC0356; - u4RF_SYN_G2 = 0x4F200; - } - - switch(channel) - { - case 1: - u4RF_IPA[0] = 0x4F40C; - u4RF_IPA[1] = 0xCF466; - u4RF_TXBIAS = 0xC0350; - break; - - case 2: - u4RF_IPA[0] = 0x4F407; - u4RF_TXBIAS = 0xC0350; - break; - - case 3: - u4RF_IPA[0] = 0x4F407; - u4RF_IPA[2] = 0x8F466; - u4RF_TXBIAS = 0xC0350; - break; - - case 5: - case 8: - u4RF_SYN_G2 = 0x0F400; - break; - - case 6: - case 13: - u4RF_IPA[0] = 0x4F40C; - break; - - case 7: - u4RF_IPA[0] = 0x4F40C; - u4RF_SYN_G2 = 0x0F400; - break; - - case 9: - u4RF_IPA[2] = 0x8F454; - u4RF_SYN_G2 = 0x0F400; - break; - - case 11: - u4RF_IPA[0] = 0x4F40C; - u4RF_IPA[1] = 0xCF454; - u4RF_SYN_G2 = 0x0F400; - break; - - default: - u4RF_IPA[0] = 0x4F424; - u4RF_IPA[1] = 0x8F424; - u4RF_IPA[2] = 0xCF424; - u4RF_TXBIAS = 0xC0356; - u4RF_SYN_G2 = 0x4F200; - break; - } - - PHY_SetRFReg(pAdapter, RF_PATH_A, RF_IPA, bRFRegOffsetMask, u4RF_IPA[0]); - PHY_SetRFReg(pAdapter, RF_PATH_A, RF_IPA, bRFRegOffsetMask, u4RF_IPA[1]); - PHY_SetRFReg(pAdapter, RF_PATH_A, RF_IPA, bRFRegOffsetMask, u4RF_IPA[2]); - PHY_SetRFReg(pAdapter, RF_PATH_A, RF_TXBIAS, bRFRegOffsetMask, u4RF_TXBIAS); - PHY_SetRFReg(pAdapter, RF_PATH_A, RF_SYN_G2, bRFRegOffsetMask, u4RF_SYN_G2); - -} - - - - -void Hal_mpt_SwitchRfSetting(PADAPTER pAdapter) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - PMPT_CONTEXT pMptCtx = &(pAdapter->mppriv.MptCtx); - u8 ChannelToSw = pMptCtx->MptChannelToSw; - - phy_SwitchRfSetting8723A(pAdapter, ChannelToSw); -} - - - - -s32 Hal_SetPowerTracking(PADAPTER padapter, u8 enable) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - - - if (!netif_running(padapter->pnetdev)) { - RT_TRACE(_module_mp_, _drv_warning_, ("SetPowerTracking! Fail: interface not opened!\n")); - return _FAIL; - } - - if (check_fwstate(&padapter->mlmepriv, WIFI_MP_STATE) == _FALSE) { - RT_TRACE(_module_mp_, _drv_warning_, ("SetPowerTracking! Fail: not in MP mode!\n")); - return _FAIL; - } - - if (enable) - pdmpriv->TxPowerTrackControl = _TRUE; - else - pdmpriv->TxPowerTrackControl = _FALSE; - - return _SUCCESS; -} - -void Hal_GetPowerTracking(PADAPTER padapter, u8 *enable) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - - - *enable = pdmpriv->TxPowerTrackControl; -} - -static void Hal_disable_dm(PADAPTER padapter) -{ - u8 v8; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - - - //3 1. disable firmware dynamic mechanism - // disable Power Training, Rate Adaptive - v8 = rtw_read8(padapter, REG_BCN_CTRL); - v8 &= ~EN_BCN_FUNCTION; - rtw_write8(padapter, REG_BCN_CTRL, v8); - - //3 2. disable driver dynamic mechanism - // disable Dynamic Initial Gain - // disable High Power - // disable Power Tracking - Switch_DM_Func(padapter, DYNAMIC_FUNC_DISABLE, _FALSE); - - // enable APK, LCK and IQK but disable power tracking - pdmpriv->TxPowerTrackControl = _FALSE; - Switch_DM_Func(padapter, DYNAMIC_RF_TX_PWR_TRACK , _TRUE); -} - -void Hal_MPT_CCKTxPowerAdjust(PADAPTER Adapter, BOOLEAN bInCH14) -{ - u32 TempVal = 0, TempVal2 = 0, TempVal3 = 0; - u32 CurrCCKSwingVal = 0, CCKSwingIndex = 12; - u8 i; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - - // get current cck swing value and check 0xa22 & 0xa23 later to match the table. - CurrCCKSwingVal = read_bbreg(Adapter, rCCK0_TxFilter1, bMaskHWord); - - if (!bInCH14) - { - // Readback the current bb cck swing value and compare with the table to - // get the current swing index - for (i = 0; i < CCK_TABLE_SIZE; i++) - { - if (((CurrCCKSwingVal&0xff) == (u32)CCKSwingTable_Ch1_Ch13[i][0]) && - (((CurrCCKSwingVal&0xff00)>>8) == (u32)CCKSwingTable_Ch1_Ch13[i][1])) - { - CCKSwingIndex = i; -// RT_TRACE(COMP_INIT, DBG_LOUD,("Ch1~13, Current reg0x%x = 0x%lx, CCKSwingIndex=0x%x\n", -// (rCCK0_TxFilter1+2), CurrCCKSwingVal, CCKSwingIndex)); - break; - } - } - - //Write 0xa22 0xa23 - TempVal = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][0] + - (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][1]<<8) ; - - - //Write 0xa24 ~ 0xa27 - TempVal2 = 0; - TempVal2 = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][2] + - (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][3]<<8) + - (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][4]<<16 )+ - (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][5]<<24); - - //Write 0xa28 0xa29 - TempVal3 = 0; - TempVal3 = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][6] + - (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][7]<<8) ; - } - else - { - for (i = 0; i < CCK_TABLE_SIZE; i++) - { - if (((CurrCCKSwingVal&0xff) == (u32)CCKSwingTable_Ch14[i][0]) && - (((CurrCCKSwingVal&0xff00)>>8) == (u32)CCKSwingTable_Ch14[i][1])) - { - CCKSwingIndex = i; -// RT_TRACE(COMP_INIT, DBG_LOUD,("Ch14, Current reg0x%x = 0x%lx, CCKSwingIndex=0x%x\n", -// (rCCK0_TxFilter1+2), CurrCCKSwingVal, CCKSwingIndex)); - break; - } - } - - //Write 0xa22 0xa23 - TempVal = CCKSwingTable_Ch14[CCKSwingIndex][0] + - (CCKSwingTable_Ch14[CCKSwingIndex][1]<<8) ; - - //Write 0xa24 ~ 0xa27 - TempVal2 = 0; - TempVal2 = CCKSwingTable_Ch14[CCKSwingIndex][2] + - (CCKSwingTable_Ch14[CCKSwingIndex][3]<<8) + - (CCKSwingTable_Ch14[CCKSwingIndex][4]<<16 )+ - (CCKSwingTable_Ch14[CCKSwingIndex][5]<<24); - - //Write 0xa28 0xa29 - TempVal3 = 0; - TempVal3 = CCKSwingTable_Ch14[CCKSwingIndex][6] + - (CCKSwingTable_Ch14[CCKSwingIndex][7]<<8) ; - } - - write_bbreg(Adapter, rCCK0_TxFilter1, bMaskHWord, TempVal); - write_bbreg(Adapter, rCCK0_TxFilter2, bMaskDWord, TempVal2); - write_bbreg(Adapter, rCCK0_DebugPort, bMaskLWord, TempVal3); -} - -void Hal_MPT_CCKTxPowerAdjustbyIndex(PADAPTER pAdapter, BOOLEAN beven) -{ - s32 TempCCk; - u8 CCK_index, CCK_index_old; - u8 Action = 0; //0: no action, 1: even->odd, 2:odd->even - u8 TimeOut = 100; - s32 i = 0; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - PMPT_CONTEXT pMptCtx = &pAdapter->mppriv.MptCtx; - - - if (!IS_92C_SERIAL(pHalData->VersionID)) - return; -#if 0 - while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE) - { - PlatformSleepUs(100); - TimeOut--; - if(TimeOut <= 0) - { - RTPRINT(FINIT, INIT_TxPower, - ("!!!MPT_CCKTxPowerAdjustbyIndex Wait for check CCK gain index too long!!!\n" )); - break; - } - } -#endif - if (beven && !pMptCtx->bMptIndexEven) //odd->even - { - Action = 2; - pMptCtx->bMptIndexEven = _TRUE; - } - else if (!beven && pMptCtx->bMptIndexEven) //even->odd - { - Action = 1; - pMptCtx->bMptIndexEven = _FALSE; - } - - if (Action != 0) - { - //Query CCK default setting From 0xa24 - TempCCk = read_bbreg(pAdapter, rCCK0_TxFilter2, bMaskDWord) & bMaskCCK; - for (i = 0; i < CCK_TABLE_SIZE; i++) - { - if (pHalData->dmpriv.bCCKinCH14) - { - if (_rtw_memcmp((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4) == _TRUE) - { - CCK_index_old = (u8) i; -// RTPRINT(FINIT, INIT_TxPower,("MPT_CCKTxPowerAdjustbyIndex: Initial reg0x%x = 0x%lx, CCK_index=0x%x, ch 14 %d\n", -// rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - else - { - if (_rtw_memcmp((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4) == _TRUE) - { - CCK_index_old = (u8) i; -// RTPRINT(FINIT, INIT_TxPower,("MPT_CCKTxPowerAdjustbyIndex: Initial reg0x%x = 0x%lx, CCK_index=0x%x, ch14 %d\n", -// rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14)); - break; - } - } - } - - if (Action == 1) - CCK_index = CCK_index_old - 1; - else - CCK_index = CCK_index_old + 1; - -// RTPRINT(FINIT, INIT_TxPower,("MPT_CCKTxPowerAdjustbyIndex: new CCK_index=0x%x\n", -// CCK_index)); - - //Adjust CCK according to gain index - if (!pHalData->dmpriv.bCCKinCH14) { - rtw_write8(pAdapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]); - rtw_write8(pAdapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]); - rtw_write8(pAdapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]); - rtw_write8(pAdapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]); - rtw_write8(pAdapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]); - rtw_write8(pAdapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]); - rtw_write8(pAdapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]); - rtw_write8(pAdapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]); - } else { - rtw_write8(pAdapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]); - rtw_write8(pAdapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]); - rtw_write8(pAdapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]); - rtw_write8(pAdapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]); - rtw_write8(pAdapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]); - rtw_write8(pAdapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]); - rtw_write8(pAdapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]); - rtw_write8(pAdapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]); - } - } -#if 0 - RTPRINT(FINIT, INIT_TxPower, - ("MPT_CCKTxPowerAdjustbyIndex 0xa20=%x\n", PlatformEFIORead4Byte(Adapter, 0xa20))); - - PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE); -#endif -} -/*---------------------------hal\rtl8192c\MPT_HelperFunc.c---------------------------*/ - -/* - * SetChannel - * Description - * Use H2C command to change channel, - * not only modify rf register, but also other setting need to be done. - */ -void Hal_SetChannel(PADAPTER pAdapter) -{ -#if 0 - struct mp_priv *pmp = &pAdapter->mppriv; - -// SelectChannel(pAdapter, pmp->channel); - set_channel_bwmode(pAdapter, pmp->channel, pmp->channel_offset, pmp->bandwidth); -#else - u8 eRFPath; - - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - struct mp_priv *pmp = &pAdapter->mppriv; - u8 channel = pmp->channel; - u8 bandwidth = pmp->bandwidth; - u8 rate = pmp->rateidx; - - - // set RF channel register - for (eRFPath = 0; eRFPath < pHalData->NumTotalRFPath; eRFPath++) - { - if(IS_HARDWARE_TYPE_8192D(pAdapter)) - _write_rfreg(pAdapter, (RF_RADIO_PATH_E)eRFPath, rRfChannel, 0xFF, channel); - else - _write_rfreg(pAdapter, eRFPath, rRfChannel, 0x3FF, channel); - } - Hal_mpt_SwitchRfSetting(pAdapter); - - SelectChannel(pAdapter, channel); - - if (pHalData->CurrentChannel == 14 && !pHalData->dmpriv.bCCKinCH14) { - pHalData->dmpriv.bCCKinCH14 = _TRUE; - Hal_MPT_CCKTxPowerAdjust(pAdapter, pHalData->dmpriv.bCCKinCH14); - } - else if (pHalData->CurrentChannel != 14 && pHalData->dmpriv.bCCKinCH14) { - pHalData->dmpriv.bCCKinCH14 = _FALSE; - Hal_MPT_CCKTxPowerAdjust(pAdapter, pHalData->dmpriv.bCCKinCH14); - } - -#endif -} - -/* - * Notice - * Switch bandwitdth may change center frequency(channel) - */ -void Hal_SetBandwidth(PADAPTER pAdapter) -{ - struct mp_priv *pmp = &pAdapter->mppriv; - - - SetBWMode(pAdapter, pmp->bandwidth, pmp->prime_channel_offset); - Hal_mpt_SwitchRfSetting(pAdapter); -} - -void Hal_SetCCKTxPower(PADAPTER pAdapter, u8 *TxPower) -{ - u32 tmpval = 0; - - - // rf-A cck tx power - write_bbreg(pAdapter, rTxAGC_A_CCK1_Mcs32, bMaskByte1, TxPower[RF_PATH_A]); - tmpval = (TxPower[RF_PATH_A]<<16) | (TxPower[RF_PATH_A]<<8) | TxPower[RF_PATH_A]; - write_bbreg(pAdapter, rTxAGC_B_CCK11_A_CCK2_11, 0xffffff00, tmpval); - - // rf-B cck tx power - write_bbreg(pAdapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte0, TxPower[RF_PATH_B]); - tmpval = (TxPower[RF_PATH_B]<<16) | (TxPower[RF_PATH_B]<<8) | TxPower[RF_PATH_B]; - write_bbreg(pAdapter, rTxAGC_B_CCK1_55_Mcs32, 0xffffff00, tmpval); - - RT_TRACE(_module_mp_, _drv_notice_, - ("-SetCCKTxPower: A[0x%02x] B[0x%02x]\n", - TxPower[RF_PATH_A], TxPower[RF_PATH_B])); -} - -void Hal_SetOFDMTxPower(PADAPTER pAdapter, u8 *TxPower) -{ - u32 TxAGC = 0; - u8 tmpval = 0; - PMPT_CONTEXT pMptCtx = &pAdapter->mppriv.MptCtx; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - - - // HT Tx-rf(A) - tmpval = TxPower[RF_PATH_A]; - TxAGC = (tmpval<<24) | (tmpval<<16) | (tmpval<<8) | tmpval; - - write_bbreg(pAdapter, rTxAGC_A_Rate18_06, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_A_Rate54_24, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_A_Mcs03_Mcs00, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_A_Mcs07_Mcs04, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_A_Mcs11_Mcs08, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_A_Mcs15_Mcs12, bMaskDWord, TxAGC); - - if (pHalData->dmpriv.bAPKdone && !IS_NORMAL_CHIP(pHalData->VersionID)) - { - if (tmpval > pMptCtx->APK_bound[RF_PATH_A]) - write_rfreg(pAdapter, RF_PATH_A, 0xe, pHalData->dmpriv.APKoutput[0][0]); - else - write_rfreg(pAdapter, RF_PATH_A, 0xe, pHalData->dmpriv.APKoutput[0][1]); - } - - // HT Tx-rf(B) - tmpval = TxPower[RF_PATH_B]; - TxAGC = (tmpval<<24) | (tmpval<<16) | (tmpval<<8) | tmpval; - - write_bbreg(pAdapter, rTxAGC_B_Rate18_06, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_B_Rate54_24, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_B_Mcs03_Mcs00, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_B_Mcs07_Mcs04, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_B_Mcs11_Mcs08, bMaskDWord, TxAGC); - write_bbreg(pAdapter, rTxAGC_B_Mcs15_Mcs12, bMaskDWord, TxAGC); - - if (pHalData->dmpriv.bAPKdone && !IS_NORMAL_CHIP(pHalData->VersionID)) - { - if (tmpval > pMptCtx->APK_bound[RF_PATH_B]) - write_rfreg(pAdapter, RF_PATH_B, 0xe, pHalData->dmpriv.APKoutput[1][0]); - else - write_rfreg(pAdapter, RF_PATH_B, 0xe, pHalData->dmpriv.APKoutput[1][1]); - } - - RT_TRACE(_module_mp_, _drv_notice_, - ("-SetOFDMTxPower: A[0x%02x] B[0x%02x]\n", - TxPower[RF_PATH_A], TxPower[RF_PATH_B])); -} - -void Hal_SetAntennaPathPower(PADAPTER pAdapter) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - u8 TxPowerLevel[MAX_RF_PATH_NUMS]; - u8 rfPath; - - TxPowerLevel[RF_PATH_A] = pAdapter->mppriv.txpoweridx; - TxPowerLevel[RF_PATH_B] = pAdapter->mppriv.txpoweridx_b; - - switch (pAdapter->mppriv.antenna_tx) - { - case ANTENNA_A: - default: - rfPath = RF_PATH_A; - break; - case ANTENNA_B: - rfPath = RF_PATH_B; - break; - case ANTENNA_C: - rfPath = RF_PATH_C; - break; - } - - switch (pHalData->rf_chip) - { - case RF_8225: - case RF_8256: - case RF_6052: - Hal_SetCCKTxPower(pAdapter, TxPowerLevel); - if (pAdapter->mppriv.rateidx < MPT_RATE_6M) // CCK rate - Hal_MPT_CCKTxPowerAdjustbyIndex(pAdapter, TxPowerLevel[rfPath]%2 == 0); - Hal_SetOFDMTxPower(pAdapter, TxPowerLevel); - break; - - default: - break; - } -} - -void Hal_SetTxPower(PADAPTER pAdapter) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - u8 TxPower = pAdapter->mppriv.txpoweridx; - u8 TxPowerLevel[MAX_RF_PATH_NUMS]; - u8 rf, rfPath; - - for (rf = 0; rf < MAX_RF_PATH_NUMS; rf++) { - TxPowerLevel[rf] = TxPower; - } - - switch (pAdapter->mppriv.antenna_tx) - { - case ANTENNA_A: - default: - rfPath = RF_PATH_A; - break; - case ANTENNA_B: - rfPath = RF_PATH_B; - break; - case ANTENNA_C: - rfPath = RF_PATH_C; - break; - } - - switch (pHalData->rf_chip) - { - // 2008/09/12 MH Test only !! We enable the TX power tracking for MP!!!!! - // We should call normal driver API later!! - case RF_8225: - case RF_8256: - case RF_6052: - Hal_SetCCKTxPower(pAdapter, TxPowerLevel); - if (pAdapter->mppriv.rateidx < MPT_RATE_6M) // CCK rate - Hal_MPT_CCKTxPowerAdjustbyIndex(pAdapter, TxPowerLevel[rfPath]%2 == 0); - Hal_SetOFDMTxPower(pAdapter, TxPowerLevel); - break; - - default: - break; - } - -// SetCCKTxPower(pAdapter, TxPower); -// SetOFDMTxPower(pAdapter, TxPower); -} - -void Hal_SetTxAGCOffset(PADAPTER pAdapter, u32 ulTxAGCOffset) -{ - u32 TxAGCOffset_B, TxAGCOffset_C, TxAGCOffset_D,tmpAGC; - - return ; - - TxAGCOffset_B = (ulTxAGCOffset&0x000000ff); - TxAGCOffset_C = ((ulTxAGCOffset&0x0000ff00)>>8); - TxAGCOffset_D = ((ulTxAGCOffset&0x00ff0000)>>16); - - tmpAGC = (TxAGCOffset_D<<8 | TxAGCOffset_C<<4 | TxAGCOffset_B); - write_bbreg(pAdapter, rFPGA0_TxGainStage, - (bXBTxAGC|bXCTxAGC|bXDTxAGC), tmpAGC); -} - -void Hal_SetDataRate(PADAPTER pAdapter) -{ - if(!IS_HARDWARE_TYPE_8723A(pAdapter)) - Hal_mpt_SwitchRfSetting(pAdapter); -} - - -void Hal_SetAntenna(PADAPTER pAdapter) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - - R_ANTENNA_SELECT_OFDM *p_ofdm_tx; /* OFDM Tx register */ - R_ANTENNA_SELECT_CCK *p_cck_txrx; - - u8 r_rx_antenna_ofdm = 0, r_ant_select_cck_val = 0; - u8 chgTx = 0, chgRx = 0; - u32 r_ant_sel_cck_val = 0, r_ant_select_ofdm_val = 0, r_ofdm_tx_en_val = 0; - - - p_ofdm_tx = (R_ANTENNA_SELECT_OFDM *)&r_ant_select_ofdm_val; - p_cck_txrx = (R_ANTENNA_SELECT_CCK *)&r_ant_select_cck_val; - - p_ofdm_tx->r_ant_ht1 = 0x1; - p_ofdm_tx->r_ant_ht2 = 0x2; // Second TX RF path is A - p_ofdm_tx->r_ant_non_ht = 0x3; // 0x1+0x2=0x3 - - switch (pAdapter->mppriv.antenna_tx) - { - case ANTENNA_A: - p_ofdm_tx->r_tx_antenna = 0x1; - r_ofdm_tx_en_val = 0x1; - p_ofdm_tx->r_ant_l = 0x1; - p_ofdm_tx->r_ant_ht_s1 = 0x1; - p_ofdm_tx->r_ant_non_ht_s1 = 0x1; - p_cck_txrx->r_ccktx_enable = 0x8; - chgTx = 1; - - // From SD3 Willis suggestion !!! Set RF A=TX and B as standby -// if (IS_HARDWARE_TYPE_8192S(pAdapter)) - { - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 2); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 1); - r_ofdm_tx_en_val = 0x3; - - // Power save - //cosa r_ant_select_ofdm_val = 0x11111111; - - // We need to close RFB by SW control - if (pHalData->rf_type == RF_2T2R) - { - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 1); - PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT1, 1); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT17, 0); - } - } - break; - - case ANTENNA_B: - p_ofdm_tx->r_tx_antenna = 0x2; - r_ofdm_tx_en_val = 0x2; - p_ofdm_tx->r_ant_l = 0x2; - p_ofdm_tx->r_ant_ht_s1 = 0x2; - p_ofdm_tx->r_ant_non_ht_s1 = 0x2; - p_cck_txrx->r_ccktx_enable = 0x4; - chgTx = 1; - - // From SD3 Willis suggestion !!! Set RF A as standby - //if (IS_HARDWARE_TYPE_8192S(pAdapter)) - { - PHY_SetBBReg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 1); - PHY_SetBBReg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 2); -// r_ofdm_tx_en_val = 0x3; - - // Power save - //cosa r_ant_select_ofdm_val = 0x22222222; - - // 2008/10/31 MH From SD3 Willi's suggestion. We must read RF 1T table. - // 2009/01/08 MH From Sd3 Willis. We need to close RFA by SW control - if (pHalData->rf_type == RF_2T2R || pHalData->rf_type == RF_1T2R) - { - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 1); - PHY_SetBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, BIT10, 0); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0); -// PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT1, 0); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT17, 1); - } - } - break; - - case ANTENNA_AB: // For 8192S - p_ofdm_tx->r_tx_antenna = 0x3; - r_ofdm_tx_en_val = 0x3; - p_ofdm_tx->r_ant_l = 0x3; - p_ofdm_tx->r_ant_ht_s1 = 0x3; - p_ofdm_tx->r_ant_non_ht_s1 = 0x3; - p_cck_txrx->r_ccktx_enable = 0xC; - chgTx = 1; - - // From SD3 Willis suggestion !!! Set RF B as standby - //if (IS_HARDWARE_TYPE_8192S(pAdapter)) - { - PHY_SetBBReg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 2); - PHY_SetBBReg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 2); - - // Disable Power save - //cosa r_ant_select_ofdm_val = 0x3321333; -#if 0 - // 2008/10/31 MH From SD3 Willi's suggestion. We must read RFA 2T table. - if ((pHalData->VersionID == VERSION_8192S_ACUT)) // For RTL8192SU A-Cut only, by Roger, 2008.11.07. - { - mpt_RFConfigFromPreParaArrary(pAdapter, 1, RF_PATH_A); - } -#endif - // 2009/01/08 MH From Sd3 Willis. We need to enable RFA/B by SW control - if (pHalData->rf_type == RF_2T2R) - { - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0); -// PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT1, 1); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT17, 1); - } - } - break; - - default: - break; - } - - // - // r_rx_antenna_ofdm, bit0=A, bit1=B, bit2=C, bit3=D - // r_cckrx_enable : CCK default, 0=A, 1=B, 2=C, 3=D - // r_cckrx_enable_2 : CCK option, 0=A, 1=B, 2=C, 3=D - // - switch (pAdapter->mppriv.antenna_rx) - { - case ANTENNA_A: - r_rx_antenna_ofdm = 0x1; // A - p_cck_txrx->r_cckrx_enable = 0x0; // default: A - p_cck_txrx->r_cckrx_enable_2 = 0x0; // option: A - chgRx = 1; - break; - - case ANTENNA_B: - r_rx_antenna_ofdm = 0x2; // B - p_cck_txrx->r_cckrx_enable = 0x1; // default: B - p_cck_txrx->r_cckrx_enable_2 = 0x1; // option: B - chgRx = 1; - break; - - case ANTENNA_AB: - r_rx_antenna_ofdm = 0x3; // AB - p_cck_txrx->r_cckrx_enable = 0x0; // default:A - p_cck_txrx->r_cckrx_enable_2 = 0x1; // option:B - chgRx = 1; - break; - - default: - break; - } - - if (chgTx && chgRx) - { - switch(pHalData->rf_chip) - { - case RF_8225: - case RF_8256: - case RF_6052: - //r_ant_sel_cck_val = r_ant_select_cck_val; - PHY_SetBBReg(pAdapter, rFPGA1_TxInfo, 0x7fffffff, r_ant_select_ofdm_val); //OFDM Tx - PHY_SetBBReg(pAdapter, rFPGA0_TxInfo, 0x0000000f, r_ofdm_tx_en_val); //OFDM Tx - PHY_SetBBReg(pAdapter, rOFDM0_TRxPathEnable, 0x0000000f, r_rx_antenna_ofdm); //OFDM Rx - PHY_SetBBReg(pAdapter, rOFDM1_TRxPathEnable, 0x0000000f, r_rx_antenna_ofdm); //OFDM Rx - PHY_SetBBReg(pAdapter, rCCK0_AFESetting, bMaskByte3, r_ant_select_cck_val);//r_ant_sel_cck_val); //CCK TxRx - - break; - - default: - break; - } - } - - RT_TRACE(_module_mp_, _drv_notice_, ("-SwitchAntenna: finished\n")); -} - -s32 Hal_SetThermalMeter(PADAPTER pAdapter, u8 target_ther) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - - - if (!netif_running(pAdapter->pnetdev)) { - RT_TRACE(_module_mp_, _drv_warning_, ("SetThermalMeter! Fail: interface not opened!\n")); - return _FAIL; - } - - if (check_fwstate(&pAdapter->mlmepriv, WIFI_MP_STATE) == _FALSE) { - RT_TRACE(_module_mp_, _drv_warning_, ("SetThermalMeter: Fail! not in MP mode!\n")); - return _FAIL; - } - - target_ther &= 0xff; - if (target_ther < 0x07) - target_ther = 0x07; - else if (target_ther > 0x1d) - target_ther = 0x1d; - - pHalData->EEPROMThermalMeter = target_ther; - - return _SUCCESS; -} - -void Hal_TriggerRFThermalMeter(PADAPTER pAdapter) -{ - - write_rfreg(pAdapter, RF_PATH_A, RF_T_METER, 0x60); // 0x24: RF Reg[6:5] - -// RT_TRACE(_module_mp_,_drv_alert_, ("TriggerRFThermalMeter() finished.\n" )); -} - -u8 Hal_ReadRFThermalMeter(PADAPTER pAdapter) -{ - u32 ThermalValue = 0; - - ThermalValue = _read_rfreg(pAdapter, RF_PATH_A, RF_T_METER, 0x1F); // 0x24: RF Reg[4:0] -// RT_TRACE(_module_mp_, _drv_alert_, ("ThermalValue = 0x%x\n", ThermalValue)); - return (u8)ThermalValue; -} - -void Hal_GetThermalMeter(PADAPTER pAdapter, u8 *value) -{ -#if 0 - fw_cmd(pAdapter, IOCMD_GET_THERMAL_METER); - rtw_msleep_os(1000); - fw_cmd_data(pAdapter, value, 1); - *value &= 0xFF; -#else - - Hal_TriggerRFThermalMeter(pAdapter); - rtw_msleep_os(1000); - *value = Hal_ReadRFThermalMeter(pAdapter); -#endif -} - -void Hal_SetSingleCarrierTx(PADAPTER pAdapter, u8 bStart) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - pAdapter->mppriv.MptCtx.bSingleCarrier = bStart; - if (bStart)// Start Single Carrier. - { - RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleCarrierTx: test start\n")); - // 1. if OFDM block on? - if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn)) - write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, bEnable);//set OFDM block on - - { - // 2. set CCK test mode off, set to CCK normal mode - write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, bDisable); - // 3. turn on scramble setting - write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable); - } - // 4. Turn On Single Carrier Tx and turn off the other test modes. - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bEnable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable); -#ifdef CONFIG_RTL8192C - // 5. Disable TX power saving at STF & LLTF - write_bbreg(pAdapter, rOFDM1_LSTF, BIT22, 1); -#endif - } - else// Stop Single Carrier. - { - RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleCarrierTx: test stop\n")); - - // Turn off all test modes. - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable); -#ifdef CONFIG_RTL8192C - // Cancel disable TX power saving at STF&LLTF - write_bbreg(pAdapter, rOFDM1_LSTF, BIT22, 0); -#endif - //Delay 10 ms //delay_ms(10); - rtw_msleep_os(10); - - //BB Reset - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0); - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1); - } -} - - -void Hal_SetSingleToneTx(PADAPTER pAdapter, u8 bStart) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - BOOLEAN is92C = IS_92C_SERIAL(pHalData->VersionID); - - u8 rfPath; - - switch (pAdapter->mppriv.antenna_tx) - { - case ANTENNA_A: - default: - rfPath = RF_PATH_A; - break; - case ANTENNA_B: - rfPath = RF_PATH_B; - break; - case ANTENNA_C: - rfPath = RF_PATH_C; - break; - } - - pAdapter->mppriv.MptCtx.bSingleTone = bStart; - if (bStart)// Start Single Tone. - { - RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleToneTx: test start\n")); - write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, 0x0); - write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, 0x0); - - if (is92C) - { - _write_rfreg(pAdapter, RF_PATH_A, 0x21, BIT19, 0x01); - rtw_usleep_os(100); - if (rfPath == RF_PATH_A) - write_rfreg(pAdapter, RF_PATH_B, 0x00, 0x10000); // PAD all on. - else if (rfPath == RF_PATH_B) - write_rfreg(pAdapter, RF_PATH_A, 0x00, 0x10000); // PAD all on. - write_rfreg(pAdapter, rfPath, 0x00, 0x2001f); // PAD all on. - rtw_usleep_os(100); - } - else - { - write_rfreg(pAdapter, rfPath, 0x21, 0xd4000); - rtw_usleep_os(100); - write_rfreg(pAdapter, rfPath, 0x00, 0x2001f); // PAD all on. - rtw_usleep_os(100); - } - - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500); - - } - else// Stop Single Tone. - { - RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleToneTx: test stop\n")); - write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, 0x1); - write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, 0x1); - - if (is92C) { - _write_rfreg(pAdapter, RF_PATH_A, 0x21, BIT19, 0x00); - rtw_usleep_os(100); - write_rfreg(pAdapter, RF_PATH_A, 0x00, 0x32d75); // PAD all on. - write_rfreg(pAdapter, RF_PATH_B, 0x00, 0x32d75); // PAD all on. - rtw_usleep_os(100); - } else { - write_rfreg(pAdapter, rfPath, 0x21, 0x54000); - rtw_usleep_os(100); - write_rfreg(pAdapter, rfPath, 0x00, 0x30000); // PAD all on. - rtw_usleep_os(100); - } - - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100); - - } - -} - - -void Hal_SetCarrierSuppressionTx(PADAPTER pAdapter, u8 bStart) -{ - pAdapter->mppriv.MptCtx.bCarrierSuppression = bStart; - if (bStart) // Start Carrier Suppression. - { - RT_TRACE(_module_mp_,_drv_alert_, ("SetCarrierSuppressionTx: test start\n")); - //if(pMgntInfo->dot11CurrentWirelessMode == WIRELESS_MODE_B) - if (pAdapter->mppriv.rateidx <= MPT_RATE_11M) - { - // 1. if CCK block on? - if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn)) - write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, bEnable);//set CCK block on - - //Turn Off All Test Mode - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable); - - write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x2); //transmit mode - write_bbreg(pAdapter, rCCK0_System, bCCKScramble, 0x0); //turn off scramble setting - - //Set CCK Tx Test Rate - //PHY_SetBBReg(pAdapter, rCCK0_System, bCCKTxRate, pMgntInfo->ForcedDataRate); - write_bbreg(pAdapter, rCCK0_System, bCCKTxRate, 0x0); //Set FTxRate to 1Mbps - } - - //Set for dynamic set Power index - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500); - - } - else// Stop Carrier Suppression. - { - RT_TRACE(_module_mp_,_drv_alert_, ("SetCarrierSuppressionTx: test stop\n")); - //if(pMgntInfo->dot11CurrentWirelessMode == WIRELESS_MODE_B) - if (pAdapter->mppriv.rateidx <= MPT_RATE_11M ) { - write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x0); //normal mode - write_bbreg(pAdapter, rCCK0_System, bCCKScramble, 0x1); //turn on scramble setting - - //BB Reset - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0); - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1); - } - //Stop for dynamic set Power index - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100); - } - //DbgPrint("\n MPT_ProSetCarrierSupp() is finished. \n"); -} - -void Hal_SetCCKContinuousTx(PADAPTER pAdapter, u8 bStart) -{ - u32 cckrate; - - if (bStart) - { - RT_TRACE(_module_mp_, _drv_alert_, - ("SetCCKContinuousTx: test start\n")); - - // 1. if CCK block on? - if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn)) - write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, bEnable);//set CCK block on - - //Turn Off All Test Mode - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable); - //Set CCK Tx Test Rate - #if 0 - switch(pAdapter->mppriv.rateidx) - { - case 2: - cckrate = 0; - break; - case 4: - cckrate = 1; - break; - case 11: - cckrate = 2; - break; - case 22: - cckrate = 3; - break; - default: - cckrate = 0; - break; - } - #else - cckrate = pAdapter->mppriv.rateidx; - #endif - write_bbreg(pAdapter, rCCK0_System, bCCKTxRate, cckrate); - write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x2); //transmit mode - write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable); //turn on scramble setting - - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500); - - // Patch for CCK 11M waveform - if (cckrate == MPT_RATE_1M) - write_bbreg(pAdapter, 0xA71, BIT(6), bDisable); - else - write_bbreg(pAdapter, 0xA71, BIT(6), bEnable); - - - } - else { - RT_TRACE(_module_mp_, _drv_info_, - ("SetCCKContinuousTx: test stop\n")); - - write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x0); //normal mode - write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable); //turn on scramble setting - - //BB Reset - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0); - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1); - - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100); - } - - pAdapter->mppriv.MptCtx.bCckContTx = bStart; - pAdapter->mppriv.MptCtx.bOfdmContTx = _FALSE; -}/* mpt_StartCckContTx */ - -void Hal_SetOFDMContinuousTx(PADAPTER pAdapter, u8 bStart) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - - if (bStart) { - RT_TRACE(_module_mp_, _drv_info_, ("SetOFDMContinuousTx: test start\n")); - // 1. if OFDM block on? - if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn)) - write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, bEnable);//set OFDM block on - { - - // 2. set CCK test mode off, set to CCK normal mode - write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, bDisable); - - // 3. turn on scramble setting - write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable); - } - // 4. Turn On Continue Tx and turn off the other test modes. - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bEnable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable); - - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500); - - } else { - RT_TRACE(_module_mp_,_drv_info_, ("SetOFDMContinuousTx: test stop\n")); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable); - write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable); - //Delay 10 ms - rtw_msleep_os(10); - //BB Reset - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0); - write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1); - - write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100); - write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100); - } - - pAdapter->mppriv.MptCtx.bCckContTx = _FALSE; - pAdapter->mppriv.MptCtx.bOfdmContTx = bStart; -}/* mpt_StartOfdmContTx */ - -void Hal_SetContinuousTx(PADAPTER pAdapter, u8 bStart) -{ -#if 0 - // ADC turn off [bit24-21] adc port0 ~ port1 - if (bStart) { - write_bbreg(pAdapter, rRx_Wait_CCCA, read_bbreg(pAdapter, rRx_Wait_CCCA) & 0xFE1FFFFF); - rtw_usleep_os(100); - } -#endif - RT_TRACE(_module_mp_, _drv_info_, - ("SetContinuousTx: rate:%d\n", pAdapter->mppriv.rateidx)); - - pAdapter->mppriv.MptCtx.bStartContTx = bStart; - if (pAdapter->mppriv.rateidx <= MPT_RATE_11M) - { - Hal_SetCCKContinuousTx(pAdapter, bStart); - } - else if ((pAdapter->mppriv.rateidx >= MPT_RATE_6M) && - (pAdapter->mppriv.rateidx <= MPT_RATE_MCS15)) - { - Hal_SetOFDMContinuousTx(pAdapter, bStart); - } -#if 0 - // ADC turn on [bit24-21] adc port0 ~ port1 - if (!bStart) { - write_bbreg(pAdapter, rRx_Wait_CCCA, read_bbreg(pAdapter, rRx_Wait_CCCA) | 0x01E00000); - } -#endif -} - -#endif // CONFIG_MP_INCLUDE - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+#define _RTL8723A_MP_C_
+#ifdef CONFIG_MP_INCLUDED
+
+#include <drv_types.h>
+#include <rtw_mp.h>
+#include <rtl8723a_hal.h>
+
+
+/*-----------------------------------------------------------------------------
+ * Function: mpt_SwitchRfSetting
+ *
+ * Overview: Change RF Setting when we siwthc channel/rate/BW for MP.
+ *
+ * Input: IN PADAPTER pAdapter
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 01/08/2009 MHC Suggestion from SD3 Willis for 92S series.
+ * 01/09/2009 MHC Add CCK modification for 40MHZ. Suggestion from SD3.
+ *
+ *---------------------------------------------------------------------------*/
+ static void phy_SwitchRfSetting8723A(PADAPTER pAdapter,u8 channel )
+{
+
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ u32 u4RF_IPA[3], u4RF_TXBIAS, u4RF_SYN_G2;
+
+ DBG_8192C("phy_SwitchRfSetting8723A channel=%d\n",channel);
+
+
+ if(channel >= 1 && channel <= 9)
+ {
+ DBG_8192C("phy_SwitchRfSetting8723A REG_AFE_PLL_CTRL 0xF0FFFF83\n");
+ PHY_SetBBReg(pAdapter, REG_AFE_PLL_CTRL, bMaskDWord, 0xF0FFFF83);
+ }
+ else if (channel >= 10 && channel <= 14)
+ {
+ DBG_8192C("phy_SwitchRfSetting8723A REG_AFE_PLL_CTRL 0xF2FFFF83\n");
+ PHY_SetBBReg(pAdapter, REG_AFE_PLL_CTRL, bMaskDWord, 0xF2FFFF83);
+ }
+
+
+#if DEV_BUS_TYPE==RT_PCI_INTERFACE
+ u4Byte u4RF_IPA[3], u4RF_TXBIAS, u4RF_SYN_G2;
+ //default value
+ {
+ u4RF_IPA[0] = 0x4F424; //CCK
+ u4RF_IPA[1] = 0xCF424; //OFDM
+ u4RF_IPA[2] = 0x8F424; //MCS
+ u4RF_TXBIAS = 0xC0356;
+ u4RF_SYN_G2 = 0x4F200;
+ }
+
+ switch(channel)
+ {
+ case 1:
+ u4RF_IPA[0] = 0x4F40C;
+ u4RF_IPA[1] = 0xCF466;
+ u4RF_TXBIAS = 0xC0350;
+ u4RF_SYN_G2 = 0x0F400;
+ break;
+
+ case 2:
+ u4RF_IPA[0] = 0x4F407;
+ u4RF_TXBIAS = 0xC0350;
+ u4RF_SYN_G2 = 0x0F400;
+ break;
+
+ case 3:
+ u4RF_IPA[0] = 0x4F407;
+ u4RF_IPA[2] = 0x8F466;
+ u4RF_TXBIAS = 0xC0350;
+ u4RF_SYN_G2 = 0x0F400;
+ break;
+
+ case 5:
+ case 8:
+ u4RF_SYN_G2 = 0x0F400;
+ break;
+
+ case 6:
+ case 13:
+ u4RF_IPA[0] = 0x4F40C;
+ break;
+
+ case 7:
+ u4RF_IPA[0] = 0x4F40C;
+ u4RF_SYN_G2 = 0x0F400;
+ break;
+
+ case 9:
+ u4RF_IPA[2] = 0x8F454;
+ u4RF_SYN_G2 = 0x0F400;
+ break;
+
+ case 11:
+ u4RF_IPA[0] = 0x4F40C;
+ u4RF_IPA[1] = 0xCF454;
+ u4RF_SYN_G2 = 0x0F400;
+ break;
+
+ default:
+ u4RF_IPA[0] = 0x4F424;
+ u4RF_IPA[1] = 0x8F424;
+ u4RF_IPA[2] = 0xCF424;
+ u4RF_TXBIAS = 0xC0356;
+ u4RF_SYN_G2 = 0x4F200;
+ break;
+ }
+
+ PHY_SetRFReg(pAdapter, ODM_RF_PATH_A, RF_IPA, bRFRegOffsetMask, u4RF_IPA[0]);
+ PHY_SetRFReg(pAdapter, ODM_RF_PATH_A, RF_IPA, bRFRegOffsetMask, u4RF_IPA[1]);
+ PHY_SetRFReg(pAdapter, ODM_RF_PATH_A, RF_IPA, bRFRegOffsetMask, u4RF_IPA[2]);
+ PHY_SetRFReg(pAdapter, ODM_RF_PATH_A, RF_TXBIAS, bRFRegOffsetMask, u4RF_TXBIAS);
+ PHY_SetRFReg(pAdapter, ODM_RF_PATH_A, RF_SYN_G2, bRFRegOffsetMask, u4RF_SYN_G2);
+
+ if((channel >= 1 && channel <= 5) || (channel >= 8 && channel <= 9))
+ {
+ PHY_SetBBReg(pAdapter, REG_AFE_PLL_CTRL, bMaskDWord, 0xF0FFFF83);
+ }
+ else
+ {
+ PHY_SetBBReg(pAdapter, REG_AFE_PLL_CTRL, bMaskDWord, 0xF2FFFF83);
+ }
+
+#endif
+
+
+}
+
+
+
+
+void Hal_mpt_SwitchRfSetting(PADAPTER pAdapter)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ PMPT_CONTEXT pMptCtx = &(pAdapter->mppriv.MptCtx);
+ u8 ChannelToSw ;
+
+ pMptCtx->MptChannelToSw=pAdapter->mppriv.channel;
+ ChannelToSw =pMptCtx->MptChannelToSw;
+
+ phy_SwitchRfSetting8723A(pAdapter, ChannelToSw);
+}
+
+
+
+
+s32 Hal_SetPowerTracking(PADAPTER padapter, u8 enable)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+
+
+ if (!netif_running(padapter->pnetdev)) {
+ RT_TRACE(_module_mp_, _drv_warning_, ("SetPowerTracking! Fail: interface not opened!\n"));
+ return _FAIL;
+ }
+
+ if (check_fwstate(&padapter->mlmepriv, WIFI_MP_STATE) == _FALSE) {
+ RT_TRACE(_module_mp_, _drv_warning_, ("SetPowerTracking! Fail: not in MP mode!\n"));
+ return _FAIL;
+ }
+
+ if (enable)
+ pdmpriv->TxPowerTrackControl = _TRUE;
+ else
+ pdmpriv->TxPowerTrackControl = _FALSE;
+
+ return _SUCCESS;
+}
+
+void Hal_GetPowerTracking(PADAPTER padapter, u8 *enable)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+
+
+ *enable = pdmpriv->TxPowerTrackControl;
+}
+
+static void Hal_disable_dm(PADAPTER padapter)
+{
+ u8 v8;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+
+
+ //3 1. disable firmware dynamic mechanism
+ // disable Power Training, Rate Adaptive
+ v8 = rtw_read8(padapter, REG_BCN_CTRL);
+ v8 &= ~EN_BCN_FUNCTION;
+ rtw_write8(padapter, REG_BCN_CTRL, v8);
+
+ //3 2. disable driver dynamic mechanism
+ // disable Dynamic Initial Gain
+ // disable High Power
+ // disable Power Tracking
+ Switch_DM_Func(padapter, DYNAMIC_FUNC_DISABLE, _FALSE);
+
+ // enable APK, LCK and IQK but disable power tracking
+ pdmpriv->TxPowerTrackControl = _FALSE;
+ Switch_DM_Func(padapter, DYNAMIC_RF_TX_PWR_TRACK , _TRUE);
+}
+
+void Hal_MPT_CCKTxPowerAdjust(PADAPTER Adapter, BOOLEAN bInCH14)
+{
+ u32 TempVal = 0, TempVal2 = 0, TempVal3 = 0;
+ u32 CurrCCKSwingVal = 0, CCKSwingIndex = 12;
+ u8 i;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+
+ // get current cck swing value and check 0xa22 & 0xa23 later to match the table.
+ CurrCCKSwingVal = read_bbreg(Adapter, rCCK0_TxFilter1, bMaskHWord);
+
+ if (!bInCH14)
+ {
+ // Readback the current bb cck swing value and compare with the table to
+ // get the current swing index
+ for (i = 0; i < CCK_TABLE_SIZE; i++)
+ {
+ if (((CurrCCKSwingVal&0xff) == (u32)CCKSwingTable_Ch1_Ch13[i][0]) &&
+ (((CurrCCKSwingVal&0xff00)>>8) == (u32)CCKSwingTable_Ch1_Ch13[i][1]))
+ {
+ CCKSwingIndex = i;
+// RT_TRACE(COMP_INIT, DBG_LOUD,("Ch1~13, Current reg0x%x = 0x%lx, CCKSwingIndex=0x%x\n",
+// (rCCK0_TxFilter1+2), CurrCCKSwingVal, CCKSwingIndex));
+ break;
+ }
+ }
+
+ //Write 0xa22 0xa23
+ TempVal = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][0] +
+ (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][1]<<8) ;
+
+
+ //Write 0xa24 ~ 0xa27
+ TempVal2 = 0;
+ TempVal2 = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][2] +
+ (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][3]<<8) +
+ (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][4]<<16 )+
+ (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][5]<<24);
+
+ //Write 0xa28 0xa29
+ TempVal3 = 0;
+ TempVal3 = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][6] +
+ (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][7]<<8) ;
+ }
+ else
+ {
+ for (i = 0; i < CCK_TABLE_SIZE; i++)
+ {
+ if (((CurrCCKSwingVal&0xff) == (u32)CCKSwingTable_Ch14[i][0]) &&
+ (((CurrCCKSwingVal&0xff00)>>8) == (u32)CCKSwingTable_Ch14[i][1]))
+ {
+ CCKSwingIndex = i;
+// RT_TRACE(COMP_INIT, DBG_LOUD,("Ch14, Current reg0x%x = 0x%lx, CCKSwingIndex=0x%x\n",
+// (rCCK0_TxFilter1+2), CurrCCKSwingVal, CCKSwingIndex));
+ break;
+ }
+ }
+
+ //Write 0xa22 0xa23
+ TempVal = CCKSwingTable_Ch14[CCKSwingIndex][0] +
+ (CCKSwingTable_Ch14[CCKSwingIndex][1]<<8) ;
+
+ //Write 0xa24 ~ 0xa27
+ TempVal2 = 0;
+ TempVal2 = CCKSwingTable_Ch14[CCKSwingIndex][2] +
+ (CCKSwingTable_Ch14[CCKSwingIndex][3]<<8) +
+ (CCKSwingTable_Ch14[CCKSwingIndex][4]<<16 )+
+ (CCKSwingTable_Ch14[CCKSwingIndex][5]<<24);
+
+ //Write 0xa28 0xa29
+ TempVal3 = 0;
+ TempVal3 = CCKSwingTable_Ch14[CCKSwingIndex][6] +
+ (CCKSwingTable_Ch14[CCKSwingIndex][7]<<8) ;
+ }
+
+ write_bbreg(Adapter, rCCK0_TxFilter1, bMaskHWord, TempVal);
+ write_bbreg(Adapter, rCCK0_TxFilter2, bMaskDWord, TempVal2);
+ write_bbreg(Adapter, rCCK0_DebugPort, bMaskLWord, TempVal3);
+}
+
+void Hal_MPT_CCKTxPowerAdjustbyIndex(PADAPTER pAdapter, BOOLEAN beven)
+{
+ s32 TempCCk;
+ u8 CCK_index, CCK_index_old;
+ u8 Action = 0; //0: no action, 1: even->odd, 2:odd->even
+ u8 TimeOut = 100;
+ s32 i = 0;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ PMPT_CONTEXT pMptCtx = &pAdapter->mppriv.MptCtx;
+
+
+ if (!IS_92C_SERIAL(pHalData->VersionID))
+ return;
+#if 0
+ while(PlatformAtomicExchange(&Adapter->IntrCCKRefCount, TRUE) == TRUE)
+ {
+ PlatformSleepUs(100);
+ TimeOut--;
+ if(TimeOut <= 0)
+ {
+ RTPRINT(FINIT, INIT_TxPower,
+ ("!!!MPT_CCKTxPowerAdjustbyIndex Wait for check CCK gain index too long!!!\n" ));
+ break;
+ }
+ }
+#endif
+ if (beven && !pMptCtx->bMptIndexEven) //odd->even
+ {
+ Action = 2;
+ pMptCtx->bMptIndexEven = _TRUE;
+ }
+ else if (!beven && pMptCtx->bMptIndexEven) //even->odd
+ {
+ Action = 1;
+ pMptCtx->bMptIndexEven = _FALSE;
+ }
+
+ if (Action != 0)
+ {
+ //Query CCK default setting From 0xa24
+ TempCCk = read_bbreg(pAdapter, rCCK0_TxFilter2, bMaskDWord) & bMaskCCK;
+ for (i = 0; i < CCK_TABLE_SIZE; i++)
+ {
+ if (pHalData->dmpriv.bCCKinCH14)
+ {
+ if (_rtw_memcmp((void*)&TempCCk, (void*)&CCKSwingTable_Ch14[i][2], 4) == _TRUE)
+ {
+ CCK_index_old = (u8) i;
+// RTPRINT(FINIT, INIT_TxPower,("MPT_CCKTxPowerAdjustbyIndex: Initial reg0x%x = 0x%lx, CCK_index=0x%x, ch 14 %d\n",
+// rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ else
+ {
+ if (_rtw_memcmp((void*)&TempCCk, (void*)&CCKSwingTable_Ch1_Ch13[i][2], 4) == _TRUE)
+ {
+ CCK_index_old = (u8) i;
+// RTPRINT(FINIT, INIT_TxPower,("MPT_CCKTxPowerAdjustbyIndex: Initial reg0x%x = 0x%lx, CCK_index=0x%x, ch14 %d\n",
+// rCCK0_TxFilter2, TempCCk, CCK_index_old, pHalData->bCCKinCH14));
+ break;
+ }
+ }
+ }
+
+ if (Action == 1)
+ CCK_index = CCK_index_old - 1;
+ else
+ CCK_index = CCK_index_old + 1;
+
+// RTPRINT(FINIT, INIT_TxPower,("MPT_CCKTxPowerAdjustbyIndex: new CCK_index=0x%x\n",
+// CCK_index));
+
+ //Adjust CCK according to gain index
+ if (!pHalData->dmpriv.bCCKinCH14) {
+ rtw_write8(pAdapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]);
+ rtw_write8(pAdapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]);
+ rtw_write8(pAdapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]);
+ rtw_write8(pAdapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]);
+ rtw_write8(pAdapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]);
+ rtw_write8(pAdapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]);
+ rtw_write8(pAdapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]);
+ rtw_write8(pAdapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]);
+ } else {
+ rtw_write8(pAdapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]);
+ rtw_write8(pAdapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]);
+ rtw_write8(pAdapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]);
+ rtw_write8(pAdapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]);
+ rtw_write8(pAdapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]);
+ rtw_write8(pAdapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]);
+ rtw_write8(pAdapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]);
+ rtw_write8(pAdapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]);
+ }
+ }
+#if 0
+ RTPRINT(FINIT, INIT_TxPower,
+ ("MPT_CCKTxPowerAdjustbyIndex 0xa20=%x\n", PlatformEFIORead4Byte(Adapter, 0xa20)));
+
+ PlatformAtomicExchange(&Adapter->IntrCCKRefCount, FALSE);
+#endif
+}
+/*---------------------------hal\rtl8192c\MPT_HelperFunc.c---------------------------*/
+
+/*
+ * SetChannel
+ * Description
+ * Use H2C command to change channel,
+ * not only modify rf register, but also other setting need to be done.
+ */
+void Hal_SetChannel(PADAPTER pAdapter)
+{
+#if 0
+ struct mp_priv *pmp = &pAdapter->mppriv;
+
+// SelectChannel(pAdapter, pmp->channel);
+ set_channel_bwmode(pAdapter, pmp->channel, pmp->channel_offset, pmp->bandwidth);
+#else
+ u8 eRFPath;
+
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ struct mp_priv *pmp = &pAdapter->mppriv;
+ u8 channel = pmp->channel;
+ u8 bandwidth = pmp->bandwidth;
+ u8 rate = pmp->rateidx;
+
+
+ // set RF channel register
+ for (eRFPath = 0; eRFPath < pHalData->NumTotalRFPath; eRFPath++)
+ {
+ if(IS_HARDWARE_TYPE_8192D(pAdapter))
+ _write_rfreg(pAdapter, (RF_RADIO_PATH_E)eRFPath, rRfChannel, 0xFF, channel);
+ else
+ _write_rfreg(pAdapter, eRFPath, rRfChannel, 0x3FF, channel);
+ }
+ Hal_mpt_SwitchRfSetting(pAdapter);
+
+ SelectChannel(pAdapter, channel);
+
+ if (pHalData->CurrentChannel == 14 && !pHalData->dmpriv.bCCKinCH14) {
+ pHalData->dmpriv.bCCKinCH14 = _TRUE;
+ Hal_MPT_CCKTxPowerAdjust(pAdapter, pHalData->dmpriv.bCCKinCH14);
+ }
+ else if (pHalData->CurrentChannel != 14 && pHalData->dmpriv.bCCKinCH14) {
+ pHalData->dmpriv.bCCKinCH14 = _FALSE;
+ Hal_MPT_CCKTxPowerAdjust(pAdapter, pHalData->dmpriv.bCCKinCH14);
+ }
+
+#endif
+}
+
+/*
+ * Notice
+ * Switch bandwitdth may change center frequency(channel)
+ */
+void Hal_SetBandwidth(PADAPTER pAdapter)
+{
+ struct mp_priv *pmp = &pAdapter->mppriv;
+
+
+ SetBWMode(pAdapter, pmp->bandwidth, pmp->prime_channel_offset);
+ Hal_mpt_SwitchRfSetting(pAdapter);
+}
+
+void Hal_SetCCKTxPower(PADAPTER pAdapter, u8 *TxPower)
+{
+ u32 tmpval = 0;
+
+
+ // rf-A cck tx power
+ write_bbreg(pAdapter, rTxAGC_A_CCK1_Mcs32, bMaskByte1, TxPower[RF_PATH_A]);
+ tmpval = (TxPower[RF_PATH_A]<<16) | (TxPower[RF_PATH_A]<<8) | TxPower[RF_PATH_A];
+ write_bbreg(pAdapter, rTxAGC_B_CCK11_A_CCK2_11, 0xffffff00, tmpval);
+
+ // rf-B cck tx power
+ write_bbreg(pAdapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte0, TxPower[RF_PATH_B]);
+ tmpval = (TxPower[RF_PATH_B]<<16) | (TxPower[RF_PATH_B]<<8) | TxPower[RF_PATH_B];
+ write_bbreg(pAdapter, rTxAGC_B_CCK1_55_Mcs32, 0xffffff00, tmpval);
+
+ RT_TRACE(_module_mp_, _drv_notice_,
+ ("-SetCCKTxPower: A[0x%02x] B[0x%02x]\n",
+ TxPower[RF_PATH_A], TxPower[RF_PATH_B]));
+}
+
+void Hal_SetOFDMTxPower(PADAPTER pAdapter, u8 *TxPower)
+{
+ u32 TxAGC = 0;
+ u8 tmpval = 0;
+ PMPT_CONTEXT pMptCtx = &pAdapter->mppriv.MptCtx;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+
+
+ // HT Tx-rf(A)
+ tmpval = TxPower[RF_PATH_A];
+ TxAGC = (tmpval<<24) | (tmpval<<16) | (tmpval<<8) | tmpval;
+
+ write_bbreg(pAdapter, rTxAGC_A_Rate18_06, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_A_Rate54_24, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_A_Mcs03_Mcs00, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_A_Mcs07_Mcs04, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_A_Mcs11_Mcs08, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_A_Mcs15_Mcs12, bMaskDWord, TxAGC);
+
+ if (pHalData->dmpriv.bAPKdone && !IS_NORMAL_CHIP(pHalData->VersionID))
+ {
+ if (tmpval > pMptCtx->APK_bound[RF_PATH_A])
+ write_rfreg(pAdapter, RF_PATH_A, 0xe, pHalData->dmpriv.APKoutput[0][0]);
+ else
+ write_rfreg(pAdapter, RF_PATH_A, 0xe, pHalData->dmpriv.APKoutput[0][1]);
+ }
+
+ // HT Tx-rf(B)
+ tmpval = TxPower[RF_PATH_B];
+ TxAGC = (tmpval<<24) | (tmpval<<16) | (tmpval<<8) | tmpval;
+
+ write_bbreg(pAdapter, rTxAGC_B_Rate18_06, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_B_Rate54_24, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_B_Mcs03_Mcs00, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_B_Mcs07_Mcs04, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_B_Mcs11_Mcs08, bMaskDWord, TxAGC);
+ write_bbreg(pAdapter, rTxAGC_B_Mcs15_Mcs12, bMaskDWord, TxAGC);
+
+ if (pHalData->dmpriv.bAPKdone && !IS_NORMAL_CHIP(pHalData->VersionID))
+ {
+ if (tmpval > pMptCtx->APK_bound[RF_PATH_B])
+ write_rfreg(pAdapter, RF_PATH_B, 0xe, pHalData->dmpriv.APKoutput[1][0]);
+ else
+ write_rfreg(pAdapter, RF_PATH_B, 0xe, pHalData->dmpriv.APKoutput[1][1]);
+ }
+
+ RT_TRACE(_module_mp_, _drv_notice_,
+ ("-SetOFDMTxPower: A[0x%02x] B[0x%02x]\n",
+ TxPower[RF_PATH_A], TxPower[RF_PATH_B]));
+}
+
+void Hal_SetAntennaPathPower(PADAPTER pAdapter)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ u8 TxPowerLevel[MAX_RF_PATH_NUMS];
+ u8 rfPath;
+
+ TxPowerLevel[RF_PATH_A] = pAdapter->mppriv.txpoweridx;
+ TxPowerLevel[RF_PATH_B] = pAdapter->mppriv.txpoweridx_b;
+
+ switch (pAdapter->mppriv.antenna_tx)
+ {
+ case ANTENNA_A:
+ default:
+ rfPath = RF_PATH_A;
+ break;
+ case ANTENNA_B:
+ rfPath = RF_PATH_B;
+ break;
+ case ANTENNA_C:
+ rfPath = RF_PATH_C;
+ break;
+ }
+
+ switch (pHalData->rf_chip)
+ {
+ case RF_8225:
+ case RF_8256:
+ case RF_6052:
+ Hal_SetCCKTxPower(pAdapter, TxPowerLevel);
+ if (pAdapter->mppriv.rateidx < MPT_RATE_6M) // CCK rate
+ Hal_MPT_CCKTxPowerAdjustbyIndex(pAdapter, TxPowerLevel[rfPath]%2 == 0);
+ Hal_SetOFDMTxPower(pAdapter, TxPowerLevel);
+ break;
+
+ default:
+ break;
+ }
+}
+
+void Hal_SetTxPower(PADAPTER pAdapter)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ u8 TxPower = pAdapter->mppriv.txpoweridx;
+ u8 TxPowerLevel[MAX_RF_PATH_NUMS];
+ u8 rf, rfPath;
+
+ for (rf = 0; rf < MAX_RF_PATH_NUMS; rf++) {
+ TxPowerLevel[rf] = TxPower;
+ }
+
+ switch (pAdapter->mppriv.antenna_tx)
+ {
+ case ANTENNA_A:
+ default:
+ rfPath = RF_PATH_A;
+ break;
+ case ANTENNA_B:
+ rfPath = RF_PATH_B;
+ break;
+ case ANTENNA_C:
+ rfPath = RF_PATH_C;
+ break;
+ }
+
+ switch (pHalData->rf_chip)
+ {
+ // 2008/09/12 MH Test only !! We enable the TX power tracking for MP!!!!!
+ // We should call normal driver API later!!
+ case RF_8225:
+ case RF_8256:
+ case RF_6052:
+ Hal_SetCCKTxPower(pAdapter, TxPowerLevel);
+ if (pAdapter->mppriv.rateidx < MPT_RATE_6M) // CCK rate
+ Hal_MPT_CCKTxPowerAdjustbyIndex(pAdapter, TxPowerLevel[rfPath]%2 == 0);
+ Hal_SetOFDMTxPower(pAdapter, TxPowerLevel);
+ break;
+
+ default:
+ break;
+ }
+
+// SetCCKTxPower(pAdapter, TxPower);
+// SetOFDMTxPower(pAdapter, TxPower);
+}
+
+void Hal_SetTxAGCOffset(PADAPTER pAdapter, u32 ulTxAGCOffset)
+{
+ u32 TxAGCOffset_B, TxAGCOffset_C, TxAGCOffset_D,tmpAGC;
+
+ return ;
+
+ TxAGCOffset_B = (ulTxAGCOffset&0x000000ff);
+ TxAGCOffset_C = ((ulTxAGCOffset&0x0000ff00)>>8);
+ TxAGCOffset_D = ((ulTxAGCOffset&0x00ff0000)>>16);
+
+ tmpAGC = (TxAGCOffset_D<<8 | TxAGCOffset_C<<4 | TxAGCOffset_B);
+ write_bbreg(pAdapter, rFPGA0_TxGainStage,
+ (bXBTxAGC|bXCTxAGC|bXDTxAGC), tmpAGC);
+}
+
+void Hal_SetDataRate(PADAPTER pAdapter)
+{
+ if(!IS_HARDWARE_TYPE_8723A(pAdapter))
+ Hal_mpt_SwitchRfSetting(pAdapter);
+}
+
+
+void Hal_SetAntenna(PADAPTER pAdapter)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+
+ R_ANTENNA_SELECT_OFDM *p_ofdm_tx; /* OFDM Tx register */
+ R_ANTENNA_SELECT_CCK *p_cck_txrx;
+
+ u8 r_rx_antenna_ofdm = 0, r_ant_select_cck_val = 0;
+ u8 chgTx = 0, chgRx = 0;
+ u32 r_ant_sel_cck_val = 0, r_ant_select_ofdm_val = 0, r_ofdm_tx_en_val = 0;
+
+
+ p_ofdm_tx = (R_ANTENNA_SELECT_OFDM *)&r_ant_select_ofdm_val;
+ p_cck_txrx = (R_ANTENNA_SELECT_CCK *)&r_ant_select_cck_val;
+
+ p_ofdm_tx->r_ant_ht1 = 0x1;
+ p_ofdm_tx->r_ant_ht2 = 0x2; // Second TX RF path is A
+ p_ofdm_tx->r_ant_non_ht = 0x3; // 0x1+0x2=0x3
+
+ switch (pAdapter->mppriv.antenna_tx)
+ {
+ case ANTENNA_A:
+ p_ofdm_tx->r_tx_antenna = 0x1;
+ r_ofdm_tx_en_val = 0x1;
+ p_ofdm_tx->r_ant_l = 0x1;
+ p_ofdm_tx->r_ant_ht_s1 = 0x1;
+ p_ofdm_tx->r_ant_non_ht_s1 = 0x1;
+ p_cck_txrx->r_ccktx_enable = 0x8;
+ chgTx = 1;
+
+ // From SD3 Willis suggestion !!! Set RF A=TX and B as standby
+// if (IS_HARDWARE_TYPE_8192S(pAdapter))
+ {
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 2);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 1);
+ r_ofdm_tx_en_val = 0x3;
+
+ // Power save
+ //cosa r_ant_select_ofdm_val = 0x11111111;
+
+ // We need to close RFB by SW control
+ if (pHalData->rf_type == RF_2T2R)
+ {
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 1);
+ PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT1, 1);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT17, 0);
+ }
+ }
+ break;
+
+ case ANTENNA_B:
+ p_ofdm_tx->r_tx_antenna = 0x2;
+ r_ofdm_tx_en_val = 0x2;
+ p_ofdm_tx->r_ant_l = 0x2;
+ p_ofdm_tx->r_ant_ht_s1 = 0x2;
+ p_ofdm_tx->r_ant_non_ht_s1 = 0x2;
+ p_cck_txrx->r_ccktx_enable = 0x4;
+ chgTx = 1;
+
+ // From SD3 Willis suggestion !!! Set RF A as standby
+ //if (IS_HARDWARE_TYPE_8192S(pAdapter))
+ {
+ PHY_SetBBReg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 1);
+ PHY_SetBBReg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 2);
+// r_ofdm_tx_en_val = 0x3;
+
+ // Power save
+ //cosa r_ant_select_ofdm_val = 0x22222222;
+
+ // 2008/10/31 MH From SD3 Willi's suggestion. We must read RF 1T table.
+ // 2009/01/08 MH From Sd3 Willis. We need to close RFA by SW control
+ if (pHalData->rf_type == RF_2T2R || pHalData->rf_type == RF_1T2R)
+ {
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 1);
+ PHY_SetBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, BIT10, 0);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0);
+// PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT1, 0);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT17, 1);
+ }
+ }
+ break;
+
+ case ANTENNA_AB: // For 8192S
+ p_ofdm_tx->r_tx_antenna = 0x3;
+ r_ofdm_tx_en_val = 0x3;
+ p_ofdm_tx->r_ant_l = 0x3;
+ p_ofdm_tx->r_ant_ht_s1 = 0x3;
+ p_ofdm_tx->r_ant_non_ht_s1 = 0x3;
+ p_cck_txrx->r_ccktx_enable = 0xC;
+ chgTx = 1;
+
+ // From SD3 Willis suggestion !!! Set RF B as standby
+ //if (IS_HARDWARE_TYPE_8192S(pAdapter))
+ {
+ PHY_SetBBReg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 2);
+ PHY_SetBBReg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 2);
+
+ // Disable Power save
+ //cosa r_ant_select_ofdm_val = 0x3321333;
+#if 0
+ // 2008/10/31 MH From SD3 Willi's suggestion. We must read RFA 2T table.
+ if ((pHalData->VersionID == VERSION_8192S_ACUT)) // For RTL8192SU A-Cut only, by Roger, 2008.11.07.
+ {
+ mpt_RFConfigFromPreParaArrary(pAdapter, 1, RF_PATH_A);
+ }
+#endif
+ // 2009/01/08 MH From Sd3 Willis. We need to enable RFA/B by SW control
+ if (pHalData->rf_type == RF_2T2R)
+ {
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0);
+// PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT1, 1);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT17, 1);
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ //
+ // r_rx_antenna_ofdm, bit0=A, bit1=B, bit2=C, bit3=D
+ // r_cckrx_enable : CCK default, 0=A, 1=B, 2=C, 3=D
+ // r_cckrx_enable_2 : CCK option, 0=A, 1=B, 2=C, 3=D
+ //
+ switch (pAdapter->mppriv.antenna_rx)
+ {
+ case ANTENNA_A:
+ r_rx_antenna_ofdm = 0x1; // A
+ p_cck_txrx->r_cckrx_enable = 0x0; // default: A
+ p_cck_txrx->r_cckrx_enable_2 = 0x0; // option: A
+ chgRx = 1;
+ break;
+
+ case ANTENNA_B:
+ r_rx_antenna_ofdm = 0x2; // B
+ p_cck_txrx->r_cckrx_enable = 0x1; // default: B
+ p_cck_txrx->r_cckrx_enable_2 = 0x1; // option: B
+ chgRx = 1;
+ break;
+
+ case ANTENNA_AB:
+ r_rx_antenna_ofdm = 0x3; // AB
+ p_cck_txrx->r_cckrx_enable = 0x0; // default:A
+ p_cck_txrx->r_cckrx_enable_2 = 0x1; // option:B
+ chgRx = 1;
+ break;
+
+ default:
+ break;
+ }
+
+ if (chgTx && chgRx)
+ {
+ switch(pHalData->rf_chip)
+ {
+ case RF_8225:
+ case RF_8256:
+ case RF_6052:
+ //r_ant_sel_cck_val = r_ant_select_cck_val;
+ PHY_SetBBReg(pAdapter, rFPGA1_TxInfo, 0x7fffffff, r_ant_select_ofdm_val); //OFDM Tx
+ PHY_SetBBReg(pAdapter, rFPGA0_TxInfo, 0x0000000f, r_ofdm_tx_en_val); //OFDM Tx
+ PHY_SetBBReg(pAdapter, rOFDM0_TRxPathEnable, 0x0000000f, r_rx_antenna_ofdm); //OFDM Rx
+ PHY_SetBBReg(pAdapter, rOFDM1_TRxPathEnable, 0x0000000f, r_rx_antenna_ofdm); //OFDM Rx
+ PHY_SetBBReg(pAdapter, rCCK0_AFESetting, bMaskByte3, r_ant_select_cck_val);//r_ant_sel_cck_val); //CCK TxRx
+
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ RT_TRACE(_module_mp_, _drv_notice_, ("-SwitchAntenna: finished\n"));
+}
+
+s32 Hal_SetThermalMeter(PADAPTER pAdapter, u8 target_ther)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+
+
+ if (!netif_running(pAdapter->pnetdev)) {
+ RT_TRACE(_module_mp_, _drv_warning_, ("SetThermalMeter! Fail: interface not opened!\n"));
+ return _FAIL;
+ }
+
+ if (check_fwstate(&pAdapter->mlmepriv, WIFI_MP_STATE) == _FALSE) {
+ RT_TRACE(_module_mp_, _drv_warning_, ("SetThermalMeter: Fail! not in MP mode!\n"));
+ return _FAIL;
+ }
+
+ target_ther &= 0xff;
+ if (target_ther < 0x07)
+ target_ther = 0x07;
+ else if (target_ther > 0x1d)
+ target_ther = 0x1d;
+
+ pHalData->EEPROMThermalMeter = target_ther;
+
+ return _SUCCESS;
+}
+
+void Hal_TriggerRFThermalMeter(PADAPTER pAdapter)
+{
+
+ write_rfreg(pAdapter, RF_PATH_A, RF_T_METER, 0x60); // 0x24: RF Reg[6:5]
+
+// RT_TRACE(_module_mp_,_drv_alert_, ("TriggerRFThermalMeter() finished.\n" ));
+}
+
+u8 Hal_ReadRFThermalMeter(PADAPTER pAdapter)
+{
+ u32 ThermalValue = 0;
+
+ ThermalValue = _read_rfreg(pAdapter, RF_PATH_A, RF_T_METER, 0x1F); // 0x24: RF Reg[4:0]
+// RT_TRACE(_module_mp_, _drv_alert_, ("ThermalValue = 0x%x\n", ThermalValue));
+ return (u8)ThermalValue;
+}
+
+void Hal_GetThermalMeter(PADAPTER pAdapter, u8 *value)
+{
+#if 0
+ fw_cmd(pAdapter, IOCMD_GET_THERMAL_METER);
+ rtw_msleep_os(1000);
+ fw_cmd_data(pAdapter, value, 1);
+ *value &= 0xFF;
+#else
+
+ Hal_TriggerRFThermalMeter(pAdapter);
+ rtw_msleep_os(1000);
+ *value = Hal_ReadRFThermalMeter(pAdapter);
+#endif
+}
+
+void Hal_SetSingleCarrierTx(PADAPTER pAdapter, u8 bStart)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ pAdapter->mppriv.MptCtx.bSingleCarrier = bStart;
+ if (bStart)// Start Single Carrier.
+ {
+ RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleCarrierTx: test start\n"));
+ // 1. if OFDM block on?
+ if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn))
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, bEnable);//set OFDM block on
+
+ {
+ // 2. set CCK test mode off, set to CCK normal mode
+ write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, bDisable);
+ // 3. turn on scramble setting
+ write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable);
+ }
+ // 4. Turn On Single Carrier Tx and turn off the other test modes.
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bEnable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
+#ifdef CONFIG_RTL8192C
+ // 5. Disable TX power saving at STF & LLTF
+ write_bbreg(pAdapter, rOFDM1_LSTF, BIT22, 1);
+#endif
+ }
+ else// Stop Single Carrier.
+ {
+ RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleCarrierTx: test stop\n"));
+
+ // Turn off all test modes.
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
+#ifdef CONFIG_RTL8192C
+ // Cancel disable TX power saving at STF&LLTF
+ write_bbreg(pAdapter, rOFDM1_LSTF, BIT22, 0);
+#endif
+ //Delay 10 ms //delay_ms(10);
+ rtw_msleep_os(10);
+
+ //BB Reset
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
+ }
+}
+
+
+void Hal_SetSingleToneTx(PADAPTER pAdapter, u8 bStart)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ BOOLEAN is92C = IS_92C_SERIAL(pHalData->VersionID);
+
+ u8 rfPath;
+
+ switch (pAdapter->mppriv.antenna_tx)
+ {
+ case ANTENNA_A:
+ default:
+ rfPath = RF_PATH_A;
+ break;
+ case ANTENNA_B:
+ rfPath = RF_PATH_B;
+ break;
+ case ANTENNA_C:
+ rfPath = RF_PATH_C;
+ break;
+ }
+
+ pAdapter->mppriv.MptCtx.bSingleTone = bStart;
+ if (bStart)// Start Single Tone.
+ {
+ RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleToneTx: test start\n"));
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, 0x0);
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, 0x0);
+
+ if (is92C)
+ {
+ _write_rfreg(pAdapter, RF_PATH_A, 0x21, BIT19, 0x01);
+ rtw_usleep_os(100);
+ if (rfPath == RF_PATH_A)
+ write_rfreg(pAdapter, RF_PATH_B, 0x00, 0x10000); // PAD all on.
+ else if (rfPath == RF_PATH_B)
+ write_rfreg(pAdapter, RF_PATH_A, 0x00, 0x10000); // PAD all on.
+ write_rfreg(pAdapter, rfPath, 0x00, 0x2001f); // PAD all on.
+ rtw_usleep_os(100);
+ }
+ else
+ {
+ write_rfreg(pAdapter, rfPath, 0x21, 0xd4000);
+ rtw_usleep_os(100);
+ write_rfreg(pAdapter, rfPath, 0x00, 0x2001f); // PAD all on.
+ rtw_usleep_os(100);
+ }
+
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
+
+ }
+ else// Stop Single Tone.
+ {
+ RT_TRACE(_module_mp_,_drv_alert_, ("SetSingleToneTx: test stop\n"));
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, 0x1);
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, 0x1);
+
+ if (is92C) {
+ _write_rfreg(pAdapter, RF_PATH_A, 0x21, BIT19, 0x00);
+ rtw_usleep_os(100);
+ write_rfreg(pAdapter, RF_PATH_A, 0x00, 0x32d75); // PAD all on.
+ write_rfreg(pAdapter, RF_PATH_B, 0x00, 0x32d75); // PAD all on.
+ rtw_usleep_os(100);
+ } else {
+ write_rfreg(pAdapter, rfPath, 0x21, 0x54000);
+ rtw_usleep_os(100);
+ write_rfreg(pAdapter, rfPath, 0x00, 0x30000); // PAD all on.
+ rtw_usleep_os(100);
+ }
+
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
+
+ }
+
+}
+
+
+void Hal_SetCarrierSuppressionTx(PADAPTER pAdapter, u8 bStart)
+{
+ pAdapter->mppriv.MptCtx.bCarrierSuppression = bStart;
+ if (bStart) // Start Carrier Suppression.
+ {
+ RT_TRACE(_module_mp_,_drv_alert_, ("SetCarrierSuppressionTx: test start\n"));
+ //if(pMgntInfo->dot11CurrentWirelessMode == WIRELESS_MODE_B)
+ if (pAdapter->mppriv.rateidx <= MPT_RATE_11M)
+ {
+ // 1. if CCK block on?
+ if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn))
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, bEnable);//set CCK block on
+
+ //Turn Off All Test Mode
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
+
+ write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x2); //transmit mode
+ write_bbreg(pAdapter, rCCK0_System, bCCKScramble, 0x0); //turn off scramble setting
+
+ //Set CCK Tx Test Rate
+ //PHY_SetBBReg(pAdapter, rCCK0_System, bCCKTxRate, pMgntInfo->ForcedDataRate);
+ write_bbreg(pAdapter, rCCK0_System, bCCKTxRate, 0x0); //Set FTxRate to 1Mbps
+ }
+
+ //Set for dynamic set Power index
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
+
+ }
+ else// Stop Carrier Suppression.
+ {
+ RT_TRACE(_module_mp_,_drv_alert_, ("SetCarrierSuppressionTx: test stop\n"));
+ //if(pMgntInfo->dot11CurrentWirelessMode == WIRELESS_MODE_B)
+ if (pAdapter->mppriv.rateidx <= MPT_RATE_11M ) {
+ write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x0); //normal mode
+ write_bbreg(pAdapter, rCCK0_System, bCCKScramble, 0x1); //turn on scramble setting
+
+ //BB Reset
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
+ }
+ //Stop for dynamic set Power index
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
+ }
+ //DbgPrint("\n MPT_ProSetCarrierSupp() is finished. \n");
+}
+
+void Hal_SetCCKContinuousTx(PADAPTER pAdapter, u8 bStart)
+{
+ u32 cckrate;
+
+ if (bStart)
+ {
+ RT_TRACE(_module_mp_, _drv_alert_,
+ ("SetCCKContinuousTx: test start\n"));
+
+ // 1. if CCK block on?
+ if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn))
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, bEnable);//set CCK block on
+
+ //Turn Off All Test Mode
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
+ //Set CCK Tx Test Rate
+ #if 0
+ switch(pAdapter->mppriv.rateidx)
+ {
+ case 2:
+ cckrate = 0;
+ break;
+ case 4:
+ cckrate = 1;
+ break;
+ case 11:
+ cckrate = 2;
+ break;
+ case 22:
+ cckrate = 3;
+ break;
+ default:
+ cckrate = 0;
+ break;
+ }
+ #else
+ cckrate = pAdapter->mppriv.rateidx;
+ #endif
+ write_bbreg(pAdapter, rCCK0_System, bCCKTxRate, cckrate);
+ write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x2); //transmit mode
+ write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable); //turn on scramble setting
+
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
+
+ // Patch for CCK 11M waveform
+ if (cckrate == MPT_RATE_1M)
+ write_bbreg(pAdapter, 0xA71, BIT(6), bDisable);
+ else
+ write_bbreg(pAdapter, 0xA71, BIT(6), bEnable);
+
+
+ }
+ else {
+ RT_TRACE(_module_mp_, _drv_info_,
+ ("SetCCKContinuousTx: test stop\n"));
+
+ write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x0); //normal mode
+ write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable); //turn on scramble setting
+
+ //BB Reset
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
+
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
+ }
+
+ pAdapter->mppriv.MptCtx.bCckContTx = bStart;
+ pAdapter->mppriv.MptCtx.bOfdmContTx = _FALSE;
+}/* mpt_StartCckContTx */
+
+void Hal_SetOFDMContinuousTx(PADAPTER pAdapter, u8 bStart)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+
+ if (bStart) {
+ RT_TRACE(_module_mp_, _drv_info_, ("SetOFDMContinuousTx: test start\n"));
+ // 1. if OFDM block on?
+ if(!read_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn))
+ write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, bEnable);//set OFDM block on
+ {
+
+ // 2. set CCK test mode off, set to CCK normal mode
+ write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, bDisable);
+
+ // 3. turn on scramble setting
+ write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable);
+ }
+ // 4. Turn On Continue Tx and turn off the other test modes.
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bEnable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
+
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
+
+ } else {
+ RT_TRACE(_module_mp_,_drv_info_, ("SetOFDMContinuousTx: test stop\n"));
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
+ write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
+ //Delay 10 ms
+ rtw_msleep_os(10);
+ //BB Reset
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
+ write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
+
+ write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
+ write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
+ }
+
+ pAdapter->mppriv.MptCtx.bCckContTx = _FALSE;
+ pAdapter->mppriv.MptCtx.bOfdmContTx = bStart;
+}/* mpt_StartOfdmContTx */
+
+void Hal_SetContinuousTx(PADAPTER pAdapter, u8 bStart)
+{
+#if 0
+ // ADC turn off [bit24-21] adc port0 ~ port1
+ if (bStart) {
+ write_bbreg(pAdapter, rRx_Wait_CCCA, read_bbreg(pAdapter, rRx_Wait_CCCA) & 0xFE1FFFFF);
+ rtw_usleep_os(100);
+ }
+#endif
+ RT_TRACE(_module_mp_, _drv_info_,
+ ("SetContinuousTx: rate:%d\n", pAdapter->mppriv.rateidx));
+
+ pAdapter->mppriv.MptCtx.bStartContTx = bStart;
+ if (pAdapter->mppriv.rateidx <= MPT_RATE_11M)
+ {
+ Hal_SetCCKContinuousTx(pAdapter, bStart);
+ }
+ else if ((pAdapter->mppriv.rateidx >= MPT_RATE_6M) &&
+ (pAdapter->mppriv.rateidx <= MPT_RATE_MCS15))
+ {
+ Hal_SetOFDMContinuousTx(pAdapter, bStart);
+ }
+#if 0
+ // ADC turn on [bit24-21] adc port0 ~ port1
+ if (!bStart) {
+ write_bbreg(pAdapter, rRx_Wait_CCCA, read_bbreg(pAdapter, rRx_Wait_CCCA) | 0x01E00000);
+ }
+#endif
+}
+
+#endif // CONFIG_MP_INCLUDE
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_phycfg.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_phycfg.c index 87e059996a58..0efb64a89055 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_phycfg.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_phycfg.c @@ -1,3397 +1,3406 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -#define _RTL8723A_PHYCFG_C_ - -#include <drv_conf.h> -#include <osdep_service.h> -#include <drv_types.h> -#include <rtw_byteorder.h> - -#ifdef CONFIG_IOL -#include <rtw_iol.h> -#endif - -#include <rtl8723a_hal.h> - - -/*---------------------------Define Local Constant---------------------------*/ -/* Channel switch:The size of command tables for switch channel*/ -#define MAX_PRECMD_CNT 16 -#define MAX_RFDEPENDCMD_CNT 16 -#define MAX_POSTCMD_CNT 16 - -#define MAX_DOZE_WAITING_TIMES_9x 64 - -/*---------------------------Define Local Constant---------------------------*/ - - -/*------------------------Define global variable-----------------------------*/ - -/*------------------------Define local variable------------------------------*/ - - -/*--------------------Define export function prototype-----------------------*/ -// Please refer to header file -/*--------------------Define export function prototype-----------------------*/ - -/*----------------------------Function Body----------------------------------*/ -// -// 1. BB register R/W API -// - -/** -* Function: phy_CalculateBitShift -* -* OverView: Get shifted position of the BitMask -* -* Input: -* u4Byte BitMask, -* -* Output: none -* Return: u4Byte Return the shift bit bit position of the mask -*/ -static u32 -phy_CalculateBitShift( - u32 BitMask - ) -{ - u32 i; - - for(i=0; i<=31; i++) - { - if ( ((BitMask>>i) & 0x1 ) == 1) - break; - } - - return (i); -} - - -/** -* Function: PHY_QueryBBReg -* -* OverView: Read "sepcific bits" from BB register -* -* Input: -* PADAPTER Adapter, -* u4Byte RegAddr, //The target address to be readback -* u4Byte BitMask //The target bit position in the target address -* //to be readback -* Output: None -* Return: u4Byte Data //The readback register value -* Note: This function is equal to "GetRegSetting" in PHY programming guide -*/ -u32 -rtl8192c_PHY_QueryBBReg( - IN PADAPTER Adapter, - IN u32 RegAddr, - IN u32 BitMask - ) -{ - u32 ReturnValue = 0, OriginalValue, BitShift; - u16 BBWaitCounter = 0; - -#if (DISABLE_BB_RF == 1) - return 0; -#endif - - //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_QueryBBReg(): RegAddr(%#lx), BitMask(%#lx)\n", RegAddr, BitMask)); - - OriginalValue = rtw_read32(Adapter, RegAddr); - BitShift = phy_CalculateBitShift(BitMask); - ReturnValue = (OriginalValue & BitMask) >> BitShift; - - //RTPRINT(FPHY, PHY_BBR, ("BBR MASK=0x%lx Addr[0x%lx]=0x%lx\n", BitMask, RegAddr, OriginalValue)); - //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_QueryBBReg(): RegAddr(%#lx), BitMask(%#lx), OriginalValue(%#lx)\n", RegAddr, BitMask, OriginalValue)); - - return (ReturnValue); - -} - - -/** -* Function: PHY_SetBBReg -* -* OverView: Write "Specific bits" to BB register (page 8~) -* -* Input: -* PADAPTER Adapter, -* u4Byte RegAddr, //The target address to be modified -* u4Byte BitMask //The target bit position in the target address -* //to be modified -* u4Byte Data //The new register value in the target bit position -* //of the target address -* -* Output: None -* Return: None -* Note: This function is equal to "PutRegSetting" in PHY programming guide -*/ - -VOID -rtl8192c_PHY_SetBBReg( - IN PADAPTER Adapter, - IN u32 RegAddr, - IN u32 BitMask, - IN u32 Data - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - //u16 BBWaitCounter = 0; - u32 OriginalValue, BitShift; - -#if (DISABLE_BB_RF == 1) - return; -#endif - - //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_SetBBReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx)\n", RegAddr, BitMask, Data)); - - if(BitMask!= bMaskDWord){//if not "double word" write - OriginalValue = rtw_read32(Adapter, RegAddr); - BitShift = phy_CalculateBitShift(BitMask); - Data = ((OriginalValue & (~BitMask)) | (Data << BitShift)); - } - - rtw_write32(Adapter, RegAddr, Data); - - //RTPRINT(FPHY, PHY_BBW, ("BBW MASK=0x%lx Addr[0x%lx]=0x%lx\n", BitMask, RegAddr, Data)); - //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_SetBBReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx)\n", RegAddr, BitMask, Data)); - -} - - -// -// 2. RF register R/W API -// - -/*----------------------------------------------------------------------------- - * Function: phy_FwRFSerialRead() - * - * Overview: We support firmware to execute RF-R/W. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 01/21/2008 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -static u32 -phy_FwRFSerialRead( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset ) -{ - u32 retValue = 0; - //RT_ASSERT(FALSE,("deprecate!\n")); - return (retValue); - -} /* phy_FwRFSerialRead */ - - -/*----------------------------------------------------------------------------- - * Function: phy_FwRFSerialWrite() - * - * Overview: We support firmware to execute RF-R/W. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 01/21/2008 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -static VOID -phy_FwRFSerialWrite( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset, - IN u32 Data ) -{ - //RT_ASSERT(FALSE,("deprecate!\n")); -} - - -/** -* Function: phy_RFSerialRead -* -* OverView: Read regster from RF chips -* -* Input: -* PADAPTER Adapter, -* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D -* u4Byte Offset, //The target address to be read -* -* Output: None -* Return: u4Byte reback value -* Note: Threre are three types of serial operations: -* 1. Software serial write -* 2. Hardware LSSI-Low Speed Serial Interface -* 3. Hardware HSSI-High speed -* serial write. Driver need to implement (1) and (2). -* This function is equal to the combination of RF_ReadReg() and RFLSSIRead() -*/ -static u32 -phy_RFSerialRead( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset - ) -{ - u32 retValue = 0; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath]; - u32 NewOffset; - u32 tmplong,tmplong2; - u8 RfPiEnable=0; -#if 0 - if(pHalData->RFChipID == RF_8225 && Offset > 0x24) //36 valid regs - return retValue; - if(pHalData->RFChipID == RF_8256 && Offset > 0x2D) //45 valid regs - return retValue; -#endif - // - // Make sure RF register offset is correct - // - Offset &= 0x3f; - - // - // Switch page for 8256 RF IC - // - NewOffset = Offset; - - // 2009/06/17 MH We can not execute IO for power save or other accident mode. - //if(RT_CANNOT_IO(Adapter)) - //{ - // RTPRINT(FPHY, PHY_RFR, ("phy_RFSerialRead return all one\n")); - // return 0xFFFFFFFF; - //} - - // For 92S LSSI Read RFLSSIRead - // For RF A/B write 0x824/82c(does not work in the future) - // We must use 0x824 for RF A and B to execute read trigger - tmplong = PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter2, bMaskDWord); - if(eRFPath == RF_PATH_A) - tmplong2 = tmplong; - else - tmplong2 = PHY_QueryBBReg(Adapter, pPhyReg->rfHSSIPara2, bMaskDWord); - - tmplong2 = (tmplong2 & (~bLSSIReadAddress)) | (NewOffset<<23) | bLSSIReadEdge; //T65 RF - - PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2, bMaskDWord, tmplong&(~bLSSIReadEdge)); - rtw_udelay_os(10);// PlatformStallExecution(10); - - PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, bMaskDWord, tmplong2); - rtw_udelay_os(100);//PlatformStallExecution(100); - - PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2, bMaskDWord, tmplong|bLSSIReadEdge); - rtw_udelay_os(10);//PlatformStallExecution(10); - - if(eRFPath == RF_PATH_A) - RfPiEnable = (u8)PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter1, BIT8); - else if(eRFPath == RF_PATH_B) - RfPiEnable = (u8)PHY_QueryBBReg(Adapter, rFPGA0_XB_HSSIParameter1, BIT8); - - if(RfPiEnable) - { // Read from BBreg8b8, 12 bits for 8190, 20bits for T65 RF - retValue = PHY_QueryBBReg(Adapter, pPhyReg->rfLSSIReadBackPi, bLSSIReadBackData); - //DBG_8192C("Readback from RF-PI : 0x%x\n", retValue); - } - else - { //Read from BBreg8a0, 12 bits for 8190, 20 bits for T65 RF - retValue = PHY_QueryBBReg(Adapter, pPhyReg->rfLSSIReadBack, bLSSIReadBackData); - //DBG_8192C("Readback from RF-SI : 0x%x\n", retValue); - } - //DBG_8192C("RFR-%d Addr[0x%x]=0x%x\n", eRFPath, pPhyReg->rfLSSIReadBack, retValue); - - return retValue; - -} - - - -/** -* Function: phy_RFSerialWrite -* -* OverView: Write data to RF register (page 8~) -* -* Input: -* PADAPTER Adapter, -* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D -* u4Byte Offset, //The target address to be read -* u4Byte Data //The new register Data in the target bit position -* //of the target to be read -* -* Output: None -* Return: None -* Note: Threre are three types of serial operations: -* 1. Software serial write -* 2. Hardware LSSI-Low Speed Serial Interface -* 3. Hardware HSSI-High speed -* serial write. Driver need to implement (1) and (2). -* This function is equal to the combination of RF_ReadReg() and RFLSSIRead() - * - * Note: For RF8256 only - * The total count of RTL8256(Zebra4) register is around 36 bit it only employs - * 4-bit RF address. RTL8256 uses "register mode control bit" (Reg00[12], Reg00[10]) - * to access register address bigger than 0xf. See "Appendix-4 in PHY Configuration - * programming guide" for more details. - * Thus, we define a sub-finction for RTL8526 register address conversion - * =========================================================== - * Register Mode RegCTL[1] RegCTL[0] Note - * (Reg00[12]) (Reg00[10]) - * =========================================================== - * Reg_Mode0 0 x Reg 0 ~15(0x0 ~ 0xf) - * ------------------------------------------------------------------ - * Reg_Mode1 1 0 Reg 16 ~30(0x1 ~ 0xf) - * ------------------------------------------------------------------ - * Reg_Mode2 1 1 Reg 31 ~ 45(0x1 ~ 0xf) - * ------------------------------------------------------------------ - * - * 2008/09/02 MH Add 92S RF definition - * - * - * -*/ -static VOID -phy_RFSerialWrite( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset, - IN u32 Data - ) -{ - u32 DataAndAddr = 0; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath]; - u32 NewOffset; - -#if 0 - //<Roger_TODO> We should check valid regs for RF_6052 case. - if(pHalData->RFChipID == RF_8225 && Offset > 0x24) //36 valid regs - return; - if(pHalData->RFChipID == RF_8256 && Offset > 0x2D) //45 valid regs - return; -#endif - - // 2009/06/17 MH We can not execute IO for power save or other accident mode. - //if(RT_CANNOT_IO(Adapter)) - //{ - // RTPRINT(FPHY, PHY_RFW, ("phy_RFSerialWrite stop\n")); - // return; - //} - - Offset &= 0x3f; - - // - // Shadow Update - // - //PHY_RFShadowWrite(Adapter, eRFPath, Offset, Data); - - // - // Switch page for 8256 RF IC - // - NewOffset = Offset; - - // - // Put write addr in [5:0] and write data in [31:16] - // - //DataAndAddr = (Data<<16) | (NewOffset&0x3f); - DataAndAddr = ((NewOffset<<20) | (Data&0x000fffff)) & 0x0fffffff; // T65 RF - - // - // Write Operation - // - PHY_SetBBReg(Adapter, pPhyReg->rf3wireOffset, bMaskDWord, DataAndAddr); - //RTPRINT(FPHY, PHY_RFW, ("RFW-%d Addr[0x%lx]=0x%lx\n", eRFPath, pPhyReg->rf3wireOffset, DataAndAddr)); - -} - - -/** -* Function: PHY_QueryRFReg -* -* OverView: Query "Specific bits" to RF register (page 8~) -* -* Input: -* PADAPTER Adapter, -* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D -* u4Byte RegAddr, //The target address to be read -* u4Byte BitMask //The target bit position in the target address -* //to be read -* -* Output: None -* Return: u4Byte Readback value -* Note: This function is equal to "GetRFRegSetting" in PHY programming guide -*/ -u32 -rtl8192c_PHY_QueryRFReg( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 RegAddr, - IN u32 BitMask - ) -{ - u32 Original_Value, Readback_Value, BitShift; - //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - //u8 RFWaitCounter = 0; - //_irqL irqL; - -#if (DISABLE_BB_RF == 1) - return 0; -#endif - - //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_QueryRFReg(): RegAddr(%#lx), eRFPath(%#x), BitMask(%#lx)\n", RegAddr, eRFPath,BitMask)); - -#ifdef CONFIG_USB_HCI - //PlatformAcquireMutex(&pHalData->mxRFOperate); -#else - //_enter_critical(&pHalData->rf_lock, &irqL); -#endif - - - Original_Value = phy_RFSerialRead(Adapter, eRFPath, RegAddr); - - BitShift = phy_CalculateBitShift(BitMask); - Readback_Value = (Original_Value & BitMask) >> BitShift; - -#ifdef CONFIG_USB_HCI - //PlatformReleaseMutex(&pHalData->mxRFOperate); -#else - //_exit_critical(&pHalData->rf_lock, &irqL); -#endif - - - //RTPRINT(FPHY, PHY_RFR, ("RFR-%d MASK=0x%lx Addr[0x%lx]=0x%lx\n", eRFPath, BitMask, RegAddr, Original_Value));//BitMask(%#lx),BitMask, - //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_QueryRFReg(): RegAddr(%#lx), eRFPath(%#x), Original_Value(%#lx)\n", - // RegAddr, eRFPath, Original_Value)); - - return (Readback_Value); -} - -/** -* Function: PHY_SetRFReg -* -* OverView: Write "Specific bits" to RF register (page 8~) -* -* Input: -* PADAPTER Adapter, -* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D -* u4Byte RegAddr, //The target address to be modified -* u4Byte BitMask //The target bit position in the target address -* //to be modified -* u4Byte Data //The new register Data in the target bit position -* //of the target address -* -* Output: None -* Return: None -* Note: This function is equal to "PutRFRegSetting" in PHY programming guide -*/ -VOID -rtl8192c_PHY_SetRFReg( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 RegAddr, - IN u32 BitMask, - IN u32 Data - ) -{ - - //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - //u1Byte RFWaitCounter = 0; - u32 Original_Value, BitShift; - //_irqL irqL; - -#if (DISABLE_BB_RF == 1) - return; -#endif - - //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_SetRFReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx), eRFPath(%#x)\n", - // RegAddr, BitMask, Data, eRFPath)); - //RTPRINT(FINIT, INIT_RF, ("PHY_SetRFReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx), eRFPath(%#x)\n", - // RegAddr, BitMask, Data, eRFPath)); - - -#ifdef CONFIG_USB_HCI - //PlatformAcquireMutex(&pHalData->mxRFOperate); -#else - //_enter_critical(&pHalData->rf_lock, &irqL); -#endif - - - // RF data is 12 bits only - if (BitMask != bRFRegOffsetMask) - { - Original_Value = phy_RFSerialRead(Adapter, eRFPath, RegAddr); - BitShift = phy_CalculateBitShift(BitMask); - Data = ((Original_Value & (~BitMask)) | (Data<< BitShift)); - } - - phy_RFSerialWrite(Adapter, eRFPath, RegAddr, Data); - - -#ifdef CONFIG_USB_HCI - //PlatformReleaseMutex(&pHalData->mxRFOperate); -#else - //_exit_critical(&pHalData->rf_lock, &irqL); -#endif - - //PHY_QueryRFReg(Adapter,eRFPath,RegAddr,BitMask); - //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_SetRFReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx), eRFPath(%#x)\n", - // RegAddr, BitMask, Data, eRFPath)); - -} - - -// -// 3. Initial MAC/BB/RF config by reading MAC/BB/RF txt. -// - -/*----------------------------------------------------------------------------- - * Function: phy_ConfigMACWithParaFile() - * - * Overview: This function read BB parameters from general file format, and do register - * Read/Write - * - * Input: PADAPTER Adapter - * ps1Byte pFileName - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: configuration file exist - * - * Note: The format of MACPHY_REG.txt is different from PHY and RF. - * [Register][Mask][Value] - *---------------------------------------------------------------------------*/ -static int -phy_ConfigMACWithParaFile( - IN PADAPTER Adapter, - IN u8* pFileName -) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - int rtStatus = _SUCCESS; - - return rtStatus; -} - -/*----------------------------------------------------------------------------- - * Function: phy_ConfigMACWithHeaderFile() - * - * Overview: This function read BB parameters from Header file we gen, and do register - * Read/Write - * - * Input: PADAPTER Adapter - * ps1Byte pFileName - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: configuration file exist - * - * Note: The format of MACPHY_REG.txt is different from PHY and RF. - * [Register][Mask][Value] - *---------------------------------------------------------------------------*/ -#ifndef CONFIG_PHY_SETTING_WITH_ODM -static int -phy_ConfigMACWithHeaderFile( - IN PADAPTER Adapter -) -{ - u32 i = 0; - u32 ArrayLength = 0; - u32* ptrArray; - //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - //2008.11.06 Modified by tynli. - //RT_TRACE(COMP_INIT, DBG_LOUD, ("Read Rtl819XMACPHY_Array\n")); - ArrayLength = Rtl8723_MAC_ArrayLength; - ptrArray = (u32*)Rtl8723_MAC_Array; - -#ifdef CONFIG_IOL_MAC - { - struct xmit_frame *xmit_frame; - if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) - return _FAIL; - - for(i = 0 ;i < ArrayLength;i=i+2){ // Add by tynli for 2 column - rtw_IOL_append_WB_cmd(xmit_frame, ptrArray[i], (u8)ptrArray[i+1]); - } - - return rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0); - } -#else - for(i = 0 ;i < ArrayLength;i=i+2){ // Add by tynli for 2 column - rtw_write8(Adapter, ptrArray[i], (u8)ptrArray[i+1]); - } -#endif - - return _SUCCESS; - -} -#endif//#ifndef CONFIG_PHY_SETTING_WITH_ODM - -/*----------------------------------------------------------------------------- - * Function: PHY_MACConfig8192C - * - * Overview: Condig MAC by header file or parameter file. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 08/12/2008 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -s32 PHY_MACConfig8723A(PADAPTER Adapter) -{ - int rtStatus = _SUCCESS; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - s8 *pszMACRegFile; - s8 sz8723MACRegFile[] = RTL8723_PHY_MACREG; - BOOLEAN is92C = IS_92C_SERIAL(pHalData->VersionID); - - - pszMACRegFile = sz8723MACRegFile; - - // - // Config MAC - // -#ifdef CONFIG_EMBEDDED_FWIMG - #ifdef CONFIG_PHY_SETTING_WITH_ODM - if(HAL_STATUS_FAILURE == ODM_ConfigMACWithHeaderFile(&pHalData->odmpriv)) - rtStatus = _FAIL; - #else - rtStatus = phy_ConfigMACWithHeaderFile(Adapter); - #endif//#ifdef CONFIG_PHY_SETTING_WITH_ODM -#else - - // Not make sure EEPROM, add later - //RT_TRACE(COMP_INIT, DBG_LOUD, ("Read MACREG.txt\n")); - rtStatus = phy_ConfigMACWithParaFile(Adapter, pszMACRegFile); -#endif//CONFIG_EMBEDDED_FWIMG - -#ifdef CONFIG_PCI_HCI - //this switching setting cause some 8192cu hw have redownload fw fail issue - //improve 2-stream TX EVM by Jenyu - if(is92C) - rtw_write8(Adapter, REG_SPS0_CTRL+3,0x71); -#endif - - - // 2010.07.13 AMPDU aggregation number 9 - //rtw_write16(Adapter, REG_MAX_AGGR_NUM, MAX_AGGR_NUM); - rtw_write8(Adapter, REG_MAX_AGGR_NUM, 0x0A); //By tynli. 2010.11.18. -#ifdef CONFIG_USB_HCI - if(is92C && (BOARD_USB_DONGLE == pHalData->BoardType)) - rtw_write8(Adapter, 0x40,0x04); -#endif - - return rtStatus; - -} - - -/** -* Function: phy_InitBBRFRegisterDefinition -* -* OverView: Initialize Register definition offset for Radio Path A/B/C/D -* -* Input: -* PADAPTER Adapter, -* -* Output: None -* Return: None -* Note: The initialization value is constant and it should never be changes -*/ -static VOID -phy_InitBBRFRegisterDefinition( - IN PADAPTER Adapter -) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - // RF Interface Sowrtware Control - pHalData->PHYRegDef[RF_PATH_A].rfintfs = rFPGA0_XAB_RFInterfaceSW; // 16 LSBs if read 32-bit from 0x870 - pHalData->PHYRegDef[RF_PATH_B].rfintfs = rFPGA0_XAB_RFInterfaceSW; // 16 MSBs if read 32-bit from 0x870 (16-bit for 0x872) - pHalData->PHYRegDef[RF_PATH_C].rfintfs = rFPGA0_XCD_RFInterfaceSW;// 16 LSBs if read 32-bit from 0x874 - pHalData->PHYRegDef[RF_PATH_D].rfintfs = rFPGA0_XCD_RFInterfaceSW;// 16 MSBs if read 32-bit from 0x874 (16-bit for 0x876) - - // RF Interface Readback Value - pHalData->PHYRegDef[RF_PATH_A].rfintfi = rFPGA0_XAB_RFInterfaceRB; // 16 LSBs if read 32-bit from 0x8E0 - pHalData->PHYRegDef[RF_PATH_B].rfintfi = rFPGA0_XAB_RFInterfaceRB;// 16 MSBs if read 32-bit from 0x8E0 (16-bit for 0x8E2) - pHalData->PHYRegDef[RF_PATH_C].rfintfi = rFPGA0_XCD_RFInterfaceRB;// 16 LSBs if read 32-bit from 0x8E4 - pHalData->PHYRegDef[RF_PATH_D].rfintfi = rFPGA0_XCD_RFInterfaceRB;// 16 MSBs if read 32-bit from 0x8E4 (16-bit for 0x8E6) - - // RF Interface Output (and Enable) - pHalData->PHYRegDef[RF_PATH_A].rfintfo = rFPGA0_XA_RFInterfaceOE; // 16 LSBs if read 32-bit from 0x860 - pHalData->PHYRegDef[RF_PATH_B].rfintfo = rFPGA0_XB_RFInterfaceOE; // 16 LSBs if read 32-bit from 0x864 - - // RF Interface (Output and) Enable - pHalData->PHYRegDef[RF_PATH_A].rfintfe = rFPGA0_XA_RFInterfaceOE; // 16 MSBs if read 32-bit from 0x860 (16-bit for 0x862) - pHalData->PHYRegDef[RF_PATH_B].rfintfe = rFPGA0_XB_RFInterfaceOE; // 16 MSBs if read 32-bit from 0x864 (16-bit for 0x866) - - //Addr of LSSI. Wirte RF register by driver - pHalData->PHYRegDef[RF_PATH_A].rf3wireOffset = rFPGA0_XA_LSSIParameter; //LSSI Parameter - pHalData->PHYRegDef[RF_PATH_B].rf3wireOffset = rFPGA0_XB_LSSIParameter; - - // RF parameter - pHalData->PHYRegDef[RF_PATH_A].rfLSSI_Select = rFPGA0_XAB_RFParameter; //BB Band Select - pHalData->PHYRegDef[RF_PATH_B].rfLSSI_Select = rFPGA0_XAB_RFParameter; - pHalData->PHYRegDef[RF_PATH_C].rfLSSI_Select = rFPGA0_XCD_RFParameter; - pHalData->PHYRegDef[RF_PATH_D].rfLSSI_Select = rFPGA0_XCD_RFParameter; - - // Tx AGC Gain Stage (same for all path. Should we remove this?) - pHalData->PHYRegDef[RF_PATH_A].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage - pHalData->PHYRegDef[RF_PATH_B].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage - pHalData->PHYRegDef[RF_PATH_C].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage - pHalData->PHYRegDef[RF_PATH_D].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage - - // Tranceiver A~D HSSI Parameter-1 - pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara1 = rFPGA0_XA_HSSIParameter1; //wire control parameter1 - pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara1 = rFPGA0_XB_HSSIParameter1; //wire control parameter1 - - // Tranceiver A~D HSSI Parameter-2 - pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara2 = rFPGA0_XA_HSSIParameter2; //wire control parameter2 - pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara2 = rFPGA0_XB_HSSIParameter2; //wire control parameter2 - - // RF switch Control - pHalData->PHYRegDef[RF_PATH_A].rfSwitchControl = rFPGA0_XAB_SwitchControl; //TR/Ant switch control - pHalData->PHYRegDef[RF_PATH_B].rfSwitchControl = rFPGA0_XAB_SwitchControl; - pHalData->PHYRegDef[RF_PATH_C].rfSwitchControl = rFPGA0_XCD_SwitchControl; - pHalData->PHYRegDef[RF_PATH_D].rfSwitchControl = rFPGA0_XCD_SwitchControl; - - // AGC control 1 - pHalData->PHYRegDef[RF_PATH_A].rfAGCControl1 = rOFDM0_XAAGCCore1; - pHalData->PHYRegDef[RF_PATH_B].rfAGCControl1 = rOFDM0_XBAGCCore1; - pHalData->PHYRegDef[RF_PATH_C].rfAGCControl1 = rOFDM0_XCAGCCore1; - pHalData->PHYRegDef[RF_PATH_D].rfAGCControl1 = rOFDM0_XDAGCCore1; - - // AGC control 2 - pHalData->PHYRegDef[RF_PATH_A].rfAGCControl2 = rOFDM0_XAAGCCore2; - pHalData->PHYRegDef[RF_PATH_B].rfAGCControl2 = rOFDM0_XBAGCCore2; - pHalData->PHYRegDef[RF_PATH_C].rfAGCControl2 = rOFDM0_XCAGCCore2; - pHalData->PHYRegDef[RF_PATH_D].rfAGCControl2 = rOFDM0_XDAGCCore2; - - // RX AFE control 1 - pHalData->PHYRegDef[RF_PATH_A].rfRxIQImbalance = rOFDM0_XARxIQImbalance; - pHalData->PHYRegDef[RF_PATH_B].rfRxIQImbalance = rOFDM0_XBRxIQImbalance; - pHalData->PHYRegDef[RF_PATH_C].rfRxIQImbalance = rOFDM0_XCRxIQImbalance; - pHalData->PHYRegDef[RF_PATH_D].rfRxIQImbalance = rOFDM0_XDRxIQImbalance; - - // RX AFE control 1 - pHalData->PHYRegDef[RF_PATH_A].rfRxAFE = rOFDM0_XARxAFE; - pHalData->PHYRegDef[RF_PATH_B].rfRxAFE = rOFDM0_XBRxAFE; - pHalData->PHYRegDef[RF_PATH_C].rfRxAFE = rOFDM0_XCRxAFE; - pHalData->PHYRegDef[RF_PATH_D].rfRxAFE = rOFDM0_XDRxAFE; - - // Tx AFE control 1 - pHalData->PHYRegDef[RF_PATH_A].rfTxIQImbalance = rOFDM0_XATxIQImbalance; - pHalData->PHYRegDef[RF_PATH_B].rfTxIQImbalance = rOFDM0_XBTxIQImbalance; - pHalData->PHYRegDef[RF_PATH_C].rfTxIQImbalance = rOFDM0_XCTxIQImbalance; - pHalData->PHYRegDef[RF_PATH_D].rfTxIQImbalance = rOFDM0_XDTxIQImbalance; - - // Tx AFE control 2 - pHalData->PHYRegDef[RF_PATH_A].rfTxAFE = rOFDM0_XATxAFE; - pHalData->PHYRegDef[RF_PATH_B].rfTxAFE = rOFDM0_XBTxAFE; - pHalData->PHYRegDef[RF_PATH_C].rfTxAFE = rOFDM0_XCTxAFE; - pHalData->PHYRegDef[RF_PATH_D].rfTxAFE = rOFDM0_XDTxAFE; - - // Tranceiver LSSI Readback SI mode - pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBack = rFPGA0_XA_LSSIReadBack; - pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBack = rFPGA0_XB_LSSIReadBack; - pHalData->PHYRegDef[RF_PATH_C].rfLSSIReadBack = rFPGA0_XC_LSSIReadBack; - pHalData->PHYRegDef[RF_PATH_D].rfLSSIReadBack = rFPGA0_XD_LSSIReadBack; - - // Tranceiver LSSI Readback PI mode - pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBackPi = TransceiverA_HSPI_Readback; - pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBackPi = TransceiverB_HSPI_Readback; - //pHalData->PHYRegDef[RF_PATH_C].rfLSSIReadBackPi = rFPGA0_XC_LSSIReadBack; - //pHalData->PHYRegDef[RF_PATH_D].rfLSSIReadBackPi = rFPGA0_XD_LSSIReadBack; - -} - - -/*----------------------------------------------------------------------------- - * Function: phy_ConfigBBWithParaFile() - * - * Overview: This function read BB parameters from general file format, and do register - * Read/Write - * - * Input: PADAPTER Adapter - * ps1Byte pFileName - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: configuration file exist - * 2008/11/06 MH For 92S we do not support silent reset now. Disable - * parameter file compare!!!!!!?? - * - *---------------------------------------------------------------------------*/ -static int -phy_ConfigBBWithParaFile( - IN PADAPTER Adapter, - IN u8* pFileName -) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - int rtStatus = _SUCCESS; - - return rtStatus; -} - - - -//**************************************** -// The following is for High Power PA -//**************************************** -VOID -phy_ConfigBBExternalPA( - IN PADAPTER Adapter -) -{ -#ifdef CONFIG_USB_HCI - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u16 i=0; - u32 temp=0; - - if(!pHalData->ExternalPA) - { - return; - } - - // 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the - // same code as SU. It is already updated in PHY_REG_1T_HP.txt. -#if 0 - PHY_SetBBReg(Adapter, 0xee8, BIT28, 1); - temp = PHY_QueryBBReg(Adapter, 0x860, bMaskDWord); - temp |= (BIT26|BIT21|BIT10|BIT5); - PHY_SetBBReg(Adapter, 0x860, bMaskDWord, temp); - PHY_SetBBReg(Adapter, 0x870, BIT10, 0); - PHY_SetBBReg(Adapter, 0xc80, bMaskDWord, 0x20000080); - PHY_SetBBReg(Adapter, 0xc88, bMaskDWord, 0x40000100); -#endif - -#endif -} - -/*----------------------------------------------------------------------------- - * Function: phy_ConfigBBWithHeaderFile() - * - * Overview: This function read BB parameters from general file format, and do register - * Read/Write - * - * Input: PADAPTER Adapter - * u1Byte ConfigType 0 => PHY_CONFIG - * 1 =>AGC_TAB - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: configuration file exist - * - *---------------------------------------------------------------------------*/ -#ifndef CONFIG_PHY_SETTING_WITH_ODM -static int -phy_ConfigBBWithHeaderFile( - IN PADAPTER Adapter, - IN u8 ConfigType -) -{ - int i; - u32* Rtl819XPHY_REGArray_Table; - u32* Rtl819XAGCTAB_Array_Table; - u16 PHY_REGArrayLen, AGCTAB_ArrayLen; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - int ret = _SUCCESS; - - - AGCTAB_ArrayLen = Rtl8723_AGCTAB_1TArrayLength; - Rtl819XAGCTAB_Array_Table = (u32*)Rtl8723_AGCTAB_1TArray; - PHY_REGArrayLen = Rtl8723_PHY_REG_1TArrayLength; - Rtl819XPHY_REGArray_Table = (u32*)Rtl8723_PHY_REG_1TArray; -// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() phy:Rtl8723AGCTAB_1TArray\n")); -// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() agc:Rtl8723PHY_REG_1TArray\n")); - - if(ConfigType == BaseBand_Config_PHY_REG) - { - #ifdef CONFIG_IOL_BB_PHY_REG - { - struct xmit_frame *xmit_frame; - u32 tmp_value; - - if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) { - ret = _FAIL; - goto exit; - } - - for(i=0;i<PHY_REGArrayLen;i=i+2) - { - tmp_value=Rtl819XPHY_REGArray_Table[i+1]; - - if (Rtl819XPHY_REGArray_Table[i] == 0xfe) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 50); - else if (Rtl819XPHY_REGArray_Table[i] == 0xfd) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 5); - else if (Rtl819XPHY_REGArray_Table[i] == 0xfc) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 1); - else if (Rtl819XPHY_REGArray_Table[i] == 0xfb) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 50); - else if (Rtl819XPHY_REGArray_Table[i] == 0xfa) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 5); - else if (Rtl819XPHY_REGArray_Table[i] == 0xf9) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 1); - - rtw_IOL_append_WD_cmd(xmit_frame, Rtl819XPHY_REGArray_Table[i], tmp_value); - //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XPHY_REGArray_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XPHY_REGArray_Table[i], Rtl819XPHY_REGArray_Table[i+1])); - } - - ret = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0); - } - #else - for(i=0;i<PHY_REGArrayLen;i=i+2) - { - if (Rtl819XPHY_REGArray_Table[i] == 0xfe){ - #ifdef CONFIG_LONG_DELAY_ISSUE - rtw_msleep_os(50); - #else - rtw_mdelay_os(50); - #endif - } - else if (Rtl819XPHY_REGArray_Table[i] == 0xfd) - rtw_mdelay_os(5); - else if (Rtl819XPHY_REGArray_Table[i] == 0xfc) - rtw_mdelay_os(1); - else if (Rtl819XPHY_REGArray_Table[i] == 0xfb) - rtw_udelay_os(50); - else if (Rtl819XPHY_REGArray_Table[i] == 0xfa) - rtw_udelay_os(5); - else if (Rtl819XPHY_REGArray_Table[i] == 0xf9) - rtw_udelay_os(1); - - PHY_SetBBReg(Adapter, Rtl819XPHY_REGArray_Table[i], bMaskDWord, Rtl819XPHY_REGArray_Table[i+1]); - - // Add 1us delay between BB/RF register setting. - rtw_udelay_os(1); - - //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XPHY_REGArray_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XPHY_REGArray_Table[i], Rtl819XPHY_REGArray_Table[i+1])); - } - #endif - // for External PA - phy_ConfigBBExternalPA(Adapter); - } - else if(ConfigType == BaseBand_Config_AGC_TAB) - { - #ifdef CONFIG_IOL_BB_AGC_TAB - { - struct xmit_frame *xmit_frame; - - if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) { - ret = _FAIL; - goto exit; - } - - for(i=0;i<AGCTAB_ArrayLen;i=i+2) - { - rtw_IOL_append_WD_cmd(xmit_frame, Rtl819XAGCTAB_Array_Table[i], Rtl819XAGCTAB_Array_Table[i+1]); - //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XAGCTAB_Array_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XAGCTAB_Array_Table[i], Rtl819XAGCTAB_Array_Table[i+1])); - } - - ret = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0); - } - #else - for(i=0;i<AGCTAB_ArrayLen;i=i+2) - { - PHY_SetBBReg(Adapter, Rtl819XAGCTAB_Array_Table[i], bMaskDWord, Rtl819XAGCTAB_Array_Table[i+1]); - - // Add 1us delay between BB/RF register setting. - rtw_udelay_os(1); - - //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XAGCTAB_Array_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XAGCTAB_Array_Table[i], Rtl819XAGCTAB_Array_Table[i+1])); - } - #endif - } - -exit: - return ret; -} - -#endif -VOID -storePwrIndexDiffRateOffset( - IN PADAPTER Adapter, - IN u32 RegAddr, - IN u32 BitMask, - IN u32 Data - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - if(RegAddr == rTxAGC_A_Rate18_06) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][0] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][0] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][0])); - } - if(RegAddr == rTxAGC_A_Rate54_24) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][1] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][1] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][1])); - } - if(RegAddr == rTxAGC_A_CCK1_Mcs32) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][6] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][6] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][6])); - } - if(RegAddr == rTxAGC_B_CCK11_A_CCK2_11 && BitMask == 0xffffff00) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][7] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][7] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][7])); - } - if(RegAddr == rTxAGC_A_Mcs03_Mcs00) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][2] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][2] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][2])); - } - if(RegAddr == rTxAGC_A_Mcs07_Mcs04) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][3] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][3] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][3])); - } - if(RegAddr == rTxAGC_A_Mcs11_Mcs08) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][4] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][4] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][4])); - } - if(RegAddr == rTxAGC_A_Mcs15_Mcs12) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][5] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][5] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][5])); - } - if(RegAddr == rTxAGC_B_Rate18_06) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][8] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][8] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][8])); - } - if(RegAddr == rTxAGC_B_Rate54_24) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][9] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][9] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][9])); - } - if(RegAddr == rTxAGC_B_CCK1_55_Mcs32) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][14] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][14] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][14])); - } - if(RegAddr == rTxAGC_B_CCK11_A_CCK2_11 && BitMask == 0x000000ff) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][15] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][15] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][15])); - } - if(RegAddr == rTxAGC_B_Mcs03_Mcs00) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][10] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][10] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][10])); - } - if(RegAddr == rTxAGC_B_Mcs07_Mcs04) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][11] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][11] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][11])); - } - if(RegAddr == rTxAGC_B_Mcs11_Mcs08) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][12] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][12] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][12])); - } - if(RegAddr == rTxAGC_B_Mcs15_Mcs12) - { - pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][13] = Data; - //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][13] = 0x%lx\n", pHalData->pwrGroupCnt, - // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][13])); - pHalData->pwrGroupCnt++; - } -} -/*----------------------------------------------------------------------------- - * Function: phy_ConfigBBWithPgParaFile - * - * Overview: - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/06/2008 MHC Create Version 0. - * 2009/07/29 tynli (porting from 92SE branch)2009/03/11 Add copy parameter file to buffer for silent reset - *---------------------------------------------------------------------------*/ -static int -phy_ConfigBBWithPgParaFile( - IN PADAPTER Adapter, - IN u8* pFileName) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - int rtStatus = _SUCCESS; - - - return rtStatus; - -} /* phy_ConfigBBWithPgParaFile */ - - -/*----------------------------------------------------------------------------- - * Function: phy_ConfigBBWithPgHeaderFile - * - * Overview: Config PHY_REG_PG array - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/06/2008 MHC Add later!!!!!!.. Please modify for new files!!!! - * 11/10/2008 tynli Modify to mew files. - *---------------------------------------------------------------------------*/ -static int -phy_ConfigBBWithPgHeaderFile( - IN PADAPTER Adapter, - IN u8 ConfigType) -{ - int i; - u32* Rtl819XPHY_REGArray_Table_PG; - u16 PHY_REGArrayPGLen; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - - PHY_REGArrayPGLen = Rtl8723_PHY_REG_Array_PGLength; - Rtl819XPHY_REGArray_Table_PG = (u32*)Rtl8723_PHY_REG_Array_PG; - - if(ConfigType == BaseBand_Config_PHY_REG) - { - for(i=0;i<PHY_REGArrayPGLen;i=i+3) - { - #if 0 //without IO, no delay is neeeded... - if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfe){ - #ifdef CONFIG_LONG_DELAY_ISSUE - rtw_msleep_os(50); - #else - rtw_mdelay_os(50); - #endif - } - else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfd) - rtw_mdelay_os(5); - else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfc) - rtw_mdelay_os(1); - else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfb) - rtw_udelay_os(50); - else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfa) - rtw_udelay_os(5); - else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xf9) - rtw_udelay_os(1); - //PHY_SetBBReg(Adapter, Rtl819XPHY_REGArray_Table_PG[i], Rtl819XPHY_REGArray_Table_PG[i+1], Rtl819XPHY_REGArray_Table_PG[i+2]); - #endif - - storePwrIndexDiffRateOffset(Adapter, Rtl819XPHY_REGArray_Table_PG[i], - Rtl819XPHY_REGArray_Table_PG[i+1], - Rtl819XPHY_REGArray_Table_PG[i+2]); - //RT_TRACE(COMP_SEND, DBG_TRACE, ("The Rtl819XPHY_REGArray_Table_PG[0] is %lx Rtl819XPHY_REGArray_Table_PG[1] is %lx \n",Rtl819XPHY_REGArray_Table_PG[i], Rtl819XPHY_REGArray_Table_PG[i+1])); - } - } - else - { - - //RT_TRACE(COMP_SEND, DBG_LOUD, ("phy_ConfigBBWithPgHeaderFile(): ConfigType != BaseBand_Config_PHY_REG\n")); - } - - return _SUCCESS; - -} /* phy_ConfigBBWithPgHeaderFile */ - -#if (MP_DRIVER == 1) - -/*----------------------------------------------------------------------------- - * Function: phy_ConfigBBWithMpParaFile() - * - * Overview: This function read BB parameters from general file format, and do register - * Read/Write - * - * Input: PADAPTER Adapter - * ps1Byte pFileName - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: configuration file exist - * 2008/11/06 MH For 92S we do not support silent reset now. Disable - * parameter file compare!!!!!!?? - * - *---------------------------------------------------------------------------*/ -static int -phy_ConfigBBWithMpParaFile( - IN PADAPTER Adapter, - IN u8* pFileName -) -{ -#if 1 - int rtStatus = _SUCCESS; -#else - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - s4Byte nLinesRead, ithLine; - RT_STATUS rtStatus = RT_STATUS_SUCCESS; - ps1Byte szLine; - u4Byte u4bRegOffset, u4bRegMask, u4bRegValue; - u4Byte u4bMove; - - if(ADAPTER_TEST_STATUS_FLAG(Adapter, ADAPTER_STATUS_FIRST_INIT)) - { - rtStatus = PlatformReadFile( - Adapter, - pFileName, - (pu1Byte)(pHalData->BufOfLines), - MAX_LINES_HWCONFIG_TXT, - MAX_BYTES_LINE_HWCONFIG_TXT, - &nLinesRead - ); - if(rtStatus == RT_STATUS_SUCCESS) - { - PlatformMoveMemory(pHalData->BufOfLines6, pHalData->BufOfLines, nLinesRead*MAX_BYTES_LINE_HWCONFIG_TXT); - pHalData->nLinesRead6 = nLinesRead; - } - else - { - // Temporarily skip PHY_REG_MP.txt if file does not exist. - pHalData->nLinesRead6 = 0; - RT_TRACE(COMP_INIT, DBG_LOUD, ("No matched file \r\n")); - return RT_STATUS_SUCCESS; - } - } - else - { - PlatformMoveMemory(pHalData->BufOfLines, pHalData->BufOfLines6, MAX_LINES_HWCONFIG_TXT*MAX_BYTES_LINE_HWCONFIG_TXT); - nLinesRead = pHalData->nLinesRead6; - rtStatus = RT_STATUS_SUCCESS; - } - - - if(rtStatus == RT_STATUS_SUCCESS) - { - RT_TRACE(COMP_INIT, DBG_LOUD, ("phy_ConfigBBWithMpParaFile(): read %s ok\n", pFileName)); - - for(ithLine = 0; ithLine < nLinesRead; ithLine++) - { - szLine = pHalData->BufOfLines[ithLine]; - - if(!IsCommentString(szLine)) - { - // Get 1st hex value as register offset. - if(GetHexValueFromString(szLine, &u4bRegOffset, &u4bMove)) - { - if(u4bRegOffset == 0xff) - { // Ending. - break; - } - else if (u4bRegOffset == 0xfe) - delay_ms(50); - else if (u4bRegOffset == 0xfd) - delay_ms(5); - else if (u4bRegOffset == 0xfc) - delay_ms(1); - else if (u4bRegOffset == 0xfb) - PlatformStallExecution(50); - else if (u4bRegOffset == 0xfa) - PlatformStallExecution(5); - else if (u4bRegOffset == 0xf9) - PlatformStallExecution(1); - - // Get 2nd hex value as register value. - szLine += u4bMove; - if(GetHexValueFromString(szLine, &u4bRegValue, &u4bMove)) - { - RT_TRACE(COMP_FPGA, DBG_TRACE, ("[ADDR]%03lX=%08lX\n", u4bRegOffset, u4bRegValue)); - PHY_SetBBReg(Adapter, u4bRegOffset, bMaskDWord, u4bRegValue); - - // Add 1us delay between BB/RF register setting. - PlatformStallExecution(1); - } - } - } - } - } - else - { - RT_TRACE(COMP_INIT, DBG_LOUD, ("phy_ConfigBBWithMpParaFile(): Failed%s\n", pFileName)); - } -#endif - - return rtStatus; -} - -/*----------------------------------------------------------------------------- - * Function: phy_ConfigBBWithMpHeaderFile - * - * Overview: Config PHY_REG_MP array - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 02/04/2010 chiyokolin Modify to new files. - *---------------------------------------------------------------------------*/ -static int -phy_ConfigBBWithMpHeaderFile( - IN PADAPTER Adapter, - IN u1Byte ConfigType) -{ - int i; - u32* Rtl8192CPHY_REGArray_Table_MP; - u16 PHY_REGArrayMPLen; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - - PHY_REGArrayMPLen = Rtl8723_PHY_REG_Array_MPLength; - Rtl8192CPHY_REGArray_Table_MP = (u32*)Rtl8723_PHY_REG_Array_MP; - - if(ConfigType == BaseBand_Config_PHY_REG) - { - for(i=0;i<PHY_REGArrayMPLen;i=i+2) - { - if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfe) { - #ifdef CONFIG_LONG_DELAY_ISSUE - rtw_msleep_os(50); - #else - rtw_mdelay_os(50); - #endif - } - else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfd) - rtw_mdelay_os(5); - else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfc) - rtw_mdelay_os(1); - else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfb) { - #ifdef CONFIG_LONG_DELAY_ISSUE - rtw_msleep_os(50); - #else - rtw_mdelay_os(50); - #endif - } - else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfa) - rtw_mdelay_os(5); - else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xf9) - rtw_mdelay_os(1); - PHY_SetBBReg(Adapter, Rtl8192CPHY_REGArray_Table_MP[i], bMaskDWord, Rtl8192CPHY_REGArray_Table_MP[i+1]); - - // Add 1us delay between BB/RF register setting. - rtw_mdelay_os(1); - -// RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl8192CPHY_REGArray_Table_MP[%d] is %lx Rtl8192CPHY_REGArray_Table_MP[%d] is %lx \n", i, i+1, Rtl8192CPHY_REGArray_Table_MP[i], Rtl8192CPHY_REGArray_Table_MP[i+1])); - } - } - else - { -// RT_TRACE(COMP_SEND, DBG_LOUD, ("phy_ConfigBBWithMpHeaderFile(): ConfigType != BaseBand_Config_PHY_REG\n")); - } - - return _SUCCESS; -} /* phy_ConfigBBWithMpHeaderFile */ - -#endif // #if (MP_DRIVER == 1) - -static VOID -phy_BB8192C_Config_1T( - IN PADAPTER Adapter - ) -{ -#if 0 - //for path - A - PHY_SetBBReg(Adapter, rFPGA0_TxInfo, 0x3, 0x1); - PHY_SetBBReg(Adapter, rFPGA1_TxInfo, 0x0303, 0x0101); - PHY_SetBBReg(Adapter, 0xe74, 0x0c000000, 0x1); - PHY_SetBBReg(Adapter, 0xe78, 0x0c000000, 0x1); - PHY_SetBBReg(Adapter, 0xe7c, 0x0c000000, 0x1); - PHY_SetBBReg(Adapter, 0xe80, 0x0c000000, 0x1); - PHY_SetBBReg(Adapter, 0xe88, 0x0c000000, 0x1); -#endif - //for path - B - PHY_SetBBReg(Adapter, rFPGA0_TxInfo, 0x3, 0x2); - PHY_SetBBReg(Adapter, rFPGA1_TxInfo, 0x300033, 0x200022); - - // 20100519 Joseph: Add for 1T2R config. Suggested by Kevin, Jenyu and Yunan. - PHY_SetBBReg(Adapter, rCCK0_AFESetting, bMaskByte3, 0x45); - PHY_SetBBReg(Adapter, rOFDM0_TRxPathEnable, bMaskByte0, 0x23); - PHY_SetBBReg(Adapter, rOFDM0_AGCParameter1, 0x30, 0x1); // B path first AGC - - PHY_SetBBReg(Adapter, 0xe74, 0x0c000000, 0x2); - PHY_SetBBReg(Adapter, 0xe78, 0x0c000000, 0x2); - PHY_SetBBReg(Adapter, 0xe7c, 0x0c000000, 0x2); - PHY_SetBBReg(Adapter, 0xe80, 0x0c000000, 0x2); - PHY_SetBBReg(Adapter, 0xe88, 0x0c000000, 0x2); - - -} - -// Joseph test: new initialize order!! -// Test only!! This part need to be re-organized. -// Now it is just for 8256. -static int -phy_BB8190_Config_HardCode( - IN PADAPTER Adapter - ) -{ - //RT_ASSERT(FALSE, ("This function is not implement yet!! \n")); - return _SUCCESS; -} - -static int -phy_BB8723a_Config_ParaFile( - IN PADAPTER Adapter - ) -{ - EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(Adapter); - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - int rtStatus = _SUCCESS; - - u8 sz8723BBRegFile[] = RTL8723_PHY_REG; - u8 sz8723AGCTableFile[] = RTL8723_AGC_TAB; - u8 sz8723BBRegPgFile[] = RTL8723_PHY_REG_PG; - u8 sz8723BBRegMpFile[] = RTL8723_PHY_REG_MP; - - u8 *pszBBRegFile = NULL, *pszAGCTableFile = NULL, *pszBBRegPgFile = NULL, *pszBBRegMpFile=NULL; - - - //RT_TRACE(COMP_INIT, DBG_TRACE, ("==>phy_BB8192S_Config_ParaFile\n")); - - pszBBRegFile = sz8723BBRegFile ; - pszAGCTableFile = sz8723AGCTableFile; - pszBBRegPgFile = sz8723BBRegPgFile; - pszBBRegMpFile = sz8723BBRegMpFile; - - // - // 1. Read PHY_REG.TXT BB INIT!! - // We will seperate as 88C / 92C according to chip version - // -#ifdef CONFIG_EMBEDDED_FWIMG - #ifdef CONFIG_PHY_SETTING_WITH_ODM - if(HAL_STATUS_FAILURE ==ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_PHY_REG)) - rtStatus = _FAIL; - #else - rtStatus = phy_ConfigBBWithHeaderFile(Adapter, BaseBand_Config_PHY_REG); - #endif -#else - // No matter what kind of CHIP we always read PHY_REG.txt. We must copy different - // type of parameter files to phy_reg.txt at first. - rtStatus = phy_ConfigBBWithParaFile(Adapter,pszBBRegFile); -#endif//#ifdef CONFIG_EMBEDDED_FWIMG - - if(rtStatus != _SUCCESS){ - //RT_TRACE(COMP_INIT, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():Write BB Reg Fail!!")); - goto phy_BB8190_Config_ParaFile_Fail; - } - -#if MP_DRIVER == 1 - if (Adapter->registrypriv.mp_mode == 1) - { - // - // 1.1 Read PHY_REG_MP.TXT BB INIT!! - // We will seperate as 88C / 92C according to chip version - // -#ifdef CONFIG_EMBEDDED_FWIMG - rtStatus = phy_ConfigBBWithMpHeaderFile(Adapter, BaseBand_Config_PHY_REG); -#else - // No matter what kind of CHIP we always read PHY_REG.txt. We must copy different - // type of parameter files to phy_reg.txt at first. - rtStatus = phy_ConfigBBWithMpParaFile(Adapter, pszBBRegMpFile); -#endif - - if(rtStatus != _SUCCESS){ -// RT_TRACE(COMP_INIT, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():Write BB Reg MP Fail!!")); - goto phy_BB8190_Config_ParaFile_Fail; - } - } -#endif // #if (MP_DRIVER == 1) - - // - // 20100318 Joseph: Config 2T2R to 1T2R if necessary. - // - if(pHalData->rf_type == RF_1T2R) - { - phy_BB8192C_Config_1T(Adapter); - DBG_8192C("phy_BB8723a_Config_ParaFile():Config to 1T!!\n"); - } - - // - // 2. If EEPROM or EFUSE autoload OK, We must config by PHY_REG_PG.txt - // - if (pEEPROM->bautoload_fail_flag == _FALSE) - { - pHalData->pwrGroupCnt = 0; - -#ifdef CONFIG_EMBEDDED_FWIMG - rtStatus = phy_ConfigBBWithPgHeaderFile(Adapter, BaseBand_Config_PHY_REG); -#else - rtStatus = phy_ConfigBBWithPgParaFile(Adapter, pszBBRegPgFile); -#endif - } - - if(rtStatus != _SUCCESS){ - //RT_TRACE(COMP_INIT, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():BB_PG Reg Fail!!")); - goto phy_BB8190_Config_ParaFile_Fail; - } - - // - // 3. BB AGC table Initialization - // -#ifdef CONFIG_EMBEDDED_FWIMG - #ifdef CONFIG_PHY_SETTING_WITH_ODM - if(HAL_STATUS_FAILURE ==ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_AGC_TAB)) - rtStatus = _FAIL; - #else - rtStatus = phy_ConfigBBWithHeaderFile(Adapter, BaseBand_Config_AGC_TAB); - #endif//#ifdef CONFIG_PHY_SETTING_WITH_ODM -#else - //RT_TRACE(COMP_INIT, DBG_LOUD, ("phy_BB8192S_Config_ParaFile AGC_TAB.txt\n")); - rtStatus = phy_ConfigBBWithParaFile(Adapter, pszAGCTableFile); -#endif - - if(rtStatus != _SUCCESS){ - //RT_TRACE(COMP_FPGA, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():AGC Table Fail\n")); - goto phy_BB8190_Config_ParaFile_Fail; - } - -phy_BB8190_Config_ParaFile_Fail: - - return rtStatus; -} - - -int -PHY_BBConfig8723A( - IN PADAPTER Adapter - ) -{ - int rtStatus = _SUCCESS; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u32 RegVal; - u8 TmpU1B=0; - u8 value8,CrystalCap; - - phy_InitBBRFRegisterDefinition(Adapter); - - if(IS_HARDWARE_TYPE_8723A(Adapter)) - { - // Suggested by Scott. tynli_test. 2010.12.30. - //1. 0x28[1] = 1 - TmpU1B = rtw_read8(Adapter, REG_AFE_PLL_CTRL); - rtw_udelay_os(2); - rtw_write8(Adapter, REG_AFE_PLL_CTRL, (TmpU1B|BIT1)); - rtw_udelay_os(2); - - //2. 0x29[7:0] = 0xFF - rtw_write8(Adapter, REG_AFE_PLL_CTRL+1, 0xff); - rtw_udelay_os(2); - - //3. 0x02[1:0] = 2b'11 - TmpU1B = rtw_read8(Adapter, REG_SYS_FUNC_EN); - rtw_write8(Adapter, REG_SYS_FUNC_EN, (TmpU1B|FEN_BB_GLB_RSTn|FEN_BBRSTB)); - - //4. 0x25[6] = 0 - TmpU1B = rtw_read8(Adapter, REG_AFE_XTAL_CTRL+1); - rtw_write8(Adapter, REG_AFE_XTAL_CTRL+1, (TmpU1B&(~BIT6))); - - //5. 0x24[20] = 0 //Advised by SD3 Alex Wang. 2011.02.09. - TmpU1B = rtw_read8(Adapter, REG_AFE_XTAL_CTRL+2); - rtw_write8(Adapter, REG_AFE_XTAL_CTRL+2, (TmpU1B&(~BIT4))); - - //6. 0x1f[7:0] = 0x07 - rtw_write8(Adapter, REG_RF_CTRL, 0x07); - } - else - { - // Enable BB and RF - RegVal = rtw_read16(Adapter, REG_SYS_FUNC_EN); - rtw_write16(Adapter, REG_SYS_FUNC_EN, (u16)(RegVal|BIT13|BIT0|BIT1)); - - // 20090923 Joseph: Advised by Steven and Jenyu. Power sequence before init RF. - rtw_write8(Adapter, REG_AFE_PLL_CTRL, 0x83); - rtw_write8(Adapter, REG_AFE_PLL_CTRL+1, 0xdb); - - rtw_write8(Adapter, REG_RF_CTRL, RF_EN|RF_RSTB|RF_SDMRSTB); - -#ifdef CONFIG_USB_HCI - rtw_write8(Adapter, REG_SYS_FUNC_EN, FEN_USBA | FEN_USBD | FEN_BB_GLB_RSTn | FEN_BBRSTB); -#else - rtw_write8(Adapter, REG_SYS_FUNC_EN, FEN_PPLL|FEN_PCIEA|FEN_DIO_PCIE|FEN_BB_GLB_RSTn|FEN_BBRSTB); -#endif - - // 2009/10/21 by SD1 Jong. Modified by tynli. Not in Documented in V8.1. -#ifdef CONFIG_USB_HCI - //To Fix MAC loopback mode fail. Suggested by SD4 Johnny. 2010.03.23. - rtw_write8(Adapter, REG_LDOHCI12_CTRL, 0x0f); - rtw_write8(Adapter, 0x15, 0xe9); -#endif - - rtw_write8(Adapter, REG_AFE_XTAL_CTRL+1, 0x80); - -#ifdef CONFIG_PCI_HCI - // Force use left antenna by default for 88C. - // if(!IS_92C_SERIAL(pHalData->VersionID) || IS_92C_1T2R(pHalData->VersionID)) - if(Adapter->ledpriv.LedStrategy != SW_LED_MODE10) - { - RegVal = rtw_read32(Adapter, REG_LEDCFG0); - rtw_write32(Adapter, REG_LEDCFG0, RegVal|BIT23); - } -#endif - } - - // - // Config BB and AGC - // - rtStatus = phy_BB8723a_Config_ParaFile(Adapter); - -#ifdef CONFIG_USB_HCI - if(IS_HARDWARE_TYPE_8192CU(Adapter)&&IS_81xxC_VENDOR_UMC_B_CUT(pHalData->VersionID) - &&(pHalData->BoardType == BOARD_USB_High_PA)) - rtw_write8(Adapter, 0xc72, 0x50); -#endif -//only for B-cut - if(IS_HARDWARE_TYPE_8723A(Adapter) && pHalData->EEPROMVersion >= 0x01) - { - CrystalCap = pHalData->CrystalCap & 0x3F; - PHY_SetBBReg(Adapter, REG_MAC_PHY_CTRL, 0xFFF000, (CrystalCap | (CrystalCap << 6))); - } - - if(IS_HARDWARE_TYPE_8723AE(Adapter)) - PHY_SetBBReg(Adapter, REG_LDOA15_CTRL, bMaskDWord, 0x01572505); - return rtStatus; -} - - -int -PHY_RFConfig8723A( - IN PADAPTER Adapter - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - int rtStatus = _SUCCESS; - - // - // RF config - // - rtStatus = PHY_RF6052_Config8723A(Adapter); - return rtStatus; -} - - -/*----------------------------------------------------------------------------- - * Function: PHY_ConfigRFWithParaFile() - * - * Overview: This function read RF parameters from general file format, and do RF 3-wire - * - * Input: PADAPTER Adapter - * ps1Byte pFileName - * RF_RADIO_PATH_E eRFPath - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: configuration file exist - * - * Note: Delay may be required for RF configuration - *---------------------------------------------------------------------------*/ -int -rtl8192c_PHY_ConfigRFWithParaFile( - IN PADAPTER Adapter, - IN u8* pFileName, - RF_RADIO_PATH_E eRFPath -) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - int rtStatus = _SUCCESS; - - - return rtStatus; - -} - -//**************************************** -// The following is for High Power PA -//**************************************** -#define HighPowerRadioAArrayLen 22 -//This is for High power PA -u32 Rtl8192S_HighPower_RadioA_Array[HighPowerRadioAArrayLen] = { -0x013,0x00029ea4, -0x013,0x00025e74, -0x013,0x00020ea4, -0x013,0x0001ced0, -0x013,0x00019f40, -0x013,0x00014e70, -0x013,0x000106a0, -0x013,0x0000c670, -0x013,0x000082a0, -0x013,0x00004270, -0x013,0x00000240, -}; - -int -PHY_ConfigRFExternalPA( - IN PADAPTER Adapter, - RF_RADIO_PATH_E eRFPath -) -{ - int rtStatus = _SUCCESS; -#ifdef CONFIG_USB_HCI - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u16 i=0; - - if(!pHalData->ExternalPA) - { - return rtStatus; - } - - // 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the - // same code as SU. It is already updated in radio_a_1T_HP.txt. -#if 0 - //add for SU High Power PA - for(i = 0;i<HighPowerRadioAArrayLen; i=i+2) - { - RT_TRACE(COMP_INIT, DBG_LOUD, ("External PA, write RF 0x%lx=0x%lx\n", Rtl8192S_HighPower_RadioA_Array[i], Rtl8192S_HighPower_RadioA_Array[i+1])); - PHY_SetRFReg(Adapter, eRFPath, Rtl8192S_HighPower_RadioA_Array[i], bRFRegOffsetMask, Rtl8192S_HighPower_RadioA_Array[i+1]); - } -#endif - -#endif - return rtStatus; -} -//**************************************** -/*----------------------------------------------------------------------------- - * Function: PHY_ConfigRFWithHeaderFile() - * - * Overview: This function read RF parameters from general file format, and do RF 3-wire - * - * Input: PADAPTER Adapter - * ps1Byte pFileName - * RF_RADIO_PATH_E eRFPath - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: configuration file exist - * - * Note: Delay may be required for RF configuration - *---------------------------------------------------------------------------*/ -#ifndef CONFIG_PHY_SETTING_WITH_ODM -int -rtl8723a_PHY_ConfigRFWithHeaderFile( - IN PADAPTER Adapter, - RF_RADIO_PATH_E eRFPath -) -{ - - int i; - int rtStatus = _SUCCESS; - u32* Rtl819XRadioA_Array_Table; - u32* Rtl819XRadioB_Array_Table; - u16 RadioA_ArrayLen,RadioB_ArrayLen; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - - RadioA_ArrayLen = Rtl8723_RadioA_1TArrayLength; - Rtl819XRadioA_Array_Table = (u32*)Rtl8723_RadioA_1TArray; - RadioB_ArrayLen = Rtl8723_RadioB_1TArrayLength; - Rtl819XRadioB_Array_Table = (u32*)Rtl8723_RadioB_1TArray; -// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> PHY_ConfigRFWithHeaderFile() Radio_A:Rtl8723RadioA_1TArray\n")); -// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> PHY_ConfigRFWithHeaderFile() Radio_B:Rtl8723RadioB_1TArray\n")); - - switch (eRFPath) - { - case RF_PATH_A: - #ifdef CONFIG_IOL_RF_RF90_PATH_A - { - struct xmit_frame *xmit_frame; - if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) { - rtStatus = _FAIL; - goto exit; - } - - for(i = 0;i<RadioA_ArrayLen; i=i+2) - { - if(Rtl819XRadioA_Array_Table[i] == 0xfe) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 50); - else if (Rtl819XRadioA_Array_Table[i] == 0xfd) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 5); - else if (Rtl819XRadioA_Array_Table[i] == 0xfc) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 1); - else if (Rtl819XRadioA_Array_Table[i] == 0xfb) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 50); - else if (Rtl819XRadioA_Array_Table[i] == 0xfa) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 5); - else if (Rtl819XRadioA_Array_Table[i] == 0xf9) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 1); - else - { - BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath]; - u32 NewOffset = 0; - u32 DataAndAddr = 0; - - NewOffset = Rtl819XRadioA_Array_Table[i] & 0x3f; - DataAndAddr = ((NewOffset<<20) | (Rtl819XRadioA_Array_Table[i+1]&0x000fffff)) & 0x0fffffff; // T65 RF - rtw_IOL_append_WD_cmd(xmit_frame, pPhyReg->rf3wireOffset, DataAndAddr); - } - } - rtStatus = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0); - } - #else - for(i = 0;i<RadioA_ArrayLen; i=i+2) - { - if(Rtl819XRadioA_Array_Table[i] == 0xfe) { - #ifdef CONFIG_LONG_DELAY_ISSUE - rtw_msleep_os(50); - #else - rtw_mdelay_os(50); - #endif - } - else if (Rtl819XRadioA_Array_Table[i] == 0xfd) - rtw_mdelay_os(5); - else if (Rtl819XRadioA_Array_Table[i] == 0xfc) - rtw_mdelay_os(1); - else if (Rtl819XRadioA_Array_Table[i] == 0xfb) - rtw_udelay_os(50); - else if (Rtl819XRadioA_Array_Table[i] == 0xfa) - rtw_udelay_os(5); - else if (Rtl819XRadioA_Array_Table[i] == 0xf9) - rtw_udelay_os(1); - else - { - PHY_SetRFReg(Adapter, eRFPath, Rtl819XRadioA_Array_Table[i], bRFRegOffsetMask, Rtl819XRadioA_Array_Table[i+1]); - // Add 1us delay between BB/RF register setting. - rtw_udelay_os(1); - } - } - #endif - //Add for High Power PA - PHY_ConfigRFExternalPA(Adapter, eRFPath); - break; - case RF_PATH_B: - #ifdef CONFIG_IOL_RF_RF_PATH_B - { - struct xmit_frame *xmit_frame; - if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) { - rtStatus = _FAIL; - goto exit; - } - - for(i = 0;i<RadioB_ArrayLen; i=i+2) - { - if(Rtl819XRadioB_Array_Table[i] == 0xfe) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 50); - else if (Rtl819XRadioB_Array_Table[i] == 0xfd) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 5); - else if (Rtl819XRadioB_Array_Table[i] == 0xfc) - rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 1); - else if (Rtl819XRadioB_Array_Table[i] == 0xfb) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 50); - else if (Rtl819XRadioB_Array_Table[i] == 0xfa) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 5); - else if (Rtl819XRadioB_Array_Table[i] == 0xf9) - rtw_IOL_append_DELAY_US_cmd(xmit_frame, 1); - else - { - BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath]; - u32 NewOffset = 0; - u32 DataAndAddr = 0; - - NewOffset = Rtl819XRadioB_Array_Table[i] & 0x3f; - DataAndAddr = ((NewOffset<<20) | (Rtl819XRadioB_Array_Table[i+1]&0x000fffff)) & 0x0fffffff; // T65 RF - rtw_IOL_append_WD_cmd(xmit_frame, pPhyReg->rf3wireOffset, DataAndAddr); - } - } - rtStatus = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0); - } - #else - for(i = 0;i<RadioB_ArrayLen; i=i+2) - { - if(Rtl819XRadioB_Array_Table[i] == 0xfe) - { // Deay specific ms. Only RF configuration require delay. -#if 0//#ifdef CONFIG_USB_HCI - #ifdef CONFIG_LONG_DELAY_ISSUE - rtw_msleep_os(1000); - #else - rtw_mdelay_os(1000); - #endif -#else - #ifdef CONFIG_LONG_DELAY_ISSUE - rtw_msleep_os(50); - #else - rtw_mdelay_os(50); - #endif -#endif - } - else if (Rtl819XRadioB_Array_Table[i] == 0xfd) - rtw_mdelay_os(5); - else if (Rtl819XRadioB_Array_Table[i] == 0xfc) - rtw_mdelay_os(1); - else if (Rtl819XRadioB_Array_Table[i] == 0xfb) - rtw_udelay_os(50); - else if (Rtl819XRadioB_Array_Table[i] == 0xfa) - rtw_udelay_os(5); - else if (Rtl819XRadioB_Array_Table[i] == 0xf9) - rtw_udelay_os(1); - else - { - PHY_SetRFReg(Adapter, eRFPath, Rtl819XRadioB_Array_Table[i], bRFRegOffsetMask, Rtl819XRadioB_Array_Table[i+1]); - // Add 1us delay between BB/RF register setting. - rtw_udelay_os(1); - } - } - #endif - break; - case RF_PATH_C: - break; - case RF_PATH_D: - break; - } - -exit: - return rtStatus; - -} -#endif - -/*----------------------------------------------------------------------------- - * Function: PHY_CheckBBAndRFOK() - * - * Overview: This function is write register and then readback to make sure whether - * BB[PHY0, PHY1], RF[Patha, path b, path c, path d] is Ok - * - * Input: PADAPTER Adapter - * HW90_BLOCK_E CheckBlock - * RF_RADIO_PATH_E eRFPath // it is used only when CheckBlock is HW90_BLOCK_RF - * - * Output: NONE - * - * Return: RT_STATUS_SUCCESS: PHY is OK - * - * Note: This function may be removed in the ASIC - *---------------------------------------------------------------------------*/ -int -PHY_CheckBBAndRFOK( - IN PADAPTER Adapter, - IN HW90_BLOCK_E CheckBlock, - IN RF_RADIO_PATH_E eRFPath - ) -{ - int rtStatus = _SUCCESS; - - u32 i, CheckTimes = 4,ulRegRead = 0; - - u32 WriteAddr[4]; - u32 WriteData[] = {0xfffff027, 0xaa55a02f, 0x00000027, 0x55aa502f}; - - // Initialize register address offset to be checked - WriteAddr[HW90_BLOCK_MAC] = 0x100; - WriteAddr[HW90_BLOCK_PHY0] = 0x900; - WriteAddr[HW90_BLOCK_PHY1] = 0x800; - WriteAddr[HW90_BLOCK_RF] = 0x3; - - for(i=0 ; i < CheckTimes ; i++) - { - - // - // Write Data to register and readback - // - switch(CheckBlock) - { - case HW90_BLOCK_MAC: - //RT_ASSERT(FALSE, ("PHY_CheckBBRFOK(): Never Write 0x100 here!")); - //RT_TRACE(COMP_INIT, DBG_LOUD, ("PHY_CheckBBRFOK(): Never Write 0x100 here!\n")); - break; - - case HW90_BLOCK_PHY0: - case HW90_BLOCK_PHY1: - rtw_write32(Adapter, WriteAddr[CheckBlock], WriteData[i]); - ulRegRead = rtw_read32(Adapter, WriteAddr[CheckBlock]); - break; - - case HW90_BLOCK_RF: - // When initialization, we want the delay function(delay_ms(), delay_us() - // ==> actually we call PlatformStallExecution()) to do NdisStallExecution() - // [busy wait] instead of NdisMSleep(). So we acquire RT_INITIAL_SPINLOCK - // to run at Dispatch level to achive it. - //cosa PlatformAcquireSpinLock(Adapter, RT_INITIAL_SPINLOCK); - WriteData[i] &= 0xfff; - PHY_SetRFReg(Adapter, eRFPath, WriteAddr[HW90_BLOCK_RF], bRFRegOffsetMask, WriteData[i]); - // TODO: we should not delay for such a long time. Ask SD3 - rtw_mdelay_os(10); - ulRegRead = PHY_QueryRFReg(Adapter, eRFPath, WriteAddr[HW90_BLOCK_RF], bMaskDWord); - rtw_mdelay_os(10); - //cosa PlatformReleaseSpinLock(Adapter, RT_INITIAL_SPINLOCK); - break; - - default: - rtStatus = _FAIL; - break; - } - - - // - // Check whether readback data is correct - // - if(ulRegRead != WriteData[i]) - { - //RT_TRACE(COMP_FPGA, DBG_LOUD, ("ulRegRead: %lx, WriteData: %lx \n", ulRegRead, WriteData[i])); - rtStatus = _FAIL; - break; - } - } - - return rtStatus; -} - - -VOID -rtl8192c_PHY_GetHWRegOriginalValue( - IN PADAPTER Adapter - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - // read rx initial gain - pHalData->DefaultInitialGain[0] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XAAGCCore1, bMaskByte0); - pHalData->DefaultInitialGain[1] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XBAGCCore1, bMaskByte0); - pHalData->DefaultInitialGain[2] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XCAGCCore1, bMaskByte0); - pHalData->DefaultInitialGain[3] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XDAGCCore1, bMaskByte0); - //RT_TRACE(COMP_INIT, DBG_LOUD, - //("Default initial gain (c50=0x%x, c58=0x%x, c60=0x%x, c68=0x%x) \n", - //pHalData->DefaultInitialGain[0], pHalData->DefaultInitialGain[1], - //pHalData->DefaultInitialGain[2], pHalData->DefaultInitialGain[3])); - - // read framesync - pHalData->framesync = (u8)PHY_QueryBBReg(Adapter, rOFDM0_RxDetector3, bMaskByte0); - pHalData->framesyncC34 = PHY_QueryBBReg(Adapter, rOFDM0_RxDetector2, bMaskDWord); - //RT_TRACE(COMP_INIT, DBG_LOUD, ("Default framesync (0x%x) = 0x%x \n", - // rOFDM0_RxDetector3, pHalData->framesync)); -} - - -// -// Description: -// Map dBm into Tx power index according to -// current HW model, for example, RF and PA, and -// current wireless mode. -// By Bruce, 2008-01-29. -// -static u8 -phy_DbmToTxPwrIdx( - IN PADAPTER Adapter, - IN WIRELESS_MODE WirelessMode, - IN int PowerInDbm - ) -{ - u8 TxPwrIdx = 0; - int Offset = 0; - - - // - // Tested by MP, we found that CCK Index 0 equals to 8dbm, OFDM legacy equals to - // 3dbm, and OFDM HT equals to 0dbm repectively. - // Note: - // The mapping may be different by different NICs. Do not use this formula for what needs accurate result. - // By Bruce, 2008-01-29. - // - switch(WirelessMode) - { - case WIRELESS_MODE_B: - Offset = -7; - break; - - case WIRELESS_MODE_G: - case WIRELESS_MODE_N_24G: - Offset = -8; - break; - default: - Offset = -8; - break; - } - - if((PowerInDbm - Offset) > 0) - { - TxPwrIdx = (u8)((PowerInDbm - Offset) * 2); - } - else - { - TxPwrIdx = 0; - } - - // Tx Power Index is too large. - if(TxPwrIdx > MAX_TXPWR_IDX_NMODE_92S) - TxPwrIdx = MAX_TXPWR_IDX_NMODE_92S; - - return TxPwrIdx; -} - -// -// Description: -// Map Tx power index into dBm according to -// current HW model, for example, RF and PA, and -// current wireless mode. -// By Bruce, 2008-01-29. -// -int -phy_TxPwrIdxToDbm( - IN PADAPTER Adapter, - IN WIRELESS_MODE WirelessMode, - IN u8 TxPwrIdx - ) -{ - int Offset = 0; - int PwrOutDbm = 0; - - // - // Tested by MP, we found that CCK Index 0 equals to -7dbm, OFDM legacy equals to -8dbm. - // Note: - // The mapping may be different by different NICs. Do not use this formula for what needs accurate result. - // By Bruce, 2008-01-29. - // - switch(WirelessMode) - { - case WIRELESS_MODE_B: - Offset = -7; - break; - - case WIRELESS_MODE_G: - case WIRELESS_MODE_N_24G: - Offset = -8; - default: - Offset = -8; - break; - } - - PwrOutDbm = TxPwrIdx / 2 + Offset; // Discard the decimal part. - - return PwrOutDbm; -} - - -/*----------------------------------------------------------------------------- - * Function: GetTxPowerLevel8190() - * - * Overview: This function is export to "common" moudule - * - * Input: PADAPTER Adapter - * psByte Power Level - * - * Output: NONE - * - * Return: NONE - * - *---------------------------------------------------------------------------*/ -VOID -PHY_GetTxPowerLevel8192C( - IN PADAPTER Adapter, - OUT u32* powerlevel - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u8 TxPwrLevel = 0; - int TxPwrDbm; - - // - // Because the Tx power indexes are different, we report the maximum of them to - // meet the CCX TPC request. By Bruce, 2008-01-31. - // - - // CCK - TxPwrLevel = pHalData->CurrentCckTxPwrIdx; - TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_B, TxPwrLevel); - - // Legacy OFDM - TxPwrLevel = pHalData->CurrentOfdm24GTxPwrIdx + pHalData->LegacyHTTxPowerDiff; - - // Compare with Legacy OFDM Tx power. - if(phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_G, TxPwrLevel) > TxPwrDbm) - TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_G, TxPwrLevel); - - // HT OFDM - TxPwrLevel = pHalData->CurrentOfdm24GTxPwrIdx; - - // Compare with HT OFDM Tx power. - if(phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_N_24G, TxPwrLevel) > TxPwrDbm) - TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_N_24G, TxPwrLevel); - - *powerlevel = TxPwrDbm; -} - - -static void getTxPowerIndex( - IN PADAPTER Adapter, - IN u8 channel, - IN OUT u8* cckPowerLevel, - IN OUT u8* ofdmPowerLevel - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u8 index = (channel -1); - // 1. CCK - cckPowerLevel[RF_PATH_A] = pHalData->TxPwrLevelCck[RF_PATH_A][index]; //RF-A - cckPowerLevel[RF_PATH_B] = pHalData->TxPwrLevelCck[RF_PATH_B][index]; //RF-B - - // 2. OFDM for 1S or 2S - if (GET_RF_TYPE(Adapter) == RF_1T2R || GET_RF_TYPE(Adapter) == RF_1T1R) - { - // Read HT 40 OFDM TX power - ofdmPowerLevel[RF_PATH_A] = pHalData->TxPwrLevelHT40_1S[RF_PATH_A][index]; - ofdmPowerLevel[RF_PATH_B] = pHalData->TxPwrLevelHT40_1S[RF_PATH_B][index]; - } - else if (GET_RF_TYPE(Adapter) == RF_2T2R) - { - // Read HT 40 OFDM TX power - ofdmPowerLevel[RF_PATH_A] = pHalData->TxPwrLevelHT40_2S[RF_PATH_A][index]; - ofdmPowerLevel[RF_PATH_B] = pHalData->TxPwrLevelHT40_2S[RF_PATH_B][index]; - } - //RTPRINT(FPHY, PHY_TXPWR, ("Channel-%d, set tx power index !!\n", channel)); -} - -static void ccxPowerIndexCheck( - IN PADAPTER Adapter, - IN u8 channel, - IN OUT u8* cckPowerLevel, - IN OUT u8* ofdmPowerLevel - ) -{ -#if 0 - PMGNT_INFO pMgntInfo = &(Adapter->MgntInfo); - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - PRT_CCX_INFO pCcxInfo = GET_CCX_INFO(pMgntInfo); - - // - // CCX 2 S31, AP control of client transmit power: - // 1. We shall not exceed Cell Power Limit as possible as we can. - // 2. Tolerance is +/- 5dB. - // 3. 802.11h Power Contraint takes higher precedence over CCX Cell Power Limit. - // - // TODO: - // 1. 802.11h power contraint - // - // 071011, by rcnjko. - // - if( pMgntInfo->OpMode == RT_OP_MODE_INFRASTRUCTURE && - pMgntInfo->mAssoc && - pCcxInfo->bUpdateCcxPwr && - pCcxInfo->bWithCcxCellPwr && - channel == pMgntInfo->dot11CurrentChannelNumber) - { - u1Byte CckCellPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_B, pCcxInfo->CcxCellPwr); - u1Byte LegacyOfdmCellPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_G, pCcxInfo->CcxCellPwr); - u1Byte OfdmCellPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_N_24G, pCcxInfo->CcxCellPwr); - - RT_TRACE(COMP_TXAGC, DBG_LOUD, - ("CCX Cell Limit: %d dbm => CCK Tx power index : %d, Legacy OFDM Tx power index : %d, OFDM Tx power index: %d\n", - pCcxInfo->CcxCellPwr, CckCellPwrIdx, LegacyOfdmCellPwrIdx, OfdmCellPwrIdx)); - RT_TRACE(COMP_TXAGC, DBG_LOUD, - ("EEPROM channel(%d) => CCK Tx power index: %d, Legacy OFDM Tx power index : %d, OFDM Tx power index: %d\n", - channel, cckPowerLevel[0], ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff, ofdmPowerLevel[0])); - - // CCK - if(cckPowerLevel[0] > CckCellPwrIdx) - cckPowerLevel[0] = CckCellPwrIdx; - // Legacy OFDM, HT OFDM - if(ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff > LegacyOfdmCellPwrIdx) - { - if((OfdmCellPwrIdx - pHalData->LegacyHTTxPowerDiff) > 0) - { - ofdmPowerLevel[0] = OfdmCellPwrIdx - pHalData->LegacyHTTxPowerDiff; - } - else - { - ofdmPowerLevel[0] = 0; - } - } - - RT_TRACE(COMP_TXAGC, DBG_LOUD, - ("Altered CCK Tx power index : %d, Legacy OFDM Tx power index: %d, OFDM Tx power index: %d\n", - cckPowerLevel[0], ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff, ofdmPowerLevel[0])); - } - - pHalData->CurrentCckTxPwrIdx = cckPowerLevel[0]; - pHalData->CurrentOfdm24GTxPwrIdx = ofdmPowerLevel[0]; - - RT_TRACE(COMP_TXAGC, DBG_LOUD, - ("PHY_SetTxPowerLevel8192S(): CCK Tx power index : %d, Legacy OFDM Tx power index: %d, OFDM Tx power index: %d\n", - cckPowerLevel[0], ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff, ofdmPowerLevel[0])); -#endif -} -/*----------------------------------------------------------------------------- - * Function: SetTxPowerLevel8190() - * - * Overview: This function is export to "HalCommon" moudule - * We must consider RF path later!!!!!!! - * - * Input: PADAPTER Adapter - * u1Byte channel - * - * Output: NONE - * - * Return: NONE - * 2008/11/04 MHC We remove EEPROM_93C56. - * We need to move CCX relative code to independet file. - * 2009/01/21 MHC Support new EEPROM format from SD3 requirement. - * - *---------------------------------------------------------------------------*/ -VOID -PHY_SetTxPowerLevel8192C( - IN PADAPTER Adapter, - IN u8 channel - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u8 cckPowerLevel[2], ofdmPowerLevel[2]; // [0]:RF-A, [1]:RF-B -/* -#if(MP_DRIVER == 1) - if (Adapter->registrypriv.mp_mode == 1) - return; -#endif -*/ - if(pHalData->bTXPowerDataReadFromEEPORM == _FALSE) - return; - - getTxPowerIndex(Adapter, channel, &cckPowerLevel[0], &ofdmPowerLevel[0]); - //RTPRINT(FPHY, PHY_TXPWR, ("Channel-%d, cckPowerLevel (A / B) = 0x%x / 0x%x, ofdmPowerLevel (A / B) = 0x%x / 0x%x\n", - // channel, cckPowerLevel[0], cckPowerLevel[1], ofdmPowerLevel[0], ofdmPowerLevel[1])); - - ccxPowerIndexCheck(Adapter, channel, &cckPowerLevel[0], &ofdmPowerLevel[0]); - - rtl8192c_PHY_RF6052SetCckTxPower(Adapter, &cckPowerLevel[0]); - rtl8192c_PHY_RF6052SetOFDMTxPower(Adapter, &ofdmPowerLevel[0], channel); - -#if 0 - switch(pHalData->rf_chip) - { - case RF_8225: - PHY_SetRF8225CckTxPower(Adapter, cckPowerLevel[0]); - PHY_SetRF8225OfdmTxPower(Adapter, ofdmPowerLevel[0]); - break; - - case RF_8256: - PHY_SetRF8256CCKTxPower(Adapter, cckPowerLevel[0]); - PHY_SetRF8256OFDMTxPower(Adapter, ofdmPowerLevel[0]); - break; - - case RF_6052: - PHY_RF6052SetCckTxPower(Adapter, &cckPowerLevel[0]); - PHY_RF6052SetOFDMTxPower(Adapter, &ofdmPowerLevel[0], channel); - break; - - case RF_8258: - break; - } -#endif - -} - - -// -// Description: -// Update transmit power level of all channel supported. -// -// TODO: -// A mode. -// By Bruce, 2008-02-04. -// -BOOLEAN -PHY_UpdateTxPowerDbm8192C( - IN PADAPTER Adapter, - IN int powerInDbm - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u8 idx; - u8 rf_path; - - // TODO: A mode Tx power. - u8 CckTxPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_B, powerInDbm); - u8 OfdmTxPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_N_24G, powerInDbm); - - if(OfdmTxPwrIdx - pHalData->LegacyHTTxPowerDiff > 0) - OfdmTxPwrIdx -= pHalData->LegacyHTTxPowerDiff; - else - OfdmTxPwrIdx = 0; - - //RT_TRACE(COMP_TXAGC, DBG_LOUD, ("PHY_UpdateTxPowerDbm8192S(): %ld dBm , CckTxPwrIdx = %d, OfdmTxPwrIdx = %d\n", powerInDbm, CckTxPwrIdx, OfdmTxPwrIdx)); - - for(idx = 0; idx < 14; idx++) - { - for (rf_path = 0; rf_path < 2; rf_path++) - { - pHalData->TxPwrLevelCck[rf_path][idx] = CckTxPwrIdx; - pHalData->TxPwrLevelHT40_1S[rf_path][idx] = - pHalData->TxPwrLevelHT40_2S[rf_path][idx] = OfdmTxPwrIdx; - } - } - - //Adapter->HalFunc.SetTxPowerLevelHandler(Adapter, pHalData->CurrentChannel);//gtest:todo - - return _TRUE; -} - - -/* - Description: - When beacon interval is changed, the values of the - hw registers should be modified. - By tynli, 2008.10.24. - -*/ - - -void -rtl8192c_PHY_SetBeaconHwReg( - IN PADAPTER Adapter, - IN u16 BeaconInterval - ) -{ - -} - - -VOID -PHY_ScanOperationBackup8192C( - IN PADAPTER Adapter, - IN u8 Operation - ) -{ -#if 0 - IO_TYPE IoType; - - if(!Adapter->bDriverStopped) - { - switch(Operation) - { - case SCAN_OPT_BACKUP: - IoType = IO_CMD_PAUSE_DM_BY_SCAN; - rtw_hal_set_hwreg(Adapter,HW_VAR_IO_CMD, (pu1Byte)&IoType); - - break; - - case SCAN_OPT_RESTORE: - IoType = IO_CMD_RESUME_DM_BY_SCAN; - rtw_hal_set_hwreg(Adapter,HW_VAR_IO_CMD, (pu1Byte)&IoType); - break; - - default: - RT_TRACE(COMP_SCAN, DBG_LOUD, ("Unknown Scan Backup Operation. \n")); - break; - } - } -#endif -} - -/*----------------------------------------------------------------------------- - * Function: PHY_SetBWModeCallback8192C() - * - * Overview: Timer callback function for SetSetBWMode - * - * Input: PRT_TIMER pTimer - * - * Output: NONE - * - * Return: NONE - * - * Note: (1) We do not take j mode into consideration now - * (2) Will two workitem of "switch channel" and "switch channel bandwidth" run - * concurrently? - *---------------------------------------------------------------------------*/ -static VOID -_PHY_SetBWMode92C( - IN PADAPTER Adapter -) -{ -// PADAPTER Adapter = (PADAPTER)pTimer->Adapter; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u8 regBwOpMode; - u8 regRRSR_RSC; - - //return; - - // Added it for 20/40 mhz switch time evaluation by guangan 070531 - //u4Byte NowL, NowH; - //u8Byte BeginTime, EndTime; - - /*RT_TRACE(COMP_SCAN, DBG_LOUD, ("==>PHY_SetBWModeCallback8192C() Switch to %s bandwidth\n", \ - pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20?"20MHz":"40MHz"))*/ - - if(pHalData->rf_chip == RF_PSEUDO_11N) - { - //pHalData->SetBWModeInProgress= _FALSE; - return; - } - - // There is no 40MHz mode in RF_8225. - if(pHalData->rf_chip==RF_8225) - return; - - if(Adapter->bDriverStopped) - return; - - // Added it for 20/40 mhz switch time evaluation by guangan 070531 - //NowL = PlatformEFIORead4Byte(Adapter, TSFR); - //NowH = PlatformEFIORead4Byte(Adapter, TSFR+4); - //BeginTime = ((u8Byte)NowH << 32) + NowL; - - //3// - //3//<1>Set MAC register - //3// - //Adapter->HalFunc.SetBWModeHandler(); - - regBwOpMode = rtw_read8(Adapter, REG_BWOPMODE); - regRRSR_RSC = rtw_read8(Adapter, REG_RRSR+2); - //regBwOpMode = rtw_hal_get_hwreg(Adapter,HW_VAR_BWMODE,(pu1Byte)®BwOpMode); - - switch(pHalData->CurrentChannelBW) - { - case HT_CHANNEL_WIDTH_20: - regBwOpMode |= BW_OPMODE_20MHZ; - // 2007/02/07 Mark by Emily becasue we have not verify whether this register works - rtw_write8(Adapter, REG_BWOPMODE, regBwOpMode); - break; - - case HT_CHANNEL_WIDTH_40: - regBwOpMode &= ~BW_OPMODE_20MHZ; - // 2007/02/07 Mark by Emily becasue we have not verify whether this register works - rtw_write8(Adapter, REG_BWOPMODE, regBwOpMode); - - regRRSR_RSC = (regRRSR_RSC&0x90) |(pHalData->nCur40MhzPrimeSC<<5); - rtw_write8(Adapter, REG_RRSR+2, regRRSR_RSC); - break; - - default: - /*RT_TRACE(COMP_DBG, DBG_LOUD, ("PHY_SetBWModeCallback8192C(): - unknown Bandwidth: %#X\n",pHalData->CurrentChannelBW));*/ - break; - } - - //3// - //3//<2>Set PHY related register - //3// - switch(pHalData->CurrentChannelBW) - { - /* 20 MHz channel*/ - case HT_CHANNEL_WIDTH_20: - PHY_SetBBReg(Adapter, rFPGA0_RFMOD, bRFMOD, 0x0); - PHY_SetBBReg(Adapter, rFPGA1_RFMOD, bRFMOD, 0x0); - PHY_SetBBReg(Adapter, rFPGA0_AnalogParameter2, BIT10, 1); - - break; - - - /* 40 MHz channel*/ - case HT_CHANNEL_WIDTH_40: - PHY_SetBBReg(Adapter, rFPGA0_RFMOD, bRFMOD, 0x1); - PHY_SetBBReg(Adapter, rFPGA1_RFMOD, bRFMOD, 0x1); - - // Set Control channel to upper or lower. These settings are required only for 40MHz - PHY_SetBBReg(Adapter, rCCK0_System, bCCKSideBand, (pHalData->nCur40MhzPrimeSC>>1)); - PHY_SetBBReg(Adapter, rOFDM1_LSTF, 0xC00, pHalData->nCur40MhzPrimeSC); - PHY_SetBBReg(Adapter, rFPGA0_AnalogParameter2, BIT10, 0); - - PHY_SetBBReg(Adapter, 0x818, (BIT26|BIT27), (pHalData->nCur40MhzPrimeSC==HAL_PRIME_CHNL_OFFSET_LOWER)?2:1); - - break; - - - - default: - /*RT_TRACE(COMP_DBG, DBG_LOUD, ("PHY_SetBWModeCallback8192C(): unknown Bandwidth: %#X\n"\ - ,pHalData->CurrentChannelBW));*/ - break; - - } - //Skip over setting of J-mode in BB register here. Default value is "None J mode". Emily 20070315 - - // Added it for 20/40 mhz switch time evaluation by guangan 070531 - //NowL = PlatformEFIORead4Byte(Adapter, TSFR); - //NowH = PlatformEFIORead4Byte(Adapter, TSFR+4); - //EndTime = ((u8Byte)NowH << 32) + NowL; - //RT_TRACE(COMP_SCAN, DBG_LOUD, ("SetBWModeCallback8190Pci: time of SetBWMode = %I64d us!\n", (EndTime - BeginTime))); - - //3<3>Set RF related register - switch(pHalData->rf_chip) - { - case RF_8225: - //PHY_SetRF8225Bandwidth(Adapter, pHalData->CurrentChannelBW); - break; - - case RF_8256: - // Please implement this function in Hal8190PciPhy8256.c - //PHY_SetRF8256Bandwidth(Adapter, pHalData->CurrentChannelBW); - break; - - case RF_8258: - // Please implement this function in Hal8190PciPhy8258.c - // PHY_SetRF8258Bandwidth(); - break; - - case RF_PSEUDO_11N: - // Do Nothing - break; - - case RF_6052: - rtl8192c_PHY_RF6052SetBandwidth(Adapter, pHalData->CurrentChannelBW); - break; - - default: - //RT_ASSERT(FALSE, ("Unknown RFChipID: %d\n", pHalData->RFChipID)); - break; - } - - //pHalData->SetBWModeInProgress= FALSE; - - //RT_TRACE(COMP_SCAN, DBG_LOUD, ("<==PHY_SetBWModeCallback8192C() \n" )); -} - - - /*----------------------------------------------------------------------------- - * Function: SetBWMode8190Pci() - * - * Overview: This function is export to "HalCommon" moudule - * - * Input: PADAPTER Adapter - * HT_CHANNEL_WIDTH Bandwidth //20M or 40M - * - * Output: NONE - * - * Return: NONE - * - * Note: We do not take j mode into consideration now - *---------------------------------------------------------------------------*/ -VOID -PHY_SetBWMode8192C( - IN PADAPTER Adapter, - IN HT_CHANNEL_WIDTH Bandwidth, // 20M or 40M - IN unsigned char Offset // Upper, Lower, or Don't care -) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - HT_CHANNEL_WIDTH tmpBW= pHalData->CurrentChannelBW; - // Modified it for 20/40 mhz switch by guangan 070531 - //PMGNT_INFO pMgntInfo=&Adapter->MgntInfo; - - //return; - - //if(pHalData->SwChnlInProgress) -// if(pMgntInfo->bScanInProgress) -// { -// RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SetBWMode8192C() %s Exit because bScanInProgress!\n", -// Bandwidth == HT_CHANNEL_WIDTH_20?"20MHz":"40MHz")); -// return; -// } - -// if(pHalData->SetBWModeInProgress) -// { -// // Modified it for 20/40 mhz switch by guangan 070531 -// RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SetBWMode8192C() %s cancel last timer because SetBWModeInProgress!\n", -// Bandwidth == HT_CHANNEL_WIDTH_20?"20MHz":"40MHz")); -// PlatformCancelTimer(Adapter, &pHalData->SetBWModeTimer); -// //return; -// } - - //if(pHalData->SetBWModeInProgress) - // return; - - //pHalData->SetBWModeInProgress= TRUE; - - pHalData->CurrentChannelBW = Bandwidth; - -#if 0 - if(Offset==HT_EXTCHNL_OFFSET_LOWER) - pHalData->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_UPPER; - else if(Offset==HT_EXTCHNL_OFFSET_UPPER) - pHalData->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_LOWER; - else - pHalData->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_DONT_CARE; -#else - pHalData->nCur40MhzPrimeSC = Offset; -#endif - - if((!Adapter->bDriverStopped) && (!Adapter->bSurpriseRemoved)) - { - - #if 0 - //PlatformSetTimer(Adapter, &(pHalData->SetBWModeTimer), 0); - #else - _PHY_SetBWMode92C(Adapter); - #endif - - } - else - { - //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SetBWMode8192C() SetBWModeInProgress FALSE driver sleep or unload\n")); - //pHalData->SetBWModeInProgress= FALSE; - pHalData->CurrentChannelBW = tmpBW; - } - -} - - -static void _PHY_SwChnl8192C(PADAPTER Adapter, u8 channel) -{ - u8 eRFPath; - u32 param1, param2; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - if ( Adapter->bNotifyChannelChange ) - { - DBG_871X( "[%s] ch = %d\n", __FUNCTION__, channel ); - } - - //s1. pre common command - CmdID_SetTxPowerLevel - PHY_SetTxPowerLevel8192C(Adapter, channel); - - //s2. RF dependent command - CmdID_RF_WriteReg, param1=RF_CHNLBW, param2=channel - param1 = RF_CHNLBW; - param2 = channel; - for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++) - { - pHalData->RfRegChnlVal[eRFPath] = ((pHalData->RfRegChnlVal[eRFPath] & 0xfffffc00) | param2); - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, param1, bRFRegOffsetMask, pHalData->RfRegChnlVal[eRFPath]); - } - - - //s3. post common command - CmdID_End, None - -} - -VOID -PHY_SwChnl8192C( // Call after initialization - IN PADAPTER Adapter, - IN u8 channel - ) -{ - //PADAPTER Adapter = ADJUST_TO_ADAPTIVE_ADAPTER(pAdapter, _TRUE); - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u8 tmpchannel = pHalData->CurrentChannel; - BOOLEAN bResult = _TRUE; - - if(pHalData->rf_chip == RF_PSEUDO_11N) - { - //pHalData->SwChnlInProgress=FALSE; - return; //return immediately if it is peudo-phy - } - - //if(pHalData->SwChnlInProgress) - // return; - - //if(pHalData->SetBWModeInProgress) - // return; - - //-------------------------------------------- - switch(pHalData->CurrentWirelessMode) - { - case WIRELESS_MODE_A: - case WIRELESS_MODE_N_5G: - //RT_ASSERT((channel>14), ("WIRELESS_MODE_A but channel<=14")); - break; - - case WIRELESS_MODE_B: - //RT_ASSERT((channel<=14), ("WIRELESS_MODE_B but channel>14")); - break; - - case WIRELESS_MODE_G: - case WIRELESS_MODE_N_24G: - //RT_ASSERT((channel<=14), ("WIRELESS_MODE_G but channel>14")); - break; - - default: - //RT_ASSERT(FALSE, ("Invalid WirelessMode(%#x)!!\n", pHalData->CurrentWirelessMode)); - break; - } - //-------------------------------------------- - - //pHalData->SwChnlInProgress = TRUE; - if(channel == 0) - channel = 1; - - pHalData->CurrentChannel=channel; - - //pHalData->SwChnlStage=0; - //pHalData->SwChnlStep=0; - - if((!Adapter->bDriverStopped) && (!Adapter->bSurpriseRemoved)) - { - - #if 0 - //PlatformSetTimer(Adapter, &(pHalData->SwChnlTimer), 0); - #else - _PHY_SwChnl8192C(Adapter, channel); - #endif - - if(bResult) - { - //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SwChnl8192C SwChnlInProgress TRUE schdule workitem done\n")); - } - else - { - //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SwChnl8192C SwChnlInProgress FALSE schdule workitem error\n")); - //if(IS_HARDWARE_TYPE_8192SU(Adapter)) - //{ - // pHalData->SwChnlInProgress = FALSE; - pHalData->CurrentChannel = tmpchannel; - //} - } - - } - else - { - //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SwChnl8192C SwChnlInProgress FALSE driver sleep or unload\n")); - //if(IS_HARDWARE_TYPE_8192SU(Adapter)) - //{ - // pHalData->SwChnlInProgress = FALSE; - pHalData->CurrentChannel = tmpchannel; - //} - } -} - - -static BOOLEAN -phy_SwChnlStepByStep( - IN PADAPTER Adapter, - IN u8 channel, - IN u8 *stage, - IN u8 *step, - OUT u32 *delay - ) -{ -#if 0 - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - PCHANNEL_ACCESS_SETTING pChnlAccessSetting; - SwChnlCmd PreCommonCmd[MAX_PRECMD_CNT]; - u4Byte PreCommonCmdCnt; - SwChnlCmd PostCommonCmd[MAX_POSTCMD_CNT]; - u4Byte PostCommonCmdCnt; - SwChnlCmd RfDependCmd[MAX_RFDEPENDCMD_CNT]; - u4Byte RfDependCmdCnt; - SwChnlCmd *CurrentCmd; - u1Byte eRFPath; - u4Byte RfTXPowerCtrl; - BOOLEAN bAdjRfTXPowerCtrl = _FALSE; - - - RT_ASSERT((Adapter != NULL), ("Adapter should not be NULL\n")); -#if(MP_DRIVER != 1) - RT_ASSERT(IsLegalChannel(Adapter, channel), ("illegal channel: %d\n", channel)); -#endif - RT_ASSERT((pHalData != NULL), ("pHalData should not be NULL\n")); - - pChnlAccessSetting = &Adapter->MgntInfo.Info8185.ChannelAccessSetting; - RT_ASSERT((pChnlAccessSetting != NULL), ("pChnlAccessSetting should not be NULL\n")); - - //for(eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++) - //for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++) - //{ - // <1> Fill up pre common command. - PreCommonCmdCnt = 0; - phy_SetSwChnlCmdArray(PreCommonCmd, PreCommonCmdCnt++, MAX_PRECMD_CNT, - CmdID_SetTxPowerLevel, 0, 0, 0); - phy_SetSwChnlCmdArray(PreCommonCmd, PreCommonCmdCnt++, MAX_PRECMD_CNT, - CmdID_End, 0, 0, 0); - - // <2> Fill up post common command. - PostCommonCmdCnt = 0; - - phy_SetSwChnlCmdArray(PostCommonCmd, PostCommonCmdCnt++, MAX_POSTCMD_CNT, - CmdID_End, 0, 0, 0); - - // <3> Fill up RF dependent command. - RfDependCmdCnt = 0; - switch( pHalData->RFChipID ) - { - case RF_8225: - RT_ASSERT((channel >= 1 && channel <= 14), ("illegal channel for Zebra: %d\n", channel)); - // 2008/09/04 MH Change channel. - if(channel==14) channel++; - phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT, - CmdID_RF_WriteReg, rZebra1_Channel, (0x10+channel-1), 10); - phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT, - CmdID_End, 0, 0, 0); - break; - - case RF_8256: - // TEST!! This is not the table for 8256!! - RT_ASSERT((channel >= 1 && channel <= 14), ("illegal channel for Zebra: %d\n", channel)); - phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT, - CmdID_RF_WriteReg, rRfChannel, channel, 10); - phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT, - CmdID_End, 0, 0, 0); - break; - - case RF_6052: - RT_ASSERT((channel >= 1 && channel <= 14), ("illegal channel for Zebra: %d\n", channel)); - phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT, - CmdID_RF_WriteReg, RF_CHNLBW, channel, 10); - phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT, - CmdID_End, 0, 0, 0); - - break; - - case RF_8258: - break; - - // For FPGA two MAC verification - case RF_PSEUDO_11N: - return TRUE; - default: - RT_ASSERT(FALSE, ("Unknown RFChipID: %d\n", pHalData->RFChipID)); - return FALSE; - break; - } - - - do{ - switch(*stage) - { - case 0: - CurrentCmd=&PreCommonCmd[*step]; - break; - case 1: - CurrentCmd=&RfDependCmd[*step]; - break; - case 2: - CurrentCmd=&PostCommonCmd[*step]; - break; - } - - if(CurrentCmd->CmdID==CmdID_End) - { - if((*stage)==2) - { - return TRUE; - } - else - { - (*stage)++; - (*step)=0; - continue; - } - } - - switch(CurrentCmd->CmdID) - { - case CmdID_SetTxPowerLevel: - PHY_SetTxPowerLevel8192C(Adapter,channel); - break; - case CmdID_WritePortUlong: - PlatformEFIOWrite4Byte(Adapter, CurrentCmd->Para1, CurrentCmd->Para2); - break; - case CmdID_WritePortUshort: - PlatformEFIOWrite2Byte(Adapter, CurrentCmd->Para1, (u2Byte)CurrentCmd->Para2); - break; - case CmdID_WritePortUchar: - PlatformEFIOWrite1Byte(Adapter, CurrentCmd->Para1, (u1Byte)CurrentCmd->Para2); - break; - case CmdID_RF_WriteReg: // Only modify channel for the register now !!!!! - for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++) - { -#if 1 - pHalData->RfRegChnlVal[eRFPath] = ((pHalData->RfRegChnlVal[eRFPath] & 0xfffffc00) | CurrentCmd->Para2); - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, CurrentCmd->Para1, bRFRegOffsetMask, pHalData->RfRegChnlVal[eRFPath]); -#else - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, CurrentCmd->Para1, bRFRegOffsetMask, (CurrentCmd->Para2)); -#endif - } - break; - } - - break; - }while(TRUE); - //cosa }/*for(Number of RF paths)*/ - - (*delay)=CurrentCmd->msDelay; - (*step)++; - return FALSE; -#endif - return _TRUE; -} - - -static BOOLEAN -phy_SetSwChnlCmdArray( - SwChnlCmd* CmdTable, - u32 CmdTableIdx, - u32 CmdTableSz, - SwChnlCmdID CmdID, - u32 Para1, - u32 Para2, - u32 msDelay - ) -{ - SwChnlCmd* pCmd; - - if(CmdTable == NULL) - { - //RT_ASSERT(FALSE, ("phy_SetSwChnlCmdArray(): CmdTable cannot be NULL.\n")); - return _FALSE; - } - if(CmdTableIdx >= CmdTableSz) - { - //RT_ASSERT(FALSE, - // ("phy_SetSwChnlCmdArray(): Access invalid index, please check size of the table, CmdTableIdx:%ld, CmdTableSz:%ld\n", - // CmdTableIdx, CmdTableSz)); - return _FALSE; - } - - pCmd = CmdTable + CmdTableIdx; - pCmd->CmdID = CmdID; - pCmd->Para1 = Para1; - pCmd->Para2 = Para2; - pCmd->msDelay = msDelay; - - return _TRUE; -} - - -static void -phy_FinishSwChnlNow( // We should not call this function directly - IN PADAPTER Adapter, - IN u8 channel - ) -{ -#if 0 - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u32 delay; - - while(!phy_SwChnlStepByStep(Adapter,channel,&pHalData->SwChnlStage,&pHalData->SwChnlStep,&delay)) - { - if(delay>0) - rtw_mdelay_os(delay); - } -#endif -} - - - -// -// Description: -// Switch channel synchronously. Called by SwChnlByDelayHandler. -// -// Implemented by Bruce, 2008-02-14. -// The following procedure is operted according to SwChanlCallback8190Pci(). -// However, this procedure is performed synchronously which should be running under -// passive level. -// -VOID -PHY_SwChnlPhy8192C( // Only called during initialize - IN PADAPTER Adapter, - IN u8 channel - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - //RT_TRACE(COMP_SCAN | COMP_RM, DBG_LOUD, ("==>PHY_SwChnlPhy8192S(), switch from channel %d to channel %d.\n", pHalData->CurrentChannel, channel)); - - // Cannot IO. - //if(RT_CANNOT_IO(Adapter)) - // return; - - // Channel Switching is in progress. - //if(pHalData->SwChnlInProgress) - // return; - - //return immediately if it is peudo-phy - if(pHalData->rf_chip == RF_PSEUDO_11N) - { - //pHalData->SwChnlInProgress=FALSE; - return; - } - - //pHalData->SwChnlInProgress = TRUE; - if( channel == 0) - channel = 1; - - pHalData->CurrentChannel=channel; - - //pHalData->SwChnlStage = 0; - //pHalData->SwChnlStep = 0; - - phy_FinishSwChnlNow(Adapter,channel); - - //pHalData->SwChnlInProgress = FALSE; -} - - -// -// Description: -// Configure H/W functionality to enable/disable Monitor mode. -// Note, because we possibly need to configure BB and RF in this function, -// so caller should in PASSIVE_LEVEL. 080118, by rcnjko. -// -VOID -PHY_SetMonitorMode8192C( - IN PADAPTER pAdapter, - IN BOOLEAN bEnableMonitorMode - ) -{ -#if 0 - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - BOOLEAN bFilterOutNonAssociatedBSSID = FALSE; - - //2 Note: we may need to stop antenna diversity. - if(bEnableMonitorMode) - { - bFilterOutNonAssociatedBSSID = FALSE; - RT_TRACE(COMP_RM, DBG_LOUD, ("PHY_SetMonitorMode8192S(): enable monitor mode\n")); - - pHalData->bInMonitorMode = TRUE; - pAdapter->HalFunc.AllowAllDestAddrHandler(pAdapter, TRUE, TRUE); - rtw_hal_set_hwreg(pAdapter, HW_VAR_CHECK_BSSID, (pu1Byte)&bFilterOutNonAssociatedBSSID); - } - else - { - bFilterOutNonAssociatedBSSID = TRUE; - RT_TRACE(COMP_RM, DBG_LOUD, ("PHY_SetMonitorMode8192S(): disable monitor mode\n")); - - pAdapter->HalFunc.AllowAllDestAddrHandler(pAdapter, FALSE, TRUE); - pHalData->bInMonitorMode = FALSE; - rtw_hal_set_hwreg(pAdapter, HW_VAR_CHECK_BSSID, (pu1Byte)&bFilterOutNonAssociatedBSSID); - } -#endif -} - - -/*----------------------------------------------------------------------------- - * Function: PHYCheckIsLegalRfPath8190Pci() - * - * Overview: Check different RF type to execute legal judgement. If RF Path is illegal - * We will return false. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/15/2007 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -BOOLEAN -PHY_CheckIsLegalRfPath8192C( - IN PADAPTER pAdapter, - IN u32 eRFPath) -{ -// HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - BOOLEAN rtValue = _TRUE; - - // NOt check RF Path now.! -#if 0 - if (pHalData->RF_Type == RF_1T2R && eRFPath != RF_PATH_A) - { - rtValue = FALSE; - } - if (pHalData->RF_Type == RF_1T2R && eRFPath != RF_PATH_A) - { - - } -#endif - return rtValue; - -} /* PHY_CheckIsLegalRfPath8192C */ - -static VOID _PHY_SetRFPathSwitch( - IN PADAPTER pAdapter, - IN BOOLEAN bMain, - IN BOOLEAN is2T - ) -{ - u8 u1bTmp; - - if(!pAdapter->hw_init_completed) - { - u1bTmp = rtw_read8(pAdapter, REG_LEDCFG2) | BIT7; - rtw_write8(pAdapter, REG_LEDCFG2, u1bTmp); - //PHY_SetBBReg(pAdapter, REG_LEDCFG0, BIT23, 0x01); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT13, 0x01); - } - - if(is2T) - { - if(bMain) - PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6, 0x1); //92C_Path_A - else - PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6, 0x2); //BT - } - else - { - - if(bMain) - PHY_SetBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, 0x300, 0x2); //Main - else - PHY_SetBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, 0x300, 0x1); //Aux - } - -} - -//return value TRUE => Main; FALSE => Aux - -static BOOLEAN _PHY_QueryRFPathSwitch( - IN PADAPTER pAdapter, - IN BOOLEAN is2T - ) -{ -// if(is2T) -// return _TRUE; - - if(!pAdapter->hw_init_completed) - { - PHY_SetBBReg(pAdapter, REG_LEDCFG0, BIT23, 0x01); - PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT13, 0x01); - } - - if(is2T) - { - if(PHY_QueryBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6) == 0x01) - return _TRUE; - else - return _FALSE; - } - else - { - if(PHY_QueryBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, 0x300) == 0x02) - return _TRUE; - else - return _FALSE; - } -} - - -static VOID -_PHY_DumpRFReg(IN PADAPTER pAdapter) -{ - u32 rfRegValue,rfRegOffset; - - //RTPRINT(FINIT, INIT_RF, ("PHY_DumpRFReg()====>\n")); - - for(rfRegOffset = 0x00;rfRegOffset<=0x30;rfRegOffset++){ - rfRegValue = PHY_QueryRFReg(pAdapter,RF_PATH_A, rfRegOffset, bMaskDWord); - //RTPRINT(FINIT, INIT_RF, (" 0x%02x = 0x%08x\n",rfRegOffset,rfRegValue)); - } - //RTPRINT(FINIT, INIT_RF, ("<===== PHY_DumpRFReg()\n")); -} - - -VOID rtl8192c_PHY_SetRFPathSwitch( - IN PADAPTER pAdapter, - IN BOOLEAN bMain - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter); - -#if DISABLE_BB_RF - return; -#endif - - if(IS_92C_SERIAL( pHalData->VersionID)){ - _PHY_SetRFPathSwitch(pAdapter, bMain, _TRUE); - } - else{ - // For 88C 1T1R - _PHY_SetRFPathSwitch(pAdapter, bMain, _FALSE); - } -} - -// -// Move from phycfg.c to gen.c to be code independent later -// -//-------------------------Move to other DIR later----------------------------*/ -#ifdef CONFIG_USB_HCI - -// -// Description: -// To dump all Tx FIFO LLT related link-list table. -// Added by Roger, 2009.03.10. -// -VOID -DumpBBDbgPort_92CU( - IN PADAPTER Adapter - ) -{ - - //RT_TRACE(COMP_SEND, DBG_WARNING, ("\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n")); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("BaseBand Debug Ports:\n")); - - PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0000); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord))); - - PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0803); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord))); - - PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0a06); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord))); - - PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0007); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord))); - - PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0100); - PHY_SetBBReg(Adapter, 0x0a28, 0x00ff0000, 0x000f0000); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord))); - - PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0100); - PHY_SetBBReg(Adapter, 0x0a28, 0x00ff0000, 0x00150000); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord))); - - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0x800, PHY_QueryBBReg(Adapter, 0x0800, bMaskDWord))); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0x900, PHY_QueryBBReg(Adapter, 0x0900, bMaskDWord))); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xa00, PHY_QueryBBReg(Adapter, 0x0a00, bMaskDWord))); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xa54, PHY_QueryBBReg(Adapter, 0x0a54, bMaskDWord))); - //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xa58, PHY_QueryBBReg(Adapter, 0x0a58, bMaskDWord))); - -} -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+#define _RTL8723A_PHYCFG_C_
+
+#include <drv_conf.h>
+#include <osdep_service.h>
+#include <drv_types.h>
+#include <rtw_byteorder.h>
+
+#ifdef CONFIG_IOL
+#include <rtw_iol.h>
+#endif
+
+#include <rtl8723a_hal.h>
+
+
+/*---------------------------Define Local Constant---------------------------*/
+/* Channel switch:The size of command tables for switch channel*/
+#define MAX_PRECMD_CNT 16
+#define MAX_RFDEPENDCMD_CNT 16
+#define MAX_POSTCMD_CNT 16
+
+#define MAX_DOZE_WAITING_TIMES_9x 64
+
+/*---------------------------Define Local Constant---------------------------*/
+
+
+/*------------------------Define global variable-----------------------------*/
+
+/*------------------------Define local variable------------------------------*/
+
+
+/*--------------------Define export function prototype-----------------------*/
+// Please refer to header file
+/*--------------------Define export function prototype-----------------------*/
+
+/*----------------------------Function Body----------------------------------*/
+//
+// 1. BB register R/W API
+//
+
+/**
+* Function: phy_CalculateBitShift
+*
+* OverView: Get shifted position of the BitMask
+*
+* Input:
+* u4Byte BitMask,
+*
+* Output: none
+* Return: u4Byte Return the shift bit bit position of the mask
+*/
+static u32
+phy_CalculateBitShift(
+ u32 BitMask
+ )
+{
+ u32 i;
+
+ for(i=0; i<=31; i++)
+ {
+ if ( ((BitMask>>i) & 0x1 ) == 1)
+ break;
+ }
+
+ return (i);
+}
+
+
+/**
+* Function: PHY_QueryBBReg
+*
+* OverView: Read "sepcific bits" from BB register
+*
+* Input:
+* PADAPTER Adapter,
+* u4Byte RegAddr, //The target address to be readback
+* u4Byte BitMask //The target bit position in the target address
+* //to be readback
+* Output: None
+* Return: u4Byte Data //The readback register value
+* Note: This function is equal to "GetRegSetting" in PHY programming guide
+*/
+u32
+rtl8192c_PHY_QueryBBReg(
+ IN PADAPTER Adapter,
+ IN u32 RegAddr,
+ IN u32 BitMask
+ )
+{
+ u32 ReturnValue = 0, OriginalValue, BitShift;
+ u16 BBWaitCounter = 0;
+
+#if (DISABLE_BB_RF == 1)
+ return 0;
+#endif
+
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_QueryBBReg(): RegAddr(%#lx), BitMask(%#lx)\n", RegAddr, BitMask));
+
+ OriginalValue = rtw_read32(Adapter, RegAddr);
+ BitShift = phy_CalculateBitShift(BitMask);
+ ReturnValue = (OriginalValue & BitMask) >> BitShift;
+
+ //RTPRINT(FPHY, PHY_BBR, ("BBR MASK=0x%lx Addr[0x%lx]=0x%lx\n", BitMask, RegAddr, OriginalValue));
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_QueryBBReg(): RegAddr(%#lx), BitMask(%#lx), OriginalValue(%#lx)\n", RegAddr, BitMask, OriginalValue));
+
+ return (ReturnValue);
+
+}
+
+
+/**
+* Function: PHY_SetBBReg
+*
+* OverView: Write "Specific bits" to BB register (page 8~)
+*
+* Input:
+* PADAPTER Adapter,
+* u4Byte RegAddr, //The target address to be modified
+* u4Byte BitMask //The target bit position in the target address
+* //to be modified
+* u4Byte Data //The new register value in the target bit position
+* //of the target address
+*
+* Output: None
+* Return: None
+* Note: This function is equal to "PutRegSetting" in PHY programming guide
+*/
+
+VOID
+rtl8192c_PHY_SetBBReg(
+ IN PADAPTER Adapter,
+ IN u32 RegAddr,
+ IN u32 BitMask,
+ IN u32 Data
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ //u16 BBWaitCounter = 0;
+ u32 OriginalValue, BitShift;
+
+#if (DISABLE_BB_RF == 1)
+ return;
+#endif
+
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_SetBBReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx)\n", RegAddr, BitMask, Data));
+
+ if(BitMask!= bMaskDWord){//if not "double word" write
+ OriginalValue = rtw_read32(Adapter, RegAddr);
+ BitShift = phy_CalculateBitShift(BitMask);
+ Data = ((OriginalValue & (~BitMask)) | ((Data << BitShift) & BitMask));
+ }
+
+ rtw_write32(Adapter, RegAddr, Data);
+
+ //RTPRINT(FPHY, PHY_BBW, ("BBW MASK=0x%lx Addr[0x%lx]=0x%lx\n", BitMask, RegAddr, Data));
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_SetBBReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx)\n", RegAddr, BitMask, Data));
+
+}
+
+
+//
+// 2. RF register R/W API
+//
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_FwRFSerialRead()
+ *
+ * Overview: We support firmware to execute RF-R/W.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 01/21/2008 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+static u32
+phy_FwRFSerialRead(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset )
+{
+ u32 retValue = 0;
+ //RT_ASSERT(FALSE,("deprecate!\n"));
+ return (retValue);
+
+} /* phy_FwRFSerialRead */
+
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_FwRFSerialWrite()
+ *
+ * Overview: We support firmware to execute RF-R/W.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 01/21/2008 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+static VOID
+phy_FwRFSerialWrite(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset,
+ IN u32 Data )
+{
+ //RT_ASSERT(FALSE,("deprecate!\n"));
+}
+
+
+/**
+* Function: phy_RFSerialRead
+*
+* OverView: Read regster from RF chips
+*
+* Input:
+* PADAPTER Adapter,
+* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D
+* u4Byte Offset, //The target address to be read
+*
+* Output: None
+* Return: u4Byte reback value
+* Note: Threre are three types of serial operations:
+* 1. Software serial write
+* 2. Hardware LSSI-Low Speed Serial Interface
+* 3. Hardware HSSI-High speed
+* serial write. Driver need to implement (1) and (2).
+* This function is equal to the combination of RF_ReadReg() and RFLSSIRead()
+*/
+static u32
+phy_RFSerialRead(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset
+ )
+{
+ u32 retValue = 0;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath];
+ u32 NewOffset;
+ u32 tmplong,tmplong2;
+ u8 RfPiEnable=0;
+#if 0
+ if(pHalData->RFChipID == RF_8225 && Offset > 0x24) //36 valid regs
+ return retValue;
+ if(pHalData->RFChipID == RF_8256 && Offset > 0x2D) //45 valid regs
+ return retValue;
+#endif
+ //
+ // Make sure RF register offset is correct
+ //
+ Offset &= 0x3f;
+
+ //
+ // Switch page for 8256 RF IC
+ //
+ NewOffset = Offset;
+
+ // 2009/06/17 MH We can not execute IO for power save or other accident mode.
+ //if(RT_CANNOT_IO(Adapter))
+ //{
+ // RTPRINT(FPHY, PHY_RFR, ("phy_RFSerialRead return all one\n"));
+ // return 0xFFFFFFFF;
+ //}
+
+ // For 92S LSSI Read RFLSSIRead
+ // For RF A/B write 0x824/82c(does not work in the future)
+ // We must use 0x824 for RF A and B to execute read trigger
+ tmplong = PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter2, bMaskDWord);
+ if(eRFPath == RF_PATH_A)
+ tmplong2 = tmplong;
+ else
+ tmplong2 = PHY_QueryBBReg(Adapter, pPhyReg->rfHSSIPara2, bMaskDWord);
+
+ tmplong2 = (tmplong2 & (~bLSSIReadAddress)) | (NewOffset<<23) | bLSSIReadEdge; //T65 RF
+
+ PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2, bMaskDWord, tmplong&(~bLSSIReadEdge));
+ rtw_udelay_os(10);// PlatformStallExecution(10);
+
+ PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, bMaskDWord, tmplong2);
+ rtw_udelay_os(100);//PlatformStallExecution(100);
+
+ PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2, bMaskDWord, tmplong|bLSSIReadEdge);
+ rtw_udelay_os(10);//PlatformStallExecution(10);
+
+ if(eRFPath == RF_PATH_A)
+ RfPiEnable = (u8)PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter1, BIT8);
+ else if(eRFPath == RF_PATH_B)
+ RfPiEnable = (u8)PHY_QueryBBReg(Adapter, rFPGA0_XB_HSSIParameter1, BIT8);
+
+ if(RfPiEnable)
+ { // Read from BBreg8b8, 12 bits for 8190, 20bits for T65 RF
+ retValue = PHY_QueryBBReg(Adapter, pPhyReg->rfLSSIReadBackPi, bLSSIReadBackData);
+ //DBG_8192C("Readback from RF-PI : 0x%x\n", retValue);
+ }
+ else
+ { //Read from BBreg8a0, 12 bits for 8190, 20 bits for T65 RF
+ retValue = PHY_QueryBBReg(Adapter, pPhyReg->rfLSSIReadBack, bLSSIReadBackData);
+ //DBG_8192C("Readback from RF-SI : 0x%x\n", retValue);
+ }
+ //DBG_8192C("RFR-%d Addr[0x%x]=0x%x\n", eRFPath, pPhyReg->rfLSSIReadBack, retValue);
+
+ return retValue;
+
+}
+
+
+
+/**
+* Function: phy_RFSerialWrite
+*
+* OverView: Write data to RF register (page 8~)
+*
+* Input:
+* PADAPTER Adapter,
+* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D
+* u4Byte Offset, //The target address to be read
+* u4Byte Data //The new register Data in the target bit position
+* //of the target to be read
+*
+* Output: None
+* Return: None
+* Note: Threre are three types of serial operations:
+* 1. Software serial write
+* 2. Hardware LSSI-Low Speed Serial Interface
+* 3. Hardware HSSI-High speed
+* serial write. Driver need to implement (1) and (2).
+* This function is equal to the combination of RF_ReadReg() and RFLSSIRead()
+ *
+ * Note: For RF8256 only
+ * The total count of RTL8256(Zebra4) register is around 36 bit it only employs
+ * 4-bit RF address. RTL8256 uses "register mode control bit" (Reg00[12], Reg00[10])
+ * to access register address bigger than 0xf. See "Appendix-4 in PHY Configuration
+ * programming guide" for more details.
+ * Thus, we define a sub-finction for RTL8526 register address conversion
+ * ===========================================================
+ * Register Mode RegCTL[1] RegCTL[0] Note
+ * (Reg00[12]) (Reg00[10])
+ * ===========================================================
+ * Reg_Mode0 0 x Reg 0 ~15(0x0 ~ 0xf)
+ * ------------------------------------------------------------------
+ * Reg_Mode1 1 0 Reg 16 ~30(0x1 ~ 0xf)
+ * ------------------------------------------------------------------
+ * Reg_Mode2 1 1 Reg 31 ~ 45(0x1 ~ 0xf)
+ * ------------------------------------------------------------------
+ *
+ * 2008/09/02 MH Add 92S RF definition
+ *
+ *
+ *
+*/
+static VOID
+phy_RFSerialWrite(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset,
+ IN u32 Data
+ )
+{
+ u32 DataAndAddr = 0;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath];
+ u32 NewOffset;
+
+#if 0
+ //<Roger_TODO> We should check valid regs for RF_6052 case.
+ if(pHalData->RFChipID == RF_8225 && Offset > 0x24) //36 valid regs
+ return;
+ if(pHalData->RFChipID == RF_8256 && Offset > 0x2D) //45 valid regs
+ return;
+#endif
+
+ // 2009/06/17 MH We can not execute IO for power save or other accident mode.
+ //if(RT_CANNOT_IO(Adapter))
+ //{
+ // RTPRINT(FPHY, PHY_RFW, ("phy_RFSerialWrite stop\n"));
+ // return;
+ //}
+
+ Offset &= 0x3f;
+
+ //
+ // Shadow Update
+ //
+ //PHY_RFShadowWrite(Adapter, eRFPath, Offset, Data);
+
+ //
+ // Switch page for 8256 RF IC
+ //
+ NewOffset = Offset;
+
+ //
+ // Put write addr in [5:0] and write data in [31:16]
+ //
+ //DataAndAddr = (Data<<16) | (NewOffset&0x3f);
+ DataAndAddr = ((NewOffset<<20) | (Data&0x000fffff)) & 0x0fffffff; // T65 RF
+
+ //
+ // Write Operation
+ //
+ PHY_SetBBReg(Adapter, pPhyReg->rf3wireOffset, bMaskDWord, DataAndAddr);
+ //RTPRINT(FPHY, PHY_RFW, ("RFW-%d Addr[0x%lx]=0x%lx\n", eRFPath, pPhyReg->rf3wireOffset, DataAndAddr));
+
+}
+
+
+/**
+* Function: PHY_QueryRFReg
+*
+* OverView: Query "Specific bits" to RF register (page 8~)
+*
+* Input:
+* PADAPTER Adapter,
+* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D
+* u4Byte RegAddr, //The target address to be read
+* u4Byte BitMask //The target bit position in the target address
+* //to be read
+*
+* Output: None
+* Return: u4Byte Readback value
+* Note: This function is equal to "GetRFRegSetting" in PHY programming guide
+*/
+u32
+rtl8192c_PHY_QueryRFReg(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 RegAddr,
+ IN u32 BitMask
+ )
+{
+ u32 Original_Value, Readback_Value, BitShift;
+ //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ //u8 RFWaitCounter = 0;
+ //_irqL irqL;
+
+#if (DISABLE_BB_RF == 1)
+ return 0;
+#endif
+
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_QueryRFReg(): RegAddr(%#lx), eRFPath(%#x), BitMask(%#lx)\n", RegAddr, eRFPath,BitMask));
+
+#ifdef CONFIG_USB_HCI
+ //PlatformAcquireMutex(&pHalData->mxRFOperate);
+#else
+ //_enter_critical(&pHalData->rf_lock, &irqL);
+#endif
+
+
+ Original_Value = phy_RFSerialRead(Adapter, eRFPath, RegAddr);
+
+ BitShift = phy_CalculateBitShift(BitMask);
+ Readback_Value = (Original_Value & BitMask) >> BitShift;
+
+#ifdef CONFIG_USB_HCI
+ //PlatformReleaseMutex(&pHalData->mxRFOperate);
+#else
+ //_exit_critical(&pHalData->rf_lock, &irqL);
+#endif
+
+
+ //RTPRINT(FPHY, PHY_RFR, ("RFR-%d MASK=0x%lx Addr[0x%lx]=0x%lx\n", eRFPath, BitMask, RegAddr, Original_Value));//BitMask(%#lx),BitMask,
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_QueryRFReg(): RegAddr(%#lx), eRFPath(%#x), Original_Value(%#lx)\n",
+ // RegAddr, eRFPath, Original_Value));
+
+ return (Readback_Value);
+}
+
+/**
+* Function: PHY_SetRFReg
+*
+* OverView: Write "Specific bits" to RF register (page 8~)
+*
+* Input:
+* PADAPTER Adapter,
+* RF_RADIO_PATH_E eRFPath, //Radio path of A/B/C/D
+* u4Byte RegAddr, //The target address to be modified
+* u4Byte BitMask //The target bit position in the target address
+* //to be modified
+* u4Byte Data //The new register Data in the target bit position
+* //of the target address
+*
+* Output: None
+* Return: None
+* Note: This function is equal to "PutRFRegSetting" in PHY programming guide
+*/
+VOID
+rtl8192c_PHY_SetRFReg(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 RegAddr,
+ IN u32 BitMask,
+ IN u32 Data
+ )
+{
+
+ //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ //u1Byte RFWaitCounter = 0;
+ u32 Original_Value, BitShift;
+ //_irqL irqL;
+
+#if (DISABLE_BB_RF == 1)
+ return;
+#endif
+
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("--->PHY_SetRFReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx), eRFPath(%#x)\n",
+ // RegAddr, BitMask, Data, eRFPath));
+ //RTPRINT(FINIT, INIT_RF, ("PHY_SetRFReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx), eRFPath(%#x)\n",
+ // RegAddr, BitMask, Data, eRFPath));
+
+
+#ifdef CONFIG_USB_HCI
+ //PlatformAcquireMutex(&pHalData->mxRFOperate);
+#else
+ //_enter_critical(&pHalData->rf_lock, &irqL);
+#endif
+
+
+ // RF data is 12 bits only
+ if (BitMask != bRFRegOffsetMask)
+ {
+ Original_Value = phy_RFSerialRead(Adapter, eRFPath, RegAddr);
+ BitShift = phy_CalculateBitShift(BitMask);
+ Data = ((Original_Value & (~BitMask)) | (Data<< BitShift));
+ }
+
+ phy_RFSerialWrite(Adapter, eRFPath, RegAddr, Data);
+
+
+#ifdef CONFIG_USB_HCI
+ //PlatformReleaseMutex(&pHalData->mxRFOperate);
+#else
+ //_exit_critical(&pHalData->rf_lock, &irqL);
+#endif
+
+ //PHY_QueryRFReg(Adapter,eRFPath,RegAddr,BitMask);
+ //RT_TRACE(COMP_RF, DBG_TRACE, ("<---PHY_SetRFReg(): RegAddr(%#lx), BitMask(%#lx), Data(%#lx), eRFPath(%#x)\n",
+ // RegAddr, BitMask, Data, eRFPath));
+
+}
+
+
+//
+// 3. Initial MAC/BB/RF config by reading MAC/BB/RF txt.
+//
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigMACWithParaFile()
+ *
+ * Overview: This function read BB parameters from general file format, and do register
+ * Read/Write
+ *
+ * Input: PADAPTER Adapter
+ * ps1Byte pFileName
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: configuration file exist
+ *
+ * Note: The format of MACPHY_REG.txt is different from PHY and RF.
+ * [Register][Mask][Value]
+ *---------------------------------------------------------------------------*/
+static int
+phy_ConfigMACWithParaFile(
+ IN PADAPTER Adapter,
+ IN u8* pFileName
+)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ int rtStatus = _SUCCESS;
+
+ return rtStatus;
+}
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigMACWithHeaderFile()
+ *
+ * Overview: This function read BB parameters from Header file we gen, and do register
+ * Read/Write
+ *
+ * Input: PADAPTER Adapter
+ * ps1Byte pFileName
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: configuration file exist
+ *
+ * Note: The format of MACPHY_REG.txt is different from PHY and RF.
+ * [Register][Mask][Value]
+ *---------------------------------------------------------------------------*/
+#ifndef CONFIG_PHY_SETTING_WITH_ODM
+static int
+phy_ConfigMACWithHeaderFile(
+ IN PADAPTER Adapter
+)
+{
+ u32 i = 0;
+ u32 ArrayLength = 0;
+ u32* ptrArray;
+ //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ //2008.11.06 Modified by tynli.
+ //RT_TRACE(COMP_INIT, DBG_LOUD, ("Read Rtl819XMACPHY_Array\n"));
+ ArrayLength = Rtl8723_MAC_ArrayLength;
+ ptrArray = (u32*)Rtl8723_MAC_Array;
+
+#ifdef CONFIG_IOL_MAC
+ {
+ struct xmit_frame *xmit_frame;
+ if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL)
+ return _FAIL;
+
+ for(i = 0 ;i < ArrayLength;i=i+2){ // Add by tynli for 2 column
+ rtw_IOL_append_WB_cmd(xmit_frame, ptrArray[i], (u8)ptrArray[i+1]);
+ }
+
+ return rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0);
+ }
+#else
+ for(i = 0 ;i < ArrayLength;i=i+2){ // Add by tynli for 2 column
+ rtw_write8(Adapter, ptrArray[i], (u8)ptrArray[i+1]);
+ }
+#endif
+
+ return _SUCCESS;
+
+}
+#endif//#ifndef CONFIG_PHY_SETTING_WITH_ODM
+
+/*-----------------------------------------------------------------------------
+ * Function: PHY_MACConfig8192C
+ *
+ * Overview: Condig MAC by header file or parameter file.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 08/12/2008 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+s32 PHY_MACConfig8723A(PADAPTER Adapter)
+{
+ int rtStatus = _SUCCESS;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ s8 *pszMACRegFile;
+ s8 sz8723MACRegFile[] = RTL8723_PHY_MACREG;
+ BOOLEAN is92C = IS_92C_SERIAL(pHalData->VersionID);
+
+
+ pszMACRegFile = sz8723MACRegFile;
+
+ //
+ // Config MAC
+ //
+#ifdef CONFIG_EMBEDDED_FWIMG
+ #ifdef CONFIG_PHY_SETTING_WITH_ODM
+ if(HAL_STATUS_FAILURE == ODM_ConfigMACWithHeaderFile(&pHalData->odmpriv))
+ rtStatus = _FAIL;
+ #else
+ rtStatus = phy_ConfigMACWithHeaderFile(Adapter);
+ #endif//#ifdef CONFIG_PHY_SETTING_WITH_ODM
+#else
+
+ // Not make sure EEPROM, add later
+ //RT_TRACE(COMP_INIT, DBG_LOUD, ("Read MACREG.txt\n"));
+ rtStatus = phy_ConfigMACWithParaFile(Adapter, pszMACRegFile);
+#endif//CONFIG_EMBEDDED_FWIMG
+
+#ifdef CONFIG_PCI_HCI
+ //this switching setting cause some 8192cu hw have redownload fw fail issue
+ //improve 2-stream TX EVM by Jenyu
+ if(is92C)
+ rtw_write8(Adapter, REG_SPS0_CTRL+3,0x71);
+#endif
+
+
+ // 2010.07.13 AMPDU aggregation number 9
+ //rtw_write8(Adapter, REG_MAX_AGGR_NUM, MAX_AGGR_NUM);
+ rtw_write8(Adapter, REG_MAX_AGGR_NUM, 0x0A); //By tynli. 2010.11.18.
+#ifdef CONFIG_USB_HCI
+ if(is92C && (BOARD_USB_DONGLE == pHalData->BoardType))
+ rtw_write8(Adapter, 0x40,0x04);
+#endif
+
+ return rtStatus;
+
+}
+
+
+/**
+* Function: phy_InitBBRFRegisterDefinition
+*
+* OverView: Initialize Register definition offset for Radio Path A/B/C/D
+*
+* Input:
+* PADAPTER Adapter,
+*
+* Output: None
+* Return: None
+* Note: The initialization value is constant and it should never be changes
+*/
+static VOID
+phy_InitBBRFRegisterDefinition(
+ IN PADAPTER Adapter
+)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ // RF Interface Sowrtware Control
+ pHalData->PHYRegDef[RF_PATH_A].rfintfs = rFPGA0_XAB_RFInterfaceSW; // 16 LSBs if read 32-bit from 0x870
+ pHalData->PHYRegDef[RF_PATH_B].rfintfs = rFPGA0_XAB_RFInterfaceSW; // 16 MSBs if read 32-bit from 0x870 (16-bit for 0x872)
+ pHalData->PHYRegDef[RF_PATH_C].rfintfs = rFPGA0_XCD_RFInterfaceSW;// 16 LSBs if read 32-bit from 0x874
+ pHalData->PHYRegDef[RF_PATH_D].rfintfs = rFPGA0_XCD_RFInterfaceSW;// 16 MSBs if read 32-bit from 0x874 (16-bit for 0x876)
+
+ // RF Interface Readback Value
+ pHalData->PHYRegDef[RF_PATH_A].rfintfi = rFPGA0_XAB_RFInterfaceRB; // 16 LSBs if read 32-bit from 0x8E0
+ pHalData->PHYRegDef[RF_PATH_B].rfintfi = rFPGA0_XAB_RFInterfaceRB;// 16 MSBs if read 32-bit from 0x8E0 (16-bit for 0x8E2)
+ pHalData->PHYRegDef[RF_PATH_C].rfintfi = rFPGA0_XCD_RFInterfaceRB;// 16 LSBs if read 32-bit from 0x8E4
+ pHalData->PHYRegDef[RF_PATH_D].rfintfi = rFPGA0_XCD_RFInterfaceRB;// 16 MSBs if read 32-bit from 0x8E4 (16-bit for 0x8E6)
+
+ // RF Interface Output (and Enable)
+ pHalData->PHYRegDef[RF_PATH_A].rfintfo = rFPGA0_XA_RFInterfaceOE; // 16 LSBs if read 32-bit from 0x860
+ pHalData->PHYRegDef[RF_PATH_B].rfintfo = rFPGA0_XB_RFInterfaceOE; // 16 LSBs if read 32-bit from 0x864
+
+ // RF Interface (Output and) Enable
+ pHalData->PHYRegDef[RF_PATH_A].rfintfe = rFPGA0_XA_RFInterfaceOE; // 16 MSBs if read 32-bit from 0x860 (16-bit for 0x862)
+ pHalData->PHYRegDef[RF_PATH_B].rfintfe = rFPGA0_XB_RFInterfaceOE; // 16 MSBs if read 32-bit from 0x864 (16-bit for 0x866)
+
+ //Addr of LSSI. Wirte RF register by driver
+ pHalData->PHYRegDef[RF_PATH_A].rf3wireOffset = rFPGA0_XA_LSSIParameter; //LSSI Parameter
+ pHalData->PHYRegDef[RF_PATH_B].rf3wireOffset = rFPGA0_XB_LSSIParameter;
+
+ // RF parameter
+ pHalData->PHYRegDef[RF_PATH_A].rfLSSI_Select = rFPGA0_XAB_RFParameter; //BB Band Select
+ pHalData->PHYRegDef[RF_PATH_B].rfLSSI_Select = rFPGA0_XAB_RFParameter;
+ pHalData->PHYRegDef[RF_PATH_C].rfLSSI_Select = rFPGA0_XCD_RFParameter;
+ pHalData->PHYRegDef[RF_PATH_D].rfLSSI_Select = rFPGA0_XCD_RFParameter;
+
+ // Tx AGC Gain Stage (same for all path. Should we remove this?)
+ pHalData->PHYRegDef[RF_PATH_A].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage
+ pHalData->PHYRegDef[RF_PATH_B].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage
+ pHalData->PHYRegDef[RF_PATH_C].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage
+ pHalData->PHYRegDef[RF_PATH_D].rfTxGainStage = rFPGA0_TxGainStage; //Tx gain stage
+
+ // Tranceiver A~D HSSI Parameter-1
+ pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara1 = rFPGA0_XA_HSSIParameter1; //wire control parameter1
+ pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara1 = rFPGA0_XB_HSSIParameter1; //wire control parameter1
+
+ // Tranceiver A~D HSSI Parameter-2
+ pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara2 = rFPGA0_XA_HSSIParameter2; //wire control parameter2
+ pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara2 = rFPGA0_XB_HSSIParameter2; //wire control parameter2
+
+ // RF switch Control
+ pHalData->PHYRegDef[RF_PATH_A].rfSwitchControl = rFPGA0_XAB_SwitchControl; //TR/Ant switch control
+ pHalData->PHYRegDef[RF_PATH_B].rfSwitchControl = rFPGA0_XAB_SwitchControl;
+ pHalData->PHYRegDef[RF_PATH_C].rfSwitchControl = rFPGA0_XCD_SwitchControl;
+ pHalData->PHYRegDef[RF_PATH_D].rfSwitchControl = rFPGA0_XCD_SwitchControl;
+
+ // AGC control 1
+ pHalData->PHYRegDef[RF_PATH_A].rfAGCControl1 = rOFDM0_XAAGCCore1;
+ pHalData->PHYRegDef[RF_PATH_B].rfAGCControl1 = rOFDM0_XBAGCCore1;
+ pHalData->PHYRegDef[RF_PATH_C].rfAGCControl1 = rOFDM0_XCAGCCore1;
+ pHalData->PHYRegDef[RF_PATH_D].rfAGCControl1 = rOFDM0_XDAGCCore1;
+
+ // AGC control 2
+ pHalData->PHYRegDef[RF_PATH_A].rfAGCControl2 = rOFDM0_XAAGCCore2;
+ pHalData->PHYRegDef[RF_PATH_B].rfAGCControl2 = rOFDM0_XBAGCCore2;
+ pHalData->PHYRegDef[RF_PATH_C].rfAGCControl2 = rOFDM0_XCAGCCore2;
+ pHalData->PHYRegDef[RF_PATH_D].rfAGCControl2 = rOFDM0_XDAGCCore2;
+
+ // RX AFE control 1
+ pHalData->PHYRegDef[RF_PATH_A].rfRxIQImbalance = rOFDM0_XARxIQImbalance;
+ pHalData->PHYRegDef[RF_PATH_B].rfRxIQImbalance = rOFDM0_XBRxIQImbalance;
+ pHalData->PHYRegDef[RF_PATH_C].rfRxIQImbalance = rOFDM0_XCRxIQImbalance;
+ pHalData->PHYRegDef[RF_PATH_D].rfRxIQImbalance = rOFDM0_XDRxIQImbalance;
+
+ // RX AFE control 1
+ pHalData->PHYRegDef[RF_PATH_A].rfRxAFE = rOFDM0_XARxAFE;
+ pHalData->PHYRegDef[RF_PATH_B].rfRxAFE = rOFDM0_XBRxAFE;
+ pHalData->PHYRegDef[RF_PATH_C].rfRxAFE = rOFDM0_XCRxAFE;
+ pHalData->PHYRegDef[RF_PATH_D].rfRxAFE = rOFDM0_XDRxAFE;
+
+ // Tx AFE control 1
+ pHalData->PHYRegDef[RF_PATH_A].rfTxIQImbalance = rOFDM0_XATxIQImbalance;
+ pHalData->PHYRegDef[RF_PATH_B].rfTxIQImbalance = rOFDM0_XBTxIQImbalance;
+ pHalData->PHYRegDef[RF_PATH_C].rfTxIQImbalance = rOFDM0_XCTxIQImbalance;
+ pHalData->PHYRegDef[RF_PATH_D].rfTxIQImbalance = rOFDM0_XDTxIQImbalance;
+
+ // Tx AFE control 2
+ pHalData->PHYRegDef[RF_PATH_A].rfTxAFE = rOFDM0_XATxAFE;
+ pHalData->PHYRegDef[RF_PATH_B].rfTxAFE = rOFDM0_XBTxAFE;
+ pHalData->PHYRegDef[RF_PATH_C].rfTxAFE = rOFDM0_XCTxAFE;
+ pHalData->PHYRegDef[RF_PATH_D].rfTxAFE = rOFDM0_XDTxAFE;
+
+ // Tranceiver LSSI Readback SI mode
+ pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBack = rFPGA0_XA_LSSIReadBack;
+ pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBack = rFPGA0_XB_LSSIReadBack;
+ pHalData->PHYRegDef[RF_PATH_C].rfLSSIReadBack = rFPGA0_XC_LSSIReadBack;
+ pHalData->PHYRegDef[RF_PATH_D].rfLSSIReadBack = rFPGA0_XD_LSSIReadBack;
+
+ // Tranceiver LSSI Readback PI mode
+ pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBackPi = TransceiverA_HSPI_Readback;
+ pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBackPi = TransceiverB_HSPI_Readback;
+ //pHalData->PHYRegDef[RF_PATH_C].rfLSSIReadBackPi = rFPGA0_XC_LSSIReadBack;
+ //pHalData->PHYRegDef[RF_PATH_D].rfLSSIReadBackPi = rFPGA0_XD_LSSIReadBack;
+
+}
+
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigBBWithParaFile()
+ *
+ * Overview: This function read BB parameters from general file format, and do register
+ * Read/Write
+ *
+ * Input: PADAPTER Adapter
+ * ps1Byte pFileName
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: configuration file exist
+ * 2008/11/06 MH For 92S we do not support silent reset now. Disable
+ * parameter file compare!!!!!!??
+ *
+ *---------------------------------------------------------------------------*/
+static int
+phy_ConfigBBWithParaFile(
+ IN PADAPTER Adapter,
+ IN u8* pFileName
+)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ int rtStatus = _SUCCESS;
+
+ return rtStatus;
+}
+
+
+
+//****************************************
+// The following is for High Power PA
+//****************************************
+VOID
+phy_ConfigBBExternalPA(
+ IN PADAPTER Adapter
+)
+{
+#ifdef CONFIG_USB_HCI
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u16 i=0;
+ u32 temp=0;
+
+ if(!pHalData->ExternalPA)
+ {
+ return;
+ }
+
+ // 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the
+ // same code as SU. It is already updated in PHY_REG_1T_HP.txt.
+#if 0
+ PHY_SetBBReg(Adapter, 0xee8, BIT28, 1);
+ temp = PHY_QueryBBReg(Adapter, 0x860, bMaskDWord);
+ temp |= (BIT26|BIT21|BIT10|BIT5);
+ PHY_SetBBReg(Adapter, 0x860, bMaskDWord, temp);
+ PHY_SetBBReg(Adapter, 0x870, BIT10, 0);
+ PHY_SetBBReg(Adapter, 0xc80, bMaskDWord, 0x20000080);
+ PHY_SetBBReg(Adapter, 0xc88, bMaskDWord, 0x40000100);
+#endif
+
+#endif
+}
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigBBWithHeaderFile()
+ *
+ * Overview: This function read BB parameters from general file format, and do register
+ * Read/Write
+ *
+ * Input: PADAPTER Adapter
+ * u1Byte ConfigType 0 => PHY_CONFIG
+ * 1 =>AGC_TAB
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: configuration file exist
+ *
+ *---------------------------------------------------------------------------*/
+#ifndef CONFIG_PHY_SETTING_WITH_ODM
+static int
+phy_ConfigBBWithHeaderFile(
+ IN PADAPTER Adapter,
+ IN u8 ConfigType
+)
+{
+ int i;
+ u32* Rtl819XPHY_REGArray_Table;
+ u32* Rtl819XAGCTAB_Array_Table;
+ u16 PHY_REGArrayLen, AGCTAB_ArrayLen;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ int ret = _SUCCESS;
+
+
+ AGCTAB_ArrayLen = Rtl8723_AGCTAB_1TArrayLength;
+ Rtl819XAGCTAB_Array_Table = (u32*)Rtl8723_AGCTAB_1TArray;
+ PHY_REGArrayLen = Rtl8723_PHY_REG_1TArrayLength;
+ Rtl819XPHY_REGArray_Table = (u32*)Rtl8723_PHY_REG_1TArray;
+// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() phy:Rtl8723AGCTAB_1TArray\n"));
+// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> phy_ConfigBBWithHeaderFile() agc:Rtl8723PHY_REG_1TArray\n"));
+
+ if(ConfigType == BaseBand_Config_PHY_REG)
+ {
+ #ifdef CONFIG_IOL_BB_PHY_REG
+ {
+ struct xmit_frame *xmit_frame;
+ u32 tmp_value;
+
+ if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) {
+ ret = _FAIL;
+ goto exit;
+ }
+
+ for(i=0;i<PHY_REGArrayLen;i=i+2)
+ {
+ tmp_value=Rtl819XPHY_REGArray_Table[i+1];
+
+ if (Rtl819XPHY_REGArray_Table[i] == 0xfe)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 50);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfd)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 5);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfc)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 1);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfb)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 50);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfa)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 5);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xf9)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 1);
+
+ rtw_IOL_append_WD_cmd(xmit_frame, Rtl819XPHY_REGArray_Table[i], tmp_value);
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XPHY_REGArray_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XPHY_REGArray_Table[i], Rtl819XPHY_REGArray_Table[i+1]));
+ }
+
+ ret = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0);
+ }
+ #else
+ for(i=0;i<PHY_REGArrayLen;i=i+2)
+ {
+ if (Rtl819XPHY_REGArray_Table[i] == 0xfe){
+ #ifdef CONFIG_LONG_DELAY_ISSUE
+ rtw_msleep_os(50);
+ #else
+ rtw_mdelay_os(50);
+ #endif
+ }
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfd)
+ rtw_mdelay_os(5);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfc)
+ rtw_mdelay_os(1);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfb)
+ rtw_udelay_os(50);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xfa)
+ rtw_udelay_os(5);
+ else if (Rtl819XPHY_REGArray_Table[i] == 0xf9)
+ rtw_udelay_os(1);
+
+ PHY_SetBBReg(Adapter, Rtl819XPHY_REGArray_Table[i], bMaskDWord, Rtl819XPHY_REGArray_Table[i+1]);
+
+ // Add 1us delay between BB/RF register setting.
+ rtw_udelay_os(1);
+
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XPHY_REGArray_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XPHY_REGArray_Table[i], Rtl819XPHY_REGArray_Table[i+1]));
+ }
+ #endif
+ // for External PA
+ phy_ConfigBBExternalPA(Adapter);
+ }
+ else if(ConfigType == BaseBand_Config_AGC_TAB)
+ {
+ #ifdef CONFIG_IOL_BB_AGC_TAB
+ {
+ struct xmit_frame *xmit_frame;
+
+ if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) {
+ ret = _FAIL;
+ goto exit;
+ }
+
+ for(i=0;i<AGCTAB_ArrayLen;i=i+2)
+ {
+ rtw_IOL_append_WD_cmd(xmit_frame, Rtl819XAGCTAB_Array_Table[i], Rtl819XAGCTAB_Array_Table[i+1]);
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XAGCTAB_Array_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XAGCTAB_Array_Table[i], Rtl819XAGCTAB_Array_Table[i+1]));
+ }
+
+ ret = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0);
+ }
+ #else
+ for(i=0;i<AGCTAB_ArrayLen;i=i+2)
+ {
+ PHY_SetBBReg(Adapter, Rtl819XAGCTAB_Array_Table[i], bMaskDWord, Rtl819XAGCTAB_Array_Table[i+1]);
+
+ // Add 1us delay between BB/RF register setting.
+ rtw_udelay_os(1);
+
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl819XAGCTAB_Array_Table[0] is %lx Rtl819XPHY_REGArray[1] is %lx \n",Rtl819XAGCTAB_Array_Table[i], Rtl819XAGCTAB_Array_Table[i+1]));
+ }
+ #endif
+ }
+
+exit:
+ return ret;
+}
+
+#endif
+VOID
+storePwrIndexDiffRateOffset(
+ IN PADAPTER Adapter,
+ IN u32 RegAddr,
+ IN u32 BitMask,
+ IN u32 Data
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ if(RegAddr == rTxAGC_A_Rate18_06)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][0] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][0] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][0]));
+ }
+ if(RegAddr == rTxAGC_A_Rate54_24)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][1] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][1] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][1]));
+ }
+ if(RegAddr == rTxAGC_A_CCK1_Mcs32)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][6] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][6] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][6]));
+ }
+ if(RegAddr == rTxAGC_B_CCK11_A_CCK2_11 && BitMask == 0xffffff00)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][7] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][7] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][7]));
+ }
+ if(RegAddr == rTxAGC_A_Mcs03_Mcs00)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][2] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][2] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][2]));
+ }
+ if(RegAddr == rTxAGC_A_Mcs07_Mcs04)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][3] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][3] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][3]));
+ }
+ if(RegAddr == rTxAGC_A_Mcs11_Mcs08)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][4] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][4] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][4]));
+ }
+ if(RegAddr == rTxAGC_A_Mcs15_Mcs12)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][5] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][5] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][5]));
+ }
+ if(RegAddr == rTxAGC_B_Rate18_06)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][8] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][8] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][8]));
+ }
+ if(RegAddr == rTxAGC_B_Rate54_24)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][9] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][9] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][9]));
+ }
+ if(RegAddr == rTxAGC_B_CCK1_55_Mcs32)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][14] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][14] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][14]));
+ }
+ if(RegAddr == rTxAGC_B_CCK11_A_CCK2_11 && BitMask == 0x000000ff)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][15] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][15] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][15]));
+ }
+ if(RegAddr == rTxAGC_B_Mcs03_Mcs00)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][10] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][10] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][10]));
+ }
+ if(RegAddr == rTxAGC_B_Mcs07_Mcs04)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][11] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][11] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][11]));
+ }
+ if(RegAddr == rTxAGC_B_Mcs11_Mcs08)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][12] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][12] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][12]));
+ }
+ if(RegAddr == rTxAGC_B_Mcs15_Mcs12)
+ {
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][13] = Data;
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("MCSTxPowerLevelOriginalOffset[%d][13] = 0x%lx\n", pHalData->pwrGroupCnt,
+ // pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][13]));
+ pHalData->pwrGroupCnt++;
+ }
+}
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigBBWithPgParaFile
+ *
+ * Overview:
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 11/06/2008 MHC Create Version 0.
+ * 2009/07/29 tynli (porting from 92SE branch)2009/03/11 Add copy parameter file to buffer for silent reset
+ *---------------------------------------------------------------------------*/
+static int
+phy_ConfigBBWithPgParaFile(
+ IN PADAPTER Adapter,
+ IN u8* pFileName)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ int rtStatus = _SUCCESS;
+
+
+ return rtStatus;
+
+} /* phy_ConfigBBWithPgParaFile */
+
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigBBWithPgHeaderFile
+ *
+ * Overview: Config PHY_REG_PG array
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 11/06/2008 MHC Add later!!!!!!.. Please modify for new files!!!!
+ * 11/10/2008 tynli Modify to mew files.
+ *---------------------------------------------------------------------------*/
+static int
+phy_ConfigBBWithPgHeaderFile(
+ IN PADAPTER Adapter,
+ IN u8 ConfigType)
+{
+ int i;
+ u32* Rtl819XPHY_REGArray_Table_PG;
+ u16 PHY_REGArrayPGLen;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+
+ PHY_REGArrayPGLen = Rtl8723_PHY_REG_Array_PGLength;
+ Rtl819XPHY_REGArray_Table_PG = (u32*)Rtl8723_PHY_REG_Array_PG;
+
+ if(ConfigType == BaseBand_Config_PHY_REG)
+ {
+ for(i=0;i<PHY_REGArrayPGLen;i=i+3)
+ {
+ #if 0 //without IO, no delay is neeeded...
+ if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfe){
+ #ifdef CONFIG_LONG_DELAY_ISSUE
+ rtw_msleep_os(50);
+ #else
+ rtw_mdelay_os(50);
+ #endif
+ }
+ else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfd)
+ rtw_mdelay_os(5);
+ else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfc)
+ rtw_mdelay_os(1);
+ else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfb)
+ rtw_udelay_os(50);
+ else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xfa)
+ rtw_udelay_os(5);
+ else if (Rtl819XPHY_REGArray_Table_PG[i] == 0xf9)
+ rtw_udelay_os(1);
+ //PHY_SetBBReg(Adapter, Rtl819XPHY_REGArray_Table_PG[i], Rtl819XPHY_REGArray_Table_PG[i+1], Rtl819XPHY_REGArray_Table_PG[i+2]);
+ #endif
+
+ storePwrIndexDiffRateOffset(Adapter, Rtl819XPHY_REGArray_Table_PG[i],
+ Rtl819XPHY_REGArray_Table_PG[i+1],
+ Rtl819XPHY_REGArray_Table_PG[i+2]);
+ //RT_TRACE(COMP_SEND, DBG_TRACE, ("The Rtl819XPHY_REGArray_Table_PG[0] is %lx Rtl819XPHY_REGArray_Table_PG[1] is %lx \n",Rtl819XPHY_REGArray_Table_PG[i], Rtl819XPHY_REGArray_Table_PG[i+1]));
+ }
+ }
+ else
+ {
+
+ //RT_TRACE(COMP_SEND, DBG_LOUD, ("phy_ConfigBBWithPgHeaderFile(): ConfigType != BaseBand_Config_PHY_REG\n"));
+ }
+
+ return _SUCCESS;
+
+} /* phy_ConfigBBWithPgHeaderFile */
+
+#if (MP_DRIVER == 1)
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigBBWithMpParaFile()
+ *
+ * Overview: This function read BB parameters from general file format, and do register
+ * Read/Write
+ *
+ * Input: PADAPTER Adapter
+ * ps1Byte pFileName
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: configuration file exist
+ * 2008/11/06 MH For 92S we do not support silent reset now. Disable
+ * parameter file compare!!!!!!??
+ *
+ *---------------------------------------------------------------------------*/
+static int
+phy_ConfigBBWithMpParaFile(
+ IN PADAPTER Adapter,
+ IN u8* pFileName
+)
+{
+#if 1
+ int rtStatus = _SUCCESS;
+#else
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ s4Byte nLinesRead, ithLine;
+ RT_STATUS rtStatus = RT_STATUS_SUCCESS;
+ ps1Byte szLine;
+ u4Byte u4bRegOffset, u4bRegMask, u4bRegValue;
+ u4Byte u4bMove;
+
+ if(ADAPTER_TEST_STATUS_FLAG(Adapter, ADAPTER_STATUS_FIRST_INIT))
+ {
+ rtStatus = PlatformReadFile(
+ Adapter,
+ pFileName,
+ (pu1Byte)(pHalData->BufOfLines),
+ MAX_LINES_HWCONFIG_TXT,
+ MAX_BYTES_LINE_HWCONFIG_TXT,
+ &nLinesRead
+ );
+ if(rtStatus == RT_STATUS_SUCCESS)
+ {
+ PlatformMoveMemory(pHalData->BufOfLines6, pHalData->BufOfLines, nLinesRead*MAX_BYTES_LINE_HWCONFIG_TXT);
+ pHalData->nLinesRead6 = nLinesRead;
+ }
+ else
+ {
+ // Temporarily skip PHY_REG_MP.txt if file does not exist.
+ pHalData->nLinesRead6 = 0;
+ RT_TRACE(COMP_INIT, DBG_LOUD, ("No matched file \r\n"));
+ return RT_STATUS_SUCCESS;
+ }
+ }
+ else
+ {
+ PlatformMoveMemory(pHalData->BufOfLines, pHalData->BufOfLines6, MAX_LINES_HWCONFIG_TXT*MAX_BYTES_LINE_HWCONFIG_TXT);
+ nLinesRead = pHalData->nLinesRead6;
+ rtStatus = RT_STATUS_SUCCESS;
+ }
+
+
+ if(rtStatus == RT_STATUS_SUCCESS)
+ {
+ RT_TRACE(COMP_INIT, DBG_LOUD, ("phy_ConfigBBWithMpParaFile(): read %s ok\n", pFileName));
+
+ for(ithLine = 0; ithLine < nLinesRead; ithLine++)
+ {
+ szLine = pHalData->BufOfLines[ithLine];
+
+ if(!IsCommentString(szLine))
+ {
+ // Get 1st hex value as register offset.
+ if(GetHexValueFromString(szLine, &u4bRegOffset, &u4bMove))
+ {
+ if(u4bRegOffset == 0xff)
+ { // Ending.
+ break;
+ }
+ else if (u4bRegOffset == 0xfe)
+ delay_ms(50);
+ else if (u4bRegOffset == 0xfd)
+ delay_ms(5);
+ else if (u4bRegOffset == 0xfc)
+ delay_ms(1);
+ else if (u4bRegOffset == 0xfb)
+ PlatformStallExecution(50);
+ else if (u4bRegOffset == 0xfa)
+ PlatformStallExecution(5);
+ else if (u4bRegOffset == 0xf9)
+ PlatformStallExecution(1);
+
+ // Get 2nd hex value as register value.
+ szLine += u4bMove;
+ if(GetHexValueFromString(szLine, &u4bRegValue, &u4bMove))
+ {
+ RT_TRACE(COMP_FPGA, DBG_TRACE, ("[ADDR]%03lX=%08lX\n", u4bRegOffset, u4bRegValue));
+ PHY_SetBBReg(Adapter, u4bRegOffset, bMaskDWord, u4bRegValue);
+
+ // Add 1us delay between BB/RF register setting.
+ PlatformStallExecution(1);
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ RT_TRACE(COMP_INIT, DBG_LOUD, ("phy_ConfigBBWithMpParaFile(): Failed%s\n", pFileName));
+ }
+#endif
+
+ return rtStatus;
+}
+
+/*-----------------------------------------------------------------------------
+ * Function: phy_ConfigBBWithMpHeaderFile
+ *
+ * Overview: Config PHY_REG_MP array
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 02/04/2010 chiyokolin Modify to new files.
+ *---------------------------------------------------------------------------*/
+static int
+phy_ConfigBBWithMpHeaderFile(
+ IN PADAPTER Adapter,
+ IN u1Byte ConfigType)
+{
+ int i;
+ u32* Rtl8192CPHY_REGArray_Table_MP;
+ u16 PHY_REGArrayMPLen;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+
+ PHY_REGArrayMPLen = Rtl8723_PHY_REG_Array_MPLength;
+ Rtl8192CPHY_REGArray_Table_MP = (u32*)Rtl8723_PHY_REG_Array_MP;
+
+ if(ConfigType == BaseBand_Config_PHY_REG)
+ {
+ for(i=0;i<PHY_REGArrayMPLen;i=i+2)
+ {
+ if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfe) {
+ #ifdef CONFIG_LONG_DELAY_ISSUE
+ rtw_msleep_os(50);
+ #else
+ rtw_mdelay_os(50);
+ #endif
+ }
+ else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfd)
+ rtw_mdelay_os(5);
+ else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfc)
+ rtw_mdelay_os(1);
+ else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfb) {
+ #ifdef CONFIG_LONG_DELAY_ISSUE
+ rtw_msleep_os(50);
+ #else
+ rtw_mdelay_os(50);
+ #endif
+ }
+ else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xfa)
+ rtw_mdelay_os(5);
+ else if (Rtl8192CPHY_REGArray_Table_MP[i] == 0xf9)
+ rtw_mdelay_os(1);
+ PHY_SetBBReg(Adapter, Rtl8192CPHY_REGArray_Table_MP[i], bMaskDWord, Rtl8192CPHY_REGArray_Table_MP[i+1]);
+
+ // Add 1us delay between BB/RF register setting.
+ rtw_mdelay_os(1);
+
+// RT_TRACE(COMP_INIT, DBG_TRACE, ("The Rtl8192CPHY_REGArray_Table_MP[%d] is %lx Rtl8192CPHY_REGArray_Table_MP[%d] is %lx \n", i, i+1, Rtl8192CPHY_REGArray_Table_MP[i], Rtl8192CPHY_REGArray_Table_MP[i+1]));
+ }
+ }
+ else
+ {
+// RT_TRACE(COMP_SEND, DBG_LOUD, ("phy_ConfigBBWithMpHeaderFile(): ConfigType != BaseBand_Config_PHY_REG\n"));
+ }
+
+ return _SUCCESS;
+} /* phy_ConfigBBWithMpHeaderFile */
+
+#endif // #if (MP_DRIVER == 1)
+
+static VOID
+phy_BB8192C_Config_1T(
+ IN PADAPTER Adapter
+ )
+{
+#if 0
+ //for path - A
+ PHY_SetBBReg(Adapter, rFPGA0_TxInfo, 0x3, 0x1);
+ PHY_SetBBReg(Adapter, rFPGA1_TxInfo, 0x0303, 0x0101);
+ PHY_SetBBReg(Adapter, 0xe74, 0x0c000000, 0x1);
+ PHY_SetBBReg(Adapter, 0xe78, 0x0c000000, 0x1);
+ PHY_SetBBReg(Adapter, 0xe7c, 0x0c000000, 0x1);
+ PHY_SetBBReg(Adapter, 0xe80, 0x0c000000, 0x1);
+ PHY_SetBBReg(Adapter, 0xe88, 0x0c000000, 0x1);
+#endif
+ //for path - B
+ PHY_SetBBReg(Adapter, rFPGA0_TxInfo, 0x3, 0x2);
+ PHY_SetBBReg(Adapter, rFPGA1_TxInfo, 0x300033, 0x200022);
+
+ // 20100519 Joseph: Add for 1T2R config. Suggested by Kevin, Jenyu and Yunan.
+ PHY_SetBBReg(Adapter, rCCK0_AFESetting, bMaskByte3, 0x45);
+ PHY_SetBBReg(Adapter, rOFDM0_TRxPathEnable, bMaskByte0, 0x23);
+ PHY_SetBBReg(Adapter, rOFDM0_AGCParameter1, 0x30, 0x1); // B path first AGC
+
+ PHY_SetBBReg(Adapter, 0xe74, 0x0c000000, 0x2);
+ PHY_SetBBReg(Adapter, 0xe78, 0x0c000000, 0x2);
+ PHY_SetBBReg(Adapter, 0xe7c, 0x0c000000, 0x2);
+ PHY_SetBBReg(Adapter, 0xe80, 0x0c000000, 0x2);
+ PHY_SetBBReg(Adapter, 0xe88, 0x0c000000, 0x2);
+
+
+}
+
+// Joseph test: new initialize order!!
+// Test only!! This part need to be re-organized.
+// Now it is just for 8256.
+static int
+phy_BB8190_Config_HardCode(
+ IN PADAPTER Adapter
+ )
+{
+ //RT_ASSERT(FALSE, ("This function is not implement yet!! \n"));
+ return _SUCCESS;
+}
+
+static int
+phy_BB8723a_Config_ParaFile(
+ IN PADAPTER Adapter
+ )
+{
+ EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(Adapter);
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ int rtStatus = _SUCCESS;
+
+ u8 sz8723BBRegFile[] = RTL8723_PHY_REG;
+ u8 sz8723AGCTableFile[] = RTL8723_AGC_TAB;
+ u8 sz8723BBRegPgFile[] = RTL8723_PHY_REG_PG;
+ u8 sz8723BBRegMpFile[] = RTL8723_PHY_REG_MP;
+
+ u8 *pszBBRegFile = NULL, *pszAGCTableFile = NULL, *pszBBRegPgFile = NULL, *pszBBRegMpFile=NULL;
+
+
+ //RT_TRACE(COMP_INIT, DBG_TRACE, ("==>phy_BB8192S_Config_ParaFile\n"));
+
+ pszBBRegFile = sz8723BBRegFile ;
+ pszAGCTableFile = sz8723AGCTableFile;
+ pszBBRegPgFile = sz8723BBRegPgFile;
+ pszBBRegMpFile = sz8723BBRegMpFile;
+
+ //
+ // 1. Read PHY_REG.TXT BB INIT!!
+ // We will seperate as 88C / 92C according to chip version
+ //
+#ifdef CONFIG_EMBEDDED_FWIMG
+ #ifdef CONFIG_PHY_SETTING_WITH_ODM
+ if(HAL_STATUS_FAILURE ==ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_PHY_REG))
+ rtStatus = _FAIL;
+ #else
+ rtStatus = phy_ConfigBBWithHeaderFile(Adapter, BaseBand_Config_PHY_REG);
+ #endif
+#else
+ // No matter what kind of CHIP we always read PHY_REG.txt. We must copy different
+ // type of parameter files to phy_reg.txt at first.
+ rtStatus = phy_ConfigBBWithParaFile(Adapter,pszBBRegFile);
+#endif//#ifdef CONFIG_EMBEDDED_FWIMG
+
+ if(rtStatus != _SUCCESS){
+ //RT_TRACE(COMP_INIT, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():Write BB Reg Fail!!"));
+ goto phy_BB8190_Config_ParaFile_Fail;
+ }
+
+#if MP_DRIVER == 1
+ if (Adapter->registrypriv.mp_mode == 1)
+ {
+ //
+ // 1.1 Read PHY_REG_MP.TXT BB INIT!!
+ // We will seperate as 88C / 92C according to chip version
+ //
+#ifdef CONFIG_EMBEDDED_FWIMG
+ rtStatus = phy_ConfigBBWithMpHeaderFile(Adapter, BaseBand_Config_PHY_REG);
+#else
+ // No matter what kind of CHIP we always read PHY_REG.txt. We must copy different
+ // type of parameter files to phy_reg.txt at first.
+ rtStatus = phy_ConfigBBWithMpParaFile(Adapter, pszBBRegMpFile);
+#endif
+
+ if(rtStatus != _SUCCESS){
+// RT_TRACE(COMP_INIT, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():Write BB Reg MP Fail!!"));
+ goto phy_BB8190_Config_ParaFile_Fail;
+ }
+ }
+#endif // #if (MP_DRIVER == 1)
+
+ //
+ // 20100318 Joseph: Config 2T2R to 1T2R if necessary.
+ //
+ if(pHalData->rf_type == RF_1T2R)
+ {
+ phy_BB8192C_Config_1T(Adapter);
+ DBG_8192C("phy_BB8723a_Config_ParaFile():Config to 1T!!\n");
+ }
+
+ //
+ // 2. If EEPROM or EFUSE autoload OK, We must config by PHY_REG_PG.txt
+ //
+ if (pEEPROM->bautoload_fail_flag == _FALSE)
+ {
+ pHalData->pwrGroupCnt = 0;
+
+#ifdef CONFIG_EMBEDDED_FWIMG
+ rtStatus = phy_ConfigBBWithPgHeaderFile(Adapter, BaseBand_Config_PHY_REG);
+#else
+ rtStatus = phy_ConfigBBWithPgParaFile(Adapter, pszBBRegPgFile);
+#endif
+ }
+
+ if(rtStatus != _SUCCESS){
+ //RT_TRACE(COMP_INIT, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():BB_PG Reg Fail!!"));
+ goto phy_BB8190_Config_ParaFile_Fail;
+ }
+
+ //
+ // 3. BB AGC table Initialization
+ //
+#ifdef CONFIG_EMBEDDED_FWIMG
+ #ifdef CONFIG_PHY_SETTING_WITH_ODM
+ if(HAL_STATUS_FAILURE ==ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_AGC_TAB))
+ rtStatus = _FAIL;
+ #else
+ rtStatus = phy_ConfigBBWithHeaderFile(Adapter, BaseBand_Config_AGC_TAB);
+ #endif//#ifdef CONFIG_PHY_SETTING_WITH_ODM
+#else
+ //RT_TRACE(COMP_INIT, DBG_LOUD, ("phy_BB8192S_Config_ParaFile AGC_TAB.txt\n"));
+ rtStatus = phy_ConfigBBWithParaFile(Adapter, pszAGCTableFile);
+#endif
+
+ if(rtStatus != _SUCCESS){
+ //RT_TRACE(COMP_FPGA, DBG_SERIOUS, ("phy_BB8192S_Config_ParaFile():AGC Table Fail\n"));
+ goto phy_BB8190_Config_ParaFile_Fail;
+ }
+
+phy_BB8190_Config_ParaFile_Fail:
+
+ return rtStatus;
+}
+
+
+int
+PHY_BBConfig8723A(
+ IN PADAPTER Adapter
+ )
+{
+ int rtStatus = _SUCCESS;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u32 RegVal;
+ u8 TmpU1B=0;
+ u8 value8,CrystalCap;
+
+ phy_InitBBRFRegisterDefinition(Adapter);
+
+ if(IS_HARDWARE_TYPE_8723A(Adapter))
+ {
+ // Suggested by Scott. tynli_test. 2010.12.30.
+ //1. 0x28[1] = 1
+ TmpU1B = rtw_read8(Adapter, REG_AFE_PLL_CTRL);
+ rtw_udelay_os(2);
+ rtw_write8(Adapter, REG_AFE_PLL_CTRL, (TmpU1B|BIT1));
+ rtw_udelay_os(2);
+
+ //2. 0x29[7:0] = 0xFF
+ rtw_write8(Adapter, REG_AFE_PLL_CTRL+1, 0xff);
+ rtw_udelay_os(2);
+
+ //3. 0x02[1:0] = 2b'11
+ TmpU1B = rtw_read8(Adapter, REG_SYS_FUNC_EN);
+ rtw_write8(Adapter, REG_SYS_FUNC_EN, (TmpU1B|FEN_BB_GLB_RSTn|FEN_BBRSTB));
+
+ //4. 0x25[6] = 0
+ TmpU1B = rtw_read8(Adapter, REG_AFE_XTAL_CTRL+1);
+ rtw_write8(Adapter, REG_AFE_XTAL_CTRL+1, (TmpU1B&(~BIT6)));
+
+ //5. 0x24[20] = 0 //Advised by SD3 Alex Wang. 2011.02.09.
+ TmpU1B = rtw_read8(Adapter, REG_AFE_XTAL_CTRL+2);
+ rtw_write8(Adapter, REG_AFE_XTAL_CTRL+2, (TmpU1B&(~BIT4)));
+
+ //6. 0x1f[7:0] = 0x07
+ rtw_write8(Adapter, REG_RF_CTRL, 0x07);
+ }
+ else
+ {
+ // Enable BB and RF
+ RegVal = rtw_read16(Adapter, REG_SYS_FUNC_EN);
+ rtw_write16(Adapter, REG_SYS_FUNC_EN, (u16)(RegVal|BIT13|BIT0|BIT1));
+
+ // 20090923 Joseph: Advised by Steven and Jenyu. Power sequence before init RF.
+ rtw_write8(Adapter, REG_AFE_PLL_CTRL, 0x83);
+ rtw_write8(Adapter, REG_AFE_PLL_CTRL+1, 0xdb);
+
+ rtw_write8(Adapter, REG_RF_CTRL, RF_EN|RF_RSTB|RF_SDMRSTB);
+
+#ifdef CONFIG_USB_HCI
+ rtw_write8(Adapter, REG_SYS_FUNC_EN, FEN_USBA | FEN_USBD | FEN_BB_GLB_RSTn | FEN_BBRSTB);
+#else
+ rtw_write8(Adapter, REG_SYS_FUNC_EN, FEN_PPLL|FEN_PCIEA|FEN_DIO_PCIE|FEN_BB_GLB_RSTn|FEN_BBRSTB);
+#endif
+
+ // 2009/10/21 by SD1 Jong. Modified by tynli. Not in Documented in V8.1.
+#ifdef CONFIG_USB_HCI
+ //To Fix MAC loopback mode fail. Suggested by SD4 Johnny. 2010.03.23.
+ rtw_write8(Adapter, REG_LDOHCI12_CTRL, 0x0f);
+ rtw_write8(Adapter, 0x15, 0xe9);
+#endif
+
+ rtw_write8(Adapter, REG_AFE_XTAL_CTRL+1, 0x80);
+
+#ifdef CONFIG_PCI_HCI
+ // Force use left antenna by default for 88C.
+ // if(!IS_92C_SERIAL(pHalData->VersionID) || IS_92C_1T2R(pHalData->VersionID))
+ if(Adapter->ledpriv.LedStrategy != SW_LED_MODE10)
+ {
+ RegVal = rtw_read32(Adapter, REG_LEDCFG0);
+ rtw_write32(Adapter, REG_LEDCFG0, RegVal|BIT23);
+ }
+#endif
+ }
+
+ //
+ // Config BB and AGC
+ //
+ rtStatus = phy_BB8723a_Config_ParaFile(Adapter);
+
+#ifdef CONFIG_USB_HCI
+ if(IS_HARDWARE_TYPE_8192CU(Adapter)&&IS_81xxC_VENDOR_UMC_B_CUT(pHalData->VersionID)
+ &&(pHalData->BoardType == BOARD_USB_High_PA))
+ rtw_write8(Adapter, 0xc72, 0x50);
+#endif
+//only for B-cut
+ if(IS_HARDWARE_TYPE_8723A(Adapter) && pHalData->EEPROMVersion >= 0x01)
+ {
+ CrystalCap = pHalData->CrystalCap & 0x3F;
+ PHY_SetBBReg(Adapter, REG_MAC_PHY_CTRL, 0xFFF000, (CrystalCap | (CrystalCap << 6)));
+ }
+
+ if(IS_HARDWARE_TYPE_8723AE(Adapter))
+ PHY_SetBBReg(Adapter, REG_LDOA15_CTRL, bMaskDWord, 0x01572505);
+ return rtStatus;
+}
+
+
+int
+PHY_RFConfig8723A(
+ IN PADAPTER Adapter
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ int rtStatus = _SUCCESS;
+
+ //
+ // RF config
+ //
+ rtStatus = PHY_RF6052_Config8723A(Adapter);
+ return rtStatus;
+}
+
+
+/*-----------------------------------------------------------------------------
+ * Function: PHY_ConfigRFWithParaFile()
+ *
+ * Overview: This function read RF parameters from general file format, and do RF 3-wire
+ *
+ * Input: PADAPTER Adapter
+ * ps1Byte pFileName
+ * RF_RADIO_PATH_E eRFPath
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: configuration file exist
+ *
+ * Note: Delay may be required for RF configuration
+ *---------------------------------------------------------------------------*/
+int
+rtl8192c_PHY_ConfigRFWithParaFile(
+ IN PADAPTER Adapter,
+ IN u8* pFileName,
+ RF_RADIO_PATH_E eRFPath
+)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ int rtStatus = _SUCCESS;
+
+
+ return rtStatus;
+
+}
+
+//****************************************
+// The following is for High Power PA
+//****************************************
+#define HighPowerRadioAArrayLen 22
+//This is for High power PA
+u32 Rtl8192S_HighPower_RadioA_Array[HighPowerRadioAArrayLen] = {
+0x013,0x00029ea4,
+0x013,0x00025e74,
+0x013,0x00020ea4,
+0x013,0x0001ced0,
+0x013,0x00019f40,
+0x013,0x00014e70,
+0x013,0x000106a0,
+0x013,0x0000c670,
+0x013,0x000082a0,
+0x013,0x00004270,
+0x013,0x00000240,
+};
+
+int
+PHY_ConfigRFExternalPA(
+ IN PADAPTER Adapter,
+ RF_RADIO_PATH_E eRFPath
+)
+{
+ int rtStatus = _SUCCESS;
+#ifdef CONFIG_USB_HCI
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u16 i=0;
+
+ if(!pHalData->ExternalPA)
+ {
+ return rtStatus;
+ }
+
+ // 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the
+ // same code as SU. It is already updated in radio_a_1T_HP.txt.
+#if 0
+ //add for SU High Power PA
+ for(i = 0;i<HighPowerRadioAArrayLen; i=i+2)
+ {
+ RT_TRACE(COMP_INIT, DBG_LOUD, ("External PA, write RF 0x%lx=0x%lx\n", Rtl8192S_HighPower_RadioA_Array[i], Rtl8192S_HighPower_RadioA_Array[i+1]));
+ PHY_SetRFReg(Adapter, eRFPath, Rtl8192S_HighPower_RadioA_Array[i], bRFRegOffsetMask, Rtl8192S_HighPower_RadioA_Array[i+1]);
+ }
+#endif
+
+#endif
+ return rtStatus;
+}
+//****************************************
+/*-----------------------------------------------------------------------------
+ * Function: PHY_ConfigRFWithHeaderFile()
+ *
+ * Overview: This function read RF parameters from general file format, and do RF 3-wire
+ *
+ * Input: PADAPTER Adapter
+ * ps1Byte pFileName
+ * RF_RADIO_PATH_E eRFPath
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: configuration file exist
+ *
+ * Note: Delay may be required for RF configuration
+ *---------------------------------------------------------------------------*/
+#ifndef CONFIG_PHY_SETTING_WITH_ODM
+int
+rtl8723a_PHY_ConfigRFWithHeaderFile(
+ IN PADAPTER Adapter,
+ RF_RADIO_PATH_E eRFPath
+)
+{
+
+ int i;
+ int rtStatus = _SUCCESS;
+ u32* Rtl819XRadioA_Array_Table;
+ u32* Rtl819XRadioB_Array_Table;
+ u16 RadioA_ArrayLen,RadioB_ArrayLen;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+
+ RadioA_ArrayLen = Rtl8723_RadioA_1TArrayLength;
+ Rtl819XRadioA_Array_Table = (u32*)Rtl8723_RadioA_1TArray;
+ RadioB_ArrayLen = Rtl8723_RadioB_1TArrayLength;
+ Rtl819XRadioB_Array_Table = (u32*)Rtl8723_RadioB_1TArray;
+// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> PHY_ConfigRFWithHeaderFile() Radio_A:Rtl8723RadioA_1TArray\n"));
+// RT_TRACE(COMP_INIT, DBG_LOUD, (" ===> PHY_ConfigRFWithHeaderFile() Radio_B:Rtl8723RadioB_1TArray\n"));
+
+ switch (eRFPath)
+ {
+ case RF_PATH_A:
+ #ifdef CONFIG_IOL_RF_RF90_PATH_A
+ {
+ struct xmit_frame *xmit_frame;
+ if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) {
+ rtStatus = _FAIL;
+ goto exit;
+ }
+
+ for(i = 0;i<RadioA_ArrayLen; i=i+2)
+ {
+ if(Rtl819XRadioA_Array_Table[i] == 0xfe)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 50);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfd)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 5);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfc)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 1);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfb)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 50);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfa)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 5);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xf9)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 1);
+ else
+ {
+ BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath];
+ u32 NewOffset = 0;
+ u32 DataAndAddr = 0;
+
+ NewOffset = Rtl819XRadioA_Array_Table[i] & 0x3f;
+ DataAndAddr = ((NewOffset<<20) | (Rtl819XRadioA_Array_Table[i+1]&0x000fffff)) & 0x0fffffff; // T65 RF
+ rtw_IOL_append_WD_cmd(xmit_frame, pPhyReg->rf3wireOffset, DataAndAddr);
+ }
+ }
+ rtStatus = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0);
+ }
+ #else
+ for(i = 0;i<RadioA_ArrayLen; i=i+2)
+ {
+ if(Rtl819XRadioA_Array_Table[i] == 0xfe) {
+ #ifdef CONFIG_LONG_DELAY_ISSUE
+ rtw_msleep_os(50);
+ #else
+ rtw_mdelay_os(50);
+ #endif
+ }
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfd)
+ rtw_mdelay_os(5);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfc)
+ rtw_mdelay_os(1);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfb)
+ rtw_udelay_os(50);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xfa)
+ rtw_udelay_os(5);
+ else if (Rtl819XRadioA_Array_Table[i] == 0xf9)
+ rtw_udelay_os(1);
+ else
+ {
+ PHY_SetRFReg(Adapter, eRFPath, Rtl819XRadioA_Array_Table[i], bRFRegOffsetMask, Rtl819XRadioA_Array_Table[i+1]);
+ // Add 1us delay between BB/RF register setting.
+ rtw_udelay_os(1);
+ }
+ }
+ #endif
+ //Add for High Power PA
+ PHY_ConfigRFExternalPA(Adapter, eRFPath);
+ break;
+ case RF_PATH_B:
+ #ifdef CONFIG_IOL_RF_RF_PATH_B
+ {
+ struct xmit_frame *xmit_frame;
+ if((xmit_frame=rtw_IOL_accquire_xmit_frame(Adapter)) == NULL) {
+ rtStatus = _FAIL;
+ goto exit;
+ }
+
+ for(i = 0;i<RadioB_ArrayLen; i=i+2)
+ {
+ if(Rtl819XRadioB_Array_Table[i] == 0xfe)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 50);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfd)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 5);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfc)
+ rtw_IOL_append_DELAY_MS_cmd(xmit_frame, 1);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfb)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 50);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfa)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 5);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xf9)
+ rtw_IOL_append_DELAY_US_cmd(xmit_frame, 1);
+ else
+ {
+ BB_REGISTER_DEFINITION_T *pPhyReg = &pHalData->PHYRegDef[eRFPath];
+ u32 NewOffset = 0;
+ u32 DataAndAddr = 0;
+
+ NewOffset = Rtl819XRadioB_Array_Table[i] & 0x3f;
+ DataAndAddr = ((NewOffset<<20) | (Rtl819XRadioB_Array_Table[i+1]&0x000fffff)) & 0x0fffffff; // T65 RF
+ rtw_IOL_append_WD_cmd(xmit_frame, pPhyReg->rf3wireOffset, DataAndAddr);
+ }
+ }
+ rtStatus = rtw_IOL_exec_cmds_sync(Adapter, xmit_frame, 1000,0);
+ }
+ #else
+ for(i = 0;i<RadioB_ArrayLen; i=i+2)
+ {
+ if(Rtl819XRadioB_Array_Table[i] == 0xfe)
+ { // Deay specific ms. Only RF configuration require delay.
+#if 0//#ifdef CONFIG_USB_HCI
+ #ifdef CONFIG_LONG_DELAY_ISSUE
+ rtw_msleep_os(1000);
+ #else
+ rtw_mdelay_os(1000);
+ #endif
+#else
+ #ifdef CONFIG_LONG_DELAY_ISSUE
+ rtw_msleep_os(50);
+ #else
+ rtw_mdelay_os(50);
+ #endif
+#endif
+ }
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfd)
+ rtw_mdelay_os(5);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfc)
+ rtw_mdelay_os(1);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfb)
+ rtw_udelay_os(50);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xfa)
+ rtw_udelay_os(5);
+ else if (Rtl819XRadioB_Array_Table[i] == 0xf9)
+ rtw_udelay_os(1);
+ else
+ {
+ PHY_SetRFReg(Adapter, eRFPath, Rtl819XRadioB_Array_Table[i], bRFRegOffsetMask, Rtl819XRadioB_Array_Table[i+1]);
+ // Add 1us delay between BB/RF register setting.
+ rtw_udelay_os(1);
+ }
+ }
+ #endif
+ break;
+ case RF_PATH_C:
+ break;
+ case RF_PATH_D:
+ break;
+ }
+
+exit:
+ return rtStatus;
+
+}
+#endif
+
+/*-----------------------------------------------------------------------------
+ * Function: PHY_CheckBBAndRFOK()
+ *
+ * Overview: This function is write register and then readback to make sure whether
+ * BB[PHY0, PHY1], RF[Patha, path b, path c, path d] is Ok
+ *
+ * Input: PADAPTER Adapter
+ * HW90_BLOCK_E CheckBlock
+ * RF_RADIO_PATH_E eRFPath // it is used only when CheckBlock is HW90_BLOCK_RF
+ *
+ * Output: NONE
+ *
+ * Return: RT_STATUS_SUCCESS: PHY is OK
+ *
+ * Note: This function may be removed in the ASIC
+ *---------------------------------------------------------------------------*/
+int
+PHY_CheckBBAndRFOK(
+ IN PADAPTER Adapter,
+ IN HW90_BLOCK_E CheckBlock,
+ IN RF_RADIO_PATH_E eRFPath
+ )
+{
+ int rtStatus = _SUCCESS;
+
+ u32 i, CheckTimes = 4,ulRegRead = 0;
+
+ u32 WriteAddr[4];
+ u32 WriteData[] = {0xfffff027, 0xaa55a02f, 0x00000027, 0x55aa502f};
+
+ // Initialize register address offset to be checked
+ WriteAddr[HW90_BLOCK_MAC] = 0x100;
+ WriteAddr[HW90_BLOCK_PHY0] = 0x900;
+ WriteAddr[HW90_BLOCK_PHY1] = 0x800;
+ WriteAddr[HW90_BLOCK_RF] = 0x3;
+
+ for(i=0 ; i < CheckTimes ; i++)
+ {
+
+ //
+ // Write Data to register and readback
+ //
+ switch(CheckBlock)
+ {
+ case HW90_BLOCK_MAC:
+ //RT_ASSERT(FALSE, ("PHY_CheckBBRFOK(): Never Write 0x100 here!"));
+ //RT_TRACE(COMP_INIT, DBG_LOUD, ("PHY_CheckBBRFOK(): Never Write 0x100 here!\n"));
+ break;
+
+ case HW90_BLOCK_PHY0:
+ case HW90_BLOCK_PHY1:
+ rtw_write32(Adapter, WriteAddr[CheckBlock], WriteData[i]);
+ ulRegRead = rtw_read32(Adapter, WriteAddr[CheckBlock]);
+ break;
+
+ case HW90_BLOCK_RF:
+ // When initialization, we want the delay function(delay_ms(), delay_us()
+ // ==> actually we call PlatformStallExecution()) to do NdisStallExecution()
+ // [busy wait] instead of NdisMSleep(). So we acquire RT_INITIAL_SPINLOCK
+ // to run at Dispatch level to achive it.
+ //cosa PlatformAcquireSpinLock(Adapter, RT_INITIAL_SPINLOCK);
+ WriteData[i] &= 0xfff;
+ PHY_SetRFReg(Adapter, eRFPath, WriteAddr[HW90_BLOCK_RF], bRFRegOffsetMask, WriteData[i]);
+ // TODO: we should not delay for such a long time. Ask SD3
+ rtw_mdelay_os(10);
+ ulRegRead = PHY_QueryRFReg(Adapter, eRFPath, WriteAddr[HW90_BLOCK_RF], bMaskDWord);
+ rtw_mdelay_os(10);
+ //cosa PlatformReleaseSpinLock(Adapter, RT_INITIAL_SPINLOCK);
+ break;
+
+ default:
+ rtStatus = _FAIL;
+ break;
+ }
+
+
+ //
+ // Check whether readback data is correct
+ //
+ if(ulRegRead != WriteData[i])
+ {
+ //RT_TRACE(COMP_FPGA, DBG_LOUD, ("ulRegRead: %lx, WriteData: %lx \n", ulRegRead, WriteData[i]));
+ rtStatus = _FAIL;
+ break;
+ }
+ }
+
+ return rtStatus;
+}
+
+
+VOID
+rtl8192c_PHY_GetHWRegOriginalValue(
+ IN PADAPTER Adapter
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ // read rx initial gain
+ pHalData->DefaultInitialGain[0] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XAAGCCore1, bMaskByte0);
+ pHalData->DefaultInitialGain[1] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XBAGCCore1, bMaskByte0);
+ pHalData->DefaultInitialGain[2] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XCAGCCore1, bMaskByte0);
+ pHalData->DefaultInitialGain[3] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XDAGCCore1, bMaskByte0);
+ //RT_TRACE(COMP_INIT, DBG_LOUD,
+ //("Default initial gain (c50=0x%x, c58=0x%x, c60=0x%x, c68=0x%x) \n",
+ //pHalData->DefaultInitialGain[0], pHalData->DefaultInitialGain[1],
+ //pHalData->DefaultInitialGain[2], pHalData->DefaultInitialGain[3]));
+
+ // read framesync
+ pHalData->framesync = (u8)PHY_QueryBBReg(Adapter, rOFDM0_RxDetector3, bMaskByte0);
+ pHalData->framesyncC34 = PHY_QueryBBReg(Adapter, rOFDM0_RxDetector2, bMaskDWord);
+ //RT_TRACE(COMP_INIT, DBG_LOUD, ("Default framesync (0x%x) = 0x%x \n",
+ // rOFDM0_RxDetector3, pHalData->framesync));
+}
+
+
+//
+// Description:
+// Map dBm into Tx power index according to
+// current HW model, for example, RF and PA, and
+// current wireless mode.
+// By Bruce, 2008-01-29.
+//
+static u8
+phy_DbmToTxPwrIdx(
+ IN PADAPTER Adapter,
+ IN WIRELESS_MODE WirelessMode,
+ IN int PowerInDbm
+ )
+{
+ u8 TxPwrIdx = 0;
+ int Offset = 0;
+
+
+ //
+ // Tested by MP, we found that CCK Index 0 equals to 8dbm, OFDM legacy equals to
+ // 3dbm, and OFDM HT equals to 0dbm repectively.
+ // Note:
+ // The mapping may be different by different NICs. Do not use this formula for what needs accurate result.
+ // By Bruce, 2008-01-29.
+ //
+ switch(WirelessMode)
+ {
+ case WIRELESS_MODE_B:
+ Offset = -7;
+ break;
+
+ case WIRELESS_MODE_G:
+ case WIRELESS_MODE_N_24G:
+ Offset = -8;
+ break;
+ default:
+ Offset = -8;
+ break;
+ }
+
+ if((PowerInDbm - Offset) > 0)
+ {
+ TxPwrIdx = (u8)((PowerInDbm - Offset) * 2);
+ }
+ else
+ {
+ TxPwrIdx = 0;
+ }
+
+ // Tx Power Index is too large.
+ if(TxPwrIdx > MAX_TXPWR_IDX_NMODE_92S)
+ TxPwrIdx = MAX_TXPWR_IDX_NMODE_92S;
+
+ return TxPwrIdx;
+}
+
+//
+// Description:
+// Map Tx power index into dBm according to
+// current HW model, for example, RF and PA, and
+// current wireless mode.
+// By Bruce, 2008-01-29.
+//
+int
+phy_TxPwrIdxToDbm(
+ IN PADAPTER Adapter,
+ IN WIRELESS_MODE WirelessMode,
+ IN u8 TxPwrIdx
+ )
+{
+ int Offset = 0;
+ int PwrOutDbm = 0;
+
+ //
+ // Tested by MP, we found that CCK Index 0 equals to -7dbm, OFDM legacy equals to -8dbm.
+ // Note:
+ // The mapping may be different by different NICs. Do not use this formula for what needs accurate result.
+ // By Bruce, 2008-01-29.
+ //
+ switch(WirelessMode)
+ {
+ case WIRELESS_MODE_B:
+ Offset = -7;
+ break;
+
+ case WIRELESS_MODE_G:
+ case WIRELESS_MODE_N_24G:
+ Offset = -8;
+ default:
+ Offset = -8;
+ break;
+ }
+
+ PwrOutDbm = TxPwrIdx / 2 + Offset; // Discard the decimal part.
+
+ return PwrOutDbm;
+}
+
+
+/*-----------------------------------------------------------------------------
+ * Function: GetTxPowerLevel8190()
+ *
+ * Overview: This function is export to "common" moudule
+ *
+ * Input: PADAPTER Adapter
+ * psByte Power Level
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ *---------------------------------------------------------------------------*/
+VOID
+PHY_GetTxPowerLevel8192C(
+ IN PADAPTER Adapter,
+ OUT u32* powerlevel
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u8 TxPwrLevel = 0;
+ int TxPwrDbm;
+
+ //
+ // Because the Tx power indexes are different, we report the maximum of them to
+ // meet the CCX TPC request. By Bruce, 2008-01-31.
+ //
+
+ // CCK
+ TxPwrLevel = pHalData->CurrentCckTxPwrIdx;
+ TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_B, TxPwrLevel);
+
+ // Legacy OFDM
+ TxPwrLevel = pHalData->CurrentOfdm24GTxPwrIdx + pHalData->LegacyHTTxPowerDiff;
+
+ // Compare with Legacy OFDM Tx power.
+ if(phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_G, TxPwrLevel) > TxPwrDbm)
+ TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_G, TxPwrLevel);
+
+ // HT OFDM
+ TxPwrLevel = pHalData->CurrentOfdm24GTxPwrIdx;
+
+ // Compare with HT OFDM Tx power.
+ if(phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_N_24G, TxPwrLevel) > TxPwrDbm)
+ TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_N_24G, TxPwrLevel);
+
+ *powerlevel = TxPwrDbm;
+}
+
+
+static void getTxPowerIndex(
+ IN PADAPTER Adapter,
+ IN u8 channel,
+ IN OUT u8* cckPowerLevel,
+ IN OUT u8* ofdmPowerLevel
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u8 index = (channel -1);
+ // 1. CCK
+ cckPowerLevel[RF_PATH_A] = pHalData->TxPwrLevelCck[RF_PATH_A][index]; //RF-A
+ cckPowerLevel[RF_PATH_B] = pHalData->TxPwrLevelCck[RF_PATH_B][index]; //RF-B
+
+ // 2. OFDM for 1S or 2S
+ if (GET_RF_TYPE(Adapter) == RF_1T2R || GET_RF_TYPE(Adapter) == RF_1T1R)
+ {
+ // Read HT 40 OFDM TX power
+ ofdmPowerLevel[RF_PATH_A] = pHalData->TxPwrLevelHT40_1S[RF_PATH_A][index];
+ ofdmPowerLevel[RF_PATH_B] = pHalData->TxPwrLevelHT40_1S[RF_PATH_B][index];
+ }
+ else if (GET_RF_TYPE(Adapter) == RF_2T2R)
+ {
+ // Read HT 40 OFDM TX power
+ ofdmPowerLevel[RF_PATH_A] = pHalData->TxPwrLevelHT40_2S[RF_PATH_A][index];
+ ofdmPowerLevel[RF_PATH_B] = pHalData->TxPwrLevelHT40_2S[RF_PATH_B][index];
+ }
+ //RTPRINT(FPHY, PHY_TXPWR, ("Channel-%d, set tx power index !!\n", channel));
+}
+
+static void ccxPowerIndexCheck(
+ IN PADAPTER Adapter,
+ IN u8 channel,
+ IN OUT u8* cckPowerLevel,
+ IN OUT u8* ofdmPowerLevel
+ )
+{
+#if 0
+ PMGNT_INFO pMgntInfo = &(Adapter->MgntInfo);
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ PRT_CCX_INFO pCcxInfo = GET_CCX_INFO(pMgntInfo);
+
+ //
+ // CCX 2 S31, AP control of client transmit power:
+ // 1. We shall not exceed Cell Power Limit as possible as we can.
+ // 2. Tolerance is +/- 5dB.
+ // 3. 802.11h Power Contraint takes higher precedence over CCX Cell Power Limit.
+ //
+ // TODO:
+ // 1. 802.11h power contraint
+ //
+ // 071011, by rcnjko.
+ //
+ if( pMgntInfo->OpMode == RT_OP_MODE_INFRASTRUCTURE &&
+ pMgntInfo->mAssoc &&
+ pCcxInfo->bUpdateCcxPwr &&
+ pCcxInfo->bWithCcxCellPwr &&
+ channel == pMgntInfo->dot11CurrentChannelNumber)
+ {
+ u1Byte CckCellPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_B, pCcxInfo->CcxCellPwr);
+ u1Byte LegacyOfdmCellPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_G, pCcxInfo->CcxCellPwr);
+ u1Byte OfdmCellPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_N_24G, pCcxInfo->CcxCellPwr);
+
+ RT_TRACE(COMP_TXAGC, DBG_LOUD,
+ ("CCX Cell Limit: %d dbm => CCK Tx power index : %d, Legacy OFDM Tx power index : %d, OFDM Tx power index: %d\n",
+ pCcxInfo->CcxCellPwr, CckCellPwrIdx, LegacyOfdmCellPwrIdx, OfdmCellPwrIdx));
+ RT_TRACE(COMP_TXAGC, DBG_LOUD,
+ ("EEPROM channel(%d) => CCK Tx power index: %d, Legacy OFDM Tx power index : %d, OFDM Tx power index: %d\n",
+ channel, cckPowerLevel[0], ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff, ofdmPowerLevel[0]));
+
+ // CCK
+ if(cckPowerLevel[0] > CckCellPwrIdx)
+ cckPowerLevel[0] = CckCellPwrIdx;
+ // Legacy OFDM, HT OFDM
+ if(ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff > LegacyOfdmCellPwrIdx)
+ {
+ if((OfdmCellPwrIdx - pHalData->LegacyHTTxPowerDiff) > 0)
+ {
+ ofdmPowerLevel[0] = OfdmCellPwrIdx - pHalData->LegacyHTTxPowerDiff;
+ }
+ else
+ {
+ ofdmPowerLevel[0] = 0;
+ }
+ }
+
+ RT_TRACE(COMP_TXAGC, DBG_LOUD,
+ ("Altered CCK Tx power index : %d, Legacy OFDM Tx power index: %d, OFDM Tx power index: %d\n",
+ cckPowerLevel[0], ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff, ofdmPowerLevel[0]));
+ }
+
+ pHalData->CurrentCckTxPwrIdx = cckPowerLevel[0];
+ pHalData->CurrentOfdm24GTxPwrIdx = ofdmPowerLevel[0];
+
+ RT_TRACE(COMP_TXAGC, DBG_LOUD,
+ ("PHY_SetTxPowerLevel8192S(): CCK Tx power index : %d, Legacy OFDM Tx power index: %d, OFDM Tx power index: %d\n",
+ cckPowerLevel[0], ofdmPowerLevel[0] + pHalData->LegacyHTTxPowerDiff, ofdmPowerLevel[0]));
+#endif
+}
+/*-----------------------------------------------------------------------------
+ * Function: SetTxPowerLevel8190()
+ *
+ * Overview: This function is export to "HalCommon" moudule
+ * We must consider RF path later!!!!!!!
+ *
+ * Input: PADAPTER Adapter
+ * u1Byte channel
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ * 2008/11/04 MHC We remove EEPROM_93C56.
+ * We need to move CCX relative code to independet file.
+ * 2009/01/21 MHC Support new EEPROM format from SD3 requirement.
+ *
+ *---------------------------------------------------------------------------*/
+VOID
+PHY_SetTxPowerLevel8192C(
+ IN PADAPTER Adapter,
+ IN u8 channel
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u8 cckPowerLevel[2], ofdmPowerLevel[2]; // [0]:RF-A, [1]:RF-B
+/*
+#if(MP_DRIVER == 1)
+ if (Adapter->registrypriv.mp_mode == 1)
+ return;
+#endif
+*/
+ if(pHalData->bTXPowerDataReadFromEEPORM == _FALSE)
+ return;
+
+ getTxPowerIndex(Adapter, channel, &cckPowerLevel[0], &ofdmPowerLevel[0]);
+ //RTPRINT(FPHY, PHY_TXPWR, ("Channel-%d, cckPowerLevel (A / B) = 0x%x / 0x%x, ofdmPowerLevel (A / B) = 0x%x / 0x%x\n",
+ // channel, cckPowerLevel[0], cckPowerLevel[1], ofdmPowerLevel[0], ofdmPowerLevel[1]));
+
+ ccxPowerIndexCheck(Adapter, channel, &cckPowerLevel[0], &ofdmPowerLevel[0]);
+
+ rtl8192c_PHY_RF6052SetCckTxPower(Adapter, &cckPowerLevel[0]);
+ rtl8192c_PHY_RF6052SetOFDMTxPower(Adapter, &ofdmPowerLevel[0], channel);
+
+#if 0
+ switch(pHalData->rf_chip)
+ {
+ case RF_8225:
+ PHY_SetRF8225CckTxPower(Adapter, cckPowerLevel[0]);
+ PHY_SetRF8225OfdmTxPower(Adapter, ofdmPowerLevel[0]);
+ break;
+
+ case RF_8256:
+ PHY_SetRF8256CCKTxPower(Adapter, cckPowerLevel[0]);
+ PHY_SetRF8256OFDMTxPower(Adapter, ofdmPowerLevel[0]);
+ break;
+
+ case RF_6052:
+ PHY_RF6052SetCckTxPower(Adapter, &cckPowerLevel[0]);
+ PHY_RF6052SetOFDMTxPower(Adapter, &ofdmPowerLevel[0], channel);
+ break;
+
+ case RF_8258:
+ break;
+ }
+#endif
+
+}
+
+
+//
+// Description:
+// Update transmit power level of all channel supported.
+//
+// TODO:
+// A mode.
+// By Bruce, 2008-02-04.
+//
+BOOLEAN
+PHY_UpdateTxPowerDbm8192C(
+ IN PADAPTER Adapter,
+ IN int powerInDbm
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u8 idx;
+ u8 rf_path;
+
+ // TODO: A mode Tx power.
+ u8 CckTxPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_B, powerInDbm);
+ u8 OfdmTxPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_N_24G, powerInDbm);
+
+ if(OfdmTxPwrIdx - pHalData->LegacyHTTxPowerDiff > 0)
+ OfdmTxPwrIdx -= pHalData->LegacyHTTxPowerDiff;
+ else
+ OfdmTxPwrIdx = 0;
+
+ //RT_TRACE(COMP_TXAGC, DBG_LOUD, ("PHY_UpdateTxPowerDbm8192S(): %ld dBm , CckTxPwrIdx = %d, OfdmTxPwrIdx = %d\n", powerInDbm, CckTxPwrIdx, OfdmTxPwrIdx));
+
+ for(idx = 0; idx < 14; idx++)
+ {
+ for (rf_path = 0; rf_path < 2; rf_path++)
+ {
+ pHalData->TxPwrLevelCck[rf_path][idx] = CckTxPwrIdx;
+ pHalData->TxPwrLevelHT40_1S[rf_path][idx] =
+ pHalData->TxPwrLevelHT40_2S[rf_path][idx] = OfdmTxPwrIdx;
+ }
+ }
+
+ //Adapter->HalFunc.SetTxPowerLevelHandler(Adapter, pHalData->CurrentChannel);//gtest:todo
+
+ return _TRUE;
+}
+
+
+/*
+ Description:
+ When beacon interval is changed, the values of the
+ hw registers should be modified.
+ By tynli, 2008.10.24.
+
+*/
+
+
+void
+rtl8192c_PHY_SetBeaconHwReg(
+ IN PADAPTER Adapter,
+ IN u16 BeaconInterval
+ )
+{
+
+}
+
+
+VOID
+PHY_ScanOperationBackup8192C(
+ IN PADAPTER Adapter,
+ IN u8 Operation
+ )
+{
+#if 0
+ IO_TYPE IoType;
+
+ if(!Adapter->bDriverStopped)
+ {
+ switch(Operation)
+ {
+ case SCAN_OPT_BACKUP:
+ IoType = IO_CMD_PAUSE_DM_BY_SCAN;
+ rtw_hal_set_hwreg(Adapter,HW_VAR_IO_CMD, (pu1Byte)&IoType);
+
+ break;
+
+ case SCAN_OPT_RESTORE:
+ IoType = IO_CMD_RESUME_DM_BY_SCAN;
+ rtw_hal_set_hwreg(Adapter,HW_VAR_IO_CMD, (pu1Byte)&IoType);
+ break;
+
+ default:
+ RT_TRACE(COMP_SCAN, DBG_LOUD, ("Unknown Scan Backup Operation. \n"));
+ break;
+ }
+ }
+#endif
+}
+
+/*-----------------------------------------------------------------------------
+ * Function: PHY_SetBWModeCallback8192C()
+ *
+ * Overview: Timer callback function for SetSetBWMode
+ *
+ * Input: PRT_TIMER pTimer
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Note: (1) We do not take j mode into consideration now
+ * (2) Will two workitem of "switch channel" and "switch channel bandwidth" run
+ * concurrently?
+ *---------------------------------------------------------------------------*/
+static VOID
+_PHY_SetBWMode92C(
+ IN PADAPTER Adapter
+)
+{
+// PADAPTER Adapter = (PADAPTER)pTimer->Adapter;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u8 regBwOpMode;
+ u8 regRRSR_RSC;
+
+ //return;
+
+ // Added it for 20/40 mhz switch time evaluation by guangan 070531
+ //u4Byte NowL, NowH;
+ //u8Byte BeginTime, EndTime;
+
+ /*RT_TRACE(COMP_SCAN, DBG_LOUD, ("==>PHY_SetBWModeCallback8192C() Switch to %s bandwidth\n", \
+ pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20?"20MHz":"40MHz"))*/
+
+ if(pHalData->rf_chip == RF_PSEUDO_11N)
+ {
+ //pHalData->SetBWModeInProgress= _FALSE;
+ return;
+ }
+
+ // There is no 40MHz mode in RF_8225.
+ if(pHalData->rf_chip==RF_8225)
+ return;
+
+ if(Adapter->bDriverStopped)
+ return;
+
+ // Added it for 20/40 mhz switch time evaluation by guangan 070531
+ //NowL = PlatformEFIORead4Byte(Adapter, TSFR);
+ //NowH = PlatformEFIORead4Byte(Adapter, TSFR+4);
+ //BeginTime = ((u8Byte)NowH << 32) + NowL;
+
+ //3//
+ //3//<1>Set MAC register
+ //3//
+ //Adapter->HalFunc.SetBWModeHandler();
+
+ regBwOpMode = rtw_read8(Adapter, REG_BWOPMODE);
+ regRRSR_RSC = rtw_read8(Adapter, REG_RRSR+2);
+ //regBwOpMode = rtw_hal_get_hwreg(Adapter,HW_VAR_BWMODE,(pu1Byte)®BwOpMode);
+
+ switch(pHalData->CurrentChannelBW)
+ {
+ case HT_CHANNEL_WIDTH_20:
+ regBwOpMode |= BW_OPMODE_20MHZ;
+ // 2007/02/07 Mark by Emily becasue we have not verify whether this register works
+ rtw_write8(Adapter, REG_BWOPMODE, regBwOpMode);
+ break;
+
+ case HT_CHANNEL_WIDTH_40:
+ regBwOpMode &= ~BW_OPMODE_20MHZ;
+ // 2007/02/07 Mark by Emily becasue we have not verify whether this register works
+ rtw_write8(Adapter, REG_BWOPMODE, regBwOpMode);
+
+ regRRSR_RSC = (regRRSR_RSC&0x90) |(pHalData->nCur40MhzPrimeSC<<5);
+ rtw_write8(Adapter, REG_RRSR+2, regRRSR_RSC);
+ break;
+
+ default:
+ /*RT_TRACE(COMP_DBG, DBG_LOUD, ("PHY_SetBWModeCallback8192C():
+ unknown Bandwidth: %#X\n",pHalData->CurrentChannelBW));*/
+ break;
+ }
+
+ //3//
+ //3//<2>Set PHY related register
+ //3//
+ switch(pHalData->CurrentChannelBW)
+ {
+ /* 20 MHz channel*/
+ case HT_CHANNEL_WIDTH_20:
+ PHY_SetBBReg(Adapter, rFPGA0_RFMOD, bRFMOD, 0x0);
+ PHY_SetBBReg(Adapter, rFPGA1_RFMOD, bRFMOD, 0x0);
+ PHY_SetBBReg(Adapter, rFPGA0_AnalogParameter2, BIT10, 1);
+
+ break;
+
+
+ /* 40 MHz channel*/
+ case HT_CHANNEL_WIDTH_40:
+ PHY_SetBBReg(Adapter, rFPGA0_RFMOD, bRFMOD, 0x1);
+ PHY_SetBBReg(Adapter, rFPGA1_RFMOD, bRFMOD, 0x1);
+
+ // Set Control channel to upper or lower. These settings are required only for 40MHz
+ PHY_SetBBReg(Adapter, rCCK0_System, bCCKSideBand, (pHalData->nCur40MhzPrimeSC>>1));
+ PHY_SetBBReg(Adapter, rOFDM1_LSTF, 0xC00, pHalData->nCur40MhzPrimeSC);
+ PHY_SetBBReg(Adapter, rFPGA0_AnalogParameter2, BIT10, 0);
+
+ PHY_SetBBReg(Adapter, 0x818, (BIT26|BIT27), (pHalData->nCur40MhzPrimeSC==HAL_PRIME_CHNL_OFFSET_LOWER)?2:1);
+
+ break;
+
+
+
+ default:
+ /*RT_TRACE(COMP_DBG, DBG_LOUD, ("PHY_SetBWModeCallback8192C(): unknown Bandwidth: %#X\n"\
+ ,pHalData->CurrentChannelBW));*/
+ break;
+
+ }
+ //Skip over setting of J-mode in BB register here. Default value is "None J mode". Emily 20070315
+
+ // Added it for 20/40 mhz switch time evaluation by guangan 070531
+ //NowL = PlatformEFIORead4Byte(Adapter, TSFR);
+ //NowH = PlatformEFIORead4Byte(Adapter, TSFR+4);
+ //EndTime = ((u8Byte)NowH << 32) + NowL;
+ //RT_TRACE(COMP_SCAN, DBG_LOUD, ("SetBWModeCallback8190Pci: time of SetBWMode = %I64d us!\n", (EndTime - BeginTime)));
+
+ //3<3>Set RF related register
+ switch(pHalData->rf_chip)
+ {
+ case RF_8225:
+ //PHY_SetRF8225Bandwidth(Adapter, pHalData->CurrentChannelBW);
+ break;
+
+ case RF_8256:
+ // Please implement this function in Hal8190PciPhy8256.c
+ //PHY_SetRF8256Bandwidth(Adapter, pHalData->CurrentChannelBW);
+ break;
+
+ case RF_8258:
+ // Please implement this function in Hal8190PciPhy8258.c
+ // PHY_SetRF8258Bandwidth();
+ break;
+
+ case RF_PSEUDO_11N:
+ // Do Nothing
+ break;
+
+ case RF_6052:
+ rtl8192c_PHY_RF6052SetBandwidth(Adapter, pHalData->CurrentChannelBW);
+ break;
+
+ default:
+ //RT_ASSERT(FALSE, ("Unknown RFChipID: %d\n", pHalData->RFChipID));
+ break;
+ }
+
+ //pHalData->SetBWModeInProgress= FALSE;
+
+ //RT_TRACE(COMP_SCAN, DBG_LOUD, ("<==PHY_SetBWModeCallback8192C() \n" ));
+}
+
+
+ /*-----------------------------------------------------------------------------
+ * Function: SetBWMode8190Pci()
+ *
+ * Overview: This function is export to "HalCommon" moudule
+ *
+ * Input: PADAPTER Adapter
+ * HT_CHANNEL_WIDTH Bandwidth //20M or 40M
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Note: We do not take j mode into consideration now
+ *---------------------------------------------------------------------------*/
+VOID
+PHY_SetBWMode8192C(
+ IN PADAPTER Adapter,
+ IN HT_CHANNEL_WIDTH Bandwidth, // 20M or 40M
+ IN unsigned char Offset // Upper, Lower, or Don't care
+)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ HT_CHANNEL_WIDTH tmpBW= pHalData->CurrentChannelBW;
+ // Modified it for 20/40 mhz switch by guangan 070531
+ //PMGNT_INFO pMgntInfo=&Adapter->MgntInfo;
+
+ //return;
+
+ //if(pHalData->SwChnlInProgress)
+// if(pMgntInfo->bScanInProgress)
+// {
+// RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SetBWMode8192C() %s Exit because bScanInProgress!\n",
+// Bandwidth == HT_CHANNEL_WIDTH_20?"20MHz":"40MHz"));
+// return;
+// }
+
+// if(pHalData->SetBWModeInProgress)
+// {
+// // Modified it for 20/40 mhz switch by guangan 070531
+// RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SetBWMode8192C() %s cancel last timer because SetBWModeInProgress!\n",
+// Bandwidth == HT_CHANNEL_WIDTH_20?"20MHz":"40MHz"));
+// PlatformCancelTimer(Adapter, &pHalData->SetBWModeTimer);
+// //return;
+// }
+
+ //if(pHalData->SetBWModeInProgress)
+ // return;
+
+ //pHalData->SetBWModeInProgress= TRUE;
+
+ pHalData->CurrentChannelBW = Bandwidth;
+
+#if 0
+ if(Offset==HT_EXTCHNL_OFFSET_LOWER)
+ pHalData->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_UPPER;
+ else if(Offset==HT_EXTCHNL_OFFSET_UPPER)
+ pHalData->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_LOWER;
+ else
+ pHalData->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
+#else
+ pHalData->nCur40MhzPrimeSC = Offset;
+#endif
+
+ if((!Adapter->bDriverStopped) && (!Adapter->bSurpriseRemoved))
+ {
+
+ #if 0
+ //PlatformSetTimer(Adapter, &(pHalData->SetBWModeTimer), 0);
+ #else
+ _PHY_SetBWMode92C(Adapter);
+ #endif
+
+ }
+ else
+ {
+ //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SetBWMode8192C() SetBWModeInProgress FALSE driver sleep or unload\n"));
+ //pHalData->SetBWModeInProgress= FALSE;
+ pHalData->CurrentChannelBW = tmpBW;
+ }
+
+}
+
+
+static void _PHY_SwChnl8192C(PADAPTER Adapter, u8 channel)
+{
+ u8 eRFPath;
+ u32 param1, param2;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ if ( Adapter->bNotifyChannelChange )
+ {
+ DBG_871X( "[%s] ch = %d\n", __FUNCTION__, channel );
+ }
+
+ //s1. pre common command - CmdID_SetTxPowerLevel
+ PHY_SetTxPowerLevel8192C(Adapter, channel);
+
+ //s2. RF dependent command - CmdID_RF_WriteReg, param1=RF_CHNLBW, param2=channel
+ param1 = RF_CHNLBW;
+ param2 = channel;
+ for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++)
+ {
+ pHalData->RfRegChnlVal[eRFPath] = ((pHalData->RfRegChnlVal[eRFPath] & 0xfffffc00) | param2);
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, param1, bRFRegOffsetMask, pHalData->RfRegChnlVal[eRFPath]);
+ }
+
+ if(channel >= 1 && channel <= 9)
+ {
+ //DBG_8192C("phy_SwitchRfSetting8723A REG_AFE_PLL_CTRL 0xF0FFFF83\n");
+ PHY_SetBBReg(Adapter, REG_AFE_PLL_CTRL, bMaskDWord, 0xF0FFFF83);
+ }
+ else if (channel >= 10 && channel <= 14)
+ {
+ //DBG_8192C("phy_SwitchRfSetting8723A REG_AFE_PLL_CTRL 0xF2FFFF83\n");
+ PHY_SetBBReg(Adapter, REG_AFE_PLL_CTRL, bMaskDWord, 0xF2FFFF83);
+ }
+ //s3. post common command - CmdID_End, None
+
+}
+
+VOID
+PHY_SwChnl8192C( // Call after initialization
+ IN PADAPTER Adapter,
+ IN u8 channel
+ )
+{
+ //PADAPTER Adapter = ADJUST_TO_ADAPTIVE_ADAPTER(pAdapter, _TRUE);
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u8 tmpchannel = pHalData->CurrentChannel;
+ BOOLEAN bResult = _TRUE;
+
+ if(pHalData->rf_chip == RF_PSEUDO_11N)
+ {
+ //pHalData->SwChnlInProgress=FALSE;
+ return; //return immediately if it is peudo-phy
+ }
+
+ //if(pHalData->SwChnlInProgress)
+ // return;
+
+ //if(pHalData->SetBWModeInProgress)
+ // return;
+
+ //--------------------------------------------
+ switch(pHalData->CurrentWirelessMode)
+ {
+ case WIRELESS_MODE_A:
+ case WIRELESS_MODE_N_5G:
+ //RT_ASSERT((channel>14), ("WIRELESS_MODE_A but channel<=14"));
+ break;
+
+ case WIRELESS_MODE_B:
+ //RT_ASSERT((channel<=14), ("WIRELESS_MODE_B but channel>14"));
+ break;
+
+ case WIRELESS_MODE_G:
+ case WIRELESS_MODE_N_24G:
+ //RT_ASSERT((channel<=14), ("WIRELESS_MODE_G but channel>14"));
+ break;
+
+ default:
+ //RT_ASSERT(FALSE, ("Invalid WirelessMode(%#x)!!\n", pHalData->CurrentWirelessMode));
+ break;
+ }
+ //--------------------------------------------
+
+ //pHalData->SwChnlInProgress = TRUE;
+ if(channel == 0)
+ channel = 1;
+
+ pHalData->CurrentChannel=channel;
+
+ //pHalData->SwChnlStage=0;
+ //pHalData->SwChnlStep=0;
+
+ if((!Adapter->bDriverStopped) && (!Adapter->bSurpriseRemoved))
+ {
+
+ #if 0
+ //PlatformSetTimer(Adapter, &(pHalData->SwChnlTimer), 0);
+ #else
+ _PHY_SwChnl8192C(Adapter, channel);
+ #endif
+
+ if(bResult)
+ {
+ //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SwChnl8192C SwChnlInProgress TRUE schdule workitem done\n"));
+ }
+ else
+ {
+ //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SwChnl8192C SwChnlInProgress FALSE schdule workitem error\n"));
+ //if(IS_HARDWARE_TYPE_8192SU(Adapter))
+ //{
+ // pHalData->SwChnlInProgress = FALSE;
+ pHalData->CurrentChannel = tmpchannel;
+ //}
+ }
+
+ }
+ else
+ {
+ //RT_TRACE(COMP_SCAN, DBG_LOUD, ("PHY_SwChnl8192C SwChnlInProgress FALSE driver sleep or unload\n"));
+ //if(IS_HARDWARE_TYPE_8192SU(Adapter))
+ //{
+ // pHalData->SwChnlInProgress = FALSE;
+ pHalData->CurrentChannel = tmpchannel;
+ //}
+ }
+}
+
+
+static BOOLEAN
+phy_SwChnlStepByStep(
+ IN PADAPTER Adapter,
+ IN u8 channel,
+ IN u8 *stage,
+ IN u8 *step,
+ OUT u32 *delay
+ )
+{
+#if 0
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ PCHANNEL_ACCESS_SETTING pChnlAccessSetting;
+ SwChnlCmd PreCommonCmd[MAX_PRECMD_CNT];
+ u4Byte PreCommonCmdCnt;
+ SwChnlCmd PostCommonCmd[MAX_POSTCMD_CNT];
+ u4Byte PostCommonCmdCnt;
+ SwChnlCmd RfDependCmd[MAX_RFDEPENDCMD_CNT];
+ u4Byte RfDependCmdCnt;
+ SwChnlCmd *CurrentCmd;
+ u1Byte eRFPath;
+ u4Byte RfTXPowerCtrl;
+ BOOLEAN bAdjRfTXPowerCtrl = _FALSE;
+
+
+ RT_ASSERT((Adapter != NULL), ("Adapter should not be NULL\n"));
+#if(MP_DRIVER != 1)
+ RT_ASSERT(IsLegalChannel(Adapter, channel), ("illegal channel: %d\n", channel));
+#endif
+ RT_ASSERT((pHalData != NULL), ("pHalData should not be NULL\n"));
+
+ pChnlAccessSetting = &Adapter->MgntInfo.Info8185.ChannelAccessSetting;
+ RT_ASSERT((pChnlAccessSetting != NULL), ("pChnlAccessSetting should not be NULL\n"));
+
+ //for(eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++)
+ //for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++)
+ //{
+ // <1> Fill up pre common command.
+ PreCommonCmdCnt = 0;
+ phy_SetSwChnlCmdArray(PreCommonCmd, PreCommonCmdCnt++, MAX_PRECMD_CNT,
+ CmdID_SetTxPowerLevel, 0, 0, 0);
+ phy_SetSwChnlCmdArray(PreCommonCmd, PreCommonCmdCnt++, MAX_PRECMD_CNT,
+ CmdID_End, 0, 0, 0);
+
+ // <2> Fill up post common command.
+ PostCommonCmdCnt = 0;
+
+ phy_SetSwChnlCmdArray(PostCommonCmd, PostCommonCmdCnt++, MAX_POSTCMD_CNT,
+ CmdID_End, 0, 0, 0);
+
+ // <3> Fill up RF dependent command.
+ RfDependCmdCnt = 0;
+ switch( pHalData->RFChipID )
+ {
+ case RF_8225:
+ RT_ASSERT((channel >= 1 && channel <= 14), ("illegal channel for Zebra: %d\n", channel));
+ // 2008/09/04 MH Change channel.
+ if(channel==14) channel++;
+ phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT,
+ CmdID_RF_WriteReg, rZebra1_Channel, (0x10+channel-1), 10);
+ phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT,
+ CmdID_End, 0, 0, 0);
+ break;
+
+ case RF_8256:
+ // TEST!! This is not the table for 8256!!
+ RT_ASSERT((channel >= 1 && channel <= 14), ("illegal channel for Zebra: %d\n", channel));
+ phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT,
+ CmdID_RF_WriteReg, rRfChannel, channel, 10);
+ phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT,
+ CmdID_End, 0, 0, 0);
+ break;
+
+ case RF_6052:
+ RT_ASSERT((channel >= 1 && channel <= 14), ("illegal channel for Zebra: %d\n", channel));
+ phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT,
+ CmdID_RF_WriteReg, RF_CHNLBW, channel, 10);
+ phy_SetSwChnlCmdArray(RfDependCmd, RfDependCmdCnt++, MAX_RFDEPENDCMD_CNT,
+ CmdID_End, 0, 0, 0);
+
+ break;
+
+ case RF_8258:
+ break;
+
+ // For FPGA two MAC verification
+ case RF_PSEUDO_11N:
+ return TRUE;
+ default:
+ RT_ASSERT(FALSE, ("Unknown RFChipID: %d\n", pHalData->RFChipID));
+ return FALSE;
+ break;
+ }
+
+
+ do{
+ switch(*stage)
+ {
+ case 0:
+ CurrentCmd=&PreCommonCmd[*step];
+ break;
+ case 1:
+ CurrentCmd=&RfDependCmd[*step];
+ break;
+ case 2:
+ CurrentCmd=&PostCommonCmd[*step];
+ break;
+ }
+
+ if(CurrentCmd->CmdID==CmdID_End)
+ {
+ if((*stage)==2)
+ {
+ return TRUE;
+ }
+ else
+ {
+ (*stage)++;
+ (*step)=0;
+ continue;
+ }
+ }
+
+ switch(CurrentCmd->CmdID)
+ {
+ case CmdID_SetTxPowerLevel:
+ PHY_SetTxPowerLevel8192C(Adapter,channel);
+ break;
+ case CmdID_WritePortUlong:
+ PlatformEFIOWrite4Byte(Adapter, CurrentCmd->Para1, CurrentCmd->Para2);
+ break;
+ case CmdID_WritePortUshort:
+ PlatformEFIOWrite2Byte(Adapter, CurrentCmd->Para1, (u2Byte)CurrentCmd->Para2);
+ break;
+ case CmdID_WritePortUchar:
+ PlatformEFIOWrite1Byte(Adapter, CurrentCmd->Para1, (u1Byte)CurrentCmd->Para2);
+ break;
+ case CmdID_RF_WriteReg: // Only modify channel for the register now !!!!!
+ for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++)
+ {
+#if 1
+ pHalData->RfRegChnlVal[eRFPath] = ((pHalData->RfRegChnlVal[eRFPath] & 0xfffffc00) | CurrentCmd->Para2);
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, CurrentCmd->Para1, bRFRegOffsetMask, pHalData->RfRegChnlVal[eRFPath]);
+#else
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, CurrentCmd->Para1, bRFRegOffsetMask, (CurrentCmd->Para2));
+#endif
+ }
+ break;
+ }
+
+ break;
+ }while(TRUE);
+ //cosa }/*for(Number of RF paths)*/
+
+ (*delay)=CurrentCmd->msDelay;
+ (*step)++;
+ return FALSE;
+#endif
+ return _TRUE;
+}
+
+
+static BOOLEAN
+phy_SetSwChnlCmdArray(
+ SwChnlCmd* CmdTable,
+ u32 CmdTableIdx,
+ u32 CmdTableSz,
+ SwChnlCmdID CmdID,
+ u32 Para1,
+ u32 Para2,
+ u32 msDelay
+ )
+{
+ SwChnlCmd* pCmd;
+
+ if(CmdTable == NULL)
+ {
+ //RT_ASSERT(FALSE, ("phy_SetSwChnlCmdArray(): CmdTable cannot be NULL.\n"));
+ return _FALSE;
+ }
+ if(CmdTableIdx >= CmdTableSz)
+ {
+ //RT_ASSERT(FALSE,
+ // ("phy_SetSwChnlCmdArray(): Access invalid index, please check size of the table, CmdTableIdx:%ld, CmdTableSz:%ld\n",
+ // CmdTableIdx, CmdTableSz));
+ return _FALSE;
+ }
+
+ pCmd = CmdTable + CmdTableIdx;
+ pCmd->CmdID = CmdID;
+ pCmd->Para1 = Para1;
+ pCmd->Para2 = Para2;
+ pCmd->msDelay = msDelay;
+
+ return _TRUE;
+}
+
+
+static void
+phy_FinishSwChnlNow( // We should not call this function directly
+ IN PADAPTER Adapter,
+ IN u8 channel
+ )
+{
+#if 0
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u32 delay;
+
+ while(!phy_SwChnlStepByStep(Adapter,channel,&pHalData->SwChnlStage,&pHalData->SwChnlStep,&delay))
+ {
+ if(delay>0)
+ rtw_mdelay_os(delay);
+ }
+#endif
+}
+
+
+
+//
+// Description:
+// Switch channel synchronously. Called by SwChnlByDelayHandler.
+//
+// Implemented by Bruce, 2008-02-14.
+// The following procedure is operted according to SwChanlCallback8190Pci().
+// However, this procedure is performed synchronously which should be running under
+// passive level.
+//
+VOID
+PHY_SwChnlPhy8192C( // Only called during initialize
+ IN PADAPTER Adapter,
+ IN u8 channel
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ //RT_TRACE(COMP_SCAN | COMP_RM, DBG_LOUD, ("==>PHY_SwChnlPhy8192S(), switch from channel %d to channel %d.\n", pHalData->CurrentChannel, channel));
+
+ // Cannot IO.
+ //if(RT_CANNOT_IO(Adapter))
+ // return;
+
+ // Channel Switching is in progress.
+ //if(pHalData->SwChnlInProgress)
+ // return;
+
+ //return immediately if it is peudo-phy
+ if(pHalData->rf_chip == RF_PSEUDO_11N)
+ {
+ //pHalData->SwChnlInProgress=FALSE;
+ return;
+ }
+
+ //pHalData->SwChnlInProgress = TRUE;
+ if( channel == 0)
+ channel = 1;
+
+ pHalData->CurrentChannel=channel;
+
+ //pHalData->SwChnlStage = 0;
+ //pHalData->SwChnlStep = 0;
+
+ phy_FinishSwChnlNow(Adapter,channel);
+
+ //pHalData->SwChnlInProgress = FALSE;
+}
+
+
+//
+// Description:
+// Configure H/W functionality to enable/disable Monitor mode.
+// Note, because we possibly need to configure BB and RF in this function,
+// so caller should in PASSIVE_LEVEL. 080118, by rcnjko.
+//
+VOID
+PHY_SetMonitorMode8192C(
+ IN PADAPTER pAdapter,
+ IN BOOLEAN bEnableMonitorMode
+ )
+{
+#if 0
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ BOOLEAN bFilterOutNonAssociatedBSSID = FALSE;
+
+ //2 Note: we may need to stop antenna diversity.
+ if(bEnableMonitorMode)
+ {
+ bFilterOutNonAssociatedBSSID = FALSE;
+ RT_TRACE(COMP_RM, DBG_LOUD, ("PHY_SetMonitorMode8192S(): enable monitor mode\n"));
+
+ pHalData->bInMonitorMode = TRUE;
+ pAdapter->HalFunc.AllowAllDestAddrHandler(pAdapter, TRUE, TRUE);
+ rtw_hal_set_hwreg(pAdapter, HW_VAR_CHECK_BSSID, (pu1Byte)&bFilterOutNonAssociatedBSSID);
+ }
+ else
+ {
+ bFilterOutNonAssociatedBSSID = TRUE;
+ RT_TRACE(COMP_RM, DBG_LOUD, ("PHY_SetMonitorMode8192S(): disable monitor mode\n"));
+
+ pAdapter->HalFunc.AllowAllDestAddrHandler(pAdapter, FALSE, TRUE);
+ pHalData->bInMonitorMode = FALSE;
+ rtw_hal_set_hwreg(pAdapter, HW_VAR_CHECK_BSSID, (pu1Byte)&bFilterOutNonAssociatedBSSID);
+ }
+#endif
+}
+
+
+/*-----------------------------------------------------------------------------
+ * Function: PHYCheckIsLegalRfPath8190Pci()
+ *
+ * Overview: Check different RF type to execute legal judgement. If RF Path is illegal
+ * We will return false.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 11/15/2007 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+BOOLEAN
+PHY_CheckIsLegalRfPath8192C(
+ IN PADAPTER pAdapter,
+ IN u32 eRFPath)
+{
+// HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+ BOOLEAN rtValue = _TRUE;
+
+ // NOt check RF Path now.!
+#if 0
+ if (pHalData->RF_Type == RF_1T2R && eRFPath != RF_PATH_A)
+ {
+ rtValue = FALSE;
+ }
+ if (pHalData->RF_Type == RF_1T2R && eRFPath != RF_PATH_A)
+ {
+
+ }
+#endif
+ return rtValue;
+
+} /* PHY_CheckIsLegalRfPath8192C */
+
+static VOID _PHY_SetRFPathSwitch(
+ IN PADAPTER pAdapter,
+ IN BOOLEAN bMain,
+ IN BOOLEAN is2T
+ )
+{
+ u8 u1bTmp;
+
+ if(!pAdapter->hw_init_completed)
+ {
+ u1bTmp = rtw_read8(pAdapter, REG_LEDCFG2) | BIT7;
+ rtw_write8(pAdapter, REG_LEDCFG2, u1bTmp);
+ //PHY_SetBBReg(pAdapter, REG_LEDCFG0, BIT23, 0x01);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT13, 0x01);
+ }
+
+ if(is2T)
+ {
+ if(bMain)
+ PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6, 0x1); //92C_Path_A
+ else
+ PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6, 0x2); //BT
+ }
+ else
+ {
+
+ if(bMain)
+ PHY_SetBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, 0x300, 0x2); //Main
+ else
+ PHY_SetBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, 0x300, 0x1); //Aux
+ }
+
+}
+
+//return value TRUE => Main; FALSE => Aux
+
+static BOOLEAN _PHY_QueryRFPathSwitch(
+ IN PADAPTER pAdapter,
+ IN BOOLEAN is2T
+ )
+{
+// if(is2T)
+// return _TRUE;
+
+ if(!pAdapter->hw_init_completed)
+ {
+ PHY_SetBBReg(pAdapter, REG_LEDCFG0, BIT23, 0x01);
+ PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT13, 0x01);
+ }
+
+ if(is2T)
+ {
+ if(PHY_QueryBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6) == 0x01)
+ return _TRUE;
+ else
+ return _FALSE;
+ }
+ else
+ {
+ if(PHY_QueryBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, 0x300) == 0x02)
+ return _TRUE;
+ else
+ return _FALSE;
+ }
+}
+
+
+static VOID
+_PHY_DumpRFReg(IN PADAPTER pAdapter)
+{
+ u32 rfRegValue,rfRegOffset;
+
+ //RTPRINT(FINIT, INIT_RF, ("PHY_DumpRFReg()====>\n"));
+
+ for(rfRegOffset = 0x00;rfRegOffset<=0x30;rfRegOffset++){
+ rfRegValue = PHY_QueryRFReg(pAdapter,RF_PATH_A, rfRegOffset, bMaskDWord);
+ //RTPRINT(FINIT, INIT_RF, (" 0x%02x = 0x%08x\n",rfRegOffset,rfRegValue));
+ }
+ //RTPRINT(FINIT, INIT_RF, ("<===== PHY_DumpRFReg()\n"));
+}
+
+
+VOID rtl8192c_PHY_SetRFPathSwitch(
+ IN PADAPTER pAdapter,
+ IN BOOLEAN bMain
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
+
+#if DISABLE_BB_RF
+ return;
+#endif
+
+ if(IS_92C_SERIAL( pHalData->VersionID)){
+ _PHY_SetRFPathSwitch(pAdapter, bMain, _TRUE);
+ }
+ else{
+ // For 88C 1T1R
+ _PHY_SetRFPathSwitch(pAdapter, bMain, _FALSE);
+ }
+}
+
+//
+// Move from phycfg.c to gen.c to be code independent later
+//
+//-------------------------Move to other DIR later----------------------------*/
+#ifdef CONFIG_USB_HCI
+
+//
+// Description:
+// To dump all Tx FIFO LLT related link-list table.
+// Added by Roger, 2009.03.10.
+//
+VOID
+DumpBBDbgPort_92CU(
+ IN PADAPTER Adapter
+ )
+{
+
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"));
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("BaseBand Debug Ports:\n"));
+
+ PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0000);
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord)));
+
+ PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0803);
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord)));
+
+ PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0a06);
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord)));
+
+ PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0007);
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord)));
+
+ PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0100);
+ PHY_SetBBReg(Adapter, 0x0a28, 0x00ff0000, 0x000f0000);
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord)));
+
+ PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0100);
+ PHY_SetBBReg(Adapter, 0x0a28, 0x00ff0000, 0x00150000);
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xdf4, PHY_QueryBBReg(Adapter, 0x0df4, bMaskDWord)));
+
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0x800, PHY_QueryBBReg(Adapter, 0x0800, bMaskDWord)));
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0x900, PHY_QueryBBReg(Adapter, 0x0900, bMaskDWord)));
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xa00, PHY_QueryBBReg(Adapter, 0x0a00, bMaskDWord)));
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xa54, PHY_QueryBBReg(Adapter, 0x0a54, bMaskDWord)));
+ //RT_TRACE(COMP_SEND, DBG_WARNING, ("Offset[%x]: %x\n", 0xa58, PHY_QueryBBReg(Adapter, 0x0a58, bMaskDWord)));
+
+}
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rf6052.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rf6052.c index c86782f695e6..b6449371f5a7 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rf6052.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rf6052.c @@ -1,985 +1,985 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -/****************************************************************************** - * - * - * Module: rtl8192c_rf6052.c ( Source C File) - * - * Note: Provide RF 6052 series relative API. - * - * Function: - * - * Export: - * - * Abbrev: - * - * History: - * Data Who Remark - * - * 09/25/2008 MHC Create initial version. - * 11/05/2008 MHC Add API for tw power setting. - * - * -******************************************************************************/ - -#define _RTL8723A_RF6052_C_ - -#include <drv_conf.h> -#include <osdep_service.h> -#include <drv_types.h> -#include <rtw_byteorder.h> - -#include <rtl8723a_hal.h> - -/*---------------------------Define Local Constant---------------------------*/ -// Define local structure for debug!!!!! -typedef struct RF_Shadow_Compare_Map { - // Shadow register value - u32 Value; - // Compare or not flag - u8 Compare; - // Record If it had ever modified unpredicted - u8 ErrorOrNot; - // Recorver Flag - u8 Recorver; - // - u8 Driver_Write; -}RF_SHADOW_T; -/*---------------------------Define Local Constant---------------------------*/ - - -/*------------------------Define global variable-----------------------------*/ -/*------------------------Define global variable-----------------------------*/ - - -/*------------------------Define local variable------------------------------*/ -// 2008/11/20 MH For Debug only, RF -//static RF_SHADOW_T RF_Shadow[RF6052_MAX_PATH][RF6052_MAX_REG] = {0}; -static RF_SHADOW_T RF_Shadow[RF6052_MAX_PATH][RF6052_MAX_REG]; -/*------------------------Define local variable------------------------------*/ - - -/*----------------------------------------------------------------------------- - * Function: RF_ChangeTxPath - * - * Overview: For RL6052, we must change some RF settign for 1T or 2T. - * - * Input: u2Byte DataRate // 0x80-8f, 0x90-9f - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 09/25/2008 MHC Create Version 0. - * Firmwaer support the utility later. - * - *---------------------------------------------------------------------------*/ -void rtl8192c_RF_ChangeTxPath( IN PADAPTER Adapter, - IN u16 DataRate) -{ -// We do not support gain table change inACUT now !!!! Delete later !!! -#if 0//(RTL92SE_FPGA_VERIFY == 0) - static u1Byte RF_Path_Type = 2; // 1 = 1T 2= 2T - static u4Byte tx_gain_tbl1[6] - = {0x17f50, 0x11f40, 0x0cf30, 0x08720, 0x04310, 0x00100}; - static u4Byte tx_gain_tbl2[6] - = {0x15ea0, 0x10e90, 0x0c680, 0x08250, 0x04040, 0x00030}; - u1Byte i; - - if (RF_Path_Type == 2 && (DataRate&0xF) <= 0x7) - { - // Set TX SYNC power G2G3 loop filter - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TXPA_G2, bRFRegOffsetMask, 0x0f000); - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TXPA_G3, bRFRegOffsetMask, 0xeacf1); - - // Change TX AGC gain table - for (i = 0; i < 6; i++) - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TX_AGC, bRFRegOffsetMask, tx_gain_tbl1[i]); - - // Set PA to high value - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TXPA_G2, bRFRegOffsetMask, 0x01e39); - } - else if (RF_Path_Type == 1 && (DataRate&0xF) >= 0x8) - { - // Set TX SYNC power G2G3 loop filter - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TXPA_G2, bRFRegOffsetMask, 0x04440); - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TXPA_G3, bRFRegOffsetMask, 0xea4f1); - - // Change TX AGC gain table - for (i = 0; i < 6; i++) - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TX_AGC, bRFRegOffsetMask, tx_gain_tbl2[i]); - - // Set PA low gain - PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A, - RF_TXPA_G2, bRFRegOffsetMask, 0x01e19); - } -#endif - -} /* RF_ChangeTxPath */ - - -/*----------------------------------------------------------------------------- - * Function: PHY_RF6052SetBandwidth() - * - * Overview: This function is called by SetBWModeCallback8190Pci() only - * - * Input: PADAPTER Adapter - * WIRELESS_BANDWIDTH_E Bandwidth //20M or 40M - * - * Output: NONE - * - * Return: NONE - * - * Note: For RF type 0222D - *---------------------------------------------------------------------------*/ -VOID -rtl8192c_PHY_RF6052SetBandwidth( - IN PADAPTER Adapter, - IN HT_CHANNEL_WIDTH Bandwidth) //20M or 40M -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - switch(Bandwidth) - { - case HT_CHANNEL_WIDTH_20: - pHalData->RfRegChnlVal[0] = ((pHalData->RfRegChnlVal[0] & 0xfffff3ff) | 0x0400); - PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]); - break; - - case HT_CHANNEL_WIDTH_40: - pHalData->RfRegChnlVal[0] = ((pHalData->RfRegChnlVal[0] & 0xfffff3ff)); - PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]); - break; - - default: - //RT_TRACE(COMP_DBG, DBG_LOUD, ("PHY_SetRF8225Bandwidth(): unknown Bandwidth: %#X\n",Bandwidth )); - break; - } - -} - - -/*----------------------------------------------------------------------------- - * Function: PHY_RF6052SetCckTxPower - * - * Overview: - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/05/2008 MHC Simulate 8192series.. - * - *---------------------------------------------------------------------------*/ - -VOID -rtl8192c_PHY_RF6052SetCckTxPower( - IN PADAPTER Adapter, - IN u8* pPowerlevel) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - struct mlme_priv *pmlmepriv = &Adapter->mlmepriv; - struct dm_priv *pdmpriv = &pHalData->dmpriv; - struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv; - //PMGNT_INFO pMgntInfo=&Adapter->MgntInfo; - u32 TxAGC[2]={0, 0}, tmpval=0; - BOOLEAN TurboScanOff = _FALSE; - u8 idx1, idx2; - u8* ptr; - - // 2010/10/18 MH Accorsing to SD3 eechou's suggestion, we need to disable turbo scan for RU. - // Otherwise, external PA will be broken if power index > 0x20. -#ifdef CONFIG_USB_HCI - if (pHalData->EEPROMRegulatory != 0 || pHalData->ExternalPA) -#else - if (pHalData->EEPROMRegulatory != 0) -#endif - { - //DbgPrint("TurboScanOff=1 EEPROMRegulatory=%d ExternalPA=%d\n", pHalData->EEPROMRegulatory, pHalData->ExternalPA); - TurboScanOff = _TRUE; - } - - if(pmlmeext->sitesurvey_res.state == SCAN_PROCESS) - { - TxAGC[RF_PATH_A] = 0x3f3f3f3f; - TxAGC[RF_PATH_B] = 0x3f3f3f3f; - - TurboScanOff = _TRUE;//disable turbo scan - - if(TurboScanOff) - { - for(idx1=RF_PATH_A; idx1<=RF_PATH_B; idx1++) - { - TxAGC[idx1] = - pPowerlevel[idx1] | (pPowerlevel[idx1]<<8) | - (pPowerlevel[idx1]<<16) | (pPowerlevel[idx1]<<24); -#ifdef CONFIG_USB_HCI - // 2010/10/18 MH For external PA module. We need to limit power index to be less than 0x20. - if (TxAGC[idx1] > 0x20 && pHalData->ExternalPA) - TxAGC[idx1] = 0x20; -#endif - } - } - } - else - { -// 20100427 Joseph: Driver dynamic Tx power shall not affect Tx power. It shall be determined by power training mechanism. -// Currently, we cannot fully disable driver dynamic tx power mechanism because it is referenced by BT coexist mechanism. -// In the future, two mechanism shall be separated from each other and maintained independantly. Thanks for Lanhsin's reminder. - if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level1) - { - TxAGC[RF_PATH_A] = 0x10101010; - TxAGC[RF_PATH_B] = 0x10101010; - } - else if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level2) - { - TxAGC[RF_PATH_A] = 0x00000000; - TxAGC[RF_PATH_B] = 0x00000000; - } - else - { - for(idx1=RF_PATH_A; idx1<=RF_PATH_B; idx1++) - { - TxAGC[idx1] = - pPowerlevel[idx1] | (pPowerlevel[idx1]<<8) | - (pPowerlevel[idx1]<<16) | (pPowerlevel[idx1]<<24); - } - - if(pHalData->EEPROMRegulatory==0) - { - tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][6]) + - (pHalData->MCSTxPowerLevelOriginalOffset[0][7]<<8); - TxAGC[RF_PATH_A] += tmpval; - - tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][14]) + - (pHalData->MCSTxPowerLevelOriginalOffset[0][15]<<24); - TxAGC[RF_PATH_B] += tmpval; - } - } - } - - for(idx1=RF_PATH_A; idx1<=RF_PATH_B; idx1++) - { - ptr = (u8*)(&(TxAGC[idx1])); - for(idx2=0; idx2<4; idx2++) - { - if(*ptr > RF6052_MAX_TX_PWR) - *ptr = RF6052_MAX_TX_PWR; - ptr++; - } - } - - // rf-A cck tx power - tmpval = TxAGC[RF_PATH_A]&0xff; - PHY_SetBBReg(Adapter, rTxAGC_A_CCK1_Mcs32, bMaskByte1, tmpval); - //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 1M (rf-A) = 0x%x (reg 0x%x)\n", tmpval, rTxAGC_A_CCK1_Mcs32)); - tmpval = TxAGC[RF_PATH_A]>>8; - PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11, 0xffffff00, tmpval); - //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 2~11M (rf-A) = 0x%x (reg 0x%x)\n", tmpval, rTxAGC_B_CCK11_A_CCK2_11)); - - // rf-B cck tx power - tmpval = TxAGC[RF_PATH_B]>>24; - PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte0, tmpval); - //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 11M (rf-B) = 0x%x (reg 0x%x)\n", tmpval, rTxAGC_B_CCK11_A_CCK2_11)); - tmpval = TxAGC[RF_PATH_B]&0x00ffffff; - PHY_SetBBReg(Adapter, rTxAGC_B_CCK1_55_Mcs32, 0xffffff00, tmpval); - //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 1~5.5M (rf-B) = 0x%x (reg 0x%x)\n", - // tmpval, rTxAGC_B_CCK1_55_Mcs32)); - -} /* PHY_RF6052SetCckTxPower */ - -// -// powerbase0 for OFDM rates -// powerbase1 for HT MCS rates -// -static void getPowerBase( - IN PADAPTER Adapter, - IN u8* pPowerLevel, - IN u8 Channel, - IN OUT u32* OfdmBase, - IN OUT u32* MCSBase - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u32 powerBase0, powerBase1; - u8 Legacy_pwrdiff=0; - s8 HT20_pwrdiff=0; - u8 i, powerlevel[2]; - - for(i=0; i<2; i++) - { - powerlevel[i] = pPowerLevel[i]; - Legacy_pwrdiff = pHalData->TxPwrLegacyHtDiff[i][Channel-1]; - powerBase0 = powerlevel[i] + Legacy_pwrdiff; - - powerBase0 = (powerBase0<<24) | (powerBase0<<16) |(powerBase0<<8) |powerBase0; - *(OfdmBase+i) = powerBase0; - //RTPRINT(FPHY, PHY_TXPWR, (" [OFDM power base index rf(%c) = 0x%x]\n", ((i==0)?'A':'B'), *(OfdmBase+i))); - } - - for(i=0; i<2; i++) - { - //Check HT20 to HT40 diff - if(pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20) - { - HT20_pwrdiff = pHalData->TxPwrHt20Diff[i][Channel-1]; - powerlevel[i] += HT20_pwrdiff; - } - powerBase1 = powerlevel[i]; - powerBase1 = (powerBase1<<24) | (powerBase1<<16) |(powerBase1<<8) |powerBase1; - *(MCSBase+i) = powerBase1; - //RTPRINT(FPHY, PHY_TXPWR, (" [MCS power base index rf(%c) = 0x%x]\n", ((i==0)?'A':'B'), *(MCSBase+i))); - } -} - -static void getTxPowerWriteValByRegulatory( - IN PADAPTER Adapter, - IN u8 Channel, - IN u8 index, - IN u32* powerBase0, - IN u32* powerBase1, - OUT u32* pOutWriteVal - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - u8 i, chnlGroup, pwr_diff_limit[4]; - u32 writeVal, customer_limit, rf; - - // - // Index 0 & 1= legacy OFDM, 2-5=HT_MCS rate - // - for(rf=0; rf<2; rf++) - { - switch(pHalData->EEPROMRegulatory) - { - case 0: // Realtek better performance - // increase power diff defined by Realtek for large power - chnlGroup = 0; - //RTPRINT(FPHY, PHY_TXPWR, ("MCSTxPowerLevelOriginalOffset[%d][%d] = 0x%x\n", - // chnlGroup, index, pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)])); - writeVal = pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)] + - ((index<2)?powerBase0[rf]:powerBase1[rf]); - //RTPRINT(FPHY, PHY_TXPWR, ("RTK better performance, writeVal(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal)); - break; - case 1: // Realtek regulatory - // increase power diff defined by Realtek for regulatory - { - if(pHalData->pwrGroupCnt == 1) - chnlGroup = 0; - if(pHalData->pwrGroupCnt >= 3) - { - if(Channel <= 3) - chnlGroup = 0; - else if(Channel >= 4 && Channel <= 9) - chnlGroup = 1; - else if(Channel > 9) - chnlGroup = 2; - - if(pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20) - chnlGroup++; - else - chnlGroup+=4; - } - //RTPRINT(FPHY, PHY_TXPWR, ("MCSTxPowerLevelOriginalOffset[%d][%d] = 0x%x\n", - //chnlGroup, index, pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)])); - writeVal = pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)] + - ((index<2)?powerBase0[rf]:powerBase1[rf]); - //RTPRINT(FPHY, PHY_TXPWR, ("Realtek regulatory, 20MHz, writeVal(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal)); - } - break; - case 2: // Better regulatory - // don't increase any power diff - writeVal = ((index<2)?powerBase0[rf]:powerBase1[rf]); - //RTPRINT(FPHY, PHY_TXPWR, ("Better regulatory, writeVal(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal)); - break; - case 3: // Customer defined power diff. - // increase power diff defined by customer. - chnlGroup = 0; - //RTPRINT(FPHY, PHY_TXPWR, ("MCSTxPowerLevelOriginalOffset[%d][%d] = 0x%x\n", - // chnlGroup, index, pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)])); - - if (pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_40) - { - //RTPRINT(FPHY, PHY_TXPWR, ("customer's limit, 40MHz rf(%c) = 0x%x\n", - // ((rf==0)?'A':'B'), pHalData->PwrGroupHT40[rf][Channel-1])); - } - else - { - //RTPRINT(FPHY, PHY_TXPWR, ("customer's limit, 20MHz rf(%c) = 0x%x\n", - // ((rf==0)?'A':'B'), pHalData->PwrGroupHT20[rf][Channel-1])); - } - for (i=0; i<4; i++) - { - pwr_diff_limit[i] = (u8)((pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)]&(0x7f<<(i*8)))>>(i*8)); - if (pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_40) - { - if(pwr_diff_limit[i] > pHalData->PwrGroupHT40[rf][Channel-1]) - pwr_diff_limit[i] = pHalData->PwrGroupHT40[rf][Channel-1]; - } - else - { - if(pwr_diff_limit[i] > pHalData->PwrGroupHT20[rf][Channel-1]) - pwr_diff_limit[i] = pHalData->PwrGroupHT20[rf][Channel-1]; - } - } - customer_limit = (pwr_diff_limit[3]<<24) | (pwr_diff_limit[2]<<16) | - (pwr_diff_limit[1]<<8) | (pwr_diff_limit[0]); - //RTPRINT(FPHY, PHY_TXPWR, ("Customer's limit rf(%c) = 0x%x\n", ((rf==0)?'A':'B'), customer_limit)); - - writeVal = customer_limit + ((index<2)?powerBase0[rf]:powerBase1[rf]); - //RTPRINT(FPHY, PHY_TXPWR, ("Customer, writeVal rf(%c)= 0x%x\n", ((rf==0)?'A':'B'), writeVal)); - break; - default: - chnlGroup = 0; - writeVal = pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)] + - ((index<2)?powerBase0[rf]:powerBase1[rf]); - //RTPRINT(FPHY, PHY_TXPWR, ("RTK better performance, writeVal rf(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal)); - break; - } - -// 20100427 Joseph: Driver dynamic Tx power shall not affect Tx power. It shall be determined by power training mechanism. -// Currently, we cannot fully disable driver dynamic tx power mechanism because it is referenced by BT coexist mechanism. -// In the future, two mechanism shall be separated from each other and maintained independantly. Thanks for Lanhsin's reminder. - - if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level1) - writeVal = 0x14141414; - else if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level2) - writeVal = 0x00000000; - - - // 20100628 Joseph: High power mode for BT-Coexist mechanism. - // This mechanism is only applied when Driver-Highpower-Mechanism is OFF. - if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_BT1) - { - //RTPRINT(FBT, BT_TRACE, ("Tx Power (-6)\n")); - writeVal = writeVal - 0x06060606; - } - else if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_BT2) - { - //RTPRINT(FBT, BT_TRACE, ("Tx Power (-0)\n")); - writeVal = writeVal; - } - *(pOutWriteVal+rf) = writeVal; - } -} - -static void writeOFDMPowerReg( - IN PADAPTER Adapter, - IN u8 index, - IN u32* pValue - ) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u16 RegOffset_A[6] = { rTxAGC_A_Rate18_06, rTxAGC_A_Rate54_24, - rTxAGC_A_Mcs03_Mcs00, rTxAGC_A_Mcs07_Mcs04, - rTxAGC_A_Mcs11_Mcs08, rTxAGC_A_Mcs15_Mcs12}; - u16 RegOffset_B[6] = { rTxAGC_B_Rate18_06, rTxAGC_B_Rate54_24, - rTxAGC_B_Mcs03_Mcs00, rTxAGC_B_Mcs07_Mcs04, - rTxAGC_B_Mcs11_Mcs08, rTxAGC_B_Mcs15_Mcs12}; - u8 i, rf, pwr_val[4]; - u32 writeVal; - u16 RegOffset; - - for(rf=0; rf<2; rf++) - { - writeVal = pValue[rf]; - for(i=0; i<4; i++) - { - pwr_val[i] = (u8)((writeVal & (0x7f<<(i*8)))>>(i*8)); - if (pwr_val[i] > RF6052_MAX_TX_PWR) - pwr_val[i] = RF6052_MAX_TX_PWR; - } - writeVal = (pwr_val[3]<<24) | (pwr_val[2]<<16) |(pwr_val[1]<<8) |pwr_val[0]; - - if(rf == 0) - RegOffset = RegOffset_A[index]; - else - RegOffset = RegOffset_B[index]; - - PHY_SetBBReg(Adapter, RegOffset, bMaskDWord, writeVal); - //RTPRINT(FPHY, PHY_TXPWR, ("Set 0x%x = %08x\n", RegOffset, writeVal)); - - // 201005115 Joseph: Set Tx Power diff for Tx power training mechanism. - if(((pHalData->rf_type == RF_2T2R) && - (RegOffset == rTxAGC_A_Mcs15_Mcs12 || RegOffset == rTxAGC_B_Mcs15_Mcs12))|| - ((pHalData->rf_type != RF_2T2R) && - (RegOffset == rTxAGC_A_Mcs07_Mcs04 || RegOffset == rTxAGC_B_Mcs07_Mcs04)) ) - { - writeVal = pwr_val[3]; - if(RegOffset == rTxAGC_A_Mcs15_Mcs12 || RegOffset == rTxAGC_A_Mcs07_Mcs04) - RegOffset = 0xc90; - if(RegOffset == rTxAGC_B_Mcs15_Mcs12 || RegOffset == rTxAGC_B_Mcs07_Mcs04) - RegOffset = 0xc98; - for(i=0; i<3; i++) - { - if(i!=2) - writeVal = (writeVal>8)?(writeVal-8):0; - else - writeVal = (writeVal>6)?(writeVal-6):0; - rtw_write8(Adapter, (u32)(RegOffset+i), (u8)writeVal); - } - } - } -} -/*----------------------------------------------------------------------------- - * Function: PHY_RF6052SetOFDMTxPower - * - * Overview: For legacy and HY OFDM, we must read EEPROM TX power index for - * different channel and read original value in TX power register area from - * 0xe00. We increase offset and original value to be correct tx pwr. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/05/2008 MHC Simulate 8192 series method. - * 01/06/2009 MHC 1. Prevent Path B tx power overflow or underflow dure to - * A/B pwr difference or legacy/HT pwr diff. - * 2. We concern with path B legacy/HT OFDM difference. - * 01/22/2009 MHC Support new EPRO format from SD3. - * - *---------------------------------------------------------------------------*/ -VOID -rtl8192c_PHY_RF6052SetOFDMTxPower( - IN PADAPTER Adapter, - IN u8* pPowerLevel, - IN u8 Channel) -{ - //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - u32 writeVal[2], powerBase0[2], powerBase1[2]; - u8 index = 0; - - getPowerBase(Adapter, pPowerLevel, Channel, &powerBase0[0], &powerBase1[0]); - - for(index=0; index<6; index++) - { - getTxPowerWriteValByRegulatory(Adapter, Channel, index, - &powerBase0[0], &powerBase1[0], &writeVal[0]); - - writeOFDMPowerReg(Adapter, index, &writeVal[0]); - } - -} - - -static VOID -phy_RF6052_Config_HardCode( - IN PADAPTER Adapter - ) -{ - - // Set Default Bandwidth to 20M - //Adapter->HalFunc .SetBWModeHandler(Adapter, HT_CHANNEL_WIDTH_20); - - // TODO: Set Default Channel to channel one for RTL8225 - -} - -static int -phy_RF6052_Config_ParaFile( - IN PADAPTER Adapter - ) -{ - u32 u4RegValue; - u8 eRFPath; - BB_REGISTER_DEFINITION_T *pPhyReg; - - int rtStatus = _SUCCESS; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - - static char sz8723RadioAFile[] = RTL8723_PHY_RADIO_A; - static char sz8723RadioBFile[] = RTL8723_PHY_RADIO_B; - char *pszRadioAFile, *pszRadioBFile; - - - pszRadioAFile = sz8723RadioAFile; - pszRadioBFile = sz8723RadioBFile; - - - //3//----------------------------------------------------------------- - //3// <2> Initialize RF - //3//----------------------------------------------------------------- - //for(eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++) - for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++) - { - - pPhyReg = &pHalData->PHYRegDef[eRFPath]; - - /*----Store original RFENV control type----*/ - switch(eRFPath) - { - case RF_PATH_A: - case RF_PATH_C: - u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV); - break; - case RF_PATH_B : - case RF_PATH_D: - u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV<<16); - break; - } - - /*----Set RF_ENV enable----*/ - PHY_SetBBReg(Adapter, pPhyReg->rfintfe, bRFSI_RFENV<<16, 0x1); - rtw_udelay_os(1);//PlatformStallExecution(1); - - /*----Set RF_ENV output high----*/ - PHY_SetBBReg(Adapter, pPhyReg->rfintfo, bRFSI_RFENV, 0x1); - rtw_udelay_os(1);//PlatformStallExecution(1); - - /* Set bit number of Address and Data for RF register */ - PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength, 0x0); // Set 1 to 4 bits for 8255 - rtw_udelay_os(1);//PlatformStallExecution(1); - - PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength, 0x0); // Set 0 to 12 bits for 8255 - rtw_udelay_os(1);//PlatformStallExecution(1); - - /*----Initialize RF fom connfiguration file----*/ - switch(eRFPath) - { - case RF_PATH_A: -#ifdef CONFIG_EMBEDDED_FWIMG - #ifdef CONFIG_PHY_SETTING_WITH_ODM - if(HAL_STATUS_FAILURE ==ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv,(ODM_RF_RADIO_PATH_E)eRFPath, (ODM_RF_RADIO_PATH_E)eRFPath)) - rtStatus= _FAIL; - #else - rtStatus= rtl8723a_PHY_ConfigRFWithHeaderFile(Adapter,(RF_RADIO_PATH_E)eRFPath); - #endif//#ifdef CONFIG_PHY_SETTING_WITH_ODM -#else - rtStatus = rtl8192c_PHY_ConfigRFWithParaFile(Adapter, pszRadioAFile, (RF_RADIO_PATH_E)eRFPath); -#endif//#ifdef CONFIG_EMBEDDED_FWIMG - break; - case RF_PATH_B: -#ifdef CONFIG_EMBEDDED_FWIMG - #ifdef CONFIG_PHY_SETTING_WITH_ODM - if(HAL_STATUS_FAILURE ==ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv,(ODM_RF_RADIO_PATH_E)eRFPath, (ODM_RF_RADIO_PATH_E)eRFPath)) - rtStatus= _FAIL; - #else - rtStatus = rtl8723a_PHY_ConfigRFWithHeaderFile(Adapter,(RF_RADIO_PATH_E)eRFPath); - #endif -#else - rtStatus = rtl8192c_PHY_ConfigRFWithParaFile(Adapter, pszRadioBFile, (RF_RADIO_PATH_E)eRFPath); -#endif - break; - case RF_PATH_C: - break; - case RF_PATH_D: - break; - } - - /*----Restore RFENV control type----*/; - switch(eRFPath) - { - case RF_PATH_A: - case RF_PATH_C: - PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV, u4RegValue); - break; - case RF_PATH_B : - case RF_PATH_D: - PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV<<16, u4RegValue); - break; - } - - if(rtStatus != _SUCCESS){ - //RT_TRACE(COMP_FPGA, DBG_LOUD, ("phy_RF6052_Config_ParaFile():Radio[%d] Fail!!", eRFPath)); - goto phy_RF6052_Config_ParaFile_Fail; - } - - } - - //RT_TRACE(COMP_INIT, DBG_LOUD, ("<---phy_RF6052_Config_ParaFile()\n")); - return rtStatus; - -phy_RF6052_Config_ParaFile_Fail: - return rtStatus; -} - - -int -PHY_RF6052_Config8723A( - IN PADAPTER Adapter) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - int rtStatus = _SUCCESS; - - // - // Initialize general global value - // - // TODO: Extend RF_PATH_C and RF_PATH_D in the future - if(pHalData->rf_type == RF_1T1R) - pHalData->NumTotalRFPath = 1; - else - pHalData->NumTotalRFPath = 2; - - // - // Config BB and RF - // - rtStatus = phy_RF6052_Config_ParaFile(Adapter); - return rtStatus; - -} - - -// -// ==> RF shadow Operation API Code Section!!! -// -/*----------------------------------------------------------------------------- - * Function: PHY_RFShadowRead - * PHY_RFShadowWrite - * PHY_RFShadowCompare - * PHY_RFShadowRecorver - * PHY_RFShadowCompareAll - * PHY_RFShadowRecorverAll - * PHY_RFShadowCompareFlagSet - * PHY_RFShadowRecorverFlagSet - * - * Overview: When we set RF register, we must write shadow at first. - * When we are running, we must compare shadow abd locate error addr. - * Decide to recorver or not. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/20/2008 MHC Create Version 0. - * - *---------------------------------------------------------------------------*/ -u32 -PHY_RFShadowRead( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset) -{ - return RF_Shadow[eRFPath][Offset].Value; - -} /* PHY_RFShadowRead */ - - -VOID -PHY_RFShadowWrite( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset, - IN u32 Data) -{ - RF_Shadow[eRFPath][Offset].Value = (Data & bRFRegOffsetMask); - RF_Shadow[eRFPath][Offset].Driver_Write = _TRUE; - -} /* PHY_RFShadowWrite */ - - -BOOLEAN -PHY_RFShadowCompare( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset) -{ - u32 reg; - // Check if we need to check the register - if (RF_Shadow[eRFPath][Offset].Compare == _TRUE) - { - reg = PHY_QueryRFReg(Adapter, eRFPath, Offset, bRFRegOffsetMask); - // Compare shadow and real rf register for 20bits!! - if (RF_Shadow[eRFPath][Offset].Value != reg) - { - // Locate error position. - RF_Shadow[eRFPath][Offset].ErrorOrNot = _TRUE; - //RT_TRACE(COMP_INIT, DBG_LOUD, - //("PHY_RFShadowCompare RF-%d Addr%02lx Err = %05lx\n", - //eRFPath, Offset, reg)); - } - return RF_Shadow[eRFPath][Offset].ErrorOrNot ; - } - return _FALSE; -} /* PHY_RFShadowCompare */ - - -VOID -PHY_RFShadowRecorver( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset) -{ - // Check if the address is error - if (RF_Shadow[eRFPath][Offset].ErrorOrNot == _TRUE) - { - // Check if we need to recorver the register. - if (RF_Shadow[eRFPath][Offset].Recorver == _TRUE) - { - PHY_SetRFReg(Adapter, eRFPath, Offset, bRFRegOffsetMask, - RF_Shadow[eRFPath][Offset].Value); - //RT_TRACE(COMP_INIT, DBG_LOUD, - //("PHY_RFShadowRecorver RF-%d Addr%02lx=%05lx", - //eRFPath, Offset, RF_Shadow[eRFPath][Offset].Value)); - } - } - -} /* PHY_RFShadowRecorver */ - - -VOID -PHY_RFShadowCompareAll( - IN PADAPTER Adapter) -{ - u32 eRFPath; - u32 Offset; - - for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++) - { - for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++) - { - PHY_RFShadowCompare(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset); - } - } - -} /* PHY_RFShadowCompareAll */ - - -VOID -PHY_RFShadowRecorverAll( - IN PADAPTER Adapter) -{ - u32 eRFPath; - u32 Offset; - - for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++) - { - for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++) - { - PHY_RFShadowRecorver(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset); - } - } - -} /* PHY_RFShadowRecorverAll */ - - -VOID -PHY_RFShadowCompareFlagSet( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset, - IN u8 Type) -{ - // Set True or False!!! - RF_Shadow[eRFPath][Offset].Compare = Type; - -} /* PHY_RFShadowCompareFlagSet */ - - -VOID -PHY_RFShadowRecorverFlagSet( - IN PADAPTER Adapter, - IN RF_RADIO_PATH_E eRFPath, - IN u32 Offset, - IN u8 Type) -{ - // Set True or False!!! - RF_Shadow[eRFPath][Offset].Recorver= Type; - -} /* PHY_RFShadowRecorverFlagSet */ - - -VOID -PHY_RFShadowCompareFlagSetAll( - IN PADAPTER Adapter) -{ - u32 eRFPath; - u32 Offset; - - for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++) - { - for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++) - { - // 2008/11/20 MH For S3S4 test, we only check reg 26/27 now!!!! - if (Offset != 0x26 && Offset != 0x27) - PHY_RFShadowCompareFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _FALSE); - else - PHY_RFShadowCompareFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _TRUE); - } - } - -} /* PHY_RFShadowCompareFlagSetAll */ - - -VOID -PHY_RFShadowRecorverFlagSetAll( - IN PADAPTER Adapter) -{ - u32 eRFPath; - u32 Offset; - - for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++) - { - for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++) - { - // 2008/11/20 MH For S3S4 test, we only check reg 26/27 now!!!! - if (Offset != 0x26 && Offset != 0x27) - PHY_RFShadowRecorverFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _FALSE); - else - PHY_RFShadowRecorverFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _TRUE); - } - } - -} /* PHY_RFShadowCompareFlagSetAll */ - -VOID -PHY_RFShadowRefresh( - IN PADAPTER Adapter) -{ - u32 eRFPath; - u32 Offset; - - for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++) - { - for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++) - { - RF_Shadow[eRFPath][Offset].Value = 0; - RF_Shadow[eRFPath][Offset].Compare = _FALSE; - RF_Shadow[eRFPath][Offset].Recorver = _FALSE; - RF_Shadow[eRFPath][Offset].ErrorOrNot = _FALSE; - RF_Shadow[eRFPath][Offset].Driver_Write = _FALSE; - } - } - -} /* PHY_RFShadowRead */ - -/* End of HalRf6052.c */ - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+/******************************************************************************
+ *
+ *
+ * Module: rtl8192c_rf6052.c ( Source C File)
+ *
+ * Note: Provide RF 6052 series relative API.
+ *
+ * Function:
+ *
+ * Export:
+ *
+ * Abbrev:
+ *
+ * History:
+ * Data Who Remark
+ *
+ * 09/25/2008 MHC Create initial version.
+ * 11/05/2008 MHC Add API for tw power setting.
+ *
+ *
+******************************************************************************/
+
+#define _RTL8723A_RF6052_C_
+
+#include <drv_conf.h>
+#include <osdep_service.h>
+#include <drv_types.h>
+#include <rtw_byteorder.h>
+
+#include <rtl8723a_hal.h>
+
+/*---------------------------Define Local Constant---------------------------*/
+// Define local structure for debug!!!!!
+typedef struct RF_Shadow_Compare_Map {
+ // Shadow register value
+ u32 Value;
+ // Compare or not flag
+ u8 Compare;
+ // Record If it had ever modified unpredicted
+ u8 ErrorOrNot;
+ // Recorver Flag
+ u8 Recorver;
+ //
+ u8 Driver_Write;
+}RF_SHADOW_T;
+/*---------------------------Define Local Constant---------------------------*/
+
+
+/*------------------------Define global variable-----------------------------*/
+/*------------------------Define global variable-----------------------------*/
+
+
+/*------------------------Define local variable------------------------------*/
+// 2008/11/20 MH For Debug only, RF
+//static RF_SHADOW_T RF_Shadow[RF6052_MAX_PATH][RF6052_MAX_REG] = {0};
+static RF_SHADOW_T RF_Shadow[RF6052_MAX_PATH][RF6052_MAX_REG];
+/*------------------------Define local variable------------------------------*/
+
+
+/*-----------------------------------------------------------------------------
+ * Function: RF_ChangeTxPath
+ *
+ * Overview: For RL6052, we must change some RF settign for 1T or 2T.
+ *
+ * Input: u2Byte DataRate // 0x80-8f, 0x90-9f
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 09/25/2008 MHC Create Version 0.
+ * Firmwaer support the utility later.
+ *
+ *---------------------------------------------------------------------------*/
+void rtl8192c_RF_ChangeTxPath( IN PADAPTER Adapter,
+ IN u16 DataRate)
+{
+// We do not support gain table change inACUT now !!!! Delete later !!!
+#if 0//(RTL92SE_FPGA_VERIFY == 0)
+ static u1Byte RF_Path_Type = 2; // 1 = 1T 2= 2T
+ static u4Byte tx_gain_tbl1[6]
+ = {0x17f50, 0x11f40, 0x0cf30, 0x08720, 0x04310, 0x00100};
+ static u4Byte tx_gain_tbl2[6]
+ = {0x15ea0, 0x10e90, 0x0c680, 0x08250, 0x04040, 0x00030};
+ u1Byte i;
+
+ if (RF_Path_Type == 2 && (DataRate&0xF) <= 0x7)
+ {
+ // Set TX SYNC power G2G3 loop filter
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TXPA_G2, bRFRegOffsetMask, 0x0f000);
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TXPA_G3, bRFRegOffsetMask, 0xeacf1);
+
+ // Change TX AGC gain table
+ for (i = 0; i < 6; i++)
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TX_AGC, bRFRegOffsetMask, tx_gain_tbl1[i]);
+
+ // Set PA to high value
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TXPA_G2, bRFRegOffsetMask, 0x01e39);
+ }
+ else if (RF_Path_Type == 1 && (DataRate&0xF) >= 0x8)
+ {
+ // Set TX SYNC power G2G3 loop filter
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TXPA_G2, bRFRegOffsetMask, 0x04440);
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TXPA_G3, bRFRegOffsetMask, 0xea4f1);
+
+ // Change TX AGC gain table
+ for (i = 0; i < 6; i++)
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TX_AGC, bRFRegOffsetMask, tx_gain_tbl2[i]);
+
+ // Set PA low gain
+ PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)RF_PATH_A,
+ RF_TXPA_G2, bRFRegOffsetMask, 0x01e19);
+ }
+#endif
+
+} /* RF_ChangeTxPath */
+
+
+/*-----------------------------------------------------------------------------
+ * Function: PHY_RF6052SetBandwidth()
+ *
+ * Overview: This function is called by SetBWModeCallback8190Pci() only
+ *
+ * Input: PADAPTER Adapter
+ * WIRELESS_BANDWIDTH_E Bandwidth //20M or 40M
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Note: For RF type 0222D
+ *---------------------------------------------------------------------------*/
+VOID
+rtl8192c_PHY_RF6052SetBandwidth(
+ IN PADAPTER Adapter,
+ IN HT_CHANNEL_WIDTH Bandwidth) //20M or 40M
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ switch(Bandwidth)
+ {
+ case HT_CHANNEL_WIDTH_20:
+ pHalData->RfRegChnlVal[0] = ((pHalData->RfRegChnlVal[0] & 0xfffff3ff) | 0x0400);
+ PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]);
+ break;
+
+ case HT_CHANNEL_WIDTH_40:
+ pHalData->RfRegChnlVal[0] = ((pHalData->RfRegChnlVal[0] & 0xfffff3ff));
+ PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]);
+ break;
+
+ default:
+ //RT_TRACE(COMP_DBG, DBG_LOUD, ("PHY_SetRF8225Bandwidth(): unknown Bandwidth: %#X\n",Bandwidth ));
+ break;
+ }
+
+}
+
+
+/*-----------------------------------------------------------------------------
+ * Function: PHY_RF6052SetCckTxPower
+ *
+ * Overview:
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 11/05/2008 MHC Simulate 8192series..
+ *
+ *---------------------------------------------------------------------------*/
+
+VOID
+rtl8192c_PHY_RF6052SetCckTxPower(
+ IN PADAPTER Adapter,
+ IN u8* pPowerlevel)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+ struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv;
+ //PMGNT_INFO pMgntInfo=&Adapter->MgntInfo;
+ u32 TxAGC[2]={0, 0}, tmpval=0;
+ BOOLEAN TurboScanOff = _FALSE;
+ u8 idx1, idx2;
+ u8* ptr;
+
+ // 2010/10/18 MH Accorsing to SD3 eechou's suggestion, we need to disable turbo scan for RU.
+ // Otherwise, external PA will be broken if power index > 0x20.
+#ifdef CONFIG_USB_HCI
+ if (pHalData->EEPROMRegulatory != 0 || pHalData->ExternalPA)
+#else
+ if (pHalData->EEPROMRegulatory != 0)
+#endif
+ {
+ //DbgPrint("TurboScanOff=1 EEPROMRegulatory=%d ExternalPA=%d\n", pHalData->EEPROMRegulatory, pHalData->ExternalPA);
+ TurboScanOff = _TRUE;
+ }
+
+ if(pmlmeext->sitesurvey_res.state == SCAN_PROCESS)
+ {
+ TxAGC[RF_PATH_A] = 0x3f3f3f3f;
+ TxAGC[RF_PATH_B] = 0x3f3f3f3f;
+
+ TurboScanOff = _TRUE;//disable turbo scan
+
+ if(TurboScanOff)
+ {
+ for(idx1=RF_PATH_A; idx1<=RF_PATH_B; idx1++)
+ {
+ TxAGC[idx1] =
+ pPowerlevel[idx1] | (pPowerlevel[idx1]<<8) |
+ (pPowerlevel[idx1]<<16) | (pPowerlevel[idx1]<<24);
+#ifdef CONFIG_USB_HCI
+ // 2010/10/18 MH For external PA module. We need to limit power index to be less than 0x20.
+ if (TxAGC[idx1] > 0x20 && pHalData->ExternalPA)
+ TxAGC[idx1] = 0x20;
+#endif
+ }
+ }
+ }
+ else
+ {
+// 20100427 Joseph: Driver dynamic Tx power shall not affect Tx power. It shall be determined by power training mechanism.
+// Currently, we cannot fully disable driver dynamic tx power mechanism because it is referenced by BT coexist mechanism.
+// In the future, two mechanism shall be separated from each other and maintained independantly. Thanks for Lanhsin's reminder.
+ if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level1)
+ {
+ TxAGC[RF_PATH_A] = 0x10101010;
+ TxAGC[RF_PATH_B] = 0x10101010;
+ }
+ else if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level2)
+ {
+ TxAGC[RF_PATH_A] = 0x00000000;
+ TxAGC[RF_PATH_B] = 0x00000000;
+ }
+ else
+ {
+ for(idx1=RF_PATH_A; idx1<=RF_PATH_B; idx1++)
+ {
+ TxAGC[idx1] =
+ pPowerlevel[idx1] | (pPowerlevel[idx1]<<8) |
+ (pPowerlevel[idx1]<<16) | (pPowerlevel[idx1]<<24);
+ }
+
+ if(pHalData->EEPROMRegulatory==0)
+ {
+ tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][6]) +
+ (pHalData->MCSTxPowerLevelOriginalOffset[0][7]<<8);
+ TxAGC[RF_PATH_A] += tmpval;
+
+ tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][14]) +
+ (pHalData->MCSTxPowerLevelOriginalOffset[0][15]<<24);
+ TxAGC[RF_PATH_B] += tmpval;
+ }
+ }
+ }
+
+ for(idx1=RF_PATH_A; idx1<=RF_PATH_B; idx1++)
+ {
+ ptr = (u8*)(&(TxAGC[idx1]));
+ for(idx2=0; idx2<4; idx2++)
+ {
+ if(*ptr > RF6052_MAX_TX_PWR)
+ *ptr = RF6052_MAX_TX_PWR;
+ ptr++;
+ }
+ }
+
+ // rf-A cck tx power
+ tmpval = TxAGC[RF_PATH_A]&0xff;
+ PHY_SetBBReg(Adapter, rTxAGC_A_CCK1_Mcs32, bMaskByte1, tmpval);
+ //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 1M (rf-A) = 0x%x (reg 0x%x)\n", tmpval, rTxAGC_A_CCK1_Mcs32));
+ tmpval = TxAGC[RF_PATH_A]>>8;
+ PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11, 0xffffff00, tmpval);
+ //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 2~11M (rf-A) = 0x%x (reg 0x%x)\n", tmpval, rTxAGC_B_CCK11_A_CCK2_11));
+
+ // rf-B cck tx power
+ tmpval = TxAGC[RF_PATH_B]>>24;
+ PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte0, tmpval);
+ //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 11M (rf-B) = 0x%x (reg 0x%x)\n", tmpval, rTxAGC_B_CCK11_A_CCK2_11));
+ tmpval = TxAGC[RF_PATH_B]&0x00ffffff;
+ PHY_SetBBReg(Adapter, rTxAGC_B_CCK1_55_Mcs32, 0xffffff00, tmpval);
+ //RTPRINT(FPHY, PHY_TXPWR, ("CCK PWR 1~5.5M (rf-B) = 0x%x (reg 0x%x)\n",
+ // tmpval, rTxAGC_B_CCK1_55_Mcs32));
+
+} /* PHY_RF6052SetCckTxPower */
+
+//
+// powerbase0 for OFDM rates
+// powerbase1 for HT MCS rates
+//
+static void getPowerBase(
+ IN PADAPTER Adapter,
+ IN u8* pPowerLevel,
+ IN u8 Channel,
+ IN OUT u32* OfdmBase,
+ IN OUT u32* MCSBase
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u32 powerBase0, powerBase1;
+ u8 Legacy_pwrdiff=0;
+ s8 HT20_pwrdiff=0;
+ u8 i, powerlevel[2];
+
+ for(i=0; i<2; i++)
+ {
+ powerlevel[i] = pPowerLevel[i];
+ Legacy_pwrdiff = pHalData->TxPwrLegacyHtDiff[i][Channel-1];
+ powerBase0 = powerlevel[i] + Legacy_pwrdiff;
+
+ powerBase0 = (powerBase0<<24) | (powerBase0<<16) |(powerBase0<<8) |powerBase0;
+ *(OfdmBase+i) = powerBase0;
+ //RTPRINT(FPHY, PHY_TXPWR, (" [OFDM power base index rf(%c) = 0x%x]\n", ((i==0)?'A':'B'), *(OfdmBase+i)));
+ }
+
+ for(i=0; i<2; i++)
+ {
+ //Check HT20 to HT40 diff
+ if(pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20)
+ {
+ HT20_pwrdiff = pHalData->TxPwrHt20Diff[i][Channel-1];
+ powerlevel[i] += HT20_pwrdiff;
+ }
+ powerBase1 = powerlevel[i];
+ powerBase1 = (powerBase1<<24) | (powerBase1<<16) |(powerBase1<<8) |powerBase1;
+ *(MCSBase+i) = powerBase1;
+ //RTPRINT(FPHY, PHY_TXPWR, (" [MCS power base index rf(%c) = 0x%x]\n", ((i==0)?'A':'B'), *(MCSBase+i)));
+ }
+}
+
+static void getTxPowerWriteValByRegulatory(
+ IN PADAPTER Adapter,
+ IN u8 Channel,
+ IN u8 index,
+ IN u32* powerBase0,
+ IN u32* powerBase1,
+ OUT u32* pOutWriteVal
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ struct dm_priv *pdmpriv = &pHalData->dmpriv;
+ u8 i, chnlGroup, pwr_diff_limit[4];
+ u32 writeVal, customer_limit, rf;
+
+ //
+ // Index 0 & 1= legacy OFDM, 2-5=HT_MCS rate
+ //
+ for(rf=0; rf<2; rf++)
+ {
+ switch(pHalData->EEPROMRegulatory)
+ {
+ case 0: // Realtek better performance
+ // increase power diff defined by Realtek for large power
+ chnlGroup = 0;
+ //RTPRINT(FPHY, PHY_TXPWR, ("MCSTxPowerLevelOriginalOffset[%d][%d] = 0x%x\n",
+ // chnlGroup, index, pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)]));
+ writeVal = pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)] +
+ ((index<2)?powerBase0[rf]:powerBase1[rf]);
+ //RTPRINT(FPHY, PHY_TXPWR, ("RTK better performance, writeVal(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal));
+ break;
+ case 1: // Realtek regulatory
+ // increase power diff defined by Realtek for regulatory
+ {
+ if(pHalData->pwrGroupCnt == 1)
+ chnlGroup = 0;
+ if(pHalData->pwrGroupCnt >= 3)
+ {
+ if(Channel <= 3)
+ chnlGroup = 0;
+ else if(Channel >= 4 && Channel <= 9)
+ chnlGroup = 1;
+ else if(Channel > 9)
+ chnlGroup = 2;
+
+ if(pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20)
+ chnlGroup++;
+ else
+ chnlGroup+=4;
+ }
+ //RTPRINT(FPHY, PHY_TXPWR, ("MCSTxPowerLevelOriginalOffset[%d][%d] = 0x%x\n",
+ //chnlGroup, index, pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)]));
+ writeVal = pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)] +
+ ((index<2)?powerBase0[rf]:powerBase1[rf]);
+ //RTPRINT(FPHY, PHY_TXPWR, ("Realtek regulatory, 20MHz, writeVal(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal));
+ }
+ break;
+ case 2: // Better regulatory
+ // don't increase any power diff
+ writeVal = ((index<2)?powerBase0[rf]:powerBase1[rf]);
+ //RTPRINT(FPHY, PHY_TXPWR, ("Better regulatory, writeVal(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal));
+ break;
+ case 3: // Customer defined power diff.
+ // increase power diff defined by customer.
+ chnlGroup = 0;
+ //RTPRINT(FPHY, PHY_TXPWR, ("MCSTxPowerLevelOriginalOffset[%d][%d] = 0x%x\n",
+ // chnlGroup, index, pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)]));
+
+ if (pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_40)
+ {
+ //RTPRINT(FPHY, PHY_TXPWR, ("customer's limit, 40MHz rf(%c) = 0x%x\n",
+ // ((rf==0)?'A':'B'), pHalData->PwrGroupHT40[rf][Channel-1]));
+ }
+ else
+ {
+ //RTPRINT(FPHY, PHY_TXPWR, ("customer's limit, 20MHz rf(%c) = 0x%x\n",
+ // ((rf==0)?'A':'B'), pHalData->PwrGroupHT20[rf][Channel-1]));
+ }
+ for (i=0; i<4; i++)
+ {
+ pwr_diff_limit[i] = (u8)((pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)]&(0x7f<<(i*8)))>>(i*8));
+ if (pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_40)
+ {
+ if(pwr_diff_limit[i] > pHalData->PwrGroupHT40[rf][Channel-1])
+ pwr_diff_limit[i] = pHalData->PwrGroupHT40[rf][Channel-1];
+ }
+ else
+ {
+ if(pwr_diff_limit[i] > pHalData->PwrGroupHT20[rf][Channel-1])
+ pwr_diff_limit[i] = pHalData->PwrGroupHT20[rf][Channel-1];
+ }
+ }
+ customer_limit = (pwr_diff_limit[3]<<24) | (pwr_diff_limit[2]<<16) |
+ (pwr_diff_limit[1]<<8) | (pwr_diff_limit[0]);
+ //RTPRINT(FPHY, PHY_TXPWR, ("Customer's limit rf(%c) = 0x%x\n", ((rf==0)?'A':'B'), customer_limit));
+
+ writeVal = customer_limit + ((index<2)?powerBase0[rf]:powerBase1[rf]);
+ //RTPRINT(FPHY, PHY_TXPWR, ("Customer, writeVal rf(%c)= 0x%x\n", ((rf==0)?'A':'B'), writeVal));
+ break;
+ default:
+ chnlGroup = 0;
+ writeVal = pHalData->MCSTxPowerLevelOriginalOffset[chnlGroup][index+(rf?8:0)] +
+ ((index<2)?powerBase0[rf]:powerBase1[rf]);
+ //RTPRINT(FPHY, PHY_TXPWR, ("RTK better performance, writeVal rf(%c) = 0x%x\n", ((rf==0)?'A':'B'), writeVal));
+ break;
+ }
+
+// 20100427 Joseph: Driver dynamic Tx power shall not affect Tx power. It shall be determined by power training mechanism.
+// Currently, we cannot fully disable driver dynamic tx power mechanism because it is referenced by BT coexist mechanism.
+// In the future, two mechanism shall be separated from each other and maintained independantly. Thanks for Lanhsin's reminder.
+
+ if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level1)
+ writeVal = 0x14141414;
+ else if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level2)
+ writeVal = 0x00000000;
+
+
+ // 20100628 Joseph: High power mode for BT-Coexist mechanism.
+ // This mechanism is only applied when Driver-Highpower-Mechanism is OFF.
+ if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_BT1)
+ {
+ //RTPRINT(FBT, BT_TRACE, ("Tx Power (-6)\n"));
+ writeVal = writeVal - 0x06060606;
+ }
+ else if(pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_BT2)
+ {
+ //RTPRINT(FBT, BT_TRACE, ("Tx Power (-0)\n"));
+ writeVal = writeVal;
+ }
+ *(pOutWriteVal+rf) = writeVal;
+ }
+}
+
+static void writeOFDMPowerReg(
+ IN PADAPTER Adapter,
+ IN u8 index,
+ IN u32* pValue
+ )
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u16 RegOffset_A[6] = { rTxAGC_A_Rate18_06, rTxAGC_A_Rate54_24,
+ rTxAGC_A_Mcs03_Mcs00, rTxAGC_A_Mcs07_Mcs04,
+ rTxAGC_A_Mcs11_Mcs08, rTxAGC_A_Mcs15_Mcs12};
+ u16 RegOffset_B[6] = { rTxAGC_B_Rate18_06, rTxAGC_B_Rate54_24,
+ rTxAGC_B_Mcs03_Mcs00, rTxAGC_B_Mcs07_Mcs04,
+ rTxAGC_B_Mcs11_Mcs08, rTxAGC_B_Mcs15_Mcs12};
+ u8 i, rf, pwr_val[4];
+ u32 writeVal;
+ u16 RegOffset;
+
+ for(rf=0; rf<2; rf++)
+ {
+ writeVal = pValue[rf];
+ for(i=0; i<4; i++)
+ {
+ pwr_val[i] = (u8)((writeVal & (0x7f<<(i*8)))>>(i*8));
+ if (pwr_val[i] > RF6052_MAX_TX_PWR)
+ pwr_val[i] = RF6052_MAX_TX_PWR;
+ }
+ writeVal = (pwr_val[3]<<24) | (pwr_val[2]<<16) |(pwr_val[1]<<8) |pwr_val[0];
+
+ if(rf == 0)
+ RegOffset = RegOffset_A[index];
+ else
+ RegOffset = RegOffset_B[index];
+
+ PHY_SetBBReg(Adapter, RegOffset, bMaskDWord, writeVal);
+ //RTPRINT(FPHY, PHY_TXPWR, ("Set 0x%x = %08x\n", RegOffset, writeVal));
+
+ // 201005115 Joseph: Set Tx Power diff for Tx power training mechanism.
+ if(((pHalData->rf_type == RF_2T2R) &&
+ (RegOffset == rTxAGC_A_Mcs15_Mcs12 || RegOffset == rTxAGC_B_Mcs15_Mcs12))||
+ ((pHalData->rf_type != RF_2T2R) &&
+ (RegOffset == rTxAGC_A_Mcs07_Mcs04 || RegOffset == rTxAGC_B_Mcs07_Mcs04)) )
+ {
+ writeVal = pwr_val[3];
+ if(RegOffset == rTxAGC_A_Mcs15_Mcs12 || RegOffset == rTxAGC_A_Mcs07_Mcs04)
+ RegOffset = 0xc90;
+ if(RegOffset == rTxAGC_B_Mcs15_Mcs12 || RegOffset == rTxAGC_B_Mcs07_Mcs04)
+ RegOffset = 0xc98;
+ for(i=0; i<3; i++)
+ {
+ if(i!=2)
+ writeVal = (writeVal>8)?(writeVal-8):0;
+ else
+ writeVal = (writeVal>6)?(writeVal-6):0;
+ rtw_write8(Adapter, (u32)(RegOffset+i), (u8)writeVal);
+ }
+ }
+ }
+}
+/*-----------------------------------------------------------------------------
+ * Function: PHY_RF6052SetOFDMTxPower
+ *
+ * Overview: For legacy and HY OFDM, we must read EEPROM TX power index for
+ * different channel and read original value in TX power register area from
+ * 0xe00. We increase offset and original value to be correct tx pwr.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 11/05/2008 MHC Simulate 8192 series method.
+ * 01/06/2009 MHC 1. Prevent Path B tx power overflow or underflow dure to
+ * A/B pwr difference or legacy/HT pwr diff.
+ * 2. We concern with path B legacy/HT OFDM difference.
+ * 01/22/2009 MHC Support new EPRO format from SD3.
+ *
+ *---------------------------------------------------------------------------*/
+VOID
+rtl8192c_PHY_RF6052SetOFDMTxPower(
+ IN PADAPTER Adapter,
+ IN u8* pPowerLevel,
+ IN u8 Channel)
+{
+ //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ u32 writeVal[2], powerBase0[2], powerBase1[2];
+ u8 index = 0;
+
+ getPowerBase(Adapter, pPowerLevel, Channel, &powerBase0[0], &powerBase1[0]);
+
+ for(index=0; index<6; index++)
+ {
+ getTxPowerWriteValByRegulatory(Adapter, Channel, index,
+ &powerBase0[0], &powerBase1[0], &writeVal[0]);
+
+ writeOFDMPowerReg(Adapter, index, &writeVal[0]);
+ }
+
+}
+
+
+static VOID
+phy_RF6052_Config_HardCode(
+ IN PADAPTER Adapter
+ )
+{
+
+ // Set Default Bandwidth to 20M
+ //Adapter->HalFunc .SetBWModeHandler(Adapter, HT_CHANNEL_WIDTH_20);
+
+ // TODO: Set Default Channel to channel one for RTL8225
+
+}
+
+static int
+phy_RF6052_Config_ParaFile(
+ IN PADAPTER Adapter
+ )
+{
+ u32 u4RegValue;
+ u8 eRFPath;
+ BB_REGISTER_DEFINITION_T *pPhyReg;
+
+ int rtStatus = _SUCCESS;
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+
+ static char sz8723RadioAFile[] = RTL8723_PHY_RADIO_A;
+ static char sz8723RadioBFile[] = RTL8723_PHY_RADIO_B;
+ char *pszRadioAFile, *pszRadioBFile;
+
+
+ pszRadioAFile = sz8723RadioAFile;
+ pszRadioBFile = sz8723RadioBFile;
+
+
+ //3//-----------------------------------------------------------------
+ //3// <2> Initialize RF
+ //3//-----------------------------------------------------------------
+ //for(eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++)
+ for(eRFPath = 0; eRFPath <pHalData->NumTotalRFPath; eRFPath++)
+ {
+
+ pPhyReg = &pHalData->PHYRegDef[eRFPath];
+
+ /*----Store original RFENV control type----*/
+ switch(eRFPath)
+ {
+ case RF_PATH_A:
+ case RF_PATH_C:
+ u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV);
+ break;
+ case RF_PATH_B :
+ case RF_PATH_D:
+ u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV<<16);
+ break;
+ }
+
+ /*----Set RF_ENV enable----*/
+ PHY_SetBBReg(Adapter, pPhyReg->rfintfe, bRFSI_RFENV<<16, 0x1);
+ rtw_udelay_os(1);//PlatformStallExecution(1);
+
+ /*----Set RF_ENV output high----*/
+ PHY_SetBBReg(Adapter, pPhyReg->rfintfo, bRFSI_RFENV, 0x1);
+ rtw_udelay_os(1);//PlatformStallExecution(1);
+
+ /* Set bit number of Address and Data for RF register */
+ PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength, 0x0); // Set 1 to 4 bits for 8255
+ rtw_udelay_os(1);//PlatformStallExecution(1);
+
+ PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength, 0x0); // Set 0 to 12 bits for 8255
+ rtw_udelay_os(1);//PlatformStallExecution(1);
+
+ /*----Initialize RF fom connfiguration file----*/
+ switch(eRFPath)
+ {
+ case RF_PATH_A:
+#ifdef CONFIG_EMBEDDED_FWIMG
+ #ifdef CONFIG_PHY_SETTING_WITH_ODM
+ if(HAL_STATUS_FAILURE ==ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv,(ODM_RF_RADIO_PATH_E)eRFPath, (ODM_RF_RADIO_PATH_E)eRFPath))
+ rtStatus= _FAIL;
+ #else
+ rtStatus= rtl8723a_PHY_ConfigRFWithHeaderFile(Adapter,(RF_RADIO_PATH_E)eRFPath);
+ #endif//#ifdef CONFIG_PHY_SETTING_WITH_ODM
+#else
+ rtStatus = rtl8192c_PHY_ConfigRFWithParaFile(Adapter, pszRadioAFile, (RF_RADIO_PATH_E)eRFPath);
+#endif//#ifdef CONFIG_EMBEDDED_FWIMG
+ break;
+ case RF_PATH_B:
+#ifdef CONFIG_EMBEDDED_FWIMG
+ #ifdef CONFIG_PHY_SETTING_WITH_ODM
+ if(HAL_STATUS_FAILURE ==ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv,(ODM_RF_RADIO_PATH_E)eRFPath, (ODM_RF_RADIO_PATH_E)eRFPath))
+ rtStatus= _FAIL;
+ #else
+ rtStatus = rtl8723a_PHY_ConfigRFWithHeaderFile(Adapter,(RF_RADIO_PATH_E)eRFPath);
+ #endif
+#else
+ rtStatus = rtl8192c_PHY_ConfigRFWithParaFile(Adapter, pszRadioBFile, (RF_RADIO_PATH_E)eRFPath);
+#endif
+ break;
+ case RF_PATH_C:
+ break;
+ case RF_PATH_D:
+ break;
+ }
+
+ /*----Restore RFENV control type----*/;
+ switch(eRFPath)
+ {
+ case RF_PATH_A:
+ case RF_PATH_C:
+ PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV, u4RegValue);
+ break;
+ case RF_PATH_B :
+ case RF_PATH_D:
+ PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV<<16, u4RegValue);
+ break;
+ }
+
+ if(rtStatus != _SUCCESS){
+ //RT_TRACE(COMP_FPGA, DBG_LOUD, ("phy_RF6052_Config_ParaFile():Radio[%d] Fail!!", eRFPath));
+ goto phy_RF6052_Config_ParaFile_Fail;
+ }
+
+ }
+
+ //RT_TRACE(COMP_INIT, DBG_LOUD, ("<---phy_RF6052_Config_ParaFile()\n"));
+ return rtStatus;
+
+phy_RF6052_Config_ParaFile_Fail:
+ return rtStatus;
+}
+
+
+int
+PHY_RF6052_Config8723A(
+ IN PADAPTER Adapter)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
+ int rtStatus = _SUCCESS;
+
+ //
+ // Initialize general global value
+ //
+ // TODO: Extend RF_PATH_C and RF_PATH_D in the future
+ if(pHalData->rf_type == RF_1T1R)
+ pHalData->NumTotalRFPath = 1;
+ else
+ pHalData->NumTotalRFPath = 2;
+
+ //
+ // Config BB and RF
+ //
+ rtStatus = phy_RF6052_Config_ParaFile(Adapter);
+ return rtStatus;
+
+}
+
+
+//
+// ==> RF shadow Operation API Code Section!!!
+//
+/*-----------------------------------------------------------------------------
+ * Function: PHY_RFShadowRead
+ * PHY_RFShadowWrite
+ * PHY_RFShadowCompare
+ * PHY_RFShadowRecorver
+ * PHY_RFShadowCompareAll
+ * PHY_RFShadowRecorverAll
+ * PHY_RFShadowCompareFlagSet
+ * PHY_RFShadowRecorverFlagSet
+ *
+ * Overview: When we set RF register, we must write shadow at first.
+ * When we are running, we must compare shadow abd locate error addr.
+ * Decide to recorver or not.
+ *
+ * Input: NONE
+ *
+ * Output: NONE
+ *
+ * Return: NONE
+ *
+ * Revised History:
+ * When Who Remark
+ * 11/20/2008 MHC Create Version 0.
+ *
+ *---------------------------------------------------------------------------*/
+u32
+PHY_RFShadowRead(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset)
+{
+ return RF_Shadow[eRFPath][Offset].Value;
+
+} /* PHY_RFShadowRead */
+
+
+VOID
+PHY_RFShadowWrite(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset,
+ IN u32 Data)
+{
+ RF_Shadow[eRFPath][Offset].Value = (Data & bRFRegOffsetMask);
+ RF_Shadow[eRFPath][Offset].Driver_Write = _TRUE;
+
+} /* PHY_RFShadowWrite */
+
+
+BOOLEAN
+PHY_RFShadowCompare(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset)
+{
+ u32 reg;
+ // Check if we need to check the register
+ if (RF_Shadow[eRFPath][Offset].Compare == _TRUE)
+ {
+ reg = PHY_QueryRFReg(Adapter, eRFPath, Offset, bRFRegOffsetMask);
+ // Compare shadow and real rf register for 20bits!!
+ if (RF_Shadow[eRFPath][Offset].Value != reg)
+ {
+ // Locate error position.
+ RF_Shadow[eRFPath][Offset].ErrorOrNot = _TRUE;
+ //RT_TRACE(COMP_INIT, DBG_LOUD,
+ //("PHY_RFShadowCompare RF-%d Addr%02lx Err = %05lx\n",
+ //eRFPath, Offset, reg));
+ }
+ return RF_Shadow[eRFPath][Offset].ErrorOrNot ;
+ }
+ return _FALSE;
+} /* PHY_RFShadowCompare */
+
+
+VOID
+PHY_RFShadowRecorver(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset)
+{
+ // Check if the address is error
+ if (RF_Shadow[eRFPath][Offset].ErrorOrNot == _TRUE)
+ {
+ // Check if we need to recorver the register.
+ if (RF_Shadow[eRFPath][Offset].Recorver == _TRUE)
+ {
+ PHY_SetRFReg(Adapter, eRFPath, Offset, bRFRegOffsetMask,
+ RF_Shadow[eRFPath][Offset].Value);
+ //RT_TRACE(COMP_INIT, DBG_LOUD,
+ //("PHY_RFShadowRecorver RF-%d Addr%02lx=%05lx",
+ //eRFPath, Offset, RF_Shadow[eRFPath][Offset].Value));
+ }
+ }
+
+} /* PHY_RFShadowRecorver */
+
+
+VOID
+PHY_RFShadowCompareAll(
+ IN PADAPTER Adapter)
+{
+ u32 eRFPath;
+ u32 Offset;
+
+ for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++)
+ {
+ for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++)
+ {
+ PHY_RFShadowCompare(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset);
+ }
+ }
+
+} /* PHY_RFShadowCompareAll */
+
+
+VOID
+PHY_RFShadowRecorverAll(
+ IN PADAPTER Adapter)
+{
+ u32 eRFPath;
+ u32 Offset;
+
+ for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++)
+ {
+ for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++)
+ {
+ PHY_RFShadowRecorver(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset);
+ }
+ }
+
+} /* PHY_RFShadowRecorverAll */
+
+
+VOID
+PHY_RFShadowCompareFlagSet(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset,
+ IN u8 Type)
+{
+ // Set True or False!!!
+ RF_Shadow[eRFPath][Offset].Compare = Type;
+
+} /* PHY_RFShadowCompareFlagSet */
+
+
+VOID
+PHY_RFShadowRecorverFlagSet(
+ IN PADAPTER Adapter,
+ IN RF_RADIO_PATH_E eRFPath,
+ IN u32 Offset,
+ IN u8 Type)
+{
+ // Set True or False!!!
+ RF_Shadow[eRFPath][Offset].Recorver= Type;
+
+} /* PHY_RFShadowRecorverFlagSet */
+
+
+VOID
+PHY_RFShadowCompareFlagSetAll(
+ IN PADAPTER Adapter)
+{
+ u32 eRFPath;
+ u32 Offset;
+
+ for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++)
+ {
+ for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++)
+ {
+ // 2008/11/20 MH For S3S4 test, we only check reg 26/27 now!!!!
+ if (Offset != 0x26 && Offset != 0x27)
+ PHY_RFShadowCompareFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _FALSE);
+ else
+ PHY_RFShadowCompareFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _TRUE);
+ }
+ }
+
+} /* PHY_RFShadowCompareFlagSetAll */
+
+
+VOID
+PHY_RFShadowRecorverFlagSetAll(
+ IN PADAPTER Adapter)
+{
+ u32 eRFPath;
+ u32 Offset;
+
+ for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++)
+ {
+ for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++)
+ {
+ // 2008/11/20 MH For S3S4 test, we only check reg 26/27 now!!!!
+ if (Offset != 0x26 && Offset != 0x27)
+ PHY_RFShadowRecorverFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _FALSE);
+ else
+ PHY_RFShadowRecorverFlagSet(Adapter, (RF_RADIO_PATH_E)eRFPath, Offset, _TRUE);
+ }
+ }
+
+} /* PHY_RFShadowCompareFlagSetAll */
+
+VOID
+PHY_RFShadowRefresh(
+ IN PADAPTER Adapter)
+{
+ u32 eRFPath;
+ u32 Offset;
+
+ for (eRFPath = 0; eRFPath < RF6052_MAX_PATH; eRFPath++)
+ {
+ for (Offset = 0; Offset <= RF6052_MAX_REG; Offset++)
+ {
+ RF_Shadow[eRFPath][Offset].Value = 0;
+ RF_Shadow[eRFPath][Offset].Compare = _FALSE;
+ RF_Shadow[eRFPath][Offset].Recorver = _FALSE;
+ RF_Shadow[eRFPath][Offset].ErrorOrNot = _FALSE;
+ RF_Shadow[eRFPath][Offset].Driver_Write = _FALSE;
+ }
+ }
+
+} /* PHY_RFShadowRead */
+
+/* End of HalRf6052.c */
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rxdesc.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rxdesc.c index a94370cd1a75..f030eb821291 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rxdesc.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_rxdesc.c @@ -245,7 +245,7 @@ void rtl8192c_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pp // (2)PWDB, Average PWDB cacluated by hardware (for rate adaptive) // - if(padapter->pwrctrlpriv.rf_pwrstate == rf_on) + if(adapter_to_pwrctl(padapter)->rf_pwrstate == rf_on) cck_highpwr = (u8)pHalData->bCckHighPower; else cck_highpwr = _FALSE; diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_sreset.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_sreset.c index 3edd244c0825..24028a36508d 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_sreset.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_sreset.c @@ -1,104 +1,111 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -#define _RTL8723A_SRESET_C_ - -#include <rtl8723a_sreset.h> -#include <rtl8723a_hal.h> - - -#ifdef DBG_CONFIG_ERROR_DETECT -void rtl8723a_sreset_xmit_status_check(_adapter *padapter) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - struct sreset_priv *psrtpriv = &pHalData->srestpriv; - - unsigned long current_time; - struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - unsigned int diff_time; - u32 txdma_status; - - - if( (txdma_status=rtw_read32(padapter, REG_TXDMA_STATUS)) !=0x00){ - DBG_871X("%s REG_TXDMA_STATUS:0x%08x\n", __FUNCTION__, txdma_status); - rtw_hal_sreset_reset(padapter); - } - -#ifdef CONFIG_USB_HCI - //total xmit irp = 4 - //DBG_8192C("==>%s free_xmitbuf_cnt(%d),txirp_cnt(%d)\n",__FUNCTION__,pxmitpriv->free_xmitbuf_cnt,pxmitpriv->txirp_cnt); - //if(pxmitpriv->txirp_cnt == NR_XMITBUFF+1) - current_time = rtw_get_current_time(); - - if(0 == pxmitpriv->free_xmitbuf_cnt || 0 == pxmitpriv->free_xmit_extbuf_cnt) { - - diff_time = rtw_get_passing_time_ms(psrtpriv->last_tx_time); - - if (diff_time > 2000) { - if (psrtpriv->last_tx_complete_time == 0) { - psrtpriv->last_tx_complete_time = current_time; - } - else{ - diff_time = rtw_get_passing_time_ms(psrtpriv->last_tx_complete_time); - if (diff_time > 4000) { - //padapter->Wifi_Error_Status = WIFI_TX_HANG; - DBG_871X("%s tx hang\n", __FUNCTION__); - rtw_hal_sreset_reset(padapter); - } - } - } - } -#endif // #ifdef CONFIG_USB_HCI - - if (psrtpriv->dbg_trigger_point == SRESET_TGP_XMIT_STATUS) { - psrtpriv->dbg_trigger_point = SRESET_TGP_NULL; - rtw_hal_sreset_reset(padapter); - return; - } -} - -void rtl8723a_sreset_linked_status_check(_adapter *padapter) -{ - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - struct sreset_priv *psrtpriv = &pHalData->srestpriv; -#if 0 - u32 regc50,regc58,reg824,reg800; - regc50 = rtw_read32(padapter,0xc50); - regc58 = rtw_read32(padapter,0xc58); - reg824 = rtw_read32(padapter,0x824); - reg800 = rtw_read32(padapter,0x800); - if( ((regc50&0xFFFFFF00)!= 0x69543400)|| - ((regc58&0xFFFFFF00)!= 0x69543400)|| - (((reg824&0xFFFFFF00)!= 0x00390000)&&(((reg824&0xFFFFFF00)!= 0x80390000)))|| - ( ((reg800&0xFFFFFF00)!= 0x03040000)&&((reg800&0xFFFFFF00)!= 0x83040000))) - { - DBG_8192C("%s regc50:0x%08x, regc58:0x%08x, reg824:0x%08x, reg800:0x%08x,\n", __FUNCTION__, - regc50, regc58, reg824, reg800); - rtw_hal_sreset_reset(padapter); - } -#endif - - if (psrtpriv->dbg_trigger_point == SRESET_TGP_LINK_STATUS) { - psrtpriv->dbg_trigger_point = SRESET_TGP_NULL; - rtw_hal_sreset_reset(padapter); - return; - } -} -#endif - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+#define _RTL8723A_SRESET_C_
+
+#include <rtl8723a_sreset.h>
+#include <rtl8723a_hal.h>
+
+
+#ifdef DBG_CONFIG_ERROR_DETECT
+void rtl8723a_sreset_xmit_status_check(_adapter *padapter)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ struct sreset_priv *psrtpriv = &pHalData->srestpriv;
+
+ unsigned long current_time;
+ struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
+ unsigned int diff_time;
+ u32 txdma_status;
+
+
+ if( (txdma_status=rtw_read32(padapter, REG_TXDMA_STATUS)) !=0x00){
+ DBG_871X("%s REG_TXDMA_STATUS:0x%08x\n", __FUNCTION__, txdma_status);
+ rtw_hal_sreset_reset(padapter);
+ }
+
+#ifdef CONFIG_USB_HCI
+ //total xmit irp = 4
+ //DBG_8192C("==>%s free_xmitbuf_cnt(%d),txirp_cnt(%d)\n",__FUNCTION__,pxmitpriv->free_xmitbuf_cnt,pxmitpriv->txirp_cnt);
+ //if(pxmitpriv->txirp_cnt == NR_XMITBUFF+1)
+ current_time = rtw_get_current_time();
+
+ if(0 == pxmitpriv->free_xmitbuf_cnt || 0 == pxmitpriv->free_xmit_extbuf_cnt) {
+
+ diff_time = rtw_get_passing_time_ms(psrtpriv->last_tx_time);
+
+ if (diff_time > 2000) {
+ if (psrtpriv->last_tx_complete_time == 0) {
+ psrtpriv->last_tx_complete_time = current_time;
+ }
+ else{
+ diff_time = rtw_get_passing_time_ms(psrtpriv->last_tx_complete_time);
+ if (diff_time > 4000) {
+ u32 ability;
+
+ //padapter->Wifi_Error_Status = WIFI_TX_HANG;
+ rtw_hal_get_def_var(padapter, HAL_DEF_DBG_DM_FUNC, &ability);
+
+ DBG_871X("%s tx hang %s\n", __FUNCTION__,
+ (ability & ODM_BB_ADAPTIVITY)? "ODM_BB_ADAPTIVITY" : "");
+
+ if (!(ability & ODM_BB_ADAPTIVITY))
+ rtw_hal_sreset_reset(padapter);
+ }
+ }
+ }
+ }
+#endif // #ifdef CONFIG_USB_HCI
+
+ if (psrtpriv->dbg_trigger_point == SRESET_TGP_XMIT_STATUS) {
+ psrtpriv->dbg_trigger_point = SRESET_TGP_NULL;
+ rtw_hal_sreset_reset(padapter);
+ return;
+ }
+}
+
+void rtl8723a_sreset_linked_status_check(_adapter *padapter)
+{
+ HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+ struct sreset_priv *psrtpriv = &pHalData->srestpriv;
+#if 0
+ u32 regc50,regc58,reg824,reg800;
+ regc50 = rtw_read32(padapter,0xc50);
+ regc58 = rtw_read32(padapter,0xc58);
+ reg824 = rtw_read32(padapter,0x824);
+ reg800 = rtw_read32(padapter,0x800);
+ if( ((regc50&0xFFFFFF00)!= 0x69543400)||
+ ((regc58&0xFFFFFF00)!= 0x69543400)||
+ (((reg824&0xFFFFFF00)!= 0x00390000)&&(((reg824&0xFFFFFF00)!= 0x80390000)))||
+ ( ((reg800&0xFFFFFF00)!= 0x03040000)&&((reg800&0xFFFFFF00)!= 0x83040000)))
+ {
+ DBG_8192C("%s regc50:0x%08x, regc58:0x%08x, reg824:0x%08x, reg800:0x%08x,\n", __FUNCTION__,
+ regc50, regc58, reg824, reg800);
+ rtw_hal_sreset_reset(padapter);
+ }
+#endif
+
+ if (psrtpriv->dbg_trigger_point == SRESET_TGP_LINK_STATUS) {
+ psrtpriv->dbg_trigger_point = SRESET_TGP_NULL;
+ rtw_hal_sreset_reset(padapter);
+ return;
+ }
+}
+#endif
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_xmit.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_xmit.c index d2dc99074f20..7f705a93c118 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_xmit.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/rtl8723a_xmit.c @@ -1,65 +1,65 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -#define _RTL8723A_XMIT_C_ - -#include <drv_conf.h> -#include <osdep_service.h> -#include <drv_types.h> -#include <rtl8723a_hal.h> - -#ifdef CONFIG_XMIT_ACK -void dump_txrpt_ccx_8723a(void *buf) -{ - struct txrpt_ccx_8723a *txrpt_ccx = buf; - - DBG_871X("%s:\n" - "tag1:%u, rsvd:%u, int_bt:%u, int_tri:%u, int_ccx:%u\n" - "mac_id:%u, pkt_drop:%u, pkt_ok:%u, bmc:%u\n" - "retry_cnt:%u, lifetime_over:%u, retry_over:%u\n" - "ccx_qtime:%u\n" - "final_data_rate:0x%02x\n" - "qsel:%u, sw:0x%03x\n" - , __func__ - , txrpt_ccx->tag1, txrpt_ccx->rsvd, txrpt_ccx->int_bt, txrpt_ccx->int_tri, txrpt_ccx->int_ccx - , txrpt_ccx->mac_id, txrpt_ccx->pkt_drop, txrpt_ccx->pkt_ok, txrpt_ccx->bmc - , txrpt_ccx->retry_cnt, txrpt_ccx->lifetime_over, txrpt_ccx->retry_over - , txrpt_ccx_qtime_8723a(txrpt_ccx) - , txrpt_ccx->final_data_rate - , txrpt_ccx->qsel, txrpt_ccx_sw_8723a(txrpt_ccx) - ); -} - -void handle_txrpt_ccx_8723a(_adapter *adapter, void *buf) -{ - struct txrpt_ccx_8723a *txrpt_ccx = buf; - - #ifdef DBG_CCX - dump_txrpt_ccx_8723a(buf); - #endif - - if (txrpt_ccx->int_ccx) { - if (txrpt_ccx->pkt_ok) - rtw_ack_tx_done(&adapter->xmitpriv, RTW_SCTX_DONE_SUCCESS); - else - rtw_ack_tx_done(&adapter->xmitpriv, RTW_SCTX_DONE_CCX_PKT_FAIL); - } -} -#endif //CONFIG_XMIT_ACK - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+#define _RTL8723A_XMIT_C_
+
+#include <drv_conf.h>
+#include <osdep_service.h>
+#include <drv_types.h>
+#include <rtl8723a_hal.h>
+
+#ifdef CONFIG_XMIT_ACK
+void dump_txrpt_ccx_8723a(void *buf)
+{
+ struct txrpt_ccx_8723a *txrpt_ccx = buf;
+
+ DBG_871X("%s:\n"
+ "tag1:%u, rsvd:%u, int_bt:%u, int_tri:%u, int_ccx:%u\n"
+ "mac_id:%u, pkt_drop:%u, pkt_ok:%u, bmc:%u\n"
+ "retry_cnt:%u, lifetime_over:%u, retry_over:%u\n"
+ "ccx_qtime:%u\n"
+ "final_data_rate:0x%02x\n"
+ "qsel:%u, sw:0x%03x\n"
+ , __func__
+ , txrpt_ccx->tag1, txrpt_ccx->rsvd, txrpt_ccx->int_bt, txrpt_ccx->int_tri, txrpt_ccx->int_ccx
+ , txrpt_ccx->mac_id, txrpt_ccx->pkt_drop, txrpt_ccx->pkt_ok, txrpt_ccx->bmc
+ , txrpt_ccx->retry_cnt, txrpt_ccx->lifetime_over, txrpt_ccx->retry_over
+ , txrpt_ccx_qtime_8723a(txrpt_ccx)
+ , txrpt_ccx->final_data_rate
+ , txrpt_ccx->qsel, txrpt_ccx_sw_8723a(txrpt_ccx)
+ );
+}
+
+void handle_txrpt_ccx_8723a(_adapter *adapter, void *buf)
+{
+ struct txrpt_ccx_8723a *txrpt_ccx = buf;
+
+ #ifdef DBG_CCX
+ dump_txrpt_ccx_8723a(buf);
+ #endif
+
+ if (txrpt_ccx->int_ccx) {
+ if (txrpt_ccx->pkt_ok)
+ rtw_ack_tx_done(&adapter->xmitpriv, RTW_SCTX_DONE_SUCCESS);
+ else
+ rtw_ack_tx_done(&adapter->xmitpriv, RTW_SCTX_DONE_CCX_PKT_FAIL);
+ }
+}
+#endif //CONFIG_XMIT_ACK
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_led.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_led.c index b7511deaf49f..597bb30261d8 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_led.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_led.c @@ -1,129 +1,129 @@ -/****************************************************************************** - * - * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - ******************************************************************************/ -#define _RTL8723AS_LED_C_ - -#include "drv_types.h" -#include "rtl8723a_hal.h" - -//================================================================================ -// LED object. -//================================================================================ - - -//================================================================================ -// Prototype of protected function. -//================================================================================ - -//================================================================================ -// LED_819xUsb routines. -//================================================================================ - -// -// Description: -// Turn on LED according to LedPin specified. -// -void -SwLedOn( - _adapter *padapter, - PLED_871x pLed -) -{ - u8 LedCfg; - //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - - if( (padapter->bSurpriseRemoved == _TRUE) || ( padapter->bDriverStopped == _TRUE)) - { - return; - } - - pLed->bLedOn = _TRUE; - -} - - -// -// Description: -// Turn off LED according to LedPin specified. -// -void -SwLedOff( - _adapter *padapter, - PLED_871x pLed -) -{ - u8 LedCfg; - //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); - - if((padapter->bSurpriseRemoved == _TRUE) || ( padapter->bDriverStopped == _TRUE)) - { - goto exit; - } - -exit: - pLed->bLedOn = _FALSE; - -} - -//================================================================================ -// Interface to manipulate LED objects. -//================================================================================ - -//================================================================================ -// Default LED behavior. -//================================================================================ - -// -// Description: -// Initialize all LED_871x objects. -// -void -rtl8723as_InitSwLeds( - _adapter *padapter - ) -{ - struct led_priv *pledpriv = &(padapter->ledpriv); - - pledpriv->LedControlHandler = LedControl871x; -#if 0 - - InitLed871x(padapter, &(pledpriv->SwLed0), LED_PIN_LED0); - - InitLed871x(padapter,&(pledpriv->SwLed1), LED_PIN_LED1); -#endif -} - - -// -// Description: -// DeInitialize all LED_819xUsb objects. -// -void -rtl8723as_DeInitSwLeds( - _adapter *padapter - ) -{ -#if 0 - struct led_priv *ledpriv = &(padapter->ledpriv); - - DeInitLed871x( &(ledpriv->SwLed0) ); - DeInitLed871x( &(ledpriv->SwLed1) ); -#endif -} - +/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+#define _RTL8723AS_LED_C_
+
+#include "drv_types.h"
+#include "rtl8723a_hal.h"
+
+//================================================================================
+// LED object.
+//================================================================================
+
+
+//================================================================================
+// Prototype of protected function.
+//================================================================================
+
+//================================================================================
+// LED_819xUsb routines.
+//================================================================================
+
+//
+// Description:
+// Turn on LED according to LedPin specified.
+//
+void
+SwLedOn(
+ _adapter *padapter,
+ PLED_871x pLed
+)
+{
+ u8 LedCfg;
+ //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+
+ if( (padapter->bSurpriseRemoved == _TRUE) || ( padapter->bDriverStopped == _TRUE))
+ {
+ return;
+ }
+
+ pLed->bLedOn = _TRUE;
+
+}
+
+
+//
+// Description:
+// Turn off LED according to LedPin specified.
+//
+void
+SwLedOff(
+ _adapter *padapter,
+ PLED_871x pLed
+)
+{
+ u8 LedCfg;
+ //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
+
+ if((padapter->bSurpriseRemoved == _TRUE) || ( padapter->bDriverStopped == _TRUE))
+ {
+ goto exit;
+ }
+
+exit:
+ pLed->bLedOn = _FALSE;
+
+}
+
+//================================================================================
+// Interface to manipulate LED objects.
+//================================================================================
+
+//================================================================================
+// Default LED behavior.
+//================================================================================
+
+//
+// Description:
+// Initialize all LED_871x objects.
+//
+void
+rtl8723as_InitSwLeds(
+ _adapter *padapter
+ )
+{
+ struct led_priv *pledpriv = &(padapter->ledpriv);
+
+ pledpriv->LedControlHandler = LedControl871x;
+#if 0
+
+ InitLed871x(padapter, &(pledpriv->SwLed0), LED_PIN_LED0);
+
+ InitLed871x(padapter,&(pledpriv->SwLed1), LED_PIN_LED1);
+#endif
+}
+
+
+//
+// Description:
+// DeInitialize all LED_819xUsb objects.
+//
+void
+rtl8723as_DeInitSwLeds(
+ _adapter *padapter
+ )
+{
+#if 0
+ struct led_priv *ledpriv = &(padapter->ledpriv);
+
+ DeInitLed871x( &(ledpriv->SwLed0) );
+ DeInitLed871x( &(ledpriv->SwLed1) );
+#endif
+}
+
diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_recv.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_recv.c index d2baae9e28ca..ad2066fe9610 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_recv.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_recv.c @@ -155,12 +155,7 @@ void update_recvframe_phyinfo( } pkt_info.Rate = pattrib->mcs_rate; - #ifdef CONFIG_CONCURRENT_MODE - //get Primary adapter's odmpriv - if(padapter->adapter_type > PRIMARY_ADAPTER){ - pHalData = GET_HAL_DATA(padapter->pbuddy_adapter); - } - #endif + //rtl8192c_query_rx_phy_status(precvframe, pphy_status); //_enter_critical_bh(&pHalData->odm_stainfo_lock, &irqL); ODM_PhyStatusQuery(&pHalData->odmpriv,pPHYInfo,(u8 *)pphy_status,&(pkt_info)); @@ -234,24 +229,24 @@ static s32 pre_recv_entry(union recv_frame *precvframe, struct recv_buf *precvbu _rtw_memcpy(&precvframe_if2->u.hdr.attrib, &precvframe->u.hdr.attrib, sizeof(struct rx_pkt_attrib)); pattrib = &precvframe_if2->u.hdr.attrib; - //driver need to set skb len for skb_copy(). - //If skb->len is zero, skb_copy() will not copy data from original skb. + //driver need to set skb len for rtw_skb_copy(). + //If skb->len is zero, rtw_skb_copy() will not copy data from original skb. skb_put(precvframe->u.hdr.pkt, pattrib->pkt_len); - pkt_copy = skb_copy( precvframe->u.hdr.pkt, GFP_ATOMIC); + pkt_copy = rtw_skb_copy(precvframe->u.hdr.pkt); if (pkt_copy == NULL) { if((pattrib->mfrag == 1)&&(pattrib->frag_num == 0)) { - DBG_8192C("pre_recv_entry(): skb_copy fail , drop frag frame \n"); + DBG_8192C("pre_recv_entry(): rtw_skb_copy fail , drop frag frame \n"); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); return ret; } - pkt_copy = skb_clone( precvframe->u.hdr.pkt, GFP_ATOMIC); + pkt_copy = rtw_skb_clone(precvframe->u.hdr.pkt); if(pkt_copy == NULL) { - DBG_8192C("pre_recv_entry(): skb_clone fail , drop frame\n"); + DBG_8192C("pre_recv_entry(): rtw_skb_clone fail , drop frame\n"); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); return ret; } @@ -330,9 +325,11 @@ void rtl8723as_recv(PADAPTER padapter, struct recv_buf *precvbuf) // fix Hardware RX data error, drop whole recv_buffer if ((!(pHalData->ReceiveConfig & RCR_ACRC32)) && pattrib->crc_err) { - #if !(MP_DRIVER==1) - DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); - #endif + if (padapter->registrypriv.mp_mode == 1) + padapter->mppriv.rx_crcerrpktcount++; + else + DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); + rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); break; } @@ -352,6 +349,7 @@ void rtl8723as_recv(PADAPTER padapter, struct recv_buf *precvbuf) if ((pattrib->crc_err) || (pattrib->icv_err)) { + if (padapter->registrypriv.mp_mode == 0) DBG_8192C("%s: crc_err=%d icv_err=%d, skip!\n", __FUNCTION__, pattrib->crc_err, pattrib->icv_err); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); } @@ -386,11 +384,8 @@ void rtl8723as_recv(PADAPTER padapter, struct recv_buf *precvbuf) alloc_sz += 14; } -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - pkt_copy = __dev_alloc_skb(alloc_sz, GFP_KERNEL); -#else - pkt_copy = __netdev_alloc_skb(padapter->pnetdev, alloc_sz, GFP_KERNEL); -#endif + pkt_copy = rtw_skb_alloc(alloc_sz); + if(pkt_copy) { pkt_copy->dev = padapter->pnetdev; @@ -411,7 +406,7 @@ void rtl8723as_recv(PADAPTER padapter, struct recv_buf *precvbuf) break; } - precvframe->u.hdr.pkt = skb_clone(precvbuf->pskb, GFP_ATOMIC); + precvframe->u.hdr.pkt = rtw_skb_clone(precvbuf->pskb); if(precvframe->u.hdr.pkt) { _pkt *pkt_clone = precvframe->u.hdr.pkt; @@ -424,7 +419,7 @@ void rtl8723as_recv(PADAPTER padapter, struct recv_buf *precvbuf) } else { - DBG_8192C("rtl8723as_recv_tasklet: skb_clone fail\n"); + DBG_8192C("rtl8723as_recv_tasklet: rtw_skb_clone fail\n"); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); break; } @@ -531,9 +526,11 @@ static void rtl8723as_recv_tasklet(void *priv) // fix Hardware RX data error, drop whole recv_buffer if ((!(pHalData->ReceiveConfig & RCR_ACRC32)) && pattrib->crc_err) { - #if !(MP_DRIVER==1) - DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); - #endif + if (padapter->registrypriv.mp_mode == 1) + padapter->mppriv.rx_crcerrpktcount++; + else + DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); + rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); break; } @@ -553,6 +550,7 @@ static void rtl8723as_recv_tasklet(void *priv) if ((pattrib->crc_err) || (pattrib->icv_err)) { + if (padapter->registrypriv.mp_mode == 0) DBG_8192C("%s: crc_err=%d icv_err=%d, skip!\n", __FUNCTION__, pattrib->crc_err, pattrib->icv_err); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); } @@ -587,11 +585,8 @@ static void rtl8723as_recv_tasklet(void *priv) alloc_sz += 14; } -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - pkt_copy = dev_alloc_skb(alloc_sz); -#else - pkt_copy = netdev_alloc_skb(padapter->pnetdev, alloc_sz); -#endif + pkt_copy = rtw_skb_alloc(alloc_sz); + if(pkt_copy) { pkt_copy->dev = padapter->pnetdev; @@ -612,7 +607,7 @@ static void rtl8723as_recv_tasklet(void *priv) break; } - precvframe->u.hdr.pkt = skb_clone(precvbuf->pskb, GFP_ATOMIC); + precvframe->u.hdr.pkt = rtw_skb_clone(precvbuf->pskb); if(precvframe->u.hdr.pkt) { _pkt *pkt_clone = precvframe->u.hdr.pkt; @@ -625,7 +620,7 @@ static void rtl8723as_recv_tasklet(void *priv) } else { - DBG_8192C("rtl8723as_recv_tasklet: skb_clone fail\n"); + DBG_8192C("rtl8723as_recv_tasklet: rtw_skb_clone fail\n"); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); break; } @@ -730,7 +725,10 @@ static void rtl8723as_recv_tasklet(void *priv) // fix Hardware RX data error, drop whole recv_buffer if ((!(pHalData->ReceiveConfig & RCR_ACRC32)) && pattrib->crc_err) { - DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); + if (padapter->registrypriv.mp_mode == 1) + padapter->mppriv.rx_crcerrpktcount++; + else + DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); break; } @@ -748,12 +746,13 @@ static void rtl8723as_recv_tasklet(void *priv) if ((pattrib->crc_err) || (pattrib->icv_err)) { + if (padapter->registrypriv.mp_mode == 0) DBG_8192C("%s: crc_err=%d icv_err=%d, skip!\n", __FUNCTION__, pattrib->crc_err, pattrib->icv_err); rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); } else { - ppkt = skb_clone(precvbuf->pskb, GFP_ATOMIC); + ppkt = rtw_skb_clone(precvbuf->pskb); if (ppkt == NULL) { RT_TRACE(_module_rtl871x_recv_c_, _drv_crit_, ("rtl8723as_recv_tasklet: no enough memory to allocate SKB!\n")); @@ -819,7 +818,7 @@ static void rtl8723as_recv_tasklet(void *priv) ptr = precvbuf->pdata; } - dev_kfree_skb_any(precvbuf->pskb); + rtw_skb_free(precvbuf->pskb); precvbuf->pskb = NULL; rtw_enqueue_recvbuf(precvbuf, &precvpriv->free_recv_buf_queue); } while (1); @@ -876,11 +875,7 @@ s32 rtl8723as_init_recv_priv(PADAPTER padapter) SIZE_PTR tmpaddr=0; SIZE_PTR alignment=0; -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - precvbuf->pskb = __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_KERNEL); -#else - precvbuf->pskb = __netdev_alloc_skb(padapter->pnetdev, MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_KERNEL); -#endif + precvbuf->pskb = rtw_skb_alloc(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); if(precvbuf->pskb) { diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_xmit.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_xmit.c index eb7e41af96c1..a07063a16bba 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_xmit.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/rtl8723as_xmit.c @@ -105,7 +105,13 @@ s32 rtl8723_dequeue_writeport(PADAPTER padapter, u8 *freePage) } // _exit_critical_bh(&phal->SdioTxFIFOFreePageLock, &irql); - ret = (padapter->bDriverStopped == _TRUE) || (padapter->bSurpriseRemoved == _TRUE); + ret = (padapter->bDriverStopped == _TRUE) || (padapter->bSurpriseRemoved == _TRUE) +#ifdef CONFIG_CONCURRENT_MODE + ||((padapter->pbuddy_adapter) + && ((padapter->pbuddy_adapter->bSurpriseRemoved) ||(padapter->pbuddy_adapter->bDriverStopped))) +#endif + ; + if (ret) { RT_TRACE(_module_hal_xmit_c_, _drv_notice_, ("%s: bSurpriseRemoved(update TX FIFO page)\n", __func__)); @@ -114,11 +120,27 @@ s32 rtl8723_dequeue_writeport(PADAPTER padapter, u8 *freePage) n++; //if ((n & 0x3FF) == 0) - if ((n % 2) == 0) + if ((n % 100) == 0) { - if (n > 5000) { + if (n >= 5000) { + u8 reg_value_1 = 0; + u8 reg_value_2 = 0; + u8 reg_value_3 = 0; + DBG_8192C(KERN_NOTICE "%s: FIFO starvation!(%d) len=%d agg=%d page=(R)%d(A)%d\n", __func__, n, pxmitbuf->len, pxmitbuf->agg_num, pxmitbuf->pg_num, freePage[PageIdx] + freePage[PUBLIC_QUEUE_IDX]); + + //try to recover the transmission + reg_value_1 = rtw_read8(padapter, REG_SYS_FUNC_EN); + reg_value_2 = rtw_read8(padapter, REG_CR); + reg_value_3 = rtw_read8(padapter, REG_TXPAUSE); + DBG_871X("Before recovery: REG_SYS_FUNC_EN = 0x%X, REG_CR = 0x%X, REG_TXPAUSE = 0x%X\n", reg_value_1, reg_value_2, reg_value_3); + + rtw_write8(padapter, REG_SYS_FUNC_EN, reg_value_1 | 0x01); + rtw_write8(padapter, REG_CR, reg_value_2 | 0xC0); + rtw_write8(padapter, REG_TXPAUSE, 0); + DBG_871X("After recovery: REG_SYS_FUNC_EN = 0x%X, REG_CR = 0x%X, REG_TXPAUSE = 0x%X\n", + rtw_read8(padapter, REG_SYS_FUNC_EN), rtw_read8(padapter, REG_CR), rtw_read8(padapter, REG_TXPAUSE)); } else { //RT_TRACE(_module_hal_xmit_c_, _drv_notice_, // ("%s: FIFO starvation!(%d) len=%d agg=%d page=(R)%d(A)%d\n", @@ -348,6 +370,7 @@ static s32 xmit_xmitframes(PADAPTER padapter, struct xmit_priv *pxmitpriv) if (ret == _FAIL) { RT_TRACE(_module_hal_xmit_c_, _drv_err_, ("%s: coalesce FAIL!", __FUNCTION__)); // Todo: error handler + DBG_871X("%s: coalesce FAIL!", __FUNCTION__); } else { k++; if (k != 1) @@ -421,16 +444,14 @@ static s32 xmit_xmitframes(PADAPTER padapter, struct xmit_priv *pxmitpriv) s32 rtl8723as_xmit_handler(PADAPTER padapter) { struct xmit_priv *pxmitpriv; - PHAL_DATA_TYPE phal; s32 ret; _irqL irql; pxmitpriv = &padapter->xmitpriv; - phal = GET_HAL_DATA(padapter); wait: - ret = _rtw_down_sema(&phal->SdioXmitSema); + ret = _rtw_down_sema(&pxmitpriv->SdioXmitSema); if (_FAIL == ret) { RT_TRACE(_module_hal_xmit_c_, _drv_emerg_, ("%s: down sema fail!\n", __FUNCTION__)); return _FAIL; @@ -475,13 +496,11 @@ thread_return rtl8723as_xmit_thread(thread_context context) { PADAPTER padapter; struct xmit_priv *pxmitpriv; - PHAL_DATA_TYPE phal; s32 ret; padapter = (PADAPTER)context; pxmitpriv = &padapter->xmitpriv; - phal = GET_HAL_DATA(padapter); ret = _SUCCESS; thread_enter("RTWHALXT"); @@ -493,7 +512,7 @@ thread_return rtl8723as_xmit_thread(thread_context context) } } while (_SUCCESS == ret); - _rtw_up_sema(&phal->SdioXmitTerminateSema); + _rtw_up_sema(&pxmitpriv->SdioXmitTerminateSema); RT_TRACE(_module_hal_xmit_c_, _drv_notice_, ("-%s\n", __FUNCTION__)); @@ -556,14 +575,12 @@ s32 rtl8723as_mgnt_xmit(PADAPTER padapter, struct xmit_frame *pmgntframe) s32 rtl8723as_hal_xmit(PADAPTER padapter, struct xmit_frame *pxmitframe) { struct xmit_priv *pxmitpriv; - PHAL_DATA_TYPE phal; _irqL irql; s32 err; pxmitframe->attrib.qsel = pxmitframe->attrib.priority; pxmitpriv = &padapter->xmitpriv; - phal = GET_HAL_DATA(padapter); #ifdef CONFIG_80211N_HT if ((pxmitframe->frame_tag == DATA_FRAMETAG) && @@ -589,7 +606,7 @@ s32 rtl8723as_hal_xmit(PADAPTER padapter, struct xmit_frame *pxmitframe) return _TRUE; } - _rtw_up_sema(&phal->SdioXmitSema); + _rtw_up_sema(&pxmitpriv->SdioXmitSema); return _FALSE; } @@ -597,7 +614,6 @@ s32 rtl8723as_hal_xmit(PADAPTER padapter, struct xmit_frame *pxmitframe) s32 rtl8723as_hal_xmitframe_enqueue(_adapter *padapter, struct xmit_frame *pxmitframe) { struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); s32 err; if ((err=rtw_xmitframe_enqueue(padapter, pxmitframe)) != _SUCCESS) @@ -613,7 +629,7 @@ s32 rtl8723as_hal_xmitframe_enqueue(_adapter *padapter, struct xmit_frame *pxmit #ifdef CONFIG_SDIO_TX_TASKLET tasklet_hi_schedule(&pxmitpriv->xmit_tasklet); #else - _rtw_up_sema(&pHalData->SdioXmitSema); + _rtw_up_sema(&pxmitpriv->SdioXmitSema); #endif } @@ -629,14 +645,15 @@ s32 rtl8723as_hal_xmitframe_enqueue(_adapter *padapter, struct xmit_frame *pxmit */ s32 rtl8723as_init_xmit_priv(PADAPTER padapter) { + struct xmit_priv *xmitpriv = &padapter->xmitpriv; PHAL_DATA_TYPE phal; phal = GET_HAL_DATA(padapter); _rtw_spinlock_init(&phal->SdioTxFIFOFreePageLock); - _rtw_init_sema(&phal->SdioXmitSema, 0); - _rtw_init_sema(&phal->SdioXmitTerminateSema, 0); + _rtw_init_sema(&xmitpriv->SdioXmitSema, 0); + _rtw_init_sema(&xmitpriv->SdioXmitTerminateSema, 0); return _SUCCESS; } diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_halinit.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_halinit.c index f02e85a9c44e..bd4429d3e11c 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_halinit.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_halinit.c @@ -823,7 +823,7 @@ static void _RfPowerSave(PADAPTER padapter) pHalData = GET_HAL_DATA(padapter); // pMgntInfo = &padapter->MgntInfo; - pwrctrlpriv = &padapter->pwrctrlpriv; + pwrctrlpriv = adapter_to_pwrctl(padapter); // // 2010/08/11 MH Merge from 8192SE for Minicard init. We need to confirm current radio status @@ -989,7 +989,7 @@ static BOOLEAN HalDetectPwrDownMode(PADAPTER Adapter) { u8 tmpvalue; HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv; + struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter); EFUSE_ShadowRead(Adapter, 1, 0x7B/*EEPROM_RF_OPT3_92C*/, (u32 *)&tmpvalue); @@ -1024,7 +1024,7 @@ static u32 rtl8723as_hal_init(PADAPTER padapter) pHalData = GET_HAL_DATA(padapter); - pwrctrlpriv = &padapter->pwrctrlpriv; + pwrctrlpriv = adapter_to_pwrctl(padapter); pregistrypriv = &padapter->registrypriv; is92C = IS_92C_SERIAL(pHalData->VersionID); @@ -1112,7 +1112,7 @@ static u32 rtl8723as_hal_init(PADAPTER padapter) } else #endif - rtw_write8(padapter, REG_EARLY_MODE_CONTROL, 0); + //rtw_write8(padapter, REG_EARLY_MODE_CONTROL, 0); #if (MP_DRIVER == 1) if (padapter->registrypriv.mp_mode == 1) @@ -1121,7 +1121,7 @@ static u32 rtl8723as_hal_init(PADAPTER padapter) //RT_TRACE(_module_hci_hal_init_c_, _drv_info_, ("%s: Don't Download Firmware!!\n", __FUNCTION__)); //padapter->bFWReady = _FALSE; } - else +// else #endif { ret = rtl8723a_FirmwareDownload(padapter); @@ -1841,7 +1841,7 @@ static u32 Hal_readPGDataFromConfigFile( temp[2] = 0; // add end of string '\0' - fp = filp_open("/system/etc/wifi/wifi_efuse.map", O_RDWR, 0644); + fp = filp_open("/system/etc/wifi/wifi_efuse.map", O_RDONLY, 0); if (IS_ERR(fp)) { pEEPROM->bloadfile_fail_flag = _TRUE; DBG_871X("Error, Efuse configure file doesn't exist.\n"); @@ -1981,6 +1981,11 @@ readAdapterInfo( Hal_InitChannelPlan(padapter); Hal_CustomizeByCustomerID_8723AS(padapter); +#ifdef CONFIG_RF_GAIN_OFFSET + Hal_ReadRFGainOffset(padapter, hwinfo, pEEPROM->bautoload_fail_flag); +#endif //CONFIG_RF_GAIN_OFFSET + + RT_TRACE(_module_hci_hal_init_c_, _drv_info_, ("<==== readpadapterInfo_8723S()\n")); } @@ -2102,6 +2107,9 @@ _func_enter_; switch (variable) { + case HW_VAR_GET_CPWM: + *val = rtw_read8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HCPWM1); + break; default: GetHwReg8723A(padapter, variable, val); break; @@ -2142,22 +2150,11 @@ GetHalDefVar8723ASDIO( case HAL_DEF_DBG_DUMP_RXPKT: *(( u8*)pValue) = pHalData->bDumpRxPkt; break; - case HAL_DEF_DBG_DM_FUNC: - *(( u32*)pValue) =pHalData->odmpriv.SupportAbility; - break; case HW_VAR_MAX_RX_AMPDU_FACTOR: *(( u32*)pValue) = MAX_AMPDU_FACTOR_64K; - break; - case HW_DEF_ODM_DBG_FLAG: - { - u8Byte DebugComponents = *((u32*)pValue); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - printk("pDM_Odm->DebugComponents = 0x%llx \n",pDM_Odm->DebugComponents ); - } break; default: - //RT_TRACE(COMP_INIT, DBG_WARNING, ("GetHalDefVar8723ASDIO(): Unkown variable: %d!\n", eVariable)); - bResult = _FAIL; + bResult = GetHalDefVar(Adapter, eVariable, pValue); break; } @@ -2222,27 +2219,8 @@ SetHalDefVar8723ASDIO( } } break; - case HW_DEF_FA_CNT_DUMP: - { - u8 bRSSIDump = *((u8*)pValue); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - if(bRSSIDump) - pDM_Odm->DebugComponents = ODM_COMP_DIG|ODM_COMP_FA_CNT ; - else - pDM_Odm->DebugComponents = 0; - - } - break; - case HW_DEF_ODM_DBG_FLAG: - { - u8Byte DebugComponents = *((u8Byte*)pValue); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - pDM_Odm->DebugComponents = DebugComponents; - } - break; default: - //RT_TRACE(COMP_INIT, DBG_TRACE, ("SetHalDefVar819xUsb(): Unkown variable: %d!\n", eVariable)); - bResult = _FAIL; + bResult = SetHalDefVar(Adapter, eVariable, pValue); break; } @@ -2263,10 +2241,7 @@ void UpdateHalRAMask8192CUsb(PADAPTER padapter, u32 mac_id, u8 rssi_level) struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); WLAN_BSSID_EX *cur_network = &(pmlmeinfo->network); -#ifdef CONFIG_CONCURRENT_MODE - if(rtw_buddy_adapter_up(padapter) && padapter->adapter_type > PRIMARY_ADAPTER) - pHalData = GET_HAL_DATA(padapter->pbuddy_adapter); -#endif //CONFIG_CONCURRENT_MODE + if (mac_id >= NUM_STA) //CAM_SIZE { @@ -2378,14 +2353,21 @@ void rtl8723as_set_hal_ops(PADAPTER padapter) _func_enter_; - //set hardware operation functions - padapter->HalData = rtw_zmalloc(sizeof(HAL_DATA_TYPE)); - if (padapter->HalData == NULL) { - RT_TRACE(_module_hci_hal_init_c_, _drv_err_, - ("can't alloc memory for HAL DATA\n")); + +#ifdef CONFIG_CONCURRENT_MODE + if(padapter->isprimary) +#endif //CONFIG_CONCURRENT_MODE + { + //set hardware operation functions + padapter->HalData = rtw_zmalloc(sizeof(HAL_DATA_TYPE)); + if(padapter->HalData == NULL){ + DBG_8192C("cant not alloc memory for HAL DATA \n"); + } } + + //_rtw_memset(padapter->HalData, 0, sizeof(HAL_DATA_TYPE)); + padapter->hal_data_sz = sizeof(HAL_DATA_TYPE); - padapter->hal_data_sz = sizeof(HAL_DATA_TYPE); rtl8723a_set_hal_ops(pHalFunc); diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_ops.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_ops.c index a5e60de92085..c319fb5ec643 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_ops.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/sdio/sdio_ops.c @@ -19,34 +19,12 @@ #define _SDIO_OPS_C_ #include <drv_types.h> +#include <sdio_ops.h> #include <rtl8723a_spec.h> #include <rtl8723a_hal.h> //#define SDIO_DEBUG_IO 1 -#define SDIO_ERR_VAL8 0xEA -#define SDIO_ERR_VAL16 0xEAEA -#define SDIO_ERR_VAL32 0xEAEAEAEA - -extern u8 sd_f0_read8(PSDIO_DATA psdio, u32 addr, s32 *err); -extern void sd_f0_write8(PSDIO_DATA psdio, u32 addr, s32 *err); - -extern s32 _sd_cmd52_read(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); -extern s32 _sd_cmd52_write(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); -extern s32 sd_cmd52_read(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); -extern s32 sd_cmd52_write(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); - -extern u8 sd_read8(PSDIO_DATA psdio, u32 addr, s32 *err); -extern u16 sd_read16(PSDIO_DATA psdio, u32 addr, s32 *err); -extern u32 sd_read32(PSDIO_DATA psdio, u32 addr, s32 *err); -extern s32 _sd_read(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); -extern s32 sd_read(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); -extern void sd_write8(PSDIO_DATA psdio, u32 addr, u8 v, s32 *err); -extern void sd_write16(PSDIO_DATA psdio, u32 addr, u16 v, s32 *err); -extern void sd_write32(PSDIO_DATA psdio, u32 addr, u32 v, s32 *err); -extern s32 _sd_write(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); -extern s32 sd_write(PSDIO_DATA psdio, u32 addr, u32 cnt, void *pdata); - // // Description: // The following mapping is for SDIO host local register space. @@ -183,18 +161,12 @@ static u32 _cvrt2ftaddr(const u32 addr, u8 *pdeviceId, u16 *poffset) u8 sdio_read8(struct intf_hdl *pintfhdl, u32 addr) { - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u32 ftaddr; u8 val; _func_enter_; - - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; - ftaddr = _cvrt2ftaddr(addr, NULL, NULL); - val = sd_read8(psdio, ftaddr, NULL); + val = sd_read8(pintfhdl, ftaddr, NULL); _func_exit_; @@ -203,18 +175,13 @@ _func_exit_; u16 sdio_read16(struct intf_hdl *pintfhdl, u32 addr) { - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u32 ftaddr; u16 val; _func_enter_; - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; - ftaddr = _cvrt2ftaddr(addr, NULL, NULL); - sd_cmd52_read(psdio, ftaddr, 2, (u8*)&val); + sd_cmd52_read(pintfhdl, ftaddr, 2, (u8*)&val); val = le16_to_cpu(val); _func_exit_; @@ -225,8 +192,6 @@ _func_exit_; u32 sdio_read32(struct intf_hdl *pintfhdl, u32 addr) { PADAPTER padapter; - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u8 bMacPwrCtrlOn; u8 deviceId; u16 offset; @@ -238,8 +203,6 @@ u32 sdio_read32(struct intf_hdl *pintfhdl, u32 addr) _func_enter_; padapter = pintfhdl->padapter; - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; ftaddr = _cvrt2ftaddr(addr, &deviceId, &offset); @@ -247,11 +210,11 @@ _func_enter_; if (((deviceId == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) || (_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { - err = sd_cmd52_read(psdio, ftaddr, 4, (u8*)&val); + err = sd_cmd52_read(pintfhdl, ftaddr, 4, (u8*)&val); #ifdef SDIO_DEBUG_IO if (!err) { #endif @@ -268,7 +231,7 @@ _func_enter_; // 4 bytes alignment shift = ftaddr & 0x3; if (shift == 0) { - val = sd_read32(psdio, ftaddr, NULL); + val = sd_read32(pintfhdl, ftaddr, NULL); } else { u8 *ptmpbuf; @@ -279,7 +242,7 @@ _func_enter_; } ftaddr &= ~(u16)0x3; - sd_read(psdio, ftaddr, 8, ptmpbuf); + sd_read(pintfhdl, ftaddr, 8, ptmpbuf); _rtw_memcpy(&val, ptmpbuf+shift, 4); val = le32_to_cpu(val); @@ -294,8 +257,6 @@ _func_exit_; s32 sdio_readN(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pbuf) { PADAPTER padapter; - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u8 bMacPwrCtrlOn; u8 deviceId; u16 offset; @@ -306,8 +267,6 @@ s32 sdio_readN(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pbuf) _func_enter_; padapter = pintfhdl->padapter; - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; err = 0; ftaddr = _cvrt2ftaddr(addr, &deviceId, &offset); @@ -316,18 +275,18 @@ _func_enter_; if (((deviceId == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) || (_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { - err = sd_cmd52_read(psdio, ftaddr, cnt, pbuf); + err = sd_cmd52_read(pintfhdl, ftaddr, cnt, pbuf); return err; } // 4 bytes alignment shift = ftaddr & 0x3; if (shift == 0) { - err = sd_read(psdio, ftaddr, cnt, pbuf); + err = sd_read(pintfhdl, ftaddr, cnt, pbuf); } else { u8 *ptmpbuf; u32 n; @@ -336,7 +295,7 @@ _func_enter_; n = cnt + shift; ptmpbuf = rtw_malloc(n); if (NULL == ptmpbuf) return -1; - err = sd_read(psdio, ftaddr, n, ptmpbuf); + err = sd_read(pintfhdl, ftaddr, n, ptmpbuf); if (!err) _rtw_memcpy(pbuf, ptmpbuf+shift, cnt); rtw_mfree(ptmpbuf, n); @@ -349,18 +308,13 @@ _func_exit_; s32 sdio_write8(struct intf_hdl *pintfhdl, u32 addr, u8 val) { - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u32 ftaddr; s32 err; _func_enter_; - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; - ftaddr = _cvrt2ftaddr(addr, NULL, NULL); - sd_write8(psdio, ftaddr, val, &err); + sd_write8(pintfhdl, ftaddr, val, &err); _func_exit_; @@ -369,20 +323,15 @@ _func_exit_; s32 sdio_write16(struct intf_hdl *pintfhdl, u32 addr, u16 val) { - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u32 ftaddr; u8 shift; s32 err; _func_enter_; - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; - ftaddr = _cvrt2ftaddr(addr, NULL, NULL); val = cpu_to_le16(val); - err = sd_cmd52_write(psdio, ftaddr, 2, (u8*)&val); + err = sd_cmd52_write(pintfhdl, ftaddr, 2, (u8*)&val); _func_exit_; @@ -392,8 +341,6 @@ _func_exit_; s32 sdio_write32(struct intf_hdl *pintfhdl, u32 addr, u32 val) { PADAPTER padapter; - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u8 bMacPwrCtrlOn; u8 deviceId; u16 offset; @@ -404,8 +351,6 @@ s32 sdio_write32(struct intf_hdl *pintfhdl, u32 addr, u32 val) _func_enter_; padapter = pintfhdl->padapter; - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; err = 0; ftaddr = _cvrt2ftaddr(addr, &deviceId, &offset); @@ -414,12 +359,12 @@ _func_enter_; if (((deviceId == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) || (_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { val = cpu_to_le32(val); - err = sd_cmd52_write(psdio, ftaddr, 4, (u8*)&val); + err = sd_cmd52_write(pintfhdl, ftaddr, 4, (u8*)&val); return err; } @@ -428,16 +373,16 @@ _func_enter_; #if 1 if (shift == 0) { - sd_write32(psdio, ftaddr, val, &err); + sd_write32(pintfhdl, ftaddr, val, &err); } else { val = cpu_to_le32(val); - err = sd_cmd52_write(psdio, ftaddr, 4, (u8*)&val); + err = sd_cmd52_write(pintfhdl, ftaddr, 4, (u8*)&val); } #else if (shift == 0) { - sd_write32(psdio, ftaddr, val, &err); + sd_write32(pintfhdl, ftaddr, val, &err); } else { u8 *ptmpbuf; @@ -445,14 +390,14 @@ _func_enter_; if (NULL == ptmpbuf) return (-1); ftaddr &= ~(u16)0x3; - err = sd_read(psdio, ftaddr, 8, ptmpbuf); + err = sd_read(pintfhdl, ftaddr, 8, ptmpbuf); if (err) { rtw_mfree(ptmpbuf, 8); return err; } val = cpu_to_le32(val); _rtw_memcpy(ptmpbuf+shift, &val, 4); - err = sd_write(psdio, ftaddr, 8, ptmpbuf); + err = sd_write(pintfhdl, ftaddr, 8, ptmpbuf); rtw_mfree(ptmpbuf, 8); } @@ -466,8 +411,6 @@ _func_exit_; s32 sdio_writeN(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8* pbuf) { PADAPTER padapter; - struct dvobj_priv *psdiodev; - PSDIO_DATA psdio; u8 bMacPwrCtrlOn; u8 deviceId; u16 offset; @@ -478,8 +421,6 @@ s32 sdio_writeN(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8* pbuf) _func_enter_; padapter = pintfhdl->padapter; - psdiodev = pintfhdl->pintf_dev; - psdio = &psdiodev->intf_data; err = 0; ftaddr = _cvrt2ftaddr(addr, &deviceId, &offset); @@ -488,17 +429,17 @@ _func_enter_; if (((deviceId == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) || (_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { - err = sd_cmd52_write(psdio, ftaddr, cnt, pbuf); + err = sd_cmd52_write(pintfhdl, ftaddr, cnt, pbuf); return err; } shift = ftaddr & 0x3; if (shift == 0) { - err = sd_write(psdio, ftaddr, cnt, pbuf); + err = sd_write(pintfhdl, ftaddr, cnt, pbuf); } else { u8 *ptmpbuf; u32 n; @@ -507,13 +448,13 @@ _func_enter_; n = cnt + shift; ptmpbuf = rtw_malloc(n); if (NULL == ptmpbuf) return -1; - err = sd_read(psdio, ftaddr, 4, ptmpbuf); + err = sd_read(pintfhdl, ftaddr, 4, ptmpbuf); if (err) { rtw_mfree(ptmpbuf, n); return err; } _rtw_memcpy(ptmpbuf+shift, pbuf, cnt); - err = sd_write(psdio, ftaddr, n, ptmpbuf); + err = sd_write(pintfhdl, ftaddr, n, ptmpbuf); rtw_mfree(ptmpbuf, n); } @@ -600,7 +541,7 @@ static u32 sdio_read_port( #endif } - err = _sd_read(psdio, addr, cnt, mem); + err = _sd_read(pintfhdl, addr, cnt, mem); #ifdef SDIO_DYNAMIC_ALLOC_MEM if ((oldcnt != cnt) && (oldmem)) { @@ -643,6 +584,12 @@ static u32 sdio_write_port( padapter = pintfhdl->padapter; psdio = &adapter_to_dvobj(padapter)->intf_data; + if(padapter->hw_init_completed == _FALSE) + { + DBG_871X("%s [addr=0x%x cnt=%d] padapter->hw_init_completed == _FALSE \n",__func__,addr,cnt); + return _FAIL; + } + cnt = _RND4(cnt); HalSdioGetCmdAddr8723ASdio(padapter, addr, cnt >> 2, &addr); @@ -650,7 +597,7 @@ static u32 sdio_write_port( cnt = _RND(cnt, psdio->block_transfer_len); // cnt = sdio_align_size(cnt); - err = sd_write(psdio, addr, cnt, xmitbuf->pdata); + err = sd_write(pintfhdl, addr, cnt, xmitbuf->pdata); rtw_sctx_done_err(&xmitbuf->sctx, err ? RTW_SCTX_DONE_WRITE_PORT_ERR : RTW_SCTX_DONE_SUCCESS); @@ -688,21 +635,20 @@ s32 _sdio_local_read( u32 cnt, u8 *pbuf) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u8 bMacPwrCtrlOn; s32 err; u8 *ptmpbuf; u32 n; - - psdio = &adapter_to_dvobj(padapter)->intf_data; - + pintfhdl=&padapter->iopriv.intf; + HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); rtw_hal_get_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn); if (_FALSE == bMacPwrCtrlOn) { - err = _sd_cmd52_read(psdio, addr, cnt, pbuf); + err = _sd_cmd52_read(pintfhdl, addr, cnt, pbuf); return err; } @@ -711,7 +657,7 @@ s32 _sdio_local_read( if (!ptmpbuf) return (-1); - err = _sd_read(psdio, addr, n, ptmpbuf); + err = _sd_read(pintfhdl, addr, n, ptmpbuf); if (!err) _rtw_memcpy(pbuf, ptmpbuf, cnt); @@ -730,25 +676,23 @@ s32 sdio_local_read( u32 cnt, u8 *pbuf) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u8 bMacPwrCtrlOn; s32 err; u8 *ptmpbuf; u32 n; - - psdio = &adapter_to_dvobj(padapter)->intf_data; - + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); rtw_hal_get_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn); if ((_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { - err = sd_cmd52_read(psdio, addr, cnt, pbuf); + err = sd_cmd52_read(pintfhdl, addr, cnt, pbuf); return err; } @@ -757,7 +701,7 @@ s32 sdio_local_read( if (!ptmpbuf) return (-1); - err = sd_read(psdio, addr, n, ptmpbuf); + err = sd_read(pintfhdl, addr, n, ptmpbuf); if (!err) _rtw_memcpy(pbuf, ptmpbuf, cnt); @@ -776,7 +720,7 @@ s32 _sdio_local_write( u32 cnt, u8 *pbuf) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u8 bMacPwrCtrlOn; s32 err; u8 *ptmpbuf; @@ -787,18 +731,17 @@ s32 _sdio_local_write( if(cnt & 0x3) DBG_8192C("%s, size must be the multiple of 4 \n", __FUNCTION__); - psdio = &adapter_to_dvobj(padapter)->intf_data; - + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); rtw_hal_get_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn); if ((_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { - err = _sd_cmd52_write(psdio, addr, cnt, pbuf); + err = _sd_cmd52_write(pintfhdl, addr, cnt, pbuf); return err; } @@ -808,7 +751,7 @@ s32 _sdio_local_write( _rtw_memcpy(ptmpbuf, pbuf, cnt); - err = _sd_write(psdio, addr, cnt, ptmpbuf); + err = _sd_write(pintfhdl, addr, cnt, ptmpbuf); if (ptmpbuf) rtw_mfree(ptmpbuf, cnt); @@ -825,7 +768,7 @@ s32 sdio_local_write( u32 cnt, u8 *pbuf) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u8 bMacPwrCtrlOn; s32 err; u8 *ptmpbuf; @@ -836,18 +779,18 @@ s32 sdio_local_write( if(cnt & 0x3) DBG_8192C("%s, size must be the multiple of 4 \n", __FUNCTION__); - psdio = &adapter_to_dvobj(padapter)->intf_data; - + pintfhdl=&padapter->iopriv.intf; + HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); rtw_hal_get_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn); if ((_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { - err = sd_cmd52_write(psdio, addr, cnt, pbuf); + err = sd_cmd52_write(pintfhdl, addr, cnt, pbuf); return err; } @@ -857,7 +800,7 @@ s32 sdio_local_write( _rtw_memcpy(ptmpbuf, pbuf, cnt); - err = sd_write(psdio, addr, cnt, ptmpbuf); + err = sd_write(pintfhdl, addr, cnt, ptmpbuf); if (ptmpbuf) rtw_mfree(ptmpbuf, cnt); @@ -867,26 +810,24 @@ s32 sdio_local_write( u8 SdioLocalCmd52Read1Byte(PADAPTER padapter, u32 addr) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u8 val = 0; - - psdio = &adapter_to_dvobj(padapter)->intf_data; + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); - sd_cmd52_read(psdio, addr, 1, &val); + sd_cmd52_read(pintfhdl, addr, 1, &val); return val; } u16 SdioLocalCmd52Read2Byte(PADAPTER padapter, u32 addr) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u16 val = 0; - - psdio = &adapter_to_dvobj(padapter)->intf_data; + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); - sd_cmd52_read(psdio, addr, 2, (u8*)&val); + sd_cmd52_read(pintfhdl, addr, 2, (u8*)&val); val = le16_to_cpu(val); @@ -895,13 +836,12 @@ u16 SdioLocalCmd52Read2Byte(PADAPTER padapter, u32 addr) u32 SdioLocalCmd52Read4Byte(PADAPTER padapter, u32 addr) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u32 val = 0; - - psdio = &adapter_to_dvobj(padapter)->intf_data; + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); - sd_cmd52_read(psdio, addr, 4, (u8*)&val); + sd_cmd52_read(pintfhdl, addr, 4, (u8*)&val); val = le32_to_cpu(val); @@ -910,60 +850,55 @@ u32 SdioLocalCmd52Read4Byte(PADAPTER padapter, u32 addr) u32 SdioLocalCmd53Read4Byte(PADAPTER padapter, u32 addr) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; u8 bMacPwrCtrlOn; - u32 val; + u32 val=0; - - val = 0; - psdio = &adapter_to_dvobj(padapter)->intf_data; + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); rtw_hal_get_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn); if ((_FALSE == bMacPwrCtrlOn) #ifdef CONFIG_LPS_LCLK - || (_TRUE == padapter->pwrctrlpriv.bFwCurrentInPSMode) + || (_TRUE == adapter_to_pwrctl(padapter)->bFwCurrentInPSMode) #endif ) { - sd_cmd52_read(psdio, addr, 4, (u8*)&val); + sd_cmd52_read(pintfhdl, addr, 4, (u8*)&val); val = le32_to_cpu(val); } else - val = sd_read32(psdio, addr, NULL); + val = sd_read32(pintfhdl, addr, NULL); return val; } void SdioLocalCmd52Write1Byte(PADAPTER padapter, u32 addr, u8 v) { - PSDIO_DATA psdio; - + struct intf_hdl * pintfhdl; - psdio = &adapter_to_dvobj(padapter)->intf_data; + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); - sd_cmd52_write(psdio, addr, 1, &v); + sd_cmd52_write(pintfhdl, addr, 1, &v); } void SdioLocalCmd52Write2Byte(PADAPTER padapter, u32 addr, u16 v) { - PSDIO_DATA psdio; + struct intf_hdl * pintfhdl; - - psdio = &adapter_to_dvobj(padapter)->intf_data; + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); v = cpu_to_le16(v); - sd_cmd52_write(psdio, addr, 2, (u8*)&v); + sd_cmd52_write(pintfhdl, addr, 2, (u8*)&v); } void SdioLocalCmd52Write4Byte(PADAPTER padapter, u32 addr, u32 v) { - PSDIO_DATA psdio; - + struct intf_hdl * pintfhdl; - psdio = &adapter_to_dvobj(padapter)->intf_data; + pintfhdl=&padapter->iopriv.intf; HalSdioGetCmdAddr8723ASdio(padapter, SDIO_LOCAL_DEVICE_ID, addr, &addr); v = cpu_to_le32(v); - sd_cmd52_write(psdio, addr, 4, (u8*)&v); + sd_cmd52_write(pintfhdl, addr, 4, (u8*)&v); } #if 0 @@ -1147,13 +1082,17 @@ void InitInterrupt8723ASdio(PADAPTER padapter) // SDIO_HIMR_TXBCNOK_MSK | // SDIO_HIMR_TXBCNERR_MSK | // SDIO_HIMR_BCNERLY_INT_MSK | +#ifndef CONFIG_DETECT_C2H_BY_POLLING #if defined( CONFIG_BT_COEXIST) || defined(CONFIG_MP_INCLUDED) SDIO_HIMR_C2HCMD_MSK | #endif +#endif +#ifndef CONFIG_DETECT_CPWM_BY_POLLING #ifdef CONFIG_LPS_LCLK SDIO_HIMR_CPWM1_MSK | // SDIO_HIMR_CPWM2_MSK | #endif +#endif // SDIO_HIMR_HSISR_IND_MSK | // SDIO_HIMR_GTINT3_IND_MSK | // SDIO_HIMR_GTINT4_IND_MSK | @@ -1412,11 +1351,8 @@ static struct recv_buf* sd_recv_rxfifo(PADAPTER padapter, u32 size) SIZE_PTR tmpaddr=0; SIZE_PTR alignment=0; -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - precvbuf->pskb = __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_KERNEL); -#else - precvbuf->pskb = __netdev_alloc_skb(padapter->pnetdev, MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_KERNEL); -#endif + precvbuf->pskb = rtw_skb_alloc(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); + if(precvbuf->pskb) { precvbuf->pskb->dev = padapter->pnetdev; @@ -1467,11 +1403,9 @@ static struct recv_buf* sd_recv_rxfifo(PADAPTER padapter, u32 size) //3 1. alloc skb // align to block size allocsize = _RND(readsize, adapter_to_dvobj(padapter)->intf_data.block_transfer_len); -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - ppkt = __dev_alloc_skb(allocsize, GFP_KERNEL); -#else - ppkt = __netdev_alloc_skb(padapter->pnetdev, allocsize, GFP_KERNEL); -#endif + + ppkt = rtw_skb_alloc(allocsize); + if (ppkt == NULL) { RT_TRACE(_module_hci_ops_os_c_, _drv_err_, ("%s: alloc_skb fail! alloc=%d read=%d\n", __FUNCTION__, allocsize, readsize)); return NULL; @@ -1482,7 +1416,7 @@ static struct recv_buf* sd_recv_rxfifo(PADAPTER padapter, u32 size) // rtw_read_port(padapter, WLAN_RX0FF_DEVICE_ID, readsize, preadbuf); ret = sdio_read_port(&padapter->iopriv.intf, WLAN_RX0FF_DEVICE_ID, readsize, preadbuf); if (ret == _FAIL) { - dev_kfree_skb_any(ppkt); + rtw_skb_free(ppkt); RT_TRACE(_module_hci_ops_os_c_, _drv_err_, ("%s: read port FAIL!\n", __FUNCTION__)); return NULL; } @@ -1491,7 +1425,7 @@ static struct recv_buf* sd_recv_rxfifo(PADAPTER padapter, u32 size) precvpriv = &padapter->recvpriv; precvbuf = rtw_dequeue_recvbuf(&precvpriv->free_recv_buf_queue); if (precvbuf == NULL) { - dev_kfree_skb_any(ppkt); + rtw_skb_free(ppkt); RT_TRACE(_module_hci_ops_os_c_, _drv_err_, ("%s: alloc recvbuf FAIL!\n", __FUNCTION__)); return NULL; } @@ -1538,6 +1472,7 @@ void sd_int_dpc(PADAPTER padapter) HAL_DATA_TYPE *phal; struct dvobj_priv *dvobj = adapter_to_dvobj(padapter); + struct intf_hdl * pintfhdl=&padapter->iopriv.intf; phal = GET_HAL_DATA(padapter); if (phal->sdio_hisr & SDIO_HISR_CPWM1) @@ -1546,14 +1481,14 @@ void sd_int_dpc(PADAPTER padapter) #ifdef CONFIG_LPS_RPWM_TIMER u8 bcancelled; - _cancel_timer(&padapter->pwrctrlpriv.pwr_rpwm_timer, &bcancelled); + _cancel_timer(&(adapter_to_pwrctl(padapter)->pwr_rpwm_timer), &bcancelled); #endif // CONFIG_LPS_RPWM_TIMER _sdio_local_read(padapter, SDIO_REG_HCPWM1, 1, &report.state); #ifdef CONFIG_LPS_LCLK //cpwm_int_hdl(padapter, &report); - _set_workitem(&padapter->pwrctrlpriv.cpwm_event); + _set_workitem(&(adapter_to_pwrctl(padapter)->cpwm_event)); #endif } @@ -1567,8 +1502,8 @@ void sd_int_dpc(PADAPTER padapter) { addr = REG_TXDMA_STATUS; HalSdioGetCmdAddr8723ASdio(padapter, WLAN_IOREG_DEVICE_ID, addr, &addr); - _sd_read(&dvobj->intf_data, addr, 4, status); - _sd_write(&dvobj->intf_data, addr, 4, status); + _sd_read(pintfhdl, addr, 4, status); + _sd_write(pintfhdl, addr, 4, status); DBG_8192C("%s: SDIO_HISR_TXERR (0x%08x)\n", __func__, le32_to_cpu(*(u32*)status)); rtw_mfree(status, 4); } else { @@ -1595,10 +1530,15 @@ void sd_int_dpc(PADAPTER padapter) if (c2h_id_filter_ccx_8723a(c2h_evt->id)) { /* Handle CCX report here */ rtw_hal_c2h_handler(padapter, c2h_evt); + rtw_mfree((u8*)c2h_evt, 16); } else { rtw_c2h_wk_cmd(padapter, (u8 *)c2h_evt); } } + else + { + rtw_mfree((u8*)c2h_evt, 16); + } } else { /* Error handling for malloc fail */ if (rtw_cbuf_push(padapter->evtpriv.c2h_queue, (void*)NULL) != _SUCCESS) diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_recv.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_recv.c index e09d04fdb8b9..330c41c8f044 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_recv.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_recv.c @@ -149,12 +149,7 @@ int rtl8192cu_init_recv_priv(_adapter *padapter) for(i=0; i<NR_PREALLOC_RECV_SKB; i++) { - - #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - pskb = __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_KERNEL); - #else - pskb = __netdev_alloc_skb(padapter->pnetdev, MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_KERNEL); - #endif + pskb = rtw_skb_alloc(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); if(pskb) { @@ -215,7 +210,7 @@ void rtl8192cu_free_recv_priv (_adapter *padapter) DBG_8192C(KERN_WARNING "rx_skb_queue not empty\n"); } - skb_queue_purge(&precvpriv->rx_skb_queue); + rtw_skb_queue_purge(&precvpriv->rx_skb_queue); #ifdef CONFIG_PREALLOC_RECV_SKB @@ -223,7 +218,7 @@ void rtl8192cu_free_recv_priv (_adapter *padapter) DBG_8192C(KERN_WARNING "free_recv_skb_queue not empty, %d\n", skb_queue_len(&precvpriv->free_recv_skb_queue)); } - skb_queue_purge(&precvpriv->free_recv_skb_queue); + rtw_skb_queue_purge(&precvpriv->free_recv_skb_queue); #endif @@ -340,13 +335,6 @@ void update_recvframe_phyinfo( } pkt_info.Rate = pattrib->mcs_rate; - #ifdef CONFIG_CONCURRENT_MODE - //get Primary adapter's odmpriv - if(padapter->adapter_type > PRIMARY_ADAPTER){ - pHalData = GET_HAL_DATA(padapter->pbuddy_adapter); - } - #endif - //rtl8192c_query_rx_phy_status(precvframe, pphy_status); //_enter_critical_bh(&pHalData->odm_stainfo_lock, &irqL); ODM_PhyStatusQuery(&pHalData->odmpriv,pPHYInfo,(u8 *)pphy_status,&(pkt_info)); diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_xmit.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_xmit.c index d53be6245199..1ab9bafb7338 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_xmit.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/rtl8723au_xmit.c @@ -673,15 +673,11 @@ s32 rtl8192cu_xmitframe_complete(_adapter *padapter, struct xmit_priv *pxmitpriv //pxmitframe->agg_num = 1; // alloc xmitframe should assign to 1. pxmitframe->pkt_offset = 1; // first frame of aggregation, reserve offset -#ifdef IDEA_CONDITION - rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe); -#else - res = rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe); - if (res == _FALSE) { -// rtw_free_xmitframe(pxmitpriv, pxmitframe); + if (rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe) == _FALSE) { + DBG_871X("%s coalesce 1st xmitframe failed \n",__FUNCTION__); continue; } -#endif + // always return ndis_packet after rtw_xmitframe_coalesce rtw_os_xmit_complete(padapter, pxmitframe); @@ -777,15 +773,12 @@ s32 rtl8192cu_xmitframe_complete(_adapter *padapter, struct xmit_priv *pxmitpriv pxmitframe->agg_num = 0; // not first frame of aggregation pxmitframe->pkt_offset = 0; // not first frame of aggregation, no need to reserve offset -#ifdef IDEA_CONDITION - rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe); -#else - res = rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe); - if (res == _FALSE) { + if (rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe) == _FALSE) { + DBG_871X("%s coalesce failed \n",__FUNCTION__); rtw_free_xmitframe(pxmitpriv, pxmitframe); continue; } -#endif + // always return ndis_packet after rtw_xmitframe_coalesce rtw_os_xmit_complete(padapter, pxmitframe); @@ -1112,7 +1105,7 @@ static void rtl8192cu_hostap_mgnt_xmit_cb(struct urb *urb) //DBG_8192C("%s\n", __FUNCTION__); - dev_kfree_skb_any(skb); + rtw_skb_free(skb); #endif } @@ -1145,11 +1138,7 @@ s32 rtl8192cu_hostap_mgnt_xmit_entry(_adapter *padapter, _pkt *pkt) if ((fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_MGMT) goto _exit; -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - pxmit_skb = dev_alloc_skb(len + TXDESC_SIZE); -#else - pxmit_skb = netdev_alloc_skb(pnetdev, len + TXDESC_SIZE); -#endif + pxmit_skb = rtw_skb_alloc(len + TXDESC_SIZE); if(!pxmit_skb) goto _exit; @@ -1230,7 +1219,7 @@ s32 rtl8192cu_hostap_mgnt_xmit_entry(_adapter *padapter, _pkt *pkt) _exit: - dev_kfree_skb_any(skb); + rtw_skb_free(skb); #endif diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_halinit.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_halinit.c index 2a200ff69d46..01726d1f5d40 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_halinit.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_halinit.c @@ -343,7 +343,10 @@ _InitQueueReservedPage( u8 value8; BOOLEAN bWiFiConfig = pregistrypriv->wifi_spec; //u32 txQPageNum, txQPageUnit,txQRemainPage; - + + if( (pregistrypriv->wifi_spec==_TRUE) ||(pregistrypriv->qos_opt_enable==_TRUE)) + bWiFiConfig = _TRUE; + { //for WMM //RT_ASSERT((outEPNum>=2), ("for WMM ,number of out-ep must more than or equal to 2!\n")); @@ -591,9 +594,11 @@ _InitHardwareDropIncorrectBulkOut( IN PADAPTER Adapter ) { +#ifdef ENABLE_USB_DROP_INCORRECT_OUT u32 value32 = rtw_read32(Adapter, REG_TXDMA_OFFSET_CHK); value32 |= DROP_DATA_EN; rtw_write32(Adapter, REG_TXDMA_OFFSET_CHK, value32); +#endif } static VOID @@ -1178,9 +1183,8 @@ static VOID _BBTurnOnBlock( #define MgntActSet_RF_State(...) static void _RfPowerSave(PADAPTER padapter) { -#if 0 - PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter); - struct pwrctrl_priv *ppwrctrl = &padapter->pwrctrlpriv; + PHAL_DATA_TYPE pHalData; + struct pwrctrl_priv *pwrctrl; rt_rf_power_state eRfPowerStateToSet; u8 u1bTmp; @@ -1188,6 +1192,10 @@ static void _RfPowerSave(PADAPTER padapter) #if (DISABLE_BB_RF) return; #endif + + pHalData = GET_HAL_DATA(padapter); + pwrctrl = adapter_to_pwrctl(padapter); + // // 2010/08/11 MH Merge from 8192SE for Minicard init. We need to confirm current radio status // and then decide to enable RF or not.!!!??? For Selective suspend mode. We may not @@ -1197,35 +1205,38 @@ static void _RfPowerSave(PADAPTER padapter) // in MgntActSet_RF_State() after wake up, because the value of pHalData->eRFPowerState // is the same as eRfOff, we should change it to eRfOn after we config RF parameters. // Added by tynli. 2010.03.30. - ppwrctrl->rf_pwrstate = rf_on; - RT_CLEAR_PS_LEVEL(ppwrctrl, RT_RF_OFF_LEVL_HALT_NIC); + pwrctrl->rf_pwrstate = rf_on; + RT_CLEAR_PS_LEVEL(pwrctrl, RT_RF_OFF_LEVL_HALT_NIC); //Added by chiyokolin, 2011.10.12 for Tx rtw_write8(padapter, REG_TXPAUSE, 0x00); // 20100326 Joseph: Copy from GPIOChangeRFWorkItemCallBack() function to check HW radio on/off. // 20100329 Joseph: Revise and integrate the HW/SW radio off code in initialization. - +#if 1 + pwrctrl->b_hw_radio_off = _FALSE; + eRfPowerStateToSet = rf_on; +#else eRfPowerStateToSet = (rt_rf_power_state) RfOnOffDetect(padapter); - ppwrctrl->rfoff_reason |= eRfPowerStateToSet==rf_on ? RF_CHANGE_BY_INIT : RF_CHANGE_BY_HW; - ppwrctrl->rfoff_reason |= (ppwrctrl->reg_rfoff) ? RF_CHANGE_BY_SW : 0; + pwrctrl->rfoff_reason |= eRfPowerStateToSet==rf_on ? RF_CHANGE_BY_INIT : RF_CHANGE_BY_HW; + pwrctrl->rfoff_reason |= (pwrctrl->reg_rfoff) ? RF_CHANGE_BY_SW : 0; - if (ppwrctrl->rfoff_reason & RF_CHANGE_BY_HW) - ppwrctrl->b_hw_radio_off = _TRUE; + if (pwrctrl->rfoff_reason & RF_CHANGE_BY_HW) + pwrctrl->b_hw_radio_off = _TRUE; - if (ppwrctrl->reg_rfoff == _TRUE) + if (pwrctrl->reg_rfoff == _TRUE) { // User disable RF via registry. - RT_TRACE(_module_hci_hal_init_c_, _drv_notice_, ("InitializeAdapter8192CUsb(): Turn off RF for RegRfOff.\n")); + RT_TRACE(_module_hci_hal_init_c_, _drv_notice_, ("%s: Turn off RF for RegRfOff\n", __FUNCTION__)); MgntActSet_RF_State(padapter, rf_off, RF_CHANGE_BY_SW, _TRUE); // if (padapter->bSlaveOfDMSP) // return; } - else if (ppwrctrl->rfoff_reason > RF_CHANGE_BY_PS) + else if (pwrctrl->rfoff_reason > RF_CHANGE_BY_PS) { // H/W or S/W RF OFF before sleep. RT_TRACE(_module_hci_hal_init_c_, _drv_notice_, ("InitializeAdapter8192CUsb(): Turn off RF for RfOffReason(%ld).\n", pMgntInfo->RfOffReason)); - MgntActSet_RF_State(padapter, rf_off, ppwrctrl->rfoff_reason, _TRUE); + MgntActSet_RF_State(padapter, rf_off, pwrctrl->rfoff_reason, _TRUE); } else { @@ -1252,22 +1263,23 @@ static void _RfPowerSave(PADAPTER padapter) else #endif { - ppwrctrl->rf_pwrstate = rf_off; - ppwrctrl->rfoff_reason = RF_CHANGE_BY_INIT; - MgntActSet_RF_State(padapter, rf_on, ppwrctrl->rfoff_reason, _TRUE); + pwrctrl->rf_pwrstate = rf_off; + pwrctrl->rfoff_reason = RF_CHANGE_BY_INIT; + MgntActSet_RF_State(padapter, rf_on, pwrctrl->rfoff_reason, _TRUE); } - ppwrctrl->rfoff_reason = 0; - ppwrctrl->b_hw_radio_off = _FALSE; - ppwrctrl->rf_pwrstate = rf_on; + pwrctrl->rfoff_reason = 0; + pwrctrl->b_hw_radio_off = _FALSE; + pwrctrl->rf_pwrstate = rf_on; if (padapter->ledpriv.LedControlHandler) padapter->ledpriv.LedControlHandler(padapter, LED_CTL_POWER_ON); } - +#endif // 2010/-8/09 MH For power down module, we need to enable register block contrl reg at 0x1c. // Then enable power down control bit of register 0x04 BIT4 and BIT15 as 1. if (pHalData->pwrdown && eRfPowerStateToSet == rf_off) { + DBG_871X("%s pwrdown\n", __FUNCTION__); // Enable register area 0x0-0xc. rtw_write8(padapter, REG_RSV_CTRL, 0x0); @@ -1280,7 +1292,6 @@ static void _RfPowerSave(PADAPTER padapter) u1bTmp |= WL_HWPDN_EN; rtw_write8(padapter, REG_MULTI_FUNC_CTRL, u1bTmp); } -#endif } enum { @@ -1298,7 +1309,7 @@ HalDetectPwrDownMode( { u8 tmpvalue; HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv; + struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter); EFUSE_ShadowRead(Adapter, 1, EEPROM_RF_OPT3, (u32 *)&tmpvalue); @@ -1423,7 +1434,7 @@ rt_rf_power_state RfOnOffDetect(IN PADAPTER pAdapter ) u8 val8; rt_rf_power_state rfpowerstate = rf_off; - if(pAdapter->pwrctrlpriv.bHWPowerdown) + if(adapter_to_pwrctl(pAdapter)->bHWPowerdown) { val8 = rtw_read8(pAdapter, REG_HSISR); DBG_8192C("pwrdown, 0x5c(BIT7)=%02x\n", val8); @@ -1446,7 +1457,7 @@ u32 rtl8723au_hal_init(PADAPTER Adapter) u8 val8 = 0; u32 boundary, status = _SUCCESS; HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); - struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv; + struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter); struct registry_priv *pregistrypriv = &Adapter->registrypriv; u8 is92C = IS_92C_SERIAL(pHalData->VersionID); rt_rf_power_state eRfPowerStateToSet; @@ -1530,7 +1541,7 @@ u32 rtl8723au_hal_init(PADAPTER Adapter) _func_enter_; HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_BEGIN); - if(Adapter->pwrctrlpriv.bkeepfwalive) + if(pwrctrlpriv->bkeepfwalive) { _ps_open_RF(Adapter); @@ -1825,13 +1836,15 @@ HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_MISC02); _InitAdhocWorkaroundParams(Adapter); #endif -#if ENABLE_USB_DROP_INCORRECT_OUT _InitHardwareDropIncorrectBulkOut(Adapter); -#endif #if defined(CONFIG_CONCURRENT_MODE) || defined(CONFIG_TX_MCAST2UNI) + +#ifdef CONFIG_CHECK_AC_LIFETIME // Enable lifetime check for the four ACs rtw_write8(Adapter, REG_LIFETIME_EN, 0x0F); +#endif // CONFIG_CHECK_AC_LIFETIME + #ifdef CONFIG_TX_MCAST2UNI rtw_write16(Adapter, REG_PKT_VO_VI_LIFE_TIME, 0x0400); // unit: 256us. 256ms rtw_write16(Adapter, REG_PKT_BE_BK_LIFE_TIME, 0x0400); // unit: 256us. 256ms @@ -2027,6 +2040,7 @@ phy_SsPwrSwitch92CU( IN int bRegSSPwrLvl ) { + struct pwrctrl_priv *pwrctl = adapter_to_pwrctl(Adapter); HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter); u8 value8; @@ -2152,9 +2166,9 @@ phy_SsPwrSwitch92CU( // (2)Reg878[21:19]= 0 //Turn off RF-B // (3) RegC04[7:4]= 0 // turn off all paths for packet detection // (4) Reg800[1] = 1 // enable preamble power saving - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_RF0] = PHY_QueryBBReg(Adapter, rFPGA0_XAB_RFParameter, bMaskDWord); - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_RF1] = PHY_QueryBBReg(Adapter, rOFDM0_TRxPathEnable, bMaskDWord); - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_RF2] = PHY_QueryBBReg(Adapter, rFPGA0_RFMOD, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_RF0] = PHY_QueryBBReg(Adapter, rFPGA0_XAB_RFParameter, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_RF1] = PHY_QueryBBReg(Adapter, rOFDM0_TRxPathEnable, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_RF2] = PHY_QueryBBReg(Adapter, rFPGA0_RFMOD, bMaskDWord); if (pHalData->rf_type == RF_2T2R) { PHY_SetBBReg(Adapter, rFPGA0_XAB_RFParameter, 0x380038, 0); @@ -2167,7 +2181,7 @@ phy_SsPwrSwitch92CU( PHY_SetBBReg(Adapter, rFPGA0_RFMOD, BIT1,1); // 2 .AFE control register to power down. bit[30:22] - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_AFE0] = PHY_QueryBBReg(Adapter, rRx_Wait_CCA, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_AFE0] = PHY_QueryBBReg(Adapter, rRx_Wait_CCA, bMaskDWord); if (pHalData->rf_type == RF_2T2R) PHY_SetBBReg(Adapter, rRx_Wait_CCA, bMaskDWord ,0x00DB25A0); else if (pHalData->rf_type == RF_1T1R) @@ -2216,9 +2230,9 @@ phy_SsPwrSwitch92CU( // (2)Reg878[21:19]= 0 //Turn off RF-B // (3) RegC04[7:4]= 0 // turn off all paths for packet detection // (4) Reg800[1] = 1 // enable preamble power saving - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_RF0] = PHY_QueryBBReg(Adapter, rFPGA0_XAB_RFParameter, bMaskDWord); - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_RF1] = PHY_QueryBBReg(Adapter, rOFDM0_TRxPathEnable, bMaskDWord); - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_RF2] = PHY_QueryBBReg(Adapter, rFPGA0_RFMOD, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_RF0] = PHY_QueryBBReg(Adapter, rFPGA0_XAB_RFParameter, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_RF1] = PHY_QueryBBReg(Adapter, rOFDM0_TRxPathEnable, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_RF2] = PHY_QueryBBReg(Adapter, rFPGA0_RFMOD, bMaskDWord); if (pHalData->rf_type == RF_2T2R) { PHY_SetBBReg(Adapter, rFPGA0_XAB_RFParameter, 0x380038, 0); @@ -2231,7 +2245,7 @@ phy_SsPwrSwitch92CU( PHY_SetBBReg(Adapter, rFPGA0_RFMOD, BIT1,1); // 2 .AFE control register to power down. bit[30:22] - Adapter->pwrctrlpriv.PS_BBRegBackup[PSBBREG_AFE0] = PHY_QueryBBReg(Adapter, rRx_Wait_CCA, bMaskDWord); + pwrctl->PS_BBRegBackup[PSBBREG_AFE0] = PHY_QueryBBReg(Adapter, rRx_Wait_CCA, bMaskDWord); if (pHalData->rf_type == RF_2T2R) PHY_SetBBReg(Adapter, rRx_Wait_CCA, bMaskDWord ,0x00DB25A0); else if (pHalData->rf_type == RF_1T1R) @@ -3153,33 +3167,35 @@ readAntennaDiversity( // Read HW power down mode selection static void _ReadPSSetting(IN PADAPTER Adapter,IN u8*PROMContent,IN u8 AutoloadFail) { + struct pwrctrl_priv *pwrctl = adapter_to_pwrctl(Adapter); + if(AutoloadFail){ - Adapter->pwrctrlpriv.bHWPowerdown = _FALSE; - Adapter->pwrctrlpriv.bSupportRemoteWakeup = _FALSE; + pwrctl->bHWPowerdown = _FALSE; + pwrctl->bSupportRemoteWakeup = _FALSE; } else { //if(SUPPORT_HW_RADIO_DETECT(Adapter)) - Adapter->pwrctrlpriv.bHWPwrPindetect = Adapter->registrypriv.hwpwrp_detect; + pwrctl->bHWPwrPindetect = Adapter->registrypriv.hwpwrp_detect; //else - //Adapter->pwrctrlpriv.bHWPwrPindetect = _FALSE;//dongle not support new + //pwrctl->bHWPwrPindetect = _FALSE;//dongle not support new //hw power down mode selection , 0:rf-off / 1:power down if(Adapter->registrypriv.hwpdn_mode==2) - Adapter->pwrctrlpriv.bHWPowerdown = (PROMContent[EEPROM_RF_OPT3] & BIT4); + pwrctl->bHWPowerdown = (PROMContent[EEPROM_RF_OPT3] & BIT4); else - Adapter->pwrctrlpriv.bHWPowerdown = Adapter->registrypriv.hwpdn_mode; + pwrctl->bHWPowerdown = Adapter->registrypriv.hwpdn_mode; // decide hw if support remote wakeup function // if hw supported, 8051 (SIE) will generate WeakUP signal( D+/D- toggle) when autoresume - Adapter->pwrctrlpriv.bSupportRemoteWakeup = (PROMContent[EEPROM_TEST_USB_OPT] & BIT1)?_TRUE :_FALSE; + pwrctl->bSupportRemoteWakeup = (PROMContent[EEPROM_TEST_USB_OPT] & BIT1)?_TRUE :_FALSE; //if(SUPPORT_HW_RADIO_DETECT(Adapter)) - //Adapter->registrypriv.usbss_enable = Adapter->pwrctrlpriv.bSupportRemoteWakeup ; + //Adapter->registrypriv.usbss_enable = pwrctl->bSupportRemoteWakeup ; DBG_8192C("%s...bHWPwrPindetect(%x)-bHWPowerdown(%x) ,bSupportRemoteWakeup(%x)\n",__FUNCTION__, - Adapter->pwrctrlpriv.bHWPwrPindetect,Adapter->pwrctrlpriv.bHWPowerdown ,Adapter->pwrctrlpriv.bSupportRemoteWakeup); + pwrctl->bHWPwrPindetect, pwrctl->bHWPowerdown, pwrctl->bSupportRemoteWakeup); DBG_8192C("### PS params=> power_mgnt(%x),usbss_enable(%x) ###\n",Adapter->registrypriv.power_mgnt,Adapter->registrypriv.usbss_enable); @@ -3651,6 +3667,9 @@ _func_enter_; switch (variable) { + case HW_VAR_GET_CPWM: + *val = rtw_read8(Adapter, REG_USB_HCPWM); + break; default: GetHwReg8723A(Adapter, variable, val); break; @@ -3700,22 +3719,11 @@ GetHalDefVar8192CUsb( case HAL_DEF_DBG_DUMP_RXPKT: *(( u8*)pValue) = pHalData->bDumpRxPkt; break; - case HAL_DEF_DBG_DM_FUNC: - *(( u32*)pValue) =pHalData->odmpriv.SupportAbility; - break; case HW_VAR_MAX_RX_AMPDU_FACTOR: *(( u32*)pValue) = MAX_AMPDU_FACTOR_64K; break; - case HW_DEF_ODM_DBG_FLAG: - { - u8Byte DebugComponents = *((u32*)pValue); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - printk("pDM_Odm->DebugComponents = 0x%llx \n",pDM_Odm->DebugComponents ); - } - break; default: - //RT_TRACE(COMP_INIT, DBG_WARNING, ("GetHalDefVar8192CUsb(): Unkown variable: %d!\n", eVariable)); - bResult = _FAIL; + bResult = GetHalDefVar(Adapter, eVariable, pValue); break; } @@ -3783,27 +3791,8 @@ SetHalDefVar8192CUsb( } } break; - case HW_DEF_FA_CNT_DUMP: - { - u8 bRSSIDump = *((u8*)pValue); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - if(bRSSIDump) - pDM_Odm->DebugComponents = ODM_COMP_DIG|ODM_COMP_FA_CNT ; - else - pDM_Odm->DebugComponents = 0; - - } - break; - case HW_DEF_ODM_DBG_FLAG: - { - u8Byte DebugComponents = *((u8Byte*)pValue); - PDM_ODM_T pDM_Odm = &(pHalData->odmpriv); - pDM_Odm->DebugComponents = DebugComponents; - } - break; default: - //RT_TRACE(COMP_INIT, DBG_TRACE, ("SetHalDefVar819xUsb(): Unkown variable: %d!\n", eVariable)); - bResult = _FAIL; + bResult = SetHalDefVar(Adapter, eVariable, pValue); break; } @@ -3857,10 +3846,6 @@ void UpdateHalRAMask8192CUsb(PADAPTER padapter, u32 mac_id,u8 rssi_level ) struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); WLAN_BSSID_EX *cur_network = &(pmlmeinfo->network); -#ifdef CONFIG_CONCURRENT_MODE - if(rtw_buddy_adapter_up(padapter) && padapter->adapter_type > PRIMARY_ADAPTER) - pHalData = GET_HAL_DATA(padapter->pbuddy_adapter); -#endif //CONFIG_CONCURRENT_MODE if (mac_id >= NUM_STA) //CAM_SIZE { @@ -4002,10 +3987,17 @@ void rtl8723au_set_hal_ops(_adapter * padapter) _func_enter_; - padapter->HalData = rtw_zmalloc(sizeof(HAL_DATA_TYPE)); - if(padapter->HalData == NULL){ - DBG_8192C("cant not alloc memory for HAL DATA \n"); +#ifdef CONFIG_CONCURRENT_MODE + if(padapter->isprimary) +#endif //CONFIG_CONCURRENT_MODE + { + //set hardware operation functions + padapter->HalData = rtw_zmalloc(sizeof(HAL_DATA_TYPE)); + if(padapter->HalData == NULL){ + DBG_8192C("cant not alloc memory for HAL DATA \n"); + } } + //_rtw_memset(padapter->HalData, 0, sizeof(HAL_DATA_TYPE)); padapter->hal_data_sz = sizeof(HAL_DATA_TYPE); diff --git a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_ops_linux.c b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_ops_linux.c index 78c429248a85..375e87f9b618 100755 --- a/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_ops_linux.c +++ b/drivers/net/wireless/rtl8723as/hal/rtl8723a/usb/usb_ops_linux.c @@ -66,8 +66,8 @@ static int usbctrl_vendorreq(struct intf_hdl *pintfhdl, u8 request, u16 value, u //DBG_871X("%s %s:%d\n",__FUNCTION__, current->comm, current->pid); - if((padapter->bSurpriseRemoved) ||(padapter->pwrctrlpriv.pnp_bstop_trx)){ - RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usbctrl_vendorreq:(padapter->bSurpriseRemoved ||adapter->pwrctrlpriv.pnp_bstop_trx)!!!\n")); + if((padapter->bSurpriseRemoved) ||(dvobj_to_pwrctl(pdvobjpriv)->pnp_bstop_trx)){ + RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usbctrl_vendorreq:(padapter->bSurpriseRemoved ||pwrctl->pnp_bstop_trx)!!!\n")); status = -EPERM; goto exit; } @@ -133,7 +133,7 @@ static int usbctrl_vendorreq(struct intf_hdl *pintfhdl, u8 request, u16 value, u if ( status == len) // Success this control transfer. { - rtw_reset_continual_urb_error(pdvobjpriv); + rtw_reset_continual_io_error(pdvobjpriv); if ( requesttype == 0x01 ) { // For Control read transfer, we have to copy the read data from pIo_buf to pdata. _rtw_memcpy( pdata, pIo_buf, len ); @@ -166,7 +166,7 @@ static int usbctrl_vendorreq(struct intf_hdl *pintfhdl, u8 request, u16 value, u } } - if(rtw_inc_and_chk_continual_urb_error(pdvobjpriv) == _TRUE ){ + if(rtw_inc_and_chk_continual_io_error(pdvobjpriv) == _TRUE ){ padapter->bSurpriseRemoved = _TRUE; break; } @@ -526,7 +526,7 @@ InterruptRecognized8723AU( if( ((pHalData->IntArray[0])&UHIMR_CPWM)){ // DBG_8192C("%s HIMR=0x%x\n",__func__,pHalData->IntArray[0]); //cpwm_int_hdl(Adapter, &report); - _set_workitem(&Adapter->pwrctrlpriv.cpwm_event); + _set_workitem(&(adapter_to_pwrctl(Adapter)->cpwm_event)); pHalData->IntArray[0]&= ~UHIMR_CPWM; // DBG_8192C("%s HIMR=0x%x\n",__func__,pHalData->IntArray[0]); } @@ -710,7 +710,10 @@ static int recvbuf2recvframe(_adapter *padapter, struct recv_buf *precvbuf) pattrib = &precvframe->u.hdr.attrib; if(pattrib->crc_err){ - DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); + if (padapter->registrypriv.mp_mode == 1) + padapter->mppriv.rx_crcerrpktcount++; + else + DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); rtw_free_recvframe(precvframe, pfree_recv_queue); goto _exit_recvbuf2recvframe; } @@ -754,11 +757,8 @@ static int recvbuf2recvframe(_adapter *padapter, struct recv_buf *precvbuf) alloc_sz += 14; } -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - pkt_copy = dev_alloc_skb(alloc_sz); -#else - pkt_copy = netdev_alloc_skb(padapter->pnetdev, alloc_sz); -#endif + pkt_copy = rtw_skb_alloc(alloc_sz); + if(pkt_copy) { pkt_copy->dev = padapter->pnetdev; @@ -773,7 +773,7 @@ static int recvbuf2recvframe(_adapter *padapter, struct recv_buf *precvbuf) else { DBG_8192C("recvbuf2recvframe:can not allocate memory for skb copy\n"); - //precvframe->u.hdr.pkt = skb_clone(pskb, GFP_ATOMIC); + //precvframe->u.hdr.pkt = rtw_skb_clone(pskb); //precvframe->u.hdr.rx_head = precvframe->u.hdr.rx_data = precvframe->u.hdr.rx_tail = pbuf; //precvframe->u.hdr.rx_end = pbuf + (pkt_offset>1612?pkt_offset:1612); @@ -879,7 +879,7 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) } else { - rtw_reset_continual_urb_error(adapter_to_dvobj(padapter)); + rtw_reset_continual_io_error(adapter_to_dvobj(padapter)); precvbuf->transfer_len = purb->actual_length; @@ -895,7 +895,7 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) DBG_8192C("###=> usb_read_port_complete => urb status(%d)\n", purb->status); - if(rtw_inc_and_chk_continual_urb_error(adapter_to_dvobj(padapter)) == _TRUE ){ + if(rtw_inc_and_chk_continual_io_error(adapter_to_dvobj(padapter)) == _TRUE ){ padapter->bSurpriseRemoved = _TRUE; } @@ -911,6 +911,9 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_read_port_complete:bDriverStopped=TRUE\n")); break; case -EPROTO: + case -EILSEQ: + case -ETIME: + case -ECOMM: case -EOVERFLOW: #ifdef DBG_CONFIG_ERROR_DETECT { @@ -949,9 +952,9 @@ static u32 usb_read_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem) _func_enter_; - if(adapter->bDriverStopped || adapter->bSurpriseRemoved ||adapter->pwrctrlpriv.pnp_bstop_trx) + if(adapter->bDriverStopped || adapter->bSurpriseRemoved ||dvobj_to_pwrctl(pdvobj)->pnp_bstop_trx) { - RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_read_port:( padapter->bDriverStopped ||padapter->bSurpriseRemoved ||adapter->pwrctrlpriv.pnp_bstop_trx)!!!\n")); + RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_read_port:( padapter->bDriverStopped ||padapter->bSurpriseRemoved ||pwrctl->pnp_bstop_trx)!!!\n")); return _FAIL; } @@ -1158,11 +1161,8 @@ static s32 pre_recv_entry(union recv_frame *precvframe, struct recv_stat *prxsta alloc_sz += 14; } -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - pkt_copy = dev_alloc_skb(alloc_sz); -#else - pkt_copy = netdev_alloc_skb(secondary_padapter->pnetdev, alloc_sz); -#endif + pkt_copy = rtw_skb_alloc(alloc_sz); + if(pkt_copy) { pkt_copy->dev = secondary_padapter->pnetdev; @@ -1257,7 +1257,10 @@ static int recvbuf2recvframe(_adapter *padapter, _pkt *pskb) pattrib = &precvframe->u.hdr.attrib; if(pattrib->crc_err){ - DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); + if (padapter->registrypriv.mp_mode == 1) + padapter->mppriv.rx_crcerrpktcount++; + else + DBG_8192C("%s()-%d: RX Warning! rx CRC ERROR !!\n", __FUNCTION__, __LINE__); rtw_free_recvframe(precvframe, pfree_recv_queue); goto _exit_recvbuf2recvframe; } @@ -1301,11 +1304,8 @@ static int recvbuf2recvframe(_adapter *padapter, _pkt *pskb) alloc_sz += 14; } -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - pkt_copy = dev_alloc_skb(alloc_sz); -#else - pkt_copy = netdev_alloc_skb(padapter->pnetdev, alloc_sz); -#endif + pkt_copy = rtw_skb_alloc(alloc_sz); + if(pkt_copy) { pkt_copy->dev = padapter->pnetdev; @@ -1326,7 +1326,7 @@ static int recvbuf2recvframe(_adapter *padapter, _pkt *pskb) goto _exit_recvbuf2recvframe; } - precvframe->u.hdr.pkt = skb_clone(pskb, GFP_ATOMIC); + precvframe->u.hdr.pkt = rtw_skb_clone(pskb); if(precvframe->u.hdr.pkt) { precvframe->u.hdr.rx_head = precvframe->u.hdr.rx_data = precvframe->u.hdr.rx_tail @@ -1335,7 +1335,7 @@ static int recvbuf2recvframe(_adapter *padapter, _pkt *pskb) } else { - DBG_8192C("recvbuf2recvframe: skb_clone fail\n"); + DBG_8192C("recvbuf2recvframe: rtw_skb_clone fail\n"); rtw_free_recvframe(precvframe, pfree_recv_queue); goto _exit_recvbuf2recvframe; } @@ -1406,7 +1406,7 @@ void rtl8192cu_recv_tasklet(void *priv) if ((padapter->bDriverStopped == _TRUE)||(padapter->bSurpriseRemoved== _TRUE)) { DBG_8192C("recv_tasklet => bDriverStopped or bSurpriseRemoved \n"); - dev_kfree_skb_any(pskb); + rtw_skb_free(pskb); break; } @@ -1421,7 +1421,7 @@ void rtl8192cu_recv_tasklet(void *priv) skb_queue_tail(&precvpriv->free_recv_skb_queue, pskb); #else - dev_kfree_skb_any(pskb); + rtw_skb_free(pskb); #endif } @@ -1461,7 +1461,7 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) #else if(precvbuf->pskb){ DBG_8192C("==> free skb(%p)\n",precvbuf->pskb); - dev_kfree_skb_any(precvbuf->pskb); + rtw_skb_free(precvbuf->pskb); } #endif DBG_8192C("%s()-%d: RX Warning! bDriverStopped(%d) OR bSurpriseRemoved(%d) bReadPortCancel(%d)\n", @@ -1480,7 +1480,7 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) } else { - rtw_reset_continual_urb_error(adapter_to_dvobj(padapter)); + rtw_reset_continual_io_error(adapter_to_dvobj(padapter)); precvbuf->transfer_len = purb->actual_length; skb_put(precvbuf->pskb, purb->actual_length); @@ -1500,7 +1500,7 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) DBG_8192C("###=> usb_read_port_complete => urb status(%d)\n", purb->status); - if(rtw_inc_and_chk_continual_urb_error(adapter_to_dvobj(padapter)) == _TRUE ){ + if(rtw_inc_and_chk_continual_io_error(adapter_to_dvobj(padapter)) == _TRUE ){ padapter->bSurpriseRemoved = _TRUE; } @@ -1516,6 +1516,9 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_read_port_complete:bDriverStopped=TRUE\n")); break; case -EPROTO: + case -EILSEQ: + case -ETIME: + case -ECOMM: case -EOVERFLOW: #ifdef DBG_CONFIG_ERROR_DETECT { @@ -1559,9 +1562,9 @@ static u32 usb_read_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem) _func_enter_; - if(adapter->bDriverStopped || adapter->bSurpriseRemoved ||adapter->pwrctrlpriv.pnp_bstop_trx) + if(adapter->bDriverStopped || adapter->bSurpriseRemoved ||dvobj_to_pwrctl(pdvobj)->pnp_bstop_trx) { - RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_read_port:( padapter->bDriverStopped ||padapter->bSurpriseRemoved ||adapter->pwrctrlpriv.pnp_bstop_trx)!!!\n")); + RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_read_port:( padapter->bDriverStopped ||padapter->bSurpriseRemoved ||pwrctl->pnp_bstop_trx)!!!\n")); return _FAIL; } @@ -1583,12 +1586,8 @@ _func_enter_; //re-assign for linux based on skb if((precvbuf->reuse == _FALSE) || (precvbuf->pskb == NULL)) { - //precvbuf->pskb = alloc_skb(MAX_RECVBUF_SZ, GFP_ATOMIC);//don't use this after v2.6.25 -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) // http://www.mail-archive.com/netdev@vger.kernel.org/msg17214.html - precvbuf->pskb = dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); -#else - precvbuf->pskb = netdev_alloc_skb(adapter->pnetdev, MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); -#endif + precvbuf->pskb = rtw_skb_alloc(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); + if(precvbuf->pskb == NULL) { RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("init_recvbuf(): alloc_skb fail!\n")); |