From 1a18ae504a5de470b79d0603d062b050859999b0 Mon Sep 17 00:00:00 2001 From: "sober.song" Date: Mon, 25 Dec 2023 15:41:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=8E=9F=E5=8E=82EMMC?= =?UTF-8?q?=E5=92=8CSD=E5=8D=A1=E5=85=BC=E5=AE=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dx/565_HUNTING_EVB_LINUX_4G_S550/DxCfg.c | 4 +- .../source/cardv/SrcCode/Gx/GxStrg/GxStrg.c | 6 +- .../cardv/SrcCode/Gx/GxStrg/GxStrgDevice.c | 2 +- .../cardv/SrcCode/Gx/GxStrg/GxStrgLnx.c | 83 +- .../source/cardv/SrcCode/PrjCfg_DVCam.h | 2 +- .../cardv/SrcCode/PrjCfg_HUNTING_S550.h | 13 +- .../source/cardv/SrcCode/System/SysMain.c | 41 +- .../source/cardv/SrcCode/System/SysMain_Exe.c | 46 +- .../source/cardv/SrcCode/System/SysMain_cmd.c | 22 +- .../source/cardv/SrcCode/System/SysStrg_Exe.c | 401 +++-- .../cardv/SrcCode/System/SysStrg_Exe.c.bak | 1593 +++++++++++++++++ .../UIApp/Background/UIBackgroundObj.c | 8 - .../UIApp/Background/UIBackgroundObj.h | 1 - .../SrcCode/UIApp/Movie/UIAppMovie_Exe.c | 66 +- .../SrcCode/UIApp/Photo/UIAppPhoto_Exe.c | 48 +- .../SrcCode/UIApp/UsbDisk/UIAppUsbDisk_Exe.c | 27 +- .../LVGL_SPORTCAM/Resource/Images/images.c | 576 ------ .../Resource/Languages/Language_DE.c | 2 - .../Resource/Languages/Language_EN.c | 4 +- .../Resource/Languages/Language_ES.c | 2 - .../Resource/Languages/Language_FR.c | 2 - .../Resource/Languages/Language_IT.c | 2 - .../Resource/Languages/Language_JP.c | 2 - .../Resource/Languages/Language_PO.c | 2 - .../Resource/Languages/Language_RU.c | 2 - .../Resource/Languages/Language_SC.c | 2 - .../Resource/Languages/Language_TC.c | 2 - .../UIFlowLVGL.UIFlowMenuCommonOption.lvglscr | 45 +- .../UIFlowLVGL.UIFlowMovie.lvglscr | 120 +- .../UIFlowLVGL.UIFlowPhoto.lvglscr | 32 +- .../UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvgllang | 28 +- .../UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvglp | 15 - .../UIFlowClose/UIFlowCloseEventCallback.c | 8 +- .../UIFlowClose/UIFlowCloseEventCallback.h | 7 +- .../LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.c | 5 - .../LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.h | 128 +- .../UIFlowMenuCommonConfirmEventCallback.c | 12 +- .../UIFlowMenuCommonItem/MenuGeneral.c | 49 +- .../UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h | 3 - .../UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c | 201 +-- .../UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h | 1 - .../UIFlowMenuCommonItem/MenuSend.c | 58 +- .../UIFlowMenuCommonItem/MenuSend.h | 4 +- .../UIFlowMenuCommonItemEventCallback.c | 70 +- .../UIFlowMenuCommonOption.c | 30 +- .../UIFlowMenuCommonOptionEventCallback.c | 590 +----- .../UIFlowLVGL/UIFlowMovie/UIFlowMovie.c | 118 +- .../UIFlowLVGL/UIFlowMovie/UIFlowMovie.h | 2 +- .../UIFlowMovie/UIFlowMovieEventCallback.c | 53 +- .../UIFlowPasswordEventCallback.c | 23 +- .../UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c | 108 +- .../UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h | 2 +- .../UIFlowPhoto/UIFlowPhotoEventCallback.c | 174 +- .../UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c | 8 +- .../UIFlowPlay/UIFlowPlayEventCallback.c | 36 +- .../UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c | 57 +- .../UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h | 2 +- .../UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c | 16 +- .../UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h | 2 - 59 files changed, 2501 insertions(+), 2467 deletions(-) create mode 100755 code/application/source/cardv/SrcCode/System/SysStrg_Exe.c.bak diff --git a/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/DxCfg.c b/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/DxCfg.c index 5a39261e8..6ffd2ba1d 100755 --- a/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/DxCfg.c +++ b/code/application/source/cardv/SrcCode/Dx/565_HUNTING_EVB_LINUX_4G_S550/DxCfg.c @@ -110,13 +110,13 @@ DX_HANDLE Dx_GetObject(UINT32 DxClassType) // Query device object hDevice = (UINT32)(&gDevEmbMem7); } else if ((DxClassType & DX_TYPE_MASK) == DX_TYPE_EMBMEM8) { hDevice = (UINT32)(&gDevEmbMem8); - DBG_ERR("DX_TYPE_EMBMEM8 hDevice = %lx\n", hDevice); + DBG_IND("DX_TYPE_EMBMEM8 hDevice = %lx\n", hDevice); } #endif #if !defined(_CARD1_NONE_) if ((DxClassType & DX_TYPE_MASK) == DX_TYPE_CARD1) { hDevice = (UINT32)(&gDevCARD1); - DBG_ERR("DX_TYPE_CARD1 hDevice = %lx\n", hDevice); + DBG_IND("DX_TYPE_CARD1 hDevice = %lx\n", hDevice); } #endif #if !defined(_CARD3_NONE_) diff --git a/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrg.c b/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrg.c index 822eda4e2..54f0f1145 100755 --- a/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrg.c +++ b/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrg.c @@ -47,6 +47,7 @@ BOOL GxStrg_OpenDevice(UINT32 DevID, DX_HANDLE NewStrgDXH) return FALSE; } + DBG_WRN("FileSys_OpenEx %c\n", GXSTRG_ID2DRV(DevID)); if (FileSys_OpenEx(GXSTRG_ID2DRV(DevID), (FS_HANDLE)NewStrgDXH, &g_FSInitParam[DevID]) != FST_STA_OK) { DBG_WRN("FileSys_Open(DevID %d)\r\n", DevID); return FALSE; @@ -101,11 +102,14 @@ void GxStrg_SendMountStatus(UINT32 DevId, UINT32 MsgId) if (FST_FS_TYPE_LINUX == g_FsType) { if (g_LnxStrgStatus[DevId].IsFormatted) { + CHKPNT; MountStatus = FST_STA_OK; } else { + CHKPNT; MountStatus = FST_STA_DISK_UNFORMAT; } } else { + CHKPNT; MountStatus = MsgId; } @@ -174,4 +178,4 @@ void GxStrg_SetStrgMountStatus(UINT32 DevID, BOOL bMountOK) } else { g_LnxStrgStatus[DevID].IsFormatted = FALSE; } -} \ No newline at end of file +} diff --git a/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgDevice.c b/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgDevice.c index c2e0ce689..675d5953e 100644 --- a/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgDevice.c +++ b/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgDevice.c @@ -45,7 +45,7 @@ void GxStrg_Det(UINT32 DevID, DX_HANDLE StrgDXH) (uiStrgCardCurSts != uiStrgCardStatus)) { isFormat = g_LnxStrgStatus[DevID].IsFormatted; - DBG_DUMP("isFormat = %lu\n", isFormat); + DBG_DUMP("DevID=%lu, isFormat = %lu\n", DevID, isFormat); switch (uiStrgCardCurSts) { case DET_CARD_INSERTED: diff --git a/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgLnx.c b/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgLnx.c index 912928260..de4a77cb2 100644 --- a/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgLnx.c +++ b/code/application/source/cardv/SrcCode/Gx/GxStrg/GxStrgLnx.c @@ -137,6 +137,73 @@ static int GxStrgLnx_GetSD1DevByBus(char *out_path, int out_size) } } +static int GxStrgLnx_GetSD2DevByBus(char *out_path, int out_size) +{ + #define MMC_SYS_PATH "/sys/bus/mmc/devices" + #define MMC1BUS_PREFIX "mmc1" + #define MMC0BUS "mmc2" + #define MMCDEV "mmc" + + char find_path[64] = {0};//e.g. /sys/devices/platform/nt96660_mmc.0/mmc_host/mmc0/mmc0:b368/block + char dev_path[32] = {0};//e.g. /dev/mmcblk0p1, /dev/mmcblk0, /dev/mmcblk1p1, /dev/mmcblk1 + char mmc_bus_name[16] = {0}; //e.g. mmc0:b368 + char mmc_dev_name[16] = {0}; + int bFound = 0, beMMCFound = 0;; + + out_path[0] = '\0';//set empty first + + //1. find the mmc2 to check eMMC is existed or not. + if(0 == GxStrgLnx_FindEntryByPrefix(MMC_SYS_PATH, MMC0BUS, mmc_bus_name, sizeof(mmc_bus_name))) { + DBG_IND("mmc0 bus not found\r\n"); + beMMCFound = 1; + //return -1; + } else if(0 != GxStrgLnx_FindEntryByPrefix(MMC_SYS_PATH, MMC1BUS_PREFIX, mmc_bus_name, sizeof(mmc_bus_name))) { // find the bus mmc0 to check the card is inserted or not + DBG_IND("mmc0 bus not found\r\n"); + return -1; + } + + //2. get the device name from mmc0 information + snprintf(find_path, sizeof(find_path), "%s/%s/block", MMC_SYS_PATH, mmc_bus_name); + if (!GxStrgLnx_IsPathExist(find_path)) { + DBG_ERR("%s not found\r\n", find_path); + return -1; + } + + if(0 != GxStrgLnx_FindEntryByPrefix(find_path, MMCDEV, mmc_dev_name, sizeof(mmc_dev_name))) { + DBG_IND("device not found\r\n"); + return -1; + } + + //3. try the real device name is mmcblk0/mmcblk1 or mmcblk0p1/mmcblk1p1 + //find dev name with p1 (e.g. mmcblk0p1) + if (beMMCFound) { // emmc is mmcblk2p5. + snprintf(dev_path, sizeof(dev_path), "/dev/%sp5", mmc_dev_name); + DBG_IND("GxStrgLnx_GetSD2DevByBus: found emmc\r\n"); + } + else { + snprintf(dev_path, sizeof(dev_path), "/dev/%sp1", mmc_dev_name); + } + if (GxStrgLnx_IsPathExist(dev_path)) { + bFound = 1; + } + + if(!bFound) {//find dev name without p1. (e.g. mmcblk0) + snprintf(dev_path, sizeof(dev_path), "/dev/%s", mmc_dev_name); + if(GxStrgLnx_IsPathExist(dev_path)) { + bFound = 1; + } + } + + if(bFound) { + DBG_IND("SD2Dev = %s\r\n", out_path); + GXSTRG_STRCPY(out_path, dev_path, out_size); + return 0; + } else { + DBG_ERR("The dev partition name not found\r\n"); + return -1; + } +} + static int GxStrgLnx_GetDevByMountPath(char *pDevPath, const char* pMountPath, int BufSize) { struct mntent *ent; @@ -177,7 +244,7 @@ static INT32 GxStrgLnx_ChkStatus(UINT32 DevId) UINT32 StrgCbVal; BOOL bIsReadOnly = FALSE; BOOL bIsFormatted; - static UINT32 StrgCbValPrev = STRG_CB_UNKNOWN; + static UINT32 StrgCbValPrev[2] = {STRG_CB_UNKNOWN, STRG_CB_UNKNOWN}; //1. get the device name from the mount list ret = GxStrgLnx_GetDevByMountPath(DevPath, pMountPath, sizeof(DevPath)); @@ -203,7 +270,11 @@ static INT32 GxStrgLnx_ChkStatus(UINT32 DevId) } //2. if the device is not mounted, get the dev name from the mmc0 bus - ret = GxStrgLnx_GetSD1DevByBus(DevPath, sizeof(DevPath)); + if(DevId == 0) + ret = GxStrgLnx_GetSD1DevByBus(DevPath, sizeof(DevPath)); + else + ret = GxStrgLnx_GetSD2DevByBus(DevPath, sizeof(DevPath)); + if (ret == 0) { //0. if the storage object is set, detect card insert if (g_pCurStrgDXH[DevId]) { @@ -246,16 +317,16 @@ static INT32 GxStrgLnx_ChkStatus(UINT32 DevId) } label_exit: - if (StrgCbValPrev != StrgCbVal) { + if (StrgCbValPrev[DevId] != StrgCbVal) { g_LnxStrgStatus[DevId].IsInserted = (StrgCbVal == STRG_CB_INSERTED); g_LnxStrgStatus[DevId].IsReadOnly = bIsReadOnly; g_LnxStrgStatus[DevId].IsFormatted = bIsFormatted; - DBG_IND("MntPath %s, IsInserted %d, IsReadOnly %d, bIsFormatted %d\r\n", + DBG_DUMP("MntPath %s, IsInserted %d, IsReadOnly %d, bIsFormatted %d\r\n", g_FSInitParam[DevId].FSParam.szMountPath, g_LnxStrgStatus[DevId].IsInserted, g_LnxStrgStatus[DevId].IsReadOnly, g_LnxStrgStatus[DevId].IsFormatted); - StrgCbValPrev = StrgCbVal; + StrgCbValPrev[DevId] = StrgCbVal; } if(g_LnxStrgStatus[DevId].IsInserted && bIsFormatted && !g_LnxStrgStatus[DevId].IsFormatted){ @@ -275,4 +346,4 @@ INT32 GxStrgLnx_Det(UINT32 DevId) } else { return DET_CARD_REMOVED; } -} \ No newline at end of file +} diff --git a/code/application/source/cardv/SrcCode/PrjCfg_DVCam.h b/code/application/source/cardv/SrcCode/PrjCfg_DVCam.h index de92a323f..15b1eb972 100755 --- a/code/application/source/cardv/SrcCode/PrjCfg_DVCam.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_DVCam.h @@ -830,7 +830,7 @@ // 2. enable FS_DX_TYPE_DRIVE_B as DX_TYPE_CARD2 // 3. enable FS_MULTI_STRG_FUNC // 4. NETWORK = NETWORK_NONE (Both uITRON and eCos) -#define FS_MULTI_STRG_FUNC DISABLE +#define FS_MULTI_STRG_FUNC ENABLE //MULTI_DRIVE #if defined(_EMBMEM_EMMC_) && (FS_MULTI_STRG_FUNC==DISABLE) #define FS_DX_TYPE_DRIVE_A USER_DX_TYPE_EMBMEM_FAT diff --git a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index 4812f681f..3f4c08c93 100755 --- a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -922,12 +922,13 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDC05" +#define SF_BASE_VERSION "7MR5RCwDC01" #define HW_S530 DISABLE #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ -#define PHOTO_THUMB_PATH "A:\\THUMB\\" -#define MOVIE_THUMB_PATH "A:\\THUMB\\" +#define PHOTO_THUMB_PATH ":\\THUMB\\" +#define MOVIE_THUMB_PATH ":\\THUMB\\" + #define SF_SD_ROOT "/mnt/sd/" #define SF_SEND_LIST_DIR "/mnt/sd/THUMB/" #define SF_THUMB_SEND_LIST SF_SEND_LIST_DIR"send.list" @@ -945,7 +946,7 @@ #define SF_IS_RELEASE ENABLE #define PHOTO_ISP_STAMP DISABLE -#define SF_BASE_VERSION_FEA "R6.0" +#define SF_BASE_VERSION_FEA "R2.3" #define SF_GPS_SUPPORT 1 #define SF_SEND_LIST_ITEM_LENGTH 15 #define SF_4G_REGISTER_NETWORK_COUNT 230 @@ -966,8 +967,8 @@ #define SF_HW_TEST DISABLE #define SF_MODULE_UP_FILE "EG915QNA.tar.bz2" #define SF_MODULE_UP_FILE_PATH "/mnt/sd/EG915QNA.tar.bz2" -#define SF_CAM_UP_FILE "CAM_OTA_S550/SPHOST_REVEAL.BIN" -#define SF_CAM_UP_FILE_PATH "/mnt/sd/FW98565A.bin" +#define SF_CAM_UP_FILE "S530.tar.bz2" +#define SF_CAM_UP_FILE_PATH "/mnt/sd/S530.tar.bz2" #define SF_CAMERA_GPS_INFO_FILENAME "/tmp/gps.txt" #define SF_UBOOT_UPDATA_FW ENABLE diff --git a/code/application/source/cardv/SrcCode/System/SysMain.c b/code/application/source/cardv/SrcCode/System/SysMain.c index 514ee476b..82d051e3a 100644 --- a/code/application/source/cardv/SrcCode/System/SysMain.c +++ b/code/application/source/cardv/SrcCode/System/SysMain.c @@ -569,7 +569,7 @@ void UserMainProc(void) lv_task_set_prio(indev_keypad->driver.read_task, LV_TASK_PRIO_OFF); while(!bUI_Quit) { - bool printKey = true; + Ux_WaitEvent(&evt, ¶mNum, paramArray); if(!evt) { @@ -595,43 +595,6 @@ void UserMainProc(void) DBG_WRN("received key event(%lx) without key state\r\n", evt); } - if(printKey){ - switch((uint32_t)lv_user_keymap_find(evt)){ - case LV_KEY_DOWN: - case LV_KEY_NEXT: - case 134: - { - printf("[Key]>>>DOWN\n"); - break; - } - case LV_KEY_UP: - case LV_KEY_PREV: - case 133: - { - printf("[Key]>>>UP\n"); - break; - } - case LV_KEY_LEFT: - { - printf("[Key]>>>LEFT\n"); - break; - } - case LV_KEY_RIGHT: - { - printf("[Key]>>>RIGHT\n"); - break; - } - case LV_KEY_ENTER: - { - printf("[Key]>>>ENTER\n"); - break; - } - } - printKey = false; - } - - - g_keyboard_value = evt; if((paramArray[0] > NVTEVT_KEY_PRESS_START && paramArray[0] < NVTEVT_KEY_PRESS_END) || @@ -810,8 +773,6 @@ exit: { DBG_DUMP("LogFile_Close ...\n"); LogFile_Close(); - system("rm -rf /mnt/sd/LOG/*dummy*");//Clear intermediate files. - system("sync"); } #endif #else diff --git a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c index a13a8cc02..16099b46b 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c @@ -156,9 +156,9 @@ INT32 System_GetBootFirstMode(void) printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,puiPara->CamMode); if(GxUSB_GetIsUSBPlug()) { - return PRIMARY_MODE_USBMSDC; + return PRIMARY_MODE_PHOTO; } - else if((PWR_ON_SETUP != PowerOnMode) && (PWR_ON_MCU_UPDATA != PowerOnMode)/*|| (sf_get_fw_update())*/) + else if((PWR_ON_SETUP != PowerOnMode) /*|| (sf_get_fw_update())*/) { return PRIMARY_MODE_TRANSCODE; } @@ -417,20 +417,11 @@ BOOL System_GetShutdownBegin(void) { return g_IsShutdownBegin; } -#define DO_NOT_SHOW_POWER_OFF 0 -#define SHOW_POWER_OFF 1 + INT32 System_OnShutdown(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) { - UINT32 displayShow = SHOW_POWER_OFF; - BOOL isMenu = sf_is_menu_open(); - if ( paramNum >= 2) - { - DBG_DUMP("^MOn Shutdown begin paramNum:%d paramArray[0]:%d paramArray[1]:%d\r\n",paramNum, paramArray[0], paramArray[1]); - displayShow = paramArray[1]; - } - if (paramNum >= 1 /*&& paramArray[0] == 0*/) - { //power-off begin DBG_DUMP("^MOn Shutdown begin paramNum:%d paramArray:%d\r\n",paramNum, paramArray[0]); + if (paramNum == 1 /*&& paramArray[0] == 0*/) { //power-off begin g_IsShutdownBegin=TRUE; #if (DISPLAY_FUNC == ENABLE) @@ -477,27 +468,14 @@ INT32 System_OnShutdown(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) } else { #if (POWEROFFLOGO_FUNCTION == ENABLE) #if HUNTING_CAMERA_MCU == ENABLE - if(sf_get_mode_flag() && SHOW_POWER_OFF == displayShow) + if(sf_get_mode_flag()) #endif { - if (FALSE == isMenu) - { - GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 - GxDisplay_Flush(LAYER_OSD1); - Display_ShowSplash(SPLASH_POWEROFF); - SwTimer_DelayMs(500); - } - else - { - Display_ShowSplash(SPLASH_POWEROFF); - SwTimer_DelayMs(500); - GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 - GxDisplay_Flush(LAYER_OSD1); - } - // Display_ShowSplash(SPLASH_POWEROFF); - // SwTimer_DelayMs(500); - // GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 - // GxDisplay_Flush(LAYER_OSD1); + GxDisplay_Set(LAYER_OSD1, LAYER_STATE_ENABLE, 0); //turn off OSD1 + GxDisplay_Flush(LAYER_OSD1); + + Display_ShowSplash(SPLASH_POWEROFF); + SwTimer_DelayMs(500); } #endif } @@ -714,6 +692,8 @@ INT32 System_OnLensAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) } */ +extern INT32 System_OnStrgSetActDrive(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray); + EVENT_ENTRY SystemObjCmdMap[] = { //////////////////////////////////////////////////////////// @@ -751,6 +731,8 @@ EVENT_ENTRY SystemObjCmdMap[] = { {NVTEVT_STRG_REMOVE, System_OnStrgRemove }, {NVTEVT_STRG_ATTACH, System_OnStrgAttach }, {NVTEVT_STRG_DETACH, System_OnStrgDetach }, + {NVTEVT_STRG_SET_ACT_DRIVE, System_OnStrgSetActDrive}, + #endif #if(USB_MODE==ENABLE) //Usb device event diff --git a/code/application/source/cardv/SrcCode/System/SysMain_cmd.c b/code/application/source/cardv/SrcCode/System/SysMain_cmd.c index 2dea0e44e..85fb60065 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_cmd.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_cmd.c @@ -185,6 +185,23 @@ static BOOL Cmd_user_EventTest(unsigned char argc, char **argv) #endif +#if FS_MULTI_STRG_FUNC /* test cmd */ + +static BOOL cmd_storage_set_act_drive(unsigned char argc, char **argv) +{ + /* A or B*/ + UINT32 drive_idx = strtoul(argv[0], NULL, 10); + + if(drive_idx == 0 || drive_idx == 1) + Ux_PostEvent(NVTEVT_STRG_SET_ACT_DRIVE, 1, (UINT32)drive_idx); + else + DBG_ERR("invalid drive(%c)\n", drive_idx); + + return TRUE; +} + +#endif + SXCMD_BEGIN(sys_cmd_tbl, "system command") SXCMD_ITEM("mem %", cmd_sys_mem, "system memory layout") @@ -263,9 +280,12 @@ SXCMD_ITEM("gprssw %", sf_cmd_gprs_switch, "gprssw 0/1") SXCMD_ITEM("uiprint %", sf_cmd_para_printf, "uiprint") SXCMD_ITEM("blusw %", cmd_blu_switch, "blusw 0/1") SXCMD_ITEM("wifisw %", cmd_wifi_switch, "wifisw 0/1") -SXCMD_ITEM("lcdbk %", sf_set_backlight_status, "lcdbk 0/1") + #endif +#if FS_MULTI_STRG_FUNC /* test cmd */ +SXCMD_ITEM("strg_set_act_drvie %", cmd_storage_set_act_drive, "set storage act drive (0 / 1)") +#endif SXCMD_END() diff --git a/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c index e940a5390..7472f7f4b 100644 --- a/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c @@ -75,7 +75,6 @@ #include #include #include "sf_sd_common.h" -#include #endif #if (LOGFILE_FUNC==ENABLE) #include "LogFile.h" @@ -133,6 +132,26 @@ static FST_FS_TYPE m_GxStrgType = FST_FS_TYPE_UITRON; static void *mp_fwsrv_work_buf = NULL; #endif static BOOL g_bSupportExfat = FALSE; + +#define STRG_NUM 2 +#define STRG_ID_SD 0 +#define STRG_ID_EMMC 1 + +typedef struct { + char name[16]; + UINT8 strg_id; + DCF_HANDLE dcf_hdl; + CHAR drive; +} STRG_MAPPING_TABLE; + + +STRG_MAPPING_TABLE g_strg_mapping_table[STRG_NUM] = { + [STRG_ID_SD] = { "SD", .strg_id = STRG_ID_SD, .dcf_hdl = -1, .drive = 'A'}, + [STRG_ID_EMMC] = { "EMMC", .strg_id = STRG_ID_EMMC, .dcf_hdl = -1, .drive = 'B'}, +}; + +static DCF_HANDLE g_dcf_hdl_act = -1; + /////////////////////////////////////////////////////////////////////////////// // // EMBMEM @@ -317,68 +336,53 @@ void System_OnStrgInit_FS(void) #if (FS_MULTI_STRG_FUNC == ENABLE) MEM_RANGE Pool2; Pool.size = POOL_SIZE_FILESYS; - GxStrg_SetConfigEx(0, FILE_CFG_BUF, (UINT32)&Pool); + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_BUF, (UINT32)&Pool); Pool2.addr = Pool.addr + POOL_SIZE_FILESYS; Pool2.size = POOL_SIZE_FILESYS; - GxStrg_SetConfigEx(1, FILE_CFG_BUF, (UINT32)&Pool2); -#if defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_) - // 3rd is for linux-pstore mounted by filesys - MEM_RANGE Pool3; - Pool3.Addr = Pool2.Addr + POOL_SIZE_FS_BUFFER; - Pool3.Size = POOL_SIZE_FS_BUFFER; - GxStrg_SetConfigEx(PST_DEV_ID, FILE_CFG_BUF, (UINT32)&Pool3); -#endif + GxStrg_SetConfigEx(STRG_ID_EMMC, FILE_CFG_BUF, (UINT32)&Pool2); #else Pool.size = POOL_SIZE_FILESYS; - GxStrg_SetConfigEx(0, FILE_CFG_BUF, (UINT32)&Pool); + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_BUF, (UINT32)&Pool); #endif } - - //#NT#2017/06/02#Nestor Yang -begin - //#NT# Do not link uITRON if not use - //GxStrg_SetConfigEx(0, FILE_CFG_FS_TYPE, m_GxStrgType); #if !defined(__FREERTOS) - GxStrg_SetConfigEx(0, FILE_CFG_FS_TYPE, FileSys_GetOPS_Linux()); //for FILE_CFG_FS_TYPE, DevID is don't care -#else - GxStrg_SetConfigEx(0, FILE_CFG_FS_TYPE, FileSys_GetOPS_uITRON()); -#endif - //#NT#2017/06/02#Nestor Yang -end -#if 0 -#if (LOGFILE_FUNC==ENABLE) - GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 6); -#endif -#if (USERLOG_FUNC == ENABLE) - GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 6); -#endif -#if (CURL_FUNC == ENABLE) - GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 8); -#endif -#if (IPCAM_FUNC == DISABLE) - GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 8); -#endif -#else - GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 10); + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_FS_TYPE, FileSys_GetOPS_Linux()); //for FILE_CFG_FS_TYPE, DevID is don't care + +#if (FS_MULTI_STRG_FUNC == ENABLE) + GxStrg_SetConfigEx(STRG_ID_EMMC, FILE_CFG_FS_TYPE, FileSys_GetOPS_Linux()); #endif - GxStrg_SetConfigEx(0, FILE_CFG_SUPPORT_EXFAT, TRUE); +#else + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_FS_TYPE, FileSys_GetOPS_uITRON()); + +#if (FS_MULTI_STRG_FUNC == ENABLE) + GxStrg_SetConfigEx(STRG_ID_EMMC, FILE_CFG_FS_TYPE, FileSys_GetOPS_uITRON()); +#endif + +#endif + + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_MAX_OPEN_FILE, 10); + +#if (FS_MULTI_STRG_FUNC == ENABLE) + GxStrg_SetConfigEx(STRG_ID_EMMC, FILE_CFG_MAX_OPEN_FILE, 10); +#endif + + + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_SUPPORT_EXFAT, TRUE); g_bSupportExfat = TRUE; - //set the device node of msdc mode for emmc only -#if (defined(_EMBMEM_EMMC_) && !defined(__FREERTOS)) - emmc_set_dev_node("/dev/mmcblk2p5"); //This devicde node is related to storate-partition, it is last rootfslX logical partition. Using "cat /proc/nvt_info/emmc" to get. + +#if (FS_MULTI_STRG_FUNC == ENABLE) + GxStrg_SetConfigEx(STRG_ID_EMMC, FILE_CFG_SUPPORT_EXFAT, FALSE); #endif - // mount path -#if (defined(_EMBMEM_EMMC_) && !defined(__FREERTOS)) - strncpy(mount_path, "/mnt/emmc1", sizeof(mount_path) - 1); -#else + strncpy(mount_path, "/mnt/sd", sizeof(mount_path) - 1); -#endif mount_path[sizeof(mount_path) - 1] = '\0'; - GxStrg_SetConfigEx(0, FILE_CFG_MOUNT_PATH, (UINT32)mount_path); + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_MOUNT_PATH, (UINT32)mount_path); #if !defined(__FREERTOS) - GxStrg_SetConfigEx(0, FILE_CFG_STRG_OBJECT, (UINT32)Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A)); + GxStrg_SetConfigEx(STRG_ID_SD, FILE_CFG_STRG_OBJECT, (UINT32)Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A)); #endif @@ -386,19 +390,10 @@ void System_OnStrgInit_FS(void) emmc_set_dev_node("/dev/mmcblk1p1"); /* msdc strg obj */ strncpy(mount_path, "/mnt/sd2", sizeof(mount_path) - 1); mount_path[sizeof(mount_path) - 1] = '\0'; - GxStrg_SetConfigEx(1, FILE_CFG_MOUNT_PATH, (UINT32)mount_path); - GxStrg_SetConfigEx(1, FILE_CFG_STRG_OBJECT, (UINT32)Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B)); + GxStrg_SetConfigEx(STRG_ID_EMMC, FILE_CFG_MOUNT_PATH, (UINT32)mount_path); + GxStrg_SetConfigEx(STRG_ID_EMMC, FILE_CFG_STRG_OBJECT, (UINT32)Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B)); #endif - - //#NT#2018/12/18#Philex Lin - begin - // unused now - #if 0 - // Enable 32MB alignment recording. - GxStrg_SetConfigEx(0, FILE_CFG_ALIGNED_SIZE, 32 * 1024 * 1024); - #endif - //#NT#2018/12/18#Philex Lin - end - #if (LOGFILE_FUNC==ENABLE) { LOGFILE_CFG cfg = {0}; @@ -425,7 +420,6 @@ void System_OnStrgInit_FS(void) cfg.LogBuffSize2 = gLogFile_Buff2_Size; #endif LogFile_Config(&cfg); - DBG_DUMP("LogFile_Config ...\n"); } #endif @@ -458,43 +452,31 @@ void System_OnStrgInit_FS(void) if (m_GxStrgType == FST_FS_TYPE_UITRON) { #if (FS_MULTI_STRG_FUNC) + + /************************************************ + * EMMC + ************************************************/ + GxStrg_Det(1, Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B)); + UINT32 uiDxState = 0; DX_HANDLE pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B); if (Dx_GetState((DX_HANDLE)pStrgDev, STORAGE_STATE_INSERT, &uiDxState) != DX_OK || uiDxState == FALSE) { - Ux_PostEvent(NVTEVT_STRG_REMOVE, 1, 1); + Ux_PostEvent(NVTEVT_STRG_REMOVE, 1, STRG_ID_EMMC); } else { - Ux_PostEvent(NVTEVT_STRG_INSERT, 1, 1); + Ux_PostEvent(NVTEVT_STRG_INSERT, 1, STRG_ID_EMMC); } #endif } #if (USE_DCF == ENABLE) - { - // init DCF -// CHAR pFolderName[9] = {0}; -// CHAR pFileName[5] = {0}; -// // init DCF FolderID/FileID with RTC data -// struct tm tm_cur = hwclock_get_time(TIME_ID_CURRENT); -// snprintf(pFolderName, sizeof(pFolderName), "%1d%02d%02d", tm_cur.tm_year % 0x0A, tm_cur.tm_mon, tm_cur.tm_mday); -// snprintf(pFileName, sizeof(pFileName), "%02d%02d", tm_cur.tm_hour, tm_cur.tm_min); -// //DCF dir-name -// DCF_SetDirFreeChars(pFolderName); -// //DCF file-name -// DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, pFileName); -// -// //DCF format -// DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_SUPPORT_FORMAT); -// DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG | DCF_FILE_TYPE_WAV | DCF_FILE_TYPE_MPO); -// //TODO: [DCF] How to add an new format & its ext? + DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FOLDER, TRUE); + DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE); + DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV); + DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO); + DCF_SetDirFreeChars(DCF_DIR_NAME); + DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME); - DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FOLDER, TRUE); - DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE); - DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV); - DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO); - DCF_SetDirFreeChars(DCF_DIR_NAME); - DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME); - } #endif } void System_OnStrgInit_FS2(void) @@ -560,13 +542,10 @@ static BOOL FileSys_DetBusy(void) void Card_DetInsert(void) { -#if defined(__FREERTOS) - GxStrg_Det(0, Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A)); -#if (0)//FS_MULTI_STRG_FUNC) - GxStrg_Det(1, Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B)); -#endif -#else GxStrg_Det(0, 0); + +#if 0 //FS_MULTI_STRG_FUNC + GxStrg_Det(1, Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B)); #endif } @@ -740,24 +719,94 @@ int System_umount_storage(char *pMountPath) } #endif +const char* System_Get_Strg_Name(UINT32 strg_id) +{ + if(strg_id >= STRG_NUM){ + DBG_ERR("invalid storage id(%d)!\n", strg_id); + return NULL; + } + + return g_strg_mapping_table[strg_id].name; +} + +INT32 System_Set_Storage_Act_Drive(char drive) +{ + DCF_HANDLE act_handle = -1; + + + for(int i=0 ; i0 ? TRUE : FALSE; #else //defined(__LINUX_USER__) @@ -1132,9 +1205,9 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) INT32 System_OnStrgDetach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) { if (m_GxStrgType == FST_FS_TYPE_LINUX) { - UINT32 stg_id = paramArray[0]; + UINT32 strg_id = paramArray[0]; - if (stg_id != 0) { //not sd-1 + if (strg_id != 0) { //not sd-1 return NVTEVT_CONSUME; } } diff --git a/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c.bak b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c.bak new file mode 100755 index 000000000..179b9b53a --- /dev/null +++ b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c.bak @@ -0,0 +1,1593 @@ +/* + System Storage Callback + + System Callback for Storage Module. + + @file SysStrg_Exe.c + @ingroup mIPRJSYS + + @note �o���ɮ׭t�d�@��� + + 1.����Storage Event������ + �i�઺event��: + + STRG_INSERT --- �N���CARD���J + ����unmount���e�ݭn�����Ʊ� + �I�sFile unmound (NAND), + ����mount���e�ݭn�����Ʊ� + �I�sFile mount (CARD) + + STRG_REMOVE --- �N���CARD�ޥX + ����unmount���e�ݭn�����Ʊ� + �I�sFile unmount (CARD) + ����mount���e�ݭn�����Ʊ� + �I�sFile_mount (NAND) + + STRG_ATTACH --- �N��File mount���� + ����mount����ݭn�����Ʊ� + �o��|�ǤJmount�����Gstatus + + STRG_DETACH --- �N��File unmount���� + ����unmount����ݭn�����Ʊ� + �o��|�ǤJunmount�����Gstatus + + + Copyright Novatek Microelectronics Corp. 2010. All rights reserved. +*/ + +//////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include +#include "PrjInc.h" +#include "PrjCfg.h" +//#include "sys_storage_partition.h" +//////////////////////////////////////////////////////////////////////////////// +#include "UIFrameworkExt.h" +#include "UICommon.h" +//#include "dma.h" +#include "PStore.h" +#include "sf_sd_common.h" +#if (USE_DCF == ENABLE) +#include "DCF.h" +#endif +//#include "ExifVendor.h" +#include "FileSysTsk.h" +#include "SysCommon.h" +#include "sys_mempool.h" +#include "DxType.h" +#include "Dx.h" +#include "DxApi.h" +#include "DxStorage.h" +#include +#include "FwSrvApi.h" +#include +#include +#include "GxStrg.h" +#include "sdio.h" +#include +#include +#include "emmc.h" +#if HUNTING_CAMERA_MCU == ENABLE +#include +#include +#include "sf_sd_common.h" +#endif +#if (LOGFILE_FUNC==ENABLE) +#include "LogFile.h" +#endif +#if (USERLOG_FUNC == ENABLE) +#include "userlog.h" +#endif +//#include "wdt.h" + +#if defined(_EMBMEM_SPI_NOR_) +#define MAX_BLK_PER_SEC 128 +#define MAX_SEC_NUM 8 +#else +#define MAX_BLK_PER_SEC 512 +#define MAX_SEC_NUM 64 +#endif +#define LDC_HEADER_SIZE 16 +#define FW_UPD_FW_TMP_MEM_SIZE 0xA00000 + +#define LOADER_UPD_FW_PATH "A:\\"_BIN_NAME_".BIN" +#define FW_DEL_INDIACTION_PATH "A:\\NVTDELFW" + +//#NT#2018/04/02#Niven Cho -begin +//#NT#PARTIAL_COMPRESS, we use last 10MB of APP as working buffer +#define FW_PARTIAL_COMPRESS_WORK_BUF_SIZE 0xA00000 +//#NT#2018/04/02#Niven Cho -end + +//global debug level: PRJ_DBG_LVL +#include "PrjCfg.h" +//local debug level: THIS_DBGLVL +#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER +/////////////////////////////////////////////////////////////////////////////// +#define __MODULE__ SysStrgExe +#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL) +#define __DBGFLT__ "*" //*=All, [mark]=CustomClass +#include +/////////////////////////////////////////////////////////////////////////////// +//Check definition options +#if defined(_CPU2_ECOS_) +#if (LOGFILE_FUNC == ENABLE && ECOS_DBG_MSG_FORCE_UART1_DIRECT == ENABLE) +//#error "LOGFILE_FUNC must turn off ECOS_DBG_MSG_FORCE_UART1_DIRECT" +#endif +#endif + +#if 0 +#define FW_UPDATE_FILE_LEN 16 +static char uiUpdateFWName[FW_UPDATE_FILE_LEN] = FW_UPDATE_NAME; +static BOOL m_bUpdRename = FALSE; +#endif + +#if (FS_FUNC == ENABLE) +static FST_FS_TYPE m_GxStrgType = FST_FS_TYPE_UITRON; +#endif +#if (FWS_FUNC == ENABLE) +static void *mp_fwsrv_work_buf = NULL; +#endif +static BOOL g_bSupportExfat = FALSE; +/////////////////////////////////////////////////////////////////////////////// +// +// EMBMEM +// +/////////////////////////////////////////////////////////////////////////////// +//Caculate FAT Start Addr +#if defined(_CPU2_LINUX_) +static BOOL xSysStrg_LinuxRun(void); +#endif +#if defined(_CPU2_ECOS_) +static BOOL xSysStrg_eCosRun(void); +#endif +#if (defined(_DSP1_FREERTOS_) || defined(_DSP2_FREERTOS_)) +static BOOL xSysStrg_DspRun(DSP_CORE_ID CoreID); +#endif + +#if (FWS_FUNC == ENABLE) +UINT32 System_OnStrgInit_EMBMEM_GetGxStrgType(void) +{ + return m_GxStrgType; +} + +void System_OnStrgInit_EMBMEM(void) +{ +#if defined(_EMBMEM_SPI_NOR_) + { + //if stoarge is SPI, use ram disk as internal FAT + DXSTRG_INIT UserEmbMemInit = {0}; + UserEmbMemInit.prt.uiDxClassType = DX_CLASS_STORAGE_EXT | USER_DX_TYPE_EMBMEM_FAT; + UserEmbMemInit.buf.Addr = OS_GetMempoolAddr(POOL_ID_STORAGE_RAMDISK); + UserEmbMemInit.buf.Size = OS_GetMempoolSize(POOL_ID_STORAGE_RAMDISK); + DX_HANDLE DxNandDev = Dx_GetObject(UserEmbMemInit.prt.uiDxClassType); + Dx_Init(DxNandDev, &UserEmbMemInit, 0, STORAGE_VER); + } +#endif +} + +void System_OnStrgExit_EMBMEM(void) +{ + //PHASE-1 : Close Drv or DrvExt +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// EXMEM +// +/////////////////////////////////////////////////////////////////////////////// +//Drv or DrvExt +#if (FS_FUNC == ENABLE) +DXSTRG_INIT UserSdioInit; +#if(COPYCARD2CARD_FUNCTION == ENABLE) +DXSTRG_INIT UserSdio2Init; +#endif +DX_HANDLE DxCardDev1 = 0; +typedef enum _BOOT_CARD_STATE { + BOOT_CARD_STATE_UNKNOWN, + BOOT_CARD_STATE_INSERTED, + BOOT_CARD_STATE_REMOVED, + ENUM_DUMMY4WORD(BOOT_CARD_STATE) +} BOOT_CARD_STATE; +static BOOT_CARD_STATE m_BootState_Drive[16] = {BOOT_CARD_STATE_UNKNOWN}; //DriveA, DriveB +static UINT32 m_FsDxTypeMap[2] = {FS_DX_TYPE_DRIVE_A, FS_DX_TYPE_DRIVE_B}; + +void System_OnStrgInit_EXMEM(void) +{ + static BOOL bStrg_init_EXMEM = FALSE; + if (bStrg_init_EXMEM) { + return; + } + TM_BOOT_BEGIN("sdio", "init"); + +#if (FS_DX_TYPE_DRIVE_A >= DX_TYPE_CARD1 && FS_DX_TYPE_DRIVE_A <= DX_TYPE_CARD3) + DX_HANDLE DxCardDev1 = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A); + UserSdioInit.buf.addr = mempool_storage_sdio; + UserSdioInit.buf.size = POOL_SIZE_STORAGE_SDIO; + Dx_Init(DxCardDev1, &UserSdioInit, 0, STORAGE_VER); +#endif +#if (FS_MULTI_STRG_FUNC && FS_DX_TYPE_DRIVE_B >= DX_TYPE_CARD1 && FS_DX_TYPE_DRIVE_B <= DX_TYPE_CARD3) + DX_HANDLE DxCardDev2 = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B); + UserSdio2Init.buf.Addr = OS_GetMempoolAddr(POOL_ID_STORAGE_SDIO2); + UserSdio2Init.buf.Size = OS_GetMempoolSize(POOL_ID_STORAGE_SDIO2); + Dx_Init(DxCardDev2, &UserSdio2Init, 0, STORAGE_VER); +#endif + bStrg_init_EXMEM = TRUE; + TM_BOOT_END("sdio", "init"); +} + +void System_OnStrgExit_EXMEM(void) +{ + //PHASE-1 : Close Drv or DrvExt + +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// FILESYS +// +/////////////////////////////////////////////////////////////////////////////// +//Lib or LibExt +#if (FS_FUNC == ENABLE) + +extern void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2); +void Card_DetInsert(void); +void Card_DetBusy(void); +#if (LOGFILE_FUNC==ENABLE) +void System_DetErr(void); +#endif +#if (SDINSERT_FUNCTION == ENABLE) +SX_TIMER_ITEM(Card_DetInsert, Card_DetInsert, 2, FALSE) +#endif +SX_TIMER_ITEM(System_DetBusy, Card_DetBusy, 25, FALSE) +#if (LOGFILE_FUNC==ENABLE) +SX_TIMER_ITEM(System_DetErr, System_DetErr,50, FALSE) +#endif +int SX_TIMER_DET_STRG_ID = -1; +int SX_TIMER_DET_SYSTEM_BUSY_ID = -1; +#if (LOGFILE_FUNC==ENABLE) +int SX_TIMER_DET_SYSTEM_ERROR_ID = -1; +#endif + +#if (LOGFILE_FUNC==ENABLE) +#if defined(__FREERTOS) +_ALIGNED(64) static CHAR gLogFile_Buff[LOGFILE_BUFFER_SIZE]= {0}; +static UINT32 gLogFile_Buff_Size = sizeof(gLogFile_Buff); +#else //defined(__LINUX_USER__) +#include +#include +/* begin/end dma-buf functions used for userspace mmap. */ +struct dma_buf_sync { + unsigned long long flags; +}; +#define DMA_BUF_SYNC_READ (1 << 0) +#define DMA_BUF_SYNC_WRITE (2 << 0) +#define DMA_BUF_SYNC_RW (DMA_BUF_SYNC_READ | DMA_BUF_SYNC_WRITE) +#define DMA_BUF_SYNC_START (0 << 2) +#define DMA_BUF_SYNC_END (1 << 2) +#define DMA_BUF_SYNC_VALID_FLAGS_MASK \ + (DMA_BUF_SYNC_RW | DMA_BUF_SYNC_END) +#define DMA_BUF_BASE 'b' +#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync) +#define LOGFILE_BASE 'l' +#define LOGFILE_IOCTL_FD _IOR(LOGFILE_BASE, 0, int) + +static CHAR *gLogFile_Buff = NULL; +static UINT32 gLogFile_Buff_Size = 0; + +static void logfile_init_dma_buff(void) +{ + int fd; + + fd = open("/dev/logfile", O_RDWR | O_CLOEXEC); + if (fd < 0) { + printf("open /dev/logfile failed, %s\n", strerror(errno)); + return; + } + + gLogFile_Buff = mmap(NULL, LOGFILE_BUFFER_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (gLogFile_Buff == MAP_FAILED) { + printf("mmap dmabuf failed: %s\n", strerror(errno)); + return; + } + gLogFile_Buff_Size = LOGFILE_BUFFER_SIZE; + + close(fd); +} +#endif +#if defined(_CPU2_LINUX_) +_ALIGNED(64) static CHAR gLogFile_Buff2[LOGFILE_BUFFER_SIZE]= {0}; +static UINT32 gLogFile_Buff2_Size = sizeof(gLogFile_Buff2); +#endif +#endif + +void System_OnStrgInit_FS(void) +{ + CHAR mount_path[KFS_LONGNAME_PATH_MAX_LENG] = {0}; + TM_BOOT_BEGIN("sdio", "init_fs"); + { + MEM_RANGE Pool; + Pool.addr = mempool_filesys; +#if (FS_MULTI_STRG_FUNC == ENABLE) + MEM_RANGE Pool2; + Pool.size = POOL_SIZE_FILESYS; + GxStrg_SetConfigEx(0, FILE_CFG_BUF, (UINT32)&Pool); + Pool2.addr = Pool.addr + POOL_SIZE_FILESYS; + Pool2.size = POOL_SIZE_FILESYS; + GxStrg_SetConfigEx(1, FILE_CFG_BUF, (UINT32)&Pool2); +#if defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_) + // 3rd is for linux-pstore mounted by filesys + MEM_RANGE Pool3; + Pool3.Addr = Pool2.Addr + POOL_SIZE_FS_BUFFER; + Pool3.Size = POOL_SIZE_FS_BUFFER; + GxStrg_SetConfigEx(PST_DEV_ID, FILE_CFG_BUF, (UINT32)&Pool3); +#endif +#else + Pool.size = POOL_SIZE_FILESYS; + GxStrg_SetConfigEx(0, FILE_CFG_BUF, (UINT32)&Pool); +#endif + } + + + //#NT#2017/06/02#Nestor Yang -begin + //#NT# Do not link uITRON if not use + //GxStrg_SetConfigEx(0, FILE_CFG_FS_TYPE, m_GxStrgType); +#if !defined(__FREERTOS) + GxStrg_SetConfigEx(0, FILE_CFG_FS_TYPE, FileSys_GetOPS_Linux()); //for FILE_CFG_FS_TYPE, DevID is don't care +#else + GxStrg_SetConfigEx(0, FILE_CFG_FS_TYPE, FileSys_GetOPS_uITRON()); +#endif + //#NT#2017/06/02#Nestor Yang -end +#if 0 +#if (LOGFILE_FUNC==ENABLE) + GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 6); +#endif +#if (USERLOG_FUNC == ENABLE) + GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 6); +#endif +#if (CURL_FUNC == ENABLE) + GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 8); +#endif +#if (IPCAM_FUNC == DISABLE) + GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 8); +#endif +#else + GxStrg_SetConfigEx(0, FILE_CFG_MAX_OPEN_FILE, 10); +#endif + + GxStrg_SetConfigEx(0, FILE_CFG_SUPPORT_EXFAT, TRUE); + g_bSupportExfat = TRUE; + //set the device node of msdc mode for emmc only +#if (defined(_EMBMEM_EMMC_) && !defined(__FREERTOS)) + emmc_set_dev_node("/dev/mmcblk2p5"); //This devicde node is related to storate-partition, it is last rootfslX logical partition. Using "cat /proc/nvt_info/emmc" to get. +#endif + + // mount path +#if (defined(_EMBMEM_EMMC_) && !defined(__FREERTOS)) + strncpy(mount_path, "/mnt/emmc1", sizeof(mount_path) - 1); +#else + strncpy(mount_path, "/mnt/sd", sizeof(mount_path) - 1); +#endif + mount_path[sizeof(mount_path) - 1] = '\0'; + GxStrg_SetConfigEx(0, FILE_CFG_MOUNT_PATH, (UINT32)mount_path); + +#if !defined(__FREERTOS) + GxStrg_SetConfigEx(0, FILE_CFG_STRG_OBJECT, (UINT32)Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A)); +#endif + + +#if (FS_MULTI_STRG_FUNC == ENABLE) + emmc_set_dev_node("/dev/mmcblk1p1"); /* msdc strg obj */ + strncpy(mount_path, "/mnt/sd2", sizeof(mount_path) - 1); + mount_path[sizeof(mount_path) - 1] = '\0'; + GxStrg_SetConfigEx(1, FILE_CFG_MOUNT_PATH, (UINT32)mount_path); + GxStrg_SetConfigEx(1, FILE_CFG_STRG_OBJECT, (UINT32)Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B)); +#endif + + + //#NT#2018/12/18#Philex Lin - begin + // unused now + #if 0 + // Enable 32MB alignment recording. + GxStrg_SetConfigEx(0, FILE_CFG_ALIGNED_SIZE, 32 * 1024 * 1024); + #endif + //#NT#2018/12/18#Philex Lin - end + +#if (LOGFILE_FUNC==ENABLE) + { + LOGFILE_CFG cfg = {0}; + #if 0 + // only store system error log + cfg.ConType = LOGFILE_CON_UART|LOGFILE_CON_MEM; + #else + // store normal log and system error log + #if defined(_MODEL_CARDV_HS880C_) + cfg.ConType = LOGFILE_CON_MEM|LOGFILE_CON_STORE; + #else + cfg.ConType = LOGFILE_CON_UART|LOGFILE_CON_STORE; + #endif + #endif + cfg.TimeType = LOGFILE_TIME_TYPE_DATETIME; + #if defined(__FREERTOS) + #else //defined(__LINUX_USER__) + logfile_init_dma_buff(); + #endif + cfg.LogBuffAddr = (UINT32)gLogFile_Buff; + cfg.LogBuffSize = gLogFile_Buff_Size; + #if defined(_CPU2_LINUX_) + cfg.LogBuffAddr2 = (UINT32)gLogFile_Buff2; + cfg.LogBuffSize2 = gLogFile_Buff2_Size; + #endif + LogFile_Config(&cfg); + } +#endif + + GxStrg_RegCB(Strg_CB); //Register CB function of GxStorage (NANR or CARD) + { + //1.�]�winit�� + //FileSys: + //2.�]�wCB��, + //3.���USxJob�A�� ---------> System Job + //4.���USxTimer�A�� ---------> Detect Job +#if (SDINSERT_FUNCTION == ENABLE) + ////if (m_GxStrgType == FST_FS_TYPE_UITRON) { + SX_TIMER_DET_STRG_ID = SxTimer_AddItem(&Timer_Card_DetInsert); + ////} +#endif +#if (LOGFILE_FUNC==ENABLE) + { + SX_TIMER_DET_SYSTEM_ERROR_ID = SxTimer_AddItem(&Timer_System_DetErr); + } +#endif + //SX_TIMER_DET_SYSTEM_BUSY_ID = SxTimer_AddItem(&Timer_System_DetBusy); + //5.���USxCmd�A�� ---------> Cmd Function + //System_AddSxCmd(Storage_OnCommand); //GxStorage + + //start scan + SxTimer_SetFuncActive(SX_TIMER_DET_STRG_ID, TRUE); + SxTimer_SetFuncActive(SX_TIMER_DET_SYSTEM_BUSY_ID, TRUE); + } + TM_BOOT_END("sdio", "init_fs"); + + if (m_GxStrgType == FST_FS_TYPE_UITRON) { +#if (FS_MULTI_STRG_FUNC) + UINT32 uiDxState = 0; + DX_HANDLE pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B); + if (Dx_GetState((DX_HANDLE)pStrgDev, STORAGE_STATE_INSERT, &uiDxState) != DX_OK || uiDxState == FALSE) { + Ux_PostEvent(NVTEVT_STRG_REMOVE, 1, 1); + } else { + Ux_PostEvent(NVTEVT_STRG_INSERT, 1, 1); + } +#endif + } + +#if (USE_DCF == ENABLE) + { + // init DCF + +// CHAR pFolderName[9] = {0}; +// CHAR pFileName[5] = {0}; +// // init DCF FolderID/FileID with RTC data +// struct tm tm_cur = hwclock_get_time(TIME_ID_CURRENT); +// snprintf(pFolderName, sizeof(pFolderName), "%1d%02d%02d", tm_cur.tm_year % 0x0A, tm_cur.tm_mon, tm_cur.tm_mday); +// snprintf(pFileName, sizeof(pFileName), "%02d%02d", tm_cur.tm_hour, tm_cur.tm_min); +// //DCF dir-name +// DCF_SetDirFreeChars(pFolderName); +// //DCF file-name +// DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, pFileName); +// +// //DCF format +// DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_SUPPORT_FORMAT); +// DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG | DCF_FILE_TYPE_WAV | DCF_FILE_TYPE_MPO); +// //TODO: [DCF] How to add an new format & its ext? + + DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FOLDER, TRUE); + DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE); + DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV); + DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO); + DCF_SetDirFreeChars(DCF_DIR_NAME); + DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME); + } +#endif +} +void System_OnStrgInit_FS2(void) +{ + // update card status again + if (GxStrg_GetDeviceCtrl(0, CARD_READONLY)) { + System_SetState(SYS_STATE_CARD, CARD_LOCKED); + } else if (GxStrg_GetDeviceCtrl(0, CARD_INSERT)) { + System_SetState(SYS_STATE_CARD, CARD_INSERTED); + } else { + System_SetState(SYS_STATE_CARD, CARD_REMOVED); + } +} +void System_OnStrgInit_FS3(void) +{ + static BOOL bFirst = TRUE; + if (bFirst) { + TM_BOOT_BEGIN("sdio", "fdb_create"); + } +#if 0 +#if(MOVIE_MODE==ENABLE) + INT32 iCurrMode = System_GetBootFirstMode(); + if (iCurrMode == PRIMARY_MODE_MOVIE) { + FlowMovie_FileDBCreate_Fast(); + } +#endif +#endif + if (bFirst) { + TM_BOOT_END("sdio", "fdb_create"); + } + bFirst = FALSE; +} + +void System_OnStrgExit_FS(void) +{ + //PHASE-2 : Close Lib or LibExt +#if (LOGFILE_FUNC==ENABLE) + #if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + if (puiPara->DebugMode) + { + LogFile_Close(); + } + #else + LogFile_Close(); + #endif + +#endif + // unmount file system + GxStrg_CloseDevice(0); +#if (FS_MULTI_STRG_FUNC) + GxStrg_CloseDevice(1); +#endif + +} + +#if (PWR_FUNC == ENABLE) +static BOOL FileSys_DetBusy(void) +{ + return (BOOL)((INT32)FileSys_GetParam(FST_PARM_TASK_STS, 0) == FST_STA_BUSY); +} +#endif + +void Card_DetInsert(void) +{ +#if defined(__FREERTOS) + GxStrg_Det(0, Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A)); +#if (0)//FS_MULTI_STRG_FUNC) + GxStrg_Det(1, Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B)); +#endif +#else + GxStrg_Det(0, 0); +#endif +} + +void Card_DetBusy(void) +{ +#if (PWR_FUNC == ENABLE) + static BOOL bBusyLED = FALSE; + + if (GxPower_GetControl(GXPWR_CTRL_SLEEP_LEVEL) <= 1 && (!GxPower_GetControl(GXPWR_CTRL_BATTERY_CHARGE_EN))) { + if (FileSys_DetBusy()) { + if (bBusyLED == FALSE) { + DBG_IND("System - busy\r\n"); + bBusyLED = TRUE; +#if (OUTPUT_FUNC == ENABLE) + GxLED_SetCtrl(KEYSCAN_LED_GREEN, SETLED_SPEED, GXLED_1SEC_LED_TOGGLE_CNT / 5); + GxLED_SetCtrl(KEYSCAN_LED_GREEN, TURNON_LED, FALSE); + GxLED_SetCtrl(KEYSCAN_LED_GREEN, SET_TOGGLE_LED, TRUE); +#endif + } + } else { + if (bBusyLED == TRUE) { + DBG_IND("System - not busy\r\n"); + bBusyLED = FALSE; +#if (OUTPUT_FUNC == ENABLE) + GxLED_SetCtrl(KEYSCAN_LED_GREEN, SET_TOGGLE_LED, FALSE); + GxLED_SetCtrl(KEYSCAN_LED_GREEN, TURNON_LED, FALSE); +#endif + } + } + } +#endif +} + +#if (FSCK_FUNC == ENABLE) +int search_str_in_file(char *path, char *str) +{ + FILE *fp = NULL; + UINT32 u32ize = 0; + int found = 0; + char *pStrSrc = NULL; + + fp = fopen(path, "r"); + if (fp) { + fseek(fp, 0, SEEK_END); + u32ize = ftell(fp); // take file size + fseek(fp, 0, SEEK_SET); // move to position zero + pStrSrc = (char *)malloc(u32ize * sizeof(char)); + + if (pStrSrc) { + fread(pStrSrc, 1, u32ize, fp); + if (strstr(pStrSrc, str)) { + found = 1; + } + free(pStrSrc); + } + + fclose(fp); + fp = NULL; + pStrSrc = NULL; + u32ize = 0; + } + + return found; +} + +int System_check_mmcblk0p1(void) +{ + SysMain_system("ls /dev/mmcblk0p1 > /tmp/lsdev.txt"); + vos_util_delay_ms(100); + if (search_str_in_file("/tmp/lsdev.txt", "/dev/mmcblk0p1")) { + return 1; + } else { + return 0; + } +} + +int System_mount_storage(char *pMountPath) +{ + int ret = 0; + time_t t, t_local, t_gmt; + struct tm tt_local, tt_gmt; + char opts[20]; + char *pDevSrc; + char *pFileSysType = "vfat"; + char *pFileSysExType = "exfat"; + BOOL bexfat = FALSE; + + if (System_check_mmcblk0p1()) { + pDevSrc = "/dev/mmcblk0p1"; + } else { + pDevSrc = "/dev/mmcblk0"; + } + + time(&t); + localtime_r(&t, &tt_local); + gmtime_r(&t, &tt_gmt); + t_local = mktime(&tt_local); + t_gmt = mktime(&tt_gmt); + + snprintf(opts, 19, "time_offset=%d", (t_local-t_gmt)/60); + DBG_IND("gtime=%d, ltime=%d, diff=%d, m=%d, %s\r\n", t_gmt, t_local, (t_local-t_gmt), (t_local-t_gmt)/60, opts); + + { + long long DevSize = 0; + int fd = 0; + long long size = 0; + + DevSize = 0;//set to zero first + + fd = open(pDevSrc, O_RDONLY); + if(fd < 0) { + DBG_ERR("open %s: errno = %d, errmsg = %s\r\n", pDevSrc, errno, strerror(errno)); + } else { + if(ioctl(fd, BLKGETSIZE64, &size) < 0) { + DBG_ERR("ioctl BLKGETSIZE64 failed\r\n"); + } + + if (0 != close(fd)) { + DBG_ERR("close %s: errno = %d, errmsg = %s\r\n", pDevSrc, errno, strerror(errno)); + } + } + + DBG_DUMP("%s: %s size = %lld\r\n", __func__, pDevSrc, size); + + DevSize = size; + + //original SD card + if(g_bSupportExfat && DevSize > 32*1024*1024*1024LL) + { + bexfat = TRUE; + } + else + { + bexfat = FALSE; + } + } + + // mount sd card + if (bexfat == FALSE) { + ret = mount(pDevSrc, pMountPath, pFileSysType, MS_DIRSYNC, opts); + } else { + ret = mount(pDevSrc, pMountPath, pFileSysExType, MS_DIRSYNC, opts); + } + + if(ret) { + if (errno == EBUSY) { + DBG_ERR("%s is existed, don't need to mount again\r\n", pMountPath); + } else { + DBG_ERR("mount /mnt/sd failed, errno = %d\r\n",errno); + } + } + + return ret; +} + +int System_umount_storage(char *pMountPath) +{ + int ret = 0; + + ret = umount(pMountPath); + + if (ret) { + if (errno == EBUSY) { + DBG_ERR("Catn't umount, please use 'lsof' to check the resource\r\n"); + } else if (errno == EINVAL) { + DBG_ERR("%s isn't existed, don't need to umount again\r\n", pMountPath); + } + } + + return ret; +} +#endif + + +INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) +{ + UINT32 stg_id = paramArray[0]; + #if (FSCK_FUNC == ENABLE) + int ret_val = 0; + char *pMountPath = "/mnt/sd"; + #endif + + if (m_BootState_Drive[stg_id] != BOOT_CARD_STATE_UNKNOWN) { + if (stg_id == 0) { +#if(IPCAM_FUNC==DISABLE && SDHOTPLUG_FUNCTION == DISABLE) + System_PowerOff(SYS_POWEROFF_NORMAL); +#endif + } + } else { + TM_BOOT_BEGIN("sdio", "mount_fs"); + m_BootState_Drive[stg_id] = BOOT_CARD_STATE_INSERTED; + } + + #if (FSCK_FUNC == ENABLE) + //SysMain_system("df"); //only for debug, the "/mnt/sd" path must not be existed. + System_umount_storage(pMountPath); + /*Under normal situation, fsck checking doesn't need to print the message via UART port. + We sotre the message to /tmp/fsck.txt (on DRAM). */ + if (System_check_mmcblk0p1()) { + DBG_IND("fsck /dev/mmcblk0p1\r\n"); + SysMain_system("fsck.fat -a /dev/mmcblk0p1 > /tmp/fsck.txt"); //Store to /tmp/fsck.txt and use "cat /tmp/fsck.txt". + //SysMain_system("fsck.fat -a /dev/mmcblk0p1"); //The fsck checking will print the message directly. + } else { + DBG_IND("no /dev/mmcblk0p1, try to fsck /dev/mmcblk0\r\n"); + SysMain_system("fsck.fat -a /dev/mmcblk0 > /tmp/fsck.txt"); //Store to /tmp/fsck.txt and use "cat /tmp/fsck.txt". + //SysMain_system("fsck.fat -a /dev/mmcblk0"); //The fsck checking will print the message directly. + } + + ret_val = System_mount_storage(pMountPath); + if (ret_val) { + GxStrg_SetStrgMountStatus(stg_id, FALSE); + DBG_ERR("mount /mnt/sd failed, ret_val is %d; errno = %d\r\n", ret_val, errno); + } else { + GxStrg_SetStrgMountStatus(stg_id, TRUE); + } + //SysMain_system("df"); //only for debug, the "/mnt/sd" path must be existed. + #endif + + // linux partition as PStore + if (stg_id == PST_DEV_ID) { +#if defined(_CPU2_LINUX_) + if (GxStrg_OpenDevice(stg_id, NULL) != TRUE) { + DBG_ERR("Storage mount pstore fail\r\n"); + } + return NVTEVT_CONSUME; +#else + DBG_FATAL("stg_id cannot be %d.\r\n", PST_DEV_ID); +#endif + } + + DX_HANDLE pStrgDev = (DX_HANDLE)sdio_getStorageObject(STRG_OBJ_FAT1); + if (GxStrg_OpenDevice(stg_id, pStrgDev) != TRUE) { + char *pDxName = "unknown"; + Dx_GetInfo(pStrgDev, DX_INFO_NAME, &pDxName); + DBG_ERR("Storage mount %s fail\r\n", pDxName); + return NVTEVT_CONSUME; + } + +#if (USE_DCF == ENABLE) + { + DCF_OPEN_PARM dcfParm = {0}; + // Open DCF + dcfParm.Drive = (stg_id == 0) ? 'A' : 'B'; +#if (FS_MULTI_STRG_FUNC) +// if (POOL_CNT_DCF_BUFFER !=2) { +// DBG_FATAL("POOL_CNT_DCF_BUFFER be 2 for FS_MULTI_STRG_FUNC.\r\n"); +// } else { + switch(stg_id) { + case 0: +// dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)); + dcfParm.WorkbuffAddr = mempool_dcf; + break; + case 1: +// dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)) + POOL_SIZE_DCF_BUFFER; + dcfParm.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER; + break; + default: + DBG_ERR("unknown stg_id=%d\r\n", stg_id); + dcfParm.WorkbuffAddr = 0; + break; + } +// } +#else + + dcfParm.WorkbuffAddr = mempool_dcf;//dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)); +#endif + + dcfParm.WorkbuffSize = POOL_SIZE_DCF_BUFFER; + + UINT32 handle = DCF_Open(&dcfParm); + + DBG_DUMP("Handle = %lu, drive = %c\n", handle, dcfParm.Drive); + // DCF_ScanObj(); + } +#endif + if(stg_id == 0){ + if (GxStrg_GetDeviceCtrl(stg_id, CARD_READONLY)) { + System_SetState(SYS_STATE_CARD, CARD_LOCKED); + DBG_IND("Card Locked\r\n"); + } else { + System_SetState(SYS_STATE_CARD, CARD_INSERTED); + DBG_IND("Card inserted\r\n"); + } + } + return NVTEVT_CONSUME; +} + + +INT32 System_OnStrgRemove(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) +{ + UINT32 stg_id = paramArray[0]; + if (m_BootState_Drive[stg_id] != BOOT_CARD_STATE_UNKNOWN) { + if (stg_id == 0) { +#if (LOGFILE_FUNC==ENABLE) + #if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + if (puiPara->DebugMode) + { + LogFile_Suspend(); + LogFile_Close(); + } + #else + LogFile_Suspend(); + LogFile_Close(); + #endif + +#endif +#if (USERLOG_FUNC == ENABLE) + { + userlog_close(); + } +#endif +#if (USE_DCF == ENABLE) + //Fix the error "DCF_GetInfoByHandle() Dcf Handle 0 Data may be overwritted" when card plug out/in + DCF_Close(0); +#endif + System_SetState(SYS_STATE_CARD, CARD_REMOVED); + + GxStrg_CloseDevice(stg_id); +#if(IPCAM_FUNC==DISABLE && SDHOTPLUG_FUNCTION == DISABLE) + System_PowerOff(SYS_POWEROFF_NORMAL); +#endif + } + } else { + TM_BOOT_BEGIN("sdio", "mount_fs"); + m_BootState_Drive[stg_id] = BOOT_CARD_STATE_REMOVED; + #if (FS_SWITCH_STRG_FUNC == ENABLE) + if (stg_id==0) { + DX_HANDLE pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT|FS_DX_TYPE_DRIVE_B); + if (GxStrg_OpenDevice(stg_id, pStrgDev)!= TRUE) { + char* pDxName="unknown"; + Dx_GetInfo(pStrgDev, DX_INFO_NAME,&pDxName); + DBG_ERR("Storage mount %s fail\r\n",pDxName); + return NVTEVT_CONSUME; + } + System_SetState(SYS_STATE_CARD, CARD_INSERTED); + return NVTEVT_CONSUME; + } + #else + // boot without card, send attach to continue UI flow. + // because of UserWaitEvent(NVTEVT_STRG_ATTACH, ¶mNum, paramArray); + Ux_PostEvent(NVTEVT_STRG_ATTACH, 2, stg_id, 0xFF); + #endif + } + + DX_HANDLE pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | m_FsDxTypeMap[stg_id]); + if (GxStrg_CloseDevice(stg_id) != TRUE) { + char *pDxName = "unknown"; + Dx_GetInfo(pStrgDev, DX_INFO_NAME, &pDxName); + DBG_ERR("Storage mount %s fail\r\n", pDxName); + return NVTEVT_CONSUME; + } + + return NVTEVT_CONSUME; +} + +INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) +{ + #if defined(__FREERTOS) + SHMINFO *p_shm; + unsigned char *p_fdt = (unsigned char *)fdt_get_base(); + int len; + int nodeoffset; + const void *nodep; /* property node pointer */ + unsigned int *p_data; + #endif + UINT32 result = paramArray[1]; + #if HUNTING_CAMERA_MCU == ENABLE + SF_MESSAGE_BUF_S stMessageBuf = {0}; + UINT32 strg_id = paramArray[0]; + + #endif +#if defined(__FREERTOS) + if (p_fdt== NULL) { + DBG_ERR("p_fdt is NULL.\n"); + return NVTEVT_CONSUME; + } + + // read SHMEM_PATH + nodeoffset = fdt_path_offset(p_fdt, SHMEM_PATH); + if (nodeoffset < 0) { + DBG_ERR("failed to offset for %s = %d \n", SHMEM_PATH, nodeoffset); + } else { + DBG_DUMP("offset for %s = %d \n", SHMEM_PATH, nodeoffset); + } + nodep = fdt_getprop(p_fdt, nodeoffset, "reg", &len); + if (len == 0 || nodep == NULL) { + DBG_ERR("failed to access reg.\n"); + return NVTEVT_CONSUME; + } else { + p_data = (unsigned int *)nodep; + p_shm = (SHMINFO *)be32_to_cpu(p_data[0]); + DBG_DUMP("p_shm = 0x%08X\n", (int)p_shm); + } + ////////////////////////////////////////////////// +#endif + + if (m_GxStrgType == FST_FS_TYPE_LINUX) { + //Do Nothing + } else { //m_GxStrgType == FST_FS_TYPE_UITRON + //if spi use RamDisk as inner Memory,need to format RamDisk +#if defined(_EMBMEM_SPI_NOR_) + FS_HANDLE pStrgDevCur = (FS_HANDLE)GxStrg_GetDevice(0); + FS_HANDLE pStrgDevRAM = (FS_HANDLE)Dx_GetObject(DX_CLASS_STORAGE_EXT | USER_DX_TYPE_EMBMEM_FAT); + + if ((pStrgDevCur == pStrgDevRAM) && (result != FST_STA_OK)) { + result = FileSys_FormatDisk(pStrgDevCur, TRUE); + } +#endif + } + + DBG_WRN("stg_id = %lu\n", paramArray[0]); + + switch (result) { + case FST_STA_OK: + printf("read only = %llu\n", FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY)); + if(FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY)){ + system("mount -t vfat /dev/mmcblk0 /mnt/sd/ -o remount,rw"); + } +//#if (USE_DCF == ENABLE) +// if (!UI_GetData(FL_IsCopyToCarding)) { + DCF_ScanObj(); +// } +//#endif + //FileSys_GetDiskInfo(FST_INFO_DISK_SIZE); + System_SetState(SYS_STATE_FS, FS_INIT_OK); + + #if HUNTING_CAMERA_MCU == ENABLE + INT32 uiStatus = 0; + UINT8 ucAttrib = 0; + uiStatus = FileSys_GetAttrib(PHOTO_THUMB_PATH, &ucAttrib); + if (uiStatus == FST_STA_OK) { + if(!(ucAttrib&FST_ATTRIB_HIDDEN)){ + #if SF_IQ_TEST != ENABLE + FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE); + #endif + } + } + else { + FileSys_MakeDir(PHOTO_THUMB_PATH); + #if SF_IQ_TEST != ENABLE + FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE); + #endif + } + #if HUNTING_CAMERA_MCU == ENABLE + + if((CMD_FORMAT_SD_STA != sf_get_card_statu())){ + stMessageBuf.arg1 = STRG_CB_MOUNT_FINISH; + stMessageBuf.arg2 = result; + stMessageBuf.arg3 = FST_STA_OK; + stMessageBuf.cmdId = CMD_SD; + sf_com_message_send_to_app(&stMessageBuf); + Ux_PostEvent(NVTEVT_STRG_MOUNT_OK, 0); + } + #endif + #endif +#if defined(__FREERTOS) + if (p_shm && p_shm->boot.LdCtrl2 & LDCF_UPDATE_FW) { + FST_FILE hFile = FileSys_OpenFile(FW_DEL_INDIACTION_PATH, FST_OPEN_READ | FST_OPEN_EXISTING); + if (hFile != NULL) { + DBG_DUMP("Detected %s, delete %s \r\n", FW_DEL_INDIACTION_PATH, LOADER_UPD_FW_PATH); + FileSys_CloseFile(hFile); + // Delete FW bin from A: + if (FileSys_DeleteFile(LOADER_UPD_FW_PATH) != FST_STA_OK) { + DBG_ERR("delete "_BIN_NAME_".BIN failed .\r\n"); + } + if (FileSys_DeleteFile(FW_DEL_INDIACTION_PATH) != FST_STA_OK) { + DBG_ERR("delete %s failed .\r\n", FW_DEL_INDIACTION_PATH); + } + } + } +#endif + +#if (LOGFILE_FUNC==ENABLE) + #if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + + if ((puiPara->DebugMode) && SxTimer_GetFuncActive(SX_TIMER_DET_SYSTEM_ERROR_ID) == 0) + #else + if (SxTimer_GetFuncActive(SX_TIMER_DET_SYSTEM_ERROR_ID) == 0) + #endif + { + LOGFILE_OPEN logOpenParm = {0}; + UINT32 maxFileNum = 32; + UINT32 maxFileSize = 0x100000; // 1MB + CHAR rootDir[LOGFILE_ROOT_DIR_MAX_LEN + 1] = "A:\\LOG\\"; + #if defined(_CPU2_LINUX_) + CHAR rootDir2[LOGFILE_ROOT_DIR_MAX_LEN + 1] = "A:\\Novatek\\LOG2\\"; + #endif + CHAR sysErrRootDir[LOGFILE_ROOT_DIR_MAX_LEN + 1] = "A:\\SYS\\"; + + logOpenParm.maxFileNum = maxFileNum; + logOpenParm.maxFileSize = maxFileSize; + logOpenParm.isPreAllocAllFiles = TRUE; + #if defined(__FREERTOS) + logOpenParm.isSaveLastTimeSysErrLog = wdt_getResetNum()>0 ? TRUE : FALSE; + #else //defined(__LINUX_USER__) + logOpenParm.isSaveLastTimeSysErrLog = FALSE; + #endif + logOpenParm.lastTimeSysErrLogBuffAddr = mempool_logfile; + logOpenParm.lastTimeSysErrLogBuffSize = POOL_SIZE_LOGFILE; + strncpy(logOpenParm.rootDir, rootDir, LOGFILE_ROOT_DIR_MAX_LEN); + #if defined(_CPU2_LINUX_) + strncpy(logOpenParm.rootDir2, rootDir2, LOGFILE_ROOT_DIR_MAX_LEN); + #endif + strncpy(logOpenParm.sysErrRootDir, sysErrRootDir, LOGFILE_ROOT_DIR_MAX_LEN); + logOpenParm.isZeroFile = TRUE; + LogFile_Open(&logOpenParm); + + //start scan + SxTimer_SetFuncActive(SX_TIMER_DET_SYSTEM_ERROR_ID, TRUE); + + } +#endif +#if (USERLOG_FUNC == ENABLE) + { + userlog_open(); + } +#endif + break; + case FST_STA_DISK_UNFORMAT: + if(strg_id == 0) + System_SetState(SYS_STATE_FS, FS_UNFORMATTED); + break; + case FST_STA_DISK_UNKNOWN_FORMAT: + if(strg_id == 0) + System_SetState(SYS_STATE_FS, FS_UNKNOWN_FORMAT); + break; + case FST_STA_CARD_ERR: + if(strg_id == 0) + System_SetState(SYS_STATE_FS, FS_DISK_ERROR); + break; + default: + if(strg_id == 0) + System_SetState(SYS_STATE_FS, FS_DISK_ERROR); + break; + } + + #if HUNTING_CAMERA_MCU == ENABLE + + if((FS_DISK_ERROR == System_GetState(SYS_STATE_FS))){ + stMessageBuf.arg1 = CMD_SD_STRG_CB_UNMOUNT_FINISH; + stMessageBuf.cmdId = CMD_SD; + sf_com_message_send_to_app(&stMessageBuf); + } + #endif +#if (POWERON_FAST_BOOT == ENABLE) + INIT_SETFLAG(FLGINIT_STRGATH); +#endif + Ux_PostEvent(NVTEVT_STORAGE_INIT, 0, 0); +#if (PWR_FUNC == ENABLE) + GxPower_SetControl(GXPWR_CTRL_AUTOSLEEP_EN, 0xff); //reset +#endif + return NVTEVT_CONSUME; +} + +INT32 System_OnStrgDetach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) +{ + if (m_GxStrgType == FST_FS_TYPE_LINUX) { + UINT32 stg_id = paramArray[0]; + + if (stg_id != 0) { //not sd-1 + return NVTEVT_CONSUME; + } + } + + switch (paramArray[1]) { + case FST_STA_OK: + DBG_IND("FS: unmount OK\r\n"); + break; + + default: + DBG_ERR("^RFS: unmount FAIL\r\n"); + break; + } + return NVTEVT_CONSUME; +} + +BOOL gChkCardPwrOn = FALSE; +BOOL gChkCardChange = FALSE; + +void Storage_PowerOn_Start(void) +{ + gChkCardPwrOn = GxStrg_GetDeviceCtrl(0, CARD_INSERT); + DBG_IND("^BStg Power On = %d\r\n", gChkCardPwrOn); +} +void Storage_UpdateSource(void) +{ + DBG_IND("^Y-------------CARD det\r\n"); + if (gChkCardPwrOn) { + if (FALSE == GxStrg_GetDeviceCtrl(0, CARD_INSERT)) { //CARD�w�ް� + gChkCardChange = TRUE; + } + } else { + if (TRUE == GxStrg_GetDeviceCtrl(0, CARD_INSERT)) { //CARD�w���J + gChkCardChange = TRUE; + } + } +} +void Storage_PowerOn_End(void) +{ + Storage_UpdateSource(); + gChkCardPwrOn = GxStrg_GetDeviceCtrl(0, CARD_INSERT); + + if (TRUE == gChkCardChange) { //CARD���g���� + System_PowerOff(SYS_POWEROFF_NORMAL); //���� + return; + } +} + + +/////////////////////////////////////////////////////////////////////////////// +// +// PSTORE +// +/////////////////////////////////////////////////////////////////////////////// +#if (PST_FUNC == ENABLE) +#define PST_IND_FILE "/mnt/pstore/.psinit" + +void System_PS_Format(void) +{ + PSFMT gFmtStruct = {MAX_BLK_PER_SEC, MAX_SEC_NUM}; + PStore_Format(&gFmtStruct); +} +void System_OnStrgInit_PS(void) +{ + struct stat st; + char ind_file_name[64]; + + //PHASE-2 : Init & Open Lib or LibExt + TM_BOOT_BEGIN("nand", "init_ps"); +#if (PST_FUNC == ENABLE) + // Open PStore + PSFMT gFmtStruct = {MAX_BLK_PER_SEC, MAX_SEC_NUM}; + PSTORE_INIT_PARAM gPStoreParam; + UINT32 result = 0; +#if defined(__FREERTOS) + UINT8 *pBuf; +#endif +#if defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_) + PStore_Init(PS_TYPE_FILESYS, PST_FS_DRIVE[0]); + UINT32 paramNum; + UINT32 paramArray[MAX_MESSAGE_PARAM_NUM]; + do { + UserWaitEvent(NVTEVT_STRG_ATTACH, ¶mNum, paramArray); + } while(paramArray[0] != PST_DEV_ID); //PStore will mount first before dev[0],dev[1] +#else + PStore_Init(PS_TYPE_EMBEDED, 0); +#endif +#if defined(__FREERTOS) + pBuf = (UINT8 *)mempool_pstore; + if(!pBuf){ + DBG_ERR("fail to allocate pstore buffer of %d bytes\n", POOL_SIZE_PS_BUFFER); + return; + } + + gPStoreParam.pBuf = pBuf; + gPStoreParam.uiBufSize = POOL_SIZE_PS_BUFFER; + DBG_DUMP("PStore uiBufSize=%d\r\n", gPStoreParam.uiBufSize); +#else + gPStoreParam.pBuf = NULL; + gPStoreParam.uiBufSize = 0; +#endif + result = PStore_Open(NULL, &gPStoreParam); + + if ((result != E_PS_OK) || (stat(PST_IND_FILE, &st) != 0)) { + DBG_ERR("PStore Open fail %d format \r\n", result); + // close pstore to umount pstore partition + PStore_Close(); + // after format, pstore partition will be re-mounted, so don't call open again + PStore_Format(&gFmtStruct); + // create indicated file + strncpy(ind_file_name, "touch ", 10); + strncat(ind_file_name, PST_IND_FILE, 50); + system(ind_file_name); + } + +#if defined(_CPU2_LINUX_) + { + PSTOREIPC_OPEN PsopenObj = {0}; + // open pstore ipc + PstoreIpc_Open(&PsopenObj); + } +#endif +#endif +#if (POWERON_FAST_BOOT == ENABLE) + INIT_SETFLAG(FLGINIT_MOUNTPS); +#endif + TM_BOOT_END("nand", "init_ps"); +} +void System_OnStrgExit_PS(void) +{ +#if (PST_FUNC == ENABLE) +#if defined(_CPU2_LINUX_) + PstoreIpc_Close(); +#endif + PStore_Close(); +#endif +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// FWSTORE +// +/////////////////////////////////////////////////////////////////////////////// +#if (FWS_FUNC == ENABLE) +#include "FileSysTsk.h" +#if (FWS_FUNC == ENABLE) +#include "FwSrvApi.h" +#endif +#include "MemCheck.h" + +typedef enum { + CODE_SECTION_01 = 0, + CODE_SECTION_02, + CODE_SECTION_03, + CODE_SECTION_04, + CODE_SECTION_05, + CODE_SECTION_06, + CODE_SECTION_07, + CODE_SECTION_08, + CODE_SECTION_09, + CODE_SECTION_10, + CODE_SECTION_11, + CODE_SECTION_12, + CODE_SECTION_13, + CODE_SECTION_14, + CODE_SECTION_15, + CODE_SECTION_16, + ENUM_DUMMY4WORD(_CODE_SECTION_) +} +CODE_SECTION; + +UINT32 UserSection_Load[10] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +UINT32 UserSection_Order_full[] = { + CODE_SECTION_02, CODE_SECTION_03, CODE_SECTION_04, CODE_SECTION_05, CODE_SECTION_06, + CODE_SECTION_07, CODE_SECTION_08, CODE_SECTION_09, CODE_SECTION_10, FWSRV_PL_BURST_END_TAG +}; + +int order = 1; +void UserSection_LoadCb(const UINT32 Idx) +{ + DBG_DUMP("Section-%.2ld: (LOAD)\r\n", Idx + 1); + + UserSection_Load[Idx] = 1; //mark loaded + order++; + + if (Idx == 9) { //Section-10 + if (mp_fwsrv_work_buf) { + free(mp_fwsrv_work_buf); + mp_fwsrv_work_buf = NULL; + } + } +#if (POWERON_FAST_BOOT == ENABLE) + if (Idx == 0) { //Section-01 + INIT_SETFLAG(FLGINIT_LOADCODE1); + } + if (Idx == 1) { //Section-02 + INIT_SETFLAG(FLGINIT_LOADCODE2); + } + if (Idx == 2) { //Section-03 + INIT_SETFLAG(FLGINIT_LOADCODE3); + } + if (Idx == 9) { //Section-10 + } +#endif +} + +void System_OnStrgInit_FWS(void) +{ + SHMINFO *p_shm; + FWSRV_INIT Init = {0}; + unsigned char *p_fdt = (unsigned char *)fdt_get_base(); + + + if (p_fdt == NULL) { + DBG_ERR("p_fdt is NULL.\n"); + return; + } + + int len; + int nodeoffset; + const void *nodep; /* property node pointer */ + + // read SHMEM_PATH + nodeoffset = fdt_path_offset(p_fdt, SHMEM_PATH); + if (nodeoffset < 0) { + DBG_ERR("failed to offset for %s = %d \n", SHMEM_PATH, nodeoffset); + } else { + DBG_DUMP("offset for %s = %d \n", SHMEM_PATH, nodeoffset); + } + nodep = fdt_getprop(p_fdt, nodeoffset, "reg", &len); + if (len == 0 || nodep == NULL) { + DBG_ERR("failed to access reg.\n"); + return; + } else { + unsigned int *p_data = (unsigned int *)nodep; + p_shm = (SHMINFO *)be32_to_cpu(p_data[0]); + DBG_DUMP("p_shm = 0x%08X\n", (int)p_shm); + if (p_shm->boot.LdCtrl2 & LDCF_BOOT_CARD) { + DBG_DUMP(DBG_COLOR_HI_YELLOW"\r\nNotice: Boot from T.bin. app.dtb will load from flash!!!\r\n\r\n"DBG_COLOR_END); + } + } + + // init fwsrv + Init.uiApiVer = FWSRV_API_VERSION; + Init.StrgMap.pStrgFdt = EMB_GETSTRGOBJ(STRG_OBJ_FW_FDT); + Init.StrgMap.pStrgApp = EMB_GETSTRGOBJ(STRG_OBJ_FW_APP); + Init.StrgMap.pStrgUboot = EMB_GETSTRGOBJ(STRG_OBJ_FW_UBOOT); + Init.StrgMap.pStrgRtos = EMB_GETSTRGOBJ(STRG_OBJ_FW_RTOS); + Init.PlInit.uiApiVer = PARTLOAD_API_VERSION; + Init.PlInit.pStrg = EMB_GETSTRGOBJ(STRG_OBJ_FW_RTOS); +#if defined(_FW_TYPE_PARTIAL_COMPRESS_) + mp_fwsrv_work_buf = (void *)malloc(FW_PARTIAL_COMPRESS_WORK_BUF_SIZE); + Init.PlInit.DataType = PARTLOAD_DATA_TYPE_COMPRESS_GZ; + Init.PlInit.uiWorkingAddr = (UINT32)mp_fwsrv_work_buf; + Init.PlInit.uiWorkingSize = FW_PARTIAL_COMPRESS_WORK_BUF_SIZE ; + +#elif defined(_FW_TYPE_PARTIAL_) + mp_fwsrv_work_buf = (void *)malloc(_EMBMEM_BLK_SIZE_); + Init.PlInit.DataType = PARTLOAD_DATA_TYPE_UNCOMPRESS; + Init.PlInit.uiWorkingAddr = (UINT32)mp_fwsrv_work_buf; + Init.PlInit.uiWorkingSize = _EMBMEM_BLK_SIZE_ ; +#endif + Init.PlInit.uiAddrBegin = _BOARD_RTOS_ADDR_ + p_shm->boot.LdLoadSize; + FwSrv_Init(&Init); + FwSrv_Open(); +} + +void System_OnStrgExit_FWS(void) +{ +#if (FWS_FUNC == ENABLE) + ER er; + er = FwSrv_Close(); + if (er != FWSRV_ER_OK) { + DBG_ERR("Close failed!\r\n"); + } +#endif +} + +void System_CPU2_Start(void) +{ +} + +void System_CPU2_Stop(void) +{ +} + +void System_CPU2_WaitReady(void) +{ +} + +void System_DSP_Start(void) +{ +} + +void System_DSP_WaitReady(void) +{ +} + +void System_OnStrg_DownloadFW(void) +{ +#if defined(_FW_TYPE_PARTIAL_) || defined(_FW_TYPE_PARTIAL_COMPRESS_) + SHMINFO *p_shm; + unsigned char *p_fdt = (unsigned char *)fdt_get_base(); + + if (p_fdt == NULL) { + DBG_ERR("p_fdt is NULL.\n"); + return; + } + + int len; + int nodeoffset; + const void *nodep; /* property node pointer */ + + // read SHMEM_PATH + nodeoffset = fdt_path_offset(p_fdt, SHMEM_PATH); + if (nodeoffset < 0) { + DBG_ERR("failed to offset for %s = %d \n", SHMEM_PATH, nodeoffset); + } else { + DBG_DUMP("offset for %s = %d \n", SHMEM_PATH, nodeoffset); + } + nodep = fdt_getprop(p_fdt, nodeoffset, "reg", &len); + if (len == 0 || nodep == NULL) { + DBG_ERR("failed to access reg.\n"); + return; + } else { + unsigned int *p_data = (unsigned int *)nodep; + p_shm = (SHMINFO *)be32_to_cpu(p_data[0]); + DBG_DUMP("p_shm = 0x%08X\n", (int)p_shm); + } + + if ((p_shm->boot.LdCtrl2 & LDCF_BOOT_CARD) == 0) { + FWSRV_CMD Cmd = {0}; + FWSRV_PL_LOAD_BURST_IN pl_in = {0}; + + // start partial load + void (*LoadCallback)(const UINT32 Idx) = UserSection_LoadCb; + UINT32 *SecOrderTable = UserSection_Order_full; + + LoadCallback(CODE_SECTION_01); // 1st part has loaded by loader + + ER er; + pl_in.puiIdxSequence = SecOrderTable; + pl_in.fpLoadedCb = LoadCallback; + Cmd.Idx = FWSRV_CMD_IDX_PL_LOAD_BURST; //continue load + Cmd.In.pData = &pl_in; + Cmd.In.uiNumByte = sizeof(pl_in); + Cmd.Prop.bExitCmdFinish = TRUE; + + er = FwSrv_Cmd(&Cmd); + if (er != FWSRV_ER_OK) { + DBG_ERR("Process failed!\r\n"); + return; + } + } +#endif + return; +} +#endif + +#if (IPCAM_FUNC != ENABLE) + +#include "SysFW_Upgrade.h" + +UINT32 System_OnStrg_UploadFW(UINT32 DevID) +{ + INT32 fst_er; +// ER fws_er; + unsigned char *p_Mem = NULL; + FST_FILE hFile = NULL; + UINT32 uiFwSize = 0; + DBG_FUNC_BEGIN("\r\n"); + + //m_bUpdRename = FALSE; + + uiFwSize = FileSys_GetFileLen(FW_UPDATE_NAME); + uiFwSize += _EMBMEM_BLK_SIZE_; /* IMPOARTANT!! */ + + hFile = FileSys_OpenFile(FW_UPDATE_NAME, FST_OPEN_READ); + + if (hFile == 0) { + DBG_ERR("cannot find %s\r\n", FW_UPDATE_NAME); + return UPDNAND_STS_FW_INVALID_STG; + } + + + + p_Mem = (unsigned char *)SxCmd_GetTempMem(uiFwSize); + if(NULL == p_Mem){ + DBG_ERR("Alloc Temp Mem is NULL(uiFwSize=%d)\r\n",uiFwSize); + return UPDNAND_STS_FW_READ2_ERR; + } + + fst_er = FileSys_ReadFile(hFile, (UINT8 *)p_Mem, &uiFwSize, 0, NULL); + DBG_IND("Update Filename=%s, File Size=%d\r\n",FW_UPDATE_NAME,uiFwSize); + FileSys_CloseFile(hFile); + if (fst_er != FST_STA_OK) { + DBG_ERR("FW bin read fail\r\n"); + return UPDNAND_STS_FW_READ_ERR; + } + + DBG_DUMP("p_Mem = %lx size = %lx\n", (UINT32)p_Mem, (UINT32)uiFwSize); + + SysFW_Upgrade_Init(); + SysFW_Upgrade((UINT32)p_Mem, (UINT32)uiFwSize); + +// FWSRV_BIN_UPDATE_ALL_IN_ONE Desc = {0}; +// Desc.uiSrcBufAddr = (UINT32)p_Mem; +// Desc.uiSrcBufSize = (UINT32)uiFwSize; +// Desc.fpCheckSumCb = CheckSumOKCb; //we rename bin after check sum OK +// +// FWSRV_CMD Cmd = {0}; +// Cmd.Idx = FWSRV_CMD_IDX_BIN_UPDATE_ALL_IN_ONE; //continue load +// Cmd.In.pData = &Desc; +// Cmd.In.uiNumByte = sizeof(Desc); +// Cmd.Prop.bExitCmdFinish = TRUE; +// +// fws_er = FwSrv_Cmd(&Cmd); + + + SxCmd_RelTempMem((UINT32)p_Mem); + + /* + if(fws_er == FWSRV_ER_INVALID_UPDATED_DATA || fws_er == FWSRV_ER_WRITE_BLOCK) + { + DBG_ERR("update failed, start to use loader update mechanism.\r\n"); + //GxSystem_EnableHWReset(0); + //GxSystem_PowerOff(); + return UPDNAND_STS_FW_WRITE_CHK_ERR; + } + else if(fws_er != FWSRV_ER_OK) + { + DBG_ERR("FW bin check failed %d\r\n",fws_er); + if(m_bUpdRename) + { + if(FileSys_RenameFile(&uiUpdateFWName[3],LOADER_UPD_FW_PATH, TRUE)==FST_STA_OK) //[3]: remove "A:\\" + { + FileSys_DeleteFile(FW_DEL_INDIACTION_PATH); + } + } + return UPDNAND_STS_FW_READ_CHK_ERR; + } + */ + DBG_FUNC_END("\r\n"); + return UPDNAND_STS_FW_OK; +} +#endif + +#if (LOGFILE_FUNC==ENABLE) +void System_DetErr(void) +{ + #if 0 //LOGFILE_FUNC TODO + extern void LogFile_DumpMemAndSwReset(void); + + #if (LOGFILE_FUNC==ENABLE) + if (LogFile_ChkSysErr() != E_OK) { + LogFile_DumpMemAndSwReset(); + } + #endif + #endif //LOGFILE_FUNC TODO +} +#endif + +/////////////////////////////////////////////////////////////////////////////// diff --git a/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.c b/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.c index 5bc501f51..933e6a002 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.c +++ b/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.c @@ -1,5 +1,4 @@ #include "PrjInc.h" -#include "UIApp/Background/UIBackgroundObj.h" #include "sf_param_common.h" #include "sys_mempool.h" #include "Dx.h" @@ -54,7 +53,6 @@ static UINT32 BackgroundCopyCard2ToCard1(void); #endif static UINT32 BackgroundFormat(void); static UINT32 BackgroundFormatCard(void); -static UINT32 BackgroundFormatEmmc(void); static UINT32 BackgroundFormatNand(void); static UINT32 BackgroundNumReset(void); #if (USE_DPOF==ENABLE) @@ -145,7 +143,6 @@ BKG_JOB_ENTRY gBackgroundExtFuncTable[] = { #endif {NVTEVT_BKW_FORMAT, BackgroundFormat}, {NVTEVT_BKW_FORMAT_CARD, BackgroundFormatCard}, - {NVTEVT_BKW_FORMAT_EMMC, BackgroundFormatEmmc}, {NVTEVT_BKW_FORMAT_NAND, BackgroundFormatNand}, {NVTEVT_BKW_NUM_RESET, BackgroundNumReset}, #if (USB_MODE==ENABLE) @@ -859,11 +856,6 @@ UINT32 BackgroundFormat(void) return (UINT32)ret; } -UINT32 BackgroundFormatEmmc(void) -{ - printf(" BackgroundFormatEmmc\n "); - return TRUE; -} UINT32 BackgroundFormatCard(void) { int ret; diff --git a/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.h b/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.h index 79bdda107..4eb1528eb 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.h +++ b/code/application/source/cardv/SrcCode/UIApp/Background/UIBackgroundObj.h @@ -11,7 +11,6 @@ typedef enum { NVTEVT_BKW_COPYCARD2ToCARD1, NVTEVT_BKW_FORMAT, NVTEVT_BKW_FORMAT_CARD, - NVTEVT_BKW_FORMAT_EMMC, NVTEVT_BKW_FORMAT_NAND, NVTEVT_BKW_NUM_RESET, NVTEVT_BKW_SETDPOF, diff --git a/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c b/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c index 78b03f071..46809a47c 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c @@ -37,7 +37,6 @@ #endif #include "vendor_videoout.h" #include "IOCfg.h" -#include "sf_mmc_dev.h" #define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER /////////////////////////////////////////////////////////////////////////////// @@ -59,6 +58,8 @@ static UINT32 g_FileSerialNum = 0; static BOOL g_bAllowRawEnc = TRUE; static UINT32 raw_enc_path = 0; +extern DCF_HANDLE System_Get_DCF_Handle(void); +extern CHAR System_Get_DCF_Disk_Drive(DCF_HANDLE handle); /********************************************************************************** * independent thumbnail *********************************************************************************/ @@ -834,7 +835,7 @@ static void MovieExe_WifiCB(HD_VIDEO_FRAME *pEthcamSrc) //#if (MOVIE_UVAC_FUNC == DISABLE) //if (System_GetState(SYS_STATE_CURRSUBMODE) != SYS_SUBMODE_WIFI) { if (ImageApp_MovieMulti_IsStreamRunning(_CFG_STRM_ID_1) == FALSE) { - vos_util_delay_ms(10); + vos_util_delay_ms(10); return; } //#endif @@ -1218,11 +1219,6 @@ BOOL MovieExe_CheckSNFull(void) static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName) { - MMC_DEV_TYPE mmc_dev = sf_mmc_check_workable_dev(); - if(mmc_dev == MMC_DEV_NO) - { - DBG_ERR("No Strg dev can use!\n"); - } #if USE_FILEDB static struct tm CurDateTime = {0}; @@ -1232,19 +1228,10 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName) g_FileSerialNum = FILE_SN_MAX; Ux_PostEvent(NVTEVT_CB_MOVIE_FULL, 0); } + GxTime_GetTime(&CurDateTime); #if(SENSOR_CAPS_COUNT>=2 || ((defined(_NVT_ETHREARCAM_RX_)) && (ETH_REARCAM_CAPS_COUNT >= 2))) - char NH_endChar='A'; - - //if(mmc_dev == MMC_DEV_SD) - { - //NH_endChar='A'; - } - //else if(mmc_dev == MMC_DEV_EMMC) - { - //NH_endChar='B'; - } - + char NH_endChar='A'; if(id < _CFG_REC_ID_MAX){ NH_endChar+=id; }else if(id <_CFG_CLONE_ID_MAX){ @@ -1262,26 +1249,18 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName) CurDateTime.tm_hour, CurDateTime.tm_min, CurDateTime.tm_sec, g_FileSerialNum); #endif #elif USE_DCF - UINT32 dcf_path = 1; - if(mmc_dev == MMC_DEV_SD) - { - dcf_path = 1; /* 0:emmc 1:sd */ - } - else if(mmc_dev == MMC_DEV_EMMC) - { - dcf_path = 0; /* 0:emmc 1:sd */ - } + UINT32 dcf_handle = (UINT32) System_Get_DCF_Handle(); UINT32 nextFolderID = 0, nextFileID = 0; - if (DCF_GetDBInfoEx(dcf_path, DCF_INFO_IS_9999)) { + if (DCF_GetDBInfoEx(dcf_handle, DCF_INFO_IS_9999)) { DBG_ERR("Exceed max dcf file!\r\n"); pFileName[0] = '\0'; } else { - DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID); - DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName); - DCF_AddDBfileEx(dcf_path, pFileName); - DBG_DUMP("%s added to DCF Path%lu\r\n", pFileName, dcf_path); + DCF_GetNextIDEx(dcf_handle, &nextFolderID,&nextFileID); + DCF_MakeObjPathEx(dcf_handle, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName); + DCF_AddDBfileEx(dcf_handle, pFileName); + DBG_DUMP("%s added to DCF Path%lu\r\n", pFileName, dcf_handle); #if HUNTING_CAMERA_MCU == ENABLE char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'}; sprintf(tmp, "S%03d%04d.JPG", nextFolderID, nextFileID); @@ -1342,14 +1321,14 @@ static void MovieExe_RawEncodeFileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName) #elif USE_DCF UINT32 nextFolderID = 0, nextFileID = 0; - UINT32 dcf_path = 1; + UINT32 dcf_handle = (UINT32) System_Get_DCF_Handle(); - if (DCF_GetDBInfoEx(dcf_path, DCF_INFO_IS_9999)) { + if (DCF_GetDBInfoEx(dcf_handle, DCF_INFO_IS_9999)) { DBG_ERR("Exceed max dcf file!\r\n"); pFileName[0] = '\0'; } else { - DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID); - DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName); + DCF_GetNextIDEx(dcf_handle, &nextFolderID,&nextFileID); + DCF_MakeObjPathEx(dcf_handle, nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName); } #endif @@ -1586,9 +1565,9 @@ static void MovieExe_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32 #if HUNTING_CAMERA_MCU == ENABLE - snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, thumb_current_path); /* DCF 8.3 naming rule */ + snprintf(tmp, sizeof(tmp), "%c%s%s", System_Get_DCF_Disk_Drive(System_Get_DCF_Handle()), MOVIE_THUMB_PATH, thumb_current_path); /* DCF 8.3 naming rule */ #else - snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, (thumb_current_path + (length - 12))); /* DCF 8.3 naming rule */ + snprintf(tmp, sizeof(tmp), "%c%s%s", System_Get_DCF_Disk_Drive(System_Get_DCF_Handle()), MOVIE_THUMB_PATH, (thumb_current_path + (length - 12))); /* DCF 8.3 naming rule */ snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG"); #endif @@ -1931,7 +1910,16 @@ INT32 MovieExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) DBG_FUNC("\r\n"); - FileSys_MakeDir(MOVIE_THUMB_PATH); + char thumb_dir[128] = {'\0'}; + sprintf(thumb_dir, "%c%s", 'A', MOVIE_THUMB_PATH); + FileSys_MakeDir(thumb_dir); + +#if FS_MULTI_STRG_FUNC + sprintf(thumb_dir, "%c%s", 'B', MOVIE_THUMB_PATH); + FileSys_MakeDir(thumb_dir); +#endif + + GOIO_Turn_Onoff_IRCUT(1); Movie_CommPoolInit(); diff --git a/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c b/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c index c0740a58b..33bfdd015 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c @@ -52,7 +52,8 @@ #define DZOOM_MAX_STEP 6 //Please setting acording the DZoom table BOOL _g_bFirstPhoto = TRUE; - +extern DCF_HANDLE System_Get_DCF_Handle(void); +extern CHAR System_Get_DCF_Disk_Drive(DCF_HANDLE handle); /********************************************************************************** * independent thumbnail *********************************************************************************/ @@ -2596,10 +2597,23 @@ INT32 PhotoExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) g_photo_ImageRatioSize = IMAGERATIO_SIZE[ImageRatioIdx]; // g_photo_ImageRatioSize = IMAGERATIO_SIZE[4]; - FileSys_MakeDir(PHOTO_THUMB_PATH); - #if SF_IQ_TEST != ENABLE - FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE); - #endif + char thumb_dir[128] = {'\0'}; + + sprintf(thumb_dir, "%c%s", 'A', PHOTO_THUMB_PATH); + FileSys_MakeDir(thumb_dir); + +#if SF_IQ_TEST != ENABLE + FileSys_SetAttrib(thumb_dir, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE); +#endif + +#if FS_MULTI_STRG_FUNC + sprintf(thumb_dir, "%c%s", 'B', PHOTO_THUMB_PATH); + FileSys_MakeDir(thumb_dir); +#if SF_IQ_TEST != ENABLE + FileSys_SetAttrib(thumb_dir, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE); +#endif +#endif + GOIO_Turn_Onoff_IRCUT(1); //sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,0); @@ -6185,19 +6199,19 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par DBG_ERR("primary buffer overflow during combine jpg!\r\n"); } - UINT32 dcf_path = 1; /* 0:emmc , 1:sd */ + UINT32 dcf_handle = (UINT32)System_Get_DCF_Handle(); FstStatus.Status = ImageApp_Photo_WriteCB( dst_jpg_file.addr, dst_jpg_file.size, - HD_CODEC_TYPE_JPEG, dcf_path); + HD_CODEC_TYPE_JPEG, dcf_handle); { char* file_path = ImageApp_Photo_GetLastWriteFilePath(); char tmp[256] = {'\0'}; UINT32 length = strlen(file_path); - snprintf(tmp, sizeof(tmp), "%s%s", PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */ + snprintf(tmp, sizeof(tmp), "%c%s%s", System_Get_DCF_Disk_Drive(dcf_handle), PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */ snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG"); DBG_DUMP("PHOTO THUMB %s\n", tmp); @@ -6783,12 +6797,12 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data) extern INT32 ImageApp_Photo_WriteCB(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId); IMG_CAP_FST_INFO FstStatus = {FST_STA_OK}; - UINT32 dcf_path = 1; /* 0:emmc 1:sd */ + UINT32 dcf_handle = (UINT32)System_Get_DCF_Handle(); /* 0:emmc 1:sd */ FstStatus.Status = ImageApp_Photo_WriteCB( (UINT32)queue_ele_in->jpg_combined_addr, queue_ele_in->jpg_combined_size, - HD_CODEC_TYPE_JPEG, dcf_path); + HD_CODEC_TYPE_JPEG, dcf_handle); { char* file_path = ImageApp_Photo_GetLastWriteFilePath(); @@ -6803,11 +6817,11 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data) strncpy(number, file_path + length - 8, 4); number[4] = '\0'; - snprintf(tmp, sizeof(tmp), "%sW%s%s.JPG", PHOTO_THUMB_PATH, folder, number); /* DCF 8.3 naming rule */ + snprintf(tmp, sizeof(tmp), "%c%sW%s%s.JPG", System_Get_DCF_Disk_Drive(dcf_handle), PHOTO_THUMB_PATH, folder, number); /* DCF 8.3 naming rule */ #else - snprintf(tmp, sizeof(tmp), "%s%s", PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */ + snprintf(tmp, sizeof(tmp), "%c%s%s", System_Get_DCF_Disk_Drive(dcf_handle), PHOTO_THUMB_PATH, file_path + length - 12); /* DCF 8.3 naming rule */ snprintf(tmp + strlen(tmp) - 3, sizeof(tmp), "%s", "JPG"); #endif DBG_IND("PHOTO THUMB %s\n", tmp); @@ -6818,22 +6832,22 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data) FileSys_CloseFile(fp); #if HUNTING_CAMERA_MCU == ENABLE char tmp2[64] = {'\0'}; - //UIMenuStoreInfo *puiPara = sf_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); memset(tmp, '\0', sizeof(tmp)); SF_FILE_TYPE_E enFileType = 0; - if(SF_CAM_MODE_PHOTO == sf_get_cammode_statu()){ + if(SF_CAM_MODE_PHOTO == puiPara->CamMode){ enFileType = SF_FILE_TYPE_PIC_SMALL; - }else if(SF_CAM_MODE_PHOTO_VIDEO == sf_get_cammode_statu()){ + }else if(SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode){ enFileType = SF_FILE_TYPE_PIC_VIDEO; } - else if(SF_CAM_MODE_VIDEO2 == sf_get_cammode_statu()){ + else if(SF_CAM_MODE_VIDEO2 == puiPara->CamMode){ enFileType = SF_FILE_TYPE_PIC_VIDEO; } snprintf(tmp, sizeof(tmp), "%sW%s%s.JPG", SF_SEND_LIST_DIR, folder, number); /* DCF 8.3 naming rule */ snprintf(tmp2, sizeof(tmp2), "W%s%s.JPG", folder, number); /* DCF 8.3 naming rule */ DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2); sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, enFileType); - if((!sf_get_mode_flag()) || ((FALSE == sf_check_net_work_flag()) && (0 < sf_cardv_get_cq_signal()) && (SF_CAM_MODE_PHOTO == sf_get_cammode_statu()))) + if((!sf_get_mode_flag()) || ((FALSE == sf_check_net_work_flag()) && (0 < sf_cardv_get_cq_signal()) && (SF_CAM_MODE_PHOTO == puiPara->CamMode))) { if(SUCCESS == sf_share_mem_file_down(0, 0)){ sf_set_send_statu(TRUE); diff --git a/code/application/source/cardv/SrcCode/UIApp/UsbDisk/UIAppUsbDisk_Exe.c b/code/application/source/cardv/SrcCode/UIApp/UsbDisk/UIAppUsbDisk_Exe.c index 5835176fd..8e199bc73 100755 --- a/code/application/source/cardv/SrcCode/UIApp/UsbDisk/UIAppUsbDisk_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/UsbDisk/UIAppUsbDisk_Exe.c @@ -150,12 +150,6 @@ ER AppInit_ModeUSBMSDC(void) //If project doesn't need the MSDC Vendor command, set this callback function as NULL. MSDCInfo.msdc_check_cb = NULL; MSDCInfo.msdc_vendor_cb = NULL; - //#NT#2016/12/20#Niven Cho -begin - //#NT#MULTI_DRIVE -//#if (FS_MULTI_STRG_FUNC == ENABLE) -// char *pDxName2 = NULL; -// DX_HANDLE pStrgDev2 = 0; -//#endif pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A); @@ -166,10 +160,6 @@ ER AppInit_ModeUSBMSDC(void) } #endif -//#if (FS_MULTI_STRG_FUNC == ENABLE) -// pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_B); -//#endif - MSDCInfo.pStrgHandle[0] = (PSTRG_TAB)Dx_Getcaps(pStrgDev, STORAGE_CAPS_HANDLE, 0); if (Dx_GetInfo(pStrgDev, DX_INFO_NAME, &pDxName) != DX_OK) { @@ -192,14 +182,6 @@ ER AppInit_ModeUSBMSDC(void) DBG_DUMP("handle = %lx, open = %lx, pDxName2 ===>%s, type=%lu, status=%lu\r\n", MSDCInfo.pStrgHandle[1], MSDCInfo.pStrgHandle[1]->Open, pDxName2, MSDCInfo.pStrgHandle[1]->uiStrgType, MSDCInfo.pStrgHandle[1]->uiStrgStatus); #endif -//#if (FS_MULTI_STRG_FUNC == ENABLE) -// MSDCInfo.pStrgHandle[1] = pStrgDev2; -// -// if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) { -// pDxName2 = NULL; -// } -//#endif - #if (FS_MULTI_STRG_FUNC == ENABLE) MSDCInfo.msdc_storage_detCB[0] = (MSDC_StorageDet_CB)DrvCARD_DetStrgCard; @@ -210,13 +192,6 @@ ER AppInit_ModeUSBMSDC(void) MSDCInfo.msdc_type[1] = MSDC_STRG; MSDCInfo.LUNs = 2; -// MSDCInfo.msdc_storage_detCB[0] = NULL; -// MSDCInfo.msdc_strgLock_detCB[0] = NULL; -// MSDCInfo.pStrgHandle[0] = MSDCInfo.pStrgHandle[1]; -// MSDCInfo.msdc_type[0] = MSDC_STRG; -// MSDCInfo.LUNs = 1; - - #else if (pDxName == NULL || strcmp(pDxName, "Storage_EmbMem5") == 0) { MSDCInfo.msdc_storage_detCB[0] = NULL; @@ -292,7 +267,7 @@ INT32 MSDCExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) pLastStrgDev = GxStrg_GetDevice(0); if (pLastStrgDev == 0) { - //PowerOn_CB() POWERON_CB_SXOPEN ¨S¦³´£¦­±Ò°ÊFile System + //PowerOn_CB() POWERON_CB_SXOPEN �S�������Ұ�File System DBG_ERR("MSDC: Wait for FS start...\r\n"); FileSys_WaitFinish(); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Images/images.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Images/images.c index 5bf5029c6..4fe92433c 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Images/images.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Images/images.c @@ -95943,390 +95943,6 @@ const lv_img_dsc_t sf_list_selected = { }; -#ifndef LV_ATTRIBUTE_MEM_ALIGN -#define LV_ATTRIBUTE_MEM_ALIGN -#endif - -#ifndef LV_ATTRIBUTE_IMG_SF_LIST_SELECTED_NEXT1 -#define LV_ATTRIBUTE_IMG_SF_LIST_SELECTED_NEXT1 -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_SF_LIST_SELECTED_NEXT1 uint8_t sf_list_selected_next1_map[] = { - /*Pixel format: Red: 8 bit, Green: 8 bit, Blue: 8 bit*/ -#if LV_COLOR_DEPTH == 8 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,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,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -#elif LV_COLOR_DEPTH == 16 - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, -#elif LV_COLOR_DEPTH == 24 - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, -#elif LV_COLOR_DEPTH == 32 - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, -#endif - -}; - -const lv_img_dsc_t sf_list_selected_next1 = { - .header.always_zero = 0, - .header.w = 56, - .header.h = 40, - .data_size = 2240 * LV_COLOR_SIZE / 8, -#if ((LV_COLOR_DEPTH == 32) || (LV_COLOR_DEPTH == 24)) - .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED, -#else - .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED, -#endif - .data = sf_list_selected_next1_map -}; - - -#ifndef LV_ATTRIBUTE_MEM_ALIGN -#define LV_ATTRIBUTE_MEM_ALIGN -#endif - -#ifndef LV_ATTRIBUTE_IMG_SF_LIST_SELECTED_NEXT2 -#define LV_ATTRIBUTE_IMG_SF_LIST_SELECTED_NEXT2 -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_SF_LIST_SELECTED_NEXT2 uint8_t sf_list_selected_next2_map[] = { - /*Pixel format: Red: 8 bit, Green: 8 bit, Blue: 8 bit*/ -#if LV_COLOR_DEPTH == 8 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -#elif LV_COLOR_DEPTH == 16 - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, -#elif LV_COLOR_DEPTH == 24 - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, -#elif LV_COLOR_DEPTH == 32 - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, -#endif - -}; - -const lv_img_dsc_t sf_list_selected_next2 = { - .header.always_zero = 0, - .header.w = 56, - .header.h = 40, - .data_size = 2240 * LV_COLOR_SIZE / 8, -#if ((LV_COLOR_DEPTH == 32) || (LV_COLOR_DEPTH == 24)) - .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED, -#else - .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED, -#endif - .data = sf_list_selected_next2_map -}; - - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif @@ -101927,198 +101543,6 @@ const lv_img_dsc_t sf_qr = { }; -#ifndef LV_ATTRIBUTE_MEM_ALIGN -#define LV_ATTRIBUTE_MEM_ALIGN -#endif - -#ifndef LV_ATTRIBUTE_IMG_SF_QR_PAGE -#define LV_ATTRIBUTE_IMG_SF_QR_PAGE -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_SF_QR_PAGE uint8_t sf_qr_page_map[] = { - /*Pixel format: Red: 8 bit, Green: 8 bit, Blue: 8 bit*/ -#if LV_COLOR_DEPTH == 8 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0xc7,0xc7,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0xc7,0xc7,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -#elif LV_COLOR_DEPTH == 16 - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0x65,0x45,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, - 0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50,0xea,0x50, -#elif LV_COLOR_DEPTH == 24 - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0x65,0x45,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, - 0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff,0xea,0x50,0xff, -#elif LV_COLOR_DEPTH == 32 - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x29,0xaf,0x42,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, - 0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff,0x57,0x1f,0x55,0xff, -#endif - -}; - -const lv_img_dsc_t sf_qr_page = { - .header.always_zero = 0, - .header.w = 48, - .header.h = 40, - .data_size = 1920 * LV_COLOR_SIZE / 8, -#if ((LV_COLOR_DEPTH == 32) || (LV_COLOR_DEPTH == 24)) - .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED, -#else - .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED, -#endif - .data = sf_qr_page_map -}; - - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_DE.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_DE.c index d85aa8471..146442ad2 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_DE.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_DE.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_DE_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_EN.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_EN.c index 3defc1f1d..8296a1963 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_EN.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_EN.c @@ -585,7 +585,7 @@ lv_plugin_string_t lv_plugin_EN_string_table[] = { { "Sensitivity", 11 }, /* LV_PLUGIN_STRING_ID_STRING_SENSITIVITY */ { "Delay", 5 }, /* LV_PLUGIN_STRING_ID_STRING_DELAY */ { "Operating Time", 14 }, /* LV_PLUGIN_STRING_ID_STRING_OPERATING_TIME */ - { "Format", 6 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD */ + { "Format SD", 9 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD */ { "Date&Time", 9 }, /* LV_PLUGIN_STRING_ID_STRING_DATE_AND_TIME */ { "Max Num/Day", 11 }, /* LV_PLUGIN_STRING_ID_STRING_MAX_NUM_DAY */ { "Settings Check", 14 }, /* LV_PLUGIN_STRING_ID_STRING_SETTINGS_CHECK */ @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_EN_string_table[] = { { "40M", 3 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "Enter Work Mode?", 16 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "Confirm delete?", 15 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "EMMC", 4 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "SD Card", 7 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_ES.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_ES.c index 28a0c207e..462adf18c 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_ES.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_ES.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_ES_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_FR.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_FR.c index 2532a6975..68f97dbad 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_FR.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_FR.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_FR_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_IT.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_IT.c index a2c00ecff..83324ea73 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_IT.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_IT.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_IT_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_JP.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_JP.c index 1cd303643..d06665454 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_JP.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_JP.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_JP_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_PO.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_PO.c index 260de90e3..457787f16 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_PO.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_PO.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_PO_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_RU.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_RU.c index 9f75910ef..2a8eb2956 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_RU.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_RU.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_RU_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_SC.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_SC.c index 54cc8a378..fd58a31fd 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_SC.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_SC.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_SC_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_TC.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_TC.c index 7ac4da87d..ce9da501d 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_TC.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Languages/Language_TC.c @@ -682,8 +682,6 @@ lv_plugin_string_t lv_plugin_TC_string_table[] = { { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_SIZE_40M */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE */ { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC */ - { "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD */ }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMenuCommonOption.lvglscr b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMenuCommonOption.lvglscr index 2947216da..de0cce347 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMenuCommonOption.lvglscr +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMenuCommonOption.lvglscr @@ -20,7 +20,7 @@ "font type": "Font_Type1", "geometry": { "height": 22, - "width": 0, + "width": 81, "x": 10, "y": 10 }, @@ -29,7 +29,7 @@ "long mode": "Expand", "name": "label_option1", "recolor": false, - "string id": "STRID_NULL_", + "string id": "None", "styles": [ { "Text": { @@ -68,14 +68,11 @@ "state": 5 }, { - "Text": { - "text_color": "0x575757" - }, "part": 0, "state": 6 } ], - "text": "", + "text": "1080P30", "widget": "Label" }, { @@ -202,7 +199,7 @@ "font type": "Font_Type1", "geometry": { "height": 22, - "width": 0, + "width": 81, "x": 10, "y": 10 }, @@ -211,7 +208,7 @@ "long mode": "Expand", "name": "label_option2", "recolor": false, - "string id": "STRID_NULL_", + "string id": "None", "styles": [ { "Text": { @@ -247,14 +244,11 @@ "state": 5 }, { - "Text": { - "text_color": "0x575757" - }, "part": 0, "state": 6 } ], - "text": "", + "text": "1080P30", "widget": "Label" }, { @@ -381,7 +375,7 @@ "font type": "Font_Type1", "geometry": { "height": 22, - "width": 0, + "width": 81, "x": 10, "y": 10 }, @@ -390,7 +384,7 @@ "long mode": "Expand", "name": "label_option3", "recolor": false, - "string id": "STRID_NULL_", + "string id": "None", "styles": [ { "Text": { @@ -426,14 +420,11 @@ "state": 5 }, { - "Text": { - "text_color": "0x575757" - }, "part": 0, "state": 6 } ], - "text": "", + "text": "1080P30", "widget": "Label" }, { @@ -560,7 +551,7 @@ "font type": "Font_Type1", "geometry": { "height": 22, - "width": 0, + "width": 81, "x": 10, "y": 10 }, @@ -569,7 +560,7 @@ "long mode": "Expand", "name": "label_option4", "recolor": false, - "string id": "STRID_NULL_", + "string id": "None", "styles": [ { "Text": { @@ -605,14 +596,11 @@ "state": 5 }, { - "Text": { - "text_color": "0x575757" - }, "part": 0, "state": 6 } ], - "text": "", + "text": "1080P30", "widget": "Label" }, { @@ -739,7 +727,7 @@ "font type": "Font_Type1", "geometry": { "height": 22, - "width": 0, + "width": 81, "x": 10, "y": 10 }, @@ -748,7 +736,7 @@ "long mode": "Expand", "name": "label_option5", "recolor": false, - "string id": "STRID_NULL_", + "string id": "None", "styles": [ { "Text": { @@ -784,14 +772,11 @@ "state": 5 }, { - "Text": { - "text_color": "0x575757" - }, "part": 0, "state": 6 } ], - "text": "", + "text": "1080P30", "widget": "Label" }, { diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr index 9aae795c2..c3f853793 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr @@ -1289,7 +1289,7 @@ "height": 30, "width": 90, "x": 38, - "y": 5 + "y": 10 }, "hidden": false, "locked": false, @@ -1346,7 +1346,7 @@ "height": 40, "width": 38, "x": 0, - "y": -5 + "y": 0 }, "hidden": true, "locked": false, @@ -1820,6 +1820,58 @@ "text": "", "widget": "Label" }, + { + "auto size": true, + "class": "lv_img", + "click": false, + "drag": false, + "event callback": "", + "geometry": { + "height": 3, + "width": 320, + "x": 0, + "y": 119 + }, + "hidden": false, + "locked": false, + "name": "image_line", + "offset": { + "X": 0, + "Y": 0 + }, + "source": "sy_redline2", + "styles": [ + { + "part": 0, + "state": 0 + }, + { + "part": 0, + "state": 1 + }, + { + "part": 0, + "state": 2 + }, + { + "part": 0, + "state": 3 + }, + { + "part": 0, + "state": 4 + }, + { + "part": 0, + "state": 5 + }, + { + "part": 0, + "state": 6 + } + ], + "widget": "Image" + }, { "align": "Center", "class": "lv_label", @@ -1877,70 +1929,6 @@ ], "text": "Searching...", "widget": "Label" - }, - { - "align": "Center", - "class": "lv_label", - "click": false, - "drag": false, - "event callback": "", - "font type": "Font_Type0", - "geometry": { - "height": 2, - "width": 320, - "x": 0, - "y": 119 - }, - "hidden": false, - "locked": false, - "long mode": "Roll", - "name": "label_line", - "recolor": false, - "string id": "None", - "styles": [ - { - "Background": { - "bg_color": "0xff0000", - "bg_grad_color": "0xff0000", - "bg_opa": 255 - }, - "Text": { - "text_color": "0xff0000", - "text_font": "SF-UI-Text-Medium 16 1bpp", - "text_opa": 0, - "text_sel_bg_color": "0x00b495", - "text_sel_color": "0x3c3c3c" - }, - "part": 0, - "state": 0 - }, - { - "part": 0, - "state": 1 - }, - { - "part": 0, - "state": 2 - }, - { - "part": 0, - "state": 3 - }, - { - "part": 0, - "state": 4 - }, - { - "part": 0, - "state": 5 - }, - { - "part": 0, - "state": 6 - } - ], - "text": "", - "widget": "Label" } ] } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr index 4056df4ae..7c3a31f66 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr @@ -2395,38 +2395,27 @@ "widget": "Label" }, { - "align": "Center", - "class": "lv_label", + "auto size": true, + "class": "lv_img", "click": false, "drag": false, "event callback": "", - "font type": "Font_Type0", "geometry": { - "height": 2, + "height": 3, "width": 320, "x": 0, "y": 119 }, "hidden": false, "locked": false, - "long mode": "Roll", - "name": "label_line", - "recolor": false, - "string id": "None", + "name": "image_line", + "offset": { + "X": 0, + "Y": 0 + }, + "source": "sy_redline2", "styles": [ { - "Background": { - "bg_color": "0xff0000", - "bg_grad_color": "0xff0000", - "bg_opa": 255 - }, - "Text": { - "text_color": "0xff0000", - "text_font": "SF-UI-Text-Medium 16 1bpp", - "text_opa": 0, - "text_sel_bg_color": "0x00b495", - "text_sel_color": "0x3c3c3c" - }, "part": 0, "state": 0 }, @@ -2455,8 +2444,7 @@ "state": 6 } ], - "text": "", - "widget": "Label" + "widget": "Image" } ] } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvgllang b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvgllang index 79f8bbcc3..68708169e 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvgllang +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvgllang @@ -852,7 +852,7 @@ "Sensitivity", "Delay", "Operating Time", - "Format", + "Format SD", "Date&Time", "Max Num/Day", "Settings Check", @@ -948,9 +948,7 @@ "32M", "40M", "Enter Work Mode?", - "Confirm delete?", - "EMMC", - "SD Card" + "Confirm delete?" ] }, { @@ -1635,8 +1633,6 @@ "", "", "", - "", - "", "" ] }, @@ -2322,8 +2318,6 @@ "", "", "", - "", - "", "" ] }, @@ -3009,8 +3003,6 @@ "", "", "", - "", - "", "" ] }, @@ -3696,8 +3688,6 @@ "", "", "", - "", - "", "" ] }, @@ -4383,8 +4373,6 @@ "", "", "", - "", - "", "" ] }, @@ -5070,8 +5058,6 @@ "", "", "", - "", - "", "" ] }, @@ -5757,8 +5743,6 @@ "", "", "", - "", - "", "" ] }, @@ -6444,8 +6428,6 @@ "", "", "", - "", - "", "" ] }, @@ -7131,8 +7113,6 @@ "", "", "", - "", - "", "" ] } @@ -7818,8 +7798,6 @@ "STRING_SIZE_32M", "STRING_SIZE_40M", "STRING_ENTER_WORK_MODE", - "STRING_CONFIRM_DELETE", - "STRING_FORMAT_EMMC", - "STRING_FORMAT_SD_CARD" + "STRING_CONFIRM_DELETE" ] } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvglp b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvglp index 42d91c0ae..63d0febcf 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvglp +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.lvglp @@ -4672,16 +4672,6 @@ "filename": "icons/sf_list_Selected.bmp", "name": "sf_list_Selected" }, - { - "colorFormat": "Indexed 256 in RGB332", - "filename": "icons/sf_list_Selected_next1.bmp", - "name": "sf_list_Selected_next1" - }, - { - "colorFormat": "Indexed 256 in RGB332", - "filename": "icons/sf_list_Selected_next2.bmp", - "name": "sf_list_Selected_next2" - }, { "colorFormat": "Indexed 256 in RGB332", "filename": "icons/sf_menu_bg.bmp", @@ -4802,11 +4792,6 @@ "filename": "icons/sf_qr.bmp", "name": "sf_qr" }, - { - "colorFormat": "Indexed 256 in RGB332", - "filename": "icons/sf_qr_page.bmp", - "name": "sf_qr_page" - }, { "colorFormat": "Indexed 256 in RGB332", "filename": "icons/sf_reset.bmp", diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c index 2d64deba0..2141d19fe 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c @@ -1,4 +1,3 @@ -#include "UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.h" #include "UIFlowLVGL/UIFlowLVGL.h" #include "PrjInc.h" #include "ImageApp/ImageApp_Photo.h" @@ -10,7 +9,6 @@ #define UPDATE_TIMEER_MS 200 static lv_task_t* update_timer = NULL; static lv_group_t* gp = NULL; -static DISPLAY_FINAL_E gPowerOff = DISPLAY_FINAL_END; static void set_indev_keypad_group(lv_obj_t* obj) { if(gp == NULL){ @@ -39,8 +37,7 @@ static void task_update_timer_cb(lv_task_t* task) closing_index ++; if (time_ms == 0) { - printf("task_update_timer_cb gPowerOff = %d\n", gPowerOff); - Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 2, APP_POWER_OFF_APO, gPowerOff); + Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_APO); if(update_timer){ lv_task_del(update_timer); update_timer = NULL; @@ -48,9 +45,8 @@ static void task_update_timer_cb(lv_task_t* task) } } } -void OpenClosingScreen(const DISPLAY_FINAL_E powerOff) +void OpenClosingScreen(void) { - gPowerOff = powerOff; lv_plugin_scr_open(UIFlowClose, NULL); } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.h index 88535d321..c23661bc4 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.h @@ -3,10 +3,5 @@ #include "UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmAPI.h" #include "UIFlowLVGL/UIFlowLVGL.h" #include "Resource/Plugin/lvgl_plugin.h" -typedef enum { - DISPLAY_FINAL_DO_NOT_SHOW_POWER_OFF = 0, - DISPLAY_FINAL_SHOW_POWER_OFF, - DISPLAY_FINAL_END -} DISPLAY_FINAL_E; -void OpenClosingScreen(const DISPLAY_FINAL_E powerOff); +void OpenClosingScreen(void); #endif /*UIFLOW_CLOSE_EVENT_CALLBACK_H*/ \ No newline at end of file diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.c index 8b3a3ac2f..0b6289f9a 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.c @@ -472,8 +472,6 @@ lv_plugin_img_t lv_plugin_UIFlowLVGL_img_table[] = { &sf_image_size }, { &sf_left }, { &sf_list_selected }, - { &sf_list_selected_next1 }, - { &sf_list_selected_next2 }, { &sf_menu_bg }, { &sf_menu_option_select }, { &sf_menu_release }, @@ -498,7 +496,6 @@ lv_plugin_img_t lv_plugin_UIFlowLVGL_img_table[] = { &sf_play }, { &sf_pwd_down_up }, { &sf_qr }, - { &sf_qr_page }, { &sf_reset }, { &sf_right }, { &sf_send_type }, @@ -1348,8 +1345,6 @@ lv_plugin_res_id lv_plugin_fixed_language_string_id_table[] = { LV_PLUGIN_RES_ID_NONE, /* 679*/ LV_PLUGIN_RES_ID_NONE, /* 680*/ LV_PLUGIN_RES_ID_NONE, /* 681*/ - LV_PLUGIN_RES_ID_NONE, /* 682*/ - LV_PLUGIN_RES_ID_NONE, /* 683*/ }; lv_plugin_res_t lv_plugin_UIFlowLVGL_res = diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.h index c13cb2191..905572623 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowLVGL.h @@ -518,8 +518,6 @@ LV_IMG_DECLARE(sf_green_square); LV_IMG_DECLARE(sf_image_size); LV_IMG_DECLARE(sf_left); LV_IMG_DECLARE(sf_list_selected); -LV_IMG_DECLARE(sf_list_selected_next1); -LV_IMG_DECLARE(sf_list_selected_next2); LV_IMG_DECLARE(sf_menu_bg); LV_IMG_DECLARE(sf_menu_option_select); LV_IMG_DECLARE(sf_menu_release); @@ -544,7 +542,6 @@ LV_IMG_DECLARE(sf_picture_upon_daily_report); LV_IMG_DECLARE(sf_play); LV_IMG_DECLARE(sf_pwd_down_up); LV_IMG_DECLARE(sf_qr); -LV_IMG_DECLARE(sf_qr_page); LV_IMG_DECLARE(sf_reset); LV_IMG_DECLARE(sf_right); LV_IMG_DECLARE(sf_send_type); @@ -1013,68 +1010,65 @@ LV_IMG_DECLARE(work_mode); #define LV_PLUGIN_IMG_ID_SF_IMAGE_SIZE 431 #define LV_PLUGIN_IMG_ID_SF_LEFT 432 #define LV_PLUGIN_IMG_ID_SF_LIST_SELECTED 433 -#define LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT1 434 -#define LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2 435 -#define LV_PLUGIN_IMG_ID_SF_MENU_BG 436 -#define LV_PLUGIN_IMG_ID_SF_MENU_OPTION_SELECT 437 -#define LV_PLUGIN_IMG_ID_SF_MENU_RELEASE 438 -#define LV_PLUGIN_IMG_ID_SF_MENU_SELECT 439 -#define LV_PLUGIN_IMG_ID_SF_MODE_STILL_VIDEO 440 -#define LV_PLUGIN_IMG_ID_SF_MODULE_FW_UPGRADE 441 -#define LV_PLUGIN_IMG_ID_SF_MODULE_FW_UPGRADE_DIS 442 -#define LV_PLUGIN_IMG_ID_SF_NET2G 443 -#define LV_PLUGIN_IMG_ID_SF_NET3G 444 -#define LV_PLUGIN_IMG_ID_SF_NET4G 445 -#define LV_PLUGIN_IMG_ID_SF_NEXT 446 -#define LV_PLUGIN_IMG_ID_SF_NEXT1 447 -#define LV_PLUGIN_IMG_ID_SF_NEXT2 448 -#define LV_PLUGIN_IMG_ID_SF_NEXT3 449 -#define LV_PLUGIN_IMG_ID_SF_NEXT4 450 -#define LV_PLUGIN_IMG_ID_SF_NEXT_DIS 451 -#define LV_PLUGIN_IMG_ID_SF_OFF 452 -#define LV_PLUGIN_IMG_ID_SF_ON 453 -#define LV_PLUGIN_IMG_ID_SF_OPERATING_TIME 454 -#define LV_PLUGIN_IMG_ID_SF_PASSWORD 455 -#define LV_PLUGIN_IMG_ID_SF_PICTURE_UPON_DAILY_REPORT 456 -#define LV_PLUGIN_IMG_ID_SF_PLAY 457 -#define LV_PLUGIN_IMG_ID_SF_PWD_DOWN_UP 458 -#define LV_PLUGIN_IMG_ID_SF_QR 459 -#define LV_PLUGIN_IMG_ID_SF_QR_PAGE 460 -#define LV_PLUGIN_IMG_ID_SF_RESET 461 -#define LV_PLUGIN_IMG_ID_SF_RIGHT 462 -#define LV_PLUGIN_IMG_ID_SF_SEND_TYPE 463 -#define LV_PLUGIN_IMG_ID_SF_SEND_TYPE_DIS 464 -#define LV_PLUGIN_IMG_ID_SF_SENSITVITY 465 -#define LV_PLUGIN_IMG_ID_SF_SHOOT_1 466 -#define LV_PLUGIN_IMG_ID_SF_SIGNAL0 467 -#define LV_PLUGIN_IMG_ID_SF_SIGNAL1 468 -#define LV_PLUGIN_IMG_ID_SF_SIGNAL2 469 -#define LV_PLUGIN_IMG_ID_SF_SIGNAL3 470 -#define LV_PLUGIN_IMG_ID_SF_SIGNAL4 471 -#define LV_PLUGIN_IMG_ID_SF_SMS_CTRL 472 -#define LV_PLUGIN_IMG_ID_SF_STOP 473 -#define LV_PLUGIN_IMG_ID_SF_TAB_RELEASE 474 -#define LV_PLUGIN_IMG_ID_SF_TAB_SELECT 475 -#define LV_PLUGIN_IMG_ID_SF_VIDEO_LENGTH 476 -#define LV_PLUGIN_IMG_ID_SF_VIDEO_SIZE 477 -#define LV_PLUGIN_IMG_ID_SF_WARNING_BG 478 -#define LV_PLUGIN_IMG_ID_SF_WARNING_NOT_SELECT 479 -#define LV_PLUGIN_IMG_ID_SF_WARNING_SELECTED 480 -#define LV_PLUGIN_IMG_ID_SF_WIFI_CONNECTED 481 -#define LV_PLUGIN_IMG_ID_SF_WIFI_UNCONNECTED 482 -#define LV_PLUGIN_IMG_ID_SF_WIFI_UNSUPPORT 483 -#define LV_PLUGIN_IMG_ID_SY_BG_102X28 484 -#define LV_PLUGIN_IMG_ID_SY_BG_32X28 485 -#define LV_PLUGIN_IMG_ID_SY_BG_40X28 486 -#define LV_PLUGIN_IMG_ID_SY_BG_MSG 487 -#define LV_PLUGIN_IMG_ID_SY_BG_MSG2 488 -#define LV_PLUGIN_IMG_ID_SY_LANYA2 489 -#define LV_PLUGIN_IMG_ID_SY_LUZHI 490 -#define LV_PLUGIN_IMG_ID_SY_REDLINE 491 -#define LV_PLUGIN_IMG_ID_SY_REDLINE2 492 -#define LV_PLUGIN_IMG_ID_SY_WIFI2 493 -#define LV_PLUGIN_IMG_ID_WORK_MODE 494 -#define LV_PLUGIN_IMG_TABLE_SIZE 495 +#define LV_PLUGIN_IMG_ID_SF_MENU_BG 434 +#define LV_PLUGIN_IMG_ID_SF_MENU_OPTION_SELECT 435 +#define LV_PLUGIN_IMG_ID_SF_MENU_RELEASE 436 +#define LV_PLUGIN_IMG_ID_SF_MENU_SELECT 437 +#define LV_PLUGIN_IMG_ID_SF_MODE_STILL_VIDEO 438 +#define LV_PLUGIN_IMG_ID_SF_MODULE_FW_UPGRADE 439 +#define LV_PLUGIN_IMG_ID_SF_MODULE_FW_UPGRADE_DIS 440 +#define LV_PLUGIN_IMG_ID_SF_NET2G 441 +#define LV_PLUGIN_IMG_ID_SF_NET3G 442 +#define LV_PLUGIN_IMG_ID_SF_NET4G 443 +#define LV_PLUGIN_IMG_ID_SF_NEXT 444 +#define LV_PLUGIN_IMG_ID_SF_NEXT1 445 +#define LV_PLUGIN_IMG_ID_SF_NEXT2 446 +#define LV_PLUGIN_IMG_ID_SF_NEXT3 447 +#define LV_PLUGIN_IMG_ID_SF_NEXT4 448 +#define LV_PLUGIN_IMG_ID_SF_NEXT_DIS 449 +#define LV_PLUGIN_IMG_ID_SF_OFF 450 +#define LV_PLUGIN_IMG_ID_SF_ON 451 +#define LV_PLUGIN_IMG_ID_SF_OPERATING_TIME 452 +#define LV_PLUGIN_IMG_ID_SF_PASSWORD 453 +#define LV_PLUGIN_IMG_ID_SF_PICTURE_UPON_DAILY_REPORT 454 +#define LV_PLUGIN_IMG_ID_SF_PLAY 455 +#define LV_PLUGIN_IMG_ID_SF_PWD_DOWN_UP 456 +#define LV_PLUGIN_IMG_ID_SF_QR 457 +#define LV_PLUGIN_IMG_ID_SF_RESET 458 +#define LV_PLUGIN_IMG_ID_SF_RIGHT 459 +#define LV_PLUGIN_IMG_ID_SF_SEND_TYPE 460 +#define LV_PLUGIN_IMG_ID_SF_SEND_TYPE_DIS 461 +#define LV_PLUGIN_IMG_ID_SF_SENSITVITY 462 +#define LV_PLUGIN_IMG_ID_SF_SHOOT_1 463 +#define LV_PLUGIN_IMG_ID_SF_SIGNAL0 464 +#define LV_PLUGIN_IMG_ID_SF_SIGNAL1 465 +#define LV_PLUGIN_IMG_ID_SF_SIGNAL2 466 +#define LV_PLUGIN_IMG_ID_SF_SIGNAL3 467 +#define LV_PLUGIN_IMG_ID_SF_SIGNAL4 468 +#define LV_PLUGIN_IMG_ID_SF_SMS_CTRL 469 +#define LV_PLUGIN_IMG_ID_SF_STOP 470 +#define LV_PLUGIN_IMG_ID_SF_TAB_RELEASE 471 +#define LV_PLUGIN_IMG_ID_SF_TAB_SELECT 472 +#define LV_PLUGIN_IMG_ID_SF_VIDEO_LENGTH 473 +#define LV_PLUGIN_IMG_ID_SF_VIDEO_SIZE 474 +#define LV_PLUGIN_IMG_ID_SF_WARNING_BG 475 +#define LV_PLUGIN_IMG_ID_SF_WARNING_NOT_SELECT 476 +#define LV_PLUGIN_IMG_ID_SF_WARNING_SELECTED 477 +#define LV_PLUGIN_IMG_ID_SF_WIFI_CONNECTED 478 +#define LV_PLUGIN_IMG_ID_SF_WIFI_UNCONNECTED 479 +#define LV_PLUGIN_IMG_ID_SF_WIFI_UNSUPPORT 480 +#define LV_PLUGIN_IMG_ID_SY_BG_102X28 481 +#define LV_PLUGIN_IMG_ID_SY_BG_32X28 482 +#define LV_PLUGIN_IMG_ID_SY_BG_40X28 483 +#define LV_PLUGIN_IMG_ID_SY_BG_MSG 484 +#define LV_PLUGIN_IMG_ID_SY_BG_MSG2 485 +#define LV_PLUGIN_IMG_ID_SY_LANYA2 486 +#define LV_PLUGIN_IMG_ID_SY_LUZHI 487 +#define LV_PLUGIN_IMG_ID_SY_REDLINE 488 +#define LV_PLUGIN_IMG_ID_SY_REDLINE2 489 +#define LV_PLUGIN_IMG_ID_SY_WIFI2 490 +#define LV_PLUGIN_IMG_ID_WORK_MODE 491 +#define LV_PLUGIN_IMG_TABLE_SIZE 492 #define LV_PLUGIN_FONT_ID_LV_FONT_MONTSERRAT_16 1 #define LV_PLUGIN_FONT_ID_NOTOSANSCJKSC_BLACK_16_1BPP 2 @@ -1776,9 +1770,7 @@ LV_IMG_DECLARE(work_mode); #define LV_PLUGIN_STRING_ID_STRING_SIZE_40M 679 #define LV_PLUGIN_STRING_ID_STRING_ENTER_WORK_MODE 680 #define LV_PLUGIN_STRING_ID_STRING_CONFIRM_DELETE 681 -#define LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC 682 -#define LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD 683 -#define LV_PLUGIN_STRING_TABLE_SIZE 684 +#define LV_PLUGIN_STRING_TABLE_SIZE 682 #define LV_PLUGIN_LANGUAGE_ID_EN 1 #define LV_PLUGIN_LANGUAGE_ID_FR 2 diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c index 2cfaecd40..7c5d01aad 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c @@ -1,5 +1,4 @@ #include "PrjInc.h" -#include "UIApp/Background/UIBackgroundObj.h" #include "UIFlowLVGL/UIFlowLVGL.h" #include "UIApp/Play/UIPlayComm.h" #include "UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmAPI.h" @@ -302,11 +301,6 @@ void UIFlowMenuCommonConfirmAPI_Open(uint32_t itemID) gBKGEvt = NVTEVT_BKW_FORMAT_CARD; lv_label_set_text(Confirm_label, "Format SD"); break; - case IDM_FORMAT_EMMC: - strID = LV_PLUGIN_STRING_ID_STRING_FORMAT_SD; - gBKGEvt = NVTEVT_BKW_FORMAT_EMMC; - lv_label_set_text(Confirm_label, "Format EMMC"); - break; case IDM_CAMERA_FW_UPGRADE: strID = LV_PLUGIN_STRING_ID_STRING_CAMERA_FW_UPGRADE; gBKGEvt = NVTEVT_BKW_CAMERA_FW_UPGRADE; @@ -507,10 +501,6 @@ static void UIFlowMenuCommonConfirm_MessageBox_ValueChanged(lv_obj_t* obj, uint3 set_msbox_hidden( true); UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_SD, 3000); } - } else if (gBKGEvt == NVTEVT_BKW_FORMAT_EMMC) { - set_msbox_hidden( true); - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_FORMATING, 20000); - BKG_PostEvent(NVTEVT_BKW_FORMAT_EMMC); } else if (gBKGEvt == NVTEVT_BKW_CAMERA_FW_UPGRADE) { if(sf_cardv_battery_value_get() < 40) { @@ -541,7 +531,7 @@ static void UIFlowMenuCommonConfirm_MessageBox_ValueChanged(lv_obj_t* obj, uint3 BKG_PostEvent(gBKGEvt); } else if (gBKGEvt == NVTEVT_BKW_ENTER_WORK_MODE) { - OpenClosingScreen(DISPLAY_FINAL_DO_NOT_SHOW_POWER_OFF); + OpenClosingScreen(); // BKG_PostEvent(gBKGEvt); // UIFlowMenuCommonConfirm_CloseScr(); } else if (gBKGEvt) { diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c index 6ce0b775d..6247c0f37 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c @@ -55,8 +55,7 @@ TMDEF_OPTION_TEXT_S(OPERATING_TIME_OFF, TM_OPTION_ENABLE) TMDEF_OPTION_TEXT_S(OPERATING_TIME_ON, TM_OPTION_ENABLE) TMDEF_END_OPTIONS() TMDEF_BEGIN_OPTIONS(FORMAT_SD) -TMDEF_OPTION_TEXT_S(FORMAT_SD_EMMC, TM_OPTION_ENABLE) -TMDEF_OPTION_TEXT_S(FORMAT_SD_CARD, TM_OPTION_ENABLE) +TMDEF_OPTION_TEXT_S(END, TM_OPTION_ENABLE) TMDEF_END_OPTIONS() TMDEF_BEGIN_OPTIONS(DATE_AND_TIME) TMDEF_OPTION_TEXT_S(DATE_AND_TIME_AUTO_UTC, TM_OPTION_ENABLE) @@ -1046,36 +1045,7 @@ void Option_Operating_Time_Key(lv_obj_t* obj, uint32_t key) break; } } -UINT16 sf_get_month_days(UINT16 year, UINT16 month) -{ - UINT16 maxday = 0; - - printf("sf_get_month_days year=%d, month=%d\n", year, month); - - switch(month) - { - case 4: - case 6: - case 9: - case 11: - maxday = 30; - break; - case 2: - if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) - maxday = 29; - else - maxday = 28; - break; - default: - maxday = 31; - break; - } - - printf("maxday=%d\n", maxday); - - return maxday; -} // -------------------------------------------------------------------------- // DateTime // -------------------------------------------------------------------------- @@ -1114,10 +1084,7 @@ static void update_DateTime_Time_msg(lv_obj_t* obj) DBG_ERR("DateTime component is not initialized"); return; } - if (gDateTime.Day > sf_get_month_days(gDateTime.Year, gDateTime.Mon)) - { - gDateTime.Day = sf_get_month_days(gDateTime.Year, gDateTime.Mon); - } + // UIMenuStoreInfo *puiPara = sf_ui_para_get(); snprintf(DateTimeMOBuf, 3, "%02d", gDateTime.Mon); snprintf(DateTimeDDBuf, 3, "%02d", gDateTime.Day); @@ -1275,10 +1242,10 @@ void Option_DateTime_Key(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day > 1 && gDateTime.Day <= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) + if(gDateTime.Day > 1 && gDateTime.Day <= 31) gDateTime.Day--; else - gDateTime.Day = sf_get_month_days(gDateTime.Year, gDateTime.Mon); + gDateTime.Day = 31; } else if(DateTimeIndex == 4) { @@ -1320,7 +1287,7 @@ void Option_DateTime_Key(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day >= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) + if(gDateTime.Day >= 31) gDateTime.Day = 1; else gDateTime.Day++; @@ -1393,10 +1360,10 @@ void Option_DateTime_Key_Long_Press(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day > 0 && gDateTime.Day <= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) + if(gDateTime.Day > 0 && gDateTime.Day <= 31) gDateTime.Day--; else - gDateTime.Day = sf_get_month_days(gDateTime.Year, gDateTime.Mon); + gDateTime.Day = 31; } else if(DateTimeIndex == 4) { @@ -1438,7 +1405,7 @@ void Option_DateTime_Key_Long_Press(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day >= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) + if(gDateTime.Day >= 31) gDateTime.Day = 0; else gDateTime.Day++; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h index 7d58dceae..84f774395 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h @@ -121,7 +121,6 @@ enum _MENU_ID { IDM_DELAY, IDM_OPERATING_TIME, IDM_FORMAT_SD, - IDM_FORMAT_EMMC, IDM_DATE_AND_TIME, // Setting Send page @@ -713,8 +712,6 @@ enum _MENU_IDS { IDS_OPERATING_TIME_OFF = LV_PLUGIN_STRING_ID_STRID_OFF, IDS_OPERATING_TIME_ON = LV_PLUGIN_STRING_ID_STRID_ON, IDS_FORMAT_SD = LV_PLUGIN_STRING_ID_STRING_FORMAT_SD, - IDS_FORMAT_SD_EMMC = LV_PLUGIN_STRING_ID_STRING_FORMAT_EMMC, - IDS_FORMAT_SD_CARD = LV_PLUGIN_STRING_ID_STRING_FORMAT_SD_CARD, IDS_DATE_AND_TIME = LV_PLUGIN_STRING_ID_STRING_DATE_AND_TIME, IDS_DATE_AND_TIME_AUTO_UTC = LV_PLUGIN_STRING_ID_STRING_AUTO_UTC, IDS_DATE_AND_TIME_MANUAL = LV_PLUGIN_STRING_ID_STRING_MANUAL, diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c index 1c8d09f13..966c1ce16 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c @@ -367,7 +367,7 @@ static void update_Network_Selection_msg(lv_obj_t* obj) static void network_scan_task_end(void) { - if(NULL != network_scan_task) + if(network_scan_task) { lv_task_del(network_scan_task); network_scan_task = NULL; @@ -380,9 +380,9 @@ static void network_scan_task_cb(lv_task_t* task) int fd = -1; int BuffLen; unsigned char Buff[1024] = { 0 }; - + lv_obj_t* obj = (lv_obj_t*)task->user_data; - printf("[%s]Check simcard...\n", __FUNCTION__); + if(Countdown) { printf("[%s]Countdown:%d\n", __FUNCTION__, Countdown); @@ -399,6 +399,7 @@ static void network_scan_task_cb(lv_task_t* task) return; } } + if(sf_cardv_4G_status_get() == SF_4G_SEARCHING) { printf("[%s]Searching...\n", __FUNCTION__); @@ -550,17 +551,15 @@ void show_Network_Selection_page(lv_obj_t* obj, lv_obj_t* menu_obj) plabel = lv_label_create(obj, NULL); lv_label_set_long_mode(plabel, LV_LABEL_LONG_BREAK); - //lv_label_set_align(plabel, LV_LABEL_ALIGN_CENTER); + // lv_label_set_align(plabel, LV_LABEL_ALIGN_CENTER); lv_label_set_text(plabel, ""); - lv_obj_set_pos(plabel, 32, 67); + lv_obj_set_pos(plabel, 32, 55); lv_obj_set_width(plabel, 256); lv_obj_add_style(plabel, 0, &gMatrixStylebtn); - lv_task_t tas = {0,0,NULL,NULL,0,3}; - Countdown = 0; - network_scan_task_cb(&tas); + if(network_scan_task == NULL){ Countdown = 0; - network_scan_task = lv_task_create(network_scan_task_cb, 1000, LV_TASK_PRIO_HIGHEST, (void*)obj); + network_scan_task = lv_task_create(network_scan_task_cb, 1000, LV_TASK_PRIO_MID, (void*)obj); } } @@ -571,7 +570,7 @@ void hidde_Network_Selection_page(void) pMenu = NULL; - if(NULL != plabel) + if(plabel) { lv_obj_del(plabel); plabel = NULL; @@ -647,170 +646,60 @@ void Option_Network_Selection_Key(lv_obj_t* obj, uint32_t key) char *qr_code_str = "{\"imei\":\"%s\",\"verizonICCID\":\"%s\",\"attICCID\":\"%s\",\"isEsim\":%s}"; static lv_obj_t *qr = NULL; static lv_obj_t *label = NULL; -static lv_obj_t *labelInit = NULL; -static lv_obj_t* QRImage = NULL; -static lv_obj_t *qr_info_msgbox = NULL; -static lv_task_t* qr_page_task = NULL; - -static void qr_page_task_cb(lv_task_t* task){ - lv_obj_t* obj = (lv_obj_t*)task->user_data; - UIMenuStoreInfo *puiPara = sf_ui_para_get(); - - #define QR_DATA_LENGTH 1024 - char qr_date[QR_DATA_LENGTH] = {0}; - if(sf_cardv_get_sim_insert() == 0){ - lv_label_set_text(labelInit, "Please insert the SIM card and restart the camera"); - } - else if(sf_cardv_4G_status_get() == SF_4G_SEARCHING) - { - lv_label_set_text(labelInit, "\nQR code loading..."); - } - else if (sf_cardv_get_is_esim() == 1) - { - snprintf(qr_date, QR_DATA_LENGTH, qr_code_str, puiPara->ModuleImei, puiPara->SimIccidV, puiPara->SimIccidA, "true"); - if(obj){ - /*Create a 100x100 QR code*/ - qr = lv_qrcode_create(obj, 120, (lv_color_t) { .full = 0x02}, (lv_color_t) { .full = 0x23}); - if(qr) - { - /*Set data*/ - lv_obj_set_hidden(qr_info_msgbox, true); - lv_qrcode_update(qr, qr_date, strlen(qr_date)); - lv_obj_set_pos(qr, 32, 70); - lv_obj_set_hidden(QRImage, false); - lv_obj_set_pos(label, 180, 80); - lv_obj_set_size(label, 130, 70); - lv_label_set_text(labelInit, ""); - lv_label_set_text(label, "Add Camera to Tactacam APP"); - } - } - } - else if (sf_cardv_get_is_esim() == 0) - { - snprintf(qr_date, QR_DATA_LENGTH, qr_code_str, puiPara->ModuleImei, puiPara->SimIccidA, puiPara->SimIccidA, "false"); - lv_label_set_text(labelInit, "\nPlease restart the camera"); - } -} - -static void qr_page_task_end(void) -{ - if(NULL != qr_page_task) - { - lv_task_del(qr_page_task); - qr_page_task = NULL; - } -} - void show_qr_picture_page(lv_obj_t* obj) { - init_Matrix_style(); // lv_color_t colorDrak = {0}; // lv_color_t colorLight = {0}; - + UIMenuStoreInfo *puiPara = sf_ui_para_get(); // const char *data = "https://github.com/topics/littlevgl"; +#define QR_DATA_LENGTH 1024 + char qr_date[QR_DATA_LENGTH] = {0}; + if (sf_cardv_get_is_esim() == 1) + { + snprintf(qr_date, QR_DATA_LENGTH, qr_code_str, puiPara->ModuleImei, puiPara->SimIccidV, puiPara->SimIccidA, "true"); + } + // else if (sf_cardv_get_is_esim() == 0) + // { + // snprintf(qr_date, QR_DATA_LENGTH, qr_code_str, puiPara->ModuleImei, puiPara->SimIccidA, puiPara->SimIccidA, "false"); + // } + else + { + snprintf(qr_date, QR_DATA_LENGTH, qr_code_str, puiPara->ModuleImei, puiPara->SimIccidA, puiPara->SimIccidA, "false"); + } - //text qr page - label = lv_label_create(obj, NULL); - lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK); - lv_label_set_text(label, ""); - lv_obj_set_pos(label, 180, 70); - lv_obj_set_size(label, 130, 60); + if(obj){ - static lv_style_t labelStyle; + /*Create a 100x100 QR code*/ + qr = lv_qrcode_create(obj, 120, (lv_color_t) { .full = 0x02}, (lv_color_t) { .full = 0x23}); + + if(qr){ + /*Set data*/ + lv_qrcode_update(qr, qr_date, strlen(qr_date)); + lv_obj_set_pos(qr, 32, 70); + } + } + lv_color_t color = {0}; + static lv_style_t labelStyle; lv_style_init(&labelStyle); - lv_color_t color = {0}; - STYLE_COLOR_PROP(0xff, 0xff, 0xff, 0xff); - lv_style_set_text_color(&labelStyle, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0xff, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&labelStyle, LV_STATE_DEFAULT, color); lv_style_set_text_font(&labelStyle,LV_STATE_DEFAULT,&sf_ui_text_medium_16_1bpp); + label = lv_label_create(obj, NULL); + lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK); + lv_label_set_text(label, "Add Camera to Tactacam App"); + lv_obj_set_pos(label, 180, 78); + lv_obj_set_size(label, 110, 63); lv_obj_add_style(label, 0, &labelStyle); - - //text qr msgbox - qr_info_msgbox = lv_btn_create(obj, button_msg_bg_scr_uiflowwrnmsg); - lv_obj_set_hidden(qr_info_msgbox, false); - labelInit = lv_label_create(qr_info_msgbox, label_msg_scr_uiflowwrnmsg); - lv_obj_align(labelInit, qr_info_msgbox, LV_ALIGN_CENTER, 0, -30); - lv_label_set_align(labelInit, LV_LABEL_ALIGN_CENTER); - lv_obj_add_style(labelInit, 0, &gMatrixStylebtn); - if(sf_cardv_get_sim_insert() == 0){ - lv_label_set_text(labelInit, "Please insert the SIM card and restart the camera"); - } - else{ - lv_label_set_text(labelInit, "\nQR code loading..."); - } - - - //icon - QRImage = lv_img_create(obj, NULL); - lv_obj_set_hidden(QRImage, true); - lv_obj_set_click(QRImage, false); - lv_obj_set_drag(QRImage, false); - lv_obj_set_pos(QRImage, 207, 122); - lv_obj_set_size(QRImage, 32, 32); - lv_img_set_src(QRImage, &sf_qr_page); - - if(qr_page_task == NULL){ - qr_page_task = lv_task_create(qr_page_task_cb, 1000, LV_TASK_PRIO_HIGHEST, (void*)obj); - } } - - void hidde_qr_picture_page(void) { - qr_page_task_end(); - - printf("[hidde_qr_picture_page]hidde qr page\n"); if(NULL != qr) { lv_qrcode_delete(qr); - qr = NULL; } - if(NULL != label) + if(label) { lv_obj_del(label); - label = NULL; } - if(NULL != labelInit) - { - lv_obj_del(labelInit); - labelInit = NULL; - } - if(NULL != QRImage) - { - lv_obj_del(QRImage); - QRImage = NULL; - } - if(NULL != qr_info_msgbox){ - lv_obj_del(qr_info_msgbox); - qr_info_msgbox = NULL; - } -} - -void Option_qr_picture_Key(lv_obj_t* obj, uint32_t key) -{ - printf("[%s]key:%d\n", __FUNCTION__, key); - - switch(key) - { - case LV_USER_KEY_NEXT: - - break; - case LV_USER_KEY_PREV: - - break; - case LV_USER_KEY_LEFT: - lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); - hidde_qr_picture_page(); - break; - case LV_USER_KEY_RIGHT: - - break; - case LV_KEY_ENTER: - lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0)); - hidde_qr_picture_page(); - break; - default: - break; - } } // -------------------------------------------------------------------------- @@ -1130,7 +1019,7 @@ void show_Camera_Info_page(lv_obj_t* obj) init_Matrix_style(); - btnm = lv_btnmatrix_create(obj, NULL); + btnm = lv_btnmatrix_create(lv_scr_act(), NULL); lv_btnmatrix_set_map(btnm, map); lv_obj_add_style(btnm, 0, &gMatrixStylebg); lv_obj_add_style(btnm, 1, &gMatrixStylebtn); @@ -1139,7 +1028,7 @@ void show_Camera_Info_page(lv_obj_t* obj) lv_btnmatrix_set_btn_ctrl_all(btnm, LV_BTNMATRIX_CTRL_CHECKABLE); lv_btnmatrix_set_focused_btn(btnm, 0); - CameraInfoImage = lv_img_create(obj, NULL); + CameraInfoImage = lv_img_create(lv_scr_act(), NULL); lv_obj_set_hidden(CameraInfoImage, false); lv_obj_set_click(CameraInfoImage, false); lv_obj_set_drag(CameraInfoImage, false); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h index d2fcdd04d..af8aa5c88 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.h @@ -16,7 +16,6 @@ extern void show_Camera_Name_page(lv_obj_t* obj); extern void hidde_Camera_Name_page(void); extern void Option_Network_Selection_Key(lv_obj_t* obj, uint32_t key); -extern void Option_qr_picture_Key(lv_obj_t* obj, uint32_t key); extern void Option_Password_Key(lv_obj_t* obj, uint32_t key); extern void Option_Password_Key_Long_Press(lv_obj_t* obj, uint32_t key); extern void Option_CAMERA_INFO_Key(lv_obj_t* obj, uint32_t key); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c index 553ec3484..cce29470d 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c @@ -75,7 +75,6 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { puiPara->GprsMode = uwOption; #define INSTANT_OPTION 1 - #define HYBIRD_OPTION 2 if (INSTANT_OPTION == puiPara->GprsMode && SF_OFF == puiPara->PirDelaySwitch) { puiPara->PirDelaySwitch = SF_ON; @@ -84,41 +83,28 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) puiPara->PirDelayTime.Sec = 15; } printf("\033[33m[Send_MenuCallback]GprsMode:%d\033[0m\n", puiPara->GprsMode); - if (INSTANT_OPTION == puiPara->GprsMode || HYBIRD_OPTION == puiPara->GprsMode) - { - #define SYNC_SEND_TYPE_SETTING 0 - uwOption = SYNC_SEND_TYPE_SETTING; - printf("Sync send type settings.\n"); - memset(&(puiPara->TimeSend1), 0, sizeof(SF_PARA_TIME_S)); - memset(&(puiPara->TimeSend2), 0, sizeof(SF_PARA_TIME_S)); - memset(&(puiPara->TimeSend3), 0, sizeof(SF_PARA_TIME_S)); - memset(&(puiPara->TimeSend4), 0, sizeof(SF_PARA_TIME_S)); - } - else - { - break; - } + break; } case IDM_SEND_TYPE: { - puiPara->SendType = (uwOption == 3 ? 4 : uwOption); + puiPara->SendType = uwOption; puiPara->TimeSend4Switch = 0; puiPara->TimeSend3Switch = 0; puiPara->TimeSend2Switch = 0; puiPara->TimeSend1Switch = 0; - switch (puiPara->SendType) + switch (uwOption) { case FOUR_TIME_DAY: puiPara->TimeSend4Switch = 1; - puiPara->TimeSend3Switch = 1; // break; case TWICE_DAY: - puiPara->TimeSend2Switch = 1; + puiPara->TimeSend3Switch = 1; // break; case ONCE_DAY: - puiPara->TimeSend1Switch = 1; + puiPara->TimeSend2Switch = 1; // break; default: + puiPara->TimeSend1Switch = 1; break; } printf("\033[33m[Send_MenuCallback]SendType:%d\033[0m\n", puiPara->SendType); @@ -133,8 +119,8 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) case IDM_GPS: { #define GPRS_OFF_OPTION 0 - puiPara->GpsSwitch = (GPRS_OFF_OPTION == uwOption ? SF_OFF : SF_ON); - printf("\033[33m[Send_MenuCallback]GpsSwitch:%d\033[0m\n", puiPara->GpsSwitch); + puiPara->GprsSwitch = (GPRS_OFF_OPTION == uwOption ? SF_OFF : SF_ON); + printf("\033[33m[Send_MenuCallback]GprsSwitch:%d\033[0m\n", puiPara->GprsSwitch); break; } default: @@ -312,7 +298,6 @@ static void init_Matrix_style(void) } -static lv_obj_t* SelectedImage = NULL; // -------------------------------------------------------------------------- // MaxNum // -------------------------------------------------------------------------- @@ -339,17 +324,10 @@ void show_MaxNum_page(lv_obj_t* obj) sprintf(result, "%02d", puiPara->SendMaxNum); MaxNumValueLabel = lv_label_create(obj, NULL); lv_obj_set_pos(MaxNumValueLabel, 145, 93); - lv_obj_set_size(MaxNumValueLabel, 32, 24); + lv_obj_set_size(MaxNumValueLabel, 30, 24); lv_obj_add_style(MaxNumValueLabel, 0, &gMatrixStylebtn); - lv_obj_set_state(MaxNumValueLabel, LV_STATE_FOCUSED); + lv_obj_set_state(MaxNumValueLabel, LV_STATE_DEFAULT); lv_label_set_text(MaxNumValueLabel, result); - SelectedImage = lv_img_create(obj, NULL); - lv_obj_set_hidden(SelectedImage, false); - lv_obj_set_click(SelectedImage, false); - lv_obj_set_drag(SelectedImage, false); - lv_obj_set_size(SelectedImage, 32, 88); - lv_img_set_src(SelectedImage, &sf_pwd_down_up); - lv_obj_set_pos(SelectedImage, 145, 62); } void hidde_MaxNum_page(void) @@ -357,17 +335,10 @@ void hidde_MaxNum_page(void) if(MaxNumTitleLabel) { lv_obj_del(MaxNumTitleLabel); - MaxNumTitleLabel = NULL; } if(MaxNumValueLabel) { lv_obj_del(MaxNumValueLabel); - MaxNumValueLabel = NULL; - } - if(SelectedImage) - { - lv_obj_del(SelectedImage); - SelectedImage = NULL; } } @@ -391,7 +362,7 @@ void Option_MaxNum_Key(lv_obj_t* obj, uint32_t key) puiPara->SendMaxNum--; else puiPara->SendMaxNum = 99; - sprintf(result, "%02d", puiPara->SendMaxNum); + sprintf(result, "%d", puiPara->SendMaxNum); lv_label_set_text(MaxNumValueLabel, result); break; case LV_USER_KEY_PREV: @@ -400,7 +371,7 @@ void Option_MaxNum_Key(lv_obj_t* obj, uint32_t key) puiPara->SendMaxNum++; else puiPara->SendMaxNum = 1; - sprintf(result, "%02d", puiPara->SendMaxNum); + sprintf(result, "%d", puiPara->SendMaxNum); lv_label_set_text(MaxNumValueLabel, result); break; case LV_USER_KEY_LEFT: @@ -465,6 +436,7 @@ static const char* SendTimeMap_1[BUTTON_NUM_4] = // static int CameraInfoIndex = 0; // static lv_obj_t *CameraInfolabel = NULL; static lv_obj_t *SendTypeImage = NULL; +static lv_obj_t* SelectedImage = NULL; static lv_obj_t * btnm = NULL; static const char * map[] = {"1", "2", ""}; @@ -513,13 +485,13 @@ void show_send_time_page(lv_obj_t* obj, const int sendType) gMatrixIndex = 0; SendTimeIndex_0 = 0; SendTimeIndex_1 = 0; - #define OPTION_3 3 - gSendType = sendType == OPTION_3 ? FOUR_TIME_DAY : sendType; + gSendType = sendType; gPageNum = FIRST_PAGE; unsigned short settingIndex = gPageNum * 2; SendTimeMatrixObj_1 = NULL; SendTimeMatrixObj_0 = NULL; btnm = NULL; + SelectedImage = NULL; init_Matrix_style(); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h index 331bc4e85..233ea450e 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h @@ -7,8 +7,8 @@ extern TM_ITEM gTM_ITEMS_SEND[]; enum SendType { ONCE_DAY = 1, - TWICE_DAY = 2, - FOUR_TIME_DAY = 4, + TWICE_DAY, + FOUR_TIME_DAY, END }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c index db0102798..329172162 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c @@ -174,9 +174,9 @@ static void load_info_from_sf(void) SysSetFlag(IDF_DATE_AND_TIME, puiPara->DateAuto == SF_DATE_AUTO ? OPTION_0 : OPTION_1); SysSetFlag(IDF_MAX_NUM_DAY, puiPara->SendMaxNum == 0 ? OPTION_0 : OPTION_1); SysSetFlag(IDF_SETTINGS_CHECK, puiPara->GprsMode); - SysSetFlag(IDF_SEND_TYPE, (puiPara->SendType == 4 ? 3 : puiPara->SendType)); + SysSetFlag(IDF_SEND_TYPE, puiPara->SendType); SysSetFlag(IDF_CHECK_IN_PHOTO, puiPara->PicUpDailyReport); - SysSetFlag(IDF_GPS, puiPara->GpsSwitch); + SysSetFlag(IDF_GPS, puiPara->GprsSwitch); SysSetFlag(IDF_BATTERY_TYPE, puiPara->BatteryType); SysSetFlag(IDF_SD_LOOP, puiPara->SdLoopSwitch); } @@ -214,9 +214,8 @@ static void LV_MenuItem_OnPrev(lv_obj_t* obj) TM_PAGE *pPage; TM_ITEM *pItem; BOOL uSel_Jump = false; - + pPage = &pMenu->pPages[pMenu->SelPage]; - // pItem = &pPage->pItems[pPage->SelItem]; if (pMenu->Status == TMS_ON_TAB){ if(pPage->SelItem == 0){ // DBG_WRN("already foucs on tab !"); @@ -228,10 +227,6 @@ static void LV_MenuItem_OnPrev(lv_obj_t* obj) } }else{ OneMore: - // pItem = &pPage->pItems[pPage->SelItem - 1]; - // if(((pItem->ItemId == IDM_BATTERY_TYPE) && 0)){ - // pPage->SelItem = 0; - // } //if item = 0; up key foucs to tab if(pPage->SelItem == 0){ pMenu->Status = TMS_ON_TAB; @@ -241,6 +236,8 @@ static void LV_MenuItem_OnPrev(lv_obj_t* obj) } pPage->SelItem--; pItem = &pPage->pItems[pPage->SelItem]; + // BOOL uItem_Locked = true; // TODO: + // if(((pItem->ItemId == IDM_CAMERA_FW_UPGRADE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE)) && uItem_Locked){ if((pItem->ItemId == IDM_CAMERA_FW_UPGRADE && is_camera_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE && is_module_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_SEND_TYPE && is_send_type_disabel() == SEND_TYPE_DISABLE)) { @@ -263,28 +260,20 @@ static void LV_MenuItem_OnNext(lv_obj_t* obj) TM_PAGE *pPage; TM_ITEM *pItem; BOOL uSel_Jump = false; - // static BOOL FisrtSel_Jump = false; pPage = &pMenu->pPages[pMenu->SelPage]; - pItem = &pPage->pItems[pPage->SelItem]; - +// DBG_DUMP("\r\n %s pMenu Status= %d\r\n", __func__, pMenu->Status); if (pMenu->Status == TMS_ON_TAB){ - pMenu->Status = TMS_ON_ITEM; - pPage->SelItem = 0; - // pMenu->Status = TMS_ON_ITEM; - // if(((pItem->ItemId == IDM_BATTERY_TYPE) && 0)){ - // pPage->SelItem = 1; - // FisrtSel_Jump = true; - // }else{ - // pPage->SelItem = 0; - // } + pMenu->Status = TMS_ON_ITEM; + pPage->SelItem = 0; LV_MenuCommonItem_UpdateContent(pMenu); lv_plugin_menu_select_item(menu_item, 0); - // lv_plugin_menu_select_item(menu_item, pPage->SelItem); }else{ Onetime: pPage->SelItem++; pItem = &pPage->pItems[pPage->SelItem]; + // BOOL uItem_Locked = true; // TODO: + // if(((pItem->ItemId == IDM_CAMERA_FW_UPGRADE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE)) && uItem_Locked){ if((pItem->ItemId == IDM_CAMERA_FW_UPGRADE && is_camera_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE && is_module_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_SEND_TYPE && is_send_type_disabel() == SEND_TYPE_DISABLE)){ @@ -295,20 +284,14 @@ static void LV_MenuItem_OnNext(lv_obj_t* obj) if(pPage->SelItem >= pPage->Count){ pPage->SelItem = 0; - // if(FisrtSel_Jump /**&& uItem_Locked**/){ - // pPage->SelItem = 1; - // }else{ - // pPage->SelItem = 0; - // } LV_MenuCommonItem_UpdateContent(pMenu); lv_plugin_menu_select_item(menu_item, pPage->SelItem); return; - } + } //#NT#2023/11/03#Eric - begin //#NT#Support IVOT_N12144_CO-148 -5 PrevSel_Img = false; //#NT#2023/11/03#Eric - end - LV_MenuCommonItem_UpdateContent(pMenu); lv_plugin_menu_select_next_item(menu_item); if(uSel_Jump){ @@ -724,11 +707,6 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu) lv_plugin_menu_set_item_state(menu_item, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, LV_PLUGIN_IMG_ID_SF_SEND_TYPE_DIS); } - else if (pItem->ItemId == IDM_BATTERY_TYPE && 0) - { - lv_plugin_menu_set_item_state(menu_item, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, LV_PLUGIN_IMG_ID_SF_SEND_TYPE_DIS); - } else { lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pItem->IconId); } @@ -744,11 +722,7 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu) if(((pPage->SelItem%PER_PAGE_NUM) == 0)&&(pMenu->Status == TMS_ON_ITEM)){ lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT2); }else{ - if(pItem->ItemId == IDM_BATTERY_TYPE && 0){ - lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT_DIS); - } else { - lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT1); - } + lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT1); } //#NT#2023/11/03#Eric - end if(pItem->ItemId == IDM_NETWORK_SELECTION) @@ -826,10 +800,7 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu) } } //#NT#2023/11/03#Eric - end - if(pItem->ItemId == IDM_FORMAT_SD) - lv_plugin_label_set_text(label_option_4_scr_uiflowmenucommonitem, IDS_END); - else - lv_plugin_label_set_text(label_option_4_scr_uiflowmenucommonitem, pOption->TextId); + lv_plugin_label_set_text(label_option_4_scr_uiflowmenucommonitem, pOption->TextId); lv_plugin_label_update_font(label_option_4_scr_uiflowmenucommonitem, LV_OBJ_PART_MAIN); lv_obj_set_hidden(container_option_4_scr_uiflowmenucommonitem, false); }else if(i == 4){ @@ -964,33 +935,28 @@ static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key) printf("[UIFlowMenuCommonItem_Key]key: %d\n",key); - switch(key) { case LV_USER_KEY_UP: - case LV_USER_KEY_DOWN: { - //printf("[UIFlowMenuCommonItem_Key]error input\n",key); + printf("[UIFlowMenuCommonItem_Key]error input\n",key); } case LV_USER_KEY_NEXT: { - //printf("[UIFlowMenuCommonItem_Key]>>>DOWN\n"); LV_MenuItem_OnNext(obj); break; } case LV_USER_KEY_PREV: { - //printf("[UIFlowMenuCommonItem_Key]>>>UP\n"); LV_MenuItem_OnPrev(obj); break; } case LV_KEY_LEFT: { - //printf("[UIFlowMenuCommonItem_Key]>>>LEFT\n"); load_info_from_sf(); LV_MenuItem_OnUp(obj); break; @@ -998,7 +964,6 @@ static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key) case LV_KEY_RIGHT: { - //printf("[UIFlowMenuCommonItem_Key]>>>RIGHT\n"); load_info_from_sf(); LV_MenuItem_OnDown(obj); break; @@ -1043,9 +1008,6 @@ static void UIFlowMenuCommonItem_ScrClose(lv_obj_t* obj) Save_MenuInfo(); LV_MenuItem_OnClose(obj); gMenuLuck = MENU_CLOSED; - #if HUNTING_CAMERA_MCU == ENABLE - sf_set_menu_open(FALSE); - #endif } @@ -1056,7 +1018,6 @@ static void UIFlowMenuCommonItem_ChildScrClose(lv_obj_t* obj,const LV_USER_EVENT set_indev_keypad_group(obj); if(msg){ if(msg->event == NVTRET_ENTER_MENU){ - load_info_from_sf(); TM_MENU* pMenu = TM_GetMenu(); TM_PAGE *pPage; // TM_ITEM *pItem; @@ -1071,6 +1032,9 @@ static void UIFlowMenuCommonItem_ChildScrClose(lv_obj_t* obj,const LV_USER_EVENT } gMenuLuck = MENU_UNLUCK; + #if HUNTING_CAMERA_MCU == ENABLE + sf_set_menu_open(FALSE); + #endif } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOption.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOption.c index 24303ae2c..af4b2037e 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOption.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOption.c @@ -256,7 +256,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option1_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option1_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option1_s0, LV_STATE_DISABLED, color); lv_obj_t *label_option1 = lv_label_create(image_button_option_1, NULL); @@ -264,11 +264,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ lv_obj_set_click(label_option1, false); lv_obj_set_drag(label_option1, false); lv_plugin_label_allocate_ext_attr(label_option1); - lv_plugin_label_set_text(label_option1, LV_PLUGIN_STRING_ID_STRID_NULL_); + lv_label_set_text(label_option1,"1080P30"); lv_plugin_label_allocate_ext_attr(label_option1); lv_plugin_label_set_font_type(label_option1, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_obj_set_pos(label_option1, 10, 10); - lv_obj_set_size(label_option1, 0, 22); + lv_obj_set_size(label_option1, 81, 22); lv_obj_add_style(label_option1, 0, &label_option1_s0); label_option1_scr_uiflowmenucommonoption = label_option1; @@ -419,7 +419,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option2_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option2_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option2_s0, LV_STATE_DISABLED, color); lv_obj_t *label_option2 = lv_label_create(image_button_option_2, NULL); @@ -427,11 +427,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ lv_obj_set_click(label_option2, false); lv_obj_set_drag(label_option2, false); lv_plugin_label_allocate_ext_attr(label_option2); - lv_plugin_label_set_text(label_option2, LV_PLUGIN_STRING_ID_STRID_NULL_); + lv_label_set_text(label_option2,"1080P30"); lv_plugin_label_allocate_ext_attr(label_option2); lv_plugin_label_set_font_type(label_option2, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_obj_set_pos(label_option2, 10, 10); - lv_obj_set_size(label_option2, 0, 22); + lv_obj_set_size(label_option2, 81, 22); lv_obj_add_style(label_option2, 0, &label_option2_s0); label_option2_scr_uiflowmenucommonoption = label_option2; @@ -582,7 +582,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option3_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option3_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option3_s0, LV_STATE_DISABLED, color); lv_obj_t *label_option3 = lv_label_create(image_button_option_3, NULL); @@ -590,11 +590,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ lv_obj_set_click(label_option3, false); lv_obj_set_drag(label_option3, false); lv_plugin_label_allocate_ext_attr(label_option3); - lv_plugin_label_set_text(label_option3, LV_PLUGIN_STRING_ID_STRID_NULL_); + lv_label_set_text(label_option3,"1080P30"); lv_plugin_label_allocate_ext_attr(label_option3); lv_plugin_label_set_font_type(label_option3, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_obj_set_pos(label_option3, 10, 10); - lv_obj_set_size(label_option3, 0, 22); + lv_obj_set_size(label_option3, 81, 22); lv_obj_add_style(label_option3, 0, &label_option3_s0); label_option3_scr_uiflowmenucommonoption = label_option3; @@ -745,7 +745,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option4_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option4_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option4_s0, LV_STATE_DISABLED, color); lv_obj_t *label_option4 = lv_label_create(image_button_option_4, NULL); @@ -753,11 +753,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ lv_obj_set_click(label_option4, false); lv_obj_set_drag(label_option4, false); lv_plugin_label_allocate_ext_attr(label_option4); - lv_plugin_label_set_text(label_option4, LV_PLUGIN_STRING_ID_STRID_NULL_); + lv_label_set_text(label_option4,"1080P30"); lv_plugin_label_allocate_ext_attr(label_option4); lv_plugin_label_set_font_type(label_option4, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_obj_set_pos(label_option4, 10, 10); - lv_obj_set_size(label_option4, 0, 22); + lv_obj_set_size(label_option4, 81, 22); lv_obj_add_style(label_option4, 0, &label_option4_s0); label_option4_scr_uiflowmenucommonoption = label_option4; @@ -908,7 +908,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option5_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option5_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option5_s0, LV_STATE_DISABLED, color); lv_obj_t *label_option5 = lv_label_create(image_button_option_5, NULL); @@ -916,11 +916,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){ lv_obj_set_click(label_option5, false); lv_obj_set_drag(label_option5, false); lv_plugin_label_allocate_ext_attr(label_option5); - lv_plugin_label_set_text(label_option5, LV_PLUGIN_STRING_ID_STRID_NULL_); + lv_label_set_text(label_option5,"1080P30"); lv_plugin_label_allocate_ext_attr(label_option5); lv_plugin_label_set_font_type(label_option5, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_obj_set_pos(label_option5, 10, 10); - lv_obj_set_size(label_option5, 0, 22); + lv_obj_set_size(label_option5, 81, 22); lv_obj_add_style(label_option5, 0, &label_option5_s0); label_option5_scr_uiflowmenucommonoption = label_option5; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c index 1c39ef231..874fb5998 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c @@ -26,7 +26,7 @@ static int isSetting = 0; //static TM_MENU *g_pOptionMenu = 0; UINT16 PrevOption = 0; -UINT16 s_SelOption = 100; +UINT16 s_SelOption = 0; UINT16 OptionEN_Num = 0; UINT16 enableIndex[30] = {}; @@ -150,7 +150,6 @@ static int is_message_item(lv_obj_t* obj) case IDM_OPERATING_TIME: break; case IDM_FORMAT_SD: - break; { printf("[is_message_item]IDM_FORMAT_SD\n"); UIFlowMenuCommonConfirmAPI_Open(itemID); @@ -217,13 +216,12 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) UINT32 i; // UINT16 startIndex = 0; UINT16 itemIndex = 0; - UINT16 itemIconId = 0; #if 1 UINT16 SelOption = 0; UINT32 Selindex = 0; BOOL ui_hidden = true; #endif - UIMenuStoreInfo *puiPara = sf_ui_para_get(); + pPage = &pMenu->pPages[pMenu->SelPage]; pItem = &pPage->pItems[pPage->SelItem]; #if 0 @@ -356,436 +354,32 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu) lv_plugin_menu_set_item_hidden(menu_option, i, true); ui_hidden = true; }else{ - itemIconId = pOption->IconId; - ui_hidden = true; printf("\033[33m[LV_MenuCommonOption_UpdateContent] 3 \033[0m\n"); lv_plugin_menu_set_item_string_id(menu_option, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId); - - printf("[LV_MenuCommonOption_UpdateContent]s_SelOption: %d\n", s_SelOption); - if (IDM_FORMAT_SD == pItem->ItemId) { - if (0 == SelOption && i == 0) { - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ - lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 272, 0); - ui_hidden = false; - } else if (1 == SelOption && i == 1) { - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 272, 0); - ui_hidden = false; - } else if (0 == SelOption && i == 1) { - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//> - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); - ui_hidden = false; - } else if (1 == SelOption && i == 0) { - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//> - lv_obj_set_pos(image_option1_scr_uiflowmenucommonoption, 288, 0); - ui_hidden = false; - } - } else if (s_SelOption == 100){//first init page add select icon - if (enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption) - { - s_SelOption = i + (Selindex * OPTION_PAGE_NUM); - switch (pItem->ItemId) { - case IDM_DELAY:{} - case IDM_OPERATING_TIME:{} - case IDM_DATE_AND_TIME:{} - case IDM_MAX_NUM_DAY:{} - case IDM_PASSWORD:{} - case IDM_CAMERA_NAME: - { - if (i == 1) - { - printf("[LV_MenuCommonOption_UpdateContent]first init black > √\n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0); - } - else{ - printf("[LV_MenuCommonOption_UpdateContent]first init √\n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 272, 0); - } - break; - } - case IDM_SEND_TYPE:{ - if(i == 1) - { - printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE black > √\n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0); - } - else if (i == 2) - { - printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE black > √\n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ - lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 259, 0); - } - else if (i == 3) - { - printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE black > √\n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ - lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 259, 0); - } - break; - } - default: - { - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ - if(i == 1) - { - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 272, 0); - } - else if (i == 2) - { - lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 272, 0); - } - else if (i == 3) - { - lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 272, 0); - } - - - } - } - ui_hidden = false; - } - else if (enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption && i == 1) - { - printf("[LV_MenuCommonOption_UpdateContent]first init white >\n"); - switch (pItem->ItemId) { - case IDM_DELAY:{} - case IDM_OPERATING_TIME:{} - case IDM_DATE_AND_TIME:{} - case IDM_MAX_NUM_DAY:{} - case IDM_PASSWORD:{} - case IDM_SEND_TYPE:{} - case IDM_CAMERA_NAME: - { - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//white > - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); - ui_hidden = false; - break; - } - } - - } - else if(enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption && i > 1) - { - if (pItem->ItemId == IDM_SEND_TYPE) - { - printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE white >\n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//white > - if (i == 2) - { - lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 288, 0); - } - else if (i == 3) - { - lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 288, 0); - } - ui_hidden = false; - } - } - - if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption < 3) - { - if (puiPara->BatteryType == SF_BATT_LI_PACK){ - printf("[LV_MenuCommonOption_UpdateContent]first init change battery to lith\n"); - if (i < 1) - { - lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 2) - { - lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 3) - { - lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT); - ui_hidden = true; - lv_plugin_menu_select_item(menu_option, 3); - s_SelOption = 3; - SelOption = 3; - SysSetFlag(pItem->SysFlag,3); - } - else - { - printf("[LV_MenuCommonOption_UpdateContent]first init is not lith\n"); - lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - - } - else if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption == 3) - { - if (puiPara->BatteryType == SF_BATT_LI_PACK) - { - printf("[LV_MenuCommonOption_UpdateContent]first init and is lith\n"); - if (i < 1) - { - lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 2) - { - lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 3) - { - lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT); - } - else - { - printf("[LV_MenuCommonOption_UpdateContent]first init change battery\n"); - lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - ui_hidden = true; - lv_plugin_menu_select_item(menu_option, 0); - s_SelOption = 0; - SelOption = 0; - SysSetFlag(pItem->SysFlag,0); - lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, true); - } - - } - } - else{ - if (pItem->ItemId == IDM_SEND_TYPE){ - if (i == s_SelOption) - { - switch(i) - { - case 1: - { - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0); - break; - } - case 2: - { - lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 259, 0); - break; - } - case 3: - { - lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 259, 0); - break; - } - default: - { - break; - } - } - - if (i >= 1 && enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption) - { - printf("[LV_MenuCommonOption_UpdateContent]IDM_SEND_TYPE add black √ > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ - } - else if (i >= 1 && enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption) - { - printf("[LV_MenuCommonOption_UpdateContent]IDM_SEND_TYPE add white √ > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT1;//white > √ - } - ui_hidden = false; - } - else{ - switch(i) - { - case 1: - { - printf("[LV_MenuCommonOption_UpdateContent]set 1 option \n"); - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); - break; - } - case 2: - { - printf("[LV_MenuCommonOption_UpdateContent]set 2 option \n"); - lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 288, 0); - break; - } - case 3: - { - printf("[LV_MenuCommonOption_UpdateContent]set 3 option \n"); - lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 288, 0); - break; - } - default: - { - break; - } - } - if (i >= 1 && enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption) - { - printf("[LV_MenuCommonOption_UpdateContent]IDM_SEND_TYPE add black > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT2;//black > - ui_hidden = false; - } - else if (i >= 1 && enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption) - { - printf("[LV_MenuCommonOption_UpdateContent]IDM_SEND_TYPE add white > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//white > - ui_hidden = false; - } - } - } - else if (i == 1) - { - //printf("[LV_MenuCommonOption_UpdateContent] add > icon\n"); - switch (pItem->ItemId) { - case IDM_DELAY:{} - case IDM_OPERATING_TIME:{} - case IDM_DATE_AND_TIME:{} - case IDM_MAX_NUM_DAY:{} - case IDM_PASSWORD:{} - case IDM_CAMERA_NAME: - { - if (s_SelOption == 0 && enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption){ - printf("[LV_MenuCommonOption_UpdateContent] add black > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT2;//black > - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); - } - else if (s_SelOption == 0 && enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption){ - printf("[LV_MenuCommonOption_UpdateContent] add white > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//white > - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 288, 0); - } - else if (s_SelOption == 1 && enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption){ - printf("[LV_MenuCommonOption_UpdateContent] add black √ > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0); - } - else{ - printf("[LV_MenuCommonOption_UpdateContent] add white √ > \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT1;//white > √ - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0); - } - ui_hidden = false; - break; - } - default: - { - printf("[LV_MenuCommonOption_UpdateContent] add √ \n"); - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ - lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 272, 0); - if (s_SelOption == 1) - { - ui_hidden = false; - } - break; - } - } - - } - else if (i == s_SelOption) - { - itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ - if (i == 2) - { - lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 272, 0); - } - else if (i == 3) - { - lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 272, 0); - } - ui_hidden = false; - } - - if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption < 3) - { - - if (puiPara->BatteryType == SF_BATT_LI_PACK){ - if (i < 1) - { - lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 2) - { - lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 3) - { - lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT); - ui_hidden = true; - lv_plugin_menu_select_item(menu_option, 3); - s_SelOption = 3; - SelOption = 3; - SysSetFlag(pItem->SysFlag,3); - } - else - { - printf("[LV_MenuCommonOption_UpdateContent]is not lith\n"); - lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - - } - else if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption == 3) - { - - if (puiPara->BatteryType == SF_BATT_LI_PACK) - { - printf("[LV_MenuCommonOption_UpdateContent]is lith\n"); - if (i < 1) - { - lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 2) - { - lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - if (i < 3) - { - lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT); - lv_plugin_menu_select_item(menu_option, 3); - } - else - { - printf("[LV_MenuCommonOption_UpdateContent]change battery\n"); - lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - ui_hidden = true; - lv_plugin_menu_select_item(menu_option, 0); - s_SelOption = 0; - SelOption = 0; - SysSetFlag(pItem->SysFlag,0); - lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, true); - } - - } - } - - - lv_plugin_menu_set_item_img_id(menu_option, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, itemIconId); + lv_plugin_menu_set_item_img_id(menu_option, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, pOption->IconId); lv_plugin_menu_set_item_hidden(menu_option, i, false); - - if (enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption){ + ui_hidden = true; + if(enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption){ + printf("\033[33m[LV_MenuCommonOption_UpdateContent] 4 %d %d \033[0m\n", i, Selindex); + s_SelOption = i + (Selindex * OPTION_PAGE_NUM); lv_plugin_menu_select_item(menu_option, i); + ui_hidden = false; } - } - - DBG_DUMP("%s ui_hidden %d=%d\r\n", __func__,i,ui_hidden); - if (i==0) - { + + DBG_DUMP("%s ui_hidden=%d\r\n", __func__,ui_hidden); + if(i==0){ lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, ui_hidden); - } - else if (i == 1) - { + }else if(i == 1){ lv_obj_set_hidden(image_option2_scr_uiflowmenucommonoption, ui_hidden); - } - else if (i == 2) - { + }else if(i == 2){ lv_obj_set_hidden(image_option3_scr_uiflowmenucommonoption, ui_hidden); - } - else if (i == 3) - { + }else if(i == 3){ lv_obj_set_hidden(image_option4_scr_uiflowmenucommonoption, ui_hidden); - } - else if (i == 4) - { + }else if(i == 4){ lv_obj_set_hidden(image_option5_scr_uiflowmenucommonoption, ui_hidden); } + } #else itemIndex = PAGE * (1 + (SelOption / PAGE)); @@ -834,7 +428,6 @@ static void LV_MenuOption_OnOpen(lv_obj_t* obj, TM_MENU *data) TM_ITEM* pItem; //TM_OPTION *pOption; UINT16 SelOption = 0; - UIMenuStoreInfo *puiPara = sf_ui_para_get(); pPage = &pMenu->pPages[pMenu->SelPage]; // pPage->SelItem = 0; @@ -869,18 +462,7 @@ static void LV_MenuOption_OnOpen(lv_obj_t* obj, TM_MENU *data) // lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true); // } LV_MenuCommonOption_UpdateContent(pMenu); - if (pItem->ItemId == IDM_BATTERY_TYPE) - { - if(puiPara->BatteryType == SF_BATT_LI_PACK) - { - lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - else{ - lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - } + lv_plugin_menu_select_item(menu_option, SelOption); } @@ -891,7 +473,6 @@ static void LV_MenuOption_OnNext(lv_obj_t* obj) TM_PAGE *pPage; TM_ITEM *pItem; UINT16 SelOption = 0; - UIMenuStoreInfo *puiPara = sf_ui_para_get(); pPage = &pMenu->pPages[pMenu->SelPage]; pItem = &pPage->pItems[pPage->SelItem]; @@ -900,40 +481,18 @@ static void LV_MenuOption_OnNext(lv_obj_t* obj) // DBG_DUMP("%s SelItem=%d\r\n", __func__,pPage->SelItem); // DBG_DUMP("%s Count=%d\r\n", __func__,pItem->Count); // DBG_DUMP("%s SelOption=%d\r\n", __func__,SelOption); - - SelOption++; - if (pItem->ItemId == IDM_BATTERY_TYPE) - { - if(puiPara->BatteryType == SF_BATT_LI_PACK) - { - SelOption = 3; - SysSetFlag(pItem->SysFlag, SelOption); - lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - else{ - if (SelOption >= 3) - { - SelOption = 0; - } - SysSetFlag(pItem->SysFlag, SelOption); - LV_MenuCommonOption_UpdateContent(pMenu); - lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - return; - } + SelOption++; if (SelOption >= pItem->Count){ // Close current UI Window now //SysSetFlag(pItem->SysFlag, PrevOption); //lv_plugin_scr_close(obj, NULL); SelOption = 0; -// lv_plugin_menu_select_item(menu_option, SelOption); + SysSetFlag(pItem->SysFlag, SelOption); + lv_plugin_menu_select_item(menu_option, SelOption); }else{ -// lv_plugin_menu_select_next_item(menu_option); + SysSetFlag(pItem->SysFlag, SelOption); + lv_plugin_menu_select_next_item(menu_option); } - SysSetFlag(pItem->SysFlag, SelOption); - LV_MenuCommonOption_UpdateContent(pMenu); // DBG_DUMP("%s flag=%d\r\n", __func__,SysGetFlag(pItem->SysFlag)); } @@ -943,50 +502,23 @@ static void LV_MenuOption_OnPrev(lv_obj_t* obj) TM_PAGE *pPage; TM_ITEM *pItem; UINT16 SelOption = 0; - UIMenuStoreInfo *puiPara = sf_ui_para_get(); pPage = &pMenu->pPages[pMenu->SelPage]; pItem = &pPage->pItems[pPage->SelItem]; SelOption = SysGetFlag(pItem->SysFlag); - - if (pItem->ItemId == IDM_BATTERY_TYPE) - { - if(puiPara->BatteryType == SF_BATT_LI_PACK) - { - SelOption = 3; - SysSetFlag(pItem->SysFlag, SelOption); - lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - else{ - if (SelOption == 0) - { - SelOption = (pItem->Count - 2); - } - else - { - SelOption--; - } - SysSetFlag(pItem->SysFlag, SelOption); - LV_MenuCommonOption_UpdateContent(pMenu); - lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); - } - return; - } - if (SelOption == 0) { // Close current UI Window now //SysSetFlag(pItem->SysFlag, PrevOption); //lv_plugin_scr_close(obj, NULL); SelOption = (pItem->Count - 1); -// lv_plugin_menu_select_item(menu_option, SelOption); + SysSetFlag(pItem->SysFlag, SelOption); + lv_plugin_menu_select_item(menu_option, SelOption); } else { SelOption--; -// lv_plugin_menu_select_prev_item(menu_option); + SysSetFlag(pItem->SysFlag, SelOption); +// LV_MenuCommonOption_UpdateContent(pMenu); + lv_plugin_menu_select_prev_item(menu_option); } - SysSetFlag(pItem->SysFlag, SelOption); - LV_MenuCommonOption_UpdateContent(pMenu); // DBG_DUMP("%s flag=%d\r\n", __func__,SysGetFlag(pItem->SysFlag)); } @@ -1070,15 +602,13 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj) pItem->ItemId == IDM_OPERATING_TIME || pItem->ItemId == IDM_DATE_AND_TIME || pItem->ItemId == IDM_MAX_NUM_DAY || - pItem->ItemId == IDM_SEND_TYPE || - pItem->ItemId == IDM_FORMAT_SD) + pItem->ItemId == IDM_SEND_TYPE) && (pOption->TextId == IDS_CAMERA_NAME_ON || pOption->TextId == IDS_DATE_AND_TIME_MANUAL || pOption->TextId == IDS_SEND_TYPE_ONCE_DAY || pOption->TextId == IDS_SEND_TYPE_TWICE_DAY || pOption->TextId == IDS_SEND_TYPE_4_TIMES_DAY || - pOption->TextId == IDS_MAX_NUM_DAY_NUMBER || - pItem->ItemId == IDM_FORMAT_SD)) + pOption->TextId == IDS_MAX_NUM_DAY_NUMBER)) { lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true); isSetting = 1; @@ -1103,22 +633,8 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj) show_MaxNum_page(obj); break; case IDM_SEND_TYPE: - show_send_time_page(obj, SelOption); - break; - case IDM_FORMAT_SD: - if (0 == SelOption) - { - printf("format emmc.\n"); - UIFlowMenuCommonConfirmAPI_Open(IDM_FORMAT_EMMC); - break; - } - if (1 == SelOption) - { - printf("format sd card.\n"); - UIFlowMenuCommonConfirmAPI_Open(IDM_FORMAT_SD); - break; - } - break; + show_send_time_page(obj, SelOption); + break; default: break; } @@ -1280,7 +796,7 @@ static void CommondOptionCloseSencondPage(lv_obj_t* obj, uint32_t* key) pPage = &pMenu->pPages[pMenu->SelPage]; pItem = &pPage->pItems[pPage->SelItem]; UINT16 itemID = pItem->ItemId; - printf("\033[33m[CommondOptionCloseSencondPage]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key); + printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key); /* handle key event */ switch(itemID) { @@ -1344,7 +860,6 @@ static void CommondOptionCloseSencondPage(lv_obj_t* obj, uint32_t* key) } break; case IDM_FORMAT_SD: - break; case IDM_DATE_AND_TIME: if(isSetting) { @@ -1402,49 +917,15 @@ static void CommondOptionKeyCallback(lv_obj_t* obj, uint32_t* key) pPage = &pMenu->pPages[pMenu->SelPage]; pItem = &pPage->pItems[pPage->SelItem]; UINT16 itemID = pItem->ItemId; - printf("\033[33m[CommondOptionKeyCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key); + printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key); /* handle key event */ - switch(*key) - { - case LV_USER_KEY_NEXT: - case LV_USER_KEY_DOWN: - { - //printf("[CommondOptionKeyCallback]>>>DOWN\n"); - break; - } - - case LV_USER_KEY_PREV: - case LV_USER_KEY_UP: - { - //printf("[CommondOptionKeyCallback]>>>UP\n"); - break; - } - - case LV_KEY_LEFT: - { - //printf("[CommondOptionKeyCallback]>>>LEFT\n"); - break; - } - - case LV_KEY_RIGHT: - { - //printf("[CommondOptionKeyCallback]>>>RIGHT\n"); - break; - } - case LV_KEY_ENTER: - { - //printf("[CommondOptionKeyCallback]>>>ENTER\n"); - break; - } - } - switch(itemID) { case IDM_NETWORK_SELECTION: Option_Network_Selection_Key(obj, *key); break; case IDM_QR_PICTURE: - Option_qr_picture_Key(obj, *key); + UIFlowMenuCommonOption_Key(obj, *key); break; case IDM_PASSWORD: if(isSetting) @@ -1500,8 +981,6 @@ static void CommondOptionKeyCallback(lv_obj_t* obj, uint32_t* key) } break; case IDM_FORMAT_SD: - UIFlowMenuCommonOption_Key(obj, *key); - break; case IDM_DATE_AND_TIME: if(isSetting) { @@ -1575,7 +1054,6 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event) uint32_t key = LV_KEY_ENTER; CommondOptionCloseSencondPage(obj, &key); isSetting = 0; - s_SelOption = 100; UIFlowMenuCommonOption_ScrClose(obj); break; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c index 6420fd164..b0898b075 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c @@ -42,8 +42,8 @@ lv_obj_t* image_wifi_scr_uiflowmovie; lv_obj_t* image_motiondetect_scr_uiflowmovie; lv_obj_t* label_zoom_scr_uiflowmovie; lv_obj_t* label_maxtime_scr_uiflowmovie; +lv_obj_t* image_line_scr_uiflowmovie; lv_obj_t* label_sim_scr_uiflowmovie; -lv_obj_t* label_line_scr_uiflowmovie; lv_obj_t* UIFlowMovie_create(){ lv_obj_t *parent = lv_plugin_scr_create(); @@ -1285,7 +1285,7 @@ lv_obj_t* UIFlowMovie_create(){ lv_plugin_label_allocate_ext_attr(label_rec_time); lv_plugin_label_set_font_type(label_rec_time, LV_PLUGIN_LANGUAGE_FONT_TYPE_0); lv_label_set_long_mode(label_rec_time, LV_LABEL_LONG_CROP); - lv_obj_set_pos(label_rec_time, 38, 5); + lv_obj_set_pos(label_rec_time, 38, 10); lv_obj_set_size(label_rec_time, 90, 30); lv_obj_add_style(label_rec_time, 0, &label_rec_time_s0); @@ -1333,7 +1333,7 @@ lv_obj_t* UIFlowMovie_create(){ lv_obj_set_hidden(image_rec_ellipse, true); lv_obj_set_click(image_rec_ellipse, false); lv_obj_set_drag(image_rec_ellipse, false); - lv_obj_set_pos(image_rec_ellipse, 0, -5); + lv_obj_set_pos(image_rec_ellipse, 0, 0); lv_obj_set_size(image_rec_ellipse, 38, 40); lv_img_set_src(image_rec_ellipse, &sy_luzhi); lv_obj_add_style(image_rec_ellipse, 0, &image_rec_ellipse_s0); @@ -1770,6 +1770,55 @@ lv_obj_t* UIFlowMovie_create(){ label_maxtime_scr_uiflowmovie = label_maxtime; + static lv_style_t image_line_s0; + lv_style_init(&image_line_s0); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DISABLED, color); + lv_obj_t *image_line = lv_img_create(parent, NULL); + lv_obj_set_hidden(image_line, false); + lv_obj_set_click(image_line, false); + lv_obj_set_drag(image_line, false); + lv_obj_set_pos(image_line, 0, 119); + lv_obj_set_size(image_line, 320, 3); + lv_img_set_src(image_line, &sy_redline2); + lv_obj_add_style(image_line, 0, &image_line_s0); + + image_line_scr_uiflowmovie = image_line; + + static lv_style_t label_sim_s0; lv_style_init(&label_sim_s0); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_sim_s0, LV_STATE_DEFAULT, color); @@ -1832,68 +1881,5 @@ lv_obj_t* UIFlowMovie_create(){ label_sim_scr_uiflowmovie = label_sim; - static lv_style_t label_line_s0; - lv_style_init(&label_line_s0); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); - lv_style_set_bg_opa(&label_line_s0,LV_STATE_DEFAULT,255); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DEFAULT, color); - lv_style_set_text_opa(&label_line_s0,LV_STATE_DEFAULT,0); - lv_style_set_text_font(&label_line_s0,LV_STATE_DEFAULT,&sf_ui_text_medium_16_1bpp); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DISABLED, color); - lv_obj_t *label_line = lv_label_create(parent, NULL); - lv_obj_set_hidden(label_line, false); - lv_obj_set_click(label_line, false); - lv_obj_set_drag(label_line, false); - lv_plugin_label_allocate_ext_attr(label_line); - lv_plugin_label_allocate_ext_attr(label_line); - lv_plugin_label_set_font_type(label_line, LV_PLUGIN_LANGUAGE_FONT_TYPE_0); - lv_label_set_align(label_line, LV_LABEL_ALIGN_CENTER); - lv_label_set_long_mode(label_line, LV_LABEL_LONG_SROLL); - lv_obj_set_pos(label_line, 0, 119); - lv_obj_set_size(label_line, 320, 2); - lv_obj_add_style(label_line, 0, &label_line_s0); - - label_line_scr_uiflowmovie = label_line; - - return parent; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h index b0b3b2320..5411e5245 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h @@ -50,8 +50,8 @@ extern lv_obj_t* image_wifi_scr_uiflowmovie; extern lv_obj_t* image_motiondetect_scr_uiflowmovie; extern lv_obj_t* label_zoom_scr_uiflowmovie; extern lv_obj_t* label_maxtime_scr_uiflowmovie; +extern lv_obj_t* image_line_scr_uiflowmovie; extern lv_obj_t* label_sim_scr_uiflowmovie; -extern lv_obj_t* label_line_scr_uiflowmovie; /********************** * GLOBAL PROTOTYPES diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c index 71338921e..380c689db 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c @@ -256,12 +256,12 @@ static void signal_icon_show(const short signal) } static void update_4g_module_icon(void) { - //UIMenuStoreInfo *puiPara = sf_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); static short signal = SIGNAL_NOT_YET_GET; static short searching_index = -1; short signal_new = sf_cardv_get_cq_signal(); unsigned short signal_level = 0; - network_signal_level_get(sf_get_net_generation(), signal_new, &signal_level); + network_signal_level_get(puiPara->NetGeneration, signal_new, &signal_level); // printf("new signal = %d, old signal = %d\n", signal_new, signal); if(SIGNAL_NOT_YET_GET == signal_new) { @@ -294,20 +294,20 @@ const int EMPTY_IMAGE = 0; LV_PLUGIN_IMG_ID_SF_NET3G, LV_PLUGIN_IMG_ID_SF_NET4G }; -// printf("NetGeneration:%d\n", sf_get_net_generation()); +// printf("NetGeneration:%d\n", puiPara->NetGeneration); const int SIM_CARD_NOT_INIT = 0; const int NET_GENERATION_2G = 2; // const int NET_GENERATION_3G = 3; const int NET_GENERATION_4G = 4; // puiPara->NetGeneration = NET_GENERATION_4G; // Test - if (SIM_CARD_NOT_INIT == sf_get_net_generation() - || sf_get_net_generation() < NET_GENERATION_2G - || sf_get_net_generation() > NET_GENERATION_4G) + if (SIM_CARD_NOT_INIT == puiPara->NetGeneration + || puiPara->NetGeneration < NET_GENERATION_2G + || puiPara->NetGeneration > NET_GENERATION_4G) { lv_obj_set_hidden(image_4g_scr_uiflowmovie, true); return; } - int index = sf_get_net_generation(); + int index = puiPara->NetGeneration; lv_obj_set_hidden(image_4g_scr_uiflowmovie, false); lv_plugin_img_set_src(image_4g_scr_uiflowmovie, res[index]); } @@ -397,7 +397,7 @@ static void update_rec_time(void) lv_obj_set_hidden(label_maxtime_scr_uiflowmovie,true); } - lv_label_set_text_fmt(label_rec_time_scr_uiflowmovie, "%02d:%02d:%02d", rec_sec / 3600, (rec_sec % 3600) / 60, (rec_sec % 3600) % 60 + 1); + lv_label_set_text_fmt(label_rec_time_scr_uiflowmovie, "%02d:%02d:%02d", rec_sec / 3600, (rec_sec % 3600) / 60, (rec_sec % 3600) % 60); } static void update_wifi(void) @@ -707,9 +707,9 @@ static void UIFlowMovie_ScrOpen(lv_obj_t* obj) { DBG_DUMP("%s\r\n", __func__); - // #if HUNTING_CAMERA_MCU == ENABLE - // UIMenuStoreInfo *puiPara = sf_ui_para_get(); - // #endif + #if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + #endif set_indev_keypad_group(obj); @@ -765,7 +765,7 @@ static void UIFlowMovie_ScrOpen(lv_obj_t* obj) } //#NT#2018/08/10#KCHong -end #if HUNTING_CAMERA_MCU == ENABLE - if(sf_get_cammode_statu() == SF_CAM_MODE_PHOTO_VIDEO || sf_get_cammode_statu() == SF_CAM_MODE_VIDEO2) + if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO || puiPara->CamMode == SF_CAM_MODE_VIDEO2) #else if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO) #endif @@ -1391,9 +1391,9 @@ void UIFlowMovie_KeyRelease(lv_obj_t* obj, uint32_t key) static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) { -// #if HUNTING_CAMERA_MCU == ENABLE -// UIMenuStoreInfo *puiPara = sf_ui_para_get(); -// #endif +#if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_ui_para_get(); +#endif switch(msg->event) { @@ -1414,24 +1414,23 @@ static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m UIFlowMovie_REC_FINISH(obj,msg); #if HUNTING_CAMERA_MCU == ENABLE - if(sf_get_cammode_statu() == SF_CAM_MODE_PHOTO_VIDEO || sf_get_cammode_statu() == SF_CAM_MODE_VIDEO2){ - sf_set_phone_shot_status(PHONE_SHOT_STOP); + if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO || puiPara->CamMode == SF_CAM_MODE_VIDEO2){ if(sf_get_mode_flag()) { sf_wifi_server_stop_shoot_respond(0); } #else - if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ + if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ #endif - - int iCurrMode = System_GetState(SYS_STATE_CURRMODE); - int iNextMode = PRIMARY_MODE_PHOTO; - UI_SetData(FL_PreMode, iCurrMode); - UI_SetData(FL_NextMode, iNextMode); - Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); - } + + int iCurrMode = System_GetState(SYS_STATE_CURRMODE); + int iNextMode = PRIMARY_MODE_PHOTO; + UI_SetData(FL_PreMode, iCurrMode); + UI_SetData(FL_NextMode, iNextMode); + Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); + } break; - } + } case NVTEVT_CB_MOVIE_WR_ERROR: { @@ -1540,7 +1539,7 @@ void UIFlowMovieEventCallback(lv_obj_t* obj, lv_event_t event) case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); - if (LV_KEY_ENTER != *key || PHONE_SHOT_START == sf_get_phone_shot_status()) + if (LV_KEY_ENTER != *key) { lv_indev_wait_release(lv_indev_get_act()); break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c index 83c1617fd..ae788d685 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c @@ -367,25 +367,21 @@ printf(" UIFlowPasswordEventCallback %d\n", event); { case LV_PLUGIN_EVENT_SCR_OPEN: - { - UIFlowPassword_ScrOpen(obj); + UIFlowPassword_ScrOpen(obj); break; - } + case LV_PLUGIN_EVENT_SCR_CLOSE: - { - UIFlowPassword_ScrClose(obj); + UIFlowPassword_ScrClose(obj); break; - } + case LV_PLUGIN_EVENT_CHILD_SCR_CLOSE: - { set_indev_keypad_group(obj); break; - } + /* enter key state changed(pressed -> released) */ case LV_EVENT_CLICKED: - { break; - } + // case LV_EVENT_KEY: case LV_USER_EVENT_KEY_RELEASE: { @@ -414,20 +410,13 @@ printf(" UIFlowPasswordEventCallback %d\n", event); } case LV_EVENT_DRAG_BEGIN: - { break; - } - case LV_EVENT_DRAG_END: - { break; - } case LV_EVENT_DRAG_THROW_BEGIN: - { break; - } default: break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c index c39679d9d..f51cc58e4 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c @@ -51,7 +51,7 @@ lv_obj_t* label_2_scr_uiflowphoto; lv_obj_t* button_3_scr_uiflowphoto; lv_obj_t* label_3_scr_uiflowphoto; lv_obj_t* label_sim_scr_uiflowphoto; -lv_obj_t* label_line_scr_uiflowphoto; +lv_obj_t* image_line_scr_uiflowphoto; lv_obj_t* UIFlowPhoto_create(){ lv_obj_t *parent = lv_plugin_scr_create(); @@ -2317,67 +2317,53 @@ lv_obj_t* UIFlowPhoto_create(){ label_sim_scr_uiflowphoto = label_sim; - static lv_style_t label_line_s0; - lv_style_init(&label_line_s0); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); - lv_style_set_bg_opa(&label_line_s0,LV_STATE_DEFAULT,255); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DEFAULT, color); - lv_style_set_text_opa(&label_line_s0,LV_STATE_DEFAULT,0); - lv_style_set_text_font(&label_line_s0,LV_STATE_DEFAULT,&sf_ui_text_medium_16_1bpp); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DISABLED, color); - lv_obj_t *label_line = lv_label_create(parent, NULL); - lv_obj_set_hidden(label_line, false); - lv_obj_set_click(label_line, false); - lv_obj_set_drag(label_line, false); - lv_plugin_label_allocate_ext_attr(label_line); - lv_plugin_label_allocate_ext_attr(label_line); - lv_plugin_label_set_font_type(label_line, LV_PLUGIN_LANGUAGE_FONT_TYPE_0); - lv_label_set_align(label_line, LV_LABEL_ALIGN_CENTER); - lv_label_set_long_mode(label_line, LV_LABEL_LONG_SROLL); - lv_obj_set_pos(label_line, 0, 119); - lv_obj_set_size(label_line, 320, 2); - lv_obj_add_style(label_line, 0, &label_line_s0); + static lv_style_t image_line_s0; + lv_style_init(&image_line_s0); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DISABLED, color); + lv_obj_t *image_line = lv_img_create(parent, NULL); + lv_obj_set_hidden(image_line, false); + lv_obj_set_click(image_line, false); + lv_obj_set_drag(image_line, false); + lv_obj_set_pos(image_line, 0, 119); + lv_obj_set_size(image_line, 320, 3); + lv_img_set_src(image_line, &sy_redline2); + lv_obj_add_style(image_line, 0, &image_line_s0); - label_line_scr_uiflowphoto = label_line; + image_line_scr_uiflowphoto = image_line; return parent; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h index 6e7ad595e..810da22e0 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h @@ -59,7 +59,7 @@ extern lv_obj_t* label_2_scr_uiflowphoto; extern lv_obj_t* button_3_scr_uiflowphoto; extern lv_obj_t* label_3_scr_uiflowphoto; extern lv_obj_t* label_sim_scr_uiflowphoto; -extern lv_obj_t* label_line_scr_uiflowphoto; +extern lv_obj_t* image_line_scr_uiflowphoto; /********************** * GLOBAL PROTOTYPES diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 82ddeb6f4..59d4bf69a 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -47,9 +47,9 @@ static CHAR g_cSelftimerCntStr[8] = {0}; static lv_group_t* gp = NULL; static lv_task_t* task_selftimer = NULL; static lv_task_t* update_icons_timer = NULL; -#define GO_TO_WORK_MODE_TIME 59 +#define GO_TO_WORK_MODE_TIME 57 #define PASSWORD_GO_TO_WORK_MODE_TIME_S 62 -#define MENU_GO_TO_WORK_MODE_TIME_S 29 +#define MENU_GO_TO_WORK_MODE_TIME_S 27 static unsigned int ShutDownTime = GO_TO_WORK_MODE_TIME; static lv_task_t* task_qview = NULL; @@ -59,7 +59,6 @@ static void task_update_icons_timer_cb(lv_task_t* task); #define LONG_PRESS_INTERVAL 500 static unsigned long KeyLeftPressingTimeMs = 0; static unsigned long KeyDownPressingTimeMs = 0; -static int gSendingStatus = FILE_SENDING_GUI_END; #define SENDING_KEEP_SHOW -1 #define SENDING_NOT_SHOW 0 @@ -71,7 +70,6 @@ static BOOL g_PhotoBgInitFileSys = FALSE; static BOOL g_SysStrg_Chg = FALSE; //#NT#2023/11/21#Eric - end -static void sf_show_send_text(lv_obj_t* obj, const unsigned short status); static lv_obj_t *g_preview_info_msgbox = NULL; static lv_obj_t *g_preview_info_label = NULL; static int g_preview_info_ishidden = true; @@ -546,12 +544,12 @@ static void update_4g_module_icon(void) const int NET_GENERATION_2G = 2; // const int NET_GENERATION_3G = 3; const int NET_GENERATION_4G = 4; - //UIMenuStoreInfo *puiPara = sf_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); static short signal = SIGNAL_NOT_YET_GET; static short searching_index = -1; short signal_new = sf_cardv_get_cq_signal(); unsigned short signal_level = 0; - network_signal_level_get(sf_get_net_generation(), signal_new, &signal_level); + network_signal_level_get(puiPara->NetGeneration, signal_new, &signal_level); // printf("new signal = %d, old signal = %d\n", signal_new, signal); if(SIGNAL_NOT_YET_GET == signal_new) { @@ -561,18 +559,19 @@ static void update_4g_module_icon(void) // printf(" searching ... [%d]\n", searching_index); signal_icon_show(searching_index); } - else if(signal != signal_new && SIM_CARD_NOT_INIT != sf_get_net_generation()) + else if(signal != signal_new && SIM_CARD_NOT_INIT != puiPara->NetGeneration) { lv_obj_set_hidden(label_tips_scr_uiflowphoto, true); // Update the icon. - printf("old signal = %d new signal = %d signal_level = %d generation = %d\n", signal, signal_new, signal_level, sf_get_net_generation()); + printf("old signal = %d new signal = %d signal_level = %d\n", signal, signal_new, signal_level); lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); signal_icon_hidden(searching_index); signal_icon_hidden(signal); signal_icon_show(signal_level); signal = signal_new; } - else if (sf_cardv_get_sim_insert() == NO_SIM_CARD) + // else if (sf_cardv_get_sim_insert() == NO_SIM_CARD) + else if (SIM_CARD_NOT_INIT == puiPara->NetGeneration) { signal_icon_hidden(0); signal_icon_hidden(1); @@ -583,28 +582,18 @@ static void update_4g_module_icon(void) set_warning_label_text(label_tips_scr_uiflowphoto); lv_label_set_text(label_tips_scr_uiflowphoto,"Check Sim"); lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); - } - else if (signal != signal_new && 0 == signal_new) - { - signal_icon_hidden(0); - signal_icon_hidden(1); - signal_icon_hidden(2); - signal_icon_hidden(3); - signal_icon_hidden(4); - lv_obj_set_hidden(label_tips_scr_uiflowphoto, false); - set_warning_label_text(label_tips_scr_uiflowphoto); - lv_label_set_text(label_tips_scr_uiflowphoto,"No Signal"); - lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); - signal = signal_new; - } - else { + } else { // Nothing changed. // printf(" nothing changed.\n"); } - // if(sf_cardv_4G_status_get() == SF_4G_SENDING) - // { - - // } + if (SENDING_NOT_SHOW < SendMsgShow) + { + SendMsgShow--; + if (SENDING_NOT_SHOW == SendMsgShow) + { + lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); + } + } const int EMPTY_IMAGE = 0; lv_plugin_res_id res[] = { EMPTY_IMAGE, @@ -613,61 +602,20 @@ const int EMPTY_IMAGE = 0; LV_PLUGIN_IMG_ID_SF_NET3G, LV_PLUGIN_IMG_ID_SF_NET4G }; -// printf("NetGeneration:%d\n", sf_get_net_generation()); +// printf("NetGeneration:%d\n", puiPara->NetGeneration); // puiPara->NetGeneration = NET_GENERATION_4G; // Test - if (SIM_CARD_NOT_INIT == sf_get_net_generation() - || sf_get_net_generation() < NET_GENERATION_2G - || sf_get_net_generation() > NET_GENERATION_4G) + if (SIM_CARD_NOT_INIT == puiPara->NetGeneration + || puiPara->NetGeneration < NET_GENERATION_2G + || puiPara->NetGeneration > NET_GENERATION_4G) { lv_obj_set_hidden(image_4g_scr_uiflowphoto, true); return; } - int index = sf_get_net_generation(); + int index = puiPara->NetGeneration; lv_obj_set_hidden(image_4g_scr_uiflowphoto, false); lv_plugin_img_set_src(image_4g_scr_uiflowphoto, res[index]); } -static void update_gps_status(void) -{ - if (SENDING_NOT_SHOW < SendMsgShow) - { - SendMsgShow--; - if (SENDING_NOT_SHOW == SendMsgShow) - { - lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); - } - return; - } - if (TRUE == sf_get_send_statu()) - { - sf_show_send_text(UIFlowPhoto, FILE_SENDING_GUI_START_SENDING); - return; - } - if (FTP_CONNECTING_FTP_CONNECTING == sf_cardv_get_ftp_status()) - { - sf_show_send_text(UIFlowPhoto, FTP_CONNECTING_FTP_CONNECTING); - return; - } - else if (FTP_CONNECTING_END != sf_cardv_get_ftp_status()) { - sf_show_send_text(UIFlowPhoto, sf_cardv_get_ftp_status()); - } - SF_GPS_STATUS_E status = sf_cardv_get_gps_status(); - switch (status) - { - case SF_GPS_SEARCHING_START: - { - lv_obj_set_hidden(label_sim_scr_uiflowphoto, false); - lv_label_set_text(label_sim_scr_uiflowphoto, "GPS searching..."); - break; - } - case SF_GPS_SEARCHING_STOP: - { - lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); - break; - } - default: - break; - } -} + static void update_camera_message(void) { UIMenuStoreInfo *puiPara = sf_ui_para_get(); @@ -888,7 +836,6 @@ static void update_icons(void) update_wifi(); update_bluetooth(); update_camera_mode(); - update_gps_status(); } static void FlowPhoto_InitStartupFuncs(void) @@ -1064,7 +1011,7 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj) id = (System_GetState(SYS_STATE_CARD) == CARD_REMOVED) ? LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD : LV_PLUGIN_STRING_ID_STRID_CARD_FULL; gPhotoData.State = PHOTO_ST_WARNING_MENU; // Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, uiMsg, FLOWWRNMSG_TIMER_2SEC); - UIFlowWrnMsgAPI_Open_StringID(id, 2000); +// UIFlowWrnMsgAPI_Open_StringID(id, 2000); return; #endif } @@ -1383,8 +1330,6 @@ void UIFlowPhoto_OnBatteryLow(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* ms static void UIFlowPhoto_ScrOpen(lv_obj_t* obj) { - lv_obj_set_hidden(container_photo_scr_uiflowphoto, false); - lv_obj_set_hidden(label_line_scr_uiflowphoto, false); set_indev_keypad_group(obj); update_fd_frame(); //#NT#2016/10/04#Lincy Lin -begin @@ -1400,7 +1345,7 @@ static void UIFlowPhoto_ScrOpen(lv_obj_t* obj) /* never closed */ gPhotoData.State = PHOTO_ST_WARNING_MENU; - // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 1000); +// UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 1000); // UIFlowMenuCommonConfirmAPI_Open(IDM_FORMAT); // return; #endif @@ -1491,8 +1436,6 @@ static void UIFlowPhoto_ScrClose(lv_obj_t* obj) /* Reset key press/release/continue mask to default */ Ux_FlushEventByRange(NVTEVT_KEY_EVT_START, NVTEVT_KEY_EVT_END); - lv_obj_set_hidden(container_photo_scr_uiflowphoto, true); - lv_obj_set_hidden(label_line_scr_uiflowphoto, true); return; } @@ -1636,7 +1579,7 @@ static void task_update_icons_timer_cb(lv_task_t* task) } else { - OpenClosingScreen(DISPLAY_FINAL_DO_NOT_SHOW_POWER_OFF); + OpenClosingScreen(); } } return; @@ -1665,7 +1608,6 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) case UIAPPPHOTO_CB_CAPSTART: #if HUNTING_CAMERA_MCU == ENABLE sf_set_cap_statu(TRUE); - sf_set_cammode_statu(puiPara->CamMode); #endif if(obj == UIFlowPhoto) @@ -1692,7 +1634,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) UIFlowPhoto_BackPreviewHandle(); #if HUNTING_CAMERA_MCU == ENABLE - if((sf_get_mode_flag()) && (sf_get_cammode_statu() == SF_CAM_MODE_PHOTO_VIDEO || sf_get_cammode_statu() == SF_CAM_MODE_VIDEO2)){ + if((sf_get_mode_flag()) && (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO || puiPara->CamMode == SF_CAM_MODE_VIDEO2)){ #else if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ #endif @@ -1703,7 +1645,6 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); } else { - sf_set_phone_shot_status(PHONE_SHOT_STOP); if(sf_get_mode_flag()) { sf_wifi_server_stop_shoot_respond(0); @@ -1745,7 +1686,6 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) static void sf_show_send_text(lv_obj_t* obj, const unsigned short status) { #define SENDING_KEEP_SHOW_TIME_S 3 - gSendingStatus = FILE_SENDING_GUI_END; switch (status) { case FILE_SENDING_GUI_START_SENDING: @@ -1753,7 +1693,6 @@ static void sf_show_send_text(lv_obj_t* obj, const unsigned short status) lv_obj_set_hidden(label_sim_scr_uiflowphoto, false); lv_label_set_text(label_sim_scr_uiflowphoto, "Sending ... "); SendMsgShow = SENDING_KEEP_SHOW; - gSendingStatus = FILE_SENDING_GUI_START_SENDING; break; } case FILE_SENDING_GUI_STOP_SENDING: @@ -1776,19 +1715,6 @@ static void sf_show_send_text(lv_obj_t* obj, const unsigned short status) SendMsgShow = SENDING_KEEP_SHOW_TIME_S; break; } - case FTP_CONNECTING_FTP_CONNECTING: - { - lv_obj_set_hidden(label_sim_scr_uiflowphoto, false); - lv_label_set_text(label_sim_scr_uiflowphoto, "Connecting ... "); - SendMsgShow = SENDING_KEEP_SHOW; - break; - } - case FTP_CONNECTING_FTP_CONNECT_SUCCESSFUL: - case FTP_CONNECTING_FTP_CONNECT_FAILED: - { - SendMsgShow = SENDING_NOT_SHOW; - break; - } default: break; } @@ -1884,7 +1810,6 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) { case LV_USER_KEY_LEFT: { - //printf("[UIFlowPhoto_Key]>>>LEFT\n"); if (KeyLeftPressingTimeMs < LONG_PRESS_INTERVAL) { UIFlowMenuCommonConfirmAPI_Open(IDM_ENTER_WORK_MODE); @@ -1894,7 +1819,6 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) } case LV_KEY_ENTER: { - //printf("[UIFlowPhoto_Key]>>>ENTER\n"); #if HUNTING_CAMERA_MCU == ENABLE // sf_rtsp_stop(); if(TRUE == sf_get_send_statu()) @@ -1911,7 +1835,6 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_NEXT: case LV_USER_KEY_ZOOMIN: { - //printf("[UIFlowPhoto_Key]>>>DOWN\n"); g_preview_info_ishidden = true; lv_obj_set_hidden(g_preview_info_msgbox, g_preview_info_ishidden); KeyDownPressingTimeMs = 0; @@ -1925,13 +1848,12 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_PREV: case LV_USER_KEY_ZOOMOUT: { - //printf("[UIFlowPhoto_Key]>>>UP\n"); if(TRUE == sf_get_send_statu()) { printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key); break; } - // if (0 > appSvrResponseSocketGet() && SF_BLE_CON != sf_get_ble_status()) + if (0 > appSvrResponseSocketGet() && SF_BLE_CON != sf_get_ble_status()) { // UIFlowPhoto_OnExeZoomOutStart(obj); UIFlowPhoto_OnExeOpenPlayScreen(obj); @@ -1942,8 +1864,8 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_MENU: case LV_USER_KEY_RIGHT: { - //printf("[UIFlowPhoto_Key]>>>RIGHT\n"); //SF_WIFI_STATUS_E status = sf_get_wifi_status(); + ShutDownTime = MENU_GO_TO_WORK_MODE_TIME_S; if(TRUE == sf_get_send_statu()) { printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key); @@ -2015,7 +1937,7 @@ void UIFlowPhtot_KeyLongPress(lv_obj_t* obj, uint32_t key) if (3 * 1000 <= KeyLeftPressingTimeMs) { // Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_APO); - OpenClosingScreen(DISPLAY_FINAL_DO_NOT_SHOW_POWER_OFF); + OpenClosingScreen(); KeyLeftPressingTimeMs = 0; } break; @@ -2044,10 +1966,18 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) switch(event) { case LV_PLUGIN_EVENT_SCR_OPEN: - { - UIFlowPhoto_ScrOpen(obj);//LV_ALIGN_IN_RIGHT_MID - + + if(preview_info_task == NULL && g_preview_info_msgbox == NULL && g_preview_info_label == NULL){ + g_preview_info_msgbox = lv_btn_create(obj, button_msg_bg_scr_uiflowwrnmsg); + g_preview_info_ishidden = true; + lv_obj_set_hidden(g_preview_info_msgbox, g_preview_info_ishidden); + g_preview_info_label = lv_label_create(g_preview_info_msgbox, label_msg_scr_uiflowwrnmsg); + lv_obj_align(g_preview_info_label, g_preview_info_msgbox, LV_ALIGN_CENTER, 0, -30); + lv_label_set_align(g_preview_info_label, LV_LABEL_ALIGN_CENTER); + preview_info_task = lv_task_create(preview_info_task_cb, 100, LV_TASK_PRIO_MID, NULL); + } + #define PASSWORD_OPENED 1 #define PASSWORD_NOT_OPENED 0 static int passwordOpened = PASSWORD_NOT_OPENED; @@ -2060,20 +1990,6 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) { passwordOpened = PASSWORD_OPENED; } - - - - if(preview_info_task == NULL && g_preview_info_msgbox == NULL && g_preview_info_label == NULL){ - g_preview_info_msgbox = lv_btn_create(obj, button_msg_bg_scr_uiflowwrnmsg); - g_preview_info_ishidden = true; - lv_obj_set_hidden(g_preview_info_msgbox, g_preview_info_ishidden); - g_preview_info_label = lv_label_create(g_preview_info_msgbox, label_msg_scr_uiflowwrnmsg); - lv_obj_align(g_preview_info_label, g_preview_info_msgbox, LV_ALIGN_CENTER, 0, -30); - lv_label_set_align(g_preview_info_label, LV_LABEL_ALIGN_CENTER); - preview_info_task = lv_task_create(preview_info_task_cb, 100, LV_TASK_PRIO_MID, NULL); - } - - // #if HUNTING_CAMERA_MCU == ENABLE // UIMenuStoreInfo *puiPara = sf_ui_para_get(); // if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) @@ -2082,7 +1998,7 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) // } // #endif break; - } + case LV_PLUGIN_EVENT_SCR_CLOSE: UIFlowPhoto_ScrClose(obj); break; @@ -2099,8 +2015,7 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) case LV_EVENT_KEY: { - if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus || - PHONE_SHOT_START == sf_get_phone_shot_status()) + if (PHOTO_ST_CAPTURE == gPhotoData.State) { printf("PHOTO_ST_CAPTURE not handl key event.\n"); break; @@ -2113,8 +2028,7 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) } case LV_USER_EVENT_KEY_RELEASE: { - if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus || - PHONE_SHOT_START == sf_get_phone_shot_status()) + if (PHOTO_ST_CAPTURE == gPhotoData.State) { printf("PHOTO_ST_CAPTURE not handl key event.\n"); break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c index a66781439..d3516fb75 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c @@ -127,22 +127,22 @@ BOOL FlowPhoto_IsStorageErr(void) #if (FS_FUNC == ENABLE) if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) { // Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, FLOWWRNMSG_ISSUE_MEM_ERR, FLOWWRNMSG_TIMER_KEEP); - // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_SD, 1000 * 2); /* keep msgbox */ + UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_SD, 1000 * 2); /* keep msgbox */ return TRUE; } if (UIStorageCheck(STORAGE_CHECK_FULL, &(g_uiFreePicNum)) == TRUE) { if (System_GetState(SYS_STATE_CARD) == CARD_REMOVED) { //Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, UIFlowWndWrnMsg_StatusTXT_Msg_STRID_PLEASE_INSERT_SD, FLOWWRNMSG_TIMER_2SEC); - // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 2000); + UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 2000); } else { //Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, UIFlowWndWrnMsg_StatusTXT_Msg_STRID_CARD_FULL, FLOWWRNMSG_TIMER_2SEC); - // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_FULL, 2000); + UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_FULL, 2000); } return TRUE; } if (UIStorageCheck(STORAGE_CHECK_LOCKED, NULL) == TRUE) { //Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, UIFlowWndWrnMsg_StatusTXT_Msg_STRID_CARD_LOCKED, FLOWWRNMSG_TIMER_2SEC); - // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_LOCKED, 2000); + UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_LOCKED, 2000); return TRUE; } #endif diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index d1b0a01c1..cd0eec929 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -110,17 +110,12 @@ static void UIFlowPlay_IconImageSize(BOOL bShow) } else { OriImgHeight = (UINT32)hd_vdoframe_info.dim.h; } - if (uiFileFmt & (PBFMT_MOVMJPG | PBFMT_AVI | PBFMT_MP4 | PBFMT_TS)) { - lv_obj_set_hidden(container_play_scr_uiflowplay, false); - } else { - lv_obj_set_hidden(container_play_scr_uiflowplay, true); - } //hide icon if (bShow == FALSE) { // UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_SizeCtrl, FALSE); lv_obj_set_hidden(label_file_size_scr_uiflowplay, true); - // lv_obj_set_hidden(container_play_scr_uiflowplay, true); + lv_obj_set_hidden(container_play_scr_uiflowplay, true); return; } //show icon @@ -129,11 +124,8 @@ static void UIFlowPlay_IconImageSize(BOOL bShow) lv_obj_set_hidden(container_play_scr_uiflowplay, false); lv_plugin_img_set_src(image_play_scr_uiflowplay, LV_PLUGIN_IMG_ID_SF_STOP); PB_GetParam(PBPRMID_INFO_VDO, (UINT32 *)&MovieInfo); - if (0 < MovieInfo.uiToltalSecs) - { - lv_slider_set_range(slider_1_scr_uiflowplay, 0, MovieInfo.uiToltalSecs); - lv_slider_set_value(slider_1_scr_uiflowplay, 0, LV_ANIM_OFF); - } + lv_slider_set_range(slider_1_scr_uiflowplay, 0, MovieInfo.uiToltalSecs); + lv_slider_set_value(slider_1_scr_uiflowplay, 0, LV_ANIM_OFF); switch (MovieInfo.uiVidWidth) { case 3840: if (MovieInfo.uiVidRate == 50) { @@ -993,7 +985,6 @@ static void UIFlowPlay_ScrOpen(lv_obj_t* obj) update_playicons(g_PlbData.State); // Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO); UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_FILE, 3000); - lv_obj_set_hidden(container_play_scr_uiflowplay, true); return; } @@ -2023,26 +2014,16 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) break; } case LV_USER_KEY_LEFT: - { - UINT32 uiFileSeq; - PB_GetParam(PBPRMID_CURR_FILESEQ, &uiFileSeq); - if (0 != uiFileSeq) { stop_play(); UIFlowPlay_OnKeyUp(obj); - } - break; + break; } case LV_USER_KEY_RIGHT: - { - UINT32 uiFileSeq; - PB_GetParam(PBPRMID_CURR_FILESEQ, &uiFileSeq); - if (0 != uiFileSeq) { stop_play(); UIFlowPlay_OnKeyDown(obj); - } - break; + break; } case LV_USER_KEY_UP: @@ -2055,18 +2036,13 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_DOWN: case LV_USER_KEY_NEXT: { - UINT32 uiFileSeq; - PB_GetParam(PBPRMID_CURR_FILESEQ, &uiFileSeq); - if (0 != uiFileSeq) - { stop_play(); UIFlowMenuCommonConfirmAPI_Open(IDM_DELETE_THIS); break; UIFlowPlay_OnKeyNext(obj); break; } - break; - } + case LV_USER_KEY_ZOOMIN: { break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c index 3263f67e7..44cfa7555 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c @@ -1,5 +1,4 @@ #include "PrjInc.h" -#include "UIApp/Background/UIBackgroundObj.h" #include "UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgAPI.h" #include "UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.h" #include "UIFlowLVGL/UIFlowLVGL.h" @@ -42,46 +41,26 @@ static void task_msgbox_timer_cb(lv_task_t* task) UINT16 autoOffTime = sf_get_auto_off_time(); const lv_plugin_string_t* string = lv_plugin_get_string(msgID); + autoClose = autoClose - 1000; if (0 == autoClose || autoOffTime <= 10) { lv_task_del(msgbox_timer); msgbox_timer = NULL; if (msgbox) { - printf("msg box close delay 1000.\n"); - lv_msgbox_start_auto_close(msgbox, 1000); + lv_msgbox_start_auto_close(msgbox, 0); } if (0 == autoClose) { - // OpenClosingScreen(DISPLAY_FINAL_DO_NOT_SHOW_POWER_OFF); - #define DO_NOT_SHOW_POWER_OFF 0 - Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 2, APP_POWER_OFF_APO, DO_NOT_SHOW_POWER_OFF); + OpenClosingScreen(); } return; } - autoClose = autoClose - 1000; if(string){ snprintf(buf, BUF_LENGTH, "%s\n\n%ds\r\n", string->ptr, autoClose/1000); // lv_msgbox_set_text(msgbox, buf); lv_label_set_text_fmt(label_msg_scr_uiflowwrnmsg, "%s", buf); } - if (0 == autoClose || autoOffTime <= 10) - { - // lv_task_del(msgbox_timer); - // msgbox_timer = NULL; - // if (msgbox) - // { - // printf("msg box close delay 1000.\n"); - // lv_msgbox_start_auto_close(msgbox, 1000); - // } - // if (0 == autoClose) - // { - // // OpenClosingScreen(DISPLAY_FINAL_DO_NOT_SHOW_POWER_OFF); - // #define DO_NOT_SHOW_POWER_OFF 0 - // Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 2, APP_POWER_OFF_APO, DO_NOT_SHOW_POWER_OFF); - // } - return; - } } // update_icons(); return; @@ -130,9 +109,6 @@ void UIFlowWrnMsgAPI_Open_StringID(lv_plugin_res_id id, uint16_t auto_close_time { lv_plugin_msgbox_set_text(msgbox, id); } - if(auto_close_time_ms){ - lv_msgbox_start_auto_close(msgbox, auto_close_time_ms); - } // if(LV_PLUGIN_STRING_ID_STRING_UPGRADING == msgID) // { @@ -152,9 +128,6 @@ void UIFlowWrnMsgAPI_Open_StringID(lv_plugin_res_id id, uint16_t auto_close_time { snprintf(buf, BUF_LENGTH, "%s\n\n%ds\r\n", tmpstr1->ptr, autoClose/1000); lv_label_set_text_fmt(label_msg_scr_uiflowwrnmsg, "%s", buf); - if(auto_close_time_ms){ - lv_msgbox_start_auto_close(msgbox, auto_close_time_ms + 1000 * 2); - } } else if (LV_PLUGIN_STRING_ID_STRING_UPGRADING == msgID) { lv_label_set_text_fmt(label_msg_scr_uiflowwrnmsg, "Upgrading...\nCamera will automatically restart after upgrade complete"); @@ -188,9 +161,9 @@ void UIFlowWrnMsgAPI_Open_StringID(lv_plugin_res_id id, uint16_t auto_close_time } - // if(auto_close_time_ms){ - // lv_msgbox_start_auto_close(msgbox, auto_close_time_ms); - // } + if(auto_close_time_ms){ + lv_msgbox_start_auto_close(msgbox, auto_close_time_ms); + } set_indev_keypad_group(msgbox); if(msgbox_timer == NULL){ @@ -215,14 +188,6 @@ static void UIFlowWrnMsg_OnNVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA case NVTEVT_BACKGROUND_DONE: switch (message) { - case NVTEVT_BKW_FORMAT_EMMC: - { - printf("Complete format emmc.\n"); - lv_plugin_msgbox_set_text(msgbox, LV_PLUGIN_STRING_ID_STRING_COMPLETED); - lv_plugin_label_set_text(label_msg_scr_uiflowwrnmsg, LV_PLUGIN_STRING_ID_STRING_COMPLETED); - lv_msgbox_start_auto_close(msgbox, 3000); - break; - } case NVTEVT_BKW_FORMAT_CARD: { @@ -230,12 +195,10 @@ static void UIFlowWrnMsg_OnNVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA if(ret == CMD_FORMAT_SD_OK) { lv_plugin_msgbox_set_text(msgbox, LV_PLUGIN_STRING_ID_STRING_COMPLETED); - lv_plugin_label_set_text(label_msg_scr_uiflowwrnmsg, LV_PLUGIN_STRING_ID_STRING_COMPLETED); } else { lv_plugin_msgbox_set_text(msgbox, LV_PLUGIN_STRING_ID_STRING_FORMAT_ERR); - lv_plugin_label_set_text(label_msg_scr_uiflowwrnmsg, LV_PLUGIN_STRING_ID_STRING_FORMAT_ERR); } lv_msgbox_start_auto_close(msgbox, 3000); printf("[%s]start auto close 3000ms", __FUNCTION__); @@ -319,19 +282,15 @@ void message_box_wrnmsg_OnKeyMenu(lv_obj_t* msgbox) void message_box_wrnmsg_OnKey(lv_obj_t* msgbox, uint32_t key) { - // static uint32_t key22 = LV_KEY_END; - // key22 = key; - // lv_event_send(lv_obj_get_parent(UIFlowWrnMsg), LV_USER_EVENT_KEY_RELEASE, &key22); - return; switch(key) { case LV_USER_KEY_MENU: - // message_box_wrnmsg_OnKeyMenu(msgbox); + message_box_wrnmsg_OnKeyMenu(msgbox); break; //#NT#2023/11/14#Eric - begin //#NT#Support IVOT_N12144_CO-148_A case LV_KEY_ENTER: - // UIFlowWrnMsg_CloseScr(NVTEVT_NULL); + UIFlowWrnMsg_CloseScr(NVTEVT_NULL); break; //#NT#2023/11/14#Eric - end default: diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h index b487b056f..47eecf343 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h @@ -69,7 +69,7 @@ #if SF_HW_TEST == ENABLE #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1280x720P30 #else - #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_FRONT_1920x1080P30 + #define DEFAULT_MOVIE_SIZE MOVIE_SIZE_CLONE_1920x1080P30_1920x1080P25 #endif #endif #else diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index 59f340237..ddff14480 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -505,10 +505,6 @@ void Load_MenuInfo(void) #if HUNTING_CAMERA_MCU == ENABLE if(sf_get_ui_para_flag()) { - if(!sf_is_usb_flag()) - { - sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0); - } memcpy(&origInfo, ¤tInfo, sizeof(currentInfo)); memcpy(&origInfo_check, ¤tInfo, sizeof(currentInfo)); return; @@ -519,14 +515,10 @@ void Load_MenuInfo(void) #if HUNTING_CAMERA_MCU == ENABLE sf_power_on_para_check_init(); - if(sf_is_usb_flag()) - { - Save_MenuInfo(); - } - else - { - sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0); - } + if(sf_is_usb_flag()) + { + Save_MenuInfo(); + } #endif #if HUNTING_CAMERA_MCU == ENABLE //origInfo = currentInfo; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h index bbad5e1d6..177d8aef6 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h @@ -2052,8 +2052,6 @@ typedef enum { SF_SEND_TIMELY = 0, SF_SEND_TIMELY1, SF_SEND_TIMELY2, - SF_SEND_TIMELY3, - SF_SEND_TIMELY4, SF_SEND_TIMELY_MAX, } SF_SEND_TYPE_e;