A39模拟器

This commit is contained in:
liulin
2024-03-07 11:03:18 +08:00
parent cb2cc0d66f
commit 33e6eb45b3
1008 changed files with 2222717 additions and 0 deletions

View File

@ -0,0 +1,662 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
#include "mxc_meter.h"
#include "list.h"
#include "language_table.h"
#include "img_basic.h"
#include "lan_str_table.h"
/******************1.函数声明******************/
lv_obj_t* Generator_src_win();
lv_obj_t* Generator_SubUI_Gtor_src_win();
lv_obj_t* Generator_SubUI_ERROR_src_win();
static void WinKey_event_MainToGtor_handle(lv_event_t* e);
static void WinKey_event_GtorToErr_handle(lv_event_t* e);
static void WinKey_event_ErrToMain_handle(lv_event_t* e);
/*****************2.函数实现********************/
static void WinKey_event_MainToGtor_handle(lv_event_t* e)
{
lv_event_code_t code = lv_event_get_code(e);
uint8_t key_code = 0;
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
printf("=============WinKey_event_handle==========.\n");
if (code == LV_EVENT_KEY)
{
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
printf("key_code = 0x%02x . code = 0x%02d \n", key_code, code);
switch (key_code)
{
case LV_KEY_W:
printf("LV_KEY_ENTER.\n");
//close_ui_refresh_timer();
close_all_win();
//主界面进入到类型界面
Generator_SubUI_Gtor_src_win();
break;
default:
break;
}
}
}
static void WinKey_event_GtorToErr_handle(lv_event_t* e)
{
lv_event_code_t code = lv_event_get_code(e);
uint8_t key_code = 0;
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
printf("=============WinKey_event_handle==========.\n");
if (code == LV_EVENT_KEY)
{
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
printf("key_code = 0x%02x . code = 0x%02d \n", key_code, code);
switch (key_code)
{
case LV_KEY_W:
printf("LV_KEY_ENTER.\n");
//close_ui_refresh_timer();
close_all_win();
//主界面进入到类型界面
Generator_SubUI_ERROR_src_win();
break;
default:
break;
}
}
}
static void WinKey_event_ErrToMain_handle(lv_event_t* e)
{
lv_event_code_t code = lv_event_get_code(e);
uint8_t key_code = 0;
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
printf("=============WinKey_event_handle==========.\n");
if (code == LV_EVENT_KEY)
{
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
printf("key_code = 0x%02x . code = 0x%02d \n", key_code, code);
switch (key_code)
{
case LV_KEY_W:
printf("LV_KEY_ENTER.\n");
//close_ui_refresh_timer();
close_all_win();
//主界面进入到类型界面
Generator_src_win();
break;
default:
break;
}
}
}
//获取主屏幕
lv_obj_t* Generator_src_win()
{
lv_obj_t * scr_parent_main = get_root_win();
lv_obj_t * MainUI_win = lv_obj_create(scr_parent_main);
lv_obj_set_scrollbar_mode(MainUI_win, LV_SCROLLBAR_MODE_OFF); //关闭滑轮功能
lv_obj_set_size(MainUI_win, LV_PCT(100), LV_PCT(100)); //设置主界面100%显示
lv_obj_set_style_pad_all(MainUI_win, 0, 0); //
lv_obj_set_style_radius(MainUI_win, 0, 0); //圆角大小为0
lv_obj_set_style_border_width(MainUI_win, 0, LV_PART_MAIN); //设置边界宽度为主窗口默认宽度
lv_obj_set_style_border_color(MainUI_win, lv_color_black(), 0); //设置边界为全黑
lv_obj_set_style_bg_color(MainUI_win, lv_color_black(), 0); //设置背景为全黑
lv_obj_clear_flag(MainUI_win, LV_OBJ_FLAG_SCROLLABLE);
/************加载图片****************/
//加载转速图标
lv_obj_t* pRotRate = lv_img_create(MainUI_win);
lv_obj_align(pRotRate, LV_ALIGN_TOP_LEFT, 6, 6);
lv_img_set_src(pRotRate, IMG_ROT_RATE_ICO);
//转速数据和单位
lv_obj_t * pLabel_RotrateNum = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_RotrateNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_RotrateNum, "1200"); //实际使用需要换成一个变量
lv_obj_align(pLabel_RotrateNum, LV_ALIGN_TOP_LEFT, 30, 9);
lv_obj_t * pLabel_RotrateUnit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_RotrateUnit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_RotrateUnit, "r/min");
lv_obj_align(pLabel_RotrateUnit, LV_ALIGN_TOP_LEFT, 83, 12);
//加载电压
lv_obj_t* pVoltAge = lv_img_create(MainUI_win);
lv_obj_align(pVoltAge, LV_ALIGN_TOP_LEFT, 280, 6);
lv_img_set_src(pVoltAge, IMG_VOLTAGE_ICO);
//电压数据和单位
lv_obj_t * pLabel_VoltageNum = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_VoltageNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_VoltageNum, "220");
lv_obj_align(pLabel_VoltageNum, LV_ALIGN_TOP_LEFT, 316, 9);
lv_obj_t * pLabel_VoltageUnit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_VoltageUnit, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_VoltageUnit, "V");
lv_obj_align(pLabel_VoltageUnit, LV_ALIGN_TOP_LEFT, 351, 9);
//加载电流
lv_obj_t* pCurrent = lv_img_create(MainUI_win);
lv_obj_align(pCurrent, LV_ALIGN_TOP_LEFT, 394, 6);
lv_img_set_src(pCurrent, IMG_CURRENT_ICO);
//电流数据和单位
lv_obj_t * pLabel_CurrentNum = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_CurrentNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_CurrentNum, "12");
lv_obj_align(pLabel_CurrentNum, LV_ALIGN_TOP_LEFT, 428, 9);
lv_obj_t * pLabel_CurrentUnit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_CurrentUnit, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_CurrentUnit, "A");
lv_obj_align(pLabel_CurrentUnit, LV_ALIGN_TOP_LEFT, 453, 9);
//加载蓝牙
lv_obj_t* pBlueTooth = lv_img_create(MainUI_win);
lv_obj_align(pBlueTooth, LV_ALIGN_TOP_LEFT, 449, 53);
lv_img_set_src(pBlueTooth, IMG_BLUETOOTH_ICO);
//加载发电
lv_obj_t* pPower = lv_img_create(MainUI_win);
lv_obj_align(pPower, LV_ALIGN_TOP_LEFT, 449, 93);
lv_img_set_src(pPower, IMG_POWER_ICO);
//加载故障
lv_obj_t* pError = lv_img_create(MainUI_win);
lv_obj_align(pError, LV_ALIGN_TOP_LEFT, 449, 132);
lv_img_set_src(pError, IMG_ERROR_ICO);
//加载油箱
lv_obj_t* pOil = lv_img_create(MainUI_win);
lv_obj_align(pOil, LV_ALIGN_TOP_LEFT, 1, 240);
lv_img_set_src(pOil, IMG_OIL_ICO);
//设置油箱颜色变化
static lv_style_t style;
lv_style_init( &style );
lv_style_set_radius(&style, 0);
lv_style_set_bg_opa(&style, LV_OPA_COVER);
lv_style_set_bg_color(&style, lv_color_hex(0xff0000));
lv_style_set_bg_grad_color(&style, lv_color_hex(0x00ff00));
lv_style_set_bg_grad_dir(&style, LV_GRAD_DIR_HOR);
lv_style_set_bg_main_stop(&style, 0);
lv_style_set_bg_grad_stop(&style, 255);
lv_obj_t* pBtn_Oilcolor = lv_btn_create(MainUI_win);
lv_obj_set_size(pBtn_Oilcolor, 150, 37);
lv_obj_align(pBtn_Oilcolor, LV_ALIGN_TOP_LEFT, 60, 240);
lv_obj_add_style(pBtn_Oilcolor, &style, LV_PART_MAIN);
//加载时间1
lv_obj_t* pTime1 = lv_img_create(MainUI_win);
lv_obj_align(pTime1, LV_ALIGN_TOP_LEFT, 213, 248);
lv_img_set_src(pTime1, IMG_TIME1_ICO);
//时间1数据和单位
lv_obj_t* pLabel_Time1Num = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_Time1Num, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Time1Num, "15");
lv_obj_align(pLabel_Time1Num, LV_ALIGN_TOP_LEFT, 256, 253);
lv_obj_t* pLabel_Time1Unit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_Time1Unit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Time1Unit, "H");
lv_obj_align(pLabel_Time1Unit, LV_ALIGN_TOP_LEFT, 284, 256);
//加载时间2
lv_obj_t* pTime2 = lv_img_create(MainUI_win);
lv_obj_align(pTime2, LV_ALIGN_TOP_LEFT, 15, 292);
lv_img_set_src(pTime2, IMG_TIME2_ICO);
//时间2数据和单位
lv_obj_t* pLabel_Time2Num = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_Time2Num, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Time2Num, "125");
lv_obj_align(pLabel_Time2Num, LV_ALIGN_TOP_LEFT, 58, 296);
lv_obj_t* pLabel_Time2Unit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_Time2Unit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Time2Unit, "H");
lv_obj_align(pLabel_Time2Unit, LV_ALIGN_TOP_LEFT, 101, 300);
//加载时间3
lv_obj_t* pTime3 = lv_img_create(MainUI_win);
lv_obj_align(pTime3, LV_ALIGN_TOP_LEFT, 143, 292);
lv_img_set_src(pTime3, IMG_TIME3_ICO);
//时间3数据和单位
lv_obj_t* pLabel_Time3Num = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_Time3Num, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Time3Num, "235");
lv_obj_align(pLabel_Time3Num, LV_ALIGN_TOP_LEFT, 187, 296);
lv_obj_t* pLabel_Time3Unit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_Time3Unit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Time3Unit, "H");
lv_obj_align(pLabel_Time3Unit, LV_ALIGN_TOP_LEFT, 230, 300);
//加载百分比
lv_obj_t* pPercent = lv_img_create(MainUI_win);
lv_obj_align(pPercent, LV_ALIGN_TOP_LEFT, 310, 295);
lv_img_set_src(pPercent, IMG_PERCENT_ICO);
//百分比数据和单位
lv_obj_t* pLabel_PercnetNum = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_PercnetNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_PercnetNum, "76");
lv_obj_align(pLabel_PercnetNum, LV_ALIGN_TOP_LEFT, 337, 296);
lv_obj_t* pLabel_PercnetUnit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_PercnetUnit, LV_FONT_MXC_FZHZGB_CT_18PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_PercnetUnit, "%");
lv_obj_align(pLabel_PercnetUnit, LV_ALIGN_TOP_LEFT, 362, 296);
//频率和单位
lv_obj_t* pLabel_FreqNum = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_FreqNum, LV_FONT_MXC_FZHZGB_CT_19PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_FreqNum, "50");
lv_obj_align(pLabel_FreqNum, LV_ALIGN_TOP_LEFT, 414, 296);
lv_obj_t* pLabel_FreqUnit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_FreqUnit, LV_FONT_MXC_FZHZGB_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_FreqUnit, "Hz");
lv_obj_align(pLabel_FreqUnit, LV_ALIGN_TOP_LEFT, 445, 300);
//power标记进度条待实现。。。
lv_obj_t* pLabel_PowerLabel = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_PowerLabel, LV_FONT_MXC_FZHZGB_CT_36PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_PowerLabel, "P");
lv_obj_align(pLabel_PowerLabel, LV_ALIGN_TOP_LEFT, 12, 49);
//异形power进度条实现
//1.设置渐变色进度条
//设置油箱颜色变化
/*
v_obj_t* PowerBar = lv_bar_create(MainUI_win);
static lv_style_t PowerStyle;
lv_style_init(&PowerStyle);
lv_style_set_radius(&PowerStyle, 0);
lv_style_set_bg_opa(&PowerStyle, LV_OPA_COVER);
//lv_style_set_bg_color(&PowerStyle, lv_color_hex(0x00ff00));
//lv_style_set_bg_grad_color(&PowerStyle, lv_color_hex(0xff0000));
lv_style_set_bg_img_src(&PowerStyle, &shaped_color);
lv_style_set_bg_grad_dir(&PowerStyle, LV_GRAD_DIR_HOR);
lv_style_set_bg_main_stop(&PowerStyle, 0);
lv_style_set_bg_grad_stop(&PowerStyle, 255);
lv_obj_t* pBar_Powercolor = lv_bar_create(MainUI_win);
lv_obj_set_size(pBar_Powercolor, 395, 150); //设置一个大进度条
lv_obj_align(pBar_Powercolor, LV_ALIGN_TOP_LEFT, 52, 56);
//lv_obj_set_style_img_src(pBar_Powercolor, &shaped_color, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(pBar_Powercolor, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_remove_style(pBar_Powercolor, NULL, LV_PART_KNOB); //Be sure the knob is not displayed
lv_obj_clear_flag(pBar_Powercolor, LV_OBJ_FLAG_CLICKABLE); //To not allow adjusting by click
lv_obj_add_style(pBar_Powercolor, &PowerStyle, LV_PART_MAIN);
*/
lv_obj_t* pUi_Slider2 = lv_slider_create(MainUI_win);
lv_slider_set_value(pUi_Slider2, 84, LV_ANIM_OFF);
if(lv_slider_get_mode(pUi_Slider2) == LV_SLIDER_MODE_RANGE)
lv_slider_set_left_value(pUi_Slider2, 0, LV_ANIM_OFF);
lv_obj_set_width(pUi_Slider2, 395);
lv_obj_set_height(pUi_Slider2, 150);
lv_obj_align(pUi_Slider2, LV_ALIGN_TOP_LEFT, 52, 56);
lv_obj_set_style_bg_img_src(pUi_Slider2, &shaped_color, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(pUi_Slider2, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(pUi_Slider2, LV_OPA_0, LV_PART_KNOB | LV_STATE_DEFAULT); //按钮背景透明度
lv_obj_set_style_bg_opa(pUi_Slider2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); //背景色背景透明度
lv_obj_set_style_bg_opa(pUi_Slider2, 0, LV_PART_INDICATOR | LV_STATE_DEFAULT); //前景色背景透明度
lv_obj_set_style_radius(pUi_Slider2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); //方形进度条
lv_obj_set_style_radius(pUi_Slider2, 0, LV_PART_INDICATOR | LV_STATE_DEFAULT);
//power数字和单位
lv_obj_t* pLabel_PowerNum = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_PowerNum, LV_FONT_MXC_FZHZGB_CT_48PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_PowerNum, "12345");
lv_obj_align(pLabel_PowerNum, LV_ALIGN_TOP_LEFT, 32, 124);
lv_obj_t* pLabel_PowerUnit = lv_label_create(MainUI_win);
lv_obj_set_style_text_font(pLabel_PowerUnit, LV_FONT_MXC_FZHZGB_CT_36PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_PowerUnit, "VA");
lv_obj_align(pLabel_PowerUnit, LV_ALIGN_TOP_LEFT, 245, 132);
//将MainUI放到按键编组中,相应按钮时间
lv_obj_t* pDemo_group = get_key_group();
lv_group_add_obj(pDemo_group, MainUI_win);
// lv_obj_add_flag(win2_screen, LV_STATE_FOCUSED );
// lv_obj_add_flag(win2_screen, LV_STATE_FOCUS_KEY );
// lv_obj_add_state(win2_screen, LV_STATE_FOCUSED );
// lv_obj_add_state(win2_screen, LV_STATE_FOCUS_KEY );
lv_obj_add_event_cb(MainUI_win, WinKey_event_MainToGtor_handle, LV_EVENT_KEY, NULL);
//time_refresh_timer = lv_timer_create(refresh_timer_cb,50,win2_screen);
return MainUI_win;
}
lv_obj_t* Generator_SubUI_Gtor_src_win()
{
//生成窗口对象
lv_obj_t* scr_parent_main = get_root_win();
lv_obj_t* pSubUI_Gtor_win = lv_obj_create(scr_parent_main);
//初始化窗口对象,配置窗口对象属性
lv_obj_set_scrollbar_mode(pSubUI_Gtor_win, LV_SCROLLBAR_MODE_OFF); //关闭滑轮功能
lv_obj_set_size(pSubUI_Gtor_win, LV_PCT(100), LV_PCT(100)); //设置主界面100%显示
lv_obj_set_style_pad_all(pSubUI_Gtor_win, 0, 0); //
lv_obj_set_style_radius(pSubUI_Gtor_win, 0, 0); //圆角大小为0
lv_obj_set_style_border_width(pSubUI_Gtor_win, 0, LV_PART_MAIN); //设置边界宽度为主窗口默认宽度
lv_obj_set_style_border_color(pSubUI_Gtor_win, lv_color_black(), 0); //设置边界为全黑
lv_obj_set_style_bg_color(pSubUI_Gtor_win, lv_color_black(), 0); //设置背景为全黑
lv_obj_clear_flag(pSubUI_Gtor_win, LV_OBJ_FLAG_SCROLLABLE);
#if 0
lv_obj_t* pUPMainBtn = lv_btn_create(pSubUI_Gtor_win);
lv_obj_set_size(pUPMainBtn, 450,160);
lv_obj_align(pUPMainBtn, LV_ALIGN_TOP_LEFT, 6, 6);
//lv_obj_set_bg_opa(pUPMainBtn, LV_OPA_100, 0);
lv_obj_set_style_border_color(pUPMainBtn, lv_color_white(), 0);
lv_obj_set_style_bg_color(pUPMainBtn, lv_color_hex(0xffe1d4), LV_STATE_DISABLED);
lv_obj_set_style_bg_color(pUPMainBtn, lv_color_black(), LV_STATE_DISABLED);
#endif
printf("enter Gtor_SubUI!\n");
//lv_obj_t* pSubmenu_win = lv_obj_create(lv_scr_act()); //获取子菜单窗口
lv_obj_t* pPanel_SubUI_Img = NULL; //定义图片指针
lv_img_cache_invalidate_src(NULL); //将缓存全部清除
//加载图像框架
pPanel_SubUI_Img = lv_img_big_create(pSubUI_Gtor_win, panel_Gtor_SubUI_src, 15, 8, 8, 0);
//逆变器类型label Inverter type
lv_obj_t * pLabel_Inverter_Type = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_Inverter_Type, LV_FONT_MXC_MSYAHEI_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Inverter_Type, "逆变器类型:");
lv_obj_align(pLabel_Inverter_Type, LV_ALIGN_TOP_LEFT, 31, 46);
//客户信息title label
lv_obj_t * pLabel_Custom = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_Custom, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Custom, "客户信息");
lv_obj_align(pLabel_Custom, LV_ALIGN_TOP_LEFT, 133, 36);
//客户信息数据
lv_obj_t * pLabel_CustomData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_CustomData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_CustomData, "ICMX-A2");
lv_obj_align(pLabel_CustomData, LV_ALIGN_TOP_LEFT, 131, 61);
//软件版本title label
lv_obj_t * pLabel_software = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_software, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_software, "软件版本");
lv_obj_align(pLabel_software, LV_ALIGN_TOP_LEFT, 203, 36);
//软件版本数据
lv_obj_t * pLabel_softwareData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_softwareData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_softwareData, "ICMX-2.57");
lv_obj_align(pLabel_softwareData, LV_ALIGN_TOP_LEFT, 198, 61);
//硬件版本title label
lv_obj_t * pLabel_hardware = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_hardware, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_hardware, "硬件版本");
lv_obj_align(pLabel_hardware, LV_ALIGN_TOP_LEFT, 280, 36);
//硬件版本数据
lv_obj_t * pLabel_hardwareData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_hardwareData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_hardwareData, "ICMX-2.57");
lv_obj_align(pLabel_hardwareData, LV_ALIGN_TOP_LEFT, 275, 61);
//程序发行时间title label
lv_obj_t* pLabel_Time = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_Time, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Time, "程序发行时间");
lv_obj_align(pLabel_Time, LV_ALIGN_TOP_LEFT, 361, 36);
//时间数据
lv_obj_t* pLabel_TimeData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_TimeData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_TimeData, "2024-2-26");
lv_obj_align(pLabel_TimeData, LV_ALIGN_TOP_LEFT, 363, 61);
//逆变器常规数据label
lv_obj_t * pLabel_Inverter_Data = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_Inverter_Data, LV_FONT_MXC_MSYAHEI_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Inverter_Data, "逆变器常规数据:");
lv_obj_align(pLabel_Inverter_Data, LV_ALIGN_TOP_LEFT, 31, 113);
//单片机内部温度 title label
lv_obj_t* pLabel_Temperature = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_Temperature, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Temperature, "单片机内部温度");
lv_obj_align(pLabel_Temperature, LV_ALIGN_TOP_LEFT, 163, 103);
//内部温度数据
lv_obj_t* pLabel_TemperatureData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_TemperatureData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_TemperatureData, "65°C");
lv_obj_align(pLabel_TemperatureData, LV_ALIGN_TOP_LEFT, 186, 128);
//IGBT温度 title label
lv_obj_t* pLabel_IGBTTemp = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_IGBTTemp, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_IGBTTemp, "IGBT温度");
lv_obj_align(pLabel_IGBTTemp, LV_ALIGN_TOP_LEFT, 275, 103);
//IGBT温度数据
lv_obj_t* pLabel_IGBTTempData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_IGBTTempData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_IGBTTempData, "65°C");
lv_obj_align(pLabel_IGBTTempData, LV_ALIGN_TOP_LEFT, 280, 128);
//直流母线电压 title label
lv_obj_t* pLabel_Voltage = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_Voltage, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Voltage, "直流母线电压");
lv_obj_align(pLabel_Voltage, LV_ALIGN_TOP_LEFT, 367, 103);
//IGBT温度数据
lv_obj_t* pLabel_VoltageData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_VoltageData, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_VoltageData, "220V");
lv_obj_align(pLabel_VoltageData, LV_ALIGN_TOP_LEFT, 382, 128);
//反拖启动次数label
lv_obj_t * pLabel_Startups = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_Startups, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Startups, "反拖启动次数");
lv_obj_align(pLabel_Startups, LV_ALIGN_TOP_LEFT, 56, 201);
lv_obj_t * pLabel_StartupsNum = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_StartupsNum, LV_FONT_MXC_MSYAHEI_CT_64PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_StartupsNum, "5");
lv_obj_align(pLabel_StartupsNum, LV_ALIGN_TOP_LEFT, 91, 245);
//缸温
lv_obj_t * pLabel_CylinderTemp = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_CylinderTemp, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_CylinderTemp, "缸温");
lv_obj_align(pLabel_CylinderTemp, LV_ALIGN_TOP_LEFT, 352, 201);
lv_obj_t * pLabel_CylinderTempData = lv_label_create(pSubUI_Gtor_win);
lv_obj_set_style_text_font(pLabel_CylinderTempData, LV_FONT_MXC_MSYAHEI_CT_56PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_CylinderTempData, "89°C");
lv_obj_align(pLabel_CylinderTempData, LV_ALIGN_TOP_LEFT, 309, 245);
//将GtorUI放到按键编组中,相应按钮时间,切换到Err界面
lv_obj_t* pDemo_group = get_key_group();
lv_group_add_obj(pDemo_group, pSubUI_Gtor_win);
lv_obj_add_event_cb(pSubUI_Gtor_win, WinKey_event_GtorToErr_handle, LV_EVENT_KEY, NULL);
return pSubUI_Gtor_win;
}
lv_obj_t* Generator_SubUI_ERROR_src_win()
{
lv_obj_t * scr_parent_main = get_root_win();
lv_obj_t* pSubUI_ERROR_win = lv_obj_create(scr_parent_main);
lv_obj_set_scrollbar_mode(pSubUI_ERROR_win, LV_SCROLLBAR_MODE_OFF); //关闭滑轮功能
lv_obj_set_size(pSubUI_ERROR_win, LV_PCT(100), LV_PCT(100)); //设置主界面100%显示
lv_obj_set_style_pad_all(pSubUI_ERROR_win, 0, 0); //
lv_obj_set_style_radius(pSubUI_ERROR_win, 0, 0); //圆角大小为0
lv_obj_set_style_border_width(pSubUI_ERROR_win, 0, LV_PART_MAIN); //设置边界宽度为主窗口默认宽度
lv_obj_set_style_border_color(pSubUI_ERROR_win, lv_color_black(), 0); //设置边界为全黑
lv_obj_set_style_bg_color(pSubUI_ERROR_win, lv_color_black(), 0); //设置背景为全黑
lv_obj_clear_flag(pSubUI_ERROR_win, LV_OBJ_FLAG_SCROLLABLE);
printf("enter Error_SubUI!\n");
//lv_obj_t* pSubmenu_win = lv_obj_create(lv_scr_act()); //获取子菜单窗口
lv_obj_t* pPanel_SubUI_Img = NULL; //定义图片指针
lv_img_cache_invalidate_src(NULL); //将缓存全部清除
//加载图像框架
pPanel_SubUI_Img = lv_img_big_create(pSubUI_ERROR_win, panel_Error_SubUI_src, 40, 46, 6, 0);
//逆变器故障代码label Inverter type
lv_obj_t * pLabel_Inverter_Err = lv_label_create(pSubUI_ERROR_win);
lv_obj_set_style_text_font(pLabel_Inverter_Err, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Inverter_Err, "逆变器故障代码");
lv_obj_align(pLabel_Inverter_Err, LV_ALIGN_TOP_LEFT, 178, 10);
//反拖故障代码
lv_obj_t * pLabel_Reverse_Err = lv_label_create(pSubUI_ERROR_win);
lv_obj_set_style_text_font(pLabel_Reverse_Err, LV_FONT_MXC_MSYAHEI_CT_18PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Reverse_Err, "反拖故障代码");
lv_obj_align(pLabel_Reverse_Err, LV_ALIGN_TOP_LEFT, 187, 154);
//lv_obj_t* pTableInvertorErr = lv_table_create(pSubUI_ERROR_win);
//lv_obj_align(pTableInvertorErr, LV_ALIGN_TOP_LEFT, 61, 60);
//lv_obj_set_size(pTableInvertorErr, 200, 200);
//lv_table_set_row_cnt(pTableInvertorErr, 3);
//lv_table_set_col_cnt(pTableInvertorErr, 4);
//将GtorUI放到按键编组中,相应按钮时间,切换到Err界面
lv_obj_t* pDemo_group = get_key_group();
lv_group_add_obj(pDemo_group, pSubUI_ERROR_win);
lv_obj_add_event_cb(pSubUI_ERROR_win, WinKey_event_ErrToMain_handle, LV_EVENT_KEY, NULL);
return pSubUI_ERROR_win;
}
/*
liulin 2024.2.28
点击事件相应函数
按键Q:按钮之间切换选择
按键W:进入当前按钮选择的子界面(也可以理解为亮度切换等级)
*/
#if 0
static void key_event_handler(lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t *btn_win = lv_event_get_target(e);
//lv_obj_t *btn = lv_obj_get_child(mainmenu_win, 0);
if (code == LV_EVENT_KEY)
{
uint32_t *key = lv_event_get_param(e);
uint8_t key_code = (uint8_t)*key;
switch (key_code)
{
case LV_KEY_DOWN: //向下按钮切换各个界面
switch(Get_UI_page_id())
{
case SUBMENU_SET_THEME:
if(btn_num == 0)
{
printf("ENTER theme select.\n");
close_all_win();
theme_select_create();
}
else if(btn_num == 1)
{
printf("ENTER theme bg seletc.\n");
close_all_win();
theme_bg_create();
}
else
{
printf("RETURN list.\n");
close_all_win();
enter_mainmenu_win(get_root_win());
}
break;
case SUBMENU_SET_LIGHT:
if(btn_num == 0)
{
printf("ENTER light select.\n");
/*liulin 2024.2.28 增加亮度调节事件处理*/
lightcounter++;
printf("lightcounter = %d\n", lightcounter);
//light_select(lightcounter);
}
else
{
printf("RETURN list.\n");
close_all_win();
enter_mainmenu_win(get_root_win());
}
break;
default:
break;
}
break;
default:
break;
}
}
}
#endif

View File

@ -0,0 +1,243 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
static lv_obj_t* g_start_page_obj;
static lv_obj_t* g_animing_start;
extern lv_obj_t *meter;
extern lv_meter_indicator_t * indic;
extern lv_meter_indicator_t * indic1;
extern lv_obj_t * oil_meter;
extern lv_meter_indicator_t *oil_indic1;
extern lv_meter_indicator_t *oil_indic2;
extern lv_obj_t * temp_meter;
extern lv_meter_indicator_t *temp_indic1;
extern lv_meter_indicator_t *temp_indic2;
//ע<>͵<EFBFBD>xrz<72><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#if 0
#define ANIMIMG_NUM 3
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* test_animo[4] =
{
IMG_DM1_OIL,
IMG_DM1_TCS,
IMG_DM1_TEMP,
IMG_DM1_NULL,
};
static void my_lvgl_timer(lv_timer_t* timer)
{
static uint8_t page_switch_flag = 0;
printf("get_animimg_status()========= %d \n",get_animimg_status());
switch(page_switch_flag)
{
case 2:
if (timer != NULL)
{
lv_timer_del(timer);
timer = NULL;
lv_obj_del(g_start_page_obj);
g_start_page_obj = NULL;
}
win_init();
break;
}
if(++page_switch_flag>10)
{
page_switch_flag=10;
}
if (get_animimg_status() >= 2&& page_switch_flag==0)
{
page_switch_flag = 1;
}
}
void startingup_animing() //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
static lv_style_t startingup_style_base;
lv_style_init(&startingup_style_base);
//<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>
lv_style_set_bg_color(&startingup_style_base, lv_color_make(0x00, 0x00, 0x00));//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
//<2F><>ʽ<EFBFBD><CABD><EFBFBD>߾ࣺ1pix
lv_style_set_border_width(&startingup_style_base, 1);
//<2F><>ʽ<EFBFBD><CABD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ɫ<EFBFBD><C9AB>
lv_style_set_border_color(&startingup_style_base, lv_color_make(0x00, 0x00, 0x00));//<2F>߿<EFBFBD><DFBF><EFBFBD>ɫɫ
g_start_page_obj = lv_tileview_create(lv_scr_act()); //<2F><><EFBFBD><EFBFBD>titlewindow
lv_obj_set_size(g_start_page_obj, LV_HOR_RES, LV_VER_RES); //<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>Ļ<EFBFBD><C4BB>С
lv_obj_set_style_bg_color(g_start_page_obj, lv_color_make(0x00, 0x00, 0x00), 0);//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ɫΪ<C9AB><CEAA>
g_animing_start = lv_animimg_create(g_start_page_obj); //<2F><><EFBFBD><EFBFBD>1
lv_obj_center(g_animing_start); //<2F><><EFBFBD><EFBFBD>
lv_animimg_set_src(g_animing_start, (lv_img_dsc_t**)test_animo, ANIMIMG_NUM);
lv_animimg_set_duration(g_animing_start, 1500);
lv_animimg_set_repeat_count(g_animing_start, 1);
}
void moto_animo(void){
startingup_animing();
lv_timer_t* timer;
timer = lv_timer_create(my_lvgl_timer,1000, g_start_page_obj);
lv_timer_ready(timer);
lv_animimg_start(g_animing_start);
}
static void anim_arc_value_cb(void * var, int32_t v)
{
lv_arc_set_value(var, v);
}
static void anim_pointer_value_cb(void * var, int32_t v)
{
static uint8_t state =0;
if(v==0)
{
if(state ==1 && Get_sys_power_on_self_test() !=100)
{
printf("animo end.\n");
Set_sys_power_on_self_test(100);
// lv_anim_del_all();
// lv_anim_del(total, anim_mileage_value_cb);
}
printf("v==0");
state++;
}
lv_img_set_angle(var,v);
}
static void anim_oilarc_value_cb(void * var, int32_t v)
{
if(v <60)
{
lv_meter_set_indicator_end_value(var, oil_indic1, v);
lv_meter_set_indicator_end_value(var, oil_indic2, 60);
}
else
lv_meter_set_indicator_end_value(var, oil_indic2, v);
}
static void anim_temparc_value_cb(void * var, int32_t v)
{
if(v <210)
{
lv_meter_set_indicator_end_value(var, temp_indic1, v);
lv_meter_set_indicator_end_value(var, temp_indic2, 210);
}
else
lv_meter_set_indicator_end_value(var, temp_indic2, v);
}
static void anim_value_cb(void * var, int32_t v)
{
lv_label_set_text_fmt(var, "%d",v);
}
static void anim_mileage_value_cb(void * var, int32_t v)
{
lv_label_set_text_fmt(var, "%d",v*111111);
}
void self_checking_animo(lv_obj_t * parent)
{
if(Get_sys_power_on_self_test() ==100)
return;
lv_obj_t * ui_Arc1 = lv_obj_get_child(parent,5);
lv_obj_t * hand_img = lv_obj_get_child(parent,6);
lv_obj_t * speed = lv_obj_get_child(parent,7);
lv_obj_t * gear = lv_obj_get_child(parent,8);
lv_obj_t * gear_null = lv_obj_get_child(parent,9);
lv_obj_t * tcs = lv_obj_get_child(parent,10);
lv_obj_t * time_label = lv_obj_get_child(parent,11);
lv_obj_t * max_speed = lv_obj_get_child(parent,12);
lv_obj_t * avg_speed = lv_obj_get_child(parent,13);
lv_obj_t * trip = lv_obj_get_child(parent,14);
lv_obj_t * total = lv_obj_get_child(parent,15);
lv_anim_t a;
lv_anim_init(&a);
lv_anim_set_var(&a, ui_Arc1);
lv_anim_set_values(&a, 0, 120);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
lv_anim_set_time(&a, 1000);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
lv_anim_set_playback_time(&a, 1000);//<2F><><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><CDBE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
lv_anim_set_repeat_delay(&a, 1000);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><C5BC><EFBFBD> <20><><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
// lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);//<2F>ظ<EFBFBD>
lv_anim_set_repeat_count(&a, 1);//<2F>ظ<EFBFBD>
lv_anim_set_path_cb(&a, lv_anim_path_linear);//<2F><><EFBFBD>Ա仯
lv_anim_set_exec_cb(&a, anim_arc_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
lv_anim_set_var(&a, hand_img);
lv_anim_set_values(&a, 0, 3000);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
lv_anim_set_exec_cb(&a, anim_pointer_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
lv_anim_set_var(&a, oil_meter);
lv_anim_set_values(&a, 0, 270);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
lv_anim_set_exec_cb(&a, anim_oilarc_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
lv_anim_set_var(&a, temp_meter);
lv_anim_set_values(&a, 0, 270);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
lv_anim_set_exec_cb(&a, anim_temparc_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
lv_anim_set_var(&a, speed);
lv_anim_set_values(&a, 0, 255);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
lv_anim_set_exec_cb(&a, anim_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
lv_anim_set_var(&a, max_speed);
lv_anim_start(&a);
lv_anim_set_var(&a, avg_speed);
lv_anim_start(&a);
lv_anim_set_var(&a, gear);
lv_anim_set_values(&a, 0, 9);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// lv_anim_set_exec_cb(&a, anim_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
lv_anim_set_var(&a, trip);
lv_anim_set_values(&a, 0, 9);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
lv_anim_set_exec_cb(&a, anim_mileage_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
lv_anim_set_var(&a, total);
lv_anim_set_values(&a, 0, 9);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
lv_anim_set_exec_cb(&a, anim_mileage_value_cb);//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
lv_anim_start(&a);
// lv_anim_del(ui_Arc1, anim_arc_value_cb);
// lv_anim_del(hand_img, anim_pointer_value_cb);
// lv_anim_del(oil_meter, anim_oilarc_value_cb);
// lv_anim_del(temp_meter, anim_temparc_value_cb);
//
// lv_anim_del(speed, anim_value_cb);
// lv_anim_del(max_speed, anim_value_cb);
// lv_anim_del(avg_speed, anim_value_cb);
// lv_anim_del(gear, anim_value_cb);
//
// lv_anim_del(trip, anim_mileage_value_cb);
// lv_anim_del(total, anim_mileage_value_cb);
lv_obj_add_flag(gear_null,LV_OBJ_FLAG_HIDDEN);
}
#endif // 0

View File

@ -0,0 +1,250 @@
#if 1
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_BATT_FULL
#define LV_ATTRIBUTE_IMG_BATT_FULL
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_BATT_FULL uint8_t batt_full_map[] = {
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
/*Pixel format: Alpha 8 bit, Red: 3 bit, Green: 3 bit, Blue: 2 bit*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x50, 0x92, 0xf1, 0x92, 0xff, 0x92, 0xff, 0x92, 0xf9, 0x92, 0xf1, 0x6e, 0xf2, 0x92, 0xe2, 0xb6, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0xb0, 0x00, 0xff, 0x00, 0xf4, 0x00, 0xe3, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x49, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0xd1, 0x00, 0xa7, 0x00, 0x04, 0x00, 0x00, 0x24, 0x46, 0x00, 0xe8, 0x00, 0xff, 0x00, 0xff, 0x49, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x92, 0x06, 0xb3, 0x96, 0xb2, 0xd0, 0xb2, 0xd7, 0x8e, 0xd5, 0x8e, 0xd5, 0x8e, 0xd5, 0x8e, 0xd5, 0xb2, 0xd5, 0x8e, 0xf6, 0x6d, 0xc8, 0x92, 0xc2, 0x92, 0xc8, 0x8e, 0xb2, 0x6e, 0xeb, 0x6a, 0xff, 0x8e, 0xff, 0x8e, 0xeb, 0x8e, 0xd5, 0x8e, 0xd5, 0x8e, 0xd5, 0x8e, 0xd5, 0x8e, 0xd6, 0x8e, 0xd7, 0x8e, 0xc1, 0x8e, 0x63, 0x00, 0x00,
0x92, 0xb8, 0x72, 0xff, 0x31, 0xff, 0x35, 0xff, 0x35, 0xff, 0x35, 0xff, 0x35, 0xff, 0x39, 0xff, 0x39, 0xff, 0x7a, 0xff, 0xba, 0xff, 0x9a, 0xff, 0x9a, 0xff, 0x9a, 0xff, 0x7a, 0xff, 0x39, 0xff, 0x5a, 0xff, 0x59, 0xff, 0x39, 0xff, 0x39, 0xff, 0x39, 0xff, 0x39, 0xff, 0x39, 0xff, 0x39, 0xff, 0x39, 0xff, 0x51, 0xff, 0x8e, 0x54,
0x51, 0xff, 0x10, 0xff, 0x14, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x5e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x72, 0xb0,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xab,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa6,
0x11, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xa7,
0x31, 0xff, 0x10, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x59, 0xb2,
0x72, 0xfc, 0x31, 0xff, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x5e, 0xff, 0x9f, 0xff, 0x9e, 0xff, 0x9e, 0xff, 0x9f, 0xff, 0x5e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x35, 0xff, 0x6d, 0x91,
0xb2, 0x5a, 0x92, 0xef, 0x6e, 0xf2, 0x4d, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x49, 0xf2, 0x69, 0xd3, 0x69, 0x17,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0x50, 0x51, 0x8c, 0xf1, 0x31, 0x8c, 0xff, 0x10, 0x84, 0xff, 0xef, 0x7b, 0xf9, 0xcf, 0x7b, 0xf1, 0x8e, 0x73, 0xf2, 0xaf, 0x7b, 0xe2, 0x14, 0xa5, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0xb0, 0x41, 0x08, 0xff, 0x00, 0x00, 0xf4, 0x00, 0x00, 0xe3, 0x00, 0x00, 0xff, 0x20, 0x00, 0xff, 0x00, 0x00, 0xff, 0x41, 0x08, 0xff, 0x28, 0x42, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x29, 0xd1, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x83, 0x18, 0x46, 0x00, 0x00, 0xe8, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x6a, 0x52, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0x84, 0x06, 0x94, 0xac, 0x96, 0x12, 0x9c, 0xd0, 0xf1, 0x93, 0xd7, 0x70, 0x8b, 0xd5, 0x50, 0x83, 0xd5, 0x30, 0x83, 0xd5, 0x30, 0x8b, 0xd5, 0x92, 0x93, 0xd5, 0x0e, 0x7b, 0xf6, 0x8b, 0x62, 0xc8, 0xb0, 0x83, 0xc2, 0xd0, 0x8b, 0xc8, 0x6f, 0x7b, 0xb2, 0x8c, 0x6a, 0xeb, 0x6d, 0x72, 0xff, 0xae, 0x7a, 0xff, 0x91, 0x93, 0xeb, 0x50, 0x8b, 0xd5, 0x2f, 0x83, 0xd5, 0x2f, 0x8b, 0xd5, 0x2f, 0x8b, 0xd5, 0x30, 0x8b, 0xd6, 0x50, 0x8b, 0xd7, 0x8e, 0x7a, 0xc1, 0x0f, 0x83, 0x63, 0x00, 0x00, 0x00,
0x52, 0x94, 0xb8, 0x8c, 0x54, 0xff, 0x89, 0x34, 0xff, 0x88, 0x24, 0xff, 0xc8, 0x24, 0xff, 0x29, 0x25, 0xff, 0x89, 0x2d, 0xff, 0xc9, 0x2d, 0xff, 0xe8, 0x25, 0xff, 0x6f, 0x66, 0xff, 0x74, 0x96, 0xff, 0x11, 0x7e, 0xff, 0x11, 0x7e, 0xff, 0x33, 0x8e, 0xff, 0x70, 0x66, 0xff, 0x4a, 0x2e, 0xff, 0x8c, 0x3e, 0xff, 0x4b, 0x36, 0xff, 0xc9, 0x25, 0xff, 0xe9, 0x2d, 0xff, 0xe9, 0x2d, 0xff, 0xe9, 0x2d, 0xff, 0xe9, 0x2d, 0xff, 0xe9, 0x25, 0xff, 0x0a, 0x2e, 0xff, 0x4c, 0x54, 0xff, 0xef, 0x82, 0x54,
0x2a, 0x3c, 0xff, 0x41, 0x04, 0xff, 0x04, 0x05, 0xff, 0xc5, 0x05, 0xff, 0x86, 0x06, 0xff, 0x27, 0x07, 0xff, 0xc8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe6, 0x07, 0xff, 0xef, 0x47, 0xff, 0xf8, 0xaf, 0xff, 0xf6, 0x97, 0xff, 0xf6, 0x97, 0xff, 0xf8, 0xaf, 0xff, 0xf0, 0x57, 0xff, 0xe6, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0xe8, 0x07, 0xff, 0x6d, 0x5c, 0xb0,
0xe4, 0x03, 0xff, 0x44, 0x04, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0x89, 0x17, 0xff, 0xe9, 0x07, 0xff, 0x89, 0x17, 0xab,
0x05, 0x04, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0x89, 0x17, 0xff, 0xe9, 0x07, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x28, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xa6,
0x05, 0x0c, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x17, 0xff, 0xc9, 0x0f, 0xa6,
0x04, 0x04, 0xff, 0x45, 0x0c, 0xff, 0xe6, 0x0c, 0xff, 0x66, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x89, 0x0f, 0xff, 0xa7, 0x07, 0xff, 0xcf, 0x4f, 0xff, 0xf7, 0xa7, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf7, 0xa7, 0xff, 0xd0, 0x57, 0xff, 0xa7, 0x07, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xe9, 0x0f, 0xa7,
0x06, 0x1c, 0xff, 0x62, 0x04, 0xff, 0x05, 0x05, 0xff, 0xa6, 0x0d, 0xff, 0x67, 0x0e, 0xff, 0xe8, 0x0e, 0xff, 0x89, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe7, 0x07, 0xff, 0xef, 0x57, 0xff, 0xf8, 0xaf, 0xff, 0xf6, 0x97, 0xff, 0xf6, 0x97, 0xff, 0xf8, 0xaf, 0xff, 0xf0, 0x5f, 0xff, 0xe7, 0x07, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x0f, 0xff, 0xe9, 0x07, 0xff, 0x0b, 0x3e, 0xb2,
0x0e, 0x74, 0xfc, 0x06, 0x1c, 0xff, 0x85, 0x04, 0xff, 0x05, 0x05, 0xff, 0x86, 0x05, 0xff, 0x06, 0x06, 0xff, 0x87, 0x06, 0xff, 0xe7, 0x06, 0xff, 0x06, 0x07, 0xff, 0x2d, 0x47, 0xff, 0x55, 0x97, 0xff, 0x33, 0x7f, 0xff, 0x33, 0x7f, 0xff, 0x54, 0x97, 0xff, 0x2e, 0x4f, 0xff, 0x06, 0x07, 0xff, 0x08, 0x07, 0xff, 0x08, 0x07, 0xff, 0x08, 0x07, 0xff, 0x08, 0x07, 0xff, 0x08, 0x07, 0xff, 0x08, 0x07, 0xff, 0x08, 0x07, 0xff, 0x28, 0x07, 0xff, 0xc7, 0x06, 0xff, 0xe7, 0x14, 0xff, 0x8c, 0x6a, 0x91,
0x32, 0x94, 0x5a, 0xf1, 0x8b, 0xef, 0x4c, 0x63, 0xf2, 0xca, 0x52, 0xf2, 0x48, 0x42, 0xf2, 0x48, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x69, 0x42, 0xf2, 0x69, 0x4a, 0xf2, 0x69, 0x4a, 0xf2, 0x69, 0x4a, 0xf2, 0x69, 0x4a, 0xf2, 0x69, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x68, 0x42, 0xf2, 0x89, 0x42, 0xf2, 0x28, 0x42, 0xf2, 0x8a, 0x59, 0xd3, 0x6b, 0x62, 0x17,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 color bytes are swapped*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xe7, 0x50, 0x8c, 0x51, 0xf1, 0x8c, 0x31, 0xff, 0x84, 0x10, 0xff, 0x7b, 0xef, 0xf9, 0x7b, 0xcf, 0xf1, 0x73, 0x8e, 0xf2, 0x7b, 0xaf, 0xe2, 0xa5, 0x14, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x65, 0xb0, 0x08, 0x41, 0xff, 0x00, 0x00, 0xf4, 0x00, 0x00, 0xe3, 0x00, 0x00, 0xff, 0x00, 0x20, 0xff, 0x00, 0x00, 0xff, 0x08, 0x41, 0xff, 0x42, 0x28, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x45, 0xd1, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x83, 0x46, 0x00, 0x00, 0xe8, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x52, 0x6a, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x84, 0x10, 0x06, 0xac, 0x94, 0x96, 0x9c, 0x12, 0xd0, 0x93, 0xf1, 0xd7, 0x8b, 0x70, 0xd5, 0x83, 0x50, 0xd5, 0x83, 0x30, 0xd5, 0x8b, 0x30, 0xd5, 0x93, 0x92, 0xd5, 0x7b, 0x0e, 0xf6, 0x62, 0x8b, 0xc8, 0x83, 0xb0, 0xc2, 0x8b, 0xd0, 0xc8, 0x7b, 0x6f, 0xb2, 0x6a, 0x8c, 0xeb, 0x72, 0x6d, 0xff, 0x7a, 0xae, 0xff, 0x93, 0x91, 0xeb, 0x8b, 0x50, 0xd5, 0x83, 0x2f, 0xd5, 0x8b, 0x2f, 0xd5, 0x8b, 0x2f, 0xd5, 0x8b, 0x30, 0xd6, 0x8b, 0x50, 0xd7, 0x7a, 0x8e, 0xc1, 0x83, 0x0f, 0x63, 0x00, 0x00, 0x00,
0x94, 0x52, 0xb8, 0x54, 0x8c, 0xff, 0x34, 0x89, 0xff, 0x24, 0x88, 0xff, 0x24, 0xc8, 0xff, 0x25, 0x29, 0xff, 0x2d, 0x89, 0xff, 0x2d, 0xc9, 0xff, 0x25, 0xe8, 0xff, 0x66, 0x6f, 0xff, 0x96, 0x74, 0xff, 0x7e, 0x11, 0xff, 0x7e, 0x11, 0xff, 0x8e, 0x33, 0xff, 0x66, 0x70, 0xff, 0x2e, 0x4a, 0xff, 0x3e, 0x8c, 0xff, 0x36, 0x4b, 0xff, 0x25, 0xc9, 0xff, 0x2d, 0xe9, 0xff, 0x2d, 0xe9, 0xff, 0x2d, 0xe9, 0xff, 0x2d, 0xe9, 0xff, 0x25, 0xe9, 0xff, 0x2e, 0x0a, 0xff, 0x54, 0x4c, 0xff, 0x82, 0xef, 0x54,
0x3c, 0x2a, 0xff, 0x04, 0x41, 0xff, 0x05, 0x04, 0xff, 0x05, 0xc5, 0xff, 0x06, 0x86, 0xff, 0x07, 0x27, 0xff, 0x07, 0xc8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe6, 0xff, 0x47, 0xef, 0xff, 0xaf, 0xf8, 0xff, 0x97, 0xf6, 0xff, 0x97, 0xf6, 0xff, 0xaf, 0xf8, 0xff, 0x57, 0xf0, 0xff, 0x07, 0xe6, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x07, 0xe8, 0xff, 0x5c, 0x6d, 0xb0,
0x03, 0xe4, 0xff, 0x04, 0x44, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x17, 0x89, 0xff, 0x07, 0xe9, 0xff, 0x17, 0x89, 0xab,
0x04, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x17, 0x89, 0xff, 0x07, 0xe9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x28, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xa6,
0x0c, 0x05, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x17, 0xa9, 0xff, 0x0f, 0xc9, 0xa6,
0x04, 0x04, 0xff, 0x0c, 0x45, 0xff, 0x0c, 0xe6, 0xff, 0x0d, 0x66, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x89, 0xff, 0x07, 0xa7, 0xff, 0x4f, 0xcf, 0xff, 0xa7, 0xf7, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0xa7, 0xf7, 0xff, 0x57, 0xd0, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xe9, 0xa7,
0x1c, 0x06, 0xff, 0x04, 0x62, 0xff, 0x05, 0x05, 0xff, 0x0d, 0xa6, 0xff, 0x0e, 0x67, 0xff, 0x0e, 0xe8, 0xff, 0x0f, 0x89, 0xff, 0x0f, 0xe9, 0xff, 0x07, 0xe7, 0xff, 0x57, 0xef, 0xff, 0xaf, 0xf8, 0xff, 0x97, 0xf6, 0xff, 0x97, 0xf6, 0xff, 0xaf, 0xf8, 0xff, 0x5f, 0xf0, 0xff, 0x07, 0xe7, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x0f, 0xe9, 0xff, 0x07, 0xe9, 0xff, 0x3e, 0x0b, 0xb2,
0x74, 0x0e, 0xfc, 0x1c, 0x06, 0xff, 0x04, 0x85, 0xff, 0x05, 0x05, 0xff, 0x05, 0x86, 0xff, 0x06, 0x06, 0xff, 0x06, 0x87, 0xff, 0x06, 0xe7, 0xff, 0x07, 0x06, 0xff, 0x47, 0x2d, 0xff, 0x97, 0x55, 0xff, 0x7f, 0x33, 0xff, 0x7f, 0x33, 0xff, 0x97, 0x54, 0xff, 0x4f, 0x2e, 0xff, 0x07, 0x06, 0xff, 0x07, 0x08, 0xff, 0x07, 0x08, 0xff, 0x07, 0x08, 0xff, 0x07, 0x08, 0xff, 0x07, 0x08, 0xff, 0x07, 0x08, 0xff, 0x07, 0x08, 0xff, 0x07, 0x28, 0xff, 0x06, 0xc7, 0xff, 0x14, 0xe7, 0xff, 0x6a, 0x8c, 0x91,
0x94, 0x32, 0x5a, 0x8b, 0xf1, 0xef, 0x63, 0x4c, 0xf2, 0x52, 0xca, 0xf2, 0x42, 0x48, 0xf2, 0x42, 0x48, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x69, 0xf2, 0x4a, 0x69, 0xf2, 0x4a, 0x69, 0xf2, 0x4a, 0x69, 0xf2, 0x4a, 0x69, 0xf2, 0x42, 0x69, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x68, 0xf2, 0x42, 0x89, 0xf2, 0x42, 0x28, 0xf2, 0x59, 0x8a, 0xd3, 0x62, 0x6b, 0x17,
#endif
#if LV_COLOR_DEPTH == 32
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x50, 0x88, 0x88, 0x88, 0xf1, 0x86, 0x86, 0x86, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0x7c, 0x7c, 0x7b, 0xf9, 0x7a, 0x7a, 0x7a, 0xf1, 0x70, 0x70, 0x70, 0xf2, 0x75, 0x75, 0x75, 0xe2, 0xa0, 0xa0, 0xa0, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x2b, 0xb0, 0x0a, 0x0a, 0x0a, 0xff, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0xff, 0x03, 0x03, 0x03, 0xff, 0x00, 0x00, 0x01, 0xff, 0x08, 0x08, 0x08, 0xff, 0x44, 0x44, 0x44, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x29, 0x2a, 0xd1, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x15, 0x12, 0x15, 0x46, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x4f, 0x4d, 0x4f, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7f, 0x7f, 0x7f, 0x06, 0xa1, 0x90, 0xa8, 0x96, 0x8f, 0x7f, 0x95, 0xd0, 0x8b, 0x7b, 0x91, 0xd7, 0x80, 0x6c, 0x87, 0xd5, 0x7d, 0x69, 0x84, 0xd5, 0x7d, 0x66, 0x84, 0xd5, 0x7d, 0x65, 0x86, 0xd5, 0x8d, 0x72, 0x94, 0xd5, 0x74, 0x62, 0x7a, 0xf6, 0x5b, 0x52, 0x5f, 0xc8, 0x7f, 0x73, 0x83, 0xc2, 0x84, 0x77, 0x88, 0xc8, 0x76, 0x6e, 0x79, 0xb2, 0x62, 0x52, 0x68, 0xeb, 0x67, 0x4d, 0x6f, 0xff, 0x6d, 0x55, 0x75, 0xff, 0x87, 0x6f, 0x90, 0xeb, 0x82, 0x6a, 0x89, 0xd5, 0x7c, 0x64, 0x84, 0xd5, 0x7c, 0x65, 0x86, 0xd5, 0x7c, 0x65, 0x86, 0xd5, 0x7e, 0x66, 0x85, 0xd6, 0x7e, 0x68, 0x87, 0xd7, 0x70, 0x51, 0x7a, 0xc1, 0x79, 0x5f, 0x80, 0x63, 0x00, 0x00, 0x00, 0x00,
0x8d, 0x87, 0x90, 0xb8, 0x62, 0x8f, 0x54, 0xff, 0x48, 0x90, 0x30, 0xff, 0x40, 0x91, 0x24, 0xff, 0x43, 0x9a, 0x24, 0xff, 0x45, 0xa4, 0x24, 0xff, 0x49, 0xb0, 0x25, 0xff, 0x4b, 0xb9, 0x25, 0xff, 0x41, 0xbc, 0x1d, 0xff, 0x79, 0xcd, 0x5d, 0xff, 0xa0, 0xce, 0x91, 0xff, 0x8a, 0xc2, 0x77, 0xff, 0x88, 0xc0, 0x75, 0xff, 0x96, 0xc5, 0x87, 0xff, 0x7d, 0xcc, 0x61, 0xff, 0x51, 0xc9, 0x2b, 0xff, 0x61, 0xd0, 0x3a, 0xff, 0x59, 0xc8, 0x32, 0xff, 0x48, 0xb8, 0x21, 0xff, 0x4c, 0xbc, 0x25, 0xff, 0x4c, 0xbc, 0x25, 0xff, 0x4c, 0xbc, 0x25, 0xff, 0x4c, 0xbc, 0x25, 0xff, 0x4c, 0xbe, 0x24, 0xff, 0x52, 0xbf, 0x2b, 0xff, 0x5e, 0x89, 0x4f, 0xff, 0x76, 0x5b, 0x7f, 0x54,
0x4e, 0x84, 0x3b, 0xff, 0x08, 0x87, 0x00, 0xff, 0x1f, 0xa0, 0x00, 0xff, 0x29, 0xb7, 0x00, 0xff, 0x31, 0xcf, 0x00, 0xff, 0x38, 0xe3, 0x00, 0xff, 0x3d, 0xf7, 0x00, 0xff, 0x42, 0xff, 0x00, 0xff, 0x2f, 0xff, 0x00, 0xff, 0x77, 0xff, 0x44, 0xff, 0xc4, 0xff, 0xa9, 0xff, 0xb0, 0xff, 0x8e, 0xff, 0xb0, 0xff, 0x8e, 0xff, 0xc2, 0xff, 0xa8, 0xff, 0x81, 0xff, 0x50, 0xff, 0x32, 0xff, 0x00, 0xff, 0x42, 0xff, 0x00, 0xff, 0x40, 0xff, 0x00, 0xff, 0x44, 0xff, 0x00, 0xff, 0x43, 0xff, 0x00, 0xff, 0x43, 0xff, 0x00, 0xff, 0x43, 0xff, 0x00, 0xff, 0x43, 0xff, 0x00, 0xff, 0x43, 0xff, 0x00, 0xff, 0x41, 0xff, 0x00, 0xff, 0x3d, 0xff, 0x00, 0xff, 0x65, 0x8d, 0x58, 0xb0,
0x21, 0x7e, 0x00, 0xff, 0x24, 0x8a, 0x02, 0xff, 0x2e, 0x9b, 0x09, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf2, 0x0d, 0xff, 0x45, 0xff, 0x04, 0xff, 0x4c, 0xf1, 0x11, 0xab,
0x25, 0x7f, 0x04, 0xff, 0x29, 0x89, 0x07, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x49, 0xf2, 0x0e, 0xff, 0x45, 0xfb, 0x04, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xbf, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xbf, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x8a, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xbf, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xbf, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x8a, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xbf, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x80, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xbf, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x27, 0x7f, 0x07, 0xff, 0x28, 0x89, 0x06, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x09, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe3, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xa6,
0x26, 0x80, 0x06, 0xff, 0x29, 0x89, 0x07, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf3, 0x0d, 0xff, 0x46, 0xf7, 0x09, 0xa6,
0x22, 0x7f, 0x01, 0xff, 0x29, 0x8a, 0x05, 0xff, 0x2e, 0x9b, 0x08, 0xff, 0x33, 0xad, 0x08, 0xff, 0x39, 0xc0, 0x09, 0xff, 0x3e, 0xd1, 0x0a, 0xff, 0x43, 0xe2, 0x0b, 0xff, 0x47, 0xf1, 0x0c, 0xff, 0x37, 0xf4, 0x00, 0xff, 0x76, 0xf7, 0x4a, 0xff, 0xb6, 0xfb, 0x9f, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb5, 0xfb, 0x9e, 0xff, 0x7d, 0xf7, 0x53, 0xff, 0x39, 0xf3, 0x00, 0xff, 0x48, 0xf4, 0x0b, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf3, 0x0c, 0xff, 0x48, 0xf6, 0x0c, 0xff, 0x46, 0xff, 0x07, 0xa7,
0x31, 0x82, 0x16, 0xff, 0x10, 0x8c, 0x00, 0xff, 0x2b, 0xa1, 0x02, 0xff, 0x32, 0xb5, 0x05, 0xff, 0x3a, 0xcb, 0x06, 0xff, 0x40, 0xde, 0x08, 0xff, 0x45, 0xf1, 0x09, 0xff, 0x49, 0xff, 0x0a, 0xff, 0x38, 0xff, 0x00, 0xff, 0x7c, 0xff, 0x4d, 0xff, 0xc1, 0xff, 0xa8, 0xff, 0xaf, 0xff, 0x8f, 0xff, 0xaf, 0xff, 0x8f, 0xff, 0xc0, 0xff, 0xa7, 0xff, 0x83, 0xff, 0x56, 0xff, 0x3a, 0xff, 0x00, 0xff, 0x4a, 0xff, 0x09, 0xff, 0x4a, 0xff, 0x0a, 0xff, 0x4a, 0xff, 0x0a, 0xff, 0x4a, 0xff, 0x0a, 0xff, 0x4a, 0xff, 0x0a, 0xff, 0x4a, 0xff, 0x0a, 0xff, 0x4a, 0xff, 0x0a, 0xff, 0x4a, 0xff, 0x0a, 0xff, 0x4c, 0xff, 0x09, 0xff, 0x45, 0xff, 0x00, 0xff, 0x5a, 0xbf, 0x36, 0xb2,
0x72, 0x7f, 0x6e, 0xfc, 0x2f, 0x81, 0x1b, 0xff, 0x26, 0x90, 0x03, 0xff, 0x2b, 0xa0, 0x02, 0xff, 0x2f, 0xaf, 0x02, 0xff, 0x33, 0xbf, 0x02, 0xff, 0x38, 0xd0, 0x03, 0xff, 0x3c, 0xdd, 0x04, 0xff, 0x2d, 0xe0, 0x00, 0xff, 0x69, 0xe3, 0x3f, 0xff, 0xa5, 0xe7, 0x90, 0xff, 0x95, 0xe6, 0x7a, 0xff, 0x95, 0xe6, 0x7a, 0xff, 0xa4, 0xe7, 0x8f, 0xff, 0x6f, 0xe3, 0x48, 0xff, 0x2f, 0xdf, 0x00, 0xff, 0x3d, 0xe0, 0x03, 0xff, 0x3d, 0xe0, 0x04, 0xff, 0x3d, 0xe0, 0x04, 0xff, 0x3d, 0xe0, 0x04, 0xff, 0x3d, 0xe0, 0x04, 0xff, 0x3d, 0xe0, 0x04, 0xff, 0x3d, 0xe0, 0x04, 0xff, 0x3e, 0xe3, 0x04, 0xff, 0x39, 0xda, 0x00, 0xff, 0x36, 0x9d, 0x12, 0xff, 0x60, 0x52, 0x67, 0x91,
0x90, 0x85, 0x93, 0x5a, 0x89, 0x7e, 0x8a, 0xef, 0x64, 0x6a, 0x63, 0xf2, 0x51, 0x58, 0x4f, 0xf2, 0x44, 0x4a, 0x42, 0xf2, 0x43, 0x49, 0x40, 0xf2, 0x44, 0x4b, 0x41, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x43, 0x4c, 0x41, 0xf2, 0x46, 0x4c, 0x44, 0xf2, 0x49, 0x4d, 0x48, 0xf2, 0x48, 0x4d, 0x47, 0xf2, 0x48, 0x4d, 0x47, 0xf2, 0x49, 0x4d, 0x48, 0xf2, 0x46, 0x4c, 0x44, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x44, 0x4c, 0x41, 0xf2, 0x44, 0x4d, 0x42, 0xf2, 0x45, 0x50, 0x41, 0xf2, 0x42, 0x44, 0x41, 0xf2, 0x4e, 0x32, 0x58, 0xd3, 0x58, 0x4d, 0x63, 0x17,
#endif
};
const lv_img_dsc_t batt_full = {
.header.always_zero = 0,
.header.w = 27,
.header.h = 54,
.data_size = 1458 * LV_IMG_PX_SIZE_ALPHA_BYTE,
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = batt_full_map,
};

View File

@ -0,0 +1,282 @@
#if 1
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_BATT_FULL_GREN
#define LV_ATTRIBUTE_IMG_BATT_FULL_GREN
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_BATT_FULL_GREN uint8_t batt_full_gren_map[] = {
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
/*Pixel format: Alpha 8 bit, Red: 3 bit, Green: 3 bit, Blue: 2 bit*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x24, 0x44, 0x24, 0x51, 0x25, 0x42, 0x25, 0x44, 0x25, 0x44, 0x25, 0x44, 0x25, 0x42, 0x24, 0x5d, 0x24, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x20, 0x24, 0x61, 0x00, 0x1f, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1a, 0x00, 0x40, 0x24, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0a, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xff, 0x02, 0xdb, 0x60, 0xff, 0x71, 0xff, 0x66, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xfb, 0x77, 0x8e, 0x87, 0xb2, 0x61, 0xfb, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xfb, 0x61, 0xd7, 0x61, 0x8e, 0x6c, 0x92, 0x81, 0xff, 0x67, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x64, 0xff, 0x64, 0xff, 0x67, 0xd7, 0x71, 0xb7, 0x40, 0x00, 0x00,
0xff, 0x02, 0xff, 0xba, 0xff, 0xff, 0xdf, 0xff, 0xdf, 0xf4, 0xdf, 0xec, 0xdf, 0xeb, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xe5, 0xff, 0xdf, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xe8, 0xff, 0xe1, 0xdf, 0xeb, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xef, 0xbf, 0xf3, 0xdf, 0xfa, 0xfb, 0xf0, 0xff, 0x6f,
0xff, 0x72, 0x9a, 0xff, 0x31, 0xf7, 0x15, 0xfc, 0x15, 0xfc, 0x19, 0xfb, 0x19, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x9e, 0xfb, 0x9f, 0xfb, 0x9e, 0xfb, 0x9e, 0xfb, 0xbf, 0xfb, 0x7e, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfc, 0x1d, 0xf7, 0x3d, 0xf9, 0x9a, 0xe0,
0xbb, 0xde, 0x0c, 0xff, 0x10, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x9e, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf7,
0x31, 0xf6, 0x10, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf4,
0x11, 0xf2, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf1, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x11, 0xf2, 0x10, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
0x55, 0xf1, 0x0c, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xfe,
0xff, 0xbb, 0x31, 0xff, 0x10, 0xff, 0x14, 0xff, 0x18, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x9e, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x59, 0xd9,
0xff, 0x3e, 0xdb, 0xff, 0x76, 0xfe, 0x76, 0xe7, 0x56, 0xd9, 0x56, 0xcb, 0x7a, 0xc6, 0x7a, 0xc8, 0x7a, 0xc8, 0x5a, 0xc8, 0x7a, 0xc8, 0x9a, 0xc8, 0xbb, 0xc8, 0x9a, 0xc8, 0x9a, 0xc8, 0xbb, 0xc8, 0x9a, 0xc8, 0x5a, 0xc8, 0x5a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc7, 0x7a, 0xc9, 0x5a, 0xcd, 0x5a, 0xd2, 0x59, 0xd3, 0x55, 0xeb, 0xb7, 0xa9,
0x00, 0x00, 0xff, 0x6e, 0xff, 0xcc, 0xfb, 0xbe, 0xfb, 0xa7, 0xfb, 0x99, 0xfb, 0x95, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x97, 0xf7, 0x9b, 0xf7, 0xa1, 0xd7, 0xb1, 0xd7, 0xa7, 0xff, 0x36,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe4, 0x20, 0x44, 0x04, 0x21, 0x51, 0x04, 0x21, 0x42, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x42, 0xe4, 0x20, 0x5d, 0xe4, 0x20, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x18, 0x20, 0xc3, 0x18, 0x61, 0x41, 0x08, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x61, 0x08, 0x40, 0xe3, 0x18, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x31, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0x18, 0xce, 0x60, 0xdd, 0xee, 0x71, 0x7f, 0xff, 0x66, 0x3e, 0xff, 0x63, 0x1e, 0xff, 0x63, 0x1e, 0xff, 0x63, 0xfe, 0xfe, 0x63, 0xff, 0xff, 0x63, 0x1a, 0xde, 0x77, 0x2e, 0x73, 0x87, 0x72, 0x9c, 0x61, 0x3a, 0xd6, 0x61, 0xd9, 0xcd, 0x61, 0xd8, 0xcd, 0x61, 0x1a, 0xd6, 0x61, 0x98, 0xcd, 0x61, 0x70, 0x8b, 0x6c, 0x91, 0x8b, 0x81, 0xfe, 0xfe, 0x67, 0xdf, 0xff, 0x63, 0xdd, 0xf6, 0x63, 0xfe, 0xfe, 0x63, 0xfe, 0xfe, 0x64, 0xfe, 0xf6, 0x64, 0x3f, 0xff, 0x67, 0x17, 0xbd, 0x71, 0x35, 0xad, 0x40, 0x00, 0x00, 0x00,
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0x5d, 0xef, 0xff, 0xb8, 0xc6, 0xff, 0xb8, 0xbe, 0xf4, 0xd8, 0xc6, 0xec, 0xf9, 0xbe, 0xeb, 0xf8, 0xc6, 0xec, 0xf8, 0xc6, 0xec, 0xf8, 0xbe, 0xec, 0x9b, 0xd7, 0xe5, 0xff, 0xf7, 0xdf, 0xff, 0xf7, 0xec, 0xdd, 0xef, 0xec, 0xdd, 0xef, 0xec, 0xde, 0xef, 0xec, 0xdd, 0xe7, 0xec, 0xfc, 0xdf, 0xec, 0xfe, 0xe7, 0xe8, 0xfd, 0xe7, 0xe1, 0x7a, 0xcf, 0xeb, 0xf8, 0xbe, 0xec, 0x19, 0xc7, 0xec, 0x19, 0xc7, 0xec, 0xf8, 0xc6, 0xec, 0xd8, 0xbe, 0xef, 0xb7, 0xb6, 0xf3, 0xf8, 0xbe, 0xfa, 0x5a, 0xde, 0xf0, 0xdf, 0xfe, 0x6f,
0xff, 0xff, 0x72, 0x91, 0x7d, 0xff, 0x85, 0x1c, 0xf7, 0xc4, 0x04, 0xfc, 0x66, 0x05, 0xfc, 0xe6, 0x05, 0xfb, 0x87, 0x06, 0xfb, 0xe7, 0x06, 0xfb, 0x48, 0x0f, 0xfb, 0x87, 0x07, 0xfb, 0x89, 0x17, 0xfb, 0xd4, 0x87, 0xfb, 0xd5, 0x8f, 0xfb, 0xd4, 0x87, 0xfb, 0xd4, 0x87, 0xfb, 0xd5, 0x97, 0xfb, 0xb2, 0x6f, 0xfb, 0x87, 0x07, 0xfb, 0x88, 0x07, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x07, 0xfb, 0x88, 0x07, 0xfc, 0xa8, 0x07, 0xf7, 0x09, 0x27, 0xf9, 0x13, 0x8e, 0xe0,
0x14, 0x9e, 0xde, 0x20, 0x03, 0xff, 0x42, 0x04, 0xff, 0x05, 0x05, 0xff, 0x86, 0x05, 0xff, 0x06, 0x06, 0xff, 0x87, 0x06, 0xff, 0x07, 0x07, 0xff, 0x68, 0x07, 0xff, 0xa7, 0x07, 0xff, 0xc9, 0x0f, 0xff, 0xf4, 0x87, 0xff, 0xf5, 0x97, 0xff, 0xf4, 0x8f, 0xff, 0xf4, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xf2, 0x6f, 0xff, 0xa7, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xc8, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xa7, 0x07, 0xf7,
0x26, 0x14, 0xf6, 0xa2, 0x03, 0xff, 0xa6, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x17, 0xff, 0xa8, 0x0f, 0xf4,
0x04, 0x04, 0xf2, 0x05, 0x04, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x25, 0x0c, 0xf1, 0x04, 0x04, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0x04, 0x0c, 0xf2, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
0xcc, 0x4c, 0xf1, 0x60, 0x03, 0xff, 0xa6, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x17, 0xff, 0xc9, 0x0f, 0xff, 0xe8, 0x07, 0xfe,
0x1c, 0xe7, 0xbb, 0x05, 0x14, 0xff, 0x00, 0x04, 0xff, 0xe3, 0x04, 0xff, 0xa4, 0x05, 0xff, 0x44, 0x06, 0xff, 0xc5, 0x06, 0xff, 0x46, 0x07, 0xff, 0xc6, 0x07, 0xff, 0xe5, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xf4, 0x7f, 0xff, 0xf5, 0x8f, 0xff, 0xf4, 0x87, 0xff, 0xf4, 0x87, 0xff, 0xf6, 0x97, 0xff, 0xf2, 0x6f, 0xff, 0xe6, 0x07, 0xff, 0xe6, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe6, 0x07, 0xff, 0x4b, 0x36, 0xd9,
0xff, 0xff, 0x3e, 0x79, 0xc6, 0xff, 0x2f, 0x75, 0xfe, 0x2d, 0x5d, 0xe7, 0x2d, 0x55, 0xd9, 0x4d, 0x55, 0xcb, 0xad, 0x55, 0xc6, 0xee, 0x55, 0xc8, 0x2e, 0x56, 0xc8, 0x2d, 0x4e, 0xc8, 0x2e, 0x5e, 0xc8, 0x53, 0x96, 0xc8, 0x54, 0x9e, 0xc8, 0x54, 0x96, 0xc8, 0x54, 0x96, 0xc8, 0x54, 0x9e, 0xc8, 0x53, 0x86, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc7, 0x2e, 0x56, 0xc9, 0x0d, 0x4e, 0xcd, 0xcc, 0x45, 0xd2, 0xcc, 0x45, 0xd3, 0xaa, 0x44, 0xeb, 0xb5, 0xac, 0xa9,
0x00, 0x00, 0x00, 0xdf, 0xff, 0x6e, 0xde, 0xf6, 0xcc, 0x7c, 0xee, 0xbe, 0x1b, 0xe6, 0xa7, 0xfb, 0xe5, 0x99, 0xfb, 0xe5, 0x95, 0xfb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xb9, 0xcd, 0x96, 0xb8, 0xcd, 0x96, 0xb9, 0xcd, 0x96, 0xb9, 0xcd, 0x96, 0xb8, 0xcd, 0x96, 0xb9, 0xd5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xbb, 0xe5, 0x97, 0x9a, 0xdd, 0x9b, 0x59, 0xdd, 0xa1, 0xd7, 0xc4, 0xb1, 0xf7, 0xc4, 0xa7, 0xbf, 0xff, 0x36,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 color bytes are swapped*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0xe4, 0x44, 0x21, 0x04, 0x51, 0x21, 0x04, 0x42, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x42, 0x20, 0xe4, 0x5d, 0x20, 0xe4, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc2, 0x20, 0x18, 0xc3, 0x61, 0x08, 0x41, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x08, 0x61, 0x40, 0x18, 0xe3, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xa6, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0xce, 0x18, 0x60, 0xee, 0xdd, 0x71, 0xff, 0x7f, 0x66, 0xff, 0x3e, 0x63, 0xff, 0x1e, 0x63, 0xff, 0x1e, 0x63, 0xfe, 0xfe, 0x63, 0xff, 0xff, 0x63, 0xde, 0x1a, 0x77, 0x73, 0x2e, 0x87, 0x9c, 0x72, 0x61, 0xd6, 0x3a, 0x61, 0xcd, 0xd9, 0x61, 0xcd, 0xd8, 0x61, 0xd6, 0x1a, 0x61, 0xcd, 0x98, 0x61, 0x8b, 0x70, 0x6c, 0x8b, 0x91, 0x81, 0xfe, 0xfe, 0x67, 0xff, 0xdf, 0x63, 0xf6, 0xdd, 0x63, 0xfe, 0xfe, 0x63, 0xfe, 0xfe, 0x64, 0xf6, 0xfe, 0x64, 0xff, 0x3f, 0x67, 0xbd, 0x17, 0x71, 0xad, 0x35, 0x40, 0x00, 0x00, 0x00,
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0xef, 0x5d, 0xff, 0xc6, 0xb8, 0xff, 0xbe, 0xb8, 0xf4, 0xc6, 0xd8, 0xec, 0xbe, 0xf9, 0xeb, 0xc6, 0xf8, 0xec, 0xc6, 0xf8, 0xec, 0xbe, 0xf8, 0xec, 0xd7, 0x9b, 0xe5, 0xf7, 0xff, 0xdf, 0xf7, 0xff, 0xec, 0xef, 0xdd, 0xec, 0xef, 0xdd, 0xec, 0xef, 0xde, 0xec, 0xe7, 0xdd, 0xec, 0xdf, 0xfc, 0xec, 0xe7, 0xfe, 0xe8, 0xe7, 0xfd, 0xe1, 0xcf, 0x7a, 0xeb, 0xbe, 0xf8, 0xec, 0xc7, 0x19, 0xec, 0xc7, 0x19, 0xec, 0xc6, 0xf8, 0xec, 0xbe, 0xd8, 0xef, 0xb6, 0xb7, 0xf3, 0xbe, 0xf8, 0xfa, 0xde, 0x5a, 0xf0, 0xfe, 0xdf, 0x6f,
0xff, 0xff, 0x72, 0x7d, 0x91, 0xff, 0x1c, 0x85, 0xf7, 0x04, 0xc4, 0xfc, 0x05, 0x66, 0xfc, 0x05, 0xe6, 0xfb, 0x06, 0x87, 0xfb, 0x06, 0xe7, 0xfb, 0x0f, 0x48, 0xfb, 0x07, 0x87, 0xfb, 0x17, 0x89, 0xfb, 0x87, 0xd4, 0xfb, 0x8f, 0xd5, 0xfb, 0x87, 0xd4, 0xfb, 0x87, 0xd4, 0xfb, 0x97, 0xd5, 0xfb, 0x6f, 0xb2, 0xfb, 0x07, 0x87, 0xfb, 0x07, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x07, 0x88, 0xfb, 0x07, 0x88, 0xfc, 0x07, 0xa8, 0xf7, 0x27, 0x09, 0xf9, 0x8e, 0x13, 0xe0,
0x9e, 0x14, 0xde, 0x03, 0x20, 0xff, 0x04, 0x42, 0xff, 0x05, 0x05, 0xff, 0x05, 0x86, 0xff, 0x06, 0x06, 0xff, 0x06, 0x87, 0xff, 0x07, 0x07, 0xff, 0x07, 0x68, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xc9, 0xff, 0x87, 0xf4, 0xff, 0x97, 0xf5, 0xff, 0x8f, 0xf4, 0xff, 0x8f, 0xf4, 0xff, 0x9f, 0xf6, 0xff, 0x6f, 0xf2, 0xff, 0x07, 0xa7, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xc8, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xa7, 0xf7,
0x14, 0x26, 0xf6, 0x03, 0xa2, 0xff, 0x0c, 0xa6, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x17, 0xa9, 0xff, 0x0f, 0xa8, 0xf4,
0x04, 0x04, 0xf2, 0x04, 0x05, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x25, 0xf1, 0x04, 0x04, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x0c, 0x04, 0xf2, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
0x4c, 0xcc, 0xf1, 0x03, 0x60, 0xff, 0x0c, 0xa6, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x17, 0xa9, 0xff, 0x0f, 0xc9, 0xff, 0x07, 0xe8, 0xfe,
0xe7, 0x1c, 0xbb, 0x14, 0x05, 0xff, 0x04, 0x00, 0xff, 0x04, 0xe3, 0xff, 0x05, 0xa4, 0xff, 0x06, 0x44, 0xff, 0x06, 0xc5, 0xff, 0x07, 0x46, 0xff, 0x07, 0xc6, 0xff, 0x07, 0xe5, 0xff, 0x07, 0xe7, 0xff, 0x7f, 0xf4, 0xff, 0x8f, 0xf5, 0xff, 0x87, 0xf4, 0xff, 0x87, 0xf4, 0xff, 0x97, 0xf6, 0xff, 0x6f, 0xf2, 0xff, 0x07, 0xe6, 0xff, 0x07, 0xe6, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe6, 0xff, 0x36, 0x4b, 0xd9,
0xff, 0xff, 0x3e, 0xc6, 0x79, 0xff, 0x75, 0x2f, 0xfe, 0x5d, 0x2d, 0xe7, 0x55, 0x2d, 0xd9, 0x55, 0x4d, 0xcb, 0x55, 0xad, 0xc6, 0x55, 0xee, 0xc8, 0x56, 0x2e, 0xc8, 0x4e, 0x2d, 0xc8, 0x5e, 0x2e, 0xc8, 0x96, 0x53, 0xc8, 0x9e, 0x54, 0xc8, 0x96, 0x54, 0xc8, 0x96, 0x54, 0xc8, 0x9e, 0x54, 0xc8, 0x86, 0x53, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc7, 0x56, 0x2e, 0xc9, 0x4e, 0x0d, 0xcd, 0x45, 0xcc, 0xd2, 0x45, 0xcc, 0xd3, 0x44, 0xaa, 0xeb, 0xac, 0xb5, 0xa9,
0x00, 0x00, 0x00, 0xff, 0xdf, 0x6e, 0xf6, 0xde, 0xcc, 0xee, 0x7c, 0xbe, 0xe6, 0x1b, 0xa7, 0xe5, 0xfb, 0x99, 0xe5, 0xfb, 0x95, 0xe5, 0xfb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xcd, 0xb9, 0x96, 0xcd, 0xb8, 0x96, 0xcd, 0xb9, 0x96, 0xcd, 0xb9, 0x96, 0xcd, 0xb8, 0x96, 0xd5, 0xb9, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xbb, 0x97, 0xdd, 0x9a, 0x9b, 0xdd, 0x59, 0xa1, 0xc4, 0xd7, 0xb1, 0xc4, 0xf7, 0xa7, 0xff, 0xbf, 0x36,
#endif
#if LV_COLOR_DEPTH == 32
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1e, 0x1e, 0x1e, 0x44, 0x1f, 0x1f, 0x1f, 0x51, 0x22, 0x22, 0x22, 0x42, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x22, 0x22, 0x22, 0x42, 0x1e, 0x1e, 0x1e, 0x5d, 0x1e, 0x1e, 0x1e, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x17, 0x17, 0x20, 0x1a, 0x1a, 0x1a, 0x61, 0x08, 0x08, 0x08, 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1a, 0x0b, 0x0b, 0x0b, 0x40, 0x1c, 0x1c, 0x1c, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x0a, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x02, 0xc4, 0xbf, 0xc7, 0x60, 0xe8, 0xda, 0xec, 0x71, 0xfa, 0xeb, 0xff, 0x66, 0xf2, 0xe5, 0xf9, 0x63, 0xf2, 0xe2, 0xf9, 0x63, 0xf2, 0xe0, 0xf7, 0x63, 0xf2, 0xdd, 0xf7, 0x63, 0xff, 0xff, 0xff, 0x63, 0xd2, 0xc0, 0xd8, 0x77, 0x71, 0x66, 0x73, 0x87, 0x93, 0x8b, 0x95, 0x61, 0xcd, 0xc5, 0xd2, 0x61, 0xc5, 0xba, 0xc7, 0x61, 0xc2, 0xb8, 0xc5, 0x61, 0xcd, 0xc2, 0xd2, 0x61, 0xc2, 0xb0, 0xca, 0x61, 0x81, 0x6e, 0x88, 0x6c, 0x86, 0x72, 0x8c, 0x81, 0xf0, 0xde, 0xf7, 0x67, 0xff, 0xf7, 0xff, 0x63, 0xec, 0xda, 0xf4, 0x63, 0xf2, 0xdd, 0xf7, 0x63, 0xf2, 0xdd, 0xf7, 0x64, 0xef, 0xdb, 0xf4, 0x64, 0xfa, 0xe6, 0xff, 0x67, 0xb6, 0xa2, 0xbb, 0x71, 0xab, 0xa3, 0xab, 0x40, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0x02, 0xff, 0xfd, 0xff, 0xba, 0xea, 0xea, 0xea, 0xff, 0xc3, 0xd6, 0xc0, 0xff, 0xc2, 0xd5, 0xbb, 0xf4, 0xc3, 0xd8, 0xbd, 0xec, 0xc5, 0xdb, 0xbc, 0xeb, 0xc4, 0xdd, 0xbd, 0xec, 0xc4, 0xdd, 0xbd, 0xec, 0xc2, 0xdc, 0xb7, 0xec, 0xd9, 0xf1, 0xd0, 0xe5, 0xf9, 0xfe, 0xf3, 0xdf, 0xf8, 0xff, 0xf4, 0xec, 0xea, 0xf8, 0xe6, 0xec, 0xeb, 0xf9, 0xe8, 0xec, 0xed, 0xf9, 0xea, 0xec, 0xe8, 0xf8, 0xe1, 0xec, 0xe1, 0xfc, 0xd9, 0xec, 0xed, 0xff, 0xe3, 0xe8, 0xea, 0xff, 0xe1, 0xe1, 0xd2, 0xeb, 0xc8, 0xeb, 0xc1, 0xdb, 0xb8, 0xec, 0xc5, 0xdf, 0xbd, 0xec, 0xc5, 0xdf, 0xbd, 0xec, 0xc4, 0xde, 0xbd, 0xec, 0xc2, 0xda, 0xb7, 0xef, 0xb7, 0xd5, 0xaf, 0xf3, 0xc0, 0xdb, 0xb9, 0xfa, 0xd4, 0xc7, 0xd8, 0xf0, 0xf5, 0xda, 0xff, 0x6f,
0xff, 0xff, 0xff, 0x72, 0x8a, 0xb1, 0x79, 0xff, 0x2c, 0x8f, 0x18, 0xf7, 0x22, 0x99, 0x00, 0xfc, 0x2d, 0xae, 0x01, 0xfc, 0x32, 0xbe, 0x03, 0xfb, 0x37, 0xcf, 0x03, 0xfb, 0x3c, 0xde, 0x04, 0xfb, 0x40, 0xea, 0x05, 0xfb, 0x39, 0xf1, 0x00, 0xfb, 0x49, 0xf2, 0x0d, 0xfb, 0x9d, 0xf8, 0x7d, 0xfb, 0xa6, 0xf7, 0x8c, 0xfb, 0x9f, 0xf7, 0x82, 0xfb, 0x9f, 0xf7, 0x82, 0xfb, 0xac, 0xf8, 0x93, 0xfb, 0x8e, 0xf6, 0x6a, 0xfb, 0x3c, 0xf1, 0x00, 0xfb, 0x3d, 0xf1, 0x00, 0xfb, 0x43, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf0, 0x04, 0xfb, 0x3f, 0xf1, 0x02, 0xfc, 0x3d, 0xf3, 0x02, 0xf7, 0x4b, 0xe1, 0x1e, 0xf9, 0x98, 0xc1, 0x8a, 0xe0,
0xa3, 0xbf, 0x98, 0xde, 0x00, 0x66, 0x00, 0xff, 0x12, 0x87, 0x00, 0xff, 0x2a, 0xa0, 0x00, 0xff, 0x2d, 0xb0, 0x00, 0xff, 0x31, 0xc1, 0x00, 0xff, 0x36, 0xd2, 0x00, 0xff, 0x3c, 0xe1, 0x01, 0xff, 0x3f, 0xee, 0x02, 0xff, 0x39, 0xf6, 0x00, 0xff, 0x47, 0xf7, 0x0a, 0xff, 0x9f, 0xfc, 0x7f, 0xff, 0xaa, 0xfc, 0x8e, 0xff, 0xa3, 0xfc, 0x85, 0xff, 0xa3, 0xfc, 0x85, 0xff, 0xb0, 0xfd, 0x95, 0xff, 0x90, 0xfb, 0x6c, 0xff, 0x3c, 0xf6, 0x00, 0xff, 0x3d, 0xf6, 0x00, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x42, 0xf6, 0x03, 0xff, 0x43, 0xf7, 0x03, 0xff, 0x36, 0xff, 0x00, 0xff, 0x3c, 0xf6, 0x00, 0xf7,
0x30, 0x83, 0x13, 0xf6, 0x0f, 0x76, 0x00, 0xff, 0x2d, 0x93, 0x08, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x4a, 0xf3, 0x0e, 0xff, 0x43, 0xf5, 0x05, 0xf4,
0x23, 0x81, 0x03, 0xf2, 0x26, 0x80, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2c, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2c, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x28, 0x84, 0x08, 0xf1, 0x24, 0x7f, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
0x24, 0x80, 0x05, 0xf2, 0x1f, 0x7e, 0x01, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0a, 0xf2,
0x5e, 0x99, 0x49, 0xf1, 0x00, 0x6d, 0x00, 0xff, 0x2d, 0x93, 0x06, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf3, 0x0d, 0xff, 0x49, 0xf7, 0x0c, 0xff, 0x3f, 0xff, 0x00, 0xfe,
0xe2, 0xe2, 0xdf, 0xbb, 0x27, 0x7f, 0x12, 0xff, 0x00, 0x80, 0x00, 0xff, 0x15, 0x9c, 0x00, 0xff, 0x1f, 0xb3, 0x00, 0xff, 0x24, 0xc7, 0x00, 0xff, 0x29, 0xd9, 0x00, 0xff, 0x2f, 0xea, 0x00, 0xff, 0x33, 0xf9, 0x00, 0xff, 0x2c, 0xff, 0x00, 0xff, 0x3c, 0xff, 0x00, 0xff, 0x9f, 0xff, 0x7b, 0xff, 0xac, 0xff, 0x8c, 0xff, 0xa4, 0xff, 0x81, 0xff, 0xa4, 0xff, 0x81, 0xff, 0xb2, 0xff, 0x94, 0xff, 0x8e, 0xff, 0x66, 0xff, 0x2f, 0xff, 0x00, 0xff, 0x30, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x37, 0xff, 0x00, 0xff, 0x39, 0xff, 0x00, 0xff, 0x39, 0xff, 0x00, 0xff, 0x34, 0xff, 0x00, 0xff, 0x59, 0xca, 0x31, 0xd9,
0xff, 0xff, 0xff, 0x3e, 0xc8, 0xcb, 0xc3, 0xff, 0x75, 0xa4, 0x6f, 0xfe, 0x66, 0xa3, 0x57, 0xe7, 0x66, 0xa4, 0x4f, 0xd9, 0x65, 0xa9, 0x4d, 0xcb, 0x6a, 0xb5, 0x51, 0xc6, 0x6d, 0xbc, 0x51, 0xc8, 0x6e, 0xc3, 0x51, 0xc8, 0x6c, 0xc5, 0x4c, 0xc8, 0x72, 0xc6, 0x55, 0xc8, 0x9c, 0xc9, 0x8d, 0xc8, 0xa1, 0xc9, 0x95, 0xc8, 0x9f, 0xc9, 0x90, 0xc8, 0x9f, 0xc9, 0x90, 0xc8, 0xa4, 0xc9, 0x97, 0xc8, 0x96, 0xc9, 0x84, 0xc8, 0x6d, 0xc5, 0x4f, 0xc8, 0x6d, 0xc5, 0x50, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc6, 0x53, 0xc7, 0x6e, 0xc4, 0x51, 0xc9, 0x68, 0xbf, 0x4a, 0xcd, 0x62, 0xb9, 0x44, 0xd2, 0x5e, 0xb7, 0x3d, 0xd3, 0x54, 0x93, 0x41, 0xeb, 0xa5, 0x93, 0xac, 0xa9,
0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xff, 0x6e, 0xed, 0xd9, 0xf1, 0xcc, 0xe4, 0xce, 0xea, 0xbe, 0xda, 0xc1, 0xe1, 0xa7, 0xd5, 0xbc, 0xdf, 0x99, 0xd9, 0xbc, 0xe3, 0x95, 0xd7, 0xbb, 0xe3, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd6, 0xb7, 0xe0, 0x96, 0xc5, 0xb5, 0xcc, 0x96, 0xc3, 0xb5, 0xc8, 0x96, 0xc5, 0xb5, 0xca, 0x96, 0xc5, 0xb5, 0xca, 0x96, 0xc3, 0xb5, 0xc8, 0x96, 0xc8, 0xb5, 0xcf, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd6, 0xb6, 0xe0, 0x97, 0xcf, 0xb0, 0xda, 0x9b, 0xca, 0xa9, 0xd5, 0xa1, 0xb8, 0x97, 0xc3, 0xb1, 0xb8, 0x9b, 0xc1, 0xa7, 0xfa, 0xf5, 0xfa, 0x36,
#endif
};
const lv_img_dsc_t batt_full_gren = {
.header.always_zero = 0,
.header.w = 30,
.header.h = 62,
.data_size = 1860 * LV_IMG_PX_SIZE_ALPHA_BYTE,
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = batt_full_gren_map,
};

View File

@ -0,0 +1,282 @@
#if 1
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_BATT_FULL_YELLOW
#define LV_ATTRIBUTE_IMG_BATT_FULL_YELLOW
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_BATT_FULL_YELLOW uint8_t batt_full_yellow_map[] = {
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
/*Pixel format: Alpha 8 bit, Red: 3 bit, Green: 3 bit, Blue: 2 bit*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x24, 0x44, 0x24, 0x51, 0x25, 0x42, 0x25, 0x44, 0x25, 0x44, 0x25, 0x44, 0x25, 0x42, 0x24, 0x5d, 0x24, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x20, 0x24, 0x61, 0x00, 0x1f, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1a, 0x00, 0x40, 0x24, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0a, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xff, 0x02, 0xdb, 0x60, 0xff, 0x71, 0xff, 0x66, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xdb, 0x77, 0x6e, 0x87, 0x92, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xbb, 0x61, 0x72, 0x6c, 0x92, 0x81, 0xff, 0x67, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x64, 0xff, 0x64, 0xff, 0x67, 0xb7, 0x71, 0xb7, 0x40, 0x00, 0x00,
0xff, 0x02, 0xff, 0xba, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf4, 0xff, 0xec, 0xff, 0xeb, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xe5, 0xff, 0xdf, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xe8, 0xff, 0xe1, 0xff, 0xeb, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xef, 0xfb, 0xf3, 0xff, 0xfa, 0xdb, 0xf0, 0xff, 0x6f,
0xff, 0x72, 0xd6, 0xff, 0x90, 0xf7, 0xb0, 0xfc, 0xb0, 0xfc, 0xd4, 0xfb, 0xd4, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfc, 0xf8, 0xf7, 0xf8, 0xf9, 0xda, 0xe0,
0xda, 0xde, 0x68, 0xff, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf7,
0x8c, 0xf6, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf4,
0x8c, 0xf2, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf1, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0x8c, 0xf2, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
0xb1, 0xf1, 0x68, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xfe,
0xff, 0xbb, 0x8c, 0xff, 0x8c, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfc, 0xff, 0xf8, 0xff, 0xd5, 0xd9,
0xff, 0x3e, 0xdb, 0xff, 0xb6, 0xfe, 0xb5, 0xe7, 0xb5, 0xd9, 0xb5, 0xcb, 0xd5, 0xc6, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc7, 0xd5, 0xc9, 0xd5, 0xcd, 0xd5, 0xd2, 0xd5, 0xd3, 0xb1, 0xeb, 0xb7, 0xa9,
0x00, 0x00, 0xff, 0x6e, 0xff, 0xcc, 0xdf, 0xbe, 0xdb, 0xa7, 0xdb, 0x99, 0xdb, 0x95, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x97, 0xbb, 0x9b, 0xbb, 0xa1, 0xb7, 0xb1, 0xb7, 0xa7, 0xff, 0x36,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe4, 0x20, 0x44, 0x04, 0x21, 0x51, 0x04, 0x21, 0x42, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x42, 0xe4, 0x20, 0x5d, 0xe4, 0x20, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x18, 0x20, 0xc3, 0x18, 0x61, 0x41, 0x08, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x61, 0x08, 0x40, 0xe3, 0x18, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x31, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0x19, 0xc6, 0x60, 0x1d, 0xdf, 0x71, 0x9f, 0xef, 0x66, 0x5f, 0xef, 0x63, 0x5f, 0xe7, 0x63, 0x3f, 0xe7, 0x63, 0x1f, 0xe7, 0x63, 0xff, 0xff, 0x63, 0x3b, 0xc6, 0x77, 0x4e, 0x6b, 0x87, 0x73, 0x8c, 0x61, 0x5a, 0xce, 0x61, 0xf9, 0xbd, 0x61, 0xf9, 0xbd, 0x61, 0x3a, 0xc6, 0x61, 0x99, 0xb5, 0x61, 0xb1, 0x73, 0x6c, 0xd1, 0x73, 0x81, 0x3f, 0xe7, 0x67, 0xff, 0xff, 0x63, 0x1e, 0xdf, 0x63, 0x1f, 0xe7, 0x63, 0x1f, 0xe7, 0x64, 0x1e, 0xdf, 0x64, 0x7f, 0xef, 0x67, 0x38, 0xa5, 0x71, 0x35, 0xa5, 0x40, 0x00, 0x00, 0x00,
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0x5d, 0xef, 0xff, 0x98, 0xde, 0xff, 0x97, 0xde, 0xf4, 0x98, 0xde, 0xec, 0xb7, 0xde, 0xeb, 0xd8, 0xe6, 0xec, 0xd8, 0xe6, 0xec, 0xb7, 0xde, 0xec, 0x5a, 0xf7, 0xe5, 0xfe, 0xff, 0xdf, 0xfe, 0xff, 0xec, 0xbd, 0xff, 0xec, 0xbd, 0xff, 0xec, 0xdd, 0xff, 0xec, 0xbc, 0xff, 0xec, 0xbb, 0xff, 0xec, 0xfc, 0xff, 0xe8, 0xfc, 0xff, 0xe1, 0x39, 0xef, 0xeb, 0xb7, 0xde, 0xec, 0xd8, 0xe6, 0xec, 0xd8, 0xe6, 0xec, 0xd8, 0xe6, 0xec, 0xb7, 0xde, 0xef, 0x76, 0xde, 0xf3, 0xb7, 0xde, 0xfa, 0x5b, 0xce, 0xf0, 0x1f, 0xdf, 0x6f,
0xff, 0xff, 0x72, 0x2f, 0xb5, 0xff, 0xa3, 0x93, 0xf7, 0xc0, 0x9b, 0xfc, 0x40, 0xb4, 0xfc, 0xc0, 0xc4, 0xfb, 0x20, 0xd5, 0xfb, 0x80, 0xe5, 0xfb, 0xe1, 0xed, 0xfb, 0x00, 0xf6, 0xfb, 0x22, 0xf6, 0xfb, 0x10, 0xff, 0xfb, 0x11, 0xff, 0xfb, 0x10, 0xff, 0xfb, 0x10, 0xff, 0xfb, 0x32, 0xff, 0xfb, 0xed, 0xfe, 0xfb, 0x00, 0xf6, 0xfb, 0x00, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x00, 0xf6, 0xfb, 0x00, 0xf6, 0xfc, 0x20, 0xf6, 0xf7, 0xc4, 0xe5, 0xf9, 0xb1, 0xc5, 0xe0,
0xd3, 0xc5, 0xde, 0x20, 0x6a, 0xff, 0x40, 0x8b, 0xff, 0x00, 0xa4, 0xff, 0x60, 0xb4, 0xff, 0xc0, 0xc4, 0xff, 0x40, 0xd5, 0xff, 0xa0, 0xe5, 0xff, 0x00, 0xf6, 0xff, 0x20, 0xfe, 0xff, 0x41, 0xfe, 0xff, 0x30, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0x0d, 0xff, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x40, 0xfe, 0xff, 0x20, 0xfe, 0xf7,
0x62, 0x83, 0xf6, 0xe0, 0x7a, 0xff, 0xc1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x22, 0xf6, 0xff, 0x21, 0xfe, 0xf4,
0x40, 0x83, 0xf2, 0x40, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x61, 0x8b, 0xf1, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x41, 0x83, 0xf2, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
0x49, 0x9c, 0xf1, 0x60, 0x72, 0xff, 0xc1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x22, 0xf6, 0xff, 0x41, 0xfe, 0xff, 0x60, 0xfe, 0xfe,
0x1c, 0xe7, 0xbb, 0x42, 0x83, 0xff, 0xe0, 0x82, 0xff, 0xc0, 0x9b, 0xff, 0x60, 0xb4, 0xff, 0xe0, 0xcc, 0xff, 0x40, 0xdd, 0xff, 0xc0, 0xed, 0xff, 0x20, 0xfe, 0xff, 0x40, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x6f, 0xff, 0xff, 0x91, 0xff, 0xff, 0x70, 0xff, 0xff, 0x70, 0xff, 0xff, 0x92, 0xff, 0xff, 0x4d, 0xff, 0xff, 0x40, 0xfe, 0xff, 0x40, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x80, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x66, 0xcd, 0xd9,
0xff, 0xff, 0x3e, 0x58, 0xce, 0xff, 0xce, 0xa4, 0xfe, 0x8b, 0xa4, 0xe7, 0x8a, 0xa4, 0xd9, 0xca, 0xac, 0xcb, 0x0a, 0xbd, 0xc6, 0x4a, 0xbd, 0xc8, 0x6a, 0xc5, 0xc8, 0x69, 0xcd, 0xc8, 0x8b, 0xcd, 0xc8, 0xf2, 0xcd, 0xc8, 0x13, 0xce, 0xc8, 0xf2, 0xcd, 0xc8, 0xf2, 0xcd, 0xc8, 0x13, 0xce, 0xc8, 0xf0, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x8a, 0xcd, 0xc7, 0x6a, 0xc5, 0xc9, 0x49, 0xc5, 0xcd, 0x08, 0xbd, 0xd2, 0x08, 0xbd, 0xd3, 0x28, 0x94, 0xeb, 0xd5, 0x94, 0xa9,
0x00, 0x00, 0x00, 0xdf, 0xff, 0x6e, 0xfe, 0xde, 0xcc, 0xbd, 0xd6, 0xbe, 0x5c, 0xc6, 0xa7, 0x3c, 0xbe, 0x99, 0x3c, 0xbe, 0x95, 0x1c, 0xbe, 0x96, 0x1c, 0xbe, 0x96, 0x1c, 0xbe, 0x96, 0xfc, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xfa, 0xbd, 0x96, 0x1c, 0xbe, 0x96, 0x1c, 0xbe, 0x96, 0xfc, 0xbd, 0x96, 0xfc, 0xbd, 0x96, 0xfc, 0xbd, 0x96, 0xfc, 0xbd, 0x96, 0x1c, 0xbe, 0x96, 0xfc, 0xb5, 0x97, 0xdb, 0xb5, 0x9b, 0x9b, 0xad, 0xa1, 0xf8, 0x9c, 0xb1, 0x38, 0x9d, 0xa7, 0xbf, 0xff, 0x36,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 color bytes are swapped*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0xe4, 0x44, 0x21, 0x04, 0x51, 0x21, 0x04, 0x42, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x42, 0x20, 0xe4, 0x5d, 0x20, 0xe4, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc2, 0x20, 0x18, 0xc3, 0x61, 0x08, 0x41, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x08, 0x61, 0x40, 0x18, 0xe3, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xa6, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0xc6, 0x19, 0x60, 0xdf, 0x1d, 0x71, 0xef, 0x9f, 0x66, 0xef, 0x5f, 0x63, 0xe7, 0x5f, 0x63, 0xe7, 0x3f, 0x63, 0xe7, 0x1f, 0x63, 0xff, 0xff, 0x63, 0xc6, 0x3b, 0x77, 0x6b, 0x4e, 0x87, 0x8c, 0x73, 0x61, 0xce, 0x5a, 0x61, 0xbd, 0xf9, 0x61, 0xbd, 0xf9, 0x61, 0xc6, 0x3a, 0x61, 0xb5, 0x99, 0x61, 0x73, 0xb1, 0x6c, 0x73, 0xd1, 0x81, 0xe7, 0x3f, 0x67, 0xff, 0xff, 0x63, 0xdf, 0x1e, 0x63, 0xe7, 0x1f, 0x63, 0xe7, 0x1f, 0x64, 0xdf, 0x1e, 0x64, 0xef, 0x7f, 0x67, 0xa5, 0x38, 0x71, 0xa5, 0x35, 0x40, 0x00, 0x00, 0x00,
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0xef, 0x5d, 0xff, 0xde, 0x98, 0xff, 0xde, 0x97, 0xf4, 0xde, 0x98, 0xec, 0xde, 0xb7, 0xeb, 0xe6, 0xd8, 0xec, 0xe6, 0xd8, 0xec, 0xde, 0xb7, 0xec, 0xf7, 0x5a, 0xe5, 0xff, 0xfe, 0xdf, 0xff, 0xfe, 0xec, 0xff, 0xbd, 0xec, 0xff, 0xbd, 0xec, 0xff, 0xdd, 0xec, 0xff, 0xbc, 0xec, 0xff, 0xbb, 0xec, 0xff, 0xfc, 0xe8, 0xff, 0xfc, 0xe1, 0xef, 0x39, 0xeb, 0xde, 0xb7, 0xec, 0xe6, 0xd8, 0xec, 0xe6, 0xd8, 0xec, 0xe6, 0xd8, 0xec, 0xde, 0xb7, 0xef, 0xde, 0x76, 0xf3, 0xde, 0xb7, 0xfa, 0xce, 0x5b, 0xf0, 0xdf, 0x1f, 0x6f,
0xff, 0xff, 0x72, 0xb5, 0x2f, 0xff, 0x93, 0xa3, 0xf7, 0x9b, 0xc0, 0xfc, 0xb4, 0x40, 0xfc, 0xc4, 0xc0, 0xfb, 0xd5, 0x20, 0xfb, 0xe5, 0x80, 0xfb, 0xed, 0xe1, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x22, 0xfb, 0xff, 0x10, 0xfb, 0xff, 0x11, 0xfb, 0xff, 0x10, 0xfb, 0xff, 0x10, 0xfb, 0xff, 0x32, 0xfb, 0xfe, 0xed, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x00, 0xfc, 0xf6, 0x20, 0xf7, 0xe5, 0xc4, 0xf9, 0xc5, 0xb1, 0xe0,
0xc5, 0xd3, 0xde, 0x6a, 0x20, 0xff, 0x8b, 0x40, 0xff, 0xa4, 0x00, 0xff, 0xb4, 0x60, 0xff, 0xc4, 0xc0, 0xff, 0xd5, 0x40, 0xff, 0xe5, 0xa0, 0xff, 0xf6, 0x00, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x41, 0xff, 0xff, 0x30, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0x0d, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x20, 0xf7,
0x83, 0x62, 0xf6, 0x7a, 0xe0, 0xff, 0x93, 0xc1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x22, 0xff, 0xfe, 0x21, 0xf4,
0x83, 0x40, 0xf2, 0x83, 0x40, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x8b, 0x61, 0xf1, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x83, 0x41, 0xf2, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
0x9c, 0x49, 0xf1, 0x72, 0x60, 0xff, 0x93, 0xc1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x22, 0xff, 0xfe, 0x41, 0xff, 0xfe, 0x60, 0xfe,
0xe7, 0x1c, 0xbb, 0x83, 0x42, 0xff, 0x82, 0xe0, 0xff, 0x9b, 0xc0, 0xff, 0xb4, 0x60, 0xff, 0xcc, 0xe0, 0xff, 0xdd, 0x40, 0xff, 0xed, 0xc0, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x60, 0xff, 0xff, 0x6f, 0xff, 0xff, 0x91, 0xff, 0xff, 0x70, 0xff, 0xff, 0x70, 0xff, 0xff, 0x92, 0xff, 0xff, 0x4d, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x80, 0xff, 0xfe, 0x60, 0xff, 0xcd, 0x66, 0xd9,
0xff, 0xff, 0x3e, 0xce, 0x58, 0xff, 0xa4, 0xce, 0xfe, 0xa4, 0x8b, 0xe7, 0xa4, 0x8a, 0xd9, 0xac, 0xca, 0xcb, 0xbd, 0x0a, 0xc6, 0xbd, 0x4a, 0xc8, 0xc5, 0x6a, 0xc8, 0xcd, 0x69, 0xc8, 0xcd, 0x8b, 0xc8, 0xcd, 0xf2, 0xc8, 0xce, 0x13, 0xc8, 0xcd, 0xf2, 0xc8, 0xcd, 0xf2, 0xc8, 0xce, 0x13, 0xc8, 0xcd, 0xf0, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x8a, 0xc7, 0xc5, 0x6a, 0xc9, 0xc5, 0x49, 0xcd, 0xbd, 0x08, 0xd2, 0xbd, 0x08, 0xd3, 0x94, 0x28, 0xeb, 0x94, 0xd5, 0xa9,
0x00, 0x00, 0x00, 0xff, 0xdf, 0x6e, 0xde, 0xfe, 0xcc, 0xd6, 0xbd, 0xbe, 0xc6, 0x5c, 0xa7, 0xbe, 0x3c, 0x99, 0xbe, 0x3c, 0x95, 0xbe, 0x1c, 0x96, 0xbe, 0x1c, 0x96, 0xbe, 0x1c, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xfa, 0x96, 0xbe, 0x1c, 0x96, 0xbe, 0x1c, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xfc, 0x96, 0xbe, 0x1c, 0x96, 0xb5, 0xfc, 0x97, 0xb5, 0xdb, 0x9b, 0xad, 0x9b, 0xa1, 0x9c, 0xf8, 0xb1, 0x9d, 0x38, 0xa7, 0xff, 0xbf, 0x36,
#endif
#if LV_COLOR_DEPTH == 32
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1e, 0x1e, 0x1e, 0x44, 0x1f, 0x1f, 0x1f, 0x51, 0x22, 0x22, 0x22, 0x42, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x22, 0x22, 0x22, 0x42, 0x1e, 0x1e, 0x1e, 0x5d, 0x1e, 0x1e, 0x1e, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x17, 0x17, 0x20, 0x1a, 0x1a, 0x1a, 0x61, 0x08, 0x08, 0x08, 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1a, 0x0b, 0x0b, 0x0b, 0x40, 0x1c, 0x1c, 0x1c, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x0a, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x02, 0xc7, 0xbf, 0xbf, 0x60, 0xec, 0xdf, 0xda, 0x71, 0xff, 0xf0, 0xeb, 0x66, 0xf9, 0xe7, 0xe5, 0x63, 0xf9, 0xe7, 0xe2, 0x63, 0xf7, 0xe5, 0xe0, 0x63, 0xf7, 0xe2, 0xdd, 0x63, 0xff, 0xff, 0xff, 0x63, 0xd8, 0xc5, 0xc0, 0x77, 0x73, 0x69, 0x66, 0x87, 0x95, 0x8d, 0x8b, 0x61, 0xd2, 0xc7, 0xc5, 0x61, 0xc7, 0xbd, 0xba, 0x61, 0xc5, 0xbd, 0xba, 0x61, 0xd2, 0xc5, 0xc2, 0x61, 0xca, 0xb2, 0xb0, 0x61, 0x88, 0x73, 0x6e, 0x6c, 0x8c, 0x78, 0x72, 0x81, 0xf7, 0xe3, 0xde, 0x67, 0xff, 0xfc, 0xf7, 0x63, 0xf4, 0xe0, 0xda, 0x63, 0xf7, 0xe2, 0xdd, 0x63, 0xf7, 0xe2, 0xdd, 0x64, 0xf4, 0xe0, 0xdb, 0x64, 0xff, 0xeb, 0xe6, 0x67, 0xbd, 0xa6, 0xa2, 0x71, 0xab, 0xa3, 0xa3, 0x40, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0x02, 0xff, 0xff, 0xfd, 0xba, 0xea, 0xea, 0xea, 0xff, 0xc0, 0xd1, 0xd6, 0xff, 0xbb, 0xcf, 0xd5, 0xf4, 0xbd, 0xd2, 0xd8, 0xec, 0xbc, 0xd4, 0xdb, 0xeb, 0xbd, 0xd7, 0xdd, 0xec, 0xbd, 0xd7, 0xdd, 0xec, 0xb7, 0xd4, 0xdc, 0xec, 0xd0, 0xea, 0xf1, 0xe5, 0xf3, 0xfe, 0xfe, 0xdf, 0xf4, 0xff, 0xff, 0xec, 0xe6, 0xf5, 0xf8, 0xec, 0xe8, 0xf6, 0xf9, 0xec, 0xea, 0xf7, 0xf9, 0xec, 0xe2, 0xf4, 0xf8, 0xec, 0xd9, 0xf6, 0xfc, 0xec, 0xe3, 0xff, 0xff, 0xe8, 0xe1, 0xfd, 0xff, 0xe1, 0xc8, 0xe4, 0xeb, 0xeb, 0xb8, 0xd3, 0xdb, 0xec, 0xbd, 0xd9, 0xdf, 0xec, 0xbd, 0xd9, 0xdf, 0xec, 0xbd, 0xd8, 0xde, 0xec, 0xb8, 0xd4, 0xda, 0xef, 0xaf, 0xcc, 0xd5, 0xf3, 0xb9, 0xd4, 0xdb, 0xfa, 0xd8, 0xca, 0xc7, 0xf0, 0xff, 0xe1, 0xda, 0x6f,
0xff, 0xff, 0xff, 0x72, 0x79, 0xa6, 0xb1, 0xff, 0x18, 0x73, 0x8f, 0xf7, 0x00, 0x7a, 0x99, 0xfc, 0x01, 0x8a, 0xad, 0xfc, 0x03, 0x99, 0xbe, 0xfb, 0x03, 0xa5, 0xcf, 0xfb, 0x04, 0xb2, 0xde, 0xfb, 0x05, 0xbc, 0xea, 0xfb, 0x00, 0xc1, 0xf1, 0xfb, 0x0d, 0xc5, 0xf2, 0xfb, 0x7d, 0xdf, 0xf8, 0xfb, 0x8c, 0xe2, 0xf7, 0xfb, 0x82, 0xdf, 0xf7, 0xfb, 0x82, 0xdf, 0xf7, 0xfb, 0x93, 0xe3, 0xf8, 0xfb, 0x6a, 0xdb, 0xf6, 0xfb, 0x00, 0xc2, 0xf1, 0xfb, 0x00, 0xc2, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x04, 0xc2, 0xf0, 0xfb, 0x02, 0xc2, 0xf1, 0xfc, 0x02, 0xc4, 0xf3, 0xf7, 0x1e, 0xb9, 0xe1, 0xf9, 0x8a, 0xb6, 0xc1, 0xe0,
0x98, 0xb8, 0xbf, 0xde, 0x00, 0x46, 0x66, 0xff, 0x00, 0x68, 0x87, 0xff, 0x00, 0x80, 0xa0, 0xff, 0x00, 0x8d, 0xb0, 0xff, 0x00, 0x9a, 0xc1, 0xff, 0x00, 0xa8, 0xd2, 0xff, 0x01, 0xb4, 0xe1, 0xff, 0x02, 0xc0, 0xee, 0xff, 0x00, 0xc3, 0xf6, 0xff, 0x0a, 0xc7, 0xf7, 0xff, 0x7f, 0xe3, 0xfc, 0xff, 0x8e, 0xe6, 0xfc, 0xff, 0x85, 0xe4, 0xfc, 0xff, 0x85, 0xe4, 0xfc, 0xff, 0x95, 0xe8, 0xfd, 0xff, 0x6c, 0xdf, 0xfb, 0xff, 0x00, 0xc4, 0xf6, 0xff, 0x00, 0xc4, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc6, 0xf6, 0xff, 0x03, 0xc6, 0xf6, 0xff, 0x03, 0xc6, 0xf7, 0xff, 0x00, 0xca, 0xff, 0xff, 0x00, 0xc5, 0xf6, 0xf7,
0x13, 0x6d, 0x83, 0xf6, 0x00, 0x5b, 0x76, 0xff, 0x08, 0x78, 0x93, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0e, 0xc6, 0xf3, 0xff, 0x05, 0xc5, 0xf5, 0xf4,
0x03, 0x69, 0x81, 0xf2, 0x02, 0x67, 0x80, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x66, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x66, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x66, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x08, 0x6b, 0x85, 0xf1, 0x02, 0x66, 0x7f, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
0x05, 0x68, 0x80, 0xf2, 0x01, 0x64, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0a, 0xc6, 0xf4, 0xf2,
0x49, 0x88, 0x99, 0xf1, 0x00, 0x4e, 0x6d, 0xff, 0x06, 0x78, 0x93, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0d, 0xc5, 0xf3, 0xff, 0x0c, 0xc8, 0xf7, 0xff, 0x00, 0xcd, 0xff, 0xfe,
0xdf, 0xe2, 0xe2, 0xbb, 0x12, 0x68, 0x7f, 0xff, 0x00, 0x5e, 0x80, 0xff, 0x00, 0x78, 0x9c, 0xff, 0x00, 0x8b, 0xb3, 0xff, 0x00, 0x9b, 0xc7, 0xff, 0x00, 0xaa, 0xd9, 0xff, 0x00, 0xb8, 0xea, 0xff, 0x00, 0xc4, 0xf9, 0xff, 0x00, 0xc8, 0xff, 0xff, 0x00, 0xcd, 0xff, 0xff, 0x7b, 0xec, 0xff, 0xff, 0x8c, 0xf0, 0xff, 0xff, 0x81, 0xed, 0xff, 0xff, 0x81, 0xed, 0xff, 0xff, 0x94, 0xf2, 0xff, 0xff, 0x66, 0xe7, 0xff, 0xff, 0x00, 0xca, 0xff, 0xff, 0x00, 0xca, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcd, 0xff, 0xff, 0x00, 0xce, 0xff, 0xff, 0x00, 0xd2, 0xff, 0xff, 0x00, 0xcd, 0xff, 0xff, 0x31, 0xab, 0xca, 0xd9,
0xff, 0xff, 0xff, 0x3e, 0xc3, 0xca, 0xcb, 0xff, 0x6f, 0x97, 0xa4, 0xfe, 0x57, 0x92, 0xa3, 0xe7, 0x4f, 0x92, 0xa4, 0xd9, 0x4d, 0x97, 0xa9, 0xcb, 0x51, 0xa0, 0xb5, 0xc6, 0x51, 0xa8, 0xbc, 0xc8, 0x51, 0xac, 0xc3, 0xc8, 0x4c, 0xad, 0xc5, 0xc8, 0x55, 0xaf, 0xc6, 0xc8, 0x8d, 0xbc, 0xc9, 0xc8, 0x95, 0xbf, 0xc9, 0xc8, 0x90, 0xbd, 0xc9, 0xc8, 0x90, 0xbd, 0xc9, 0xc8, 0x97, 0xc0, 0xc9, 0xc8, 0x84, 0xbb, 0xc9, 0xc8, 0x4f, 0xae, 0xc5, 0xc8, 0x50, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x53, 0xaf, 0xc6, 0xc7, 0x51, 0xad, 0xc4, 0xc9, 0x4a, 0xa7, 0xbf, 0xcd, 0x44, 0xa2, 0xb9, 0xd2, 0x3d, 0xa0, 0xb7, 0xd3, 0x41, 0x83, 0x93, 0xeb, 0xac, 0x98, 0x93, 0xa9,
0x00, 0x00, 0x00, 0x00, 0xff, 0xfa, 0xf8, 0x6e, 0xf1, 0xde, 0xd9, 0xcc, 0xea, 0xd5, 0xce, 0xbe, 0xe1, 0xc9, 0xc1, 0xa7, 0xdf, 0xc3, 0xbc, 0x99, 0xe1, 0xc4, 0xbc, 0x95, 0xe3, 0xc1, 0xbb, 0x96, 0xe2, 0xc1, 0xb7, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe0, 0xbe, 0xb7, 0x96, 0xcc, 0xb9, 0xb5, 0x96, 0xc8, 0xb9, 0xb5, 0x96, 0xca, 0xb9, 0xb5, 0x96, 0xca, 0xb9, 0xb5, 0x96, 0xc8, 0xb9, 0xb5, 0x96, 0xcf, 0xbb, 0xb5, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe0, 0xbe, 0xb4, 0x97, 0xda, 0xb8, 0xb0, 0x9b, 0xd5, 0xb2, 0xa9, 0xa1, 0xc3, 0x9e, 0x95, 0xb1, 0xc1, 0xa3, 0x9b, 0xa7, 0xfa, 0xf5, 0xf5, 0x36,
#endif
};
const lv_img_dsc_t batt_full_yellow = {
.header.always_zero = 0,
.header.w = 30,
.header.h = 62,
.data_size = 1860 * LV_IMG_PX_SIZE_ALPHA_BYTE,
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = batt_full_yellow_map,
};

View File

@ -0,0 +1,504 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
//#include "lv_common_function.h"
#include "img_basic.h"
#include "spde_ipc.h"
#include "mxc_meter.h"
static uint8_t background_style = 0;
#define M_PI 3.14
static int center_x = 242, center_y = 119;
static int radius = 51;
static double start_angle = 0;
static double end_angle = 0;
static float progress =0.0;
#define TEST_FUN 0
#define HOME_KEY_BIT 0x08
#define ENTER_KEY_BIT 0x10
#define UP_KEY_BIT 0x20
#define DOWN_KEY_BIT 0x40
#define END_KEY_BIT 0x80
#define SHORT_KEY_BIT 0x01
#define MULTI_KEY_BIT 0x02
#define LONG_KEY_BIT 0x04
#define KEY_CODE_HOME HOME_KEY_BIT|SHORT_KEY_BIT //0000 1001 0x09
#define KEY_CODE_ENTER ENTER_KEY_BIT|SHORT_KEY_BIT //0001 0001 0x11
static const char show_scale_x[13]={22,-18,-53,-74,-75,-60,-25,18 ,62 ,99,120,126,118};
static const char show_scale_y[13]={120,110,81,40, -3 ,-44,-76,-88,-81,-61,-22,20,60};
extern lv_timer_t * time_refresh_timer;
lv_obj_t *meter;
lv_meter_indicator_t * indic;
lv_meter_indicator_t * indic1;
lv_obj_t * oil_meter;
lv_meter_indicator_t *oil_indic1;
lv_meter_indicator_t *oil_indic2;
lv_obj_t * temp_meter;
lv_meter_indicator_t *temp_indic1;
lv_meter_indicator_t *temp_indic2;
static int speed_angle = 0;
static int speed_value = 0;
static int bar_value = 0;
static int gear_value = 0;
#define CANVAS_WIDTH 200
#define CANVAS_HEIGHT 200
void creatRootObj(void);
void Enter_screen_id(lv_obj_t *parent_main);
void win_init(void)
{
uint8_t ui_mode = 0;
// creatRootObj();
lv_group_t* scr_key_group =get_key_group();
lv_win32_add_all_input_devices_to_group(scr_key_group);
system_date_init();
ui_mode = spde_ipc_get_ui_mode();
switch (ui_mode)
{
case UI_MODE_NORMAL:
Enter_screen_id(get_root_win());
break;
case UI_MODE_CHARGE:
break;
case UI_MODE_OTA:
break;
case UI_MODE_POWER_OFF:
break;
case UI_MODE_POWER_ON:
break;
case UI_MODE_CHARGE_FULL:
break;
default:
Enter_screen_id(get_root_win());
break;
}
}
void Enter_screen_id(lv_obj_t *parent_main)
{
daily_data_t *local_data = daily_get_UiData();
Set_UI_page_id(get_top_history_win());
if(local_data->ui_page_id == IDLE_CONTROL_WIN_ID)
{
printf("enter_demo. \n");
//lv_demo(parent_main,NULL);
// enter_control_main_win(parent_main);
}
else if(local_data->ui_page_id == PAGE_MAINMENU_WIN_ID)
{
printf("enter_list. \n");
// enter_mainmenu_win(parent_main);
}
}
void refresh_timer_cb(lv_timer_t *t){
lv_obj_t *parent = t->user_data;
if(!lv_obj_is_valid(parent)){
printf("parent lv_obj_is_valid fail.\n");
return;
}
if(parent ==NULL){
printf("parent ==NULL\n");
return;
}
if(Get_sys_power_on_self_test() ==0)
return;
static int num=0,bar_num=0,peed_num=0,gear_num=0;
uint8_t scale_num;
//指针刷新
lv_obj_t * ui_Arc1 = lv_obj_get_child(parent,5);
lv_obj_t * hand_img = lv_obj_get_child(parent,6);
lv_obj_t * speed = lv_obj_get_child(parent,7);
lv_obj_t * gear = lv_obj_get_child(parent,8);
lv_obj_t * gear_null = lv_obj_get_child(parent,9);
lv_obj_t * tcs = lv_obj_get_child(parent,10);
lv_obj_t * time_label = lv_obj_get_child(parent,11);
lv_obj_t * max_speed = lv_obj_get_child(parent,12);
lv_obj_t * avg_speed = lv_obj_get_child(parent,13);
//
//
// lv_anim_del(ui_Arc1, NULL);
// lv_anim_del(hand_img, NULL);
// lv_anim_del(oil_meter, NULL);
// lv_anim_del(temp_meter, NULL);
// lv_anim_del(speed, NULL);
// lv_anim_del(max_speed, NULL);
// lv_anim_del(avg_speed, NULL);
// lv_anim_del(gear, NULL);
// lv_anim_del(trip, NULL);
// lv_anim_del(total, NULL);
lv_img_set_angle(hand_img,speed_angle);
lv_arc_set_value(ui_Arc1, (speed_angle/25));
//lv_arc_set_value(ui_Arc1, (speed_angle/25));
lv_label_set_text_fmt(speed, "%d",speed_value);
lv_label_set_text_fmt(gear, "%d",gear_value);
if(gear_value !=7)
{
lv_obj_clear_flag(gear,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(gear_null,LV_OBJ_FLAG_HIDDEN );
}
else
{
lv_obj_clear_flag(gear_null,LV_OBJ_FLAG_HIDDEN );
lv_obj_add_flag(gear,LV_OBJ_FLAG_HIDDEN );
}
lv_label_set_text(time_label, GetCurTimeString());
lv_label_set_text_fmt(max_speed, "%d",speed_value);
lv_label_set_text_fmt(avg_speed, "%d",speed_value);
scale_num = (speed_angle/250) ;
lv_meter_set_indicator_end_value(meter, indic1, speed_angle/20);
if(bar_value <60){
lv_meter_set_indicator_end_value(oil_meter, oil_indic1, bar_value);
lv_meter_set_indicator_end_value(oil_meter, oil_indic2, 60);
}else{
lv_meter_set_indicator_end_value(oil_meter, oil_indic1, 60);
lv_meter_set_indicator_end_value(oil_meter, oil_indic2, bar_value);
}
if(bar_value<210){
lv_meter_set_indicator_end_value(temp_meter, temp_indic1, bar_value);
lv_meter_set_indicator_end_value(temp_meter, temp_indic2, 210);
}else{
lv_meter_set_indicator_end_value(temp_meter, temp_indic1, 210);
lv_meter_set_indicator_end_value(temp_meter, temp_indic2, bar_value);
}
//转速指针
if(num%2==0)
speed_angle+=20;
else
speed_angle-=20;
if(speed_angle>=3000|| speed_angle ==0)
num++;
//速度
if(peed_num%2==0)
speed_value+=1;
else
speed_value-=1;
if(speed_value>=255 || speed_value ==0)
peed_num++;
//档位
if(gear_num%2==0)
gear_value+=1;
else
gear_value-=1;
if(gear_value>=7 || gear_value ==0){
gear_num++;
}
//温度油量
if(bar_num%2 ==0)
bar_value+=2;
else
bar_value-=2;
if(bar_value>=270 || bar_value==0)
bar_num++;
}
static void demo_win_event_handle(lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
uint8_t key_code = 0;
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
printf("demo_win_event_handle==========.\n");
if (code == LV_EVENT_KEY)
{
uint32_t *key = lv_event_get_param(e);
key_code = (uint8_t)*key;
// printf("key_code = 0x%02x . code = 0x%02d \n",key_code,code);
switch (key_code)
{
case LV_KEY_W:
// printf("LV_KEY_ENTER.\n");
// close_time_refresh_timer();
close_ui_refresh_timer();
close_all_win();
if (time_refresh_timer != NULL)
{
lv_timer_del(time_refresh_timer);
time_refresh_timer = NULL;
}
enter_mainmenu_win(get_root_win());
break;
default:
break;
}
}
}
#if 0
void lv_demo(lv_obj_t *parent, lv_point_t *top)
{
// start_angle = atan2(center_y - 143, 199 - center_x) * 180 / M_PI;
// end_angle = atan2(center_y - 143, 284 - center_x) * 180 / M_PI;
// if(!lv_obj_is_valid(parent))
// return;
lv_obj_t *win2_screen = lv_obj_create(parent);
lv_obj_set_style_pad_all(win2_screen, 0, 0);
lv_obj_set_style_border_width(win2_screen, 0, 0);
lv_obj_set_style_opa(win2_screen, LV_OPA_100, 0);
lv_obj_set_scrollbar_mode(win2_screen, LV_SCROLLBAR_MODE_ACTIVE);
lv_obj_clear_flag(win2_screen, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(win2_screen, LV_OBJ_FLAG_GESTURE_BUBBLE);
// lv_obj_set_size(win2_screen, 320, 170);
lv_obj_set_size(win2_screen,LV_PCT(100),LV_PCT(100));
lv_obj_set_style_radius(win2_screen, 0, 0);
lv_obj_set_style_bg_color(win2_screen, lv_color_black(), NULL);
//
// UI_PARENT_INIT(win2_screen);
lv_obj_clear_flag(win2_screen, LV_OBJ_FLAG_SCROLLABLE );
//背景
lv_obj_t* panel_bg_img1 = lv_img_big_create(win2_screen,panel_demo1_src,176,2,5,0);
//arc外边框
lv_obj_t* panel_bg_img2 = lv_img_big_create(win2_screen,panel_bg2_src,15,17,3,0);//0
// //刻度
// lv_obj_t* panel_bg_img3 = lv_img_big_create(parent,panel_bg3_src,25,25,3,0);//0
// bar
meter = lv_meter_create(win2_screen);
lv_obj_remove_style(meter, NULL, LV_PART_INDICATOR); //meterԲ<72>IJ<EFBFBD><C4B2><EFBFBD>ʾ
lv_obj_remove_style(meter, NULL, LV_PART_MAIN);
lv_obj_set_size(meter, 228, 228);
lv_obj_align(meter,LV_ALIGN_CENTER,-109,-3);
lv_meter_scale_t * scale = lv_meter_add_scale(meter);
lv_meter_set_scale_ticks(meter, scale, 0, 1, 5, lv_palette_main(LV_PALETTE_GREY));
lv_meter_set_scale_range(meter, scale, 0, 150, 300, 90);
indic1 = lv_meter_add_arc(meter, scale, 18, lv_color_hex(0x62d5f9), 0);
// indic = lv_meter_add_needle_line(meter, scale, 4, lv_palette_main(LV_PALETTE_GREY), -10);
//oil bar
oil_meter= lv_meter_create(win2_screen);
lv_obj_remove_style(oil_meter, NULL, LV_PART_MAIN);
lv_obj_remove_style(oil_meter, NULL, LV_PART_INDICATOR);
lv_meter_scale_t * oil_scale;
oil_scale = lv_meter_add_scale(oil_meter);
lv_meter_set_scale_range(oil_meter, oil_scale, 0, 270, 270, 90);
lv_meter_set_scale_ticks(oil_meter, oil_scale, 0, 3, 12, lv_color_white());
oil_indic1 = lv_meter_add_arc(oil_meter, oil_scale, 6, lv_color_hex(0xff0000), 0);
lv_meter_set_indicator_start_value(oil_meter, oil_indic1, 0);
// lv_meter_set_indicator_end_value(oil_meter, oil_indic1, 60);//设置范围
lv_meter_set_indicator_end_value(oil_meter, oil_indic1, 0);//设置范围
oil_indic2 = lv_meter_add_arc(oil_meter, oil_scale, 6, lv_color_hex(0x00ff00), 0);
lv_meter_set_indicator_start_value(oil_meter, oil_indic2, 60);
// lv_meter_set_indicator_end_value(oil_meter, oil_indic2, 270);
lv_meter_set_indicator_end_value(oil_meter, oil_indic2, 60);//初始值
lv_obj_update_layout(win2_screen);
lv_obj_set_size(oil_meter, 45, 45);
lv_obj_align(oil_meter,LV_ALIGN_TOP_LEFT,140,217);
//temp bar
temp_meter = lv_meter_create(win2_screen);
lv_obj_remove_style(temp_meter, NULL, LV_PART_MAIN);
lv_obj_remove_style(temp_meter, NULL, LV_PART_INDICATOR);
lv_meter_scale_t * temp_scale;
temp_scale = lv_meter_add_scale(temp_meter);
lv_meter_set_scale_range(temp_meter, temp_scale, 0, 270, 270, 90);
lv_meter_set_scale_ticks(temp_meter, temp_scale, 0, 3, 12, lv_color_white());
temp_indic1 = lv_meter_add_arc(temp_meter, temp_scale, 6, lv_color_hex(0x0070BB), 0);
lv_meter_set_indicator_start_value(temp_meter, temp_indic1, 0);
// lv_meter_set_indicator_end_value(temp_meter, temp_indic1, 210);
lv_meter_set_indicator_end_value(temp_meter, temp_indic1, 0);
temp_indic2 = lv_meter_add_arc(temp_meter, temp_scale, 6, lv_color_hex(0xff0000), 0);
lv_meter_set_indicator_start_value(temp_meter, temp_indic2, 210);
// lv_meter_set_indicator_end_value(temp_meter, temp_indic2, 270);
lv_meter_set_indicator_end_value(temp_meter, temp_indic2, 210);
lv_obj_update_layout(win2_screen);
lv_obj_set_size(temp_meter, 45, 45);
lv_obj_align(temp_meter,LV_ALIGN_TOP_LEFT,180,191);
lv_obj_t * ui_Arc1 = lv_arc_create(win2_screen);
lv_obj_set_width(ui_Arc1, 230);
lv_obj_set_height(ui_Arc1, 230);
lv_obj_set_x(ui_Arc1, 16);
lv_obj_set_y(ui_Arc1, 18);
lv_arc_set_range(ui_Arc1, 0, 120);
lv_arc_set_value(ui_Arc1, 0);
lv_arc_set_bg_angles(ui_Arc1, 0, 300);
lv_arc_set_rotation(ui_Arc1, 90);
lv_obj_set_style_arc_opa(ui_Arc1, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_color(ui_Arc1, lv_color_hex(0x9393FF), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_opa(ui_Arc1, 255, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_width(ui_Arc1, 30, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_rounded(ui_Arc1, false, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_img_src(ui_Arc1, &speed_arc, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_Arc1, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_remove_style(ui_Arc1, NULL, LV_PART_KNOB); /*Be sure the knob is not displayed*/
lv_obj_clear_flag(ui_Arc1, LV_OBJ_FLAG_CLICKABLE); /*To not allow adjusting by click*/
//指针
lv_obj_t *hand_img = lv_img_create(win2_screen);//4
lv_img_set_src(hand_img,IMG_POINTER2);
lv_obj_align(hand_img,LV_ALIGN_CENTER,-108,93);
lv_img_set_pivot(hand_img, 3, -81);
lv_img_set_angle(hand_img, 0);
lv_obj_t * speed = lv_label_create(win2_screen);
lv_obj_set_style_text_align(speed, LV_TEXT_ALIGN_CENTER, 0);
lv_obj_center(speed);
lv_obj_set_pos(speed,-105,-10);
lv_obj_set_style_text_font(speed,LV_FONT_MXC_WRYH_CT_72PX,0);
lv_label_set_text_fmt(speed, "%d",speed_value);
lv_obj_t * gear = lv_label_create(win2_screen);
lv_obj_align_to(gear,panel_bg_img2,LV_ALIGN_CENTER,25,75);
lv_obj_set_style_text_font(gear,LV_FONT_MXC_WRYH_CT_30PX,0);
// lv_label_set_text_fmt(gear, "%d",gear_value);
lv_obj_t * gear_null = lv_img_create(win2_screen);
lv_obj_align_to(gear_null,panel_bg_img2,LV_ALIGN_CENTER,-5,58);
lv_img_set_src(gear_null, IMG_DM1_NULL);
lv_obj_t * tcs = lv_img_create(win2_screen);
lv_obj_align(tcs,LV_ALIGN_BOTTOM_LEFT,10,-10);
lv_img_set_src(tcs, IMG_DM1_TCS);
lv_obj_t * time_label = lv_label_create(win2_screen);
lv_obj_set_pos(time_label, 10, 10);
lv_obj_set_style_text_font(time_label,LV_FONT_MXC_WRYH_CT_20PX,0);
lv_label_set_text(time_label, GetCurTimeString());
lv_obj_t * max_speed = lv_label_create(win2_screen);
lv_obj_set_pos(max_speed, -30, 20);
lv_obj_set_align(max_speed, LV_ALIGN_TOP_RIGHT);
lv_obj_set_style_text_font(max_speed,LV_FONT_MXC_WRYH_CT_30PX,0);
lv_label_set_text(max_speed,"255");
lv_obj_t * avg_speed = lv_label_create(win2_screen);
lv_obj_set_pos(avg_speed, -30, -30);
lv_obj_set_align(avg_speed, LV_ALIGN_RIGHT_MID);
lv_obj_set_style_text_font(avg_speed,LV_FONT_MXC_WRYH_CT_30PX,0);
lv_label_set_text(avg_speed, "254");
lv_obj_t * trip = lv_label_create(win2_screen);
lv_obj_set_pos(trip, -30, 40);
lv_obj_set_align(trip, LV_ALIGN_RIGHT_MID);
lv_obj_set_style_text_font(trip,LV_FONT_MXC_WRYH_CT_30PX,0);
lv_label_set_text(trip, "888888");
lv_obj_t * total = lv_label_create(win2_screen);
lv_obj_set_pos(total, -30, -20);
lv_obj_set_align(total, LV_ALIGN_BOTTOM_RIGHT);
lv_obj_set_style_text_font(total,LV_FONT_MXC_WRYH_CT_30PX,0);
lv_label_set_text(total, "888888");
lv_obj_t * img_oil = lv_img_create(win2_screen);
lv_obj_align_to(img_oil,oil_meter,LV_ALIGN_CENTER,-7,-7);
lv_img_set_src(img_oil, IMG_DM1_OIL);
lv_obj_t * img_temp = lv_img_create(win2_screen);
lv_obj_align_to(img_temp,temp_meter,LV_ALIGN_CENTER,-7,-7);
lv_img_set_src(img_temp, IMG_DM1_TEMP);
lv_obj_t * speed_uint = lv_label_create(win2_screen);
lv_obj_align_to(speed_uint,panel_bg_img2,LV_ALIGN_CENTER,-10,-40);
lv_obj_set_style_text_font(speed_uint,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(speed_uint, "1000r/min");
lv_obj_t * speed_uint2 = lv_label_create(win2_screen);
lv_obj_align_to(speed_uint2,panel_bg_img2,LV_ALIGN_CENTER,10,50);
lv_obj_set_style_text_font(speed_uint2,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(speed_uint2, "km/h");
lv_obj_t * max_speed_label = lv_label_create(win2_screen);
lv_obj_set_pos(max_speed_label, 300, 25);
lv_obj_set_style_text_font(max_speed_label,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(max_speed_label, "最高时速:");
lv_obj_t * avg_speed_label = lv_label_create(win2_screen);
lv_obj_set_pos(avg_speed_label, 300, 90);
// lv_obj_set_align(avg_speed_label, LV_ALIGN_RIGHT_MID);
lv_obj_set_style_text_font(avg_speed_label,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(avg_speed_label, "平均时速:");
lv_obj_t * trip_label = lv_label_create(win2_screen);
lv_obj_set_pos(trip_label, 300, 140);
lv_obj_set_style_text_font(trip_label,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(trip_label, "小计里程:");
lv_obj_t * total_label = lv_label_create(win2_screen);
lv_obj_set_pos(total_label, 299, 210);
lv_obj_set_style_text_font(total_label,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(total_label, "总计里程:");
self_checking_animo(win2_screen);
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, win2_screen);
// lv_obj_add_flag(win2_screen, LV_STATE_FOCUSED );
// lv_obj_add_flag(win2_screen, LV_STATE_FOCUS_KEY );
// lv_obj_add_state(win2_screen, LV_STATE_FOCUSED );
// lv_obj_add_state(win2_screen, LV_STATE_FOCUS_KEY );
lv_obj_add_event_cb(win2_screen, demo_win_event_handle, LV_EVENT_KEY, NULL);
// lv_timer_t * ui_refresh_timer = get_ui_refresh_timer();
time_refresh_timer = lv_timer_create(refresh_timer_cb,50,win2_screen);
}
#endif

View File

@ -0,0 +1,61 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
#include "mxc_meter.h"
#include "list.h"
//#include "language_table.h"
#include "lan_str_table.h"
#include "equipment.h"
__attribute__((section("resource_section"))) lv_equipment_list_t equipment_list_group[EQUIPMENT_ID_MAX]=
{
{EQUIPMENT_ID_THEME, STR_ID_THEME, true, true},
{EQUIPMENT_ID_LIGHT, STR_ID_LIGHT, false, true},
{EQUIPMENT_ID_BLUETOOTH, STR_ID_BLUETOOTH, false, true},
{EQUIPMENT_ID_OTHER, STR_ID_OTHER_SETTING, false, true},
{EQUIPMENT_ID_INFORMATION, STR_ID_INFORMATION, false, true},
{EQUIPMENT_ID_PRESSURE, STR_ID_PRESSURE, false, true},
{EQUIPMENT_ID_FAULT_CODE, STR_ID_FAULT_CODE, false, true},
{EQUIPMENT_ID_RETURN, STR_ID_RETURN, false, true},
};
bool get_equipment_is_display(ENUM_EQUIPMENT_ID equip_id)
{
return equipment_list_group[equip_id].is_display;
}
void get_display_equipment_str(uint32_t res_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM])
{
uint8_t equip_id = EQUIPMENT_ID_THEME;
for(uint8_t i=MAINMENU_TILE_ZERO; i<MAINMENU_TILE_END; i++)
{
for(uint8_t j=0; j<3;)
{
if((equip_id < EQUIPMENT_ID_MAX) && (get_equipment_is_display(equip_id))){
res_arr[i][j] = equipment_list_group[equip_id].str;
j++;
}
equip_id++;
if(equip_id == EQUIPMENT_ID_MAX)
return;
}
}
}
extern void set_is_display(ENUM_EQUIPMENT_ID equip_id,bool value)
{
equipment_list_group[equip_id].is_display=value;
}
LAN_STR_ID get_equipment_is_str(ENUM_EQUIPMENT_ID equip_id)
{
return equipment_list_group[equip_id].str;
}

View File

@ -0,0 +1,166 @@
#include "lvgl.h"
#include "img_def.h"
#include "lv_common_function.h"
#if 0
#define IMG_DISTANCE_L img_A_002
#define IMG_CALORIE_L img_A_001
#define IMG_STEP_L img_A_003
#define IMG_DISTANCE_H img_A_006
#define IMG_CALORIE_H img_A_004
#define IMG_STEP_H img_A_005
#define LV_FONT_BIG LV_FONT_DEFAULT
#define LV_FONT_MEDIUM &arialuni_field_bbp2_32px
#define LV_FONT_SMALL LV_FONT_DEFAULT
#define LV_FONT_NUMBER_BIG &HarmonyOS_number_50px
LV_FONT_DECLARE(HarmonyOS_number_50px);
LV_FONT_DECLARE(arialuni_field_bbp2_32px);
static lv_obj_t *create_exercise_info_list(lv_obj_t *parent,uint32_t value,lv_img_src_t *img_src,uint8_t *title,lv_color_t color,uint8_t *unit)
{
lv_obj_t *obj_cont = lv_obj_create(parent);
lv_obj_remove_style_all(obj_cont);
// lv_obj_set_scrollbar_mode(obj_cont, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(obj_cont,LV_PCT(100),100);
lv_obj_t *obj_img = lv_img_create(obj_cont);
lv_img_set_src(obj_img,img_src);
lv_obj_align(obj_img,LV_ALIGN_LEFT_MID,18,0);
lv_obj_t *title_label = lv_label_create(obj_cont);
lv_obj_set_style_text_font(title_label,LV_FONT_BIG,0);
lv_obj_set_style_text_color(title_label,color,0);
lv_label_set_text(title_label,title);
lv_obj_align(title_label,LV_ALIGN_TOP_LEFT,109,5);
lv_obj_t *value_label = lv_label_create(obj_cont);
lv_obj_set_style_text_font(value_label,LV_FONT_NUMBER_BIG,0);
lv_label_set_text_fmt(value_label,"%d",value);
lv_obj_align(value_label,LV_ALIGN_BOTTOM_LEFT,102,-5);
lv_obj_t *unit_label = lv_label_create(obj_cont);
lv_label_set_text(unit_label,unit);
// lv_obj_align(unit_label,LV_ALIGN_BOTTOM_RIGHT,-30,0);
lv_obj_align_to(unit_label,value_label,LV_ALIGN_OUT_RIGHT_BOTTOM,10,5);
return obj_cont;
}
bool btn_flag;
static void btn_event_cb(lv_event_t *e)
{
lv_obj_t *obj_img = lv_event_get_user_data(e);
if(btn_flag)
lv_img_set_src(obj_img,IMG_STEP_H);
else
lv_img_set_src(obj_img,IMG_CALORIE_H);
btn_flag = !btn_flag;
}
void fr_lv_app_exercise_func(lv_obj_t *parent, lv_point_t *top)
{
UI_PARENT_INIT(parent);
if(!lv_obj_is_valid(parent))
return;
lv_obj_t *obj_img = lv_img_create(parent);
lv_img_set_src(obj_img,IMG_DISTANCE_H);
lv_obj_align(obj_img,LV_ALIGN_TOP_MID,0,18);
lv_obj_t *btn = lv_btn_create(parent);
lv_obj_set_size(btn,90,90);
lv_obj_add_event_cb(btn,btn_event_cb,LV_EVENT_CLICKED,obj_img);
lv_obj_t *label = lv_label_create(parent);
lv_obj_set_width(label,203);
lv_label_set_long_mode(label,LV_LABEL_LONG_SCROLL);
lv_obj_set_style_text_font(label,LV_FONT_MEDIUM,0);
lv_label_set_text_fmt(label,"%s",lan_str_table[STR_ID_FOCUS_BREATHING][1]);
lv_obj_center(label);
#if 0
//-------------------------------------------
lv_obj_t *label1 = lv_label_create(parent);
lv_obj_align(label1,LV_ALIGN_TOP_LEFT,28,19);
lv_obj_set_width(label1,203);
lv_label_set_long_mode(label1,LV_LABEL_LONG_SCROLL);
lv_label_set_text(label1,"Daily exercise");
lv_obj_t *label2 = lv_label_create(parent);
lv_obj_align(label2,LV_ALIGN_TOP_LEFT,260,20);
lv_label_set_text_fmt(label2,"%02d:%02d",10,9);
//bigest
lv_obj_t *arc = lv_arc_create(parent);
lv_obj_set_size(arc,328,328);
lv_arc_set_rotation(arc, 270);
lv_arc_set_bg_angles(arc, 0, 360);
lv_arc_set_value(arc,50);
lv_obj_remove_style(arc, NULL, LV_PART_KNOB);
lv_obj_clear_flag(arc, LV_OBJ_FLAG_CLICKABLE);
lv_obj_set_pos(arc,20,91);
// lv_obj_set_style_arc_color(arc,lv_color_darken(lv_color_make(0x31,0x07,0x12),LV_OPA_70),0);
lv_obj_set_style_arc_color(arc,lv_color_make(0x31,0x07,0x12),0);
lv_obj_set_style_arc_color(arc,lv_color_make(0xf6,0x23,0x5c),LV_PART_INDICATOR);
lv_obj_set_style_arc_width(arc,28,LV_PART_MAIN);
lv_obj_set_style_arc_width(arc,28,LV_PART_INDICATOR);
lv_obj_t *img = lv_img_create(parent);
lv_img_set_src(img,IMG_CALORIE_L);
lv_obj_set_pos(img,175,95);
arc = lv_arc_create(parent);
lv_obj_set_size(arc,244,244);
lv_arc_set_rotation(arc, 270);
lv_arc_set_bg_angles(arc, 0, 360);
lv_arc_set_value(arc,50);
lv_obj_remove_style(arc, NULL, LV_PART_KNOB);
lv_obj_clear_flag(arc, LV_OBJ_FLAG_CLICKABLE);
lv_obj_set_pos(arc,62,134);
lv_obj_set_style_arc_color(arc,lv_color_make(0x23,0x33,0x03),0);
lv_obj_set_style_arc_color(arc,lv_color_make(0xaf,0xff,0x10),LV_PART_INDICATOR);
lv_obj_set_style_arc_width(arc,28,LV_PART_MAIN);
lv_obj_set_style_arc_width(arc,28,LV_PART_INDICATOR);
img = lv_img_create(parent);
lv_img_set_src(img,IMG_STEP_L);
lv_obj_set_pos(img,175,138);
arc = lv_arc_create(parent);
lv_obj_set_size(arc,156,156);
lv_arc_set_rotation(arc, 270);
lv_arc_set_bg_angles(arc, 0, 360);
lv_arc_set_value(arc,50);
lv_obj_remove_style(arc, NULL, LV_PART_KNOB);
lv_obj_clear_flag(arc, LV_OBJ_FLAG_CLICKABLE);
lv_obj_set_pos(arc,106,179);
lv_obj_set_style_arc_color(arc,lv_color_make(0x03,0x2f,0x31),0);
lv_obj_set_style_arc_color(arc,lv_color_make(0x11,0xeb,0xf7),LV_PART_INDICATOR);
lv_obj_set_style_arc_width(arc,28,LV_PART_MAIN);
lv_obj_set_style_arc_width(arc,28,LV_PART_INDICATOR);
img = lv_img_create(parent);
lv_img_set_src(img,IMG_DISTANCE_L);
lv_obj_set_pos(img,175,183);
//---------------------------------------------------------------------
lv_color_t title_color = lv_color_make(0xf6,0x23,0x5c);
lv_obj_t *calories_obj = create_exercise_info_list(parent,10349,IMG_CALORIE_H,"Calories",title_color,"kcal");
lv_obj_set_pos(calories_obj,0,499);
title_color = lv_color_make(0xaf,0xff,0x10);
lv_obj_t *step_obj = create_exercise_info_list(parent,10549,IMG_STEP_H,"Steps",title_color,"steps");
lv_obj_set_pos(step_obj,0,657);
title_color = lv_color_make(0x11,0xeb,0xf7);
lv_obj_t *distance_obj = create_exercise_info_list(parent,10149,IMG_DISTANCE_H,"Distance",title_color,"km");
lv_obj_set_pos(distance_obj,0,820);
//---------------------------------------------------------------------
#endif
}
#endif

View File

@ -0,0 +1,632 @@
#if 0
#include "lvgl.h"
#include "img_def.h"
#include "lv_common_function.h"
static lv_timer_t *refresh_timer=NULL;
static uint8_t background_style = 0;
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_bg1_src[6] =
{
IMG_INSTRUMENT_BG1_1,
IMG_INSTRUMENT_BG1_2,
IMG_INSTRUMENT_BG1_3,
IMG_INSTRUMENT_BG1_4,
IMG_INSTRUMENT_BG1_5,
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_bg2_src[6] =
{
IMG_INSTRUMENT_BG2_1,
IMG_INSTRUMENT_BG2_2,
IMG_INSTRUMENT_BG2_3,
IMG_INSTRUMENT_BG2_4,
IMG_INSTRUMENT_BG2_5,
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* left_img_src[2] =
{
IMG_INSTRUMENT_ICO13,
IMG_INSTRUMENT_ICO14,
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* right_img_src[2] =
{
IMG_INSTRUMENT_ICO9,
IMG_INSTRUMENT_ICO10,
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* batt_black_img_src[5] =
{
IMG_INSTRUMENT_BATT_ICO1,
IMG_INSTRUMENT_BATT_ICO2,
IMG_INSTRUMENT_BATT_ICO3,
IMG_INSTRUMENT_BATT_ICO4,
IMG_INSTRUMENT_BATT_ICO5
};
static uint32_t odb_val = 660;
static uint32_t trip_val = 1770;
static uint8_t dir_sw_flags=0;
static uint8_t dir_cnt=0;
static uint8_t speed_val=50;
static uint8_t right_battery_val=20;
static uint8_t left_battery_val=20;
static int speed_angle=2400;
static uint32_t background_sw =0 ;
void fr_lv_instrument_panel_func(lv_obj_t *parent, lv_point_t *top);
void refresh_timer_cb(lv_timer_t *t)
{
lv_obj_t *parent = t->user_data;
if(!lv_obj_is_valid(parent))
return;
if(++background_sw>100)
{
background_sw = 0;
background_style^=1;
lv_timer_del(refresh_timer);
refresh_timer = NULL;
lv_obj_clean(parent);
fr_lv_instrument_panel_func(parent,NULL);
return;
}
lv_obj_t *left_img = lv_obj_get_child(parent,1);
lv_obj_t *right_img = lv_obj_get_child(parent,2);
lv_obj_t *odb_lab = lv_obj_get_child(parent,6);
lv_obj_t *trip_lab = lv_obj_get_child(parent,7);
lv_obj_t *wiper_img = lv_obj_get_child(parent,3);//5
lv_obj_t *led_ico1_img = lv_obj_get_child(parent,4);//6
lv_obj_t *led_ico2_img = lv_obj_get_child(parent,5);//7
lv_obj_t * hand_img = lv_obj_get_child(parent, lv_obj_get_child_cnt(parent)-4);
lv_obj_t *speed_lab = lv_obj_get_child(parent,lv_obj_get_child_cnt(parent)-2);
lv_obj_t *right_slider_battery = lv_obj_get_child(parent,10);//10
lv_obj_t *left_slider_battery = lv_obj_get_child(parent,11);//11
lv_img_set_angle(hand_img,speed_angle);
speed_angle+=100;
if(speed_angle>4800)
speed_angle=2400;
if(!dir_sw_flags)
{
lv_img_set_src(left_img,left_img_src[1]);
lv_img_set_src(right_img,right_img_src[0]);
lv_obj_add_flag(wiper_img,LV_OBJ_FLAG_HIDDEN);
lv_obj_clear_flag(led_ico1_img,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(led_ico2_img,LV_OBJ_FLAG_HIDDEN);
}else{
lv_img_set_src(left_img,left_img_src[0]);
lv_img_set_src(right_img,right_img_src[1]);
lv_obj_clear_flag(wiper_img,LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(led_ico1_img,LV_OBJ_FLAG_HIDDEN);
lv_obj_clear_flag(led_ico2_img,LV_OBJ_FLAG_HIDDEN);
}
if(++dir_cnt>15)
{
dir_cnt = 0;
dir_sw_flags^=1;
odb_val++;
trip_val++;
}
lv_label_set_text_fmt(speed_lab,"%d",speed_val);
lv_label_set_text_fmt(odb_lab,"%d",odb_val);
lv_label_set_text_fmt(trip_lab,"%d",trip_val);
lv_slider_set_value(left_slider_battery, left_battery_val, LV_ANIM_OFF);
lv_slider_set_value(right_slider_battery, right_battery_val, LV_ANIM_OFF);
lv_label_set_text_fmt(lv_obj_get_child(parent,13),"%d%%",(int)right_battery_val);
lv_label_set_text_fmt(lv_obj_get_child(parent,12),"%d%%",(int)left_battery_val);
left_battery_val+=5;
left_battery_val%=100;
right_battery_val+=5;
right_battery_val%=100;
//speed_val++;
//speed_val%=100;
speed_val = (speed_angle-2400)/24;
}
static inline lv_color_t get_label_color(void)
{
if(background_style==0)
{
return lv_color_hex(0xffffff);
}
else{
return lv_color_hex(0x00);
}
}
#define M_PI 3.14
static int center_x = 242, center_y = 119;
static int radius = 51;
static double start_angle = 0;
static double end_angle = 0;
static float progress =0.0;
#define TEST_FUN 0
void move_arrow_task_cb(lv_timer_t *t) {
lv_obj_t *parent = t->user_data;
if(!lv_obj_is_valid(parent))
return;
//current_angle-=1;
int current_angle = start_angle - progress * (start_angle + 390);
int x = center_x + radius * cos(current_angle * M_PI / 180.0);
int y = center_y - radius * sin(current_angle * M_PI / 180.0);
lv_obj_t *arrow = lv_obj_get_child(parent, 4);
lv_obj_set_pos(arrow, x, y);
printf("current_angle:%d x:%d y:%d\r\n",current_angle,x,y);
progress += 0.01;
if (progress > 1.0) {
progress = 0.0;
}
}
static void slider1_change_cb(lv_event_t *e)
{
lv_obj_t *slider = lv_event_get_target(e);
lv_event_code_t event = lv_event_get_code(e);
lv_obj_t *label = e->user_data;
if(!lv_obj_is_valid(slider)||!lv_obj_is_valid(label))
return;
if(event == LV_EVENT_VALUE_CHANGED)
{
lv_label_set_text_fmt(label,"%d%%",(int)lv_slider_get_value(slider));
printf("event_slider:%d \n", (int)lv_slider_get_value(slider));
}
}
static void slider2_change_cb(lv_event_t *e)
{
lv_obj_t *slider = lv_event_get_target(e);
lv_event_code_t event = lv_event_get_code(e);
lv_obj_t *label = e->user_data;
if(!lv_obj_is_valid(slider)||!lv_obj_is_valid(label))
return;
if(event == LV_EVENT_VALUE_CHANGED)
{
lv_label_set_text_fmt(label,"%d%%",(int)lv_slider_get_value(slider));
printf("event_slider:%d \n", (int)lv_slider_get_value(slider));
}
}
#if 1
LV_IMG_DECLARE(batt_full);
LV_IMG_DECLARE(batt_full_gren);
LV_IMG_DECLARE(batt_full_yellow);
void fr_lv_instrument_panel_func(lv_obj_t *parent, lv_point_t *top)
{
start_angle = atan2(center_y - 143, 199 - center_x) * 180 / M_PI;
end_angle = atan2(center_y - 143, 284 - center_x) * 180 / M_PI;
if(!lv_obj_is_valid(parent))
return;
UI_PARENT_INIT(parent);
if(background_style==0)
{
lv_obj_t* panel_bg_img = lv_img_big_create(parent,panel_bg1_src,0,0,5,0);//0
}
else{
lv_obj_t* panel_bg_img = lv_img_big_create(parent,panel_bg2_src,0,0,5,0);//0
}
lv_obj_t *left_img = lv_img_create(parent);//1
lv_img_set_src(left_img,left_img_src[1]);
lv_obj_align(left_img,LV_ALIGN_TOP_LEFT,50,10);
lv_obj_t *right_img = lv_img_create(parent);//2
lv_img_set_src(right_img,right_img_src[1]);
lv_obj_align(right_img,LV_ALIGN_TOP_RIGHT,-50,10);
#if(TEST_FUN==1)
lv_obj_t *dot_obj = lv_btn_create(parent);
lv_obj_set_size(dot_obj,3,3);
lv_obj_set_style_pad_all(dot_obj,0,0);
lv_obj_set_style_radius(dot_obj,1,0);
lv_obj_set_style_bg_color(dot_obj,lv_color_make(0xff, 0, 0),0);
lv_obj_set_pos(dot_obj,197,145);
//lv_obj_add_flag(dot_obj,LV_OBJ_FLAG_HIDDEN);
lv_timer_create(move_arrow_task_cb,100,parent);
return;
#endif
lv_obj_t *wiper_img = lv_img_create(parent);//3
lv_img_set_src(wiper_img,IMG_INSTRUMENT_ICO3);
lv_obj_align_to(wiper_img,left_img,LV_ALIGN_OUT_RIGHT_MID,20,0);
lv_obj_t *led_ico1_img = lv_img_create(parent);//4
lv_img_set_src(led_ico1_img,IMG_INSTRUMENT_ICO11);
lv_obj_align_to(led_ico1_img,right_img,LV_ALIGN_OUT_LEFT_MID,-10,0);
lv_obj_t *led_ico2_img = lv_img_create(parent);//5
lv_img_set_src(led_ico2_img,IMG_INSTRUMENT_ICO7);
lv_obj_align_to(led_ico2_img,led_ico1_img,LV_ALIGN_OUT_LEFT_MID,-10,0);
lv_obj_t * trip_lab = lv_label_create(parent);//6
lv_obj_set_style_text_color(trip_lab,get_label_color(),0);
lv_obj_set_style_text_font(trip_lab,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(trip_lab, LV_ALIGN_BOTTOM_MID, 140, -10);
lv_label_set_text_fmt(trip_lab,"%d",trip_val);
lv_obj_t * odb_lab = lv_label_create(parent);//7
lv_obj_set_style_text_color(odb_lab,get_label_color(),0);
lv_obj_set_style_text_font(odb_lab,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(odb_lab, LV_ALIGN_BOTTOM_LEFT, 110, -10);
lv_label_set_text_fmt(odb_lab,"%d",odb_val);
lv_obj_t *left_batt_img = lv_img_create(parent);//8
lv_img_set_src(left_batt_img,IMG_BATT_EMPTY);
lv_obj_align(left_batt_img,LV_ALIGN_LEFT_MID,55,0);
lv_obj_t *right_batt_img = lv_img_create(parent);//9
lv_img_set_src(right_batt_img,IMG_BATT_EMPTY);
lv_obj_align(right_batt_img,LV_ALIGN_RIGHT_MID,-55,0);
lv_obj_t *right_slider_battery = lv_slider_create(parent);//10
lv_slider_set_value(right_slider_battery, 50, LV_ANIM_OFF);
if(lv_slider_get_mode(right_slider_battery) == LV_SLIDER_MODE_RANGE)
lv_slider_set_left_value(right_slider_battery, 0,LV_ANIM_OFF);
lv_obj_set_width(right_slider_battery, 30);
lv_obj_set_height(right_slider_battery, 62);
lv_obj_align(right_slider_battery,LV_ALIGN_RIGHT_MID,-55,0);
lv_obj_set_style_radius(right_slider_battery,0,LV_PART_MAIN);
lv_obj_set_style_radius(right_slider_battery,0,LV_PART_INDICATOR);
//lv_obj_set_align(ui_Slider_Battery, LV_ALIGN_CENTER);
lv_obj_set_style_bg_color(right_slider_battery, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(right_slider_battery, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(right_slider_battery, lv_color_hex(0xFFFFFF), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(right_slider_battery, 0, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_img_src(right_slider_battery, &batt_full_gren, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(right_slider_battery, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(right_slider_battery, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_t *left_slider_battery = lv_slider_create(parent);//11
lv_slider_set_value(left_slider_battery, 20, LV_ANIM_OFF);
if(lv_slider_get_mode(left_slider_battery) == LV_SLIDER_MODE_RANGE)
lv_slider_set_left_value(left_slider_battery, 0,LV_ANIM_OFF);
lv_obj_set_width(left_slider_battery, 30);
lv_obj_set_height(left_slider_battery, 62);
lv_obj_align(left_slider_battery,LV_ALIGN_LEFT_MID,55,0);
lv_obj_set_style_radius(left_slider_battery,0,LV_PART_MAIN);
lv_obj_set_style_radius(left_slider_battery,0,LV_PART_INDICATOR);
lv_obj_set_style_bg_color(left_slider_battery, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(left_slider_battery, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(left_slider_battery, lv_color_hex(0xFFFFFF), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(left_slider_battery, 0, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_img_src(left_slider_battery, &batt_full_yellow, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(left_slider_battery, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(left_slider_battery, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_t * left_batt_val = lv_label_create(parent);//12
lv_obj_set_style_text_color(left_batt_val,lv_color_make(250,198,13),0);
lv_obj_set_style_text_font(left_batt_val,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(left_batt_val, left_batt_img,LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
lv_label_set_text_fmt(left_batt_val,"%d%%",20);
lv_obj_t * right_batt_val = lv_label_create(parent);//13
lv_obj_set_style_text_color(right_batt_val,lv_color_make(8,255,74),0);
lv_obj_set_style_text_font(right_batt_val,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(right_batt_val, right_batt_img,LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
lv_label_set_text_fmt(right_batt_val,"%d%%",50);
lv_obj_add_event_cb(right_slider_battery, slider1_change_cb, LV_EVENT_VALUE_CHANGED, (void*)right_batt_val);
lv_obj_add_event_cb(left_slider_battery, slider2_change_cb, LV_EVENT_VALUE_CHANGED, (void*)left_batt_val);
lv_obj_t * sta_lab = lv_label_create(parent);//10
lv_obj_set_style_text_color(sta_lab,lv_color_make(11,250,73),0);
lv_obj_set_style_text_font(sta_lab,LV_FONT_MEDIUM_NUMBER_36PX,0);
lv_obj_align(sta_lab, LV_ALIGN_CENTER, 0, 55);
lv_label_set_text(sta_lab,"R");
lv_obj_t * ecu_label = lv_label_create(parent);//10
lv_obj_set_style_text_color(ecu_label,lv_color_hex(0x00ff00),0);
lv_obj_set_style_text_font(ecu_label,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(ecu_label, LV_ALIGN_BOTTOM_LEFT, 10, -10);
lv_label_set_text(ecu_label,"ECU");
lv_obj_t * odb_label = lv_label_create(parent);//11
lv_obj_set_style_text_color(odb_label,get_label_color(),0);
lv_obj_set_style_text_font(odb_label,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(odb_label,ecu_label, LV_ALIGN_OUT_RIGHT_BOTTOM, 10, 0);
lv_label_set_text(odb_label,"ODB");
lv_obj_t * ready_label = lv_label_create(parent);//12
lv_obj_set_style_text_color(ready_label,lv_color_hex(0x00ff00),0);
lv_obj_set_style_text_font(ready_label,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(ready_label, LV_ALIGN_BOTTOM_MID, 0, -15);
lv_label_set_text(ready_label,"READY");
lv_obj_t * trip_label = lv_label_create(parent);//
lv_obj_set_style_text_color(trip_label,get_label_color(),0);
lv_obj_set_style_text_font(trip_label,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align(trip_label, LV_ALIGN_BOTTOM_MID, 80, -10);
lv_label_set_text(trip_label,"TRIP");
lv_obj_t * trip_uint = lv_label_create(parent);//
lv_obj_set_style_text_color(trip_uint,get_label_color(),0);
lv_obj_set_style_text_font(trip_uint,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(trip_uint,trip_lab, LV_ALIGN_OUT_RIGHT_BOTTOM, 10, -2);
lv_label_set_text(trip_uint,"KM");
lv_obj_t * odb_uint = lv_label_create(parent);//
lv_obj_set_style_text_color(odb_uint,get_label_color(),0);
lv_obj_set_style_text_font(odb_uint,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(odb_uint,odb_lab, LV_ALIGN_OUT_RIGHT_BOTTOM, 15, -2);
lv_label_set_text(odb_uint,"KM");
lv_obj_t * left_batt_lab = lv_label_create(parent);//
lv_obj_set_style_text_color(left_batt_lab,lv_color_make(137,137,137),0);
lv_obj_set_style_text_font(left_batt_lab,LV_FONT_SMALL_NUMBER_12PX,0);
lv_obj_align_to(left_batt_lab, left_batt_img,LV_ALIGN_OUT_TOP_MID, 0, -5);
lv_label_set_text(left_batt_lab,"BAT1");
lv_obj_t * right_batt_lab= lv_label_create(parent);//
lv_obj_set_style_text_color(right_batt_lab,lv_color_make(137,137,137),0);
lv_obj_set_style_text_font(right_batt_lab,LV_FONT_SMALL_NUMBER_12PX,0);
lv_obj_align_to(right_batt_lab, right_batt_img,LV_ALIGN_OUT_TOP_MID, 0, -5);
lv_label_set_text(right_batt_lab,"BAT2");
lv_obj_t *left_ico1 = lv_img_create(parent);
lv_img_set_src(left_ico1,IMG_INSTRUMENT_ICO1);
lv_obj_align(left_ico1,LV_ALIGN_LEFT_MID,100,-25);
lv_obj_t *left_ico2 = lv_img_create(parent);
lv_img_set_src(left_ico2,IMG_INSTRUMENT_ICO5);
lv_obj_align_to(left_ico2,left_ico1,LV_ALIGN_OUT_BOTTOM_MID,0,10);
lv_obj_t *left_ico3 = lv_img_create(parent);
lv_img_set_src(left_ico3,IMG_INSTRUMENT_ICO2);
lv_obj_align_to(left_ico3,left_ico2,LV_ALIGN_OUT_BOTTOM_MID,0,10);
lv_obj_t *right_ico1 = lv_img_create(parent);
lv_img_set_src(right_ico1,IMG_INSTRUMENT_ICO6);
lv_obj_align(right_ico1,LV_ALIGN_RIGHT_MID,-100,-25);
lv_obj_t *right_ico2 = lv_img_create(parent);
lv_img_set_src(right_ico2,IMG_INSTRUMENT_ICO12);
lv_obj_align_to(right_ico2,right_ico1,LV_ALIGN_OUT_BOTTOM_MID,0,10);
lv_obj_t *right_ico3 = lv_img_create(parent);
lv_img_set_src(right_ico3,IMG_INSTRUMENT_ICO4);
lv_obj_align_to(right_ico3,right_ico2,LV_ALIGN_OUT_BOTTOM_MID,0,10);
lv_obj_t *hand_img = lv_img_create(parent);//4
lv_img_set_src(hand_img,IMG_CENTER_ARROWS);
lv_obj_align(hand_img,LV_ALIGN_CENTER,0,-50);
lv_img_set_pivot(hand_img, 5, 70);
lv_img_set_angle(hand_img, 3200);
// lv_obj_t *dot2_obj = lv_btn_create(parent);
// lv_obj_set_size(dot2_obj,10,10);
// lv_obj_set_style_pad_all(dot2_obj,0,0);
// lv_obj_set_style_radius(dot2_obj,5,0);
// lv_obj_set_style_bg_color(dot2_obj,lv_color_make(0x0, 0xff, 0),0);
// lv_obj_set_pos(dot2_obj,242-5,119);
lv_obj_t *arc_img = lv_img_create(parent);
lv_obj_set_pos(arc_img,185,65);
if(background_style==0)
{
lv_img_set_src(arc_img,IMG_CIRCULAR_BLACK);
}else{
lv_img_set_src(arc_img,IMG_CIRCULAR_WHITE);
}
lv_obj_t * speed_lab= lv_label_create(parent);//3
lv_obj_set_style_text_color(speed_lab,lv_color_make(216,38,44),0);
lv_obj_set_style_text_font(speed_lab,LV_FONT_BIG_NUMBER_44PX,0);
lv_obj_align(speed_lab,LV_ALIGN_CENTER, 0, -20);
lv_label_set_text_fmt(speed_lab,"%d",100);
lv_obj_t * speed_uint = lv_label_create(parent);//
lv_obj_set_style_text_color(speed_uint,get_label_color(),0);
lv_obj_set_style_text_font(speed_uint,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align(speed_uint, LV_ALIGN_CENTER, 0, +10);
lv_label_set_text(speed_uint,"km/h");
refresh_timer = lv_timer_create(refresh_timer_cb,20,parent);
}
#else
void fr_lv_instrument_panel_func(lv_obj_t *parent, lv_point_t *top)
{
//start_angle = -atan2(143 - center_y, 199 - center_x) * 180 / M_PI + 360; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// end_angle = -atan2(143 - center_y, 284 - center_x) * 180 / M_PI + 360; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
//start_angle = -atan2(143 - center_y, 199 - center_x) * 180 / M_PI + 360; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
//end_angle = -atan2(143 - center_y, 284 - center_x) * 180 / M_PI + 360; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
start_angle = atan2(center_y - 143, 199 - center_x) * 180 / M_PI; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
end_angle = atan2(center_y - 143, 284 - center_x) * 180 / M_PI; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
start_angle = -150;
// start_angle = atan2(143 - center_y, 199 - center_x) * 180 / M_PI; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// end_angle = atan2(143 - center_y, 284 - center_x) * 180 / M_PI; // <20>Զ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
// if (start_angle < 0) start_angle += 360;
// if (end_angle < 0) end_angle += 360;
printf("<22><>ʼ<EFBFBD>Ƕȣ<C7B6>%lf <20><>\n", start_angle);
printf("<22><><EFBFBD><EFBFBD><EFBFBD>Ƕȣ<C7B6>%lf <20><>\n", end_angle);
if(!lv_obj_is_valid(parent))
return;
UI_PARENT_INIT(parent);
if(background_style==0)
{
lv_obj_t* panel_bg_img = lv_img_big_create(parent,panel_bg1_src,0,0,5,0);//0
}
else{
lv_obj_t* panel_bg_img = lv_img_big_create(parent,panel_bg2_src,0,0,5,0);//0
}
lv_obj_t *left_img = lv_img_create(parent);//1
lv_img_set_src(left_img,left_img_src[1]);
lv_obj_align(left_img,LV_ALIGN_TOP_LEFT,50,10);
lv_obj_t *right_img = lv_img_create(parent);//2
lv_img_set_src(right_img,right_img_src[1]);
lv_obj_align(right_img,LV_ALIGN_TOP_RIGHT,-50,10);
lv_obj_t * speed_lab= lv_label_create(parent);//3
lv_obj_set_style_text_color(speed_lab,lv_color_make(216,38,44),0);
lv_obj_set_style_text_font(speed_lab,LV_FONT_BIG_NUMBER_44PX,0);
lv_obj_align(speed_lab,LV_ALIGN_CENTER, 0, -20);
lv_label_set_text_fmt(speed_lab,"%d",100);
#if(TEST_FUN==1)
lv_obj_t *dot_obj = lv_btn_create(parent);
lv_obj_set_size(dot_obj,3,3);
lv_obj_set_style_pad_all(dot_obj,0,0);
lv_obj_set_style_radius(dot_obj,1,0);
lv_obj_set_style_bg_color(dot_obj,lv_color_make(0xff, 0, 0),0);
lv_obj_set_pos(dot_obj,197,145);
#else
lv_obj_t *arrows_img = lv_img_create(parent);//4
lv_img_set_src(arrows_img,IMG_INSTRUMENT_ICO8);
lv_obj_set_pos(arrows_img,197,145);
//lv_img_set_pivot(arrows_img, 50, 15);
lv_timer_create(move_arrow_task_cb,100,parent);
#endif
lv_obj_t *wiper_img = lv_img_create(parent);//5
lv_img_set_src(wiper_img,IMG_INSTRUMENT_ICO3);
lv_obj_align_to(wiper_img,left_img,LV_ALIGN_OUT_RIGHT_MID,20,0);
lv_obj_t *led_ico1_img = lv_img_create(parent);//6
lv_img_set_src(led_ico1_img,IMG_INSTRUMENT_ICO11);
lv_obj_align_to(led_ico1_img,right_img,LV_ALIGN_OUT_LEFT_MID,-10,0);
lv_obj_t *led_ico2_img = lv_img_create(parent);//7
lv_img_set_src(led_ico2_img,IMG_INSTRUMENT_ICO7);
lv_obj_align_to(led_ico2_img,led_ico1_img,LV_ALIGN_OUT_LEFT_MID,-10,0);
lv_obj_t * trip_lab = lv_label_create(parent);//8
lv_obj_set_style_text_color(trip_lab,get_label_color(),0);
lv_obj_set_style_text_font(trip_lab,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(trip_lab, LV_ALIGN_BOTTOM_MID, 140, -10);
lv_label_set_text_fmt(trip_lab,"%d",trip_val);
lv_obj_t * odb_lab = lv_label_create(parent);//9
lv_obj_set_style_text_color(odb_lab,get_label_color(),0);
lv_obj_set_style_text_font(odb_lab,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(odb_lab, LV_ALIGN_BOTTOM_LEFT, 110, -10);
lv_label_set_text_fmt(odb_lab,"%d",odb_val);
lv_obj_t * sta_lab = lv_label_create(parent);//10
lv_obj_set_style_text_color(sta_lab,lv_color_make(11,250,73),0);
lv_obj_set_style_text_font(sta_lab,LV_FONT_MEDIUM_NUMBER_36PX,0);
lv_obj_align(sta_lab, LV_ALIGN_CENTER, 0, 55);
lv_label_set_text(sta_lab,"R");
lv_obj_t * ecu_label = lv_label_create(parent);//10
lv_obj_set_style_text_color(ecu_label,lv_color_hex(0x00ff00),0);
lv_obj_set_style_text_font(ecu_label,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(ecu_label, LV_ALIGN_BOTTOM_LEFT, 10, -10);
lv_label_set_text(ecu_label,"ECU");
lv_obj_t * odb_label = lv_label_create(parent);//11
lv_obj_set_style_text_color(odb_label,get_label_color(),0);
lv_obj_set_style_text_font(odb_label,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(odb_label,ecu_label, LV_ALIGN_OUT_RIGHT_BOTTOM, 10, 0);
lv_label_set_text(odb_label,"ODB");
lv_obj_t * ready_label = lv_label_create(parent);//12
lv_obj_set_style_text_color(ready_label,lv_color_hex(0x00ff00),0);
lv_obj_set_style_text_font(ready_label,LV_FONT_SMALL_NUMBER_20PX,0);
lv_obj_align(ready_label, LV_ALIGN_BOTTOM_MID, 0, -15);
lv_label_set_text(ready_label,"READY");
lv_obj_t * trip_label = lv_label_create(parent);//
lv_obj_set_style_text_color(trip_label,get_label_color(),0);
lv_obj_set_style_text_font(trip_label,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align(trip_label, LV_ALIGN_BOTTOM_MID, 80, -10);
lv_label_set_text(trip_label,"TRIP");
lv_obj_t * trip_uint = lv_label_create(parent);//
lv_obj_set_style_text_color(trip_uint,get_label_color(),0);
lv_obj_set_style_text_font(trip_uint,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(trip_uint,trip_lab, LV_ALIGN_OUT_RIGHT_BOTTOM, 10, -2);
lv_label_set_text(trip_uint,"KM");
lv_obj_t * odb_uint = lv_label_create(parent);//
lv_obj_set_style_text_color(odb_uint,get_label_color(),0);
lv_obj_set_style_text_font(odb_uint,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(odb_uint,odb_lab, LV_ALIGN_OUT_RIGHT_BOTTOM, 15, -2);
lv_label_set_text(odb_uint,"KM");
lv_obj_t *left_batt_img = lv_img_create(parent);
lv_img_set_src(left_batt_img,batt_black_img_src[2]);
lv_obj_align(left_batt_img,LV_ALIGN_LEFT_MID,55,0);
lv_obj_t *right_batt_img = lv_img_create(parent);
lv_img_set_src(right_batt_img,batt_black_img_src[3]);
lv_obj_align(right_batt_img,LV_ALIGN_RIGHT_MID,-55,0);
lv_obj_t * left_batt_val = lv_label_create(parent);//
lv_obj_set_style_text_color(left_batt_val,lv_color_make(250,198,13),0);
lv_obj_set_style_text_font(left_batt_val,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(left_batt_val, left_batt_img,LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
lv_label_set_text_fmt(left_batt_val,"%d%%",50);
lv_obj_t * right_batt_val = lv_label_create(parent);//
lv_obj_set_style_text_color(right_batt_val,lv_color_make(8,255,74),0);
lv_obj_set_style_text_font(right_batt_val,LV_FONT_SMALL_NUMBER_16PX,0);
lv_obj_align_to(right_batt_val, right_batt_img,LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
lv_label_set_text_fmt(right_batt_val,"%d%%",90);
lv_obj_t * left_batt_lab = lv_label_create(parent);//
lv_obj_set_style_text_color(left_batt_lab,lv_color_make(137,137,137),0);
lv_obj_set_style_text_font(left_batt_lab,LV_FONT_SMALL_NUMBER_12PX,0);
lv_obj_align_to(left_batt_lab, left_batt_img,LV_ALIGN_OUT_TOP_MID, 0, -5);
lv_label_set_text(left_batt_lab,"BAT1");
lv_obj_t * right_batt_lab= lv_label_create(parent);//
lv_obj_set_style_text_color(right_batt_lab,lv_color_make(137,137,137),0);
lv_obj_set_style_text_font(right_batt_lab,LV_FONT_SMALL_NUMBER_12PX,0);
lv_obj_align_to(right_batt_lab, right_batt_img,LV_ALIGN_OUT_TOP_MID, 0, -5);
lv_label_set_text(right_batt_lab,"BAT2");
// lv_obj_t * arc = lv_arc_create(parent);//<2F><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// lv_obj_set_size(arc,105,105);
// lv_arc_set_rotation(arc,0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
// lv_arc_set_bg_angles(arc,0,360); //<2F><><EFBFBD>ýǶ<C3BD>
// lv_arc_set_range(arc,0,270);
// lv_arc_set_change_rate(arc,1);
// lv_obj_set_style_arc_width(arc, 2, LV_PART_MAIN); // <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>״̬<D7B4>µĿ<C2B5><C4BF><EFBFBD>
// lv_obj_set_style_arc_color(arc, lv_color_make(0,0,255), LV_PART_MAIN);
// lv_obj_remove_style(arc,NULL,LV_PART_KNOB); //<2F>Ƴ<EFBFBD><C6B3><EFBFBD>ʽ
// lv_obj_clear_flag(arc,LV_OBJ_FLAG_CLICKABLE);//<2F><><EFBFBD><EFBFBD><EFBFBD>־λ
// lv_obj_align(arc,LV_ALIGN_CENTER,0,-18);
lv_obj_t *left_ico1 = lv_img_create(parent);
lv_img_set_src(left_ico1,IMG_INSTRUMENT_ICO1);
lv_obj_align(left_ico1,LV_ALIGN_LEFT_MID,100,-25);
lv_obj_t *left_ico2 = lv_img_create(parent);
lv_img_set_src(left_ico2,IMG_INSTRUMENT_ICO5);
lv_obj_align_to(left_ico2,left_ico1,LV_ALIGN_OUT_BOTTOM_MID,0,10);
lv_obj_t *left_ico3 = lv_img_create(parent);
lv_img_set_src(left_ico3,IMG_INSTRUMENT_ICO2);
lv_obj_align_to(left_ico3,left_ico2,LV_ALIGN_OUT_BOTTOM_MID,0,10);
lv_obj_t *right_ico1 = lv_img_create(parent);
lv_img_set_src(right_ico1,IMG_INSTRUMENT_ICO6);
lv_obj_align(right_ico1,LV_ALIGN_RIGHT_MID,-100,-25);
lv_obj_t *right_ico2 = lv_img_create(parent);
lv_img_set_src(right_ico2,IMG_INSTRUMENT_ICO12);
lv_obj_align_to(right_ico2,right_ico1,LV_ALIGN_OUT_BOTTOM_MID,0,10);
lv_obj_t *right_ico3 = lv_img_create(parent);
lv_img_set_src(right_ico3,IMG_INSTRUMENT_ICO4);
lv_obj_align_to(right_ico3,right_ico2,LV_ALIGN_OUT_BOTTOM_MID,0,10);
// refresh_timer = lv_timer_create(refresh_timer_cb,20,parent);
}
#endif
#endif

View File

@ -0,0 +1,568 @@
#if 0
#include "lvgl.h"
#include "fr_lv_public_func.h"
#include "img_basic.h"
//
//const lv_img_dsc_t* switch_ico_img[2] =
//{
// IMG_SWITCH_OFF_ICO,
// IMG_SWITCH_ON_ICO,
//};
//const uint16_t format_12hour_str[2]=
//{
// STR_ID_AM,
// STR_ID_PM,
//};
//
//const uint16_t week_str[7]= //周日->周一
//{
// STR_ID_SUM,
// STR_ID_MON,
// STR_ID_TUE,
// STR_ID_WED,
// STR_ID_THU,
// STR_ID_FRI,
// STR_ID_SAT,
//};
//const lv_img_dsc_t* exercise_type_img[115] =
//{
// IMG_EXERCISE_SMALL_001_OUTDOOR_RUNNING ,
// IMG_EXERCISE_SMALL_002_OUTDOOR_CYCLING ,
// IMG_EXERCISE_SMALL_003_SKIPPING ,
// IMG_EXERCISE_SMALL_004_SWIMMING ,
// IMG_EXERCISE_SMALL_005_BADMINTON ,
// IMG_EXERCISE_SMALL_006_TABLE_TENNIS ,
// IMG_EXERCISE_SMALL_007_TENNIS ,
// IMG_EXERCISE_SMALL_008_CLIMBING ,
// IMG_EXERCISE_SMALL_009_HIKING ,
// IMG_EXERCISE_SMALL_010_BASKETBALL ,
// IMG_EXERCISE_SMALL_011_SOCCER ,
// IMG_EXERCISE_SMALL_012_BASEBALL ,
// IMG_EXERCISE_SMALL_013_VOLLEYBALL ,
// IMG_EXERCISE_SMALL_014_CRICKET ,
// IMG_EXERCISE_SMALL_015_RUGBY ,
// IMG_EXERCISE_SMALL_016_HOCKEY ,
// IMG_EXERCISE_SMALL_017_DANCE ,
// IMG_EXERCISE_SMALL_018_INDOOR_CYCLING ,
// IMG_EXERCISE_SMALL_019_YOGA ,
// IMG_EXERCISE_SMALL_020_SIT_UPS ,
// IMG_EXERCISE_SMALL_021_TREADMILL ,
// IMG_EXERCISE_SMALL_022_GYMNASTICS ,
// IMG_EXERCISE_SMALL_023_ROWING ,
// IMG_EXERCISE_SMALL_024_JUMPING_JACK ,
// IMG_EXERCISE_SMALL_025_FREE_TRAINING ,
// IMG_EXERCISE_SMALL_026_OUTDOOR_WALKING ,
// IMG_EXERCISE_SMALL_027_INDOOR_RUN ,
// IMG_EXERCISE_SMALL_028_STRENGTH_TRAINING ,
// IMG_EXERCISE_SMALL_029_STEPPING ,
// IMG_EXERCISE_SMALL_030_HORSE_RIDING ,
// IMG_EXERCISE_SMALL_031_ELLIPTICAL_TRAINER ,
// IMG_EXERCISE_SMALL_032_TAI_CHI ,
// IMG_EXERCISE_SMALL_033_SHUTTLECOCK ,
// IMG_EXERCISE_SMALL_034_BOXING ,
// IMG_EXERCISE_SMALL_035_OUTDOOR_WALK ,
// IMG_EXERCISE_SMALL_036_CROSS_COUNTRY_RUNNING ,
// IMG_EXERCISE_SMALL_037_SKIING ,
// IMG_EXERCISE_SMALL_038_ICE_HOCKEY ,
// IMG_EXERCISE_SMALL_039_TAEKWONDO ,
// IMG_EXERCISE_SMALL_040_VO2MAX_TEST ,
// IMG_EXERCISE_SMALL_041_ROWING_MACHING ,
// IMG_EXERCISE_SMALL_042_STROLLER ,
// IMG_EXERCISE_SMALL_043_ATHLETICS ,// 占位 复用图标代替
// IMG_EXERCISE_SMALL_043_ATHLETICS ,
// IMG_EXERCISE_SMALL_044_WAIST_AND_ABDOMINAL_TRAINING,
// IMG_EXERCISE_SMALL_045_KARATE ,
// IMG_EXERCISE_SMALL_046_RELAXATION ,
// IMG_EXERCISE_SMALL_047_CROSS_TRAINING ,
// IMG_EXERCISE_SMALL_048_PILATES ,
// IMG_EXERCISE_SMALL_049_CROSS_FIT ,
// IMG_EXERCISE_SMALL_050_FUNCTIONAL_TRAINING ,
// IMG_EXERCISE_SMALL_051_PHYSICAL_TRAINING ,
// IMG_EXERCISE_SMALL_052_ARCHERY ,
// IMG_EXERCISE_SMALL_053_FLEXIBILITY ,
// IMG_EXERCISE_SMALL_054_MIXED_AEROBIC ,
// IMG_EXERCISE_SMALL_055_LATIN_DANCE ,
// IMG_EXERCISE_SMALL_056_STREET_DANCE ,
// IMG_EXERCISE_SMALL_057_FREE_BOXING ,
// IMG_EXERCISE_SMALL_058_BALLET ,
// IMG_EXERCISE_SMALL_059_AUSTRALIAN_SOCCER ,
// IMG_EXERCISE_SMALL_060_MARTIAL_ARTS ,
// IMG_EXERCISE_SMALL_061_STAIR_CLIMBING ,
// IMG_EXERCISE_SMALL_062_HANDBALL ,
// IMG_EXERCISE_SMALL_063_BOWLING ,
// IMG_EXERCISE_SMALL_064_SQUASH ,
// IMG_EXERCISE_SMALL_065_CURLING ,
// IMG_EXERCISE_SMALL_066_HUNTING ,
// IMG_EXERCISE_SMALL_067_SNOWBOARDING ,
// IMG_EXERCISE_SMALL_068_LEISURE_SPORTS ,
// IMG_EXERCISE_SMALL_069_AMERICAN_FOOTBALL ,
// IMG_EXERCISE_SMALL_070_HAND_CYCLING ,
// IMG_EXERCISE_SMALL_071_FISHING ,
// IMG_EXERCISE_SMALL_072_FRISBEE ,
// IMG_EXERCISE_SMALL_072_FRISBEE , //占位 复用图标代替
// IMG_EXERCISE_SMALL_073_GOLF ,
// IMG_EXERCISE_SMALL_074_FOLK_DANCE ,
// IMG_EXERCISE_SMALL_075_DOWNHILL_SKIING ,
// IMG_EXERCISE_SMALL_076_SNOW_SPORTS ,
// IMG_EXERCISE_SMALL_077_CLAM_MEDIATION_SPORTS ,
// IMG_EXERCISE_SMALL_078_CORE_TRAINING ,
// IMG_EXERCISE_SMALL_079_ICE_SKATING ,
// IMG_EXERCISE_SMALL_080_FITNESS_GAMES ,
// IMG_EXERCISE_SMALL_081_GYMNASTICS ,
// IMG_EXERCISE_SMALL_082_GROUP_TRAINING ,
// IMG_EXERCISE_SMALL_083_KICKBOXING ,
// IMG_EXERCISE_SMALL_084_LACROSSE ,
// IMG_EXERCISE_SMALL_085_FOAM_ROLLING ,
// IMG_EXERCISE_SMALL_086_WRESTLING ,
// IMG_EXERCISE_SMALL_087_FENCING ,
// IMG_EXERCISE_SMALL_088_SOFTBALL ,
// IMG_EXERCISE_SMALL_089_SINGLE_BAR ,
// IMG_EXERCISE_SMALL_090_PARALLEL_BARS ,
// IMG_EXERCISE_SMALL_091_ROLLER_SKATING ,
// IMG_EXERCISE_SMALL_092_HULA_HOOP ,
// IMG_EXERCISE_SMALL_093_DARTS ,
// IMG_EXERCISE_SMALL_094_PICKLEBALL ,
// IMG_EXERCISE_SMALL_095_HIIT ,
// IMG_EXERCISE_SMALL_096_SHOOTING ,
// IMG_EXERCISE_SMALL_097_JUDO ,
// IMG_EXERCISE_SMALL_098_TRAMPOLINE ,
// IMG_EXERCISE_SMALL_099_SKATEBOARDING ,
// IMG_EXERCISE_SMALL_100_HOVERBOARD ,
// IMG_EXERCISE_SMALL_101_BLADING ,
// IMG_EXERCISE_SMALL_102_PARKOUR ,
// IMG_EXERCISE_SMALL_103_DIVING ,
// IMG_EXERCISE_SMALL_104_SURFING ,
// IMG_EXERCISE_SMALL_105_SNORKELING ,
// IMG_EXERCISE_SMALL_106_PULL_UPS ,
// IMG_EXERCISE_SMALL_107_PUSH_UPS ,
// IMG_EXERCISE_SMALL_108_PLANKING ,
// IMG_EXERCISE_SMALL_109_ROCK_CLIMBING ,
// IMG_EXERCISE_SMALL_110_HIGH_JUMP ,
// IMG_EXERCISE_SMALL_111_BUNGEE_JUMP ,
// IMG_EXERCISE_SMALL_112_LONG_JUMP ,
// IMG_EXERCISE_SMALL_113_MARATHON ,
//
//};
//
//const uint16_t exercise_type_str[115] =
//{
// STR_ID_OUTDOOR_RUN ,
// STR_ID_OUTDOOR_CYCLE ,
// STR_ID_JUMP_ROPE ,
// STR_ID_SWIM ,
// STR_ID_BADMINTON ,
// STR_ID_TABLE_TENNIS ,
// STR_ID_TENNIS ,
// STR_ID_MOUNTAINEERING ,
// STR_ID_HIKING ,
// STR_ID_BASKETBALL ,
// STR_ID_FOOTBALL ,
// STR_ID_BASEBALL ,
// STR_ID_VOLLEYBALL ,
// STR_ID_CRICKET ,
// STR_ID_RUGBY ,
// STR_ID_HOCKEY ,
// STR_ID_DANCE ,
// STR_ID_INDOOR_CYCLE ,
// STR_ID_YOGA ,
// STR_ID_SIT_UP ,
// STR_ID_TREADMILL ,
// STR_ID_GYMNASTICS ,
// STR_ID_BOATING ,
// STR_ID_JUMPING_JACK ,
// STR_ID_FREE_TRAINING ,
// STR_ID_OUTDOOR_WALK ,
// STR_ID_INDOOR_RUN ,
// STR_ID_STRENGTH_TRAINING ,
// STR_ID_STEP_TRAINING ,
// STR_ID_HORSE_RIDING ,
// STR_ID_ELLIPTICAL_TRAINER ,
// STR_ID_TAI_CHI ,
// STR_ID_SHUTTLECOCK ,
// STR_ID_BOXING ,
// STR_ID_INDOOR_WALK ,
// STR_ID_TRAIL_RUNNING ,
// STR_ID_SKIING ,
// STR_ID_ICE_HOCKEY ,
// STR_ID_TAEKWONDO ,
// STR_ID_VO2MAX_TEST ,
// STR_ID_ROWING_MACHING ,
// STR_ID_AIR_WALKER ,
// STR_ID_HIKING ,
// STR_ID_ATHLETICS ,
// STR_ID_WAIST_TRAINING ,
// STR_ID_KARATE ,
// STR_ID_COOLDOWN ,
// STR_ID_CROSS_TRAINING ,
// STR_ID_PILATES ,
// STR_ID_CROSS_FIT ,
// STR_ID_FUNCTIONAL_TRAINING ,
// STR_ID_PHYSICAL_TRAINING ,
// STR_ID_ARCHERY ,
// STR_ID_FLEXIBILITY ,
// STR_ID_MIXED_CARDIO ,
// STR_ID_LATIN_DANCE ,
// STR_ID_STREET_DANCE ,
// STR_ID_KICKBOXING ,
// STR_ID_BALLET ,
// STR_ID_AUSTRALIAN_FOOTBALL ,
// STR_ID_MARTIAL_ARTS ,
// STR_ID_STAIRS ,
// STR_ID_HANDBALL ,
// STR_ID_BOWLING ,
// STR_ID_RACQUETBALL ,
// STR_ID_CURLING ,
// STR_ID_HUNTING ,
// STR_ID_SNOWBOARDING ,
// STR_ID_PLAY ,
// STR_ID_AMERICAN_FOOTBALL ,
// STR_ID_HAND_CYCLING ,
// STR_ID_FISHING ,
// STR_ID_DISC_SPORTS ,
// STR_ID_RUGBY ,
// STR_ID_GOLF ,
// STR_ID_FOLK_DANCE ,
// STR_ID_DOWNHILL_SKIING ,
// STR_ID_SNOW_SPORTS ,
// STR_ID_MIND_AND_BODY ,
// STR_ID_CORE_TRAINING ,
// STR_ID_SKATING ,
// STR_ID_FITNESS_GAMING ,
// STR_ID_AEROBICS ,
// STR_ID_GROUP_TRAINING ,
// STR_ID_KENDO ,
// STR_ID_LACROSSE ,
// STR_ID_ROLLING ,
// STR_ID_WRESTLING ,
// STR_ID_FENCING ,
// STR_ID_SOFTBALL ,
// STR_ID_SINGLE_BAR ,
// STR_ID_PARALLEL_BARS ,
// STR_ID_ROLLER_SKATING ,
// STR_ID_HULA_HOOP ,
// STR_ID_DARTS ,
// STR_ID_PICKLEBALL ,
// STR_ID_HIIT ,
// STR_ID_SHOOTING ,
// STR_ID_JUDO ,
// STR_ID_TRAMPOLINE ,
// STR_ID_SKATEBOARD ,
// STR_ID_HOVERBOARD ,
// STR_ID_BLADING ,
// STR_ID_PARKOUR ,
// STR_ID_DIVING ,
// STR_ID_SURFING ,
// STR_ID_SNORKELING ,
// STR_ID_PULL_UP ,
// STR_ID_PUSH_UP ,
// STR_ID_PLANKING ,
// STR_ID_ROCK_CLIMBING ,
// STR_ID_HIGHT_JUMP ,
// STR_ID_BUNGEE_JUMPING ,
// STR_ID_LONG_JUMP ,
// STR_ID_MARATHON ,
//};
//const uint16_t measure_text_str[3]=
//{
// STR_ID_START_MEASURING,
// STR_ID_MEASURING,
// STR_ID_MEASURE_AGAIN,
//};
void lv_img_big_disp(lv_obj_t* parent, const lv_img_dsc_t **src , lv_coord_t x, lv_coord_t y,uint8_t img_num,uint8_t start)
{
lv_obj_t *cont1 = lv_obj_create(parent);
lv_obj_remove_style_all(cont1);
lv_obj_clear_flag(cont1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_set_scrollbar_mode(cont1, LV_SCROLLBAR_MODE_OFF);
//lv_obj_set_size(cont1,LV_PCT(100),LV_PCT(100));
lv_obj_set_style_bg_color(cont1,lv_color_black(),0);
lv_obj_set_size(cont1,LV_SIZE_CONTENT,LV_SIZE_CONTENT);
lv_obj_align(cont1,LV_ALIGN_TOP_LEFT,x,y);
lv_obj_t *old_obj = NULL;
for (uint8_t i = 0; i < img_num; i++)
{
lv_obj_t *img1 = lv_img_create(cont1);
lv_img_set_src(img1,src[start+i]);
if(i == 0)
lv_obj_set_pos(img1,0,0);
else
lv_obj_align_to(img1,old_obj,LV_ALIGN_OUT_BOTTOM_LEFT,0,0);
old_obj = img1;
}
lv_obj_clear_flag(cont1,LV_OBJ_FLAG_CLICKABLE);
}
lv_obj_t* lv_img_big_create(lv_obj_t* parent, const lv_img_dsc_t **src , lv_coord_t x, lv_coord_t y,uint8_t img_num,uint8_t start)
{
lv_obj_t *cont1 = lv_obj_create(parent);
lv_obj_remove_style_all(cont1);
lv_obj_clear_flag(cont1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_set_scrollbar_mode(cont1, LV_SCROLLBAR_MODE_OFF);
//lv_obj_set_size(cont1,LV_PCT(100),LV_PCT(100));
lv_obj_set_style_bg_color(cont1,lv_color_black(),0);
lv_obj_set_size(cont1,LV_SIZE_CONTENT,LV_SIZE_CONTENT);
lv_obj_align(cont1,LV_ALIGN_TOP_LEFT,x,y);
lv_obj_t *old_obj = NULL;
for(uint8_t i = 0; i < img_num; i++)
{
lv_obj_t *img1 = lv_img_create(cont1);
lv_img_set_src(img1,src[start+i]);
if(i == 0)
lv_obj_set_pos(img1,0,0);
else
lv_obj_align_to(img1,old_obj,LV_ALIGN_OUT_BOTTOM_LEFT,0,0);
old_obj = img1;
}
//lv_obj_clear_flag(cont1,LV_OBJ_FLAG_CLICKABLE);
return cont1;
}
lv_obj_t* lv_title_text_create(lv_obj_t* parent ,uint8_t *str,lv_color_t value, uint8_t hour,uint8_t minute)
{
lv_obj_t *cont1 = lv_obj_create(parent);
lv_obj_remove_style_all(cont1);
lv_obj_clear_flag(cont1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_set_scrollbar_mode(cont1, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(cont1,LV_PCT(100),LV_PCT(100));
// lv_obj_t* title_label = lv_label_create(cont1);
// lv_label_set_text_fmt(title_label,"%s",str);
// lv_obj_set_style_text_font (title_label, LV_FONT_OSD_MEDIUM_32PX, 0);
// lv_obj_set_style_text_color (title_label, value,0);
// lv_obj_align(title_label, LV_ALIGN_TOP_LEFT, 40, 10);
//时间标签
lv_obj_t* top_time = lv_label_create(cont1);
lv_label_set_text_fmt (top_time, "%02d:%02d",hour,minute);
lv_obj_set_style_text_color (top_time, lv_color_hex(0xffffff),0);
lv_obj_set_style_text_font (top_time,LV_FONT_MEDIUM_NUMBER_36PX, 0);
// printf("size:%d\r\n",strlen(str));
// uint8_t str_siz=strlen(str);
// if(str_siz>9)
// {
// lv_obj_align_to(top_time, title_label,LV_ALIGN_OUT_RIGHT_MID, (125/(str_siz/6)), 0);
// }else if(str_siz >=6){
// lv_obj_align_to(top_time, title_label,LV_ALIGN_OUT_RIGHT_MID, 100, 0);
// }
// else
// {
// lv_obj_align_to(top_time, title_label,LV_ALIGN_OUT_RIGHT_MID, 125, 0);
// }
// lv_obj_clear_flag(cont1,LV_OBJ_FLAG_CLICKABLE);
return cont1;
}
void lv_img_change_big_img_src(lv_obj_t* parent, const lv_img_dsc_t **src ,uint8_t img_num,uint8_t start)
{
for (uint8_t i = 0; i < img_num; i++)
{
lv_obj_t *img1 = lv_obj_get_child(parent,i);
lv_img_set_src(img1,src[start+i]);
}
}
void convertTo12HourFormat(uint8_t *hours, uint8_t *isAM) {
if (*hours == 0) {
*hours = 12;
*isAM = 1;
} else if (*hours == 12) {
*isAM = 0;
} else if (*hours > 12) {
*hours -= 12;
*isAM = 0;
} else {
*isAM = 1;
}
}
uint8_t get_language_id(void)
{
return 1;
}
uint8_t get_system_curr_time_hour(void)
{
return 12;
}
uint8_t get_system_curr_time_min(void)
{
return 20;
}
void roller_mask_event_cb(lv_event_t * e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t * obj = lv_event_get_target(e);
static int16_t mask_top_id = -1;
static int16_t mask_bottom_id = -1;
if (code == LV_EVENT_COVER_CHECK) {
lv_event_set_cover_res(e, LV_COVER_RES_MASKED);
} else if (code == LV_EVENT_DRAW_MAIN_BEGIN) {
/* add mask */
const lv_font_t * font = lv_obj_get_style_text_font(obj, LV_PART_MAIN);
lv_coord_t line_space = lv_obj_get_style_text_line_space(obj, LV_PART_MAIN);
lv_coord_t font_h = lv_font_get_line_height(font);
lv_area_t roller_coords;
lv_obj_get_coords(obj, &roller_coords);
lv_area_t rect_area;
rect_area.x1 = roller_coords.x1;
rect_area.x2 = roller_coords.x2;
rect_area.y1 = roller_coords.y1;
rect_area.y2 = roller_coords.y1 + (lv_obj_get_height(obj) - font_h - line_space) / 2;
lv_draw_mask_fade_param_t * fade_mask_top = lv_mem_buf_get(sizeof(lv_draw_mask_fade_param_t));
lv_draw_mask_fade_init(fade_mask_top, &rect_area, LV_OPA_TRANSP, rect_area.y1, LV_OPA_COVER, rect_area.y2);
mask_top_id = lv_draw_mask_add(fade_mask_top, NULL);
rect_area.y1 = rect_area.y2 + font_h + line_space - 1;
rect_area.y2 = roller_coords.y2;
lv_draw_mask_fade_param_t * fade_mask_bottom =lv_mem_buf_get(sizeof(lv_draw_mask_fade_param_t));
lv_draw_mask_fade_init(fade_mask_bottom, &rect_area, LV_OPA_COVER, rect_area.y1, LV_OPA_TRANSP, rect_area.y2);
mask_bottom_id = lv_draw_mask_add(fade_mask_bottom, NULL);
} else if (code == LV_EVENT_DRAW_POST_END) {
lv_draw_mask_fade_param_t * fade_mask_top = lv_draw_mask_remove_id(mask_top_id);
lv_draw_mask_fade_param_t * fade_mask_bottom = lv_draw_mask_remove_id(mask_bottom_id);
lv_mem_buf_release(fade_mask_top);
lv_mem_buf_release(fade_mask_bottom);
mask_top_id = -1;
mask_bottom_id = -1;
printf("id:%d\r\n",lv_roller_get_selected(obj));
}
}
uint8_t get_time_format_flag(void) //返回时间格式
{
uint8_t time_format_flag =0; //0 24小时制 1 12小时制
return time_format_flag;
}
lv_obj_t * draw_dashed_line(lv_obj_t *parent, lv_coord_t x, lv_coord_t y)
{
static lv_point_t line_points[] ={{0, 2}, {290, 2}};
lv_obj_t *line = lv_line_create(parent);
lv_obj_set_style_line_width(line,1,0);
lv_obj_set_style_line_dash_width(line,4,0);
lv_obj_set_style_line_dash_gap(line, 4,0);
lv_obj_set_pos(line, x, y);
//lv_obj_set_style_border_color(line,lv_color_hex(0x727272),0);
lv_obj_set_style_line_color(line,lv_color_hex(0x727272),0);
lv_line_set_points(line,line_points,2);
return line;
}
//w=368 h=202
lv_obj_t *lv_user_create_chart(lv_obj_t *parent,lv_coord_t x, lv_coord_t y,uint8_t *value,uint32_t *color_buff,uint16_t num)
{
lv_obj_t *obj_cont = lv_obj_create(parent);
lv_obj_set_size(obj_cont,368,202);
lv_obj_set_style_bg_color(obj_cont,lv_color_hex(0x00),0);
lv_obj_set_style_pad_all(obj_cont,0,0);
// lv_obj_set_style_border_width(obj_cont,0,0);
//lv_obj_set_style_border_color(obj_cont,lv_color_hex(0x292929),0);
lv_obj_set_style_border_color(obj_cont,lv_color_black(),0);
lv_obj_set_style_border_width(obj_cont,2,0);
lv_obj_set_scrollbar_mode(obj_cont, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_pos(obj_cont,x,y);
lv_obj_clear_flag(obj_cont,LV_OBJ_FLAG_SCROLLABLE);
static lv_point_t line_points[] ={{0, 20}, {290, 20}};
lv_obj_t * line1;
line1 = lv_line_create(obj_cont);
lv_line_set_points(line1, line_points, 2); /*Set the points*/
lv_obj_set_style_border_color(line1,lv_color_hex(0x666666),0);
lv_obj_align(line1,LV_ALIGN_BOTTOM_LEFT,59,-30);
draw_dashed_line(obj_cont,58,131);//绘制虚线
draw_dashed_line(obj_cont,58,91);
draw_dashed_line(obj_cont,58,51);
draw_dashed_line(obj_cont,58,11);
lv_obj_t *old_obj ;
for(int i = 0; i <num;i++)
{
lv_obj_t *series_obj = lv_obj_create(obj_cont);
lv_obj_set_style_border_color(series_obj,lv_color_hex(color_buff[i]),0);
uint16_t ser_val = (uint16_t)((value[i]*3)/2+3);
lv_obj_set_size(series_obj,8,ser_val);
lv_obj_set_style_pad_all(series_obj,0,0);
lv_obj_set_style_radius(series_obj,5,0);
lv_obj_set_style_bg_color(series_obj,lv_color_hex(color_buff[i]),0);
if(i==0)
{
lv_obj_align_to(series_obj,line1,LV_ALIGN_OUT_LEFT_BOTTOM,10,-1);
}
else{
lv_obj_align_to(series_obj,old_obj,LV_ALIGN_OUT_RIGHT_BOTTOM,4,0);
}
old_obj = series_obj;
printf("index:%d\r\n",value[i]);
}
lv_obj_t* start_time = lv_label_create(obj_cont);
lv_obj_set_style_text_font(start_time,LV_FONT_SMALL_NUMBER_20PX,0);
lv_label_set_text_fmt(start_time,"%02d:%02d",0,0);
lv_obj_set_style_text_color(start_time, lv_color_hex(0x666666),0);
lv_obj_align(start_time,LV_ALIGN_BOTTOM_LEFT,20,-5);
lv_obj_t* end_time = lv_label_create(obj_cont);
lv_obj_set_style_text_font(end_time,LV_FONT_SMALL_NUMBER_20PX,0);
lv_label_set_text_fmt(end_time,"%02d:%02d",8,0);
lv_obj_set_style_text_color(end_time, lv_color_hex(0x666666),0);
lv_obj_align(end_time,LV_ALIGN_BOTTOM_RIGHT,-20,-5);
lv_obj_t* y_label1 = lv_label_create(obj_cont);
lv_obj_set_style_text_font(y_label1,LV_FONT_SMALL_NUMBER_20PX,0);
lv_label_set_text_fmt(y_label1,"%d",100);
lv_obj_set_style_text_color(y_label1, lv_color_hex(0x666666),0);
lv_obj_align(y_label1,LV_ALIGN_TOP_LEFT,17,2);
lv_obj_t* y_label2 = lv_label_create(obj_cont);
lv_obj_set_style_text_font(y_label2,LV_FONT_SMALL_NUMBER_20PX,0);
lv_label_set_text_fmt(y_label2,"%d",75);
lv_obj_set_style_text_color(y_label2, lv_color_hex(0x666666),0);
lv_obj_align_to(y_label2,y_label1,LV_ALIGN_OUT_BOTTOM_LEFT,0,18);
lv_obj_t* y_label3 = lv_label_create(obj_cont);
lv_obj_set_style_text_font(y_label3,LV_FONT_SMALL_NUMBER_20PX,0);
lv_label_set_text_fmt(y_label3,"%d",50);
lv_obj_set_style_text_color(y_label3, lv_color_hex(0x666666),0);
lv_obj_align_to(y_label3,y_label2,LV_ALIGN_OUT_BOTTOM_LEFT,0,18);
lv_obj_t* y_label4 = lv_label_create(obj_cont);
lv_obj_set_style_text_font(y_label4,LV_FONT_SMALL_NUMBER_20PX,0);
lv_label_set_text_fmt(y_label4,"%d",25);
lv_obj_set_style_text_color(y_label4, lv_color_hex(0x666666),0);
lv_obj_align_to(y_label4,y_label3,LV_ALIGN_OUT_BOTTOM_LEFT,0,18);
return obj_cont;
}
//void lv_ui_node_add(lv_obj_t *node_parent,lv_obj_t * obj_scroll,ui_func cur,ui_func next,bool scroll_dir)
//{
// printf("lv_ui_node_add\r\n");
//}
//uint16_t get_curr_screen_width(void)
//{
// lv_coord_t hor_res = lv_disp_get_hor_res(lv_disp_get_default()); // 获取屏幕宽度
// lv_coord_t ver_res = lv_disp_get_ver_res(lv_disp_get_default()); // 获取屏幕高度
// // 打印屏幕宽度和高度
// printf("Screen width: %d\n", hor_res);
// printf("Screen height: %d\n", ver_res);
//}
#endif

View File

@ -0,0 +1,651 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
#include "mxc_meter.h"
#include "list.h"
#include "language_table.h"
#include "lan_str_table.h"
#include "equipment.h"
//#define LV_KEY_Q 113
//#define LV_KEY_W 119
char *list_title[16] = {"主题","亮度","蓝牙","其他\n设置","车辆\n信息","返回","1","2","3","4","5","6","7","8","9","10","11","12"};
char *theme_title[16] = {"主题\n设置","主题\n背景","返回","1","2","3","4","5","6","7","8","9","10","11","12"};
__attribute__((section("resource_section"))) static const lv_mainmenu_win_t mainmenu_page_group[MAINMENU_ITEM_ID_MAX] =
{
{MAINMENU_ITEM_ID_THEME, STR_ID_THEME, MAINMENU_ICON_ID_THEME, (void *)theme_create},
{MAINMENU_ITEM_ID_LIGHT, STR_ID_LIGHT, MAINMENU_ICON_ID_LIGHT, (void *)light_create},
{MAINMENU_ITEM_ID_BLUETOOTH, STR_ID_BLUETOOTH, MAINMENU_ICON_ID_BLUETOOTH, (void *)bluetooth_create},
{MAINMENU_ITEM_ID_OTHER, STR_ID_OTHER_SETTING, MAINMENU_ICON_ID_OTHER, (void *)other_create},
{MAINMENU_ITEM_ID_INFORMATION, STR_ID_INFORMATION, MAINMENU_ICON_ID_INFORMATION, (void *)information_create},
{MAINMENU_ITEM_ID_PRESSURE, STR_ID_PRESSURE, MAINMENU_ICON_ID_PRESSURE, (void *)pressure_create},
{MAINMENU_ITEM_ID_FAULT_CODE, STR_ID_FAULT_CODE, MAINMENU_ICON_ID_FAULT_CODE, (void *)fault_code_create},
{EQUIPMENT_ID_RETURN, STR_ID_RETURN, MAINMENU_ICON_ID_RETURN, (void *)demo_return},
};
const btn_event_func getDeviceEntryByStrId(const LAN_STR_ID str_id)
{
btn_event_func p_btn_func = NULL;
for (uint8_t i = MAINMENU_ITEM_ID_THEME; i < MAINMENU_ITEM_ID_MAX; i++)
{
// printf("mainmenu_page_group[i].str_id = %d ,str_id = %d ",mainmenu_page_group[i].str_id,str_id);
if (mainmenu_page_group[i].str_id == str_id)
{
p_btn_func = mainmenu_page_group[i].event_handler;
break;
}
}
if (p_btn_func != NULL)
{
p_btn_func(NULL);
}
else
{
LV_ASSERT(true);
}
return NULL;
}
ENUM_EQUIPMENT_ID get_menu_iconid_by_strid(const LAN_STR_ID str_id)
{
for (uint8_t i = EQUIPMENT_ID_THEME; i < EQUIPMENT_ID_MAX; i++)
{
if (mainmenu_page_group[i].str_id == str_id)
return mainmenu_page_group[i].mainmenu_icon_id;
}
return EQUIPMENT_ID_MAX;
}
LAN_STR_ID list_str[16] = {
STR_ID_THEME,
STR_ID_LIGHT,
STR_ID_BLUETOOTH,
STR_ID_OTHER_SETTING,
STR_ID_INFORMATION,
STR_ID_PRESSURE,
STR_ID_FAULT_CODE,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
STR_ID_RETURN,
};
//lan_str_table[STR_ID_FOCUS_BREATHING][1]
mainmenu_tile_t mainmenu_tile[]=
{
[MAINMENU_TILE_ZERO] = {.window_obj = NULL, .col_id = 0, .row_id = 0, .dir = LV_DIR_HOR, .Init = init_tile_common}, // <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
[MAINMENU_TILE_ONE] = {.window_obj = NULL, .col_id = 1, .row_id = 0, .dir = LV_DIR_HOR, .Init = init_tile_common},
[MAINMENU_TILE_TWO] = {.window_obj = NULL, .col_id = 2, .row_id = 0, .dir = LV_DIR_HOR, .Init = init_tile_common},
};
#if 0
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* test_list[4] =
{
IMG_DM1_OIL,
IMG_DM1_TCS,
IMG_DM1_TEMP,
IMG_DM1_NULL,
};
#endif
uint32_t mainmenu_item_process(uint32_t dis_item_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM],
uint32_t *page_num, uint32_t *last_item_pos)
{
uint32_t mainmenu_item_sum = 0;
// calculate how many devices need display
for (uint8_t i = EQUIPMENT_ID_THEME; i < EQUIPMENT_ID_MAX; i++)
{
if (get_equipment_is_display(i))
mainmenu_item_sum++;
}
//mainmenu_item_sum++; // add device manage item
// calculate page_num according to mainmenu_item_sum
*page_num = mainmenu_item_sum / COMMON_PER_PAGE_NUM;
if (mainmenu_item_sum % COMMON_PER_PAGE_NUM != 0)
(*page_num)++;
// Store the device str_id to be displayed into an array in order
*last_item_pos = mainmenu_item_sum % COMMON_PER_PAGE_NUM;
get_display_equipment_str(dis_item_arr);
*last_item_pos == 0 ? (dis_item_arr[(*page_num) - 1][COMMON_PER_PAGE_NUM - 1] = STR_ID_RETURN) : (dis_item_arr[(*page_num) - 1][(*last_item_pos) - 1] = STR_ID_RETURN);
return mainmenu_item_sum;
}
void enter_mainmenu_win(lv_obj_t *parent)
{
lv_obj_t *mainmenu_win = lv_obj_create(parent);
lv_obj_set_style_bg_color(mainmenu_win, lv_color_make(0x00, 0x00, 0x00), 0);
lv_obj_set_scrollbar_mode(mainmenu_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(mainmenu_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_pad_all(mainmenu_win, 0, 0);
lv_obj_set_style_radius(mainmenu_win, 0, 0);
lv_obj_set_style_border_width(mainmenu_win, 0, LV_PART_MAIN);
// lv_obj_set_style_border_color(mainmenu_win, lv_color_black(), 0);
lv_obj_set_style_bg_color(mainmenu_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_clear_flag(mainmenu_win, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, mainmenu_win);
lv_obj_t *mainmenu_tile_win = lv_tileview_create(mainmenu_win);
lv_obj_set_style_bg_color(mainmenu_tile_win, lv_color_black(), 0);
lv_obj_clear_flag(mainmenu_tile_win, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_clear_flag(mainmenu_tile_win, LV_OBJ_FLAG_EVENT_BUBBLE);
lv_obj_set_scrollbar_mode(mainmenu_tile_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_scroll_dir(mainmenu_tile_win, LV_DIR_HOR);
lv_obj_clear_flag(mainmenu_tile_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_add_flag(mainmenu_tile_win, LV_OBJ_FLAG_SCROLL_MOMENTUM);
lv_obj_add_flag(mainmenu_tile_win, LV_OBJ_FLAG_SCROLL_ONE);
lv_obj_set_size(mainmenu_tile_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_radius(mainmenu_tile_win, 0, 0);
lv_obj_set_style_pad_all(mainmenu_tile_win, 0, 0);
lv_obj_set_style_border_width(mainmenu_tile_win, 0, LV_PART_MAIN);
// lv_obj_set_style_border_color(mainmenu_tile_win, lv_color_black(), 0);
lv_obj_set_style_bg_color(mainmenu_tile_win, lv_color_hex(0x5E5E5E), NULL);
uint32_t page_num = 3; // sum of mainmenu pages
uint32_t tile_item_count = 3; // number of items per page
uint32_t last_item_pos = 0;
uint8_t cal_check_page = 0;
// uint8_t cal_check_item = 0;
uint32_t dis_item_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM];
memset(dis_item_arr, 0, sizeof(dis_item_arr));
uint32_t btn_totalnum = mainmenu_item_process(dis_item_arr, &page_num, &last_item_pos);
printf("btn_totalnum = %d .\n",btn_totalnum);
printf("page_num = %d last_num = %d .\n",page_num,last_item_pos);
// Loop create tile
for (uint8_t i = MAINMENU_TILE_ZERO; i < page_num; i++)
{
// calculate number of items on the last page
if ((i == page_num - 1) && (last_item_pos))
tile_item_count = last_item_pos;
// add tile
mainmenu_tile[i].window_obj = lv_tileview_add_tile(mainmenu_tile_win, mainmenu_tile[i].col_id, mainmenu_tile[i].row_id, mainmenu_tile[i].dir);
if (i == cal_check_page)
((mainmenu_tile_t *)&mainmenu_tile[i])->Init(mainmenu_tile[i].window_obj, dis_item_arr[i], i, tile_item_count);
else
((mainmenu_tile_t *)&mainmenu_tile[i])->Init(mainmenu_tile[i].window_obj, dis_item_arr[i], i, tile_item_count);
}
lv_obj_set_tile_id(mainmenu_tile_win, mainmenu_tile[cal_check_page].col_id, mainmenu_tile[cal_check_page].row_id, LV_ANIM_ON);
lv_obj_add_event_cb(mainmenu_win, key_event_handler, LV_EVENT_KEY, NULL);
}
static void key_event_handler(lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t *mainmenu_win = lv_event_get_target(e);
lv_obj_t *mainmenu_tile_win = lv_obj_get_child(mainmenu_win, 0);
lv_obj_t *mainmenu_btn_win = lv_tileview_get_tile_act(mainmenu_tile_win); // get display tile
lv_obj_t *img_side = lv_obj_get_child(mainmenu_win, 1);
if (code == LV_EVENT_KEY)
{
uint32_t *key = lv_event_get_param(e);
uint8_t key_code = (uint8_t)*key;
uint32_t page_count = 0; // display tile index
uint32_t btn_count = 0; // checked item index
uint32_t page_num = 0; // sum of mainmenu pages
uint32_t last_item_pos = 0; // last item index of his page
uint32_t dis_item_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM];
memset(dis_item_arr, 0, sizeof(dis_item_arr));
uint32_t btn_totalnum = mainmenu_item_process(dis_item_arr, &page_num, &last_item_pos);
bool check = false;
// MAINMENU_ICON_ID_ENUM menu_id = MAINMENU_ICON_ID_MAX;
// ENUM_MAINMENU_ITEM_ID item_id = MAINMENU_ITEM_ID_MAX;
// uint8_t curItemState = 0;
// get focus item index
for (uint32_t i = 0; i < lv_obj_get_child_cnt(mainmenu_btn_win); i++)
{
lv_obj_t *child = lv_obj_get_child(mainmenu_btn_win, i);
if (lv_obj_has_state(child, LV_STATE_FOCUS_KEY))
btn_count = i;
}
lv_obj_t *mainmenu_button_cur = lv_obj_get_child(mainmenu_btn_win, btn_count); // get checked item obj
page_count = (uint32_t)lv_obj_get_child_id(mainmenu_btn_win); // get display tile index
check = lv_obj_get_child_cnt(mainmenu_btn_win) > 1 ? true : false;
switch (key_code)
{
case LV_KEY_Q:
lv_obj_clear_state(mainmenu_button_cur, LV_STATE_FOCUS_KEY);
if(btn_totalnum ==btn_count+1+page_count*3){//最后一个按钮
printf("2---------count = %d.\n",btn_count+1+page_count*3);
page_count =0;
btn_count =0;
lv_obj_t *tile_display = lv_obj_get_child(mainmenu_tile_win, page_count);
lv_obj_set_tile(mainmenu_tile_win, tile_display, LV_ANIM_ON);
mainmenu_btn_win = lv_tileview_get_tile_act(mainmenu_tile_win);
lv_obj_t *mainmenu_next_button = lv_obj_get_child(mainmenu_btn_win, btn_count);
lv_obj_add_state(mainmenu_next_button, LV_STATE_FOCUS_KEY);
printf("LV_KEY_Q page_count = %d ,btn_count = %d\n",page_count,btn_count);
break;
}
if(btn_count==2){
btn_count =0;
page_count++;
lv_obj_t *tile_display = lv_obj_get_child(mainmenu_tile_win, page_count);
lv_obj_set_tile(mainmenu_tile_win, tile_display, LV_ANIM_ON);
}else
btn_count++;
mainmenu_btn_win = lv_tileview_get_tile_act(mainmenu_tile_win);
lv_obj_t *mainmenu_next_button = lv_obj_get_child(mainmenu_btn_win, btn_count);
lv_obj_add_state(mainmenu_next_button, LV_STATE_FOCUS_KEY);
printf("LV_KEY_Q page_count = %d ,btn_count = %d\n",page_count,btn_count);
break;
case LV_KEY_W:
printf("LV_KEY_W page_count = %d ,btn_count = %d,",page_count,btn_count);
printf("count = %d.\n",btn_count+1+page_count*3);
// ENUM_MAINMENU_ITEM_ID item_id = get_mainmenu_item_id_by_strid(dis_item_arr[page_count][btn_count]);
// Set_check_menu_item(item_id);
close_all_win();
SubmenuBtnEnter(get_root_win(), page_count, btn_count);
break;
default:
// printf("other key:%d\r\n", key_code);
break;
}
}
}
void init_tile_common(lv_obj_t *mainmenu_btn_win, uint32_t str_arr[], uint8_t page_num, uint8_t cur_tile_item)
{
printf("page_num = %d, cur_tile_item = %d\n",page_num,cur_tile_item);
lv_obj_t *mainmenu_tile_win = lv_obj_get_parent(mainmenu_btn_win);
lv_obj_t *mainmenu_win = lv_obj_get_parent(mainmenu_tile_win);
lv_obj_t *img_side = lv_obj_get_child(mainmenu_win, 1);
uint32_t x1 = 0, y1 = 0, x2 = 0, y2 = 0;
uint32_t page_id = lv_obj_get_child_id(mainmenu_btn_win);
lv_obj_set_style_pad_all(mainmenu_btn_win, 0, 0);
lv_obj_set_style_opa(mainmenu_btn_win, LV_OPA_100, 0);
lv_obj_set_scrollbar_mode(mainmenu_btn_win, LV_SCROLLBAR_MODE_ACTIVE);
lv_obj_clear_flag(mainmenu_btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_set_size(mainmenu_btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_radius(mainmenu_btn_win, 0, 0);
lv_obj_set_style_bg_color(mainmenu_btn_win, lv_color_hex(0x7000BB), 0);
for (uint8_t i = 0; i < cur_tile_item; i++)
{
lv_obj_t *imgbtn = lv_btn_create(mainmenu_btn_win);
lv_obj_set_style_bg_opa(imgbtn, LV_OPA_0, 0);
uint32_t child_id = lv_obj_get_child_id(imgbtn);
switch (child_id)
{
case 0:
x1 = ICON_IMG_1_X;
x2 = ICON_RING_1_X;
break;
case 1:
x1 = ICON_IMG_2_X;
x2 = ICON_RING_2_X;
break;
default:
x1 = ICON_IMG_3_X;
x2 = ICON_RING_3_X;
break;
}
y1 = ICON_IMG_Y;
lv_obj_set_size(imgbtn, MAINMENU_ICON_WIDTH_UNCHECK, MAINMENU_ICON_HEIGHT_UNCHECK);
lv_obj_set_pos(imgbtn, x1, y1);
LAN_STR_ID str_id = (LAN_STR_ID)str_arr[i];
ENUM_EQUIPMENT_ID cur_menu_id = get_menu_iconid_by_strid(str_id);
if (cur_menu_id == MAINMENU_ICON_ID_MAX)
continue;
if(page_id == 0 && i==0){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
lv_obj_t * label = lv_label_create(imgbtn);
const LAN_STR_ID Str_id = get_equipment_is_str(cur_menu_id);
lv_label_set_text_fmt(label, "%s",lan_str_table[Str_id][1]);
lv_obj_center(label);
}
lv_obj_clear_flag(mainmenu_btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(mainmenu_btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
}
ENUM_MAINMENU_ITEM_ID Get_menu_btn_item(uint32_t btn_count){
switch(btn_count){
case 0:
break;
case 1:
break;
case 2:
break;
default:
break;
}
return MAINMENU_ITEM_ID_MAX;
}
ENUM_MAINMENU_ITEM_ID Get_menu_item(uint32_t page_count ,uint32_t btn_count){
switch(page_count){
case 0:
break;
case 1:
break;
case 2:
break;
default:
break;
}
return MAINMENU_ITEM_ID_MAX;
}
void SubmenuBtnEnter(lv_obj_t * scr_parent_main , uint32_t page_count ,uint32_t btn_count)
{
uint8_t mainmenu_item_sum = 0;
uint8_t page_num = 0;
uint8_t tile_item_count = COMMON_PER_PAGE_NUM;
lv_obj_t *submenu_win = lv_obj_create(scr_parent_main);
lv_obj_set_scrollbar_mode(submenu_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(submenu_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_pad_all(submenu_win, 0, 0);
lv_obj_set_style_radius(submenu_win, 0, 0);
lv_obj_set_style_border_width(submenu_win, 0, LV_PART_MAIN);
lv_obj_set_style_border_color(submenu_win, lv_color_black(), 0);
lv_obj_clear_flag(submenu_win, LV_OBJ_FLAG_SCROLLABLE);
// ENUM_MAINMENU_ITEM_ID page_type = Get_menu_item(page_count,btn_count);
// printf("SubmenuBtnEnter ====== page_count = %d ,btn_count = %d .page_type = %d\n",page_count,btn_count,page_type);
//
// uint32_t last_item_pos = mainmenu_item_sum % COMMON_PER_PAGE_NUM;
uint32_t dis_item_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM];
memset(dis_item_arr, 0, sizeof(dis_item_arr));
get_display_equipment_str(dis_item_arr);
// last_item_pos == 0 ? \
// (dis_item_arr[page_num-1][COMMON_PER_PAGE_NUM-1]=STR_ID_DEVICE_MANAGE) : \
// (dis_item_arr[page_num-1][last_item_pos-1]=STR_ID_DEVICE_MANAGE);
getDeviceEntryByStrId(dis_item_arr[page_count][btn_count]);
// printf("dis_item_arr = %d \n",dis_item_arr[page_count][btn_count]);
}
/**************************************************************************************/
static void scroll_begin_event(lv_event_t * e)
{
/*Disable the scroll animations. Triggered when a tab button is clicked */
if(lv_event_get_code(e) == LV_EVENT_SCROLL_BEGIN) {
lv_anim_t * a = lv_event_get_param(e);
if(a) a->time = 0;
}
}
static void scroll_event_cb(lv_event_t * e)
{
lv_obj_t * cont = lv_event_get_target(e);
lv_area_t cont_a;
lv_obj_get_coords(cont, &cont_a);
lv_coord_t cont_y_center = cont_a.y1 + lv_area_get_height(&cont_a) / 2;
lv_coord_t r = lv_obj_get_height(cont) * 7 / 10;
uint32_t i;
uint32_t child_cnt = lv_obj_get_child_cnt(cont);
for(i = 0; i < child_cnt; i++) {
lv_obj_t * child = lv_obj_get_child(cont, i);
lv_area_t child_a;
lv_obj_get_coords(child, &child_a);
lv_coord_t child_y_center = child_a.y1 + lv_area_get_height(&child_a) / 2;
lv_coord_t diff_y = child_y_center - cont_y_center;
diff_y = LV_ABS(diff_y);
/*Get the x of diff_y on a circle.*/
lv_coord_t x;
/*If diff_y is out of the circle use the last point of the circle (the radius)*/
if(diff_y >= r) {
x = r;
} else {
/*Use Pythagoras theorem to get x from radius and y*/
uint32_t x_sqr = r * r - diff_y * diff_y;
lv_sqrt_res_t res;
lv_sqrt(x_sqr, &res, 0x8000); /*Use lvgl's built in sqrt root function*/
x = r - res.i;
}
/*Translate the item by the calculated X coordinate*/
lv_obj_set_style_translate_x(child, x, 0);
/*Use some opacity with larger translations*/
lv_opa_t opa = lv_map(x, 0, r, LV_OPA_TRANSP, LV_OPA_COVER);
lv_obj_set_style_opa(child, LV_OPA_COVER - opa, 0);
}
}
void test(lv_obj_t* parent){
lv_obj_t *mainmenu_win = lv_obj_create(parent);
lv_obj_set_style_bg_color(mainmenu_win, lv_color_make(0x00, 0x00, 0x00), 0);
lv_obj_set_scrollbar_mode(mainmenu_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(mainmenu_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_pad_all(mainmenu_win, 0, 0);
lv_obj_set_style_radius(mainmenu_win, 0, 0);
lv_obj_set_style_border_width(mainmenu_win, 0, LV_PART_MAIN);
lv_obj_set_style_border_color(mainmenu_win, lv_color_black(), 0);
lv_obj_clear_flag(mainmenu_win, LV_OBJ_FLAG_SCROLLABLE);
// lv_obj_t *mainmenu_win = NULL;
// gui_create_new_window(mainmenu_win);
Set_UI_page_id(PAGE_MAINMENU_WIN_ID);
// app_menu_comm_entry(mainmenu_win,PAGE_MAINMENU_WIN_ID,false);
// #if !MMI_WIN32_SIM
// lv_group_t *g = lv_get_keypad_group();
// lv_group_remove_all_objs(g);
// lv_group_add_obj(g, mainmenu_win);
// #endif
uint8_t style_num =1;
lv_obj_t * cont = NULL;
lv_obj_t * cont_parent = NULL;
uint8_t i =0;
static lv_style_t style;
lv_obj_t *tabview;
switch(style_num){
case 0:
/*Create a Tab view object*/
tabview = lv_tabview_create(lv_scr_act(), LV_DIR_LEFT, 100);
lv_obj_add_event_cb(lv_tabview_get_content(tabview), scroll_begin_event, LV_EVENT_SCROLL_BEGIN, NULL);
lv_obj_set_style_bg_color(tabview, lv_palette_lighten(LV_PALETTE_RED, 2), 0);
lv_obj_t * tab_btns = lv_tabview_get_tab_btns(tabview);
lv_obj_set_style_bg_color(tab_btns, lv_palette_darken(LV_PALETTE_GREY, 3), 0);
lv_obj_set_style_text_color(tab_btns, lv_palette_lighten(LV_PALETTE_GREY, 5), 0);
lv_obj_set_style_border_side(tab_btns, LV_BORDER_SIDE_RIGHT, LV_PART_ITEMS | LV_STATE_CHECKED);
/*Add 3 tabs (the tabs are page (lv_page) and can be scrolled*/
lv_obj_t *tab1 = lv_tabview_add_tab(tabview, "Tab 1");
lv_obj_set_size(tab1, LV_PCT(100), LV_PCT(100));
lv_obj_t *tab2 = lv_tabview_add_tab(tabview, "Tab 2");
lv_obj_set_size(tab2, LV_PCT(100), LV_PCT(100));
lv_obj_t *tab3 = lv_tabview_add_tab(tabview, "Tab 3");
lv_obj_set_size(tab3, LV_PCT(100), LV_PCT(100));
lv_obj_t *tab4 = lv_tabview_add_tab(tabview, "Tab 4");
lv_obj_set_size(tab4, LV_PCT(100), LV_PCT(100));
lv_obj_t *tab5 = lv_tabview_add_tab(tabview, "Tab 5");
lv_obj_set_size(tab5, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_bg_color(tab2, lv_palette_lighten(LV_PALETTE_AMBER, 3), 0);
lv_obj_set_style_bg_opa(tab2, LV_OPA_COVER, 0);
/*Add content to the tabs*/
lv_obj_t * label = lv_label_create(tab1);
lv_label_set_text(label, "First tab 1111111111111111");
label = lv_label_create(tab2);
lv_label_set_text(label, "Second tab 2222222222222222");
label = lv_label_create(tab3);
lv_label_set_text(label, "Third tab 333333333333333333333");
label = lv_label_create(tab4);
lv_label_set_text(label, "Forth tab 444");
label = lv_label_create(tab5);
lv_label_set_text(label, "Fifth tab 5");
// lv_obj_clear_flag(lv_tabview_get_content(tabview), LV_OBJ_FLAG_SCROLLABLE);
// //横向按钮列表
// cont = lv_obj_create(mainmenu_win);
// lv_obj_set_size(cont, lv_pct(100), lv_pct(100));
// lv_obj_center(cont);
// lv_obj_set_flex_flow(cont, LV_FLEX_FLOW_ROW );
// lv_obj_add_event_cb(cont, scroll_event_cb, LV_EVENT_SCROLL, NULL);
// lv_obj_set_style_radius(cont, LV_RADIUS_CIRCLE, 0);//圆弧框
// lv_obj_set_style_clip_corner(cont, true, 0);//隐藏四个角落
// lv_obj_set_scroll_dir(cont, LV_DIR_VER);
// lv_obj_set_scroll_snap_y(cont, LV_SCROLL_SNAP_CENTER);
// lv_obj_set_scrollbar_mode(cont, LV_SCROLLBAR_MODE_OFF);
// lv_obj_clear_flag(cont, LV_OBJ_FLAG_SCROLLABLE);
//
// for(i = 0; i < 7; i++) {
// lv_obj_t * btn = lv_btn_create(cont);
// lv_obj_set_width(btn, 100);
// lv_obj_set_height(btn, lv_pct(70));
//
// lv_obj_t * label = lv_label_create(btn);
// lv_label_set_text_fmt(label, "%d", i);
// }
//
// lv_event_send(cont, LV_EVENT_SCROLL, NULL);
//
// lv_obj_scroll_to_view(lv_obj_get_child(cont, 0), LV_ANIM_OFF);
break;
case 1:
//弧形按钮列表
cont_parent = lv_obj_create(mainmenu_win);
lv_obj_set_size(cont_parent, 180, lv_pct(100));
lv_obj_align(cont_parent,LV_ALIGN_TOP_LEFT, 0, 0);
lv_obj_set_style_bg_color(cont_parent, lv_color_hex(0xff0000), 0);
lv_obj_clear_flag(cont_parent, LV_OBJ_FLAG_SCROLLABLE);
cont = lv_obj_create(cont_parent);
lv_obj_set_size(cont, 150, 150);
lv_obj_center(cont);
lv_obj_set_flex_flow(cont, LV_FLEX_FLOW_COLUMN);
lv_obj_add_event_cb(cont, scroll_event_cb, LV_EVENT_SCROLL, NULL);
lv_obj_set_style_radius(cont, LV_RADIUS_CIRCLE, 0);//圆弧框
lv_obj_set_style_clip_corner(cont, true, 0);//隐藏四个角落
lv_obj_set_scroll_dir(cont, LV_DIR_VER);
lv_obj_set_scroll_snap_y(cont, LV_SCROLL_SNAP_CENTER);
lv_obj_set_scrollbar_mode(cont, LV_SCROLLBAR_MODE_OFF);
lv_obj_clear_flag(cont, LV_OBJ_FLAG_SCROLLABLE);
for(i = 0; i < 7; i++) {
lv_obj_t * btn = lv_btn_create(cont);
lv_obj_set_width(btn, lv_pct(90));
lv_obj_set_height(btn, lv_pct(70));
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text_fmt(label, "%d", i);
}
lv_event_send(cont, LV_EVENT_SCROLL, NULL);
lv_obj_scroll_to_view(lv_obj_get_child(cont, 0), LV_ANIM_OFF);
break;
case 2:
//循环滚动列表
lv_style_init(&style);
lv_style_set_bg_color(&style, lv_color_black());
lv_style_set_text_color(&style, lv_color_hex(0x5e0000));
lv_style_set_border_width(&style, 0);
lv_style_set_pad_all(&style, 0);
lv_obj_add_style(mainmenu_win, &style, 0);
lv_obj_t *roller1 = lv_roller_create(mainmenu_win);
lv_obj_add_style(roller1, &style, 0);
// lv_obj_set_style_bg_opa(roller1, LV_OPA_TRANSP, LV_PART_SELECTED);
lv_roller_set_options(roller1,
"January\n"
"February\n"
"March\n"
"April\n"
"May\n"
"June\n"
"July\n"
"August\n"
"September\n"
"October\n"
"November\n"
"December",
LV_ROLLER_MODE_INFINITE);
lv_obj_center(roller1);
lv_roller_set_visible_row_count(roller1, 3);
break;
}
}

View File

@ -0,0 +1,287 @@
#include "lvgl.h"
#include "img_def.h"
#include "mxc_meter.h"
#include "list.h"
Local_UiCommon_t local_UiCommon = {0};
daily_data_t custom_data;
lv_coord_t child_id = 0;
daily_data_t *daily_get_UiData(void)
{
return &custom_data;
}
Local_UiCommon_t *local_get_UiCommon(void)
{
return &local_UiCommon;
}
ENUM_CONTROL_WIN_ID get_top_history_win(void) //get lastest win_id history record
{
// Local_UiCommon_t *local_common = local_get_UiCommon();
// for(uint8_t i=0; i<HISTORY_WIN_LEVEL;i++)
// {
// if(local_common->page_record[HISTORY_WIN_LEVEL-1-i].flag)
// {
// printf("get_top_history_win i: %d win_id %d \r\n",\
// HISTORY_WIN_LEVEL-1-i,local_common->page_record[HISTORY_WIN_LEVEL-1-i].win_id);
// return local_common->page_record[HISTORY_WIN_LEVEL-1-i].win_id;
// }
//
// }
return 0;
}
void Set_UI_page_id(ENUM_CONTROL_WIN_ID id)
{
printf("Set_UI_page_id: %d \r\n",id);
daily_get_UiData()->ui_page_id = id;
}
ENUM_CONTROL_WIN_ID Get_UI_page_id(void)
{
return daily_get_UiData()->ui_page_id;
}
lv_coord_t get_child_id()
{
return child_id;
}
void set_child_id(lv_coord_t id)
{
child_id = id;
}
void set_win_history_record(ENUM_CONTROL_WIN_ID page_id, uint32_t id)
{
Local_UiCommon_t *local_common = local_get_UiCommon();
for(uint8_t i=0; i<HISTORY_WIN_LEVEL;i++)
{
if(false==local_common->page_record[i].flag)
{
local_common->page_record[i].flag=true;
local_common->page_record[i].win_id=page_id;
local_common->page_record[i].index=id;
return;
}
}
}
uint32_t get_win_history_record(ENUM_CONTROL_WIN_ID page_id)
{
Local_UiCommon_t *local_common = local_get_UiCommon();
uint32_t id=0xff;
for(uint8_t i=0; i<HISTORY_WIN_LEVEL;i++)
{
if(local_common->page_record[HISTORY_WIN_LEVEL-1-i].flag
&& (uint8_t)page_id== local_common->page_record[HISTORY_WIN_LEVEL-1-i].win_id)
{
id=local_common->page_record[HISTORY_WIN_LEVEL-1-i].index;
set_child_id(id);
return id;
}
}
set_child_id(id);
return id;
}
bool get_win_history_record_flag(ENUM_CONTROL_WIN_ID page_id)
{
Local_UiCommon_t *local_common = local_get_UiCommon();
bool flag=false;
uint8_t id=0;
for(uint8_t i=0; i<HISTORY_WIN_LEVEL;i++)
{
if((uint8_t)page_id== local_common->page_record[HISTORY_WIN_LEVEL-1-i].win_id)
{
flag=local_common->page_record[HISTORY_WIN_LEVEL-1-i].flag;
return flag;
}
}
return flag;
}
void app_menu_comm_entry(lv_obj_t * obj, ENUM_CONTROL_WIN_ID win_id, bool register_encode)
{
Set_UI_page_id(win_id); //set win id
if(get_win_history_record_flag(win_id))
{
set_child_id(get_win_history_record(win_id)); //get record
}
else {
set_win_history_record( win_id, 0);
set_child_id(0);
}
// if(register_encode){
// do_register_obj_encode_group(obj);
// }else{
// do_unregister_encode_group();
// }
}
//<2F><><EFBFBD>ݳ<EFBFBD>ʼ<EFBFBD><CABC>
void system_date_init(void)
{
custom_data.softwar_host = 0;
custom_data.softwar_order = 1;
custom_data.save_info.language = 0;
custom_data.save_info.display_uint = 0;
custom_data.save_info.theme = 0;
custom_data.save_info.theme_state = 1;
custom_data.save_info.light_value = 3;
custom_data.save_info.bt_on_off = 1;
custom_data.save_info.bt_state = 0;
custom_data.veer = 0;
custom_data.veer_hint = 0;
custom_data.lamplight = 0;
custom_data.power_on_self_test =0;
if(custom_data.light_perception_value == 0)
custom_data.light_perception_value=44;
custom_data.light = 5;
custom_data.return_demo = 0;
//<2F>ٶ<EFBFBD> ת<><D7AA>
custom_data.velocity = 0;
custom_data.veer_velocity = 0;
custom_data.grade = 0;
custom_data.oil = 0;
custom_data.temp = 0;
custom_data.trip_mileage = 0;
custom_data.total_mileage = 0;
custom_data.voltage =0;
custom_data.warning.engine = 0;
custom_data.warning.machine_oil = 0;
custom_data.warning.abs = 0;
custom_data.warning.tcs = 0;
custom_data.warning.fan = 0;
custom_data.warning.null = 0;
custom_data.now_defect_code = 0x2255;
custom_data.his_defect_code = 0x400;
custom_data.ttrb = 0;
custom_data.ttrb_time = 10;
custom_data.odo_reset = 10;
custom_data.demo_position = 0;
custom_data.plan = 0;
custom_data.pace = 0;
custom_data.upgrade = 0;
}
void updateCurTime()
{
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
struct tm CurTime={0};
_getsystime(&CurTime);
custom_data.time.ucDate = CurTime.tm_mday;
custom_data.time.ucYear = CurTime.tm_year;
custom_data.time.ucMonth = CurTime.tm_mon;
custom_data.time.ucHour = CurTime.tm_hour;
custom_data.time.ucMinute = CurTime.tm_min;
custom_data.time.ucSecond = CurTime.tm_sec;
}
stTime_type * getCurrentTime(){
updateCurTime();
return &(custom_data.time);
}
daily_data_t* GetDailyData(void)
{
return &custom_data;
}
const char digitalArray[10] = "0123456789";
static char sCurTime[6] = {0};
extern stTime_type * getCurrentTime();
char * GetCurTimeString(){
updateCurTime();
sCurTime[0] = digitalArray[custom_data.time.ucHour/10];
sCurTime[1] = digitalArray[custom_data.time.ucHour%10];
sCurTime[2] =':';
sCurTime[3] = digitalArray[custom_data.time.ucMinute/10];
sCurTime[4] = digitalArray[custom_data.time.ucMinute%10];
return sCurTime;
}
#define DEF_DATE_YEAR 2024
#define DEF_DATE_MONTH 2
#define DEF_DATE_DAY 3
void InitSysDateTime(void)
{
GetSysDateTime(DEF_DATE_YEAR, DEF_DATE_MONTH, DEF_DATE_DAY);
}
void GetSysDateTime(uint16_t year, uint8_t month, uint8_t day)
{
custom_data.time.ucYear = year;
custom_data.time.ucMonth = month;
custom_data.time.ucDate= day;
custom_data.time.ucHour=5;
custom_data.time.ucMinute=59;
custom_data.time.ucSecond=50 ;
}
void UpdateSysTime(void)
{
bool time_12_is_am=false;
if(++custom_data.time.ucSecond>=60)
{
custom_data.time.ucSecond = 0;
if(++custom_data.time.ucMinute>=60)
{
custom_data.time.ucMinute = 0;
if(++custom_data.time.ucHour>=12)
{
if(time_12_is_am)
{
custom_data.time.ucDate++;
time_12_is_am=0;
}else{
time_12_is_am=1;
}
custom_data.time.ucHour = 0;
}
}
}
//UpdatePace();
printf("%04d-%d%d-%d%d %d%d:%d%d.%d%d\n",
custom_data.time.ucYear,custom_data.time.ucMonth/10,custom_data.time.ucMonth%10,
custom_data.time.ucDate/10,custom_data.time.ucDate%10,
custom_data.time.ucHour/10,custom_data.time.ucHour%10,
custom_data.time.ucMinute/10,custom_data.time.ucMinute%10,
custom_data.time.ucSecond/10,custom_data.time.ucSecond%10);
}

View File

@ -0,0 +1,82 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
#include "mxc_meter.h"
#include "setting.h"
#include "language_table.h"
void enter_theme_win(lv_obj_t *parent)
{
lv_obj_t *theme_main_win = lv_obj_create(parent);
lv_obj_set_style_pad_all(theme_main_win, 0, 0);
lv_obj_set_style_border_width(theme_main_win, 0, 0);
lv_obj_set_style_opa(theme_main_win, LV_OPA_100, 0);
lv_obj_set_size(theme_main_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_radius(theme_main_win, 0, 0);
// lv_obj_set_style_bg_color(theme_main_win, lv_color_black(), 0);
lv_obj_set_style_bg_color(theme_main_win, lv_color_make(0xff, 0x00, 0x00), 0);
lv_obj_clear_flag(theme_main_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(theme_main_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
app_menu_comm_entry(theme_main_win, SUBMENU_SET_THEME, false);
}
void enter_light_win(lv_obj_t *parent)
{
lv_obj_t *light_main_win = lv_obj_create(parent);
lv_obj_set_style_pad_all(light_main_win, 0, 0);
lv_obj_set_style_border_width(light_main_win, 0, 0);
lv_obj_set_style_opa(light_main_win, LV_OPA_100, 0);
lv_obj_set_size(light_main_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_radius(light_main_win, 0, 0);
// lv_obj_set_style_bg_color(light_main_win, lv_color_black(), 0);
lv_obj_set_style_bg_color(light_main_win, lv_color_make(0x00, 0xff, 0x00), 0);
lv_obj_clear_flag(light_main_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(light_main_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
app_menu_comm_entry(light_main_win, SUBMENU_SET_LIGHT, false);
}
void enter_bt_win(lv_obj_t *parent)
{
lv_obj_t *bt_main_win = lv_obj_create(parent);
lv_obj_set_style_pad_all(bt_main_win, 0, 0);
lv_obj_set_style_border_width(bt_main_win, 0, 0);
lv_obj_set_style_opa(bt_main_win, LV_OPA_100, 0);
lv_obj_set_size(bt_main_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_radius(bt_main_win, 0, 0);
// lv_obj_set_style_bg_color(bt_main_win, lv_color_black(), 0);
lv_obj_set_style_bg_color(bt_main_win, lv_color_make(0x00, 0xff, 0x00), 0);
lv_obj_clear_flag(bt_main_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(bt_main_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
app_menu_comm_entry(bt_main_win, SUBMENU_SET_BLUETOOTH, false);
}
//void enter_bt_win(lv_obj_t *parent)
//{
// lv_obj_t *bt_main_win = lv_obj_create(parent);
// lv_obj_set_style_pad_all(bt_main_win, 0, 0);
// lv_obj_set_style_border_width(bt_main_win, 0, 0);
// lv_obj_set_style_opa(bt_main_win, LV_OPA_100, 0);
// lv_obj_set_size(bt_main_win, LV_PCT(100), LV_PCT(100));
// lv_obj_set_style_radius(bt_main_win, 0, 0);
//// lv_obj_set_style_bg_color(bt_main_win, lv_color_black(), 0);
// lv_obj_set_style_bg_color(bt_main_win, lv_color_make(0x00, 0xff, 0x00), 0);
//
// lv_obj_clear_flag(bt_main_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
// lv_obj_clear_flag(bt_main_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
//
// app_menu_comm_entry(bt_main_win, SUBMENU_SET_BLUETOOTH, false);
//
//
//}

View File

@ -0,0 +1,775 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
#include "mxc_meter.h"
#include "list.h"
#include "language_table.h"
#include "img_basic.h"
#include "lan_str_table.h"
#include "stdio.h"
#include "stdlib.h"
#define PAGEBTN_COUNT1 1 //bt switching
#define PAGEBTN_COUNT2 2 //theme setting
#define PAGEBTN_COUNT3 3 //other setting
lv_obj_t * src_win()
{
lv_obj_t * scr_parent_main = get_root_win();
lv_obj_t * submenu_win = lv_obj_create(scr_parent_main);
lv_obj_set_scrollbar_mode(submenu_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(submenu_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_pad_all(submenu_win, 0, 0);
lv_obj_set_style_radius(submenu_win, 0, 0);
lv_obj_set_style_border_width(submenu_win, 0, LV_PART_MAIN);
lv_obj_set_style_border_color(submenu_win, lv_color_black(), 0);
// lv_obj_set_style_bg_color(submenu_win, lv_color_black(), 0);
lv_obj_set_style_bg_color(submenu_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_clear_flag(submenu_win, LV_OBJ_FLAG_SCROLLABLE);
return submenu_win;
}
/*
liulin 2024.2.28
点击事件相应函数
按键Q:按钮之间切换选择
按键W:进入当前按钮选择的子界面(也可以理解为亮度切换等级)
*/
static int lightcounter = 0; //用于计算按钮点击
static void key_event_handler(lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t *btn_win = lv_event_get_target(e);
//lv_obj_t *btn = lv_obj_get_child(mainmenu_win, 0);
if (code == LV_EVENT_KEY)
{
uint32_t *key = lv_event_get_param(e);
uint8_t key_code = (uint8_t)*key;
uint32_t btn_num = 0; // checked item index
// uint32_t page_count = 0; // display tile index
// uint32_t btn_num = 0; // checked item index
// uint32_t page_num = 0; // sum of mainmenu pages
// uint32_t last_item_pos = 0; // last item index of his page
// uint32_t dis_item_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM];
// memset(dis_item_arr, 0, sizeof(dis_item_arr));
// uint32_t btn_totalnum = mainmenu_item_process(dis_item_arr, &page_num, &last_item_pos);
//
// bool check = false;
// MAINMENU_ICON_ID_ENUM menu_id = MAINMENU_ICON_ID_MAX;
// ENUM_MAINMENU_ITEM_ID item_id = MAINMENU_ITEM_ID_MAX;
// uint8_t curItemState = 0;
uint8_t win_child_num = lv_obj_get_child_cnt(btn_win);
// get focus item index
for (uint32_t i = 0; i < win_child_num; i++)
{
lv_obj_t *child = lv_obj_get_child(btn_win, i);
if (lv_obj_has_state(child, LV_STATE_FOCUS_KEY))
{
btn_num = i;
}
}
lv_obj_t *button_cur = lv_obj_get_child(btn_win, btn_num); // get checked item obj
switch (key_code)
{
case LV_KEY_Q:
printf("LV_KEY_Q ===>btn_num = %d .\n",btn_num);
lv_obj_clear_state(button_cur, LV_STATE_FOCUS_KEY);
btn_num++;
if(btn_num == win_child_num)
{
btn_num=0;
}
lv_obj_t *button_next = lv_obj_get_child(btn_win, btn_num); // get checked item obj
lv_obj_add_state(button_next, LV_STATE_FOCUS_KEY);
if(btn_num == win_child_num-1)
{
lv_obj_set_style_bg_opa(button_next, LV_OPA_100, 0);
}
else
{
lv_obj_t *button_next = lv_obj_get_child(btn_win, win_child_num-1);
lv_obj_set_style_bg_opa(button_next, LV_OPA_0, 0);
}
break;
case LV_KEY_W:
switch(Get_UI_page_id())
{
case SUBMENU_SET_THEME:
if(btn_num == 0)
{
printf("ENTER theme select.\n");
close_all_win();
theme_select_create();
}
else if(btn_num == 1)
{
printf("ENTER theme bg seletc.\n");
close_all_win();
theme_bg_create();
}
else
{
printf("RETURN list.\n");
close_all_win();
enter_mainmenu_win(get_root_win());
}
break;
case SUBMENU_SET_LIGHT:
if(btn_num == 0)
{
printf("ENTER light select.\n");
/*liulin 2024.2.28 增加亮度调节事件处理*/
lightcounter++;
printf("lightcounter = %d\n", lightcounter);
//light_select(lightcounter);
}
else
{
printf("RETURN list.\n");
close_all_win();
enter_mainmenu_win(get_root_win());
}
break;
case SUBMENU_SET_BLUETOOTH:
if(btn_num == 0)
{
printf("ENTER bt switch.\n");
}
else
{
printf("RETURN list.\n");
close_all_win();
enter_mainmenu_win(get_root_win());
}
break;
case SUBMENU_SET_OTHER:
if(btn_num == 0)
{
printf("ENTER time setting.\n");
}
else if(btn_num == 1)
{
printf("ENTER langguage setting .\n");
}
else if(btn_num == 2)
{
printf("ENTER unit setting.\n");
}
else
{
printf("RETURN list.\n");
close_all_win();
enter_mainmenu_win(get_root_win());
}
break;
case SUBMENU_SET_INFORMATION:
printf("INFORMATION RETURN list.\n");
close_all_win();
enter_mainmenu_win(get_root_win());
break;
case SUBMENU_SET_PRESSURE:
if(btn_num == 0)
{
// printf("Front tire pressure .\n");
// }else if(btn_num == 1){
// printf("Rear tire pressure .\n");
// }else{
printf("RETURN list .\n");
close_all_win();
enter_mainmenu_win(get_root_win());
}
break;
case SUBMENU_SET_FAULT_CODE:
printf("FAULT_CODE RETURN list .\n");
close_all_win();
enter_mainmenu_win(get_root_win());
break;
case SUBMENU_THEME_SELECT:
if(btn_num == 0)
{
printf("THEME_SELECT 1.\n");
}
else if(btn_num == 1)
{
printf("THEME_SELECT 2 .\n");
}else if(btn_num == 2)
{
printf("THEME_SELECT 3 .\n");
}
else
{
printf("RETURN theme .\n");
}
close_all_win();
theme_create();
break;
case SUBMENU_THEME_BG:
if(btn_num == 0)
{
printf("THEME_BG 1.\n");
}else if(btn_num == 1)
{
printf("THEME_BG 2 .\n");
}else if(btn_num == 2)
{
printf("THEME_BG 3 .\n");
}else
{
printf("RETURN theme .\n");
}
close_all_win();
theme_create();
break;
default:
break;
}
break;
default:
break;
}
}
}
static void batch_btn_creat(lv_obj_t *btn_win ,int win_btn_count)
{
for(uint8_t i=0; i<win_btn_count; i++)
{
lv_obj_t * btn = lv_btn_create(btn_win);
lv_obj_set_size(btn, 270, 70);
lv_obj_set_style_bg_opa(btn, LV_OPA_0, 0);
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text_fmt(label, "BTN%d >",i);
lv_obj_align(label, LV_ALIGN_LEFT_MID, 0, 0);
if(i==0)
{
lv_obj_add_state(btn, LV_STATE_FOCUS_KEY);
lv_obj_align(btn, LV_ALIGN_TOP_MID, -10, -5);
if(win_btn_count==PAGEBTN_COUNT2)
{
lv_obj_align(btn, LV_ALIGN_TOP_MID, -10, 30); }
}
else
{
lv_obj_t * back_btn = lv_obj_get_child(btn_win, i-1);
lv_obj_align_to(btn,back_btn, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
}
}
}
//返回按钮功能
static void batch_return_btn(lv_obj_t *btn_win )
{
lv_obj_t * return_btn = lv_btn_create(btn_win);
lv_obj_set_size(return_btn, 90, 50);
lv_obj_set_style_bg_color(return_btn, lv_color_hex(0x02BC2E), NULL);
lv_obj_set_style_bg_opa(return_btn, LV_OPA_0, 0);
lv_obj_align(return_btn, LV_ALIGN_BOTTOM_RIGHT, 0, 0);
lv_obj_t * return_label = lv_label_create(return_btn);
lv_obj_set_style_text_font(return_label, LV_FONT_MXC_WRYH_CT_16PX, 0);
lv_label_set_text(return_label, "return");
lv_obj_align(return_label, LV_ALIGN_LEFT_MID, 0, 0);
}
//样式创建
void theme_create()
{
printf("enter theme_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
batch_btn_creat(btn_win,PAGEBTN_COUNT2);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_SET_THEME, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
void theme_select_create()
{
printf("enter theme_select_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
lv_obj_t * btn = lv_btn_create(btn_win);
lv_obj_set_size(btn, 150, 100);
lv_obj_set_style_bg_opa(btn, LV_OPA_0, 0);
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text(label, "SELECT1");
lv_obj_align(label, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_add_state(btn, LV_STATE_FOCUS_KEY);
lv_obj_align(btn, LV_ALIGN_TOP_LEFT, 30, 10);
lv_obj_t * btn2 = lv_btn_create(btn_win);
lv_obj_set_size(btn2, 150, 100);
lv_obj_set_style_bg_opa(btn2, LV_OPA_0, 0);
lv_obj_t * label2 = lv_label_create(btn2);
lv_label_set_text(label2, "SELECT2");
lv_obj_align(label2, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_align(btn2, LV_ALIGN_TOP_RIGHT, -30, 10);
lv_obj_t * btn3 = lv_btn_create(btn_win);
lv_obj_set_size(btn3, 150, 100);
lv_obj_set_style_bg_opa(btn3, LV_OPA_0, 0);
lv_obj_t * label3 = lv_label_create(btn3);
lv_label_set_text(label3, "SELECT3");
lv_obj_align(label3, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_align(btn3, LV_ALIGN_CENTER, 0, 60);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_THEME_SELECT, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
void theme_bg_create()
{
printf("enter theme_bg_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
lv_obj_t * btn = lv_btn_create(btn_win);
lv_obj_set_size(btn, 150, 100);
lv_obj_set_style_bg_opa(btn, LV_OPA_0, 0);
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text(label, "SELECT1");
lv_obj_align(label, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_add_state(btn, LV_STATE_FOCUS_KEY);
lv_obj_align(btn, LV_ALIGN_TOP_LEFT, 30, 10);
lv_obj_t * btn2 = lv_btn_create(btn_win);
lv_obj_set_size(btn2, 150, 100);
lv_obj_set_style_bg_opa(btn2, LV_OPA_0, 0);
lv_obj_t * label2 = lv_label_create(btn2);
lv_label_set_text(label2, "SELECT2");
lv_obj_align(label2, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_align(btn2, LV_ALIGN_TOP_RIGHT, -30, 10);
lv_obj_t * btn3 = lv_btn_create(btn_win);
lv_obj_set_size(btn3, 150, 100);
lv_obj_set_style_bg_opa(btn3, LV_OPA_0, 0);
lv_obj_t * label3 = lv_label_create(btn3);
lv_label_set_text(label3, "SELECT3");
lv_obj_align(label3, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_align(btn3, LV_ALIGN_CENTER, 0, 60);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_THEME_BG, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
//亮度调节
void light_create()
{
printf("enter light_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
lv_obj_t * btn = lv_btn_create(btn_win);
lv_obj_set_size(btn, 300, 150);
lv_obj_set_style_bg_opa(btn, LV_OPA_0, 0);
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text(label, "SELECT1");
lv_obj_align(label, LV_ALIGN_BOTTOM_MID, 0, 10);
lv_obj_add_state(btn, LV_STATE_FOCUS_KEY);
lv_obj_align(btn, LV_ALIGN_CENTER, 0, -10);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_SET_LIGHT, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
/*
// 增加亮度调节背景
// 加载图片
lv_obj_t* pPanel_light_Img = lv_img_big_create(submenu_win, panel_light_group1_src, 0, 0, 2, 0);
// 获取图片的宽度和高度
lv_coord_t img_w = lv_obj_get_width(pPanel_light_Img);
lv_coord_t img_h = lv_obj_get_height(pPanel_light_Img);
// 计算屏幕的宽度和高度
lv_coord_t scr_w = lv_obj_get_width(submenu_win);
lv_coord_t scr_h = lv_obj_get_height(submenu_win);
// 计算图片的左上角坐标
lv_coord_t img_x = (scr_w - img_w) / 2;
lv_coord_t img_y = (scr_h - img_h) / 2;
// 将图片移动到新的坐标
lv_obj_set_pos(pPanel_light_Img, img_x, img_y);
*/
//设置成主窗口大小
//lv_obj_set_size(pPanel_light_Img, LV_PCT(100), LV_PCT(100));
//lv_obj_align(pPanel_light_Img, LV_ALIGN_CENTER, 0, 0);
}
#if 0
//亮度选择接口
void light_select(int counter)
{
printf("light_select!\n");
printf("button w push:");
printf("counter = %d\n", counter);
lv_obj_t* submenu_win = src_win(); //获取子菜单窗口
lv_obj_t* pPanel_light_Img = NULL; //定义图片指针
//lv_img_cache_invalidate_src(NULL); //将缓存全部清除
int flag = counter%6;
//lv_mem_free(submenu_win->user_data);
//lv_mem_free(submenu_win->user_data);
switch(flag)
{
case 0:
{
// 加载图片
pPanel_light_Img = lv_img_big_create(submenu_win, panel_light_group1_src, 0, 0, 2, 0);
// 获取图片的宽度和高度
lv_coord_t img_w = lv_obj_get_width(pPanel_light_Img);
lv_coord_t img_h = lv_obj_get_height(pPanel_light_Img);
// 计算屏幕的宽度和高度
lv_coord_t scr_w = lv_obj_get_width(submenu_win);
lv_coord_t scr_h = lv_obj_get_height(submenu_win);
// 计算图片的左上角坐标
lv_coord_t img_x = (scr_w - img_w) / 2;
lv_coord_t img_y = (scr_h - img_h) / 2;
// 将图片移动到新的坐标
lv_obj_set_pos(pPanel_light_Img, img_x, img_y);
//lv_img_cache_invalidate_src(panel_light_group1_src);
//lv_img_buf_free(panel_light_group1_src);
break;
}
case 1:
{
// 加载图片
pPanel_light_Img = lv_img_big_create(submenu_win, panel_light_group2_src, 0, 0, 2, 0);
// 获取图片的宽度和高度
lv_coord_t img_w = lv_obj_get_width(pPanel_light_Img);
lv_coord_t img_h = lv_obj_get_height(pPanel_light_Img);
// 计算屏幕的宽度和高度
lv_coord_t scr_w = lv_obj_get_width(submenu_win);
lv_coord_t scr_h = lv_obj_get_height(submenu_win);
// 计算图片的左上角坐标
lv_coord_t img_x = (scr_w - img_w) / 2;
lv_coord_t img_y = (scr_h - img_h) / 2;
// 将图片移动到新的坐标
lv_obj_set_pos(pPanel_light_Img, img_x, img_y);
//lv_img_cache_invalidate_src(panel_light_group2_src);
//lv_img_buf_free(panel_light_group2_src);
break;
}
case 2:
{
// 加载图片
pPanel_light_Img = lv_img_big_create(submenu_win, panel_light_group3_src, 0, 0, 2, 0);
// 获取图片的宽度和高度
lv_coord_t img_w = lv_obj_get_width(pPanel_light_Img);
lv_coord_t img_h = lv_obj_get_height(pPanel_light_Img);
// 计算屏幕的宽度和高度
lv_coord_t scr_w = lv_obj_get_width(submenu_win);
lv_coord_t scr_h = lv_obj_get_height(submenu_win);
// 计算图片的左上角坐标
lv_coord_t img_x = (scr_w - img_w) / 2;
lv_coord_t img_y = (scr_h - img_h) / 2;
// 将图片移动到新的坐标
lv_obj_set_pos(pPanel_light_Img, img_x, img_y);
//lv_img_cache_invalidate_src(panel_light_group3_src);
//lv_img_buf_free(panel_light_group3_src);
break;
}
case 3:
{
// 加载图片
pPanel_light_Img = lv_img_big_create(submenu_win, panel_light_group4_src, 0, 0, 2, 0);
// 获取图片的宽度和高度
lv_coord_t img_w = lv_obj_get_width(pPanel_light_Img);
lv_coord_t img_h = lv_obj_get_height(pPanel_light_Img);
// 计算屏幕的宽度和高度
lv_coord_t scr_w = lv_obj_get_width(submenu_win);
lv_coord_t scr_h = lv_obj_get_height(submenu_win);
// 计算图片的左上角坐标
lv_coord_t img_x = (scr_w - img_w) / 2;
lv_coord_t img_y = (scr_h - img_h) / 2;
// 将图片移动到新的坐标
lv_obj_set_pos(pPanel_light_Img, img_x, img_y);
//lv_img_cache_invalidate_src(panel_light_group4_src);
//lv_img_buf_free(panel_light_group4_src);
break;
}
case 4:
{
// 加载图片
pPanel_light_Img = lv_img_big_create(submenu_win, panel_light_group5_src, 0, 0, 2, 0);
// 获取图片的宽度和高度
lv_coord_t img_w = lv_obj_get_width(pPanel_light_Img);
lv_coord_t img_h = lv_obj_get_height(pPanel_light_Img);
// 计算屏幕的宽度和高度
lv_coord_t scr_w = lv_obj_get_width(submenu_win);
lv_coord_t scr_h = lv_obj_get_height(submenu_win);
// 计算图片的左上角坐标
lv_coord_t img_x = (scr_w - img_w) / 2;
lv_coord_t img_y = (scr_h - img_h) / 2;
// 将图片移动到新的坐标
lv_obj_set_pos(pPanel_light_Img, img_x, img_y);
//lv_img_cache_invalidate_src(panel_light_group5_src);
// lv_img_buf_free(panel_light_group5_src);
break;
}
default:
{
pPanel_light_Img = lv_img_big_create(submenu_win, panel_light_group6_src, 0, 0, 2, 0);
// 获取图片的宽度和高度
lv_coord_t img_w = lv_obj_get_width(pPanel_light_Img);
lv_coord_t img_h = lv_obj_get_height(pPanel_light_Img);
// 计算屏幕的宽度和高度
lv_coord_t scr_w = lv_obj_get_width(submenu_win);
lv_coord_t scr_h = lv_obj_get_height(submenu_win);
// 计算图片的左上角坐标
lv_coord_t img_x = (scr_w - img_w) / 2;
lv_coord_t img_y = (scr_h - img_h) / 2;
// 将图片移动到新的坐标
lv_obj_set_pos(pPanel_light_Img, img_x, img_y);
//lv_img_cache_invalidate_src(panel_light_group6_src);
//lv_img_buf_free(panel_light_group6_src);
printf("light auto set, select finish!:");
break;
}
}
}
#endif
void bluetooth_create()
{
printf("enter bluetooth_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
lv_obj_t * btn = lv_btn_create(btn_win);
lv_obj_set_size(btn, 220, 70);
lv_obj_set_style_bg_opa(btn, LV_OPA_0, 0);
lv_obj_t * bt_switch = lv_switch_create(btn);
lv_obj_align(bt_switch, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text(label, "BT");
lv_obj_align(label, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_add_state(btn, LV_STATE_FOCUS_KEY);
lv_obj_align(btn, LV_ALIGN_CENTER, 0, -10);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_SET_BLUETOOTH, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
void other_create()
{
printf("enter other_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
batch_btn_creat(btn_win,PAGEBTN_COUNT3);
lv_obj_t *child = lv_obj_get_child(btn_win, 1);
lv_obj_t *child_label = lv_obj_get_child(child, 0);
lv_label_set_text_fmt(child_label, "Language");
child = lv_obj_get_child(btn_win, 2);
child_label = lv_obj_get_child(child, 0);
lv_label_set_text_fmt(child_label, "unit");
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_SET_OTHER, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
void information_create()
{
printf("enter information_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_SET_INFORMATION, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
void pressure_create()
{
printf("enter pressure_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_SET_PRESSURE, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
void fault_code_create()
{
printf("enter fault_code_create\n");
lv_obj_t * submenu_win = src_win();
lv_obj_t * btn_win = lv_obj_create(submenu_win);
lv_obj_set_scrollbar_mode(btn_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_size(btn_win, LV_PCT(100), LV_PCT(100));
lv_obj_align(btn_win, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLLABLE );
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_SCROLL_ELASTIC);
lv_obj_clear_flag(btn_win, LV_OBJ_FLAG_GESTURE_BUBBLE);
lv_obj_set_style_bg_color(btn_win, lv_color_hex(0x5E5E5E), NULL);
lv_obj_set_style_border_width(btn_win, 0, LV_PART_MAIN);
batch_return_btn(btn_win);
app_menu_comm_entry(btn_win, SUBMENU_SET_FAULT_CODE, false);
//按键组
lv_obj_t *demo_group = get_key_group();
lv_group_add_obj(demo_group, btn_win);
lv_obj_add_event_cb(btn_win, key_event_handler, LV_EVENT_KEY, NULL);
}
void demo_return()
{
printf("enter demo_return\n");
//lv_demo(get_root_win(),NULL);
}

View File

@ -0,0 +1,44 @@
#include "lv_examples.h"
#if LV_BUILD_EXAMPLES && LV_USE_FLEX
static void event_cb(lv_event_t * e)
{
/*The original target of the event. Can be the buttons or the container*/
lv_obj_t * target = lv_event_get_target(e);
/*The current target is always the container as the event is added to it*/
lv_obj_t * cont = lv_event_get_current_target(e);
/*If container was clicked do nothing*/
if(target == cont) return;
/*Make the clicked buttons red*/
lv_obj_set_style_bg_color(target, lv_palette_main(LV_PALETTE_RED), 0);
}
/**
* Demonstrate event bubbling
*/
void lv_example_event_3(void)
{
lv_obj_t * cont = lv_obj_create(lv_scr_act());
lv_obj_set_size(cont, 290, 200);
lv_obj_center(cont);
lv_obj_set_flex_flow(cont, LV_FLEX_FLOW_ROW_WRAP);
uint32_t i;
for(i = 0; i < 30; i++) {
lv_obj_t * btn = lv_btn_create(cont);
lv_obj_set_size(btn, 80, 50);
lv_obj_add_flag(btn, LV_OBJ_FLAG_EVENT_BUBBLE);
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text_fmt(label, "%d", i);
lv_obj_center(label);
}
lv_obj_add_event_cb(cont, event_cb, LV_EVENT_CLICKED, NULL);
}
#endif

View File

@ -0,0 +1,69 @@
#include "lvgl.h"
#include "img_def.h"
#include "img_basic.h"
void lv_img_big_disp(lv_obj_t* parent, const lv_img_dsc_t **src, lv_coord_t x,lv_coord_t y, uint8_t img_num, uint8_t start)
{
lv_obj_t *cont1 = lv_obj_create(parent);
lv_obj_remove_style_all(cont1);
lv_obj_clear_flag(cont1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_set_scrollbar_mode(cont1, LV_SCROLLBAR_MODE_OFF);
//lv_obj_set_size(cont1,LV_PCT(100),LV_PCT(100));
lv_obj_set_style_bg_color(cont1,lv_color_black(),0);
lv_obj_set_size(cont1, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_align(cont1, LV_ALIGN_TOP_LEFT, x, y);
lv_obj_t *old_obj = NULL;
for (uint8_t i = 0; i < img_num; i++)
{
lv_obj_t *img1 = lv_img_create(cont1);
lv_img_set_src(img1,src[start+i]);
if(i == 0)
lv_obj_set_pos(img1,0,0);
else
lv_obj_align_to(img1, old_obj, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 0);
old_obj = img1;
}
lv_obj_clear_flag(cont1,LV_OBJ_FLAG_CLICKABLE);
}
lv_obj_t* lv_img_big_create(lv_obj_t* parent, const lv_img_dsc_t **src , lv_coord_t x, lv_coord_t y,uint8_t img_num,uint8_t start)
{
lv_obj_t *cont1 = lv_obj_create(parent);
lv_obj_remove_style_all(cont1);
lv_obj_clear_flag(cont1, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_set_scrollbar_mode(cont1, LV_SCROLLBAR_MODE_OFF);
//lv_obj_set_size(cont1,LV_PCT(100),LV_PCT(100));
lv_obj_set_style_bg_color(cont1, lv_color_black(), 0);
lv_obj_set_size(cont1, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_align(cont1, LV_ALIGN_TOP_LEFT, x, y);
lv_obj_t *old_obj = NULL;
for(uint8_t i = 0; i < img_num; i++)
{
lv_obj_t *img1 = lv_img_create(cont1);
lv_img_set_src(img1, src[start+i]);
if(i == 0)
lv_obj_set_pos(img1, 0, 0);
else
lv_obj_align_to(img1, old_obj, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 0);
old_obj = img1;
}
//lv_obj_clear_flag(cont1,LV_OBJ_FLAG_CLICKABLE);
return cont1;
}
//liulin 2024.2.29 增加销毁img创建接口,功能待实现
void lv_img_big_free(lv_obj_t* pObj)
{
if(pObj == NULL)
{
printf("free img obj pointer is NULL, return\n");
return;
}
//lv_img_buf_free(panel_light_group1_src);
//lv_mem_free(pObj->user_data);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,78 @@
/*
* @Description:
* @version: acbd
* @Author: joe
* @Date: 2022-01-21 21:22:45
* @LastEditTime: 2022-08-03 10:18:17
*/
#include "lvgl/lvgl.h"
#include <stdio.h>
#include <string.h>
uint8_t read_img_data[10*1024*1024] = {0};
uint8_t my_font_data[2*1024*1024];
lv_font_t *my_font_name;
void user_read_img_init(void)
{
FILE * fp;
uint32_t lSize;
fp = fopen ("lv_user_code/resource/img.hex", "rb");
if(fp != NULL)
{
fseek(fp,0,SEEK_END);
lSize = ftell(fp);
printf("lSize:%x\r\n",lSize);
rewind(fp);
fread(read_img_data,1,lSize,fp);
}
else
{
printf("open img file fail!!\r\n");
}
fclose(fp);
}
/**
* @description: 读取字体数据放至read_font_data全局变量中
* @param {*}
* @return {*}
*/
void user_read_font_init(void)
{
FILE * fp;
uint32_t lSize;
fp = fopen ("lv_user_code/UI_app_I7L/fr5080_font_bin_xip.bin", "rb");
if(fp != NULL)
{
fseek(fp,0,SEEK_END);
lSize = ftell(fp);
printf("lSize:%x\r\n",lSize);
rewind(fp);
fread(my_font_data,1,lSize,fp);
my_font_name->get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt;
my_font_name->get_glyph_bitmap = lv_font_get_bitmap_fmt_txt;
my_font_name->line_height = 16;
my_font_name->base_line = 3;
my_font_name->subpx = LV_FONT_SUBPX_NONE,
my_font_name->user_data = my_font_data;
}
else
{
printf("open font file fail!!\r\n");
}
fclose(fp);
}

View File

@ -0,0 +1,182 @@
/*******************************************************************************
* Size: 10 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_CT_BPP4_10PX
#define MXC_WRYH_CT_BPP4_10PX 1
#endif
#if MXC_WRYH_CT_BPP4_10PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x5, 0xee, 0x80, 0x1f, 0xb8, 0xf5, 0x7f, 0x20,
0xfa, 0x9f, 0x0, 0xdc, 0x9f, 0x0, 0xdb, 0x7f,
0x20, 0xf9, 0x2f, 0xa8, 0xf4, 0x6, 0xef, 0x80,
/* U+0031 "1" */
0x0, 0x3, 0x0, 0x1c, 0xff, 0x0, 0x1a, 0xbf,
0x0, 0x0, 0x8f, 0x0, 0x0, 0x8f, 0x0, 0x0,
0x8f, 0x0, 0x0, 0x8f, 0x0, 0x5, 0xbf, 0x63,
0x1f, 0xff, 0xfa,
/* U+0032 "2" */
0x9, 0xef, 0xa0, 0x1c, 0x79, 0xf6, 0x0, 0x1,
0xf8, 0x0, 0x6, 0xf3, 0x0, 0x4f, 0x80, 0x4,
0xf8, 0x0, 0x3f, 0xd7, 0x73, 0x6f, 0xff, 0xf8,
/* U+0033 "3" */
0xb, 0xfe, 0x80, 0x7, 0x5a, 0xf3, 0x0, 0x18,
0xf2, 0x7, 0xff, 0x60, 0x1, 0x4a, 0xf3, 0x0,
0x1, 0xf8, 0x38, 0x5a, 0xf4, 0x2d, 0xfe, 0x70,
/* U+0034 "4" */
0x0, 0xe, 0xf0, 0x0, 0x8f, 0xf0, 0x2, 0xf9,
0xf0, 0xc, 0x77, 0xf0, 0x6d, 0x7, 0xf0, 0xcf,
0xff, 0xfe, 0x23, 0x39, 0xf2, 0x0, 0x7, 0xf0,
/* U+0035 "5" */
0xe, 0xff, 0xf3, 0xe, 0xa6, 0x61, 0xe, 0x70,
0x0, 0xe, 0xff, 0xa0, 0x4, 0x49, 0xf6, 0x0,
0x1, 0xf7, 0x18, 0x5a, 0xf3, 0x1d, 0xfd, 0x60,
/* U+0036 "6" */
0x1, 0xaf, 0xf3, 0xb, 0xf7, 0x62, 0x2f, 0x60,
0x0, 0x5f, 0xaf, 0xd2, 0x7f, 0x95, 0xfa, 0x5f,
0x30, 0xcc, 0x1f, 0xb6, 0xf8, 0x4, 0xdf, 0xa0,
/* U+0037 "7" */
0x8f, 0xff, 0xfb, 0x36, 0x67, 0xf7, 0x0, 0x6,
0xf1, 0x0, 0xc, 0xb0, 0x0, 0x3f, 0x50, 0x0,
0xae, 0x0, 0x1, 0xf9, 0x0, 0x7, 0xf3, 0x0,
/* U+0038 "8" */
0x7, 0xef, 0xa0, 0x3f, 0x96, 0xf7, 0x3f, 0x52,
0xf6, 0x8, 0xfe, 0xa0, 0x1d, 0x98, 0xe3, 0x7f,
0x0, 0xca, 0x6f, 0x75, 0xf9, 0x9, 0xee, 0xa1,
/* U+0039 "9" */
0x7, 0xee, 0x70, 0x4f, 0x99, 0xf3, 0x8f, 0x0,
0xf8, 0x7f, 0x43, 0xfa, 0x1d, 0xfe, 0xf9, 0x0,
0x21, 0xf6, 0x16, 0x5c, 0xe0, 0x1e, 0xfc, 0x30,
/* U+00B7 "·" */
0x2f, 0xdd, 0xdf, 0x12, 0xa0, 0x0, 0xb1, 0x2a,
0x0, 0xb, 0x12, 0xa0, 0x0, 0xb1, 0x2a, 0x0,
0xb, 0x12, 0xa0, 0x0, 0xb1, 0x2a, 0x0, 0xb,
0x12, 0xfd, 0xdd, 0xf1
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 24, .adv_w = 99, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 51, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 75, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 99, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 123, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 147, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 171, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 195, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 219, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 243, .adv_w = 112, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 10, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 1, .glyph_id_start = 11,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_CT_bpp4_10px = {
#else
lv_font_t MXC_WRYH_CT_bpp4_10px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 9, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
.fallback = NULL,
.user_data = NULL
};
#endif /*#if MXC_WRYH_CT_BPP4_10PX*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,280 @@
/*******************************************************************************
* Size: 20 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_CT_BPP4_20PX
#define MXC_WRYH_CT_BPP4_20PX 1
#endif
#if MXC_WRYH_CT_BPP4_20PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x3, 0xae, 0xfe, 0x91, 0x0, 0x0, 0x5f,
0xff, 0xff, 0xfe, 0x10, 0x1, 0xff, 0xfa, 0x7e,
0xff, 0xa0, 0x9, 0xff, 0xa0, 0x4, 0xff, 0xf1,
0xe, 0xff, 0x40, 0x0, 0xef, 0xf5, 0x1f, 0xff,
0x10, 0x0, 0xbf, 0xf7, 0x2f, 0xff, 0x0, 0x0,
0xaf, 0xf9, 0x3f, 0xff, 0x0, 0x0, 0x9f, 0xf9,
0x3f, 0xff, 0x0, 0x0, 0xaf, 0xf8, 0x2f, 0xff,
0x0, 0x0, 0xbf, 0xf7, 0xf, 0xff, 0x30, 0x0,
0xef, 0xf4, 0xb, 0xff, 0x90, 0x4, 0xff, 0xe0,
0x4, 0xff, 0xf9, 0x7e, 0xff, 0x70, 0x0, 0x9f,
0xff, 0xff, 0xfb, 0x0, 0x0, 0x6, 0xcf, 0xfd,
0x70, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x25, 0x8c,
0xff, 0x10, 0x0, 0x4f, 0xff, 0xff, 0xf1, 0x0,
0x4, 0xff, 0xff, 0xff, 0x10, 0x0, 0x26, 0x31,
0xff, 0xf1, 0x0, 0x0, 0x0, 0xf, 0xff, 0x10,
0x0, 0x0, 0x0, 0xff, 0xf1, 0x0, 0x0, 0x0,
0xf, 0xff, 0x10, 0x0, 0x0, 0x0, 0xff, 0xf1,
0x0, 0x0, 0x0, 0xf, 0xff, 0x10, 0x0, 0x0,
0x0, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xf, 0xff,
0x10, 0x0, 0x0, 0x0, 0xff, 0xf1, 0x0, 0x1,
0x88, 0x8f, 0xff, 0x88, 0x81, 0x3f, 0xff, 0xff,
0xff, 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xf3,
/* U+0032 "2" */
0x1, 0x8c, 0xff, 0xea, 0x20, 0x1, 0xff, 0xff,
0xff, 0xff, 0x30, 0x2f, 0xfa, 0x8a, 0xff, 0xfc,
0x1, 0x91, 0x0, 0x5, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x1f, 0xff, 0x10, 0x0, 0x0, 0x3, 0xff,
0xe0, 0x0, 0x0, 0x0, 0xbf, 0xf7, 0x0, 0x0,
0x0, 0x8f, 0xfc, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x20, 0x0, 0x0, 0x9f, 0xfd, 0x20, 0x0, 0x0,
0xaf, 0xfc, 0x10, 0x0, 0x0, 0xbf, 0xfb, 0x0,
0x0, 0x0, 0xbf, 0xff, 0xaa, 0xaa, 0xaa, 0xd,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xdf, 0xff, 0xff,
0xff, 0xff, 0x0,
/* U+0033 "3" */
0x4, 0xad, 0xfe, 0xc6, 0x0, 0x0, 0xef, 0xff,
0xff, 0xfc, 0x0, 0xe, 0xb7, 0x7b, 0xff, 0xf6,
0x0, 0x10, 0x0, 0xc, 0xff, 0x90, 0x0, 0x0,
0x0, 0xaf, 0xf7, 0x0, 0x0, 0x1, 0x7f, 0xfe,
0x10, 0x0, 0xef, 0xff, 0xfb, 0x20, 0x0, 0xe,
0xff, 0xff, 0xa3, 0x0, 0x0, 0x66, 0x8c, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x8, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x3f, 0xff, 0x2, 0x0, 0x0, 0x7,
0xff, 0xf0, 0x7e, 0x97, 0x7a, 0xff, 0xf9, 0x7,
0xff, 0xff, 0xff, 0xfc, 0x0, 0x29, 0xde, 0xfe,
0xb6, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0, 0x0,
0x3, 0xff, 0xfe, 0x0, 0x0, 0x0, 0xc, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x7f, 0xef, 0xfe, 0x0,
0x0, 0x2, 0xff, 0x6f, 0xfe, 0x0, 0x0, 0xb,
0xfc, 0xf, 0xfe, 0x0, 0x0, 0x6f, 0xf2, 0xf,
0xfe, 0x0, 0x1, 0xef, 0x70, 0xf, 0xfe, 0x0,
0xa, 0xfd, 0x0, 0xf, 0xfe, 0x0, 0x4f, 0xf7,
0x44, 0x4f, 0xff, 0x43, 0x9f, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0,
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xf,
0xfe, 0x0,
/* U+0035 "5" */
0xd, 0xff, 0xff, 0xff, 0xf6, 0x0, 0xdf, 0xff,
0xff, 0xff, 0x60, 0xd, 0xff, 0x99, 0x99, 0x93,
0x0, 0xdf, 0xe0, 0x0, 0x0, 0x0, 0xd, 0xfe,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xe6, 0x64, 0x0,
0x0, 0xd, 0xff, 0xff, 0xff, 0x60, 0x0, 0xdf,
0xff, 0xff, 0xff, 0x60, 0x1, 0x0, 0x15, 0xef,
0xfd, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x2f, 0xff, 0x1, 0x0, 0x0, 0x8,
0xff, 0xe0, 0x4f, 0xa7, 0x7b, 0xff, 0xf7, 0x4,
0xff, 0xff, 0xff, 0xf9, 0x0, 0x19, 0xde, 0xfe,
0xb4, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x2, 0x9d, 0xff, 0xd5, 0x0, 0x5, 0xff,
0xff, 0xff, 0x90, 0x4, 0xff, 0xfb, 0x77, 0x97,
0x0, 0xdf, 0xf6, 0x0, 0x0, 0x0, 0x4f, 0xfa,
0x0, 0x0, 0x0, 0x9, 0xff, 0x57, 0xdf, 0xd7,
0x0, 0xcf, 0xfc, 0xff, 0xff, 0xf9, 0xe, 0xff,
0xf9, 0x6a, 0xff, 0xf2, 0xef, 0xfa, 0x0, 0xc,
0xff, 0x7d, 0xff, 0x50, 0x0, 0x8f, 0xf9, 0xbf,
0xf6, 0x0, 0x9, 0xff, 0x86, 0xff, 0xc0, 0x0,
0xdf, 0xf5, 0xe, 0xff, 0xb7, 0xcf, 0xfd, 0x0,
0x4f, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x2a, 0xef,
0xe9, 0x10, 0x0,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xf6, 0x99, 0x99, 0x99, 0x9f, 0xff,
0x0, 0x0, 0x0, 0x4, 0xff, 0x90, 0x0, 0x0,
0x0, 0xbf, 0xf3, 0x0, 0x0, 0x0, 0x2f, 0xfd,
0x0, 0x0, 0x0, 0x9, 0xff, 0x60, 0x0, 0x0,
0x1, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x7f, 0xfa,
0x0, 0x0, 0x0, 0xe, 0xff, 0x30, 0x0, 0x0,
0x5, 0xff, 0xd0, 0x0, 0x0, 0x0, 0xcf, 0xf6,
0x0, 0x0, 0x0, 0x3f, 0xff, 0x10, 0x0, 0x0,
0xa, 0xff, 0xa0, 0x0, 0x0, 0x1, 0xff, 0xf3,
0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x5, 0xcf, 0xfd, 0x92, 0x0, 0x0, 0xaf,
0xff, 0xff, 0xff, 0x40, 0x5, 0xff, 0xf7, 0x5b,
0xff, 0xe0, 0x9, 0xff, 0x70, 0x0, 0xff, 0xf0,
0x8, 0xff, 0x70, 0x0, 0xff, 0xe0, 0x2, 0xff,
0xf5, 0x1b, 0xff, 0x70, 0x0, 0x4e, 0xff, 0xff,
0xf7, 0x0, 0x0, 0x19, 0xff, 0xff, 0xb3, 0x0,
0x2, 0xef, 0xf6, 0x5d, 0xff, 0x60, 0xb, 0xff,
0x40, 0x0, 0xdf, 0xf2, 0xf, 0xfe, 0x0, 0x0,
0x8f, 0xf6, 0x1f, 0xff, 0x10, 0x0, 0xbf, 0xf6,
0xd, 0xff, 0xd6, 0x5a, 0xff, 0xf2, 0x3, 0xff,
0xff, 0xff, 0xff, 0x60, 0x0, 0x19, 0xdf, 0xfd,
0x93, 0x0,
/* U+0039 "9" */
0x0, 0x6, 0xcf, 0xfc, 0x60, 0x0, 0x0, 0xbf,
0xff, 0xff, 0xfa, 0x0, 0x8, 0xff, 0xf8, 0x8f,
0xff, 0x60, 0xe, 0xff, 0x40, 0x4, 0xff, 0xd0,
0x1f, 0xff, 0x0, 0x0, 0xef, 0xf2, 0x1f, 0xff,
0x10, 0x0, 0xef, 0xf4, 0xe, 0xff, 0xa1, 0x19,
0xff, 0xf5, 0x6, 0xff, 0xff, 0xff, 0xff, 0xf5,
0x0, 0x7f, 0xff, 0xf9, 0xcf, 0xf4, 0x0, 0x1,
0x45, 0x20, 0xef, 0xf1, 0x0, 0x0, 0x0, 0x2,
0xff, 0xd0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x70,
0x4, 0xd8, 0x68, 0xdf, 0xfd, 0x0, 0x4, 0xff,
0xff, 0xff, 0xd1, 0x0, 0x2, 0xae, 0xff, 0xc7,
0x0, 0x0,
/* U+003A ":" */
0x6, 0xed, 0x30, 0xff, 0xfa, 0xb, 0xff, 0x60,
0x4, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4, 0x20, 0xb, 0xff, 0x60, 0xff,
0xfa, 0x6, 0xfd, 0x30,
/* U+00B7 "·" */
0x4f, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x4f, 0xb8,
0x88, 0x88, 0x8b, 0xf3, 0x4f, 0x50, 0x0, 0x0,
0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3,
0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50,
0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0,
0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3,
0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50,
0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0,
0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3,
0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3, 0x4f, 0xb8,
0x88, 0x88, 0x8b, 0xf3, 0x4f, 0xff, 0xff, 0xff,
0xff, 0xf3
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 90, .adv_w = 197, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 178, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 261, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 344, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 434, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 517, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 600, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 683, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 773, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 863, .adv_w = 91, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 891, .adv_w = 223, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 11, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 1, .glyph_id_start = 12,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_CT_bpp4_20px = {
#else
lv_font_t MXC_WRYH_CT_bpp4_20px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 16, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
.fallback = NULL,
.user_data = NULL
};
#endif /*#if MXC_WRYH_CT_BPP4_20PX*/

View File

@ -0,0 +1,292 @@
/*******************************************************************************
* Size: 22 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_CT_BPP4_22PX
#define MXC_WRYH_CT_BPP4_22PX 1
#endif
#if MXC_WRYH_CT_BPP4_22PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x0, 0x7d, 0xff, 0xd7, 0x0, 0x0, 0x1,
0xdf, 0xff, 0xff, 0xfd, 0x10, 0x0, 0xcf, 0xff,
0xbc, 0xff, 0xfa, 0x0, 0x5f, 0xff, 0x50, 0xa,
0xff, 0xf1, 0xa, 0xff, 0xc0, 0x0, 0x3f, 0xff,
0x60, 0xef, 0xf8, 0x0, 0x0, 0xff, 0xf9, 0xf,
0xff, 0x60, 0x0, 0xd, 0xff, 0xb1, 0xff, 0xf5,
0x0, 0x0, 0xcf, 0xfb, 0x2f, 0xff, 0x50, 0x0,
0xc, 0xff, 0xb1, 0xff, 0xf6, 0x0, 0x0, 0xdf,
0xfa, 0xf, 0xff, 0x80, 0x0, 0xf, 0xff, 0x80,
0xcf, 0xfc, 0x0, 0x3, 0xff, 0xf4, 0x7, 0xff,
0xf4, 0x0, 0xaf, 0xfe, 0x0, 0x1f, 0xff, 0xfa,
0xcf, 0xff, 0x60, 0x0, 0x4f, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x29, 0xef, 0xeb, 0x50, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x2, 0x68, 0x0, 0x0, 0x5, 0x9c,
0xff, 0xfe, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xfe,
0x0, 0x0, 0x2f, 0xff, 0xef, 0xfe, 0x0, 0x0,
0x17, 0x30, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xfe, 0x0, 0x0, 0xb, 0xbb, 0xdf, 0xff,
0xbb, 0xb4, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf5,
0xf, 0xff, 0xff, 0xff, 0xff, 0xf5,
/* U+0032 "2" */
0x0, 0x5a, 0xef, 0xfd, 0x81, 0x0, 0xc, 0xff,
0xff, 0xff, 0xfe, 0x30, 0xf, 0xff, 0xdc, 0xff,
0xff, 0xd0, 0xd, 0x70, 0x0, 0xb, 0xff, 0xf2,
0x1, 0x0, 0x0, 0x5, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x5, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xb,
0xff, 0xb0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x30,
0x0, 0x0, 0x6, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x7f, 0xff, 0x60, 0x0, 0x0, 0x9, 0xff, 0xf5,
0x0, 0x0, 0x0, 0xaf, 0xfe, 0x30, 0x0, 0x0,
0x1c, 0xff, 0xd2, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xee, 0xee, 0xee, 0xe1, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xf1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf1,
/* U+0033 "3" */
0x2, 0x8c, 0xef, 0xdb, 0x50, 0x0, 0xa, 0xff,
0xff, 0xff, 0xfc, 0x0, 0xa, 0xfc, 0xab, 0xff,
0xff, 0x70, 0x3, 0x0, 0x0, 0x2f, 0xff, 0xa0,
0x0, 0x0, 0x0, 0xe, 0xff, 0x80, 0x0, 0x0,
0x3, 0xaf, 0xff, 0x10, 0x0, 0x9f, 0xff, 0xff,
0xc2, 0x0, 0x0, 0x9f, 0xff, 0xfd, 0x71, 0x0,
0x0, 0x5a, 0xbd, 0xff, 0xfe, 0x30, 0x0, 0x0,
0x0, 0x3e, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf2,
0x35, 0x0, 0x0, 0x1e, 0xff, 0xe0, 0x4f, 0xeb,
0xab, 0xff, 0xff, 0x80, 0x4f, 0xff, 0xff, 0xff,
0xf9, 0x0, 0x6, 0xce, 0xff, 0xda, 0x30, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0xd, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x4,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0xef, 0xdf,
0xfe, 0x0, 0x0, 0x0, 0x9f, 0xf6, 0xff, 0xe0,
0x0, 0x0, 0x4f, 0xf6, 0x4f, 0xfe, 0x0, 0x0,
0x1e, 0xfb, 0x4, 0xff, 0xe0, 0x0, 0xa, 0xff,
0x10, 0x4f, 0xfe, 0x0, 0x5, 0xff, 0x60, 0x4,
0xff, 0xe0, 0x1, 0xef, 0xb0, 0x0, 0x4f, 0xfe,
0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x47, 0x77,
0x77, 0x79, 0xff, 0xf7, 0x60, 0x0, 0x0, 0x0,
0x4f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xfe, 0x0,
/* U+0035 "5" */
0xa, 0xff, 0xff, 0xff, 0xff, 0x70, 0xa, 0xff,
0xff, 0xff, 0xff, 0x70, 0xa, 0xff, 0xed, 0xdd,
0xdd, 0x50, 0xa, 0xff, 0x50, 0x0, 0x0, 0x0,
0xa, 0xff, 0x50, 0x0, 0x0, 0x0, 0xa, 0xff,
0xba, 0x96, 0x10, 0x0, 0xa, 0xff, 0xff, 0xff,
0xf7, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0x60,
0x1, 0x10, 0x2, 0x8f, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x5,
0xff, 0xf3, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf1,
0x16, 0x0, 0x0, 0x3f, 0xff, 0xd0, 0x1f, 0xeb,
0xac, 0xff, 0xff, 0x40, 0x1f, 0xff, 0xff, 0xff,
0xf6, 0x0, 0x7, 0xce, 0xff, 0xd9, 0x20, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x5b, 0xef, 0xfd, 0x60, 0x0, 0x1c,
0xff, 0xff, 0xff, 0x90, 0x0, 0xcf, 0xff, 0xda,
0xbd, 0x90, 0x8, 0xff, 0xe4, 0x0, 0x0, 0x0,
0xf, 0xff, 0x40, 0x0, 0x0, 0x0, 0x5f, 0xfc,
0x2a, 0xef, 0xd6, 0x0, 0x9f, 0xfc, 0xef, 0xff,
0xff, 0x80, 0xbf, 0xff, 0xfa, 0xae, 0xff, 0xf3,
0xcf, 0xff, 0x40, 0x2, 0xff, 0xf8, 0xcf, 0xfd,
0x0, 0x0, 0xbf, 0xfb, 0xbf, 0xfc, 0x0, 0x0,
0xaf, 0xfb, 0x7f, 0xfe, 0x0, 0x0, 0xcf, 0xf9,
0x2f, 0xff, 0x70, 0x4, 0xff, 0xf5, 0xa, 0xff,
0xfc, 0xbf, 0xff, 0xc0, 0x1, 0xcf, 0xff, 0xff,
0xfd, 0x20, 0x0, 0x7, 0xcf, 0xfd, 0x70, 0x0,
/* U+0037 "7" */
0xef, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xef, 0xff,
0xff, 0xff, 0xff, 0xf8, 0xbd, 0xdd, 0xdd, 0xdd,
0xff, 0xf3, 0x0, 0x0, 0x0, 0x6, 0xff, 0xc0,
0x0, 0x0, 0x0, 0xd, 0xff, 0x50, 0x0, 0x0,
0x0, 0x4f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xf8, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf2, 0x0,
0x0, 0x0, 0xa, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x1f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x0, 0x0, 0x0, 0x0, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x7, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xe,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x30,
0x0, 0x0, 0x0, 0xcf, 0xfd, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x2, 0x9d, 0xff, 0xd8, 0x10, 0x0, 0x6,
0xff, 0xff, 0xff, 0xff, 0x30, 0x2, 0xff, 0xfe,
0x89, 0xff, 0xfe, 0x0, 0x7f, 0xfe, 0x10, 0x4,
0xff, 0xf2, 0x7, 0xff, 0xd0, 0x0, 0x2f, 0xff,
0x10, 0x3f, 0xff, 0x50, 0xa, 0xff, 0xb0, 0x0,
0x7f, 0xff, 0xbd, 0xff, 0xd1, 0x0, 0x0, 0x3e,
0xff, 0xff, 0x90, 0x0, 0x0, 0x4d, 0xff, 0xad,
0xff, 0xb1, 0x0, 0x3f, 0xfe, 0x30, 0x8, 0xff,
0xd0, 0xc, 0xff, 0x70, 0x0, 0xd, 0xff, 0x60,
0xff, 0xf4, 0x0, 0x0, 0xbf, 0xf9, 0xf, 0xff,
0xa0, 0x0, 0x1e, 0xff, 0x80, 0x9f, 0xff, 0xc8,
0x9e, 0xff, 0xf2, 0x1, 0xcf, 0xff, 0xff, 0xff,
0xf6, 0x0, 0x0, 0x6b, 0xef, 0xfd, 0x82, 0x0,
/* U+0039 "9" */
0x0, 0x3, 0xae, 0xfe, 0xb4, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x4, 0xff, 0xfe,
0xbd, 0xff, 0xf5, 0x0, 0xcf, 0xfd, 0x10, 0xa,
0xff, 0xd0, 0xf, 0xff, 0x60, 0x0, 0x2f, 0xff,
0x20, 0xff, 0xf6, 0x0, 0x1, 0xff, 0xf5, 0xe,
0xff, 0xc0, 0x0, 0x7f, 0xff, 0x70, 0x9f, 0xff,
0xd9, 0xbf, 0xff, 0xf7, 0x0, 0xdf, 0xff, 0xff,
0xde, 0xff, 0x60, 0x0, 0x8d, 0xfe, 0x91, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x10,
0x0, 0x0, 0x0, 0x9, 0xff, 0xc0, 0x0, 0x20,
0x0, 0x6, 0xff, 0xf5, 0x0, 0x2f, 0xda, 0xad,
0xff, 0xfb, 0x0, 0x2, 0xff, 0xff, 0xff, 0xfb,
0x0, 0x0, 0x8, 0xde, 0xfe, 0xa5, 0x0, 0x0,
/* U+003A ":" */
0x4d, 0xe7, 0xd, 0xff, 0xf1, 0xbf, 0xfe, 0x1,
0x88, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x17, 0x82, 0xb, 0xff,
0xe0, 0xdf, 0xff, 0x14, 0xee, 0x70,
/* U+00B7 "·" */
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x61, 0xfe,
0xbb, 0xbb, 0xbb, 0xbc, 0xf6, 0x1f, 0xa0, 0x0,
0x0, 0x0, 0x4f, 0x61, 0xfa, 0x0, 0x0, 0x0,
0x4, 0xf6, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x4f,
0x61, 0xfa, 0x0, 0x0, 0x0, 0x4, 0xf6, 0x1f,
0xa0, 0x0, 0x0, 0x0, 0x4f, 0x61, 0xfa, 0x0,
0x0, 0x0, 0x4, 0xf6, 0x1f, 0xa0, 0x0, 0x0,
0x0, 0x4f, 0x61, 0xfa, 0x0, 0x0, 0x0, 0x4,
0xf6, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x4f, 0x61,
0xfa, 0x0, 0x0, 0x0, 0x4, 0xf6, 0x1f, 0xa0,
0x0, 0x0, 0x0, 0x4f, 0x61, 0xfa, 0x0, 0x0,
0x0, 0x4, 0xf6, 0x1f, 0xeb, 0xbb, 0xbb, 0xbb,
0xcf, 0x61, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 104, .adv_w = 217, .box_w = 12, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 206, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 302, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 398, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 502, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 598, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 694, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 790, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 894, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 998, .adv_w = 101, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1028, .adv_w = 245, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 11, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 1, .glyph_id_start = 12,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_CT_bpp4_22px = {
#else
lv_font_t MXC_WRYH_CT_bpp4_22px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 17, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
.fallback = NULL,
.user_data = NULL
};
#endif /*#if MXC_WRYH_CT_BPP4_22PX*/

View File

@ -0,0 +1,413 @@
/*******************************************************************************
* Size: 30 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_CT_BPP4_30PX
#define MXC_WRYH_CT_BPP4_30PX 1
#endif
#if MXC_WRYH_CT_BPP4_30PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x0, 0x6, 0xbe, 0xfe, 0xc7, 0x10, 0x0,
0x0, 0x0, 0x4e, 0xff, 0xff, 0xff, 0xfe, 0x30,
0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
0x30, 0x0, 0xe, 0xff, 0xff, 0xec, 0xff, 0xff,
0xfc, 0x0, 0x7, 0xff, 0xff, 0x90, 0x1, 0xdf,
0xff, 0xf4, 0x0, 0xef, 0xff, 0xe0, 0x0, 0x5,
0xff, 0xff, 0xa0, 0x3f, 0xff, 0xf8, 0x0, 0x0,
0xf, 0xff, 0xfe, 0x7, 0xff, 0xff, 0x40, 0x0,
0x0, 0xbf, 0xff, 0xf1, 0x9f, 0xff, 0xf2, 0x0,
0x0, 0x9, 0xff, 0xff, 0x3b, 0xff, 0xff, 0x0,
0x0, 0x0, 0x7f, 0xff, 0xf5, 0xcf, 0xff, 0xf0,
0x0, 0x0, 0x7, 0xff, 0xff, 0x5d, 0xff, 0xff,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0xdf, 0xff,
0xf0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x5c, 0xff,
0xff, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf4, 0xbf,
0xff, 0xf1, 0x0, 0x0, 0x9, 0xff, 0xff, 0x29,
0xff, 0xff, 0x30, 0x0, 0x0, 0xbf, 0xff, 0xf0,
0x6f, 0xff, 0xf7, 0x0, 0x0, 0xf, 0xff, 0xfc,
0x1, 0xff, 0xff, 0xd0, 0x0, 0x5, 0xff, 0xff,
0x70, 0xc, 0xff, 0xff, 0x80, 0x2, 0xef, 0xff,
0xf1, 0x0, 0x4f, 0xff, 0xff, 0xdc, 0xff, 0xff,
0xf8, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff,
0xfc, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff,
0xfb, 0x10, 0x0, 0x0, 0x0, 0x39, 0xdf, 0xfd,
0xa4, 0x0, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x1, 0x48, 0x10, 0x0, 0x0,
0x0, 0x36, 0xad, 0xff, 0xf2, 0x0, 0x0, 0x4c,
0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x7, 0xff,
0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x7f, 0xff,
0xff, 0xff, 0xff, 0x20, 0x0, 0x7, 0xfe, 0xb7,
0xbf, 0xff, 0xf2, 0x0, 0x0, 0x22, 0x0, 0x9,
0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x20, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x9, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0x9f, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0x9f, 0xff, 0xf2, 0x0, 0x0, 0x4d, 0xdd,
0xdf, 0xff, 0xff, 0xed, 0xdd, 0xb4, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfd, 0x4f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xd4, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd,
/* U+0032 "2" */
0x0, 0x0, 0x5a, 0xde, 0xfe, 0xc8, 0x20, 0x0,
0x0, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0,
0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70,
0x3, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xf1,
0x3, 0xff, 0x83, 0x0, 0x6, 0xff, 0xff, 0xf7,
0x3, 0xa1, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xfa,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xe0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x70,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xe1, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xfe, 0x20, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0xe2, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xfd, 0x10, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0xa1, 0x11, 0x11, 0x11, 0x10,
0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
/* U+0033 "3" */
0x0, 0x59, 0xdf, 0xff, 0xda, 0x50, 0x0, 0x0,
0xcf, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, 0xd,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0, 0xdf,
0xfd, 0xbd, 0xff, 0xff, 0xff, 0x80, 0xa, 0x60,
0x0, 0x1, 0xaf, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0xe, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x27,
0xff, 0xff, 0xe1, 0x0, 0x5, 0xff, 0xff, 0xff,
0xff, 0xc2, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xfd,
0x50, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff,
0xb2, 0x0, 0x0, 0x3b, 0xbc, 0xef, 0xff, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x2a, 0xff, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0x60, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x92,
0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf7, 0xab,
0x40, 0x0, 0x1, 0x8f, 0xff, 0xff, 0x2b, 0xff,
0xfc, 0xbd, 0xff, 0xff, 0xff, 0xb0, 0xbf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xd1, 0xa, 0xff, 0xff,
0xff, 0xff, 0xff, 0xa1, 0x0, 0x5, 0x9c, 0xef,
0xfe, 0xc8, 0x20, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xe0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0xaf, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x1, 0xef, 0xfb, 0x6f, 0xff, 0xe0, 0x0, 0x0,
0x0, 0xa, 0xff, 0xf2, 0x7f, 0xff, 0xe0, 0x0,
0x0, 0x0, 0x4f, 0xff, 0x70, 0x7f, 0xff, 0xe0,
0x0, 0x0, 0x0, 0xef, 0xfc, 0x0, 0x7f, 0xff,
0xe0, 0x0, 0x0, 0x9, 0xff, 0xf2, 0x0, 0x7f,
0xff, 0xe0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0,
0x7f, 0xff, 0xe0, 0x0, 0x0, 0xdf, 0xfd, 0x0,
0x0, 0x7f, 0xff, 0xe0, 0x0, 0x7, 0xff, 0xf3,
0x0, 0x0, 0x7f, 0xff, 0xe0, 0x0, 0x2f, 0xff,
0xd7, 0x77, 0x77, 0xbf, 0xff, 0xf7, 0x74, 0x6f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa,
0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfa, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7f, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xe0, 0x0,
/* U+0035 "5" */
0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0,
0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xc,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0xcf,
0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xc, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x50,
0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xfc, 0xbc,
0xa7, 0x30, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xb1, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff,
0xff, 0xe1, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xb0, 0x2, 0x20, 0x0, 0x25, 0xdf, 0xff,
0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff,
0xf7, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf5, 0x6b,
0x40, 0x0, 0x1, 0xaf, 0xff, 0xfe, 0x6, 0xff,
0xfc, 0xbd, 0xff, 0xff, 0xff, 0x60, 0x6f, 0xff,
0xff, 0xff, 0xff, 0xff, 0x90, 0x6, 0xff, 0xff,
0xff, 0xff, 0xff, 0x70, 0x0, 0x5, 0xad, 0xef,
0xfe, 0xb7, 0x10, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x0, 0x17, 0xbd, 0xff, 0xec, 0x60,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xfd,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff,
0xd0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xec, 0xce,
0xfd, 0x0, 0x0, 0x4f, 0xff, 0xfe, 0x50, 0x0,
0x1, 0x50, 0x0, 0xd, 0xff, 0xfe, 0x20, 0x0,
0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf8, 0x5,
0xce, 0xfd, 0x91, 0x0, 0x1, 0xff, 0xff, 0x6a,
0xff, 0xff, 0xff, 0xf4, 0x0, 0x4f, 0xff, 0xfd,
0xff, 0xff, 0xff, 0xff, 0xf2, 0x5, 0xff, 0xff,
0xff, 0xda, 0xcf, 0xff, 0xff, 0xa0, 0x5f, 0xff,
0xff, 0x80, 0x0, 0x3f, 0xff, 0xff, 0x15, 0xff,
0xff, 0xd0, 0x0, 0x0, 0x8f, 0xff, 0xf4, 0x4f,
0xff, 0xf8, 0x0, 0x0, 0x5, 0xff, 0xff, 0x62,
0xff, 0xff, 0x80, 0x0, 0x0, 0x4f, 0xff, 0xf6,
0xf, 0xff, 0xfa, 0x0, 0x0, 0x5, 0xff, 0xff,
0x40, 0xaf, 0xff, 0xf1, 0x0, 0x0, 0xbf, 0xff,
0xf1, 0x4, 0xff, 0xff, 0xb0, 0x0, 0x6f, 0xff,
0xfb, 0x0, 0xc, 0xff, 0xff, 0xeb, 0xdf, 0xff,
0xff, 0x30, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff,
0xff, 0x60, 0x0, 0x0, 0x3d, 0xff, 0xff, 0xff,
0xff, 0x60, 0x0, 0x0, 0x0, 0x6, 0xbe, 0xfe,
0xc8, 0x10, 0x0, 0x0,
/* U+0037 "7" */
0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x27, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf2, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x17, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xef, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0xef, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5f, 0xff, 0xf5, 0x0, 0x0, 0x0,
0x0, 0x0, 0xb, 0xff, 0xfe, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2, 0xff, 0xff, 0x90, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1f, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x60, 0x0,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0x30,
0x0, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x0, 0x29, 0xce, 0xfe, 0xc8, 0x20, 0x0,
0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x80,
0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff,
0x90, 0x0, 0x6f, 0xff, 0xff, 0xb9, 0xbf, 0xff,
0xff, 0x30, 0xc, 0xff, 0xff, 0x30, 0x0, 0x6f,
0xff, 0xf8, 0x0, 0xff, 0xff, 0x90, 0x0, 0x0,
0xef, 0xff, 0x90, 0xe, 0xff, 0xf9, 0x0, 0x0,
0xe, 0xff, 0xf8, 0x0, 0xbf, 0xff, 0xe0, 0x0,
0x4, 0xff, 0xff, 0x40, 0x3, 0xff, 0xff, 0xc2,
0x5, 0xff, 0xff, 0xb0, 0x0, 0x6, 0xff, 0xff,
0xfd, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x3, 0xbf,
0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, 0x3b,
0xff, 0xff, 0xff, 0xe8, 0x10, 0x0, 0x0, 0x8f,
0xff, 0xfb, 0x8f, 0xff, 0xfe, 0x30, 0x0, 0x8f,
0xff, 0xf4, 0x0, 0x1b, 0xff, 0xff, 0x20, 0x2f,
0xff, 0xf5, 0x0, 0x0, 0xd, 0xff, 0xfb, 0x7,
0xff, 0xff, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf1,
0xaf, 0xff, 0xd0, 0x0, 0x0, 0x4, 0xff, 0xff,
0x3a, 0xff, 0xff, 0x0, 0x0, 0x0, 0x7f, 0xff,
0xf2, 0x7f, 0xff, 0xfb, 0x10, 0x0, 0x3f, 0xff,
0xfe, 0x2, 0xff, 0xff, 0xfe, 0xa9, 0xbf, 0xff,
0xff, 0x80, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xc0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff,
0xff, 0xa0, 0x0, 0x0, 0x1, 0x7b, 0xef, 0xfe,
0xb8, 0x20, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x0, 0x39, 0xdf, 0xfd, 0xa4, 0x0, 0x0,
0x0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xfa, 0x0,
0x0, 0x1, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfb,
0x0, 0x0, 0xaf, 0xff, 0xff, 0xdc, 0xff, 0xff,
0xf6, 0x0, 0x2f, 0xff, 0xfe, 0x20, 0x2, 0xdf,
0xff, 0xe0, 0x7, 0xff, 0xff, 0x40, 0x0, 0x4,
0xff, 0xff, 0x50, 0xaf, 0xff, 0xf0, 0x0, 0x0,
0xe, 0xff, 0xf9, 0xb, 0xff, 0xff, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xc0, 0xaf, 0xff, 0xf3, 0x0,
0x0, 0xf, 0xff, 0xfe, 0x6, 0xff, 0xff, 0xc1,
0x0, 0xa, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff,
0xfb, 0xbe, 0xff, 0xff, 0xff, 0x0, 0x7f, 0xff,
0xff, 0xff, 0xff, 0xef, 0xff, 0xf0, 0x0, 0x8f,
0xff, 0xff, 0xff, 0x99, 0xff, 0xfe, 0x0, 0x0,
0x3a, 0xef, 0xeb, 0x50, 0xbf, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xfa, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0x60,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xfb,
0x0, 0x6, 0x71, 0x0, 0x0, 0x5e, 0xff, 0xff,
0x30, 0x0, 0x7f, 0xfd, 0xbc, 0xff, 0xff, 0xff,
0x90, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff,
0xa0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff,
0x70, 0x0, 0x0, 0x1, 0x6b, 0xde, 0xfe, 0xc7,
0x10, 0x0, 0x0, 0x0,
/* U+00B7 "·" */
0x26, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x16, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf4, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x46, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xf4, 0x6f, 0xf0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0x46, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0xf, 0xf4, 0x6f, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0x46, 0xff, 0x0, 0x0, 0x0,
0x0, 0x0, 0xf, 0xf4, 0x6f, 0xf0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0x46, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0xf, 0xf4, 0x6f, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0x46, 0xff, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf, 0xf4, 0x6f, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x46, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf4, 0x6f,
0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x46,
0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf4,
0x6f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
0x46, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xf4, 0x6f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xff, 0x46, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xf4, 0x6f, 0xf6, 0x66, 0x66, 0x66, 0x66,
0x66, 0xff, 0x46, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf4, 0x6f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x40
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 296, .box_w = 17, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 196, .adv_w = 296, .box_w = 15, .box_h = 24, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 376, .adv_w = 296, .box_w = 16, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 560, .adv_w = 296, .box_w = 15, .box_h = 23, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 733, .adv_w = 296, .box_w = 18, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 940, .adv_w = 296, .box_w = 15, .box_h = 23, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1113, .adv_w = 296, .box_w = 17, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1309, .adv_w = 296, .box_w = 17, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1505, .adv_w = 296, .box_w = 17, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1701, .adv_w = 296, .box_w = 17, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1897, .adv_w = 335, .box_w = 17, .box_h = 23, .ofs_x = 2, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 10, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 1, .glyph_id_start = 11,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_CT_bpp4_30px = {
#else
lv_font_t MXC_WRYH_CT_bpp4_30px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 24, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
.fallback = NULL,
.user_data = NULL
};
#endif /*#if MXC_WRYH_CT_BPP4_30PX*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,996 @@
/*******************************************************************************
* Size: 12 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_12px.c --bpp 4 --size 12 -r 0x20-0x7f
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_12PX
#define NUMBER_HARMONYOS_BPP4_12PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_12PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
/* U+0021 "!" */
0x2f, 0x12, 0xf0, 0x1f, 0x1, 0xf0, 0x1f, 0x0,
0xf0, 0xe, 0x0, 0x20, 0x1a, 0x2, 0xe1,
/* U+0022 "\"" */
0x25, 0x16, 0x5b, 0x3d, 0x5b, 0x3d, 0x4b, 0x3c,
/* U+0023 "#" */
0x0, 0x1f, 0x2, 0xf0, 0x0, 0x4d, 0x5, 0xc0,
0x0, 0x7a, 0x8, 0xa0, 0xf, 0xff, 0xff, 0xfc,
0x3, 0xe6, 0x3f, 0x52, 0x3, 0xe0, 0x4e, 0x0,
0xdf, 0xff, 0xff, 0xf0, 0x2b, 0x93, 0xc8, 0x30,
0xd, 0x40, 0xe3, 0x0, 0xf, 0x11, 0xf0, 0x0,
/* U+0024 "$" */
0x0, 0x7, 0x10, 0x0, 0x0, 0xf2, 0x0, 0x2,
0xaf, 0xb3, 0x1, 0xec, 0xfd, 0xf1, 0x5e, 0xf,
0x2b, 0x35, 0xf1, 0xf2, 0x0, 0xc, 0xef, 0x30,
0x0, 0x7, 0xff, 0x80, 0x0, 0xf, 0x7f, 0x66,
0x70, 0xf2, 0xb8, 0x5f, 0x5f, 0x5e, 0x50, 0x8f,
0xff, 0xa0, 0x0, 0x1f, 0x30, 0x0, 0x0, 0xf2,
0x0,
/* U+0025 "%" */
0x1c, 0xf6, 0x0, 0x8c, 0x0, 0x9a, 0x4f, 0x11,
0xf4, 0x0, 0xb5, 0xd, 0x38, 0xb0, 0x0, 0xa8,
0x1f, 0x3f, 0x30, 0x0, 0x2e, 0xf8, 0x9b, 0x0,
0x0, 0x0, 0x12, 0xf2, 0x0, 0x0, 0x0, 0xa,
0xa1, 0xbe, 0x80, 0x0, 0x2f, 0x29, 0xb3, 0xe4,
0x0, 0xb9, 0x9, 0xa1, 0xd4, 0x3, 0xf1, 0x1,
0xce, 0x90,
/* U+0026 "&" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xef, 0x70,
0x0, 0x3, 0xf6, 0x6f, 0x30, 0x0, 0x5f, 0x0,
0xf4, 0x0, 0x1, 0xf9, 0xcb, 0x0, 0x0, 0x1c,
0xfa, 0x4, 0x90, 0xd, 0xb8, 0xe2, 0x8b, 0x6,
0xf0, 0xa, 0xdd, 0x60, 0x7e, 0x0, 0xd, 0xf1,
0x3, 0xf7, 0x25, 0xff, 0x90, 0x6, 0xdf, 0xd5,
0x3f, 0x60,
/* U+0027 "'" */
0x25, 0x5b, 0x5b, 0x4b,
/* U+0028 "(" */
0x0, 0x3, 0x0, 0x9, 0x90, 0x3, 0xf1, 0x0,
0xa9, 0x0, 0xe, 0x50, 0x1, 0xf2, 0x0, 0x3f,
0x10, 0x2, 0xf1, 0x0, 0x1f, 0x30, 0x0, 0xd6,
0x0, 0x9, 0xb0, 0x0, 0x2f, 0x20, 0x0, 0x7b,
0x0,
/* U+0029 ")" */
0x21, 0x0, 0x5d, 0x0, 0xc, 0x70, 0x5, 0xe0,
0x1, 0xf3, 0x0, 0xe5, 0x0, 0xd7, 0x0, 0xd6,
0x0, 0xe5, 0x1, 0xf2, 0x6, 0xd0, 0xd, 0x60,
0x7b, 0x0,
/* U+002A "*" */
0x0, 0xd1, 0x6, 0xcd, 0x9a, 0x9, 0xfc, 0x6,
0xcd, 0xaa, 0x0, 0xd1, 0x10, 0x0, 0x0,
/* U+002B "+" */
0x0, 0x5, 0x0, 0x0, 0x1, 0xf0, 0x0, 0x0,
0x1f, 0x0, 0x6, 0xff, 0xff, 0xf6, 0x13, 0x4f,
0x33, 0x10, 0x1, 0xf0, 0x0, 0x0, 0x1f, 0x0,
0x0,
/* U+002C "," */
0xa, 0x21, 0xe6, 0x8, 0x43, 0x90, 0x0, 0x0,
/* U+002D "-" */
0x4f, 0xff, 0xf2, 0x2, 0x22, 0x20,
/* U+002E "." */
0x1a, 0x2, 0xe1,
/* U+002F "/" */
0x0, 0xb, 0x80, 0x1, 0xf2, 0x0, 0x5d, 0x0,
0xb, 0x80, 0x0, 0xf2, 0x0, 0x5d, 0x0, 0xa,
0x80, 0x0, 0xf3, 0x0, 0x5d, 0x0, 0xa, 0x80,
0x0,
/* U+0030 "0" */
0x2, 0xcf, 0xc1, 0x0, 0xcc, 0x5d, 0xb0, 0x2f,
0x30, 0x4f, 0x25, 0xf0, 0x0, 0xf5, 0x6f, 0x0,
0xf, 0x66, 0xf0, 0x0, 0xf6, 0x5f, 0x0, 0xf,
0x52, 0xf3, 0x4, 0xf2, 0xc, 0xc5, 0xdc, 0x0,
0x2c, 0xfc, 0x10,
/* U+0031 "1" */
0x3, 0xdb, 0x7f, 0xeb, 0xb4, 0x9b, 0x0, 0x9b,
0x0, 0x9b, 0x0, 0x9b, 0x0, 0x9b, 0x0, 0x9b,
0x0, 0x9b, 0x0, 0x9b,
/* U+0032 "2" */
0x3, 0xcf, 0xc2, 0x1, 0xea, 0x5d, 0xc0, 0x2b,
0x0, 0x5f, 0x0, 0x0, 0x6, 0xf0, 0x0, 0x0,
0xda, 0x0, 0x0, 0x8f, 0x20, 0x0, 0x5f, 0x50,
0x0, 0x2f, 0x80, 0x0, 0x1d, 0xd4, 0x44, 0x16,
0xff, 0xff, 0xf5,
/* U+0033 "3" */
0x4, 0xdf, 0xc2, 0x1, 0xf9, 0x5d, 0xc0, 0x17,
0x0, 0x6f, 0x0, 0x0, 0x1c, 0xc0, 0x0, 0x7f,
0xf3, 0x0, 0x1, 0x4c, 0xe0, 0x0, 0x0, 0x2f,
0x42, 0x90, 0x2, 0xf4, 0x2f, 0x94, 0xbe, 0x0,
0x4d, 0xfc, 0x30,
/* U+0034 "4" */
0x0, 0x9, 0xc0, 0x0, 0x1, 0xf5, 0x0, 0x0,
0x7e, 0x0, 0x0, 0xe, 0x70, 0x0, 0x5, 0xf1,
0x97, 0x0, 0xc9, 0xb, 0x90, 0x3f, 0x20, 0xb9,
0x8, 0xff, 0xff, 0xfc, 0x13, 0x33, 0xca, 0x20,
0x0, 0xb, 0x90,
/* U+0035 "5" */
0x7, 0xff, 0xfe, 0x0, 0x9b, 0x33, 0x30, 0xa,
0x90, 0x0, 0x0, 0xc7, 0x0, 0x0, 0xe, 0xef,
0xd3, 0x0, 0xe8, 0x4b, 0xe0, 0x0, 0x0, 0x2f,
0x30, 0x30, 0x2, 0xf3, 0xf, 0x94, 0xce, 0x0,
0x4d, 0xfc, 0x20,
/* U+0036 "6" */
0x0, 0x8, 0xd0, 0x0, 0x2, 0xf5, 0x0, 0x0,
0xad, 0x0, 0x0, 0x3f, 0x50, 0x0, 0xb, 0xff,
0xe5, 0x2, 0xfa, 0x49, 0xf2, 0x4f, 0x10, 0xf,
0x64, 0xf1, 0x0, 0xf6, 0xe, 0xb5, 0xaf, 0x10,
0x2c, 0xfd, 0x40,
/* U+0037 "7" */
0x5f, 0xff, 0xff, 0x41, 0x33, 0x37, 0xf1, 0x0,
0x0, 0xab, 0x0, 0x0, 0xf, 0x50, 0x0, 0x5,
0xf0, 0x0, 0x0, 0xba, 0x0, 0x0, 0x1f, 0x40,
0x0, 0x7, 0xe0, 0x0, 0x0, 0xc9, 0x0, 0x0,
0x2f, 0x40, 0x0,
/* U+0038 "8" */
0x3, 0xcf, 0xc2, 0x0, 0xeb, 0x4b, 0xd0, 0x1f,
0x30, 0x3f, 0x0, 0xe9, 0x19, 0xd0, 0x4, 0xff,
0xf4, 0x1, 0xea, 0x4a, 0xe0, 0x5f, 0x0, 0xf,
0x56, 0xf0, 0x0, 0xf5, 0x2f, 0xa4, 0xaf, 0x10,
0x4d, 0xfd, 0x40,
/* U+0039 "9" */
0x4, 0xdf, 0xc2, 0x1, 0xfa, 0x5c, 0xd0, 0x6f,
0x0, 0x2f, 0x37, 0xe0, 0x1, 0xf4, 0x3f, 0x71,
0x9f, 0x10, 0x8f, 0xff, 0xb0, 0x0, 0x16, 0xf2,
0x0, 0x0, 0xca, 0x0, 0x0, 0x5f, 0x10, 0x0,
0xd, 0x80, 0x0,
/* U+003A ":" */
0x1e, 0x30, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x0,
0xa1, 0x1e, 0x30,
/* U+003B ";" */
0xd, 0x40, 0x93, 0x0, 0x0, 0x0, 0x0, 0x0,
0xa3, 0xe, 0x80, 0x75, 0x2a, 0x0, 0x0,
/* U+003C "<" */
0x0, 0x0, 0x29, 0x50, 0x3, 0xaf, 0xb2, 0x2c,
0xfa, 0x30, 0x5, 0xfc, 0x30, 0x0, 0x3, 0xaf,
0xb4, 0x0, 0x0, 0x29, 0xf5, 0x0, 0x0, 0x1,
0x20,
/* U+003D "=" */
0x6f, 0xff, 0xff, 0x61, 0x33, 0x33, 0x31, 0x0,
0x0, 0x0, 0x6, 0xff, 0xff, 0xf6, 0x13, 0x33,
0x33, 0x10,
/* U+003E ">" */
0x59, 0x20, 0x0, 0x2, 0xcf, 0xa3, 0x0, 0x0,
0x3a, 0xfb, 0x20, 0x0, 0x3c, 0xf5, 0x4, 0xbf,
0xa3, 0x6, 0xf9, 0x20, 0x0, 0x21, 0x0, 0x0,
0x0,
/* U+003F "?" */
0x1, 0xbf, 0xe5, 0x0, 0xcc, 0x5a, 0xf2, 0x6,
0x10, 0x2f, 0x30, 0x0, 0x9, 0xd0, 0x0, 0x8,
0xd1, 0x0, 0x1, 0xf2, 0x0, 0x0, 0x1f, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x10, 0x0,
0x1, 0xe3, 0x0,
/* U+0040 "@" */
0x0, 0x4, 0xbd, 0xec, 0x60, 0x0, 0x0, 0x8e,
0x73, 0x36, 0xdb, 0x0, 0x6, 0xd1, 0x0, 0x0,
0xc, 0x80, 0xe, 0x30, 0x9f, 0xc9, 0x82, 0xe0,
0x3d, 0x6, 0xe4, 0x6f, 0x80, 0xd3, 0x5a, 0xb,
0x80, 0xb, 0x80, 0xb5, 0x6a, 0xb, 0x70, 0xa,
0x80, 0xc4, 0x4c, 0x7, 0xc1, 0x2e, 0xa1, 0xf1,
0xf, 0x20, 0xbf, 0xe5, 0xef, 0x80, 0x8, 0xb0,
0x1, 0x0, 0x1, 0x0, 0x0, 0xcc, 0x40, 0x4,
0x70, 0x0, 0x0, 0x8, 0xef, 0xfe, 0x70, 0x0,
0x0, 0x0, 0x1, 0x10, 0x0, 0x0,
/* U+0041 "A" */
0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0xff, 0x10,
0x0, 0x0, 0x5c, 0xc7, 0x0, 0x0, 0xb, 0x77,
0xd0, 0x0, 0x1, 0xf2, 0x2f, 0x20, 0x0, 0x6d,
0x0, 0xc8, 0x0, 0xb, 0xff, 0xff, 0xd0, 0x1,
0xf5, 0x33, 0x4f, 0x30, 0x6d, 0x0, 0x0, 0xc9,
0xc, 0x80, 0x0, 0x7, 0xe0,
/* U+0042 "B" */
0xff, 0xfe, 0xa1, 0xf, 0x73, 0x5d, 0xb0, 0xf4,
0x0, 0x6f, 0xf, 0x40, 0x1c, 0xc0, 0xff, 0xff,
0xf4, 0xf, 0x62, 0x3a, 0xf2, 0xf4, 0x0, 0xf,
0x6f, 0x40, 0x0, 0xf6, 0xf7, 0x34, 0xaf, 0x2f,
0xff, 0xfc, 0x40,
/* U+0043 "C" */
0x0, 0x4c, 0xfd, 0x60, 0x5, 0xf9, 0x58, 0xf5,
0xe, 0x90, 0x0, 0x63, 0x4f, 0x20, 0x0, 0x0,
0x6f, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0,
0x4f, 0x20, 0x0, 0x0, 0xe, 0x90, 0x0, 0x62,
0x5, 0xf9, 0x58, 0xf5, 0x0, 0x4c, 0xfd, 0x60,
/* U+0044 "D" */
0xff, 0xfe, 0x81, 0x0, 0xf7, 0x46, 0xed, 0x0,
0xf4, 0x0, 0x1e, 0x80, 0xf4, 0x0, 0x7, 0xe0,
0xf4, 0x0, 0x5, 0xf0, 0xf4, 0x0, 0x5, 0xf0,
0xf4, 0x0, 0x7, 0xe0, 0xf4, 0x0, 0x1e, 0x80,
0xf7, 0x46, 0xed, 0x0, 0xff, 0xfe, 0x91, 0x0,
/* U+0045 "E" */
0xff, 0xff, 0xf8, 0xf7, 0x44, 0x42, 0xf4, 0x0,
0x0, 0xf5, 0x0, 0x0, 0xff, 0xff, 0xf1, 0xf7,
0x33, 0x30, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0,
0xf7, 0x44, 0x42, 0xff, 0xff, 0xfa,
/* U+0046 "F" */
0xff, 0xff, 0xf8, 0xf7, 0x44, 0x42, 0xf4, 0x0,
0x0, 0xf4, 0x0, 0x0, 0xf5, 0x0, 0x0, 0xff,
0xff, 0xf1, 0xf7, 0x33, 0x30, 0xf4, 0x0, 0x0,
0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0,
/* U+0047 "G" */
0x0, 0x3c, 0xfe, 0x80, 0x4, 0xfa, 0x57, 0xf9,
0xe, 0x90, 0x0, 0x44, 0x3f, 0x20, 0x0, 0x0,
0x6f, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x2f, 0xff,
0x3f, 0x20, 0x3, 0x7f, 0xe, 0xa0, 0x0, 0x5f,
0x4, 0xfb, 0x55, 0xcd, 0x0, 0x3b, 0xfe, 0xa1,
/* U+0048 "H" */
0xf4, 0x0, 0x3, 0xf0, 0xf4, 0x0, 0x3, 0xf0,
0xf4, 0x0, 0x3, 0xf0, 0xf5, 0x0, 0x4, 0xf0,
0xff, 0xff, 0xff, 0xf0, 0xf7, 0x33, 0x36, 0xf0,
0xf4, 0x0, 0x3, 0xf0, 0xf4, 0x0, 0x3, 0xf0,
0xf4, 0x0, 0x3, 0xf0, 0xf4, 0x0, 0x3, 0xf0,
/* U+0049 "I" */
0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4,
0xf4, 0xf4,
/* U+004A "J" */
0x0, 0x7, 0xd0, 0x0, 0x7d, 0x0, 0x7, 0xd0,
0x0, 0x7d, 0x0, 0x7, 0xd0, 0x0, 0x7d, 0x0,
0x7, 0xd2, 0x0, 0x8b, 0xda, 0x5e, 0x73, 0xdf,
0xa0,
/* U+004B "K" */
0xf4, 0x0, 0x1e, 0x90, 0xf4, 0x0, 0xcc, 0x0,
0xf4, 0xa, 0xd1, 0x0, 0xf4, 0x6f, 0x20, 0x0,
0xf8, 0xfc, 0x0, 0x0, 0xff, 0xaf, 0x60, 0x0,
0xfa, 0x9, 0xe1, 0x0, 0xf4, 0x0, 0xeb, 0x0,
0xf4, 0x0, 0x4f, 0x50, 0xf4, 0x0, 0xa, 0xe1,
/* U+004C "L" */
0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0,
0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4,
0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0,
0xf7, 0x44, 0x42, 0xff, 0xff, 0xf8,
/* U+004D "M" */
0xf5, 0x0, 0x0, 0xd, 0x6f, 0xe0, 0x0, 0x6,
0xf6, 0xff, 0x70, 0x0, 0xef, 0x6f, 0x9f, 0x10,
0x8c, 0xd6, 0xf3, 0xc9, 0x1f, 0x3d, 0x6f, 0x33,
0xfb, 0xa0, 0xd6, 0xf3, 0xa, 0xf1, 0xd, 0x6f,
0x30, 0x14, 0x0, 0xd6, 0xf3, 0x0, 0x0, 0xd,
0x6f, 0x30, 0x0, 0x0, 0xd6,
/* U+004E "N" */
0xf6, 0x0, 0x4, 0xff, 0xe1, 0x0, 0x4f, 0xfe,
0xa0, 0x4, 0xff, 0x6f, 0x40, 0x4f, 0xf3, 0x9d,
0x4, 0xff, 0x30, 0xe8, 0x4f, 0xf3, 0x5, 0xf6,
0xff, 0x30, 0xa, 0xff, 0xf3, 0x0, 0x1f, 0xff,
0x30, 0x0, 0x6f,
/* U+004F "O" */
0x0, 0x4c, 0xfd, 0x70, 0x0, 0x5f, 0x95, 0x7f,
0x90, 0xe, 0x90, 0x0, 0x5f, 0x24, 0xf2, 0x0,
0x0, 0xe7, 0x6f, 0x0, 0x0, 0xb, 0x96, 0xf0,
0x0, 0x0, 0xb9, 0x4f, 0x20, 0x0, 0xe, 0x70,
0xe9, 0x0, 0x5, 0xf2, 0x5, 0xf9, 0x57, 0xf8,
0x0, 0x5, 0xcf, 0xd7, 0x0,
/* U+0050 "P" */
0xff, 0xfe, 0x80, 0xf, 0x73, 0x6f, 0x90, 0xf4,
0x0, 0x7e, 0xf, 0x40, 0x6, 0xf0, 0xf4, 0x3,
0xdb, 0xf, 0xff, 0xfc, 0x10, 0xf7, 0x31, 0x0,
0xf, 0x40, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf,
0x40, 0x0, 0x0,
/* U+0051 "Q" */
0x0, 0x4c, 0xfd, 0x70, 0x0, 0x5, 0xf9, 0x57,
0xf8, 0x0, 0xe, 0x90, 0x0, 0x5f, 0x20, 0x4f,
0x20, 0x0, 0xe, 0x70, 0x6f, 0x0, 0x0, 0xb,
0x90, 0x6f, 0x0, 0x0, 0xb, 0x90, 0x4f, 0x20,
0x0, 0xe, 0x70, 0xe, 0x90, 0x0, 0x5f, 0x20,
0x5, 0xf9, 0x57, 0xf9, 0x0, 0x0, 0x5c, 0xff,
0xd0, 0x0, 0x0, 0x0, 0x3, 0xeb, 0x0, 0x0,
0x0, 0x0, 0x2d, 0xc1,
/* U+0052 "R" */
0xff, 0xfe, 0x80, 0xf, 0x73, 0x6f, 0x90, 0xf4,
0x0, 0x7e, 0xf, 0x40, 0x6, 0xf0, 0xf4, 0x3,
0xdb, 0xf, 0xff, 0xfc, 0x10, 0xf7, 0x3d, 0x90,
0xf, 0x40, 0x4f, 0x40, 0xf4, 0x0, 0xad, 0xf,
0x40, 0x1, 0xe8,
/* U+0053 "S" */
0x5, 0xdf, 0xd6, 0x2, 0xf9, 0x48, 0xf4, 0x6f,
0x0, 0x6, 0x15, 0xf6, 0x0, 0x0, 0x9, 0xfe,
0x81, 0x0, 0x2, 0x8e, 0xe2, 0x0, 0x0, 0x1e,
0x98, 0x80, 0x0, 0xc9, 0x5f, 0x95, 0x7f, 0x50,
0x5d, 0xfd, 0x60,
/* U+0054 "T" */
0xef, 0xff, 0xff, 0xd3, 0x46, 0xf5, 0x43, 0x0,
0x2f, 0x20, 0x0, 0x2, 0xf2, 0x0, 0x0, 0x2f,
0x20, 0x0, 0x2, 0xf2, 0x0, 0x0, 0x2f, 0x20,
0x0, 0x2, 0xf2, 0x0, 0x0, 0x2f, 0x20, 0x0,
0x2, 0xf2, 0x0,
/* U+0055 "U" */
0x1f, 0x30, 0x0, 0x5f, 0x1f, 0x30, 0x0, 0x5f,
0x1f, 0x30, 0x0, 0x5f, 0x1f, 0x30, 0x0, 0x5f,
0x1f, 0x30, 0x0, 0x5f, 0x1f, 0x30, 0x0, 0x5f,
0xf, 0x40, 0x0, 0x6e, 0xd, 0x90, 0x0, 0xbb,
0x6, 0xf8, 0x59, 0xf4, 0x0, 0x6d, 0xfd, 0x50,
/* U+0056 "V" */
0xcb, 0x0, 0x0, 0x7d, 0x6, 0xf0, 0x0, 0xc,
0x80, 0x1f, 0x50, 0x1, 0xf3, 0x0, 0xba, 0x0,
0x6d, 0x0, 0x5, 0xf0, 0xb, 0x80, 0x0, 0xf,
0x50, 0xf3, 0x0, 0x0, 0xaa, 0x5d, 0x0, 0x0,
0x4, 0xfb, 0x80, 0x0, 0x0, 0xe, 0xf3, 0x0,
0x0, 0x0, 0x9d, 0x0, 0x0,
/* U+0057 "W" */
0xc9, 0x0, 0xb, 0x90, 0x0, 0xb8, 0x7d, 0x0,
0xf, 0xd0, 0x0, 0xf4, 0x3f, 0x10, 0x3f, 0xf2,
0x3, 0xf0, 0xe, 0x60, 0x7a, 0xd6, 0x7, 0xb0,
0xa, 0xa0, 0xb6, 0x9a, 0xb, 0x70, 0x5, 0xe0,
0xf2, 0x4f, 0xf, 0x20, 0x1, 0xf7, 0xd0, 0xf,
0x7e, 0x0, 0x0, 0xce, 0x90, 0xb, 0xea, 0x0,
0x0, 0x8f, 0x50, 0x7, 0xf5, 0x0, 0x0, 0x3f,
0x10, 0x3, 0xf1, 0x0,
/* U+0058 "X" */
0x7f, 0x20, 0x0, 0xd9, 0xd, 0xb0, 0x8, 0xe0,
0x3, 0xf5, 0x2f, 0x50, 0x0, 0x9e, 0xcb, 0x0,
0x0, 0xe, 0xf1, 0x0, 0x0, 0x1f, 0xf2, 0x0,
0x0, 0xac, 0xbc, 0x0, 0x4, 0xf2, 0x2f, 0x60,
0xe, 0x80, 0x8, 0xf1, 0x8e, 0x0, 0x0, 0xda,
/* U+0059 "Y" */
0xad, 0x0, 0x2, 0xf4, 0x2f, 0x60, 0x9, 0xc0,
0x9, 0xe0, 0x2f, 0x40, 0x1, 0xf8, 0xac, 0x0,
0x0, 0x7f, 0xf3, 0x0, 0x0, 0xe, 0xb0, 0x0,
0x0, 0xc, 0x80, 0x0, 0x0, 0xc, 0x80, 0x0,
0x0, 0xc, 0x80, 0x0, 0x0, 0xc, 0x80, 0x0,
/* U+005A "Z" */
0x5f, 0xff, 0xff, 0x81, 0x44, 0x49, 0xf2, 0x0,
0x0, 0xe8, 0x0, 0x0, 0x7e, 0x10, 0x0, 0x1f,
0x60, 0x0, 0x9, 0xd0, 0x0, 0x2, 0xf4, 0x0,
0x0, 0xbb, 0x0, 0x0, 0x4f, 0x74, 0x44, 0x3b,
0xff, 0xff, 0xfb,
/* U+005B "[" */
0x0, 0x0, 0xff, 0xf0, 0xf6, 0x30, 0xf3, 0x0,
0xf3, 0x0, 0xf3, 0x0, 0xf3, 0x0, 0xf3, 0x0,
0xf3, 0x0, 0xf3, 0x0, 0xf3, 0x0, 0xf4, 0x0,
0xff, 0xf0, 0x33, 0x30,
/* U+005C "\\" */
0xa8, 0x0, 0x5, 0xd0, 0x0, 0xf, 0x30, 0x0,
0xa8, 0x0, 0x5, 0xd0, 0x0, 0xf, 0x20, 0x0,
0xb8, 0x0, 0x5, 0xd0, 0x0, 0x1f, 0x20, 0x0,
0xb8,
/* U+005D "]" */
0x0, 0x0, 0xcf, 0xf4, 0x23, 0xf4, 0x0, 0xf4,
0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4,
0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4,
0xcf, 0xf4, 0x23, 0x30,
/* U+005E "^" */
0x0, 0xdb, 0x0, 0x3, 0xff, 0x10, 0xa, 0x9a,
0x80, 0x1f, 0x24, 0xe0, 0x7c, 0x0, 0xd5,
/* U+005F "_" */
0xff, 0xff, 0xf3, 0x22, 0x22, 0x20,
/* U+0060 "`" */
0xe, 0x40, 0x4, 0xc0,
/* U+0061 "a" */
0x4, 0xdf, 0xa1, 0xe, 0x73, 0xd9, 0x1, 0x0,
0x7c, 0x6, 0xcd, 0xdd, 0x4f, 0x42, 0x8d, 0x5e,
0x10, 0xbd, 0x9, 0xed, 0x9d,
/* U+0062 "b" */
0x2f, 0x10, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x2f,
0x10, 0x0, 0x2, 0xf6, 0xee, 0x70, 0x2f, 0xd5,
0x7f, 0x52, 0xf4, 0x0, 0x9b, 0x2f, 0x20, 0x7,
0xd2, 0xf4, 0x0, 0x9b, 0x2f, 0xd4, 0x6f, 0x52,
0xf5, 0xee, 0x80,
/* U+0063 "c" */
0x2, 0xcf, 0xc2, 0xe, 0xa4, 0xa8, 0x5f, 0x0,
0x0, 0x7d, 0x0, 0x0, 0x5f, 0x0, 0x0, 0xe,
0xa4, 0xa8, 0x3, 0xcf, 0xc2,
/* U+0064 "d" */
0x0, 0x0, 0xb, 0x70, 0x0, 0x0, 0xb7, 0x0,
0x0, 0xb, 0x70, 0x3d, 0xf9, 0xb7, 0x1e, 0xa4,
0xaf, 0x75, 0xf0, 0x0, 0xe7, 0x7d, 0x0, 0xc,
0x75, 0xe0, 0x0, 0xe7, 0x1e, 0x81, 0x8f, 0x70,
0x3d, 0xfa, 0xa7,
/* U+0065 "e" */
0x3, 0xcf, 0xc2, 0x0, 0xea, 0x3b, 0xc0, 0x5f,
0x0, 0x2f, 0x27, 0xfe, 0xee, 0xf3, 0x5e, 0x11,
0x11, 0x0, 0xe9, 0x37, 0xa0, 0x3, 0xcf, 0xd4,
0x0,
/* U+0066 "f" */
0x0, 0x0, 0x0, 0x1c, 0xf7, 0x9, 0xc4, 0x20,
0xb8, 0x0, 0xdf, 0xff, 0x22, 0xc9, 0x20, 0xb,
0x80, 0x0, 0xb8, 0x0, 0xb, 0x80, 0x0, 0xb8,
0x0, 0xb, 0x80, 0x0,
/* U+0067 "g" */
0x3, 0xdf, 0x9a, 0x71, 0xea, 0x4a, 0xf7, 0x5f,
0x0, 0xe, 0x77, 0xd0, 0x0, 0xc7, 0x5e, 0x0,
0xe, 0x71, 0xea, 0x49, 0xf7, 0x3, 0xdf, 0x9c,
0x70, 0x10, 0x0, 0xe5, 0x1f, 0x74, 0x9f, 0x10,
0x5d, 0xfc, 0x30,
/* U+0068 "h" */
0x2f, 0x10, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x2f,
0x10, 0x0, 0x2, 0xf7, 0xee, 0x50, 0x2f, 0xd5,
0x9f, 0x12, 0xf3, 0x0, 0xf3, 0x2f, 0x10, 0xf,
0x42, 0xf1, 0x0, 0xf4, 0x2f, 0x10, 0xf, 0x42,
0xf1, 0x0, 0xf4,
/* U+0069 "i" */
0x2e, 0x21, 0xa1, 0x0, 0x2, 0xf1, 0x2f, 0x12,
0xf1, 0x2f, 0x12, 0xf1, 0x2f, 0x12, 0xf1,
/* U+006A "j" */
0x0, 0x2e, 0x10, 0x1, 0xa0, 0x0, 0x0, 0x0,
0x2, 0xf1, 0x0, 0x2f, 0x10, 0x2, 0xf1, 0x0,
0x2f, 0x10, 0x2, 0xf1, 0x0, 0x2f, 0x10, 0x2,
0xf1, 0x0, 0x2f, 0x10, 0x59, 0xe0, 0x4e, 0xe4,
0x0,
/* U+006B "k" */
0x2f, 0x10, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x2f,
0x10, 0x0, 0x2, 0xf1, 0x9, 0xd0, 0x2f, 0x15,
0xe2, 0x2, 0xf4, 0xf4, 0x0, 0x2f, 0xef, 0x50,
0x2, 0xfa, 0x8e, 0x10, 0x2f, 0x20, 0xd9, 0x2,
0xf1, 0x4, 0xf3,
/* U+006C "l" */
0x2f, 0x12, 0xf1, 0x2f, 0x12, 0xf1, 0x2f, 0x12,
0xf1, 0x2f, 0x12, 0xf1, 0x2f, 0x12, 0xf1,
/* U+006D "m" */
0x2f, 0x7f, 0xd3, 0xaf, 0xa0, 0x2f, 0xa2, 0xcf,
0x63, 0xf5, 0x2f, 0x20, 0x7e, 0x0, 0xb8, 0x2f,
0x10, 0x6d, 0x0, 0xa8, 0x2f, 0x10, 0x6d, 0x0,
0xa8, 0x2f, 0x10, 0x6d, 0x0, 0xa8, 0x2f, 0x10,
0x6d, 0x0, 0xa8,
/* U+006E "n" */
0x2f, 0x6e, 0xe5, 0x2, 0xfb, 0x27, 0xf1, 0x2f,
0x30, 0xf, 0x32, 0xf1, 0x0, 0xf4, 0x2f, 0x10,
0xf, 0x42, 0xf1, 0x0, 0xf4, 0x2f, 0x10, 0xf,
0x40,
/* U+006F "o" */
0x2, 0xbf, 0xc3, 0x0, 0xeb, 0x49, 0xf1, 0x5f,
0x0, 0xe, 0x77, 0xd0, 0x0, 0xb9, 0x5f, 0x0,
0xd, 0x70, 0xea, 0x49, 0xf1, 0x2, 0xcf, 0xc3,
0x0,
/* U+0070 "p" */
0x2f, 0x6e, 0xe7, 0x2, 0xfc, 0x24, 0xf5, 0x2f,
0x40, 0x9, 0xb2, 0xf2, 0x0, 0x7d, 0x2f, 0x40,
0x9, 0xb2, 0xfd, 0x56, 0xf5, 0x2f, 0x6e, 0xe8,
0x2, 0xf1, 0x0, 0x0, 0x2f, 0x10, 0x0, 0x2,
0xf1, 0x0, 0x0,
/* U+0071 "q" */
0x3, 0xdf, 0x9a, 0x71, 0xea, 0x4a, 0xf7, 0x5f,
0x0, 0xe, 0x77, 0xd0, 0x0, 0xc7, 0x5f, 0x0,
0xe, 0x71, 0xea, 0x4a, 0xf7, 0x3, 0xdf, 0x9c,
0x70, 0x0, 0x0, 0xb7, 0x0, 0x0, 0xb, 0x70,
0x0, 0x0, 0xb7,
/* U+0072 "r" */
0x2f, 0x7f, 0x82, 0xfb, 0x21, 0x2f, 0x30, 0x2,
0xf1, 0x0, 0x2f, 0x10, 0x2, 0xf1, 0x0, 0x2f,
0x10, 0x0,
/* U+0073 "s" */
0x8, 0xee, 0x60, 0x5e, 0x46, 0xd0, 0x6f, 0x40,
0x0, 0x8, 0xee, 0x60, 0x0, 0x6, 0xf1, 0x8b,
0x36, 0xf1, 0x1b, 0xfe, 0x60,
/* U+0074 "t" */
0xd, 0x60, 0x0, 0xd6, 0x0, 0xef, 0xff, 0x32,
0xd7, 0x20, 0xd, 0x60, 0x0, 0xd6, 0x0, 0xd,
0x60, 0x0, 0xbb, 0x41, 0x3, 0xdf, 0x50,
/* U+0075 "u" */
0x3f, 0x0, 0x1f, 0x33, 0xf0, 0x1, 0xf3, 0x3f,
0x0, 0x1f, 0x33, 0xf0, 0x1, 0xf3, 0x2f, 0x10,
0x2f, 0x30, 0xf8, 0x2b, 0xf3, 0x5, 0xee, 0x7f,
0x30,
/* U+0076 "v" */
0xba, 0x0, 0x2f, 0x15, 0xf0, 0x7, 0xb0, 0xe,
0x50, 0xd5, 0x0, 0x9b, 0x2f, 0x0, 0x3, 0xf8,
0xa0, 0x0, 0xd, 0xf4, 0x0, 0x0, 0x7e, 0x0,
0x0,
/* U+0077 "w" */
0xb8, 0x0, 0xd7, 0x0, 0xe4, 0x6d, 0x1, 0xfc,
0x2, 0xe0, 0x1f, 0x26, 0xcf, 0x17, 0xa0, 0xc,
0x7a, 0x5c, 0x5c, 0x40, 0x6, 0xce, 0x17, 0xbf,
0x0, 0x1, 0xfb, 0x2, 0xfa, 0x0, 0x0, 0xc6,
0x0, 0xc5, 0x0,
/* U+0078 "x" */
0x9d, 0x0, 0xab, 0x0, 0xe8, 0x5f, 0x10, 0x4,
0xfe, 0x60, 0x0, 0xc, 0xe0, 0x0, 0x4, 0xfe,
0x60, 0x0, 0xd7, 0x6f, 0x10, 0x9d, 0x0, 0xbb,
0x0,
/* U+0079 "y" */
0xca, 0x0, 0x1f, 0x25, 0xf0, 0x7, 0xc0, 0xf,
0x50, 0xc6, 0x0, 0x9b, 0x1f, 0x10, 0x3, 0xf8,
0xb0, 0x0, 0xd, 0xf5, 0x0, 0x0, 0x7f, 0x0,
0x0, 0x9, 0x90, 0x0, 0x45, 0xf3, 0x0, 0xb,
0xf8, 0x0, 0x0,
/* U+007A "z" */
0x6f, 0xff, 0xf2, 0x1, 0x1b, 0xb0, 0x0, 0x4f,
0x20, 0x0, 0xe7, 0x0, 0x8, 0xd0, 0x0, 0x2f,
0x62, 0x20, 0x9f, 0xff, 0xf5,
/* U+007B "{" */
0x0, 0x0, 0x0, 0x8, 0xf5, 0x2, 0xf7, 0x10,
0x3f, 0x0, 0x4, 0xf0, 0x0, 0x4f, 0x0, 0x1a,
0xd0, 0x9, 0xf4, 0x0, 0x3b, 0xc0, 0x0, 0x4f,
0x0, 0x4, 0xf0, 0x0, 0x3f, 0x30, 0x0, 0xcf,
0x50, 0x0, 0x21,
/* U+007C "|" */
0x12, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c,
0x6c, 0x6c, 0x6c, 0x6c, 0x6c,
/* U+007D "}" */
0x0, 0x0, 0xb, 0xd3, 0x0, 0x2c, 0xb0, 0x0,
0x7d, 0x0, 0x6, 0xd0, 0x0, 0x6e, 0x0, 0x3,
0xf5, 0x0, 0xb, 0xf2, 0x3, 0xf7, 0x0, 0x6e,
0x0, 0x6, 0xd0, 0x0, 0x9c, 0x0, 0xcf, 0x60,
0x2, 0x10, 0x0,
/* U+007E "~" */
0x0, 0x0, 0x0, 0x0, 0xaf, 0x91, 0xe3, 0x3e,
0x1b, 0xfc, 0x1, 0x20, 0x2, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 52, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 0, .adv_w = 47, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 15, .adv_w = 72, .box_w = 4, .box_h = 4, .ofs_x = 0, .ofs_y = 7},
{.bitmap_index = 23, .adv_w = 127, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 63, .adv_w = 111, .box_w = 7, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 112, .adv_w = 153, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 162, .adv_w = 138, .box_w = 9, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 212, .adv_w = 39, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = 7},
{.bitmap_index = 216, .adv_w = 69, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 249, .adv_w = 69, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 275, .adv_w = 84, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 4},
{.bitmap_index = 290, .adv_w = 111, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 2},
{.bitmap_index = 315, .adv_w = 49, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 323, .adv_w = 94, .box_w = 6, .box_h = 2, .ofs_x = 0, .ofs_y = 3},
{.bitmap_index = 329, .adv_w = 46, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 332, .adv_w = 77, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 357, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 392, .adv_w = 111, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 412, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 447, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 482, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 517, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 552, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 587, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 622, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 657, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 692, .adv_w = 51, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 703, .adv_w = 53, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 718, .adv_w = 111, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
{.bitmap_index = 743, .adv_w = 111, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 2},
{.bitmap_index = 761, .adv_w = 111, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
{.bitmap_index = 786, .adv_w = 86, .box_w = 7, .box_h = 10, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 821, .adv_w = 188, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 899, .adv_w = 131, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 944, .adv_w = 127, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 979, .adv_w = 127, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1019, .adv_w = 139, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1059, .adv_w = 115, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1089, .adv_w = 109, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1119, .adv_w = 136, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1159, .adv_w = 145, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1199, .adv_w = 53, .box_w = 2, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1209, .adv_w = 92, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1234, .adv_w = 134, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1274, .adv_w = 110, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1304, .adv_w = 167, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1349, .adv_w = 143, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1384, .adv_w = 148, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1429, .adv_w = 117, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1464, .adv_w = 148, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1524, .adv_w = 126, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1559, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1594, .adv_w = 112, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1629, .adv_w = 142, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1669, .adv_w = 130, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1714, .adv_w = 188, .box_w = 12, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1774, .adv_w = 130, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1814, .adv_w = 122, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1854, .adv_w = 112, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1889, .adv_w = 68, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 1917, .adv_w = 77, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1942, .adv_w = 68, .box_w = 4, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1970, .adv_w = 94, .box_w = 6, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
{.bitmap_index = 1985, .adv_w = 84, .box_w = 6, .box_h = 2, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 1991, .adv_w = 61, .box_w = 4, .box_h = 2, .ofs_x = 0, .ofs_y = 8},
{.bitmap_index = 1995, .adv_w = 106, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2016, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2051, .adv_w = 95, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2072, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2107, .adv_w = 106, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2132, .adv_w = 69, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2160, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 2195, .adv_w = 113, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2230, .adv_w = 48, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2245, .adv_w = 48, .box_w = 5, .box_h = 13, .ofs_x = -2, .ofs_y = -3},
{.bitmap_index = 2278, .adv_w = 104, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2313, .adv_w = 48, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2328, .adv_w = 165, .box_w = 10, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2363, .adv_w = 113, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2388, .adv_w = 114, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2413, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 2448, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 2483, .adv_w = 75, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2501, .adv_w = 88, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2522, .adv_w = 74, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2545, .adv_w = 113, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2570, .adv_w = 102, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2595, .adv_w = 152, .box_w = 10, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2630, .adv_w = 98, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2655, .adv_w = 103, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 2690, .adv_w = 92, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2711, .adv_w = 74, .box_w = 5, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 2746, .adv_w = 38, .box_w = 2, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 2759, .adv_w = 74, .box_w = 5, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 2794, .adv_w = 111, .box_w = 7, .box_h = 4, .ofs_x = 0, .ofs_y = 3}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Map glyph_ids to kern left classes*/
static const uint8_t kern_left_class_mapping[] =
{
0, 0, 0, 1, 0, 0, 0, 0,
1, 2, 3, 0, 4, 0, 4, 0,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4,
6, 7, 8, 9, 10, 7, 11, 12,
13, 14, 14, 15, 16, 17, 14, 14,
7, 18, 0, 19, 20, 21, 15, 5,
22, 23, 24, 25, 2, 8, 3, 0,
0, 0, 26, 27, 28, 29, 30, 31,
32, 26, 0, 33, 34, 29, 26, 26,
27, 27, 0, 35, 36, 37, 32, 38,
38, 39, 38, 40, 2, 0, 3, 4
};
/*Map glyph_ids to kern right classes*/
static const uint8_t kern_right_class_mapping[] =
{
0, 1, 0, 2, 0, 0, 0, 0,
2, 0, 3, 0, 4, 5, 4, 5,
6, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4, 0, 0,
7, 8, 6, 9, 8, 9, 9, 9,
8, 9, 9, 10, 9, 9, 9, 9,
8, 9, 8, 9, 11, 12, 13, 14,
15, 16, 17, 18, 0, 14, 3, 0,
5, 0, 19, 20, 21, 21, 21, 22,
21, 20, 0, 23, 20, 20, 24, 24,
21, 0, 21, 24, 25, 26, 27, 28,
28, 29, 30, 31, 0, 0, 3, 4
};
/*Kern values between classes*/
static const int8_t kern_class_values[] =
{
0, 0, 0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 4, 4,
2, 0, 3, 0, 0, 13, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -10, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -8, 3, 4, -8,
-27, -18, 4, -7, 0, -23, -2, 4,
0, 0, 0, 0, 0, 0, -15, 0,
-14, -5, 0, -9, -11, -1, -9, -9,
-11, -9, -10, 0, 0, 0, -6, -19,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -4, 0, 0, -8, -7,
0, 0, 0, -7, 0, -6, 0, -7,
-4, -7, -11, -4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -8, -22, 0, -12, 5, 0, -13,
-7, 0, 0, 0, -16, -3, -18, -13,
0, -21, 4, 0, 0, -2, 0, 0,
0, 0, 0, 0, -8, 0, -8, 0,
0, -2, 0, 0, 0, -3, 0, 0,
0, 3, 0, -7, 0, -9, -3, 0,
-11, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
2, 0, -6, 4, 0, 6, -3, 0,
0, 0, 1, 0, -1, 0, 0, -1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -4, 0, -4, 0, 0, 0,
0, 0, 2, 0, 2, -2, 0, 2,
0, 0, 0, -2, 0, 0, -2, 0,
-2, 0, -2, -3, 0, 0, -2, -2,
-2, -4, -2, -4, 0, -2, 5, 0,
1, -25, -11, 8, -1, 0, -27, 0,
4, 0, 0, 0, 0, 0, 0, -8,
0, -5, -2, 0, -3, 0, -2, 0,
-4, -7, -4, -5, 0, 0, 0, 0,
3, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -6, -3,
0, 0, 0, -6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -8, 0, 0, -21, 3, 0, -1,
-11, -3, 0, -3, 0, -5, 0, 0,
0, 0, 0, -6, 0, -7, -8, 0,
-3, -3, -8, -8, -13, -7, -13, 0,
-10, -20, 0, -17, 5, 0, -14, -9,
0, 3, -2, -25, -8, -28, -21, 0,
-34, 0, -1, 0, -4, -4, 0, 0,
0, -5, -5, -18, 0, -18, 0, -2,
2, 0, 2, -28, -16, 3, 0, 0,
-31, 0, 0, 0, -1, -1, -5, 0,
-6, -6, 0, -6, 0, 0, 0, 0,
0, 0, 2, 0, 2, 0, 0, -2,
0, -2, 7, 0, -1, -2, 0, 0,
1, -2, -2, -5, -3, 0, -9, 0,
0, 0, -2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 0, 0, 0, 4,
0, 0, -3, 0, 0, -4, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -6, 6, 0, -15,
-22, -16, 7, -6, 0, -27, 0, 4,
0, 4, 4, 0, 0, 0, -23, 0,
-21, -9, 0, -18, -21, -6, -17, -20,
-21, -20, -17, -2, 3, 0, -5, -15,
-13, 0, -4, 0, -14, 0, 4, 0,
0, 0, 0, 0, 0, -15, 0, -12,
-3, 0, -8, -9, 0, -7, -4, -6,
-4, -7, 0, 0, 4, -18, 2, 0,
2, -7, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -5, 0, -7, 0,
0, -3, -3, -6, -6, -12, 0, -12,
0, -6, 3, 4, -14, -26, -21, 2,
-11, 0, -26, -5, 0, 0, 0, 0,
0, 0, 0, -22, 0, -21, -10, 0,
-16, -18, -7, -15, -14, -13, -14, -15,
0, 0, 2, -9, 4, 0, 2, -5,
0, 0, -2, 0, 0, 0, 0, 0,
0, 0, -1, 0, -3, 0, 0, 0,
0, 0, 0, -6, 0, -6, 0, 0,
-8, 0, 0, 0, 0, -6, 0, 0,
0, 0, -17, 0, -14, -13, -2, -19,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -2, 0, -2, 0, 0, -10,
0, -2, -6, 0, -8, 0, 0, 0,
0, -21, 0, -14, -12, -7, -21, 0,
-2, 0, 0, -2, 0, 0, 0, -1,
0, -4, -5, -4, -4, 0, 1, 0,
3, 5, 0, -2, 0, 0, 0, 0,
-15, 0, -10, -7, 3, -15, 0, 0,
0, -1, 2, 0, 0, 0, 4, 0,
0, 1, 0, 3, 0, 0, 3, 0,
0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -1, 0, 3, -1,
0, -5, 0, 0, 0, 0, -14, 0,
-12, -9, -3, -18, 0, 0, 0, 0,
0, 0, 0, 2, 0, 0, 0, -1,
0, 0, 0, 9, 0, -1, -15, 0,
9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -5, 0, -5, 0,
0, 0, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -5,
0, 0, 0, 0, -18, 0, -9, -8,
0, -16, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 8, 0,
0, 0, 0, 0, 0, 0, 0, -4,
0, 0, -5, 5, 0, -9, 0, 0,
0, 0, -18, 0, -12, -11, 0, -16,
0, -6, 0, -4, 0, 0, 0, -2,
0, -2, 0, 0, 0, 0, 0, 5,
0, 2, -21, -9, -6, 0, 0, -23,
0, 0, 0, -8, 0, -10, -14, 0,
-8, 0, -6, 0, 0, 0, -1, 6,
0, 0, 0, 0, 0, 0, -6, 0,
0, 0, 0, -6, 0, 0, 0, 0,
-19, 0, -14, -10, -1, -20, 0, 0,
0, 0, 0, 0, 0, 2, 0, 0,
-2, 0, -2, 2, 0, -1, 2, 0,
5, 0, -5, 0, 0, 0, 0, -13,
0, -9, 0, 0, -13, 0, 0, 0,
-2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -17,
-8, -5, 0, 0, -15, 0, -20, 0,
-9, -4, -12, -14, 0, -4, 0, -4,
0, 0, 0, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, -4, 2, 0,
-8, 0, 0, 0, 0, -21, 0, -11,
-6, 0, -13, 0, -3, 0, -5, 0,
0, 0, 0, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 0, -6,
0, 0, 0, 0, -19, 0, -11, -6,
0, -14, 0, -3, 0, -4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static const lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 31,
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_classes,
.kern_scale = 16,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 1,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_12px = {
#else
lv_font_t Number_HarmonyOS_bpp4_12px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 15, /*The maximum line height required by the font*/
.base_line = 3, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_12PX*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,751 @@
/*******************************************************************************
* Size: 44 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_44px.c --bpp 4 --size 44 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_44PX
#define NUMBER_HARMONYOS_BPP4_44PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_44PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0025 "%" */
0x0, 0x0, 0x0, 0x46, 0x75, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xb2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
0xff, 0xa0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x6, 0xff,
0xff, 0x92, 0x26, 0xef, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0x80, 0x0, 0x2, 0xff, 0xff, 0x20,
0x0, 0x0, 0xd, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x0, 0xf, 0xff, 0xf0, 0x0, 0x0, 0xa, 0xff,
0xf6, 0x0, 0x0, 0x7, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x1, 0xff, 0xfe, 0x0, 0x0, 0x0,
0x7f, 0xff, 0x70, 0x0, 0x2, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf0, 0x0,
0x0, 0x8, 0xff, 0xf7, 0x0, 0x0, 0xbf, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
0x40, 0x0, 0x0, 0xdf, 0xff, 0x40, 0x0, 0x4f,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9,
0xff, 0xfd, 0x20, 0x0, 0x9f, 0xff, 0xe0, 0x0,
0xd, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xff, 0xcb, 0xef, 0xff, 0xf8,
0x0, 0x7, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff,
0xfc, 0x0, 0x2, 0xff, 0xff, 0xa0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff,
0xff, 0xfa, 0x0, 0x0, 0xbf, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17,
0xce, 0xfd, 0xa4, 0x0, 0x0, 0x4f, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xbf, 0xff, 0xf1, 0x0, 0x0, 0x37,
0x99, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf7, 0x0, 0x3,
0xdf, 0xff, 0xff, 0xfc, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xfd, 0x0,
0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff,
0x40, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
0xff, 0xa0, 0x0, 0xbf, 0xff, 0xe5, 0x1, 0x6f,
0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xff, 0xf1, 0x0, 0x1f, 0xff, 0xf4, 0x0,
0x0, 0x5f, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0xf7, 0x0, 0x4, 0xff, 0xfc,
0x0, 0x0, 0x0, 0xef, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0xd, 0xff, 0xfd, 0x0, 0x0, 0x6f,
0xff, 0x90, 0x0, 0x0, 0xb, 0xff, 0xf4, 0x0,
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x30, 0x0,
0x5, 0xff, 0xfb, 0x0, 0x0, 0x0, 0xdf, 0xff,
0x30, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x3f, 0xff, 0xf1, 0x0, 0x0, 0x2f,
0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xf1, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xb0, 0x0,
0x1c, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0xea, 0xbf, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0xd, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0,
0x0, 0x8, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0,
0x0, 0x0, 0x2, 0xff, 0xff, 0xa0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3, 0x9d, 0xfe, 0xd8, 0x20,
0x0, 0x0,
/* U+002D "-" */
0x3b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
0x95, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfd, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfd,
/* U+002E "." */
0x2, 0xab, 0x70, 0x1, 0xef, 0xff, 0xa0, 0x6f,
0xff, 0xff, 0x17, 0xff, 0xff, 0xf1, 0x2f, 0xff,
0xfc, 0x0, 0x4d, 0xfa, 0x10,
/* U+002F "/" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef,
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4,
0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0xa, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xcf, 0xff, 0xa0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xc, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xf4, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8f, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xe, 0xff, 0xf8, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5f, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xc0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0x60,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0030 "0" */
0x0, 0x0, 0x0, 0x0, 0x46, 0x77, 0x52, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f, 0xff,
0xff, 0xff, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff,
0xfe, 0xcd, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0,
0xaf, 0xff, 0xff, 0x60, 0x0, 0x2a, 0xff, 0xff,
0xf3, 0x0, 0x2, 0xff, 0xff, 0xf4, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xfb, 0x0, 0x9, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0x20,
0xe, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0x70, 0x3f, 0xff, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x4, 0xff, 0xff, 0xc0, 0x6f, 0xff,
0xf9, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
0xf0, 0x8f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x0, 0xef, 0xff, 0xf2, 0xbf, 0xff, 0xf4, 0x0,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf4, 0xdf,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xf6, 0xdf, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x9f, 0xff, 0xf7, 0xef, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf7,
0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xff, 0xf8, 0xff, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8f, 0xff, 0xf8, 0xef, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xf7, 0xdf, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9f, 0xff, 0xf6, 0xcf, 0xff, 0xf3, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf5, 0xaf,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf,
0xff, 0xf3, 0x7f, 0xff, 0xf7, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xf0, 0x5f, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xe0,
0x1f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x6,
0xff, 0xff, 0x90, 0xb, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0xc, 0xff, 0xff, 0x40, 0x6, 0xff,
0xff, 0xd0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff,
0x0, 0x0, 0xef, 0xff, 0xfa, 0x0, 0x0, 0x3,
0xef, 0xff, 0xf7, 0x0, 0x0, 0x6f, 0xff, 0xff,
0xd6, 0x45, 0x9f, 0xff, 0xff, 0xe0, 0x0, 0x0,
0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x8,
0xff, 0xff, 0xff, 0xff, 0xfd, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x17, 0xce, 0xff, 0xda, 0x50,
0x0, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x0, 0x4d, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x2b, 0xff, 0xff, 0xf6, 0x0, 0x0,
0x19, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x7, 0xef,
0xff, 0xff, 0xff, 0xf6, 0x4, 0xdf, 0xff, 0xff,
0xff, 0xff, 0xf6, 0xaf, 0xff, 0xff, 0xfe, 0xcf,
0xff, 0xf6, 0xdf, 0xff, 0xff, 0x91, 0x6f, 0xff,
0xf6, 0xdf, 0xff, 0xb2, 0x0, 0x6f, 0xff, 0xf6,
0xdf, 0xd4, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0xb6,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6,
/* U+0032 "2" */
0x0, 0x0, 0x0, 0x0, 0x46, 0x77, 0x52, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xaf, 0xff,
0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0,
0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x20, 0x0, 0x0, 0xdf, 0xff, 0xff,
0xfd, 0xce, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x9,
0xff, 0xff, 0xf8, 0x10, 0x0, 0x3c, 0xff, 0xff,
0xf6, 0x0, 0x1f, 0xff, 0xff, 0x40, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xfc, 0x0, 0x7f, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0x10,
0x4d, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xe,
0xff, 0xff, 0x30, 0x0, 0x6e, 0x50, 0x0, 0x0,
0x0, 0x0, 0xb, 0xff, 0xff, 0x40, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x90, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff,
0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3, 0xff, 0xff, 0xfd, 0x10, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff,
0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xdf, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc, 0xff, 0xff, 0xf4, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8f, 0xff, 0xff, 0x80, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xfa,
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x5f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf4, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf4, 0xcf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4,
0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf4,
/* U+0033 "3" */
0x0, 0x0, 0x0, 0x0, 0x15, 0x67, 0x75, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xdf,
0xff, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x20, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x2f,
0xff, 0xff, 0xfe, 0xcb, 0xdf, 0xff, 0xff, 0xfd,
0x0, 0x0, 0xb, 0xff, 0xff, 0xe5, 0x0, 0x0,
0x2c, 0xff, 0xff, 0xf5, 0x0, 0x3, 0xff, 0xff,
0xd1, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xb0,
0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xfe, 0x0, 0x0, 0x4d, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf0, 0x0,
0x0, 0x6, 0x20, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3, 0xff, 0xff, 0xd0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff,
0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x25, 0xcf, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff,
0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff,
0xfe, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0x23, 0x59, 0xff, 0xff,
0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0xaf, 0xff, 0xff, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xdf, 0xff, 0xf2, 0x0, 0x8, 0xe0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0x20,
0x6e, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x3,
0xff, 0xff, 0xf0, 0xd, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc, 0x0, 0x7f,
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0x60, 0x0, 0xdf, 0xff, 0xff, 0xd7, 0x32,
0x37, 0xdf, 0xff, 0xff, 0xd0, 0x0, 0x2, 0xef,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2,
0x0, 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x7e,
0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xad, 0xef, 0xfd, 0xa6,
0x10, 0x0, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x8f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xe1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xfb, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6, 0xff, 0xff, 0xa0, 0x0, 0x13,
0x33, 0x31, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff,
0xff, 0x20, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x7f, 0xff, 0xf9, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x8, 0xff, 0xff, 0x70, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xfe,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x3, 0xff, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0xb, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x6f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
/* U+0035 "5" */
0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf9, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9,
0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0x0, 0x0, 0xb, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xf, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xaf, 0xff, 0xd4, 0x9d, 0xff, 0xeb,
0x71, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x10, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x0, 0x2, 0xff, 0xff,
0xfd, 0x74, 0x24, 0x8f, 0xff, 0xff, 0xf8, 0x0,
0x4, 0xff, 0xff, 0x80, 0x0, 0x0, 0x1, 0xdf,
0xff, 0xff, 0x10, 0x0, 0x4c, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x1f, 0xff, 0xff, 0x70, 0x0, 0x0,
0x30, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x40,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xe0,
0x0, 0x3c, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xff, 0xa0, 0x9, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x1e, 0xff, 0xff, 0x50, 0xa, 0xff,
0xff, 0xa0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xfe,
0x0, 0x3, 0xff, 0xff, 0xfd, 0x73, 0x24, 0x8e,
0xff, 0xff, 0xf5, 0x0, 0x0, 0x8f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0,
0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x5d, 0xff, 0xff, 0xff,
0xff, 0xfd, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5a, 0xdf, 0xff, 0xd9, 0x40, 0x0, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xef, 0xff, 0xf4, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff,
0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xcf, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff,
0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1e, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xf8, 0x1, 0x10,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
0xfd, 0xff, 0xff, 0xc7, 0x10, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0xef, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0,
0x7, 0xff, 0xff, 0xff, 0x83, 0x0, 0x27, 0xff,
0xff, 0xff, 0x40, 0xe, 0xff, 0xff, 0xe2, 0x0,
0x0, 0x0, 0x2d, 0xff, 0xff, 0xd0, 0x3f, 0xff,
0xff, 0x30, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
0xf4, 0x7f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xf8, 0x9f, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfb, 0xaf,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xfc, 0x9f, 0xff, 0xf5, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4f, 0xff, 0xfc, 0x8f, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfa,
0x4f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xf7, 0xf, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0x4, 0xff, 0xff, 0xf2, 0x8, 0xff,
0xff, 0xf4, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff,
0xa0, 0x1, 0xef, 0xff, 0xff, 0xb5, 0x33, 0x5a,
0xff, 0xff, 0xff, 0x20, 0x0, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0,
0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x50, 0x0, 0x0, 0x0, 0x1a, 0xff, 0xff, 0xff,
0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x27, 0xbe, 0xff, 0xec, 0x82, 0x0, 0x0, 0x0,
/* U+0037 "7" */
0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0x9f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x9f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x5f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xdf, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1f, 0xff, 0xfe, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xef, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0xb0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x0, 0x0, 0x1, 0x46, 0x77, 0x63, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xbf, 0xff,
0xff, 0xff, 0xe9, 0x10, 0x0, 0x0, 0x0, 0x0,
0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0,
0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x60, 0x0, 0x0, 0x9f, 0xff, 0xff,
0xea, 0x88, 0xbf, 0xff, 0xff, 0xf2, 0x0, 0x3,
0xff, 0xff, 0xf9, 0x0, 0x0, 0x2, 0xdf, 0xff,
0xfa, 0x0, 0x9, 0xff, 0xff, 0xa0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xff, 0x0, 0xc, 0xff, 0xff,
0x30, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x30,
0xd, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x6,
0xff, 0xff, 0x40, 0xc, 0xff, 0xff, 0x20, 0x0,
0x0, 0x0, 0x7, 0xff, 0xff, 0x30, 0x9, 0xff,
0xff, 0x60, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff,
0x0, 0x3, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xfa, 0x0, 0x0, 0x9f, 0xff, 0xfe,
0x72, 0x0, 0x3a, 0xff, 0xff, 0xe2, 0x0, 0x0,
0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x30, 0x0, 0x0, 0x0, 0x6e, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x0, 0x0,
0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x80, 0x0, 0x1, 0xdf, 0xff, 0xff, 0x94,
0x23, 0x5b, 0xff, 0xff, 0xf7, 0x0, 0xa, 0xff,
0xff, 0xd1, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff,
0x30, 0x3f, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0xb0, 0x8f, 0xff, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xf1, 0xcf,
0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xf5, 0xef, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7f, 0xff, 0xf7, 0xff, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf7,
0xef, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9f, 0xff, 0xf6, 0xbf, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xf4, 0x7f, 0xff,
0xfe, 0x10, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0xf0, 0x1f, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xff, 0x90, 0x8, 0xff, 0xff, 0xff,
0x84, 0x23, 0x5b, 0xff, 0xff, 0xfe, 0x10, 0x0,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf5, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x6e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x49, 0xce, 0xff, 0xeb, 0x82,
0x0, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x0, 0x0, 0x0, 0x14, 0x67, 0x75, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xcf,
0xff, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
0x30, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x1e,
0xff, 0xff, 0xff, 0xcb, 0xcf, 0xff, 0xff, 0xff,
0x30, 0x0, 0xb, 0xff, 0xff, 0xf8, 0x10, 0x0,
0x7, 0xff, 0xff, 0xfd, 0x0, 0x4, 0xff, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf5,
0x0, 0xaf, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0xb0, 0xe, 0xff, 0xff, 0x30,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0x1,
0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xf2, 0x2f, 0xff, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0x32, 0xff,
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf,
0xff, 0xf3, 0x1f, 0xff, 0xff, 0x0, 0x0, 0x0,
0x0, 0x0, 0xe, 0xff, 0xff, 0x20, 0xef, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
0xf0, 0xa, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xfb, 0x0, 0x4f, 0xff, 0xff,
0xa0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0x60,
0x0, 0xbf, 0xff, 0xff, 0xd5, 0x10, 0x14, 0xbf,
0xff, 0xff, 0xe0, 0x0, 0x1, 0xef, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0,
0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfd, 0x0, 0x0, 0x0, 0x1, 0xbf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0x0, 0x39, 0xef, 0xff, 0xfe, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x11,
0xef, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xaf, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x90,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xcf, 0xff, 0xf5, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5,
0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xef, 0xff, 0xf4, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0,
/* U+003A ":" */
0x0, 0x26, 0x50, 0x0, 0x4f, 0xff, 0xd1, 0xd,
0xff, 0xff, 0x80, 0xff, 0xff, 0xfa, 0xc, 0xff,
0xff, 0x70, 0x2e, 0xff, 0xb0, 0x0, 0x3, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5, 0xa9, 0x20, 0x7,
0xff, 0xff, 0x20, 0xef, 0xff, 0xf9, 0xf, 0xff,
0xff, 0xa0, 0xaf, 0xff, 0xf5, 0x0, 0xae, 0xd6,
0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 562, .box_w = 35, .box_h = 33, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 578, .adv_w = 344, .box_w = 17, .box_h = 4, .ofs_x = 2, .ofs_y = 11},
{.bitmap_index = 612, .adv_w = 170, .box_w = 7, .box_h = 6, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 633, .adv_w = 284, .box_w = 18, .box_h = 32, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 921, .adv_w = 408, .box_w = 22, .box_h = 33, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1284, .adv_w = 408, .box_w = 14, .box_h = 32, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 1508, .adv_w = 408, .box_w = 22, .box_h = 33, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1871, .adv_w = 408, .box_w = 23, .box_h = 33, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2251, .adv_w = 408, .box_w = 24, .box_h = 32, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2635, .adv_w = 408, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2987, .adv_w = 408, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3339, .adv_w = 408, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3691, .adv_w = 408, .box_w = 22, .box_h = 33, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4054, .adv_w = 408, .box_w = 23, .box_h = 33, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 4434, .adv_w = 187, .box_w = 7, .box_h = 23, .ofs_x = 2, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-31, -100, -65
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_44px = {
#else
lv_font_t Number_HarmonyOS_bpp4_44px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 33, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_44PX*/

View File

@ -0,0 +1,822 @@
/*******************************************************************************
* Size: 46 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_46px.c --bpp 4 --size 46 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_46PX
#define NUMBER_HARMONYOS_BPP4_46PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_46PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0025 "%" */
0x0, 0x0, 0x0, 0x36, 0x76, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6d, 0xff, 0xff, 0xfe,
0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff,
0xff, 0x90, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0,
0x0, 0x0, 0x8f, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x4, 0xff, 0xff, 0xf9, 0x68, 0xef, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xd0, 0x0,
0x0, 0x0, 0xb, 0xff, 0xfe, 0x20, 0x0, 0x1d,
0xff, 0xfc, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
0x30, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf7, 0x0,
0x0, 0x4, 0xff, 0xff, 0x0, 0x0, 0x0, 0x5f,
0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff,
0xf2, 0x0, 0x0, 0x0, 0xff, 0xff, 0x30, 0x0,
0x0, 0xdf, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x1f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xef, 0xff,
0x30, 0x0, 0x7, 0xff, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0xf4, 0x0, 0x0, 0x1,
0xff, 0xff, 0x20, 0x0, 0x1f, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xfc, 0x0,
0x0, 0x9, 0xff, 0xfe, 0x0, 0x0, 0xaf, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff,
0xff, 0xa2, 0x2, 0x9f, 0xff, 0xf9, 0x0, 0x4,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1,
0x0, 0xd, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff,
0xff, 0x40, 0x0, 0x7f, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xdf, 0xff,
0xff, 0xff, 0xe3, 0x0, 0x1, 0xff, 0xff, 0xe0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5, 0xad, 0xed, 0xb5, 0x0, 0x0, 0xa, 0xff,
0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xcf, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xfe,
0x0, 0x0, 0x17, 0xce, 0xfd, 0x93, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xf6, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0xc0, 0x0, 0x6f, 0xff, 0xff,
0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc, 0xff, 0xff, 0x30, 0x3, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf9, 0x0,
0xc, 0xff, 0xff, 0x71, 0x5, 0xef, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff,
0xe1, 0x0, 0x2f, 0xff, 0xf7, 0x0, 0x0, 0x2f,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8,
0xff, 0xff, 0x60, 0x0, 0x5f, 0xff, 0xe0, 0x0,
0x0, 0x9, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xfd, 0x0, 0x0, 0x7f, 0xff,
0xb0, 0x0, 0x0, 0x6, 0xff, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xf3, 0x0, 0x0,
0x8f, 0xff, 0xa0, 0x0, 0x0, 0x5, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x7f, 0xff, 0xc0, 0x0, 0x0, 0x7,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0x10, 0x0, 0x0, 0x4f, 0xff, 0xf2, 0x0,
0x0, 0xc, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0xf, 0xff,
0xfc, 0x0, 0x0, 0x7f, 0xff, 0xf5, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0xe8, 0x7c, 0xff, 0xff, 0xd0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff,
0xff, 0x30, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff,
0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9f, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1, 0x57, 0x76, 0x20, 0x0, 0x0,
/* U+002D "-" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfb, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfb, 0x3f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfb, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfb,
/* U+002E "." */
0x1, 0x9c, 0x91, 0x0, 0xcf, 0xff, 0xe0, 0x4f,
0xff, 0xff, 0x65, 0xff, 0xff, 0xf8, 0x2f, 0xff,
0xff, 0x40, 0x8f, 0xff, 0xa0, 0x0, 0x47, 0x40,
0x0,
/* U+002F "/" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff,
0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2f, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff,
0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0xd, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff,
0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xdf, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3, 0xff, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x10, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xfb, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff,
0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
/* U+0030 "0" */
0x0, 0x0, 0x0, 0x0, 0x25, 0x77, 0x64, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xcf,
0xff, 0xff, 0xff, 0xa2, 0x0, 0x0, 0x0, 0x0,
0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5,
0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0x83, 0x24,
0xaf, 0xff, 0xff, 0xe1, 0x0, 0x0, 0xcf, 0xff,
0xfe, 0x20, 0x0, 0x0, 0x6f, 0xff, 0xff, 0x80,
0x0, 0x4f, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0x9f, 0xff, 0xff, 0x0, 0x9, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf5, 0x0,
0xef, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xff, 0xa0, 0x2f, 0xff, 0xff, 0x10, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe, 0x5, 0xff,
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
0xff, 0xf1, 0x8f, 0xff, 0xfb, 0x0, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0xff, 0x3a, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff,
0xf5, 0xbf, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x7d, 0xff, 0xff, 0x60,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf8,
0xdf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
0xb, 0xff, 0xff, 0x9e, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf9, 0xef,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xff, 0x9d, 0xff, 0xff, 0x60, 0x0, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xf9, 0xdf, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff,
0xff, 0x8c, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0,
0x0, 0x0, 0xdf, 0xff, 0xf7, 0xaf, 0xff, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
0x58, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xf3, 0x5f, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0x12,
0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x6,
0xff, 0xff, 0xe0, 0xe, 0xff, 0xff, 0x60, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xfa, 0x0, 0xaf,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff,
0xff, 0x50, 0x4, 0xff, 0xff, 0xf4, 0x0, 0x0,
0x0, 0x9, 0xff, 0xff, 0xf0, 0x0, 0xd, 0xff,
0xff, 0xe2, 0x0, 0x0, 0x6, 0xff, 0xff, 0xf8,
0x0, 0x0, 0x4f, 0xff, 0xff, 0xf8, 0x32, 0x4a,
0xff, 0xff, 0xfe, 0x10, 0x0, 0x0, 0xaf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xff, 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5c, 0xff, 0xff, 0xff, 0xfa, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x57,
0x76, 0x41, 0x0, 0x0, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x5e, 0xff, 0xff, 0xf2, 0x0,
0x0, 0x3, 0xcf, 0xff, 0xff, 0xff, 0x20, 0x0,
0x19, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x6e,
0xff, 0xff, 0xff, 0xff, 0xff, 0x23, 0xdf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf2, 0xaf, 0xff, 0xff,
0xfb, 0x2d, 0xff, 0xff, 0x2a, 0xff, 0xff, 0xd4,
0x0, 0xdf, 0xff, 0xf2, 0xaf, 0xfe, 0x60, 0x0,
0xd, 0xff, 0xff, 0x2a, 0xf8, 0x10, 0x0, 0x0,
0xdf, 0xff, 0xf2, 0x52, 0x0, 0x0, 0x0, 0xd,
0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x20, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0xd, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0xdf, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0xdf, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xd,
0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xf2,
/* U+0032 "2" */
0x0, 0x0, 0x0, 0x0, 0x25, 0x67, 0x64, 0x10,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xdf,
0xff, 0xff, 0xff, 0xb4, 0x0, 0x0, 0x0, 0x0,
0x0, 0x5e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9,
0x0, 0x0, 0x3f, 0xff, 0xff, 0xfa, 0x42, 0x25,
0xbf, 0xff, 0xff, 0xf3, 0x0, 0xc, 0xff, 0xff,
0xe3, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xa0,
0x3, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf2, 0x0,
0x5d, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xff, 0x40, 0x0, 0x7, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xf4, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff,
0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xef, 0xff, 0xfe, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xff,
0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xa0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xe1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xff, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1d, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff,
0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xff, 0xfe, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x27, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x5b, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xbf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x50,
/* U+0033 "3" */
0x0, 0x0, 0x0, 0x0, 0x3, 0x67, 0x76, 0x40,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x29,
0xff, 0xff, 0xff, 0xff, 0xb4, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x90, 0x0, 0x0, 0x5f, 0xff, 0xff,
0xe7, 0x31, 0x15, 0xbf, 0xff, 0xff, 0xf2, 0x0,
0x0, 0xef, 0xff, 0xfb, 0x10, 0x0, 0x0, 0x7,
0xff, 0xff, 0xf9, 0x0, 0x4, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfd, 0x0,
0x3, 0xcf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0xff, 0x0, 0x0, 0x5, 0xea, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0x0,
0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xef, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x38, 0xef,
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff,
0xfc, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff,
0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
0x26, 0x77, 0x9c, 0xff, 0xff, 0xff, 0xf4, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x19,
0xff, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x20, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf3,
0x0, 0x19, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xf2, 0x6, 0xef, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xf0,
0xc, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0xe, 0xff, 0xff, 0xc0, 0x5, 0xff, 0xff, 0xfa,
0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0x60,
0x0, 0xcf, 0xff, 0xff, 0xe8, 0x30, 0x2, 0x7e,
0xff, 0xff, 0xfe, 0x0, 0x0, 0x2e, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0,
0x0, 0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x1b, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3a, 0xff, 0xff, 0xff, 0xff,
0xc6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0x67, 0x76, 0x41, 0x0, 0x0, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0x60,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xfa, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xff, 0xff, 0x10, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xe0, 0x0,
0x8, 0xee, 0xee, 0x40, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0x60, 0x0, 0x9, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfd,
0x0, 0x0, 0x9, 0xff, 0xff, 0x40, 0x0, 0x0,
0x0, 0x0, 0xef, 0xff, 0xf5, 0x0, 0x0, 0x9,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x7, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x1e, 0xff, 0xff, 0x40, 0x0,
0x0, 0x9, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0x8f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0x40, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x40, 0x0,
0x0, 0x9, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0x40, 0x0, 0x0, 0x2f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf1, 0x5f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1,
0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf1, 0x5f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x15, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x5b, 0xff, 0xff, 0x85, 0x55, 0x50, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x9, 0xff, 0xff, 0x40, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x40,
0x0, 0x0,
/* U+0035 "5" */
0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf9, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9,
0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0x0, 0x0, 0x7f, 0xff, 0xf9,
0x66, 0x66, 0x66, 0x66, 0x66, 0x63, 0x0, 0x0,
0x9f, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xf0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xa0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x5, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x46,
0xbe, 0xff, 0xda, 0x50, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50,
0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0x0, 0x0, 0xd, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0,
0xf, 0xff, 0xff, 0xff, 0xb9, 0x9b, 0xff, 0xff,
0xff, 0xf4, 0x0, 0x1f, 0xff, 0xff, 0x81, 0x0,
0x0, 0x1a, 0xff, 0xff, 0xfd, 0x0, 0xa, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff,
0x50, 0x0, 0x2a, 0x70, 0x0, 0x0, 0x0, 0x0,
0x1e, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xe0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0xff, 0xff, 0xf1, 0x0, 0x4, 0x20, 0x0, 0x0,
0x0, 0x0, 0x6, 0xff, 0xff, 0xe0, 0x2, 0xbf,
0x90, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
0xb0, 0x8f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xff, 0x60, 0x8f, 0xff, 0xfd, 0x20,
0x0, 0x0, 0x2, 0xef, 0xff, 0xfe, 0x0, 0x1f,
0xff, 0xff, 0xf8, 0x30, 0x3, 0x8f, 0xff, 0xff,
0xf6, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0xaf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x80, 0x0, 0x0, 0x0, 0x0, 0x29, 0xff, 0xff,
0xff, 0xff, 0x92, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3, 0x67, 0x76, 0x30, 0x0, 0x0, 0x0,
0x0,
/* U+0036 "6" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd,
0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0x10,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfd, 0x46,
0x76, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x30, 0x0,
0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x90, 0x0, 0x0, 0x2, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xa0, 0x0, 0x2f, 0xff, 0xff, 0xfd,
0x51, 0x1, 0x4b, 0xff, 0xff, 0xff, 0x50, 0x9,
0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x6, 0xff,
0xff, 0xfd, 0x0, 0xef, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xf3, 0x3f, 0xff,
0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0x86, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xaf, 0xff, 0xfb, 0x7f, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0xd8, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xfd, 0x7f, 0xff, 0xfb, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xd5,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xfb, 0x2f, 0xff, 0xff, 0x30, 0x0,
0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x70, 0xdf,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0xf2, 0x6, 0xff, 0xff, 0xfa, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xfb, 0x0, 0xd, 0xff,
0xff, 0xfd, 0x62, 0x12, 0x5c, 0xff, 0xff, 0xff,
0x20, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x4f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0,
0x0, 0x0, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0x50, 0x0, 0x0, 0x0, 0x0, 0x6, 0xcf,
0xff, 0xff, 0xff, 0xd7, 0x10, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x15, 0x67, 0x75, 0x20, 0x0,
0x0, 0x0, 0x0,
/* U+0037 "7" */
0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x17, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x7f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x17, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x26, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xcf, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xe, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3f, 0xff, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xe0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1f, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xef, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2, 0xff, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xe, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xe0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x20, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1f, 0xff, 0xff, 0x60, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x0, 0x0, 0x0, 0x25, 0x77, 0x75, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0xef,
0xff, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
0x20, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x3f,
0xff, 0xff, 0xff, 0xed, 0xef, 0xff, 0xff, 0xfd,
0x0, 0x0, 0xd, 0xff, 0xff, 0xf9, 0x20, 0x0,
0x3b, 0xff, 0xff, 0xf7, 0x0, 0x4, 0xff, 0xff,
0xf7, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xe0,
0x0, 0x8f, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0xff, 0x20, 0xb, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf4, 0x0,
0xbf, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0x40, 0x9, 0xff, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xf3, 0x0, 0x5f,
0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff,
0xff, 0x0, 0x0, 0xef, 0xff, 0xf9, 0x0, 0x0,
0x0, 0xb, 0xff, 0xff, 0x90, 0x0, 0x5, 0xff,
0xff, 0xfb, 0x41, 0x1, 0x5d, 0xff, 0xff, 0xe1,
0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x4, 0xef,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0, 0x0,
0x0, 0x0, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfa, 0x10, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0,
0x7f, 0xff, 0xff, 0xfc, 0x98, 0x9d, 0xff, 0xff,
0xff, 0x30, 0x0, 0x4f, 0xff, 0xff, 0xc2, 0x0,
0x0, 0x4, 0xef, 0xff, 0xfe, 0x0, 0xd, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xff,
0xf8, 0x4, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x5, 0xff, 0xff, 0xe0, 0x9f, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
0x3c, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xf6, 0xdf, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x8d,
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xf8, 0xcf, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0x7a, 0xff,
0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff,
0xff, 0xf4, 0x5f, 0xff, 0xff, 0x50, 0x0, 0x0,
0x0, 0x0, 0x9f, 0xff, 0xff, 0x0, 0xef, 0xff,
0xff, 0x40, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff,
0xa0, 0x7, 0xff, 0xff, 0xff, 0xa4, 0x10, 0x15,
0xbf, 0xff, 0xff, 0xf2, 0x0, 0xc, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0,
0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x0, 0x2, 0x9e, 0xff, 0xff, 0xff, 0xfe, 0x81,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x57,
0x77, 0x52, 0x0, 0x0, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x0, 0x0, 0x0, 0x3, 0x67, 0x76, 0x40,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x29,
0xef, 0xff, 0xff, 0xff, 0xb4, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x20, 0x0,
0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xd1, 0x0, 0x0, 0x6f, 0xff, 0xff,
0xf9, 0x41, 0x13, 0x7e, 0xff, 0xff, 0xfa, 0x0,
0x0, 0xef, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x1,
0xcf, 0xff, 0xff, 0x20, 0x6, 0xff, 0xff, 0xf4,
0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xff, 0x90,
0xb, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0xe0, 0xf, 0xff, 0xff, 0x60,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf1,
0xf, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0,
0x0, 0xef, 0xff, 0xf4, 0x1f, 0xff, 0xff, 0x30,
0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xf4,
0xf, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xf4, 0xe, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf2,
0xb, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0xf0, 0x6, 0xff, 0xff, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xa0,
0x0, 0xef, 0xff, 0xff, 0x91, 0x0, 0x0, 0x6,
0xff, 0xff, 0xff, 0x50, 0x0, 0x5f, 0xff, 0xff,
0xff, 0xa8, 0x79, 0xef, 0xff, 0xff, 0xfe, 0x0,
0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x5, 0xef, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x5,
0xad, 0xff, 0xec, 0xff, 0xff, 0xfb, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1e, 0xff, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff,
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff,
0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xa, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0x30,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xaf, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0,
/* U+003A ":" */
0x1, 0x66, 0x20, 0x2, 0xef, 0xff, 0x40, 0xaf,
0xff, 0xfd, 0xd, 0xff, 0xff, 0xf0, 0xcf, 0xff,
0xff, 0x4, 0xff, 0xff, 0x70, 0x4, 0xbb, 0x60,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3a, 0xa5, 0x0, 0x4f, 0xff,
0xf7, 0xc, 0xff, 0xff, 0xe0, 0xdf, 0xff, 0xff,
0xa, 0xff, 0xff, 0xd0, 0x2e, 0xff, 0xf4, 0x0,
0x16, 0x62, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 587, .box_w = 36, .box_h = 36, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 648, .adv_w = 360, .box_w = 18, .box_h = 5, .ofs_x = 2, .ofs_y = 12},
{.bitmap_index = 693, .adv_w = 178, .box_w = 7, .box_h = 7, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 718, .adv_w = 297, .box_w = 18, .box_h = 34, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1024, .adv_w = 427, .box_w = 23, .box_h = 36, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 1438, .adv_w = 427, .box_w = 15, .box_h = 34, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 1693, .adv_w = 427, .box_w = 23, .box_h = 35, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2096, .adv_w = 427, .box_w = 24, .box_h = 36, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 2528, .adv_w = 427, .box_w = 26, .box_h = 34, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2970, .adv_w = 427, .box_w = 22, .box_h = 35, .ofs_x = 3, .ofs_y = -1},
{.bitmap_index = 3355, .adv_w = 427, .box_w = 23, .box_h = 35, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 3758, .adv_w = 427, .box_w = 23, .box_h = 34, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4149, .adv_w = 427, .box_w = 23, .box_h = 36, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 4563, .adv_w = 427, .box_w = 24, .box_h = 35, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 4983, .adv_w = 195, .box_w = 7, .box_h = 26, .ofs_x = 3, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-32, -105, -68
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_46px = {
#else
lv_font_t Number_HarmonyOS_bpp4_46px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 36, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_46PX*/

View File

@ -0,0 +1,929 @@
/*******************************************************************************
* Size: 50 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_50px.c --bpp 4 --size 50 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_50PX
#define NUMBER_HARMONYOS_BPP4_50PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_50PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0025 "%" */
0x0, 0x0, 0x0, 0x15, 0x77, 0x63, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff,
0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0x4, 0xef, 0xff, 0xff, 0xff, 0xff, 0xb1, 0x0,
0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x4,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xff, 0xdb, 0xef, 0xff, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xfd, 0x30, 0x0, 0x7f,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
0x20, 0x0, 0x0, 0x8f, 0xff, 0xf5, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x1, 0xff,
0xff, 0x80, 0x0, 0x0, 0xa, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf8, 0x0,
0x0, 0x0, 0xe, 0xff, 0xfa, 0x0, 0x0, 0x3,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0xef, 0xff,
0x90, 0x0, 0x0, 0xcf, 0xff, 0xf9, 0x0, 0x0,
0x0, 0x0, 0x0, 0xe, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xf8, 0x0, 0x0, 0x6f, 0xff,
0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xf5, 0x0, 0x0, 0xa, 0xff, 0xff, 0x40,
0x0, 0x1e, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0xf7, 0x10, 0x3b,
0xff, 0xff, 0xe0, 0x0, 0x9, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x3,
0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf9, 0x0, 0x0, 0xcf, 0xff, 0xf9, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x5f, 0xff,
0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6, 0xdf, 0xff, 0xff, 0xa3, 0x0,
0x0, 0xe, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13,
0x32, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xfa, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff,
0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x70, 0x0, 0x0, 0x6b,
0xef, 0xfc, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xd0,
0x0, 0x3, 0xef, 0xff, 0xff, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
0xff, 0xff, 0xf4, 0x0, 0x5, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xaf, 0xff, 0xfb, 0x0, 0x2,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
0xff, 0x20, 0x0, 0xcf, 0xff, 0xfe, 0x74, 0x6d,
0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x80, 0x0, 0x3f, 0xff,
0xfd, 0x10, 0x0, 0xb, 0xff, 0xff, 0x70, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xe0,
0x0, 0x7, 0xff, 0xff, 0x40, 0x0, 0x0, 0x1f,
0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xff, 0xf5, 0x0, 0x0, 0xaf, 0xff, 0xe0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xaf, 0xff, 0xfc, 0x0, 0x0,
0xb, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
0xff, 0x30, 0x0, 0x0, 0xbf, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x9f, 0xff, 0xf0, 0x0, 0x0, 0x0,
0x0, 0xc, 0xff, 0xff, 0x90, 0x0, 0x0, 0x9,
0xff, 0xff, 0x10, 0x0, 0x0, 0xd, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xe1,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf8, 0x0, 0x0,
0x4, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x1,
0xef, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x1, 0xff,
0xff, 0xf7, 0x0, 0x5, 0xff, 0xff, 0xf4, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xce, 0xff,
0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x10, 0x0, 0x0,
0x0, 0xc, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xfd,
0x20, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xef,
0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x36, 0x77, 0x40, 0x0, 0x0,
0x0,
/* U+002D "-" */
0x56, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x6f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60,
/* U+002E "." */
0x0, 0x3, 0x30, 0x0, 0x2, 0xdf, 0xfd, 0x20,
0xc, 0xff, 0xff, 0xd0, 0x1f, 0xff, 0xff, 0xf3,
0x2f, 0xff, 0xff, 0xf3, 0xd, 0xff, 0xff, 0xe0,
0x3, 0xff, 0xff, 0x40, 0x0, 0x17, 0x71, 0x0,
/* U+002F "/" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf,
0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0x80, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xa0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5f, 0xff, 0xfb, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf5, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3f, 0xff, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xa, 0xff, 0xff, 0x60, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
/* U+0030 "0" */
0x0, 0x0, 0x0, 0x0, 0x1, 0x57, 0x77, 0x51,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5c, 0xff, 0xff, 0xff, 0xfd, 0x60, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x2,
0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0,
0x9f, 0xff, 0xff, 0xfe, 0xa8, 0xae, 0xff, 0xff,
0xff, 0xa0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xf8,
0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0x30, 0x0,
0xa, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x7,
0xff, 0xff, 0xfb, 0x0, 0x1, 0xff, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xf2,
0x0, 0x6f, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xff, 0x70, 0xb, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
0xfb, 0x0, 0xef, 0xff, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc, 0xff, 0xff, 0xf0, 0x2f, 0xff,
0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xff, 0x24, 0xff, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xf5, 0x6f,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xff, 0x78, 0xff, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xf9,
0x9f, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xff, 0xaa, 0xff, 0xff, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
0xfb, 0xaf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0xff, 0xbb, 0xff, 0xff,
0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xff, 0xfb, 0xaf, 0xff, 0xff, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xba, 0xff,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xff, 0xfb, 0x9f, 0xff, 0xff, 0x10, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xa8,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xf9, 0x7f, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff,
0x74, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6, 0xff, 0xff, 0xf5, 0x2f, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
0xff, 0x20, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc, 0xff, 0xff, 0xf0, 0xb, 0xff,
0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xff, 0xfc, 0x0, 0x6f, 0xff, 0xff, 0x60, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0x70, 0x1,
0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xd,
0xff, 0xff, 0xf2, 0x0, 0xb, 0xff, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xfb, 0x0,
0x0, 0x3f, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xfe, 0x98, 0x9e, 0xff, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x2,
0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2,
0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5c, 0xff, 0xff, 0xff, 0xfd, 0x60,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0x57, 0x77, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x5e, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x3c, 0xff, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x19, 0xff, 0xff, 0xff, 0xfc,
0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x0, 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x2, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x3f, 0xff, 0xff, 0xff, 0xfb, 0xcf, 0xff, 0xfc,
0x4f, 0xff, 0xff, 0xfd, 0x40, 0xbf, 0xff, 0xfc,
0x4f, 0xff, 0xfe, 0x60, 0x0, 0xbf, 0xff, 0xfc,
0x4f, 0xff, 0x91, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x4f, 0xb2, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x24, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc,
/* U+0032 "2" */
0x0, 0x0, 0x0, 0x0, 0x1, 0x56, 0x77, 0x52,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0x7d, 0xff, 0xff, 0xff, 0xfd, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0xff,
0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6,
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x9,
0xff, 0xff, 0xff, 0xfb, 0x88, 0xae, 0xff, 0xff,
0xff, 0xe0, 0x0, 0x3, 0xff, 0xff, 0xff, 0x91,
0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0x60, 0x0,
0xbf, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xf0,
0x2, 0xef, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9f, 0xff, 0xff, 0x30, 0x0, 0x7f, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0xf4, 0x0, 0x0, 0x19, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5f, 0xff, 0xff, 0x50, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff,
0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0x10, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xef, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6f, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2e, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff,
0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff,
0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1, 0xdf, 0xff, 0xff, 0xd1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff,
0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff,
0xfe, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
0xd6, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf7, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf7,
/* U+0033 "3" */
0x0, 0x0, 0x0, 0x0, 0x3, 0x67, 0x76, 0x51,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0xaf, 0xff, 0xff, 0xff, 0xfd, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1a, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x2e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x1e, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0xc,
0xff, 0xff, 0xff, 0xd9, 0x77, 0xae, 0xff, 0xff,
0xff, 0xd0, 0x0, 0x5, 0xff, 0xff, 0xfe, 0x50,
0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0x50, 0x0,
0xdf, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0xfa, 0x0, 0x2f, 0xff, 0xff, 0x30,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xe0,
0x0, 0x5d, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xff, 0x0, 0x0, 0x7, 0xf3,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0xf0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xcf, 0xff, 0xff, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff,
0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4b, 0xff, 0xff, 0xff, 0x60, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6c, 0xcd, 0xff, 0xff,
0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff,
0xff, 0xff, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x13, 0x5a, 0xff, 0xff,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0xf3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9f, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xff, 0x40, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0xf5, 0x0, 0x2b,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xff, 0x41, 0x9f, 0xff, 0x40, 0x0, 0x0,
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xf2, 0xaf,
0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
0xff, 0xff, 0xff, 0x5, 0xff, 0xff, 0xfc, 0x10,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xa0,
0xd, 0xff, 0xff, 0xfe, 0x50, 0x0, 0x0, 0x2,
0xcf, 0xff, 0xff, 0xf3, 0x0, 0x3f, 0xff, 0xff,
0xff, 0xe9, 0x76, 0x8b, 0xff, 0xff, 0xff, 0xfa,
0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x10, 0x0, 0x0, 0x0, 0x3c, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x82,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0x67, 0x77, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff,
0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0x90, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf,
0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xd, 0xff, 0xff, 0xd0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6f, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff,
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xf4, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xe, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xff, 0xff, 0x30, 0x0, 0x19, 0x99, 0x99, 0x10,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xfb,
0x0, 0x0, 0x2f, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0x9, 0xff, 0xff, 0xf2, 0x0, 0x0,
0x2f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x1f, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x2f, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff,
0xff, 0x10, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0xb, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x2f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x3f,
0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x2f, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x20,
0x0, 0x0, 0x4, 0xff, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0x20, 0x0, 0x0,
0xc, 0xff, 0xff, 0xfb, 0xbb, 0xbb, 0xbb, 0xbb,
0xbf, 0xff, 0xff, 0xbb, 0xbb, 0xb3, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf5, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf5, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xff, 0xff, 0x20, 0x0, 0x0,
/* U+0035 "5" */
0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x0, 0x0, 0x8, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x0, 0x0, 0xc, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
0x0, 0xe, 0xff, 0xff, 0xcb, 0xbb, 0xbb, 0xbb,
0xbb, 0xbb, 0xb6, 0x0, 0x0, 0xf, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xef, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf1,
0x6b, 0xef, 0xfe, 0xb7, 0x10, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff,
0xf9, 0x10, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0,
0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x30, 0x0, 0x8, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0,
0xa, 0xff, 0xff, 0xfd, 0x61, 0x0, 0x5, 0xdf,
0xff, 0xff, 0xf9, 0x0, 0xc, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0x10,
0x1, 0x8f, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xff, 0x80, 0x0, 0x1, 0x70, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xf3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x30, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xf0,
0x0, 0x2b, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0xff, 0xd0, 0x19, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x80,
0x6f, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x3,
0xff, 0xff, 0xff, 0x20, 0x1f, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x4e, 0xff, 0xff, 0xfa, 0x0,
0x7, 0xff, 0xff, 0xff, 0xe9, 0x66, 0x8d, 0xff,
0xff, 0xff, 0xf1, 0x0, 0x0, 0xcf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0,
0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfd, 0x30, 0x0, 0x0,
0x0, 0x0, 0x3, 0xaf, 0xff, 0xff, 0xff, 0xfc,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x36, 0x77, 0x64, 0x10, 0x0, 0x0, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xef, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8f, 0xff, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0xff, 0xdc, 0xef, 0xfd, 0xa6, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0,
0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x1f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x10, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff,
0xde, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x1,
0xff, 0xff, 0xff, 0xfa, 0x30, 0x0, 0x5, 0xdf,
0xff, 0xff, 0xf7, 0x0, 0x7, 0xff, 0xff, 0xff,
0x60, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xfe,
0x0, 0xb, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0,
0x0, 0x0, 0xdf, 0xff, 0xff, 0x50, 0xf, 0xff,
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f,
0xff, 0xff, 0xa0, 0x2f, 0xff, 0xff, 0x90, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xd0,
0x4f, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
0x0, 0xc, 0xff, 0xff, 0xf0, 0x5f, 0xff, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xff, 0xf0, 0x4f, 0xff, 0xff, 0x50, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xf0, 0x2f,
0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe, 0xff, 0xff, 0xe0, 0xf, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff,
0xb0, 0xb, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0,
0x0, 0x0, 0xaf, 0xff, 0xff, 0x60, 0x5, 0xff,
0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x6, 0xff,
0xff, 0xff, 0x10, 0x0, 0xdf, 0xff, 0xff, 0xd3,
0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xf8, 0x0,
0x0, 0x3f, 0xff, 0xff, 0xff, 0xc8, 0x77, 0xae,
0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x7, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x0,
0x0, 0x4, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
0xcf, 0xff, 0xff, 0xff, 0xfa, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x46, 0x77,
0x63, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0037 "7" */
0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x24, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf2, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x24, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x2b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
0xbb, 0xbb, 0xbb, 0xff, 0xff, 0xfb, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xe0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff,
0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff,
0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4f, 0xff, 0xff, 0x50, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2, 0xff, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xc0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5,
0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xc, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x9f, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0x90, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x0, 0x0, 0x0, 0x2, 0x57, 0x77, 0x53,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0x8e, 0xff, 0xff, 0xff, 0xfe, 0x92, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x3,
0xff, 0xff, 0xff, 0xe8, 0x43, 0x47, 0xdf, 0xff,
0xff, 0xf3, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xb0, 0x0,
0x1f, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xff, 0x0, 0x5, 0xff, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xf3,
0x0, 0x6f, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0xf, 0xff, 0xff, 0x50, 0x6, 0xff, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
0xf4, 0x0, 0x4f, 0xff, 0xff, 0x50, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xff, 0xff, 0x20, 0x1, 0xff,
0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff,
0xff, 0xe0, 0x0, 0xa, 0xff, 0xff, 0xf6, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0xf8, 0x0, 0x0,
0x1e, 0xff, 0xff, 0xfa, 0x30, 0x0, 0x29, 0xff,
0xff, 0xfe, 0x10, 0x0, 0x0, 0x3f, 0xff, 0xff,
0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0,
0x0, 0x0, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfd, 0x20, 0x0, 0x0, 0x0, 0x0, 0x2e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xa0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xfa, 0x41,
0x1, 0x49, 0xff, 0xff, 0xff, 0x80, 0x0, 0x3f,
0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x3, 0xef,
0xff, 0xff, 0x30, 0xb, 0xff, 0xff, 0xf4, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xfb, 0x1,
0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0xf1, 0x6f, 0xff, 0xff, 0x50,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff,
0x69, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xf9, 0xaf, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0xaa, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xfa, 0x9f, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xff, 0x97, 0xff, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xf7, 0x3f,
0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xff, 0xff, 0x40, 0xef, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xe0,
0x7, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0,
0x8f, 0xff, 0xff, 0xf7, 0x0, 0xd, 0xff, 0xff,
0xff, 0xfa, 0x76, 0x7a, 0xef, 0xff, 0xff, 0xfd,
0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x3e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x30, 0x0, 0x0, 0x0, 0x1a, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0,
0x0, 0x3, 0xae, 0xff, 0xff, 0xff, 0xff, 0xa4,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0x57, 0x77, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x0, 0x0, 0x0, 0x3, 0x67, 0x76, 0x41,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
0x9f, 0xff, 0xff, 0xff, 0xfd, 0x60, 0x0, 0x0,
0x0, 0x0, 0x0, 0x19, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x2d,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0xc,
0xff, 0xff, 0xff, 0xfa, 0x87, 0x8c, 0xff, 0xff,
0xff, 0xf4, 0x0, 0x7, 0xff, 0xff, 0xff, 0x90,
0x0, 0x0, 0x3, 0xdf, 0xff, 0xff, 0xe0, 0x0,
0xef, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xff, 0x60, 0x5f, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xfc,
0x9, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0,
0x0, 0xa, 0xff, 0xff, 0xf1, 0xcf, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xff, 0x4e, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4, 0xff, 0xff, 0xf6, 0xff, 0xff,
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xff, 0xff, 0x6e, 0xff, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xf6, 0xcf,
0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xff, 0xff, 0x49, 0xff, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xf2,
0x4f, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0xfd, 0x0, 0xef, 0xff, 0xff,
0xc1, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff,
0x80, 0x6, 0xff, 0xff, 0xff, 0xe6, 0x10, 0x0,
0x29, 0xff, 0xff, 0xff, 0xf2, 0x0, 0xc, 0xff,
0xff, 0xff, 0xff, 0xed, 0xef, 0xff, 0xff, 0xff,
0xfa, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0,
0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x90, 0x0, 0x0, 0x0, 0x7, 0xef, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5a, 0xdf, 0xfe, 0xcd, 0xff,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2, 0xff, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0x90, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xf5, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6f, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xff, 0xe0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff,
0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0,
/* U+003A ":" */
0x0, 0x37, 0x50, 0x0, 0x9f, 0xff, 0xc0, 0x5f,
0xff, 0xff, 0x99, 0xff, 0xff, 0xfd, 0x8f, 0xff,
0xff, 0xc3, 0xff, 0xff, 0xf7, 0x7, 0xff, 0xfa,
0x0, 0x1, 0x42, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0x10, 0x0, 0x6f, 0xff, 0x90, 0x3f, 0xff, 0xff,
0x78, 0xff, 0xff, 0xfc, 0x9f, 0xff, 0xff, 0xd5,
0xff, 0xff, 0xf9, 0x9, 0xff, 0xfc, 0x10, 0x4,
0x75, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 638, .box_w = 39, .box_h = 39, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 761, .adv_w = 391, .box_w = 19, .box_h = 5, .ofs_x = 3, .ofs_y = 13},
{.bitmap_index = 809, .adv_w = 194, .box_w = 8, .box_h = 8, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 841, .adv_w = 322, .box_w = 20, .box_h = 37, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1211, .adv_w = 464, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 1699, .adv_w = 464, .box_w = 16, .box_h = 37, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 1995, .adv_w = 464, .box_w = 25, .box_h = 38, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2470, .adv_w = 464, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 2958, .adv_w = 464, .box_w = 28, .box_h = 37, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3476, .adv_w = 464, .box_w = 24, .box_h = 38, .ofs_x = 3, .ofs_y = -1},
{.bitmap_index = 3932, .adv_w = 464, .box_w = 26, .box_h = 38, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 4426, .adv_w = 464, .box_w = 25, .box_h = 37, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4889, .adv_w = 464, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 5377, .adv_w = 464, .box_w = 25, .box_h = 38, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 5852, .adv_w = 212, .box_w = 7, .box_h = 28, .ofs_x = 3, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-35, -114, -74
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_50px = {
#else
lv_font_t Number_HarmonyOS_bpp4_50px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 39, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -4,
.underline_thickness = 3,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_50PX*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,38 @@
#ifndef BIN_OFFSETS_H
#define BIN_OFFSETS_H
#define MXC_WRYH_bpp4_16px_glyph_bitmap (const uint8_t *)0xa12000
#define MXC_WRYH_bpp4_16px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa13289
#define MXC_WRYH_bpp4_18px_glyph_bitmap (const uint8_t *)0xa13769
#define MXC_WRYH_bpp4_18px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa14eb5
#define MXC_WRYH_bpp4_20px_glyph_bitmap (const uint8_t *)0xa15395
#define MXC_WRYH_bpp4_20px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa16ffe
#define Number_HarmonyOS_bpp4_128px_glyph_bitmap (const uint8_t *)0xa174de
#define Number_HarmonyOS_bpp4_128px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa225ab
#define Number_HarmonyOS_bpp4_12px_glyph_bitmap (const uint8_t *)0xa226cb
#define Number_HarmonyOS_bpp4_12px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa231c3
#define Number_HarmonyOS_bpp4_16px_glyph_bitmap (const uint8_t *)0xa237c3
#define Number_HarmonyOS_bpp4_16px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa2492f
#define Number_HarmonyOS_bpp4_180px_glyph_bitmap (const uint8_t *)0xa24f2f
#define Number_HarmonyOS_bpp4_180px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa349c6
#define Number_HarmonyOS_bpp4_20px_glyph_bitmap (const uint8_t *)0xa34ab6
#define Number_HarmonyOS_bpp4_20px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa36494
#define Number_HarmonyOS_bpp4_28px_glyph_bitmap (const uint8_t *)0xa36aa4
#define Number_HarmonyOS_bpp4_28px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa39b45
#define Number_HarmonyOS_bpp4_36px_glyph_bitmap (const uint8_t *)0xa3a145
#define Number_HarmonyOS_bpp4_36px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa3e59b
#define Number_HarmonyOS_bpp4_44px_glyph_bitmap (const uint8_t *)0xa3ea6b
#define Number_HarmonyOS_bpp4_44px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa3fc0e
#define Number_HarmonyOS_bpp4_46px_glyph_bitmap (const uint8_t *)0xa3fd0e
#define Number_HarmonyOS_bpp4_46px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa410e0
#define Number_HarmonyOS_bpp4_50px_glyph_bitmap (const uint8_t *)0xa411e0
#define Number_HarmonyOS_bpp4_50px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa4291e
#define Number_HarmonyOS_bpp4_62px_glyph_bitmap (const uint8_t *)0xa42a1e
#define Number_HarmonyOS_bpp4_62px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa44cbd
#define Number_HarmonyOS_bpp4_80px_glyph_bitmap (const uint8_t *)0xa44dbd
#define Number_HarmonyOS_bpp4_80px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa487b7
#define Number_HarmonyOS_bpp4_92px_glyph_bitmap (const uint8_t *)0xa488b7
#define Number_HarmonyOS_bpp4_92px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa4d4af
#define TOTAL_SIZE 10802607
#endif

View File

@ -0,0 +1,489 @@
/*******************************************************************************
* Size: 16 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_BPP4_16PX
#define MXC_WRYH_BPP4_16PX 1
#endif
#if MXC_WRYH_BPP4_16PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_3[] = {
0x0, 0x5690, 0x5b58, 0x5dbc, 0x5f84, 0x653f, 0x6649, 0x7954,
0x8aea, 0x8f68, 0x9115, 0x9a21
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 46, .range_length = 13, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 65, .range_length = 26, .glyph_id_start = 14,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 97, .range_length = 26, .glyph_id_start = 40,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 39458, .glyph_id_start = 66,
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 12, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
14, 16,
14, 20,
14, 23,
14, 28,
14, 33,
14, 34,
14, 35,
14, 36,
14, 38,
14, 39,
14, 59,
14, 61,
14, 62,
14, 64,
15, 33,
15, 38,
16, 16,
16, 20,
16, 28,
16, 30,
17, 1,
17, 14,
17, 33,
17, 37,
17, 39,
18, 14,
18, 23,
18, 33,
18, 36,
18, 37,
19, 1,
19, 14,
19, 23,
19, 32,
19, 33,
19, 40,
19, 45,
20, 33,
20, 35,
20, 64,
23, 1,
23, 14,
23, 23,
23, 40,
24, 16,
24, 20,
24, 23,
24, 28,
24, 30,
24, 37,
24, 39,
24, 42,
24, 43,
24, 44,
24, 46,
24, 54,
24, 56,
24, 59,
24, 61,
24, 62,
24, 64,
25, 14,
25, 16,
25, 20,
25, 23,
25, 28,
25, 30,
25, 33,
25, 34,
25, 35,
25, 36,
25, 38,
25, 39,
25, 59,
25, 61,
25, 62,
25, 64,
28, 1,
28, 14,
28, 23,
28, 33,
28, 37,
28, 38,
28, 39,
29, 1,
29, 14,
29, 20,
29, 23,
29, 36,
29, 37,
29, 40,
29, 42,
29, 43,
29, 44,
29, 46,
29, 54,
29, 56,
30, 1,
30, 14,
30, 33,
30, 37,
30, 38,
30, 39,
31, 16,
31, 20,
31, 23,
31, 28,
31, 30,
31, 33,
31, 38,
31, 42,
31, 43,
31, 44,
31, 46,
31, 54,
31, 56,
32, 59,
32, 61,
32, 62,
32, 64,
33, 1,
33, 13,
33, 14,
33, 16,
33, 20,
33, 23,
33, 28,
33, 30,
33, 33,
33, 35,
33, 36,
33, 37,
33, 38,
33, 40,
33, 42,
33, 43,
33, 44,
33, 45,
33, 46,
33, 52,
33, 53,
33, 54,
33, 55,
33, 56,
33, 57,
33, 58,
33, 60,
33, 61,
33, 62,
33, 63,
33, 64,
33, 65,
34, 14,
35, 1,
35, 14,
35, 16,
35, 20,
35, 23,
35, 28,
35, 30,
35, 32,
35, 33,
35, 40,
35, 42,
35, 43,
35, 44,
35, 46,
35, 52,
35, 53,
35, 54,
35, 55,
35, 56,
35, 57,
35, 58,
35, 60,
36, 1,
36, 14,
36, 33,
36, 40,
36, 42,
36, 43,
36, 44,
36, 46,
36, 54,
36, 56,
37, 1,
37, 16,
37, 20,
37, 23,
37, 28,
37, 30,
37, 33,
38, 1,
38, 14,
38, 16,
38, 20,
38, 23,
38, 28,
38, 30,
38, 32,
38, 33,
38, 40,
38, 42,
38, 43,
38, 44,
38, 45,
38, 46,
38, 52,
38, 53,
38, 54,
38, 55,
38, 56,
38, 57,
38, 58,
38, 60,
39, 23,
39, 33,
39, 64,
41, 40,
41, 45,
41, 63,
42, 23,
42, 33,
42, 38,
45, 1,
45, 13,
45, 41,
45, 47,
45, 59,
45, 61,
45, 62,
45, 63,
45, 64,
46, 49,
49, 49,
50, 1,
50, 13,
50, 42,
50, 43,
50, 44,
50, 46,
50, 54,
50, 56,
50, 59,
54, 40,
54, 45,
54, 63,
55, 40,
55, 45,
55, 63,
56, 49,
57, 1,
57, 13,
57, 42,
57, 43,
57, 44,
57, 45,
57, 46,
57, 52,
57, 53,
57, 54,
57, 56,
57, 58,
57, 59,
57, 61,
57, 62,
57, 63,
57, 64,
57, 65,
59, 42,
59, 43,
59, 44,
59, 46,
59, 54,
59, 56,
59, 63,
61, 1,
61, 40,
61, 42,
61, 43,
61, 44,
61, 46,
61, 54,
61, 56,
62, 1,
62, 42,
62, 43,
62, 44,
62, 46,
62, 54,
62, 56,
63, 42,
63, 43,
63, 44,
63, 46,
63, 54,
63, 56,
64, 1,
64, 42,
64, 43,
64, 44,
64, 45,
64, 46,
64, 54,
64, 56,
64, 59
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-4, -4, 13, -4, -20, -4, -16, -10,
-21, 8, -4, -6, -4, -5, -12, -9,
-7, -7, -4, -7, -17, -4, -12, -7,
-7, 1, 9, 1, 4, 1, -21, -18,
-9, -4, 2, -10, 1, -7, -4, -4,
-14, -5, -9, -4, -12, -12, 12, -12,
-12, 5, 5, -4, -4, -4, -4, -4,
-4, -6, -10, -7, -12, 8, -9, -9,
14, -9, -9, -15, -4, -16, -7, -17,
8, -4, -14, -9, -10, -12, -4, -1,
-12, -5, -3, -7, -44, -21, -1, -17,
5, -8, -9, -10, -10, -10, -10, -10,
-10, -17, -4, -12, -5, -1, -7, -4,
-4, 8, -3, -3, -7, -5, -7, -7,
-8, -8, -8, -7, -9, -7, -4, -6,
-24, -3, -21, -12, -12, -15, -12, -12,
5, 6, 5, -1, 4, -29, -28, -28,
-28, -13, -28, -24, -24, -28, -24, -28,
-24, -21, -24, -14, -15, -24, -15, -17,
-5, -31, -16, -6, -6, -9, -2, -6,
-4, 5, -20, -17, -17, -17, -17, -10,
-10, -17, -10, -17, -10, -9, -10, -17,
-10, 5, -10, -7, -7, -7, -7, -7,
-7, 8, -3, -3, 13, -3, -3, 5,
-26, -21, -6, -6, -9, -6, -6, -4,
5, -27, -24, -24, -24, -4, -24, -19,
-19, -24, -19, -24, -19, -18, -19, 11,
5, -7, -4, -1, -3, 10, -14, -10,
-17, 11, 2, 2, 5, 5, 5, 2,
5, 6, 5, 11, 11, -5, -4, -5,
-5, -5, -4, -2, -4, -5, -3, -4,
-5, -3, 14, -23, 11, -4, -4, -4,
5, -4, 0, 0, -4, -4, 2, 8,
11, 11, 8, 11, 5, -4, -4, -2,
-2, -2, -2, 4, -17, -5, -2, -2,
-2, -2, -2, -2, -14, -1, -1, -1,
-1, -1, -1, -2, -2, -2, -2, -2,
-2, -17, -1, -1, -1, 1, -1, -1,
-1, 1
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 306,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = MXC_WRYH_bpp4_16px_glyph_bitmap,
.glyph_dsc = MXC_WRYH_bpp4_16px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 4,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_bpp4_16px = {
#else
lv_font_t MXC_WRYH_bpp4_16px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 18, /*The maximum line height required by the font*/
.base_line = 4, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
.fallback = NULL,
.user_data = NULL
};
#endif /*#if MXC_WRYH_BPP4_16PX*/

View File

@ -0,0 +1,489 @@
/*******************************************************************************
* Size: 18 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_BPP4_18PX
#define MXC_WRYH_BPP4_18PX 1
#endif
#if MXC_WRYH_BPP4_18PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_3[] = {
0x0, 0x5690, 0x5b58, 0x5dbc, 0x5f84, 0x653f, 0x6649, 0x7954,
0x8aea, 0x8f68, 0x9115, 0x9a21
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 46, .range_length = 13, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 65, .range_length = 26, .glyph_id_start = 14,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 97, .range_length = 26, .glyph_id_start = 40,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 39458, .glyph_id_start = 66,
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 12, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
14, 16,
14, 20,
14, 23,
14, 28,
14, 33,
14, 34,
14, 35,
14, 36,
14, 38,
14, 39,
14, 59,
14, 61,
14, 62,
14, 64,
15, 33,
15, 38,
16, 16,
16, 20,
16, 28,
16, 30,
17, 1,
17, 14,
17, 33,
17, 37,
17, 39,
18, 14,
18, 23,
18, 33,
18, 36,
18, 37,
19, 1,
19, 14,
19, 23,
19, 32,
19, 33,
19, 40,
19, 45,
20, 33,
20, 35,
20, 64,
23, 1,
23, 14,
23, 23,
23, 40,
24, 16,
24, 20,
24, 23,
24, 28,
24, 30,
24, 37,
24, 39,
24, 42,
24, 43,
24, 44,
24, 46,
24, 54,
24, 56,
24, 59,
24, 61,
24, 62,
24, 64,
25, 14,
25, 16,
25, 20,
25, 23,
25, 28,
25, 30,
25, 33,
25, 34,
25, 35,
25, 36,
25, 38,
25, 39,
25, 59,
25, 61,
25, 62,
25, 64,
28, 1,
28, 14,
28, 23,
28, 33,
28, 37,
28, 38,
28, 39,
29, 1,
29, 14,
29, 20,
29, 23,
29, 36,
29, 37,
29, 40,
29, 42,
29, 43,
29, 44,
29, 46,
29, 54,
29, 56,
30, 1,
30, 14,
30, 33,
30, 37,
30, 38,
30, 39,
31, 16,
31, 20,
31, 23,
31, 28,
31, 30,
31, 33,
31, 38,
31, 42,
31, 43,
31, 44,
31, 46,
31, 54,
31, 56,
32, 59,
32, 61,
32, 62,
32, 64,
33, 1,
33, 13,
33, 14,
33, 16,
33, 20,
33, 23,
33, 28,
33, 30,
33, 33,
33, 35,
33, 36,
33, 37,
33, 38,
33, 40,
33, 42,
33, 43,
33, 44,
33, 45,
33, 46,
33, 52,
33, 53,
33, 54,
33, 55,
33, 56,
33, 57,
33, 58,
33, 60,
33, 61,
33, 62,
33, 63,
33, 64,
33, 65,
34, 14,
35, 1,
35, 14,
35, 16,
35, 20,
35, 23,
35, 28,
35, 30,
35, 32,
35, 33,
35, 40,
35, 42,
35, 43,
35, 44,
35, 46,
35, 52,
35, 53,
35, 54,
35, 55,
35, 56,
35, 57,
35, 58,
35, 60,
36, 1,
36, 14,
36, 33,
36, 40,
36, 42,
36, 43,
36, 44,
36, 46,
36, 54,
36, 56,
37, 1,
37, 16,
37, 20,
37, 23,
37, 28,
37, 30,
37, 33,
38, 1,
38, 14,
38, 16,
38, 20,
38, 23,
38, 28,
38, 30,
38, 32,
38, 33,
38, 40,
38, 42,
38, 43,
38, 44,
38, 45,
38, 46,
38, 52,
38, 53,
38, 54,
38, 55,
38, 56,
38, 57,
38, 58,
38, 60,
39, 23,
39, 33,
39, 64,
41, 40,
41, 45,
41, 63,
42, 23,
42, 33,
42, 38,
45, 1,
45, 13,
45, 41,
45, 47,
45, 59,
45, 61,
45, 62,
45, 63,
45, 64,
46, 49,
49, 49,
50, 1,
50, 13,
50, 42,
50, 43,
50, 44,
50, 46,
50, 54,
50, 56,
50, 59,
54, 40,
54, 45,
54, 63,
55, 40,
55, 45,
55, 63,
56, 49,
57, 1,
57, 13,
57, 42,
57, 43,
57, 44,
57, 45,
57, 46,
57, 52,
57, 53,
57, 54,
57, 56,
57, 58,
57, 59,
57, 61,
57, 62,
57, 63,
57, 64,
57, 65,
59, 42,
59, 43,
59, 44,
59, 46,
59, 54,
59, 56,
59, 63,
61, 1,
61, 40,
61, 42,
61, 43,
61, 44,
61, 46,
61, 54,
61, 56,
62, 1,
62, 42,
62, 43,
62, 44,
62, 46,
62, 54,
62, 56,
63, 42,
63, 43,
63, 44,
63, 46,
63, 54,
63, 56,
64, 1,
64, 42,
64, 43,
64, 44,
64, 45,
64, 46,
64, 54,
64, 56,
64, 59
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-4, -4, 14, -4, -22, -4, -18, -11,
-24, 9, -4, -6, -4, -6, -14, -10,
-8, -8, -4, -8, -20, -5, -14, -8,
-7, 2, 10, 1, 4, 1, -23, -20,
-10, -4, 2, -12, 2, -7, -4, -4,
-15, -6, -10, -4, -14, -14, 14, -14,
-14, 6, 6, -4, -4, -4, -4, -4,
-4, -7, -11, -8, -14, 9, -10, -10,
15, -11, -11, -17, -4, -18, -7, -20,
9, -4, -15, -10, -12, -14, -4, -2,
-14, -6, -4, -7, -49, -24, -2, -20,
6, -9, -10, -12, -12, -12, -12, -12,
-11, -20, -4, -14, -6, -2, -7, -4,
-4, 9, -3, -3, -8, -6, -8, -8,
-9, -9, -9, -8, -10, -7, -4, -7,
-27, -4, -23, -14, -14, -17, -14, -14,
6, 6, 6, -1, 4, -33, -32, -32,
-32, -15, -32, -27, -27, -32, -27, -32,
-27, -23, -27, -15, -17, -27, -17, -20,
-6, -35, -18, -6, -6, -11, -2, -6,
-4, 6, -22, -20, -20, -20, -20, -12,
-12, -20, -12, -20, -12, -10, -12, -20,
-11, 6, -12, -7, -7, -7, -7, -7,
-7, 9, -4, -4, 15, -4, -4, 5,
-30, -24, -7, -7, -10, -7, -7, -4,
6, -30, -27, -27, -27, -4, -27, -21,
-21, -27, -21, -27, -21, -20, -21, 13,
6, -8, -4, -2, -4, 11, -15, -12,
-20, 13, 3, 3, 6, 6, 6, 3,
5, 7, 5, 13, 13, -6, -4, -6,
-6, -6, -4, -2, -4, -6, -4, -4,
-6, -4, 15, -26, 13, -4, -4, -4,
6, -4, -1, -1, -4, -4, 2, 9,
13, 13, 9, 13, 6, -4, -4, -2,
-2, -2, -2, 4, -20, -6, -2, -2,
-2, -2, -2, -2, -15, -1, -2, -2,
-1, -1, -2, -2, -2, -2, -2, -2,
-2, -19, -2, -2, -2, 1, -2, -2,
-2, 1
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 306,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = MXC_WRYH_bpp4_18px_glyph_bitmap,
.glyph_dsc = MXC_WRYH_bpp4_18px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 4,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_bpp4_18px = {
#else
lv_font_t MXC_WRYH_bpp4_18px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 20, /*The maximum line height required by the font*/
.base_line = 4, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
.fallback = NULL,
.user_data = NULL
};
#endif /*#if MXC_WRYH_BPP4_18PX*/

View File

@ -0,0 +1,489 @@
/*******************************************************************************
* Size: 20 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_BPP4_20PX
#define MXC_WRYH_BPP4_20PX 1
#endif
#if MXC_WRYH_BPP4_20PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_3[] = {
0x0, 0x5690, 0x5b58, 0x5dbc, 0x5f84, 0x653f, 0x6649, 0x7954,
0x8aea, 0x8f68, 0x9115, 0x9a21
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 46, .range_length = 13, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 65, .range_length = 26, .glyph_id_start = 14,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 97, .range_length = 26, .glyph_id_start = 40,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 39458, .glyph_id_start = 66,
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 12, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
14, 16,
14, 20,
14, 23,
14, 28,
14, 33,
14, 34,
14, 35,
14, 36,
14, 38,
14, 39,
14, 59,
14, 61,
14, 62,
14, 64,
15, 33,
15, 38,
16, 16,
16, 20,
16, 28,
16, 30,
17, 1,
17, 14,
17, 33,
17, 37,
17, 39,
18, 14,
18, 23,
18, 33,
18, 36,
18, 37,
19, 1,
19, 14,
19, 23,
19, 32,
19, 33,
19, 40,
19, 45,
20, 33,
20, 35,
20, 64,
23, 1,
23, 14,
23, 23,
23, 40,
24, 16,
24, 20,
24, 23,
24, 28,
24, 30,
24, 37,
24, 39,
24, 42,
24, 43,
24, 44,
24, 46,
24, 54,
24, 56,
24, 59,
24, 61,
24, 62,
24, 64,
25, 14,
25, 16,
25, 20,
25, 23,
25, 28,
25, 30,
25, 33,
25, 34,
25, 35,
25, 36,
25, 38,
25, 39,
25, 59,
25, 61,
25, 62,
25, 64,
28, 1,
28, 14,
28, 23,
28, 33,
28, 37,
28, 38,
28, 39,
29, 1,
29, 14,
29, 20,
29, 23,
29, 36,
29, 37,
29, 40,
29, 42,
29, 43,
29, 44,
29, 46,
29, 54,
29, 56,
30, 1,
30, 14,
30, 33,
30, 37,
30, 38,
30, 39,
31, 16,
31, 20,
31, 23,
31, 28,
31, 30,
31, 33,
31, 38,
31, 42,
31, 43,
31, 44,
31, 46,
31, 54,
31, 56,
32, 59,
32, 61,
32, 62,
32, 64,
33, 1,
33, 13,
33, 14,
33, 16,
33, 20,
33, 23,
33, 28,
33, 30,
33, 33,
33, 35,
33, 36,
33, 37,
33, 38,
33, 40,
33, 42,
33, 43,
33, 44,
33, 45,
33, 46,
33, 52,
33, 53,
33, 54,
33, 55,
33, 56,
33, 57,
33, 58,
33, 60,
33, 61,
33, 62,
33, 63,
33, 64,
33, 65,
34, 14,
35, 1,
35, 14,
35, 16,
35, 20,
35, 23,
35, 28,
35, 30,
35, 32,
35, 33,
35, 40,
35, 42,
35, 43,
35, 44,
35, 46,
35, 52,
35, 53,
35, 54,
35, 55,
35, 56,
35, 57,
35, 58,
35, 60,
36, 1,
36, 14,
36, 33,
36, 40,
36, 42,
36, 43,
36, 44,
36, 46,
36, 54,
36, 56,
37, 1,
37, 16,
37, 20,
37, 23,
37, 28,
37, 30,
37, 33,
38, 1,
38, 14,
38, 16,
38, 20,
38, 23,
38, 28,
38, 30,
38, 32,
38, 33,
38, 40,
38, 42,
38, 43,
38, 44,
38, 45,
38, 46,
38, 52,
38, 53,
38, 54,
38, 55,
38, 56,
38, 57,
38, 58,
38, 60,
39, 23,
39, 33,
39, 64,
41, 40,
41, 45,
41, 63,
42, 23,
42, 33,
42, 38,
45, 1,
45, 13,
45, 41,
45, 47,
45, 59,
45, 61,
45, 62,
45, 63,
45, 64,
46, 49,
49, 49,
50, 1,
50, 13,
50, 42,
50, 43,
50, 44,
50, 46,
50, 54,
50, 56,
50, 59,
54, 40,
54, 45,
54, 63,
55, 40,
55, 45,
55, 63,
56, 49,
57, 1,
57, 13,
57, 42,
57, 43,
57, 44,
57, 45,
57, 46,
57, 52,
57, 53,
57, 54,
57, 56,
57, 58,
57, 59,
57, 61,
57, 62,
57, 63,
57, 64,
57, 65,
59, 42,
59, 43,
59, 44,
59, 46,
59, 54,
59, 56,
59, 63,
61, 1,
61, 40,
61, 42,
61, 43,
61, 44,
61, 46,
61, 54,
61, 56,
62, 1,
62, 42,
62, 43,
62, 44,
62, 46,
62, 54,
62, 56,
63, 42,
63, 43,
63, 44,
63, 46,
63, 54,
63, 56,
64, 1,
64, 42,
64, 43,
64, 44,
64, 45,
64, 46,
64, 54,
64, 56,
64, 59
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-5, -5, 16, -5, -25, -5, -20, -12,
-26, 10, -5, -7, -5, -6, -15, -11,
-9, -9, -5, -9, -22, -6, -15, -9,
-8, 2, 11, 1, 5, 1, -26, -22,
-11, -5, 2, -13, 2, -8, -5, -5,
-17, -6, -11, -5, -15, -15, 15, -15,
-15, 6, 7, -5, -5, -5, -5, -5,
-5, -8, -12, -9, -15, 10, -11, -11,
17, -12, -12, -19, -5, -20, -8, -22,
10, -5, -17, -11, -13, -15, -5, -2,
-15, -6, -4, -8, -55, -27, -2, -22,
7, -10, -11, -13, -13, -13, -13, -13,
-12, -22, -5, -15, -6, -2, -8, -5,
-5, 10, -3, -3, -9, -7, -9, -9,
-10, -10, -10, -9, -11, -8, -5, -8,
-30, -4, -26, -15, -15, -19, -15, -15,
7, 7, 7, -1, 5, -37, -36, -36,
-36, -16, -36, -30, -30, -36, -30, -36,
-30, -26, -30, -17, -19, -30, -19, -22,
-7, -39, -20, -7, -7, -12, -2, -7,
-5, 7, -25, -22, -22, -22, -22, -13,
-13, -22, -13, -22, -13, -11, -13, -22,
-12, 7, -13, -8, -8, -8, -8, -8,
-8, 10, -4, -4, 16, -4, -4, 6,
-33, -27, -8, -8, -11, -8, -8, -5,
7, -34, -30, -30, -30, -5, -30, -24,
-24, -30, -24, -30, -24, -22, -24, 14,
7, -9, -5, -2, -4, 12, -17, -13,
-22, 14, 3, 3, 6, 7, 7, 3,
6, 8, 6, 14, 14, -7, -5, -7,
-7, -7, -5, -3, -5, -6, -4, -5,
-6, -4, 17, -29, 14, -5, -5, -5,
7, -5, -1, -1, -5, -5, 2, 10,
14, 14, 10, 14, 7, -5, -5, -3,
-3, -3, -3, 5, -22, -6, -2, -3,
-2, -2, -2, -3, -17, -1, -2, -2,
-1, -1, -2, -3, -3, -3, -3, -3,
-3, -21, -2, -2, -2, 1, -2, -2,
-2, 1
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 306,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = MXC_WRYH_bpp4_20px_glyph_bitmap,
.glyph_dsc = MXC_WRYH_bpp4_20px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 4,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_bpp4_20px = {
#else
lv_font_t MXC_WRYH_bpp4_20px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 23, /*The maximum line height required by the font*/
.base_line = 5, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
.fallback = NULL,
.user_data = NULL
};
#endif /*#if MXC_WRYH_BPP4_20PX*/

View File

@ -0,0 +1,139 @@
/*******************************************************************************
* Size: 128 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_128px.c --bpp 4 --size 128 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25 -r 0x47 -r 0x4F
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_128PX
#define NUMBER_HARMONYOS_BPP4_128PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_128PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_0[] = {
0x0, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe,
0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x22,
0x2a
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 43, .glyph_id_start = 1,
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 17, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4,
4, 16,
4, 17,
16, 2,
16, 3,
17, 3,
17, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-37, -119, -77, -31, -31, 1, 15, -36,
-30
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 9,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_128px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_128px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 39,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_128px = {
#else
lv_font_t Number_HarmonyOS_bpp4_128px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 98, /*The maximum line height required by the font*/
.base_line = 2, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -10,
.underline_thickness = 6,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_128PX*/

View File

@ -0,0 +1,309 @@
/*******************************************************************************
* Size: 12 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_12px.c --bpp 4 --size 12 -r 0x20-0x7f
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_12PX
#define NUMBER_HARMONYOS_BPP4_12PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_12PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Map glyph_ids to kern left classes*/
static const uint8_t kern_left_class_mapping[] =
{
0, 0, 0, 1, 0, 0, 0, 0,
1, 2, 3, 0, 4, 0, 4, 0,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4,
6, 7, 8, 9, 10, 7, 11, 12,
13, 14, 14, 15, 16, 17, 14, 14,
7, 18, 0, 19, 20, 21, 15, 5,
22, 23, 24, 25, 2, 8, 3, 0,
0, 0, 26, 27, 28, 29, 30, 31,
32, 26, 0, 33, 34, 29, 26, 26,
27, 27, 0, 35, 36, 37, 32, 38,
38, 39, 38, 40, 2, 0, 3, 4
};
/*Map glyph_ids to kern right classes*/
static const uint8_t kern_right_class_mapping[] =
{
0, 1, 0, 2, 0, 0, 0, 0,
2, 0, 3, 0, 4, 5, 4, 5,
6, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4, 0, 0,
7, 8, 6, 9, 8, 9, 9, 9,
8, 9, 9, 10, 9, 9, 9, 9,
8, 9, 8, 9, 11, 12, 13, 14,
15, 16, 17, 18, 0, 14, 3, 0,
5, 0, 19, 20, 21, 21, 21, 22,
21, 20, 0, 23, 20, 20, 24, 24,
21, 0, 21, 24, 25, 26, 27, 28,
28, 29, 30, 31, 0, 0, 3, 4
};
/*Kern values between classes*/
static const int8_t kern_class_values[] =
{
0, 0, 0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 4, 4,
2, 0, 3, 0, 0, 13, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -10, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -8, 3, 4, -8,
-27, -18, 4, -7, 0, -23, -2, 4,
0, 0, 0, 0, 0, 0, -15, 0,
-14, -5, 0, -9, -11, -1, -9, -9,
-11, -9, -10, 0, 0, 0, -6, -19,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -4, 0, 0, -8, -7,
0, 0, 0, -7, 0, -6, 0, -7,
-4, -7, -11, -4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -8, -22, 0, -12, 5, 0, -13,
-7, 0, 0, 0, -16, -3, -18, -13,
0, -21, 4, 0, 0, -2, 0, 0,
0, 0, 0, 0, -8, 0, -8, 0,
0, -2, 0, 0, 0, -3, 0, 0,
0, 3, 0, -7, 0, -9, -3, 0,
-11, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
2, 0, -6, 4, 0, 6, -3, 0,
0, 0, 1, 0, -1, 0, 0, -1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -4, 0, -4, 0, 0, 0,
0, 0, 2, 0, 2, -2, 0, 2,
0, 0, 0, -2, 0, 0, -2, 0,
-2, 0, -2, -3, 0, 0, -2, -2,
-2, -4, -2, -4, 0, -2, 5, 0,
1, -25, -11, 8, -1, 0, -27, 0,
4, 0, 0, 0, 0, 0, 0, -8,
0, -5, -2, 0, -3, 0, -2, 0,
-4, -7, -4, -5, 0, 0, 0, 0,
3, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -6, -3,
0, 0, 0, -6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -8, 0, 0, -21, 3, 0, -1,
-11, -3, 0, -3, 0, -5, 0, 0,
0, 0, 0, -6, 0, -7, -8, 0,
-3, -3, -8, -8, -13, -7, -13, 0,
-10, -20, 0, -17, 5, 0, -14, -9,
0, 3, -2, -25, -8, -28, -21, 0,
-34, 0, -1, 0, -4, -4, 0, 0,
0, -5, -5, -18, 0, -18, 0, -2,
2, 0, 2, -28, -16, 3, 0, 0,
-31, 0, 0, 0, -1, -1, -5, 0,
-6, -6, 0, -6, 0, 0, 0, 0,
0, 0, 2, 0, 2, 0, 0, -2,
0, -2, 7, 0, -1, -2, 0, 0,
1, -2, -2, -5, -3, 0, -9, 0,
0, 0, -2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 0, 0, 0, 4,
0, 0, -3, 0, 0, -4, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -6, 6, 0, -15,
-22, -16, 7, -6, 0, -27, 0, 4,
0, 4, 4, 0, 0, 0, -23, 0,
-21, -9, 0, -18, -21, -6, -17, -20,
-21, -20, -17, -2, 3, 0, -5, -15,
-13, 0, -4, 0, -14, 0, 4, 0,
0, 0, 0, 0, 0, -15, 0, -12,
-3, 0, -8, -9, 0, -7, -4, -6,
-4, -7, 0, 0, 4, -18, 2, 0,
2, -7, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -5, 0, -7, 0,
0, -3, -3, -6, -6, -12, 0, -12,
0, -6, 3, 4, -14, -26, -21, 2,
-11, 0, -26, -5, 0, 0, 0, 0,
0, 0, 0, -22, 0, -21, -10, 0,
-16, -18, -7, -15, -14, -13, -14, -15,
0, 0, 2, -9, 4, 0, 2, -5,
0, 0, -2, 0, 0, 0, 0, 0,
0, 0, -1, 0, -3, 0, 0, 0,
0, 0, 0, -6, 0, -6, 0, 0,
-8, 0, 0, 0, 0, -6, 0, 0,
0, 0, -17, 0, -14, -13, -2, -19,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -2, 0, -2, 0, 0, -10,
0, -2, -6, 0, -8, 0, 0, 0,
0, -21, 0, -14, -12, -7, -21, 0,
-2, 0, 0, -2, 0, 0, 0, -1,
0, -4, -5, -4, -4, 0, 1, 0,
3, 5, 0, -2, 0, 0, 0, 0,
-15, 0, -10, -7, 3, -15, 0, 0,
0, -1, 2, 0, 0, 0, 4, 0,
0, 1, 0, 3, 0, 0, 3, 0,
0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -1, 0, 3, -1,
0, -5, 0, 0, 0, 0, -14, 0,
-12, -9, -3, -18, 0, 0, 0, 0,
0, 0, 0, 2, 0, 0, 0, -1,
0, 0, 0, 9, 0, -1, -15, 0,
9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -5, 0, -5, 0,
0, 0, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -5,
0, 0, 0, 0, -18, 0, -9, -8,
0, -16, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 8, 0,
0, 0, 0, 0, 0, 0, 0, -4,
0, 0, -5, 5, 0, -9, 0, 0,
0, 0, -18, 0, -12, -11, 0, -16,
0, -6, 0, -4, 0, 0, 0, -2,
0, -2, 0, 0, 0, 0, 0, 5,
0, 2, -21, -9, -6, 0, 0, -23,
0, 0, 0, -8, 0, -10, -14, 0,
-8, 0, -6, 0, 0, 0, -1, 6,
0, 0, 0, 0, 0, 0, -6, 0,
0, 0, 0, -6, 0, 0, 0, 0,
-19, 0, -14, -10, -1, -20, 0, 0,
0, 0, 0, 0, 0, 2, 0, 0,
-2, 0, -2, 2, 0, -1, 2, 0,
5, 0, -5, 0, 0, 0, 0, -13,
0, -9, 0, 0, -13, 0, 0, 0,
-2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -17,
-8, -5, 0, 0, -15, 0, -20, 0,
-9, -4, -12, -14, 0, -4, 0, -4,
0, 0, 0, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, -4, 2, 0,
-8, 0, 0, 0, 0, -21, 0, -11,
-6, 0, -13, 0, -3, 0, -5, 0,
0, 0, 0, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 0, -6,
0, 0, 0, 0, -19, 0, -11, -6,
0, -14, 0, -3, 0, -4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static const lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 31,
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_12px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_12px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_classes,
.kern_scale = 16,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 1,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_12px = {
#else
lv_font_t Number_HarmonyOS_bpp4_12px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 15, /*The maximum line height required by the font*/
.base_line = 3, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_12PX*/

View File

@ -0,0 +1,309 @@
/*******************************************************************************
* Size: 16 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_16px.c --bpp 4 --size 16 -r 0x20-0x7f
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_16PX
#define NUMBER_HARMONYOS_BPP4_16PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_16PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Map glyph_ids to kern left classes*/
static const uint8_t kern_left_class_mapping[] =
{
0, 0, 0, 1, 0, 0, 0, 0,
1, 2, 3, 0, 4, 0, 4, 0,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4,
6, 7, 8, 9, 10, 7, 11, 12,
13, 14, 14, 15, 16, 17, 14, 14,
7, 18, 0, 19, 20, 21, 15, 5,
22, 23, 24, 25, 2, 8, 3, 0,
0, 0, 26, 27, 28, 29, 30, 31,
32, 26, 0, 33, 34, 29, 26, 26,
27, 27, 0, 35, 36, 37, 32, 38,
38, 39, 38, 40, 2, 0, 3, 4
};
/*Map glyph_ids to kern right classes*/
static const uint8_t kern_right_class_mapping[] =
{
0, 1, 0, 2, 0, 0, 0, 0,
2, 0, 3, 0, 4, 5, 4, 5,
6, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4, 0, 0,
7, 8, 6, 9, 8, 9, 9, 9,
8, 9, 9, 10, 9, 9, 9, 9,
8, 9, 8, 9, 11, 12, 13, 14,
15, 16, 17, 18, 0, 14, 3, 0,
5, 0, 19, 20, 21, 21, 21, 22,
21, 20, 0, 23, 20, 20, 24, 24,
21, 0, 21, 24, 25, 26, 27, 28,
28, 29, 30, 31, 0, 0, 3, 4
};
/*Kern values between classes*/
static const int8_t kern_class_values[] =
{
0, 0, 0, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5, 0, 5, 5,
3, 0, 4, 0, 0, 18, 0, 0,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -14, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -10, 5, 5, -11,
-36, -24, 6, -9, 0, -31, -3, 5,
0, 0, 0, 0, 0, 0, -19, 0,
-19, -6, 0, -12, -15, -2, -12, -12,
-14, -12, -14, 0, 0, 0, -8, -26,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -6, 0, 0, -11, -9,
0, 0, 0, -9, 0, -8, 0, -9,
-5, -9, -14, -6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -10, -30, 0, -16, 7, 0, -17,
-9, 0, 0, 0, -22, -4, -24, -18,
0, -28, 5, 0, 0, -3, 0, 0,
0, 0, 0, 0, -11, 0, -11, 0,
0, -3, 0, 0, 0, -4, 0, 0,
0, 4, 0, -9, 0, -12, -4, 0,
-15, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
3, 0, -8, 6, 0, 8, -4, 0,
0, 0, 1, 0, -1, 0, 0, -1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -6, 0, -6, 0, 0, 0,
0, 0, 3, 0, 3, -3, 0, 3,
0, 0, 0, -3, 0, 0, -3, 0,
-3, 0, -3, -4, 0, 0, -2, -3,
-2, -5, -2, -5, 0, -3, 7, 0,
2, -34, -15, 10, -1, 0, -36, 0,
6, 0, 0, 0, 0, 0, 0, -10,
0, -7, -2, 0, -5, 0, -3, 0,
-6, -9, -6, -6, 0, 0, 0, 0,
5, 0, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -8, -4,
0, 0, 0, -8, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -10, 0, 0, -28, 5, 0, -2,
-15, -4, 0, -4, 0, -7, 0, 0,
0, 0, 0, -7, 0, -9, -10, 0,
-4, -4, -10, -11, -17, -9, -17, 0,
-13, -26, 0, -23, 7, 0, -18, -12,
0, 4, -2, -34, -11, -38, -28, 0,
-46, 0, -2, 0, -5, -5, 0, -1,
0, -7, -7, -24, 0, -24, 0, -3,
3, 0, 3, -37, -21, 4, 0, 0,
-41, 0, 0, 0, -1, -1, -6, 0,
-8, -8, 0, -8, 0, 0, 0, 0,
0, 0, 3, 0, 3, 0, 0, -3,
0, -2, 10, 0, -1, -3, 0, 0,
2, -3, -3, -7, -5, 0, -13, 0,
0, 0, -3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 0, 0, 0, 6,
0, 0, -4, 0, 0, -6, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -8, 8, 0, -20,
-29, -22, 9, -8, 0, -36, 0, 6,
0, 5, 5, 0, 0, 0, -30, 0,
-28, -12, 0, -24, -28, -8, -23, -27,
-27, -27, -22, -3, 5, 0, -6, -20,
-18, 0, -5, 0, -19, -1, 5, 0,
0, 0, 0, 0, 0, -20, 0, -16,
-4, 0, -11, -12, 0, -9, -6, -8,
-6, -9, 0, 0, 5, -24, 3, 0,
3, -9, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -6, 0, -9, 0,
0, -4, -5, -8, -8, -16, 0, -16,
0, -8, 4, 5, -18, -35, -28, 2,
-14, 0, -35, -6, 0, 0, 0, 0,
0, 0, 0, -29, 0, -27, -13, 0,
-22, -24, -9, -20, -19, -18, -19, -20,
0, 0, 3, -12, 5, 0, 3, -7,
0, 0, -3, 0, 0, 0, 0, 0,
0, 0, -1, 0, -4, 0, 0, 0,
0, 0, 0, -8, 0, -8, 0, 0,
-10, 0, -1, 0, 0, -8, 0, 0,
0, 0, -22, 0, -19, -17, -2, -26,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -3, 0, -3, 0, 0, -13,
0, -3, -8, 0, -10, 0, 0, 0,
0, -28, 0, -19, -16, -9, -27, 0,
-3, 0, 0, -2, 0, 0, 0, -1,
0, -5, -6, -5, -6, 0, 1, 0,
5, 6, 0, -3, 0, 0, 0, 0,
-20, 0, -13, -9, 5, -20, 0, 1,
0, -1, 3, 0, 0, 0, 6, 0,
0, 2, 0, 4, 0, 0, 4, 0,
0, 0, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -1, 0, 4, -1,
0, -6, 0, 0, 0, 0, -18, 0,
-17, -13, -4, -24, 0, 0, 0, 0,
0, 0, 0, 3, 0, 0, -1, -2,
-1, 0, 0, 12, 0, -2, -20, 0,
12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -7, 0, -6, 1,
0, 0, 0, 4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -7,
0, 0, 0, 0, -24, 0, -12, -11,
0, -22, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 11, 0,
0, 0, 0, 0, 0, 0, 0, -6,
0, 0, -7, 6, 0, -12, 0, 0,
0, 0, -24, 0, -16, -14, 0, -22,
0, -7, 0, -6, 0, 0, 0, -3,
0, -2, 0, 0, 0, 0, 0, 6,
0, 2, -28, -12, -7, 0, 0, -30,
0, 0, 0, -11, 0, -13, -19, 0,
-11, 0, -8, 0, 0, 0, -2, 7,
0, 0, 0, 0, 0, 0, -7, 0,
0, 0, 0, -8, 0, 0, 0, 0,
-26, 0, -18, -13, -1, -27, 0, 0,
0, 0, 0, 0, 0, 2, 0, 0,
-2, 0, -2, 3, 0, -2, 3, -1,
7, 0, -6, 0, 0, 0, 0, -18,
0, -12, 0, -1, -17, 0, 0, 0,
-2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -23,
-11, -7, 0, 0, -20, 0, -27, 0,
-12, -6, -16, -19, 0, -5, 0, -5,
0, 0, 0, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, 2, 0,
-10, 0, 0, 0, 0, -27, 0, -14,
-8, 0, -18, 0, -4, 0, -6, 0,
0, 0, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3, 0, -8,
0, 0, 0, 0, -25, 0, -14, -8,
0, -19, 0, -4, 0, -6, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static const lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 31,
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_16px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_16px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_classes,
.kern_scale = 16,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 1,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_16px = {
#else
lv_font_t Number_HarmonyOS_bpp4_16px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 19, /*The maximum line height required by the font*/
.base_line = 4, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_16PX*/

View File

@ -0,0 +1,128 @@
/*******************************************************************************
* Size: 180 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_180px.c --bpp 4 --size 180 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_180PX
#define NUMBER_HARMONYOS_BPP4_180PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_180PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 45, .range_length = 14, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
3, 1,
3, 2,
3, 3
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-37, -119, -77
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_180px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_180px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 55,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_180px = {
#else
lv_font_t Number_HarmonyOS_bpp4_180px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 137, /*The maximum line height required by the font*/
.base_line = 2, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -13,
.underline_thickness = 9,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_180PX*/

View File

@ -0,0 +1,315 @@
/*******************************************************************************
* Size: 20 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_20px.c --bpp 4 --size 20 -r 0x00-0x7f
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_20PX
#define NUMBER_HARMONYOS_BPP4_20PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_20PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 0, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 32, .range_length = 95, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Map glyph_ids to kern left classes*/
static const uint8_t kern_left_class_mapping[] =
{
0, 0, 0, 0, 1, 0, 0, 0,
0, 1, 2, 3, 0, 4, 0, 4,
0, 5, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
4, 6, 7, 8, 9, 10, 7, 11,
12, 13, 14, 14, 15, 16, 17, 14,
14, 7, 18, 0, 19, 20, 21, 15,
5, 22, 23, 24, 25, 2, 8, 3,
0, 0, 0, 26, 27, 28, 29, 30,
31, 32, 26, 0, 33, 34, 29, 26,
26, 27, 27, 0, 35, 36, 37, 32,
38, 38, 39, 38, 40, 2, 0, 3,
4
};
/*Map glyph_ids to kern right classes*/
static const uint8_t kern_right_class_mapping[] =
{
0, 0, 1, 0, 2, 0, 0, 0,
0, 2, 0, 3, 0, 4, 5, 4,
5, 6, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4, 0,
0, 7, 8, 6, 9, 8, 9, 9,
9, 8, 9, 9, 10, 9, 9, 9,
9, 8, 9, 8, 9, 11, 12, 13,
14, 15, 16, 17, 18, 0, 14, 3,
0, 5, 0, 19, 20, 21, 21, 21,
22, 21, 20, 0, 23, 20, 20, 24,
24, 21, 0, 21, 24, 25, 26, 27,
28, 28, 29, 30, 31, 0, 0, 3,
4
};
/*Kern values between classes*/
static const int8_t kern_class_values[] =
{
0, 0, 0, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 0, 6, 6,
3, 0, 4, 0, 0, 22, 0, 0,
6, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -17, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -13, 6, 6, -14,
-45, -29, 7, -12, 0, -39, -3, 6,
0, 0, 0, 0, 0, 0, -24, 0,
-24, -8, 0, -15, -19, -2, -15, -14,
-18, -14, -17, 0, 0, 0, -11, -32,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -7, 0, 0, -14, -12,
0, 0, 0, -12, 0, -10, 0, -12,
-6, -11, -18, -7, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -13, -37, 0, -20, 8, 0, -22,
-12, 0, 0, 0, -27, -5, -29, -22,
0, -36, 7, 0, 0, -4, 0, 0,
0, 0, 0, 0, -14, 0, -14, 0,
0, -4, 0, 0, 0, -5, 0, 0,
0, 4, 0, -11, 0, -14, -5, 0,
-18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
3, 0, -10, 7, 0, 11, -5, 0,
0, 0, 2, 0, -1, 0, 0, -1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -7, 0, -7, 0, 0, 0,
0, 0, 3, 0, 4, -3, 0, 4,
0, 0, 0, -4, 0, 0, -4, 0,
-3, 0, -4, -4, 0, 0, -3, -3,
-3, -7, -3, -7, 0, -3, 8, 0,
2, -42, -19, 13, -2, 0, -44, 0,
7, 0, 0, 0, 0, 0, 0, -13,
0, -9, -3, 0, -6, 0, -4, 0,
-7, -12, -7, -8, 0, 0, 0, 0,
6, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -10, -5,
0, 0, 0, -10, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -13, 0, 0, -35, 6, 0, -2,
-19, -5, 0, -5, 0, -8, 0, 0,
0, 0, 0, -9, 0, -11, -13, 0,
-5, -5, -13, -13, -21, -11, -21, 0,
-16, -33, 0, -29, 8, 0, -23, -15,
0, 5, -3, -42, -14, -47, -35, 0,
-57, 0, -2, 0, -6, -6, 0, -1,
0, -9, -8, -30, 0, -30, 0, -3,
3, 0, 4, -46, -26, 5, 0, 0,
-51, 0, 0, 0, -1, -2, -8, 0,
-10, -11, 0, -10, 0, 0, 0, 0,
0, 0, 4, 0, 4, 0, 0, -4,
0, -3, 12, 0, -1, -3, 0, 0,
2, -4, -4, -9, -6, 0, -16, 0,
0, 0, -4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3, 0, 0, 0, 7,
0, 0, -5, 0, 0, -7, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -10, 10, 0, -26,
-36, -27, 12, -10, 0, -45, 0, 7,
0, 6, 6, 0, 0, 0, -38, 0,
-36, -14, 0, -29, -36, -11, -28, -34,
-34, -34, -28, -3, 6, 0, -8, -25,
-22, 0, -6, 0, -23, -1, 6, 0,
0, 0, 0, 0, 0, -25, 0, -20,
-5, 0, -14, -15, 0, -11, -7, -11,
-7, -11, 0, 0, 6, -29, 3, 0,
4, -11, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -8, 0, -11, 0,
0, -5, -6, -10, -10, -20, 0, -20,
0, -10, 4, 6, -23, -44, -36, 3,
-18, 0, -44, -8, 0, 0, 0, 0,
0, 0, 0, -36, 0, -34, -16, 0,
-27, -30, -11, -25, -24, -22, -24, -25,
0, 0, 3, -15, 6, 0, 3, -9,
0, 0, -3, 0, 0, 0, 0, 0,
0, 0, -2, 0, -5, 0, 0, 0,
0, 0, 0, -11, 0, -11, 0, 0,
-13, 0, -1, 0, 0, -10, 0, 0,
0, 0, -28, 0, -24, -21, -3, -32,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -4, 0, -4, 0, 0, -16,
0, -3, -10, 0, -13, 0, 0, 0,
0, -36, 0, -24, -20, -11, -34, 0,
-3, 0, 0, -3, 0, 0, 0, -2,
0, -7, -8, -7, -7, 0, 1, 0,
6, 8, 0, -4, 0, 0, 0, 0,
-25, 0, -17, -11, 6, -25, 0, 1,
0, -1, 4, 0, 0, 0, 7, 0,
0, 2, 0, 4, 0, 0, 4, 0,
0, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -2, 0, 5, -1,
0, -8, 0, 0, 0, 0, -23, 0,
-21, -16, -4, -29, 0, 0, 0, 0,
0, 0, 0, 4, 0, 0, -1, -2,
-1, 0, 0, 15, 0, -2, -25, 0,
14, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -9, 0, -8, 1,
0, 0, 0, 4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -9,
0, 0, 0, 0, -29, 0, -15, -14,
0, -27, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 13, 0,
0, 0, 0, 0, 0, 0, 0, -7,
0, 0, -9, 8, 0, -15, 0, 0,
0, 0, -29, 0, -20, -18, 0, -27,
0, -9, 0, -7, 0, 0, 0, -4,
0, -3, 0, 0, 0, 0, 0, 8,
0, 3, -35, -15, -9, 0, 0, -38,
0, 0, 0, -14, 0, -16, -24, 0,
-13, 0, -11, 0, 0, 0, -2, 9,
0, 0, 0, 0, 0, 0, -9, 0,
0, 0, 0, -10, 0, 0, 0, 0,
-32, 0, -23, -16, -1, -34, 0, 0,
0, 0, 0, 0, 0, 3, 0, 0,
-3, 0, -3, 4, 0, -2, 3, -1,
9, 0, -8, 0, 0, 0, 0, -22,
0, -15, 0, -1, -22, 0, 0, 0,
-3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -29,
-14, -9, 0, 0, -26, 0, -34, 0,
-14, -7, -20, -24, 0, -6, 0, -7,
0, 0, 0, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, -6, 3, 0,
-13, 0, 0, 0, 0, -34, 0, -18,
-11, 0, -22, 0, -5, 0, -8, 0,
0, 0, 0, 4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3, 0, -10,
0, 0, 0, 0, -31, 0, -18, -10,
0, -24, 0, -5, 0, -7, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static const lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 31,
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_20px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_20px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_classes,
.kern_scale = 16,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 1,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_20px = {
#else
lv_font_t Number_HarmonyOS_bpp4_20px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 23, /*The maximum line height required by the font*/
.base_line = 5, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_20PX*/

View File

@ -0,0 +1,309 @@
/*******************************************************************************
* Size: 28 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_28px.c --bpp 4 --size 28 -r 0x20-0x7f
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_28PX
#define NUMBER_HARMONYOS_BPP4_28PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_28PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Map glyph_ids to kern left classes*/
static const uint8_t kern_left_class_mapping[] =
{
0, 0, 0, 1, 0, 0, 0, 0,
1, 2, 3, 0, 4, 0, 4, 0,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4,
6, 7, 8, 9, 10, 7, 11, 12,
13, 14, 14, 15, 16, 17, 14, 14,
7, 18, 0, 19, 20, 21, 15, 5,
22, 23, 24, 25, 2, 8, 3, 0,
0, 0, 26, 27, 28, 29, 30, 31,
32, 26, 0, 33, 34, 29, 26, 26,
27, 27, 0, 35, 36, 37, 32, 38,
38, 39, 38, 40, 2, 0, 3, 4
};
/*Map glyph_ids to kern right classes*/
static const uint8_t kern_right_class_mapping[] =
{
0, 1, 0, 2, 0, 0, 0, 0,
2, 0, 3, 0, 4, 5, 4, 5,
6, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4, 0, 0,
7, 8, 6, 9, 8, 9, 9, 9,
8, 9, 9, 10, 9, 9, 9, 9,
8, 9, 8, 9, 11, 12, 13, 14,
15, 16, 17, 18, 0, 14, 3, 0,
5, 0, 19, 20, 21, 21, 21, 22,
21, 20, 0, 23, 20, 20, 24, 24,
21, 0, 21, 24, 25, 26, 27, 28,
28, 29, 30, 31, 0, 0, 3, 4
};
/*Kern values between classes*/
static const int8_t kern_class_values[] =
{
0, 0, 0, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 9, 0, 9, 9,
4, 0, 6, 0, 0, 31, 0, 0,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 11, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -24, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -18, 8, 9, -20,
-64, -41, 10, -17, 0, -54, -4, 9,
0, 0, 0, 0, 0, 0, -34, 0,
-33, -11, 0, -22, -26, -3, -22, -20,
-25, -20, -24, 0, 0, 0, -15, -45,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -10, 0, 0, -19, -16,
0, 0, 0, -16, 0, -14, 0, -17,
-9, -16, -25, -10, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -18, -52, 0, -28, 12, 0, -30,
-16, 0, 0, 0, -38, -7, -41, -31,
0, -50, 9, 0, 0, -5, 0, 0,
0, 0, 0, 0, -19, 0, -19, 0,
0, -6, 0, 0, 0, -7, 0, 0,
0, 6, 0, -16, 0, -20, -7, 0,
-26, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
4, 0, -14, 10, 0, 15, -7, 0,
0, 0, 2, 0, -1, 0, 0, -1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -10, 0, -10, 0, 0, 0,
0, 0, 4, 0, 5, -4, 0, 5,
0, 0, 0, -5, 0, 0, -6, 0,
-4, 0, -5, -6, 0, 0, -4, -4,
-4, -9, -4, -9, 0, -4, 12, 0,
3, -59, -26, 18, -2, 0, -62, 0,
10, 0, 0, 0, 0, 0, 0, -18,
0, -13, -4, 0, -8, 0, -6, 0,
-10, -16, -10, -11, 0, 0, 0, 0,
8, 0, 5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -13, -7,
0, 0, 0, -13, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -18, 0, 0, -49, 8, 0, -3,
-26, -7, 0, -7, 0, -12, 0, 0,
0, 0, 0, -13, 0, -15, -18, 0,
-7, -7, -18, -19, -30, -15, -30, 0,
-22, -46, 0, -40, 12, 0, -32, -22,
0, 8, -4, -59, -19, -66, -49, 0,
-80, 0, -3, 0, -9, -9, 0, -1,
0, -13, -12, -43, 0, -43, 0, -4,
4, 0, 5, -65, -36, 7, 0, 0,
-72, 0, 0, 0, -1, -2, -11, 0,
-13, -15, 0, -13, 0, 0, 0, 0,
0, 0, 5, 0, 5, 0, 0, -5,
0, -4, 17, 0, -2, -4, 0, 0,
3, -6, -6, -13, -8, 0, -22, 0,
0, 0, -6, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4, 0, 0, 0, 10,
0, 0, -7, 0, 0, -10, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -13, 13, 0, -36,
-51, -38, 16, -14, 0, -63, 0, 10,
0, 9, 9, 0, 0, 0, -53, 0,
-50, -20, 0, -41, -50, -15, -39, -47,
-48, -47, -39, -4, 8, 0, -11, -34,
-31, 0, -9, 0, -33, -1, 9, 0,
0, 0, 0, 0, 0, -34, 0, -28,
-7, 0, -19, -21, 0, -16, -10, -15,
-10, -15, 0, 0, 9, -41, 4, 0,
6, -16, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -11, 0, -16, 0,
0, -8, -8, -14, -14, -27, 0, -27,
0, -13, 6, 9, -32, -62, -50, 4,
-25, 0, -61, -11, 0, 0, 0, 0,
0, 0, 0, -51, 0, -48, -23, 0,
-38, -42, -15, -35, -33, -31, -33, -34,
0, 0, 4, -21, 9, 0, 4, -13,
0, 0, -4, 0, 0, 0, 0, 0,
0, 0, -2, 0, -7, 0, 0, 0,
0, 0, 0, -15, 0, -15, 0, 0,
-18, 0, -1, 0, 0, -14, 0, 0,
0, 0, -39, 0, -33, -30, -4, -45,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -6, 0, -6, 0, 0, -22,
0, -4, -14, 0, -18, 0, 0, 0,
0, -50, 0, -33, -28, -16, -48, 0,
-4, 0, 0, -4, 0, 0, 0, -2,
0, -9, -11, -9, -10, 0, 2, 0,
8, 11, 0, -5, 0, 0, 0, 0,
-35, 0, -23, -15, 8, -34, 0, 1,
0, -2, 6, 0, 0, 0, 10, 0,
0, 3, 0, 6, 0, 0, 6, 0,
0, 0, 5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -2, 0, 7, -1,
0, -11, 0, 0, 0, 0, -32, 0,
-29, -22, -6, -41, 0, 0, 0, 0,
0, 0, 0, 5, 0, 0, -1, -3,
-1, 0, 0, 21, 0, -3, -34, 0,
20, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -12, 0, -11, 1,
0, 0, 0, 6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -12,
0, 0, 0, 0, -41, 0, -22, -19,
0, -38, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 19, 0,
0, 0, 0, 0, 0, 0, 0, -10,
0, 0, -12, 11, 0, -22, 0, 0,
0, 0, -41, 0, -27, -25, 0, -38,
0, -13, 0, -10, 0, 0, 0, -5,
0, -4, 0, 0, 0, 0, 0, 11,
0, 4, -48, -21, -13, 0, 0, -53,
0, 0, 0, -19, 0, -23, -34, 0,
-19, 0, -15, 0, 0, 0, -3, 13,
0, 0, 0, 0, 0, 0, -13, 0,
0, 0, 0, -14, 0, 0, 0, 0,
-45, 0, -32, -22, -2, -47, 0, 0,
0, 0, 0, 0, 0, 4, 0, 0,
-4, 0, -4, 5, 0, -3, 4, -1,
13, 0, -11, 0, 0, 0, 0, -31,
0, -21, 0, -1, -30, 0, 0, 0,
-4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -41,
-19, -12, 0, 0, -36, 0, -47, 0,
-20, -10, -27, -33, 0, -9, 0, -9,
0, 0, 0, -4, 0, 0, 0, 0,
0, 0, 0, 0, 0, -9, 4, 0,
-18, 0, 0, 0, 0, -48, 0, -25,
-15, 0, -31, 0, -7, 0, -11, 0,
0, 0, 0, 6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4, 0, -14,
0, 0, 0, 0, -44, 0, -25, -14,
0, -33, 0, -7, 0, -10, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static const lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 31,
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_28px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_28px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_classes,
.kern_scale = 16,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 1,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_28px = {
#else
lv_font_t Number_HarmonyOS_bpp4_28px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 32, /*The maximum line height required by the font*/
.base_line = 7, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_28PX*/

View File

@ -0,0 +1,295 @@
/*******************************************************************************
* Size: 36 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font D:\code\lv_font_conv\lv_font_convert_tools\HarmonyOS_Sans_SC_Medium.ttf -o D:\code\lv_font_conv\lv_font_convert_tools\Number_HarmonyOS_bpp4_36px.c --bpp 4 --size 36 --symbols <20><><EFBFBD>H%:-GOQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm/.+ -r 0x25-0x3A
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_36PX
#define NUMBER_HARMONYOS_BPP4_36PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_36PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_3[] = {
0x0, 0x6
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 22, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 65, .range_length = 26, .glyph_id_start = 23,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 97, .range_length = 26, .glyph_id_start = 49,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 8451, .range_length = 7, .glyph_id_start = 75,
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 2, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Map glyph_ids to kern left classes*/
static const uint8_t kern_left_class_mapping[] =
{
0, 0, 0, 0, 1, 2, 0, 0,
0, 0, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4,
5, 6, 7, 8, 9, 10, 0, 0,
11, 12, 13, 0, 0, 7, 14, 0,
15, 16, 17, 11, 3, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28,
22, 0, 29, 30, 25, 22, 22, 23,
23, 0, 31, 32, 33, 28, 34, 34,
35, 34, 36, 6, 9
};
/*Map glyph_ids to kern right classes*/
static const uint8_t kern_right_class_mapping[] =
{
0, 0, 0, 1, 0, 2, 0, 3,
4, 3, 4, 5, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5,
6, 7, 6, 6, 6, 7, 6, 6,
8, 6, 6, 6, 6, 7, 6, 7,
6, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 19, 19, 20, 19,
18, 0, 21, 18, 18, 22, 22, 19,
0, 19, 22, 23, 24, 25, 26, 26,
27, 28, 29, 0, 0
};
/*Kern values between classes*/
static const int8_t kern_class_values[] =
{
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 12, 0, 12, 12, 6,
0, 8, 0, 0, 40, 0, 0, 10,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 14, 0, 0, 0, 0, 0, 0,
0, 0, 10, 12, -25, -82, -53, 0,
-21, -70, -6, 11, 0, 0, 0, 0,
0, 0, -44, 0, -43, -14, 0, -28,
-34, -4, -28, -26, -32, -26, -31, -67,
0, -36, 15, 0, 0, -21, 0, 0,
-48, -9, -53, -40, 0, -64, 12, 0,
0, -6, 0, 0, 0, 0, 0, 0,
-25, 0, -25, 0, -7, 0, 0, 0,
-9, 0, 0, 8, 0, -20, 0, -26,
-9, 0, -33, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 6, 0, -18, 13, 0, 0, -9,
0, 0, 3, 0, -2, 0, 0, -2,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -13, 0, -13, 0, -13, 0,
0, -25, -21, 0, 0, -21, 0, -18,
0, -21, -12, -20, -32, -13, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 6, 0,
0, -6, 6, 0, 0, 0, -6, 0,
0, -7, 0, -6, 0, -6, -8, 0,
0, -5, -6, -5, -12, -5, -12, 0,
15, 0, 3, -75, -33, 0, -3, -80,
0, 13, 0, 0, 0, 0, 0, 0,
-23, 0, -16, -5, 0, -10, 0, -7,
0, -13, -21, -13, -14, 0, 0, 1,
10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -17, -9, 0,
0, -17, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -63, 10, 0, -9, -33, 0, -9,
0, -15, 0, 0, 0, 0, 0, -17,
0, -20, -24, 0, -9, -9, -24, -24,
-39, -20, -39, 0, -59, 0, -52, 15,
0, 0, -28, 10, -5, -75, -25, -85,
-63, 0, -103, 0, -4, 0, -12, -11,
0, -1, 1, -16, -15, -55, 0, -55,
0, 6, 0, 7, -83, -47, 0, 0,
-92, 0, 0, 0, -2, -3, -14, 0,
-17, -19, 0, -17, 0, 0, 0, 0,
0, 0, 6, 0, 6, 0, -6, 0,
-5, 22, 0, 0, -6, 0, 4, -7,
-7, -16, -10, 0, -28, 0, 0, 0,
-7, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 13, 0, 0, -9, 0,
0, -13, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
17, 0, -46, -66, -48, 0, -18, -81,
0, 13, 0, 11, 12, 0, 0, 0,
-69, 0, -64, -26, 0, -53, -64, -19,
-51, -61, -62, -61, -50, 10, 0, -14,
-44, -40, 0, -12, -42, -1, 12, 0,
0, 0, 0, 0, 0, -44, 0, -36,
-9, 0, -25, -26, 0, -20, -13, -19,
-13, -20, 0, 12, -53, 6, 0, 0,
-20, 0, 0, 0, 0, 0, 0, 0,
0, 0, -14, 0, -20, 0, 0, -10,
-10, -18, -18, -35, 0, -35, 0, 8,
12, -41, -79, -64, 0, -32, -79, -14,
0, 0, 0, 0, 0, 0, 0, -65,
0, -62, -29, 0, -49, -54, -20, -45,
-43, -40, -43, -44, 0, 6, -26, 12,
0, 0, -16, 0, -6, 0, 0, 0,
0, 0, 0, 0, -3, 0, -9, 0,
0, 0, 0, 0, 0, -19, 0, -19,
0, -24, 0, -1, 0, 0, 0, 0,
0, 0, -50, 0, -43, -38, -5, -58,
0, 0, 0, 0, 0, 0, 0, 0,
-1, 0, -7, 0, -7, 0, -29, 0,
-6, -18, 0, 0, 0, 0, 0, -64,
0, -43, -36, -20, -62, 0, -6, 0,
0, -5, 0, 0, 0, -3, 0, -12,
-14, -12, -13, 2, 0, 10, 14, 0,
0, 0, 0, 0, -45, 0, -30, -20,
10, -44, 0, 1, 0, -2, 7, 0,
0, 0, 13, 0, 0, 4, 0, 8,
0, 8, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -3, 0, 9,
-2, 0, 0, 0, 0, 0, -41, 0,
-37, -28, -8, -53, 0, 0, 0, 0,
0, 0, 0, 6, 0, 0, -1, -4,
-1, 0, 27, 0, -4, -44, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -16, 0, -14, 1, 0, 0,
0, 8, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-53, 0, -28, -25, 0, -49, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
24, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -16, 14, 0, 0, 0,
0, 0, -53, 0, -35, -32, 0, -49,
0, -17, 0, -13, 0, 0, 0, -6,
0, -5, 0, 0, 0, 0, 14, 0,
5, -62, -27, 0, 0, -68, 0, 0,
0, -25, 0, -29, -43, 0, -24, 0,
-19, 0, 0, 0, -3, 17, 0, 0,
0, 0, 0, -17, 0, 0, 0, 0,
0, 0, 0, 0, -58, 0, -41, -29,
-2, -60, 0, 0, 0, 0, 0, 0,
0, 5, 0, 0, -5, 0, -5, 7,
-4, 6, -1, 16, 0, 0, 0, 0,
0, -40, 0, -27, 0, -1, -39, 0,
0, 0, -5, 0, 0, 0, 0, 0,
0, -1, 0, 0, 0, 0, 0, 0,
-52, -25, 0, 0, -46, 0, -61, 0,
-26, -13, -35, -43, 0, -11, 0, -12,
0, 0, 0, -6, 0, 0, 0, 0,
0, -1, 0, 0, -12, 5, 0, 0,
0, 0, 0, -62, 0, -32, -19, 0,
-40, 0, -9, 0, -14, 0, 0, 0,
0, 7, 0, 0, 0, 0, 0, 0,
0, 0, 6, 0, 0, 0, 0, 0,
-56, 0, -32, -18, 0, -43, 0, -9,
0, -13, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static const lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 36,
.right_class_cnt = 29,
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_36px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_36px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_classes,
.kern_scale = 16,
.cmap_num = 4,
.bpp = 4,
.kern_classes = 1,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_36px = {
#else
lv_font_t Number_HarmonyOS_bpp4_36px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 39, /*The maximum line height required by the font*/
.base_line = 8, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_36PX*/

View File

@ -0,0 +1,132 @@
/*******************************************************************************
* Size: 44 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_44px.c --bpp 4 --size 44 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_44PX
#define NUMBER_HARMONYOS_BPP4_44PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_44PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-31, -100, -65
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_44px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_44px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_44px = {
#else
lv_font_t Number_HarmonyOS_bpp4_44px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 33, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_44PX*/

View File

@ -0,0 +1,132 @@
/*******************************************************************************
* Size: 46 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_46px.c --bpp 4 --size 46 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_46PX
#define NUMBER_HARMONYOS_BPP4_46PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_46PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-32, -105, -68
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_46px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_46px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_46px = {
#else
lv_font_t Number_HarmonyOS_bpp4_46px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 36, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_46PX*/

View File

@ -0,0 +1,132 @@
/*******************************************************************************
* Size: 50 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_50px.c --bpp 4 --size 50 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_50PX
#define NUMBER_HARMONYOS_BPP4_50PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_50PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-35, -114, -74
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_50px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_50px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_50px = {
#else
lv_font_t Number_HarmonyOS_bpp4_50px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 39, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -4,
.underline_thickness = 3,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_50PX*/

View File

@ -0,0 +1,132 @@
/*******************************************************************************
* Size: 62 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_62px.c --bpp 4 --size 62 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_62PX
#define NUMBER_HARMONYOS_BPP4_62PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_62PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-37, -119, -77
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_62px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_62px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 19,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_62px = {
#else
lv_font_t Number_HarmonyOS_bpp4_62px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 47, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -5,
.underline_thickness = 3,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_62PX*/

View File

@ -0,0 +1,132 @@
/*******************************************************************************
* Size: 80 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_80px.c --bpp 4 --size 80 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_80PX
#define NUMBER_HARMONYOS_BPP4_80PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_80PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-36, -116, -75
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_80px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_80px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 25,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_80px = {
#else
lv_font_t Number_HarmonyOS_bpp4_80px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 62, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -6,
.underline_thickness = 4,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_80PX*/

View File

@ -0,0 +1,132 @@
/*******************************************************************************
* Size: 92 px
* Bpp: 4
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_92px.c --bpp 4 --size 92 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef NUMBER_HARMONYOS_BPP4_92PX
#define NUMBER_HARMONYOS_BPP4_92PX 1
#endif
#if NUMBER_HARMONYOS_BPP4_92PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
#include "bin_font.h"
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
4, 2,
4, 3,
4, 4
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-37, -119, -77
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = Number_HarmonyOS_bpp4_92px_glyph_bitmap,
.glyph_dsc = Number_HarmonyOS_bpp4_92px_glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 28,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t Number_HarmonyOS_bpp4_92px = {
#else
lv_font_t Number_HarmonyOS_bpp4_92px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 70, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -7,
.underline_thickness = 5,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if NUMBER_HARMONYOS_BPP4_92PX*/

View File

@ -0,0 +1,3 @@
align_left_space=50
flash_head_address=0xA12000
output_c_file_dir=

View File

@ -0,0 +1,454 @@
#include <stdint.h>
#include <stddef.h>
//
////#include "os_task.h"
////#include "os_msg_q.h"
////#include "os_timer.h"
////#include "user_task.h"
//#include "button.h"
//
////#include "driver_pmu.h"
//
//#define BUTTON_IDX_MAX 1
//
//#define BUTTON_SHORT_DURING 0x08 // x10ms
//#define BUTTON_LONG_DURING 0x14 // x100ms
//#define BUTTON_LONG_LONG_DURING 0x28 // x100ms
//#define BUTTON_MULTI_INTERVAL 0x14 // x10ms
//#define BUTTON_LONG_PRESSING_INTERVAL 0x1e // x10ms
//
//uint8_t current_state = BUTTON_WORKING_STATE_IDLE;
//uint16_t button_task_id;
////os_timer_t button_anti_shake_timer;
////os_timer_t button_pressing_timer;
////os_timer_t button_state_timer;
//
///* which io is enabled for button function */
//uint32_t button_io_mask = 0;
//uint32_t curr_button_before_anti_shake = 0;
//uint32_t current_pressed_button = 0;
//uint32_t last_saved_button = 0;
//uint32_t button_to_be_send = 0; //for multi click
//uint8_t pressed_cnt = 0; //for multi click
//
//void button_toggle_detected(uint32_t curr_button)
//{
// //co_printf("button_toggle_detected curr_button :%x,button_io_mask :%x\r\n",curr_button,button_io_mask);
//
// if(button_io_mask != 0) {
// curr_button_before_anti_shake = curr_button & button_io_mask;
// os_timer_start(&button_anti_shake_timer, 10, false);
// }
//}
//
//void button_int_isr(uint32_t changed_button)
//{
// uint32_t curr_button;
// os_event_t toggle_event;
//
// curr_button = current_pressed_button ^ changed_button;
//
// toggle_event.event_id = BUTTON_TOGGLE;
// toggle_event.param = (void *)&curr_button;
// toggle_event.param_len = sizeof(uint32_t);
// os_msg_post(button_task_id, &toggle_event);
//}
//
//void button_send_event(uint8_t event, uint32_t button, uint8_t cnt)
//{
// os_event_t button_event;
// struct button_msg_t msg;
//
// msg.button_index = button;
// msg.button_type = event;
// msg.button_cnt = cnt;
//
// button_event.event_id = USER_EVT_BUTTON;
// button_event.src_task_id = button_task_id;
// button_event.param = (void *)&msg;
// button_event.param_len = sizeof(msg);
//
// os_msg_post(get_user_task_id(), &button_event);
//
// pressed_cnt = 0;
//}
//
//static void button_idle(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// }
//}
//
//static void button_just_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// os_timer_stop(&button_state_timer);
// button_send_event(BUTTON_RELEASED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
// {
// current_state = BUTTON_WORKING_STATE_PRESSED;
// os_timer_start(&button_state_timer, (BUTTON_LONG_DURING*10-BUTTON_SHORT_DURING)*10, false);
// }
//}
//
//static void button_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// if(0/*__jump_table.button_disable_multi_click*/ & last_saved_button)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// button_send_event(BUTTON_SHORT_PRESSED, last_saved_button, 0);
// }
// else
// {
// //TBD<42><44><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// current_state = BUTTON_WORKING_STATE_WAIT_MULTI;
// button_to_be_send = last_saved_button;
// pressed_cnt++;
// os_timer_start(&button_state_timer, BUTTON_MULTI_INTERVAL*10, false);
// }
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
// {
// current_state = BUTTON_WORKING_STATE_LONG_PRESSED;
// os_timer_start(&button_state_timer, ((BUTTON_LONG_LONG_DURING-BUTTON_LONG_DURING)*10)*10, false);
// os_timer_start(&button_pressing_timer, BUTTON_LONG_PRESSING_INTERVAL*10, false);
// button_send_event(BUTTON_LONG_PRESSED, current_pressed_button, pressed_cnt);
// }
//}
//
//static void button_wait_multi(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
// {
// if(current_pressed_button != button_to_be_send)
// {
// if(pressed_cnt > 1)
// {
// button_send_event(BUTTON_MULTI_PRESSED, button_to_be_send, pressed_cnt);
// }
// else
// {
// button_send_event(BUTTON_SHORT_PRESSED, button_to_be_send, pressed_cnt);
// }
// button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
// }
// current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// button_send_event(BUTTON_SHORT_PRESSED, button_to_be_send, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// if(pressed_cnt > 1)
// {
// button_send_event(BUTTON_MULTI_PRESSED, button_to_be_send, pressed_cnt);
// }
// else
// {
// button_send_event(BUTTON_SHORT_PRESSED, button_to_be_send, pressed_cnt);
// }
// }
//}
//
//static void button_long_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// os_timer_stop(&button_state_timer);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_LONG_RELEASED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// button_send_event(BUTTON_LONG_RELEASED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
// {
// current_state = BUTTON_WORKING_STATE_LONG_LONG_PRESSED;
// button_send_event(BUTTON_LONG_LONG_PRESSED, current_pressed_button, pressed_cnt);
// }
//}
//
//static void button_long_long_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// os_timer_stop(&button_pressing_timer);
// current_state = BUTTON_WORKING_STATE_IDLE;
// button_send_event(BUTTON_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// button_send_event(BUTTON_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
// }
//}
//
//static void button_comb_just_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// os_timer_stop(&button_state_timer);
// button_send_event(BUTTON_COMB_RELEASED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_RELEASED, last_saved_button, pressed_cnt);
// button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
// {
// current_state = BUTTON_WORKING_STATE_COMB_PRESSED;
// os_timer_start(&button_state_timer, (BUTTON_LONG_DURING*10-BUTTON_SHORT_DURING)*10, false);
// }
//}
//
//static void button_comb_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// os_timer_stop(&button_state_timer);
// button_send_event(BUTTON_COMB_SHORT_PRESSED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_SHORT_PRESSED, last_saved_button, pressed_cnt);
// button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// button_send_event(BUTTON_COMB_SHORT_PRESSED, last_saved_button, pressed_cnt);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
// {
// current_state = BUTTON_WORKING_STATE_COMB_LONG_PRESSED;
// os_timer_start(&button_state_timer, ((BUTTON_LONG_LONG_DURING-BUTTON_LONG_DURING)*10)*10, false);
// os_timer_start(&button_pressing_timer, BUTTON_LONG_PRESSING_INTERVAL*10, false);
// button_send_event(BUTTON_COMB_LONG_PRESSED, current_pressed_button, pressed_cnt);
// }
//}
//
//static void button_comb_long_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// os_timer_stop(&button_state_timer);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_LONG_RELEASED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_LONG_RELEASED, last_saved_button, pressed_cnt);
// button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_LONG_RELEASED, last_saved_button, pressed_cnt);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
// {
// current_state = BUTTON_WORKING_STATE_COMB_LONG_LONG_PRESSED;
// button_send_event(BUTTON_COMB_LONG_LONG_PRESSED, current_pressed_button, pressed_cnt);
// }
//}
//
//static void button_comb_long_long_pressed(uint8_t event)
//{
// if(event == BUTTON_WORKING_EVENT_RELEASED)
// {
// current_state = BUTTON_WORKING_STATE_IDLE;
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
// button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
// }
// else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
// {
// current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
// os_timer_start(&button_state_timer, BUTTON_SHORT_DURING*10, false);
// os_timer_stop(&button_pressing_timer);
// button_send_event(BUTTON_COMB_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
// button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
// }
//}
//
//void (*const button_statemachines[BUTTON_WORKING_STATE_MAX])(uint8_t) =
//{
// button_idle,
// button_just_pressed,
// button_pressed,
// button_wait_multi,
// button_long_pressed,
// button_long_long_pressed,
// button_comb_just_pressed,
// button_comb_pressed,
// button_comb_long_pressed,
// button_comb_long_long_pressed,
//};
//
////one or more button is released or pressed
//static int button_toggle_handler(uint32_t curr_button)
//{
// enum button_working_event_t event;
//
// current_pressed_button = curr_button;
//
// if(last_saved_button != current_pressed_button)
// {
// if(current_pressed_button == 0)
// {
// event = BUTTON_WORKING_EVENT_RELEASED;
// }
// else
// {
// if((current_pressed_button & (current_pressed_button-1)) == 0)
// {
// event = BUTTON_WORKING_EVENT_SINGLE_PRESSED;
// }
// else
// {
// event = BUTTON_WORKING_EVENT_COMB_PRESSED;
// }
// }
//
// button_statemachines[current_state](event);
//
// last_saved_button = current_pressed_button;
// }
//
// return EVT_CONSUMED;
//}
//
//static void button_timeout_handler(void *param)
//{
// button_statemachines[current_state](BUTTON_WORKING_EVENT_TIME_OUT);
//}
//
//static void button_pressing_timeout_handler(void *param)
//{
// enum button_type_t event;
// if((current_pressed_button & (current_pressed_button - 1)) == 0)
// {
// event = BUTTON_LONG_PRESSING;
// }
// else
// {
// event = BUTTON_COMB_LONG_PRESSING;
// }
//
// button_send_event(event, current_pressed_button, pressed_cnt);
//
// os_timer_start(&button_pressing_timer, BUTTON_LONG_PRESSING_INTERVAL*10, false);
//}
//
//static void button_anti_shake_timeout_handler(void *param)
//{
// uint32_t curr_button;
// os_event_t toggle_event;
//
// //milo modify curr_button = ool_read32(PMU_REG_PORTA_V);
// curr_button = ool_read32(PMU_REG_PORTA_LAST_STATUS);
// curr_button &= button_io_mask;
//
// if(curr_button == curr_button_before_anti_shake)
// {
// curr_button ^= button_io_mask;
// toggle_event.event_id = BUTTON_TOGGLE;
// toggle_event.param = (void *)&curr_button;
// toggle_event.param_len = sizeof(uint32_t);
// os_msg_post(button_task_id, &toggle_event);
// }
//}
//
//static int button_task_func(os_event_t *event)
//{
// switch(event->event_id)
// {
// case BUTTON_TOGGLE:
// button_toggle_handler(*(uint32_t *)event->param);
// break;
// }
//
// return EVT_CONSUMED;
//}
//
//void button_init(uint32_t enable_io)
//{
// button_io_mask = enable_io;
//
// button_task_id = os_task_create(button_task_func);
// os_timer_init(&button_anti_shake_timer, button_anti_shake_timeout_handler, NULL);
// os_timer_init(&button_pressing_timer, button_pressing_timeout_handler, NULL);
// os_timer_init(&button_state_timer, button_timeout_handler, NULL);
//}

View File

@ -0,0 +1,73 @@
#ifndef _BUTTON_H
#define _BUTTON_H
#include <stdint.h>
enum button_event_t {
BUTTON_TOGGLE,
BUTTON_PRESSED_EVENT,
BUTTON_TIMER_TO_TIMER,
BUTTON_PRESSING_TO_TIMER,
BUTTON_ANTI_SHAKE_TO_TIMER,
};
enum button_type_t {
BUTTON_PRESSED,
BUTTON_RELEASED,
BUTTON_SHORT_PRESSED,
BUTTON_MULTI_PRESSED,
BUTTON_LONG_PRESSED,
BUTTON_LONG_PRESSING,
BUTTON_LONG_RELEASED,
BUTTON_LONG_LONG_PRESSED,
BUTTON_LONG_LONG_RELEASED,
BUTTON_COMB_PRESSED,
BUTTON_COMB_RELEASED,
BUTTON_COMB_SHORT_PRESSED,
BUTTON_COMB_LONG_PRESSED,
BUTTON_COMB_LONG_PRESSING,
BUTTON_COMB_LONG_RELEASED,
BUTTON_COMB_LONG_LONG_PRESSED,
BUTTON_COMB_LONG_LONG_RELEASED,
};
enum button_working_state_t {
BUTTON_WORKING_STATE_IDLE,
BUTTON_WORKING_STATE_JUST_PRESSED,
BUTTON_WORKING_STATE_PRESSED,
BUTTON_WORKING_STATE_WAIT_MULTI,
BUTTON_WORKING_STATE_LONG_PRESSED,
BUTTON_WORKING_STATE_LONG_LONG_PRESSED,
BUTTON_WORKING_STATE_COMB_JUST_PRESSED,
BUTTON_WORKING_STATE_COMB_PRESSED,
BUTTON_WORKING_STATE_COMB_LONG_PRESSED,
BUTTON_WORKING_STATE_COMB_LONG_LONG_PRESSED,
BUTTON_WORKING_STATE_MAX,
};
enum button_working_event_t {
BUTTON_WORKING_EVENT_RELEASED,
BUTTON_WORKING_EVENT_SINGLE_PRESSED,
BUTTON_WORKING_EVENT_COMB_PRESSED,
BUTTON_WORKING_EVENT_TIME_OUT,
};
struct button_toggle_param_t {
uint32_t curr_button;
uint32_t timestamp;
};
struct button_msg_t {
uint32_t button_index;
uint8_t button_type;
uint8_t button_cnt; //only for multi click
};
void button_toggle_detected(uint32_t curr_button);
void button_int_isr(uint32_t changed_button);
void button_init(uint32_t enable_io);
#endif //_BUTTON_H

View File

@ -0,0 +1,75 @@
#include <stdint.h>
#if !MMI_WIN32_SIM
//
//#include "os_task.h"
//#include "os_msg_q.h"
//#include "co_printf.h"
#include "button.h"
//#include "driver_gpio.h"
//#include "SEGGER_RTT.h"
//#include "window_manager.h"
//#include "driver_exti.h"
//#include "driver_cst816d.h"
//#include "input_driver.h"
#include "hal_key_handle.h"
//#include "user_main.h"
#include "lvgl.h"
//#include "../engtest/eng_mode.h"
static uint8_t key_code_type_bit;
static uint8_t key_code;
extern void hal_keypad_msg_handle(uint8_t button_index, uint8_t button_type)
{
key_event_msg_t *key_msg_param;
e_key_event_type key_event_type;
printf("hal_keypad_msg_handle btn %d \r\n",button_index);
switch(button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_SHORT_PRESSED:
key_code_type_bit=SHORT_KEY_BIT;
break;
case BUTTON_MULTI_PRESSED:
key_code_type_bit=MULTI_KEY_BIT;
break;
case BUTTON_COMB_LONG_PRESSED:
case BUTTON_LONG_PRESSED:
key_code_type_bit=LONG_KEY_BIT;
break;
default:
key_code_type_bit=0;
break;
}
//init
key_code|=button_index;
key_code|=key_code_type_bit;
printf("key_code_bit:%d\r\n",key_code);
}
uint8_t get_keycode_type_bit()
{
return key_code_type_bit;
}
uint8_t get_keycode()
{
return key_code;
}
void reset_keycode()
{
key_code=0;
}
#endif

View File

@ -0,0 +1,115 @@
#ifndef __HAL_KEY_HANDLE_H__
#define __HAL_KEY_HANDLE_H__
typedef struct _key_event_msg_t {
uint32_t key_code;
uint8_t key_type;
}key_event_msg_t;
//key state
#define HOME_KEY_BIT 0x08
#define ENTER_KEY_BIT 0x10
#define UP_KEY_BIT 0x20
#define DOWN_KEY_BIT 0x40
#define END_KEY_BIT 0x80
#define HOME_ENTER_BIT HOME_KEY_BIT|ENTER_KEY_BIT
#define HOME_UP_BIT HOME_KEY_BIT|UP_KEY_BIT
#define HOME_DOWN_BIT HOME_KEY_BIT|DOWN_KEY_BIT
#define HOME_END_BIT HOME_KEY_BIT|END_KEY_BIT
#define ENTER_UP_BIT ENTER_KEY_BIT|UP_KEY_BIT
#define ENTER_DOWN_BIT ENTER_KEY_BIT|DOWN_KEY_BIT
#define ENTER_END_BIT ENTER_KEY_BIT|END_KEY_BIT
#define UP_DOWN_BIT UP_KEY_BIT|DOWN_KEY_BIT
#define UP_END_BIT UP_KEY_BIT|END_KEY_BIT
#define DOWN_END_BIT DOWN_KEY_BIT|END_KEY_BIT
#define SHORT_KEY_BIT 0x01
#define MULTI_KEY_BIT 0x02
#define LONG_KEY_BIT 0x04
//keycode
#define KEY_CODE_HOME HOME_KEY_BIT|SHORT_KEY_BIT //0000 1001 0x09
#define KEY_CODE_ENTER ENTER_KEY_BIT|SHORT_KEY_BIT //0001 0001 0x11
#define KEY_CODE_UP UP_KEY_BIT|SHORT_KEY_BIT //0010 0001 0x21
#define KEY_CODE_DOWN DOWN_KEY_BIT|SHORT_KEY_BIT //0100 0001 0x41
#define KEY_CODE_END END_KEY_BIT|SHORT_KEY_BIT //1000 0001 0x81
#define KEY_CODE_2HOME HOME_KEY_BIT|MULTI_KEY_BIT
#define KEY_CODE_2ENTER ENTER_KEY_BIT|MULTI_KEY_BIT
#define KEY_CODE_2UP UP_KEY_BIT|MULTI_KEY_BIT
#define KEY_CODE_2DOWN DOWN_KEY_BIT|MULTI_KEY_BIT
#define KEY_CODE_2END END_KEY_BIT|MULTI_KEY_BIT
#define KEY_CODE_LONG_HOME HOME_KEY_BIT|LONG_KEY_BIT
#define KEY_CODE_LONG_ENTER ENTER_KEY_BIT|LONG_KEY_BIT
#define KEY_CODE_LONG_UP UP_KEY_BIT|LONG_KEY_BIT
#define KEY_CODE_LONG_DOWN DOWN_KEY_BIT|LONG_KEY_BIT
#define KEY_CODE_LONG_END END_KEY_BIT|LONG_KEY_BIT
#define KEY_CODE_COMB_HOME_ENTER ((LV_KEY_HOME|LV_KEY_ENTER)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_HOME_UP ((LV_KEY_HOME|LV_KEY_PREV)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_HOME_DOWN ((LV_KEY_HOME|LV_KEY_NEXT)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_HOME_END ((LV_KEY_HOME|LV_KEY_END)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_ENTER_UP ((LV_KEY_ENTER|LV_KEY_PREV)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_ENTER_DOWN ((LV_KEY_ENTER|LV_KEY_NEXT)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_ENTER_END ((LV_KEY_ENTER|LV_KEY_END)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_UP_DOWN ((LV_KEY_PREV|LV_KEY_NEXT)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_UP_END ((LV_KEY_PREV|LV_KEY_END)|SHORT_KEY_BIT)
#define KEY_CODE_COMB_DOWN_END ((LV_KEY_NEXT|LV_KEY_END)|SHORT_KEY_BIT)
#define KEY_CODE_LONG_COMB_HOME_ENTER ((LV_KEY_HOME|LV_KEY_ENTER)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_HOME_UP ((LV_KEY_HOME|LV_KEY_PREV)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_HOME_DOWN ((LV_KEY_HOME|LV_KEY_NEXT)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_HOME_END ((LV_KEY_HOME|LV_KEY_END)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_ENTER_UP ((LV_KEY_ENTER|LV_KEY_PREV)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_ENTER_DOWN ((LV_KEY_ENTER|LV_KEY_NEXT)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_ENTER_END ((LV_KEY_ENTER|LV_KEY_END)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_UP_DOWN ((LV_KEY_PREV|LV_KEY_NEXT)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_UP_END ((LV_KEY_PREV|LV_KEY_END)|LONG_KEY_BIT)
#define KEY_CODE_LONG_COMB_DOWN_END ((LV_KEY_NEXT|LV_KEY_END)|LONG_KEY_BIT)
#define KEY_CODE_NONE 0
//keyevent
typedef enum {
KEY_EVENT_NONE,
KEY_EVENT_PRESSED,
KEY_EVENT_DOUBLE_PRESSED,
KEY_EVENT_LONG_PRESSED,
KEY_EVENT_COMB_PRESSED,
KEY_EVENT_MAX
}e_key_event_type;
extern uint16_t get_lv_key_task_id(void);
extern uint8_t get_keycode_type_bit();
extern uint8_t get_keycode();
extern void reset_keycode();
#endif

View File

@ -0,0 +1,277 @@
#include <stdint.h>
//#include "os_task.h"
//#include "os_msg_q.h"
//#include "co_printf.h"
#include "user_task.h"
//#include "app_at.h"
#include "button.h"
//#include "driver_system.h"
//#include "driver_gpio.h"
#include "lvgl.h"
#include "hal_key_handle.h"
static uint16_t user_task_id;
extern lv_obj_t * get_root_win(void);
extern void hal_keypad_msg_handle(uint8_t button_index, uint8_t button_type);
static void handle_key_msg_input(uint8_t *param)
{
//key input
struct button_msg_t *button_msg;
const char *button_type_str[] = {
"BUTTON_PRESSED",
"BUTTON_RELEASED",
"BUTTON_SHORT_PRESSED",
"BUTTON_MULTI_PRESSED",
"BUTTON_LONG_PRESSED",
"BUTTON_LONG_PRESSING",
"BUTTON_LONG_RELEASED",
"BUTTON_LONG_LONG_PRESSED",
"BUTTON_LONG_LONG_RELEASED",
"BUTTON_COMB_PRESSED",
"BUTTON_COMB_RELEASED",
"BUTTON_COMB_SHORT_PRESSED",
"BUTTON_COMB_LONG_PRESSED",
"BUTTON_COMB_LONG_PRESSING",
"BUTTON_COMB_LONG_RELEASED",
"BUTTON_COMB_LONG_LONG_PRESSED",
"BUTTON_COMB_LONG_LONG_RELEASED",
};
button_msg = (struct button_msg_t *)param;
co_printf("KEY 0x%08x, TYPE %s.\r\n", button_msg->button_index, button_type_str[button_msg->button_type]);
switch(button_msg->button_index)
{
#ifdef BL01_V10
case GPIO_PA3:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key1 Pressed %d\r\n",button_msg->button_type);
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA4:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key2 Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA5:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key3 Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA6:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key4 Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA7:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key5 Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA3|GPIO_PA4:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key1/2 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA3|GPIO_PA5:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key1/3 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA3|GPIO_PA6:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key1/4 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA3|GPIO_PA7:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key1/5 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA4|GPIO_PA5:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key2/3 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA4|GPIO_PA6:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key2/4 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA4|GPIO_PA7:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key2/5 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA5|GPIO_PA6:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key3/4 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA5|GPIO_PA7:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key3/5 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PA6|GPIO_PA7:
switch(button_msg->button_type)
{
case BUTTON_COMB_SHORT_PRESSED:
case BUTTON_COMB_LONG_PRESSED:
co_printf("key4/5 COMB Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
#else
case GPIO_PC6:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key1 Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PC7:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key2 Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
case GPIO_PD4:
switch(button_msg->button_type)
{
case BUTTON_SHORT_PRESSED:
case BUTTON_MULTI_PRESSED:
case BUTTON_LONG_PRESSED:
co_printf("key3 Pressed\r\n");
hal_keypad_msg_handle(button_msg->button_index,button_msg->button_type);
break;
}
break;
#endif
}
}
static int user_task_func(os_event_t *param)
{
co_printf("user_task_func %d\r\n", param->event_id);
switch(param->event_id)
{
case USER_EVT_AT_COMMAND:
app_at_cmd_recv_handler(param->param, param->param_len);
break;
case USER_EVT_BUTTON:
handle_key_msg_input(param->param);
break;
default:
break;
}
return EVT_CONSUMED;
}
void user_task_init(void)
{
co_printf("user_task_init %d\r\n", user_task_id);
user_task_id = os_task_create(user_task_func);
}
uint16_t get_user_task_id(void)
{
co_printf("get_user_task_id %d\r\n", user_task_id);
return user_task_id;
}

View File

@ -0,0 +1,14 @@
#ifndef _USER_TASK_H
#define _USER_TASK_H
enum user_event_t {
USER_EVT_AT_COMMAND,
USER_EVT_BUTTON,
};
extern uint16_t user_task_id;
void user_task_init(void);
#endif // _USER_TASK_H

View File

@ -0,0 +1,49 @@
#ifndef __IMG_DEF_H__
#define __IMG_DEF_H__
#define img_head_address 0x0
#define IMG_BATT_EMPTY (const lv_img_dsc_t *)(img_head_address + 0x0)
#define IMG_BATT_FULL (const lv_img_dsc_t *)(img_head_address + 0x15d8)
#define IMG_BATT_FULL_GREN (const lv_img_dsc_t *)(img_head_address + 0x26fc)
#define IMG_BATT_FULL_YELLOW (const lv_img_dsc_t *)(img_head_address + 0x3cd4)
#define IMG_CENTER_ARROWS (const lv_img_dsc_t *)(img_head_address + 0x52ac)
#define IMG_CIRCULAR_BLACK (const lv_img_dsc_t *)(img_head_address + 0x5c44)
#define IMG_CIRCULAR_WHITE (const lv_img_dsc_t *)(img_head_address + 0xdffc)
#define IMG_CLOCK3_HAND_SEC (const lv_img_dsc_t *)(img_head_address + 0x168b8)
#define IMG_INSTRUMENT_ARC1 (const lv_img_dsc_t *)(img_head_address + 0x17ce0)
#define IMG_INSTRUMENT_BATT_ICO1 (const lv_img_dsc_t *)(img_head_address + 0x20314)
#define IMG_INSTRUMENT_BATT_ICO2 (const lv_img_dsc_t *)(img_head_address + 0x21438)
#define IMG_INSTRUMENT_BATT_ICO3 (const lv_img_dsc_t *)(img_head_address + 0x2255c)
#define IMG_INSTRUMENT_BATT_ICO4 (const lv_img_dsc_t *)(img_head_address + 0x23680)
#define IMG_INSTRUMENT_BATT_ICO5 (const lv_img_dsc_t *)(img_head_address + 0x247a4)
#define IMG_INSTRUMENT_BG1_1 (const lv_img_dsc_t *)(img_head_address + 0x258c8)
#define IMG_INSTRUMENT_BG1_2 (const lv_img_dsc_t *)(img_head_address + 0x32ad4)
#define IMG_INSTRUMENT_BG1_3 (const lv_img_dsc_t *)(img_head_address + 0x3fce0)
#define IMG_INSTRUMENT_BG1_4 (const lv_img_dsc_t *)(img_head_address + 0x4ceec)
#define IMG_INSTRUMENT_BG1_5 (const lv_img_dsc_t *)(img_head_address + 0x5a0f8)
#define IMG_INSTRUMENT_BG2_1 (const lv_img_dsc_t *)(img_head_address + 0x65504)
#define IMG_INSTRUMENT_BG2_2 (const lv_img_dsc_t *)(img_head_address + 0x72710)
#define IMG_INSTRUMENT_BG2_3 (const lv_img_dsc_t *)(img_head_address + 0x7f91c)
#define IMG_INSTRUMENT_BG2_4 (const lv_img_dsc_t *)(img_head_address + 0x8cb28)
#define IMG_INSTRUMENT_BG2_5 (const lv_img_dsc_t *)(img_head_address + 0x99d34)
#define IMG_INSTRUMENT_ICO1 (const lv_img_dsc_t *)(img_head_address + 0xa5140)
#define IMG_INSTRUMENT_ICO10 (const lv_img_dsc_t *)(img_head_address + 0xa5440)
#define IMG_INSTRUMENT_ICO11 (const lv_img_dsc_t *)(img_head_address + 0xa5df8)
#define IMG_INSTRUMENT_ICO12 (const lv_img_dsc_t *)(img_head_address + 0xa6380)
#define IMG_INSTRUMENT_ICO13 (const lv_img_dsc_t *)(img_head_address + 0xa6868)
#define IMG_INSTRUMENT_ICO14 (const lv_img_dsc_t *)(img_head_address + 0xa7220)
#define IMG_INSTRUMENT_ICO2 (const lv_img_dsc_t *)(img_head_address + 0xa7bd8)
#define IMG_INSTRUMENT_ICO3 (const lv_img_dsc_t *)(img_head_address + 0xa7eb4)
#define IMG_INSTRUMENT_ICO4 (const lv_img_dsc_t *)(img_head_address + 0xa84a8)
#define IMG_INSTRUMENT_ICO5 (const lv_img_dsc_t *)(img_head_address + 0xa8828)
#define IMG_INSTRUMENT_ICO6 (const lv_img_dsc_t *)(img_head_address + 0xa8b98)
#define IMG_INSTRUMENT_ICO7 (const lv_img_dsc_t *)(img_head_address + 0xa8fb0)
#define IMG_INSTRUMENT_ICO8 (const lv_img_dsc_t *)(img_head_address + 0xa95b8)
#define IMG_INSTRUMENT_ICO9 (const lv_img_dsc_t *)(img_head_address + 0xa9740)
#endif

View File

@ -0,0 +1,8 @@
#ifndef __DEMO_H__
#define __DEMO_H__
void lv_demo_func(lv_obj_t *parent, lv_point_t *top);
#endif

View File

@ -0,0 +1,28 @@
#ifndef __EQUIPMENT_H__
#define __EQUIPMENT_H__
#include "lan_str_table.h"
typedef enum _ENUM_EQUIPMENT_ID_ {
EQUIPMENT_ID_THEME = 0,
EQUIPMENT_ID_LIGHT,
EQUIPMENT_ID_BLUETOOTH,
EQUIPMENT_ID_OTHER,
EQUIPMENT_ID_INFORMATION,
EQUIPMENT_ID_PRESSURE,
EQUIPMENT_ID_FAULT_CODE,
EQUIPMENT_ID_RETURN,
EQUIPMENT_ID_MAX,
}ENUM_EQUIPMENT_ID;
typedef struct _lv_equipment_list_t{
const ENUM_EQUIPMENT_ID equipment_id;
const LAN_STR_ID str;
bool selected;
bool is_display;
}lv_equipment_list_t;
LAN_STR_ID get_equipment_is_str(ENUM_EQUIPMENT_ID equip_id);
#endif

View File

@ -0,0 +1,8 @@
#ifndef __FR_LV_APP_EXERCISE_H__
#define __FR_LV_APP_EXERCISE_H__
void fr_lv_app_exercise_func(lv_obj_t *parent, lv_point_t *top);
#endif

View File

@ -0,0 +1,214 @@
#ifndef __FR_LV_PUBLIC_FUNC_H__
#define __FR_LV_PUBLIC_FUNC_H__
#include "img_def.h"
#include "lv_common_function.h"
enum
{
Exercise_Type_Outdoor_Running = 0x1 , //户外跑步
Exercise_Type_Outdoor_Cycling = 0x2 , //户外骑行
Exercise_Type_Skipping = 0x3 , //跳绳
Exercise_Type_Swimming = 0x4 , //游泳
Exercise_Type_Badminton = 0x5 , //羽毛球
Exercise_Type_Table_Tennis = 0x6 , //乒乓球
Exercise_Type_Tennis = 0x7 , //网球
Exercise_Type_Climbing = 0x8 , //登山
Exercise_Type_Hiking = 0x9 , //徒步
Exercise_Type_Basketball = 0xa , //篮球
Exercise_Type_Soccer = 0xb , //足球
Exercise_Type_Baseball = 0xc , //棒球
Exercise_Type_Volleyball = 0xd , //排球
Exercise_Type_Cricket = 0xe , //板球
Exercise_Type_Rugby = 0xf , //橄榄球
Exercise_Type_Hockey = 0x10, //曲棍球
Exercise_Type_Dance = 0x11, //舞蹈
Exercise_Type_Indoor_Cycling = 0x12, //室内骑行
Exercise_Type_Yoga = 0x13, //瑜伽
Exercise_Type_Sit_ups = 0x14, //仰卧起坐
Exercise_Type_Treadmill = 0x15, //跑步机
Exercise_Type_Gymnastics = 0x16, //体操
Exercise_Type_Rowing = 0x17, //划船
Exercise_Type_Jumping_Jack = 0x18, //开合跳
Exercise_Type_Free_training = 0x19, //自由训练
Exercise_Type_Outdoor_Walking = 0x1A, //户外健走
Exercise_Type_Indoor_Run = 0x1B, //室内跑步
Exercise_Type_Strength_Training = 0x1C, //力量训练
Exercise_Type_Stepping = 0x1D, //踏步
Exercise_Type_Horse_Riding = 0x1E, //骑马
Exercise_Type_Elliptical_Trainer = 0x1F, //椭圆机
Exercise_Type_Tai_Chi = 0x20, //太极
Exercise_Type_Shuttlecock = 0x21, //毽球
Exercise_Type_Boxing = 0x22, //拳击
Exercise_Type_Outdoor_Walk = 0x23, //室内走路
Exercise_Type_Cross_country_Running = 0x24, //越野跑
Exercise_Type_Skiing = 0x25, //滑雪
Exercise_Type_Ice_Hockey = 0x26, //冰球
Exercise_Type_Taekwondo = 0x27, //跆拳道
Exercise_Type_VO2max_test = 0x28, //最大摄氧量测试
Exercise_Type_Rowing_Maching = 0x29, //划船机
Exercise_Type_Stroller = 0x2A, //漫步机
Exercise_Type_Hiking_Unused = 0x2B, //原本地就有(徒步)
Exercise_Type_Athletics = 0x2C, //田径
Exercise_Type_Waist_and_Abdominal_Training = 0x2D, //腰腹训练
Exercise_Type_Karate = 0x2E, //空手道
Exercise_Type_Relaxation = 0x2F, //整理放松
Exercise_Type_Cross_Training = 0x30, //交叉训练
Exercise_Type_Pilates = 0x31, //普拉提
Exercise_Type_Cross_Fit = 0x32, //交叉配合
Exercise_Type_Functional_Training = 0x33, //功能性训练
Exercise_Type_Physical_Training = 0x34, //体能训练
Exercise_Type_Archery = 0x35, //射箭
Exercise_Type_Flexibility = 0x36, //柔韧度
Exercise_Type_Mixed_Aerobic = 0x37, //混合有氧
Exercise_Type_Latin_Dance = 0x38, //拉丁舞
Exercise_Type_Street_Dance = 0x39, //街舞
Exercise_Type_Free_Boxing = 0x3A, //自由搏击
Exercise_Type_Ballet = 0x3B, //芭蕾
Exercise_Type_Australian_Soccer = 0x3C, //澳式足球
Exercise_Type_Martial_Arts = 0x3D, //武术
Exercise_Type_Stair_Climbing = 0x3E, //爬楼
Exercise_Type_Handball = 0x3F, //手球
Exercise_Type_Bowling = 0x40, //保龄球
Exercise_Type_Squash = 0x41, //壁球
Exercise_Type_Curling = 0x42, //冰壶
Exercise_Type_Hunting = 0x43, //打猎
Exercise_Type_Snowboarding = 0x44, //单板滑雪
Exercise_Type_Leisure_Sports = 0x45, //休闲运动
Exercise_Type_American_Football = 0x46, //美式橄榄球
Exercise_Type_Hand_Cycling = 0x47, //手摇车
Exercise_Type_Fishing = 0x48, //钓鱼
Exercise_Type_Frisbee = 0x49, //飞盘
Exercise_Type_Rugby_Unused = 0x4A, //原本地就有(橄榄球)
Exercise_Type_Golf = 0x4B, //高尔夫
Exercise_Type_Folk_Dance = 0x4C, //民族舞
Exercise_Type_Downhill_Skiing = 0x4D, //高山滑雪
Exercise_Type_Snow_Sports = 0x4E, //雪上运动
Exercise_Type_Clam_Mediation_Sports = 0x4F, //舒缓冥想类运动
Exercise_Type_Core_Training = 0x50, //核心训练
Exercise_Type_Ice_Skating = 0x51, //滑冰
Exercise_Type_Fitness_Games = 0x52, //健身游戏
Exercise_Type_Gymnastics_Unused = 0x53, //健身操
Exercise_Type_Group_Training = 0x54, //团体操
Exercise_Type_Kickboxing = 0x55, //搏击操
Exercise_Type_Lacrosse = 0x56, //长曲棍球
Exercise_Type_Foam_Rolling = 0x57, //泡沫轴筋膜放松
Exercise_Type_Wrestling = 0x58, //摔跤
Exercise_Type_Fencing = 0x59, //击剑
Exercise_Type_Softball = 0x5A, //垒球
Exercise_Type_Single_Bar = 0x5B, //单杠
Exercise_Type_Parallel_Bars = 0x5C, //双杠
Exercise_Type_Roller_Skating = 0x5D, //轮滑
Exercise_Type_Hula_Hoop = 0x5E, //呼啦圈
Exercise_Type_Darts = 0x5F, //飞镖
Exercise_Type_Pickleball = 0x60, //匹克球
Exercise_Type_HIIT = 0x61, //HIIT
Exercise_Type_Shooting = 0x62, //射击
Exercise_Type_Judo = 0x63, //柔道
Exercise_Type_Trampoline = 0x64, //蹦床
Exercise_Type_Skateboarding = 0x65, //滑板
Exercise_Type_Hoverboard = 0x66, //平衡车
Exercise_Type_Blading = 0x67, //溜旱冰
Exercise_Type_Parkour = 0x68, //跑酷
Exercise_Type_Diving = 0x69, //跳水
Exercise_Type_Surfing = 0x6A, //冲浪
Exercise_Type_Snorkeling = 0x6B, //浮潜
Exercise_Type_Pull_ups = 0x6C, //引体向上
Exercise_Type_Push_ups = 0x6D, //俯卧撑
Exercise_Type_Planking = 0x6E, //平板支撑
Exercise_Type_Rock_Climbing = 0x6F, //攀岩
Exercise_Type_High_Jump = 0x70, //跳高
Exercise_Type_Bungee_Jump = 0x71, //蹦极
Exercise_Type_Long_Jump = 0x72, //跳远
Exercise_Type_Marathon = 0x73, //马拉松
};
#define BODY_BUILDING_NUM 41 //健身类
#define DANCE_SPORTS_NUM 4 //舞蹈类
#define RELATIVE_SPORTS_NUM 18 //休闲运动
#define BALL_GAME_NUM 19 //球类
#define ICE_SPORTS_NUM 7 //水上运动
#define WATER_SPORTS_NUM 4 //冰上运动
#define EXTREMITY_SPORTS_NUM 4 //极限运动
enum
{
Exercise_List_Type_BodyBuilding=0x00, //健身类
Exercise_List_Type_Dance=0x01,//舞蹈类
Exercise_List_Type_Relative=0x02,//休闲运动
Exercise_List_Type_Ball=0x03,//球类
Exercise_List_Type_ICE=0x04,//水上运动
Exercise_List_Type_Water=0x05,//冰上运动
Exercise_List_Type_Extremity=0x06,//极限运动
};
enum
{
Information_App_call=0x01,
Information_App_facebook=0x02,
Information_App_flickr=0x03,
Information_App_gmail=0x04,
Information_App_googleplus=0x05,
Information_App_hangouts ,
Information_App_ins ,
Information_App_kakao ,
Information_App_line ,
Information_App_link ,
Information_App_message ,
Information_App_messenger ,
Information_App_other ,
Information_App_pinterest ,
Information_App_QQ ,
Information_App_skype ,
Information_App_snapchat ,
Information_App_telegram ,
Information_App_tumblr ,
Information_App_twitter ,
Information_App_viber ,
Information_App_vkontakte ,
Information_App_wechat ,
Information_App_whatsapp ,
Information_App_youtube ,
Information_App_ZALO ,
};
#define OK_BTN_ICO_SMALL_IMG IMG_OK_GREY_54X54 //灰色
#define CLEAR_BTN_ICO_SMALL_IMG IMG_CANCELLATION_WHITE_54X54
#define OK_BTN_ICO_WHITE_SMALL IMG_OK_WHITE_58X58 //白色
void convertTo12HourFormat(uint8_t *hours, uint8_t *isAM);
void lv_img_change_big_img_src(lv_obj_t* parent, const lv_img_dsc_t **src ,uint8_t img_num,uint8_t start);
void lv_img_big_disp(lv_obj_t* parent, const lv_img_dsc_t **src , lv_coord_t x, lv_coord_t y,uint8_t img_num,uint8_t start);
lv_obj_t* lv_img_big_create(lv_obj_t* parent, const lv_img_dsc_t **src , lv_coord_t x, lv_coord_t y,uint8_t img_num,uint8_t start);
lv_obj_t* lv_title_text_create(lv_obj_t* parent ,uint8_t *str,lv_color_t value, uint8_t hour,uint8_t minute);
void roller_mask_event_cb(lv_event_t * e);
extern const lv_img_dsc_t* exercise_type_img[115];
extern const uint16_t exercise_type_str[115] ;
extern const uint16_t measure_text_str[3];
extern const lv_img_dsc_t* switch_ico_img[2];
const uint16_t format_12hour_str[2];
extern const uint16_t week_str[7];
extern lv_obj_t* cont_parent;
uint8_t get_language_id(void);
uint8_t get_system_curr_time_hour(void);
uint8_t get_system_curr_time_min(void);
uint8_t get_time_format_flag(void);
lv_obj_t *lv_user_create_chart(lv_obj_t *parent,lv_coord_t x, lv_coord_t y,uint8_t *value,uint32_t *color_buff,uint16_t num);
//bool lv_ui_node_set_cur_p(lv_point_t * top);
//bool lv_ui_node_get_cur(lv_ui_node_t * e);
//void lv_ui_node_hor_prev(lv_obj_t *parent);
#endif

View File

@ -0,0 +1,652 @@
#ifndef __FR_WATCH_H__
#define __FR_WATCH_H__
#include "lvgl.h"
#define I16 signed short
//[x]
#include "user_ipc_st.h"
//#include "user_def.h"
typedef enum
{
M3_DRIVER_CALLING = 1,
M3_DRIVER_CALLING_CANCE = 2,
M3_DRIVER_CALLING_OK = 3,
M3_DRIVER_CALLING_STATE = 4,
}phone_call_t;
typedef enum
{
M3_DRIVER_MESSAGE_INPUT = 7,
M3_DRIVER_CTP_INPUT = 8,
M3_DRIVER_KEY_INPUT = 9,
M3_DRIVER_DAILY_DATA = 10,
M3_DRIVER_MESSAGE_INFO = 11,
M3_DRIVER_CAllLIST_INFO = 12,
M3_MUSIC_CONTROL = 13,
M3_DRIVER_OTA_STEP = 14,
M3_DRIVER_UI_JUMP = 15,
M3_DRIVER_UI_REMIND = 16,
//new add
M3_DRIVER_HISTORY_DATA = 17,
M3_DRIVER_TEST_DATA = 18,
#if ALIPAY_FUNC_ENABLE
M3_DRIVER_UPAY_DATA= 19,
#endif
M3_DRIVER_SEND_DATA = 20,// 切换主表盘ID
}watch_ipc_msg_type_t;
//byte[0] 1开关心<E585B3><E5BF83>? byte[1]:0关闭心率 1开启心<E590AF><E5BF83>?
//byte[0] 2开关血<E585B3><E8A180>? byte[1]:0关闭血<E997AD><E8A180>?1开启血<E590AF><E8A180>?
//byte[0] 3开关血<E585B3><E8A180>? byte[1]:0关闭血<E997AD><E8A180>?1开启血<E590AF><E8A180>?
//byte[0] 4马达震动 byte[1]:0关闭震动 1开启震<E590AF><E99C87>? byte[2]:震动次数
//byte[0] 5查找手机 byte[1]:1查找手机
//byte[0] 6音乐播放暂停根据AVRCP的状<E79A84><E78AB6>?get_avrcp_work_state();0:停止 1:开<><E5BC80>? 2:暂停
//byte[0] 7音乐暂停<E69A82><E5819C>?
//byte[0] 8音乐停止
//byte[0] 9上一<E4B88A><E4B880>?
//byte[0] 10下一<E4B88B><E4B880>?
//byte[0] 11音量++
//byte[0] 12音量--
//byte[0] 13拨号 byte[1......12]参数带拨号号<E58FB7><E58FB7>?长度+13714106071
//byte[0] 14接听
//byte[0] 15拒接
//byte[0] 16重拨
//byte[0] 17静音 目前功能无效续作优化
//byte[0] 18关机
//byte[0] 19复位
//byte[0] 20重启
//byte[0] 21开关抬腕亮<E88595><E4BAAE>? byte[1]:0关闭抬腕亮屏 1开启抬腕亮<E88595><E4BAAE>?
//byte[0] 22设置亮屏时间 byte[1]:
//byte[0] 23设置亮度调节 byte[1]:亮度等级
//byte[0] 24语言设置 byte[1]:参看枚举类型定义
//byte[0] 25闹钟开<E9929F><E5BC80>? byte[1]:
//byte[0] 26: 秒表控制 byte[1]:1开<31><E5BC80>? 2暂停 0关闭
//byte[0] 27: 运动模式控制 byte[1]:1开<31><E5BC80>?2暂停 0停止保存数据
//byte[0] 28: 拍照
//byte[0] 29: 开关背<E585B3><E8838C>?
//byte[0] 30: 是否延迟闹钟10分再次触<E6ACA1><E8A7A6>?
//byte[0] 31: 倒计<E58092><E8AEA1>? byte[1]:1开<31><E5BC80>? 2暂停 0关闭
//byte[0] 32: 同步byte[1]:1心率 byte[2]心率<E5BF83><E78E87>? 同步byte[1]:2血压byte[2]低压byte[3]高压 同步byte[1]:3血氧byte[2]血氧<E8A180>?到APP
//byte[0] 33: APP切换表盘
//byte[0] 34: 语音助手
//byte[0] 35: 主动开关音频蓝牙开<E78999><E5BC80>?byte[1] 1开启音频蓝<E9A291><E8939D>? 0关闭音频蓝<E9A291><E8939D>?
typedef enum
{
DSP_EVT_NULL = 0,
DSP_EVT_HEART, // 1 byte[0] 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:0<>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DSP_EVT_BLOOD, // 2 byte[0] 2<><32><EFBFBD><EFBFBD>Ѫѹ byte[1]:0<>ر<EFBFBD>Ѫѹ 1<><31><EFBFBD><EFBFBD>Ѫѹ
DSP_EVT_OXYGEN, // 3 byte[0] 3<><33><EFBFBD><EFBFBD>Ѫ<EFBFBD><D1AA> byte[1]:0<>ر<EFBFBD>Ѫ<EFBFBD><D1AA> 1<><31><EFBFBD><EFBFBD>Ѫ<EFBFBD><D1AA>
DSP_EVT_MOTOR, // 4 byte[0] 4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:0<>ر<EFBFBD><D8B1><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[2]:<3A>𶯴<EFBFBD><F0B6AFB4><EFBFBD>
DSP_EVT_FIND, // 5 byte[0] 5<><35><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD> byte[1]:1<><31><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>
#if 0
DSP_EVT_MUSIC_PLAY, // 6 byte[0] 6<><36><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AVRCP<43><50>״̬ get_avrcp_work_state();0:ֹͣ 1:<3A><><EFBFBD><EFBFBD> 2:<3A><>ͣ
DSP_EVT_MUSIC_PAUSE, // 7 byte[0] 7<><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>
DSP_EVT_MUSIC_STOP, // 8 byte[0] 8<><38><EFBFBD><EFBFBD>ֹͣ
DSP_EVT_MUSIC_FORWARD, // 9 byte[0] 9<><39>һ<EFBFBD><D2BB>
DSP_EVT_MUSIC_BACKWARD, // 10 byte[0] 10<31><30>һ<EFBFBD><D2BB>
DSP_EVT_MUSIC_VALUME_UP, // 11 byte[0] 11<31><31><EFBFBD><EFBFBD>++
DSP_EVT_MUSIC_VALUME_DOWN,// 12 byte[0] 12<31><32><EFBFBD><EFBFBD>--
DSP_EVT_DIAL_NUM, //13 byte[0] 13<31><33><EFBFBD><EFBFBD> byte[1......12]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD> <20><><EFBFBD><EFBFBD>+13714106071
DSP_EVT_CALL_ANSWER, //14 byte[0] 14<31><34><EFBFBD><EFBFBD>
DSP_EVT_CALL_REJECT, //15 byte[0] 15<31>ܽ<EFBFBD>
DSP_EVT_CALL_REDIAL, //16 byte[0] 16<31>ز<EFBFBD>
DSP_EVT_CALL_MUTE, //17 byte[0] 17<31><37><EFBFBD><EFBFBD> Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
#endif
DSP_EVT_SYSTEM_SHUTDOWN, //18 byte[0] 18<31>ػ<EFBFBD>
DSP_EVT_SYSTEM_RESET, //19 byte[0] 19<31><39>λ
DSP_EVT_SYSTEM_REBOOT, //20 byte[0] 20<32><30><EFBFBD><EFBFBD>
DSP_EVT_WIRST, //21 byte[0] 21<32><31><EFBFBD><EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:0<>ر<EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DSP_EVT_LIGHT_TIME, //22 byte[0] 22<32><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> byte[1]:
DSP_EVT_BRIGHT, //23 byte[0] 23<32><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD> byte[1]:<3A><><EFBFBD>ȵȼ<C8B5>
DSP_EVT_SYSTEM_LANGUAGE, //24 byte[0] 24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:<3A>ο<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
DSP_EVT_ALARM, //25 byte[0] 25<32><35><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD> byte[1]:
DSP_EVT_WATCHSTOP_TIME, //26 byte[0] 26: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? byte[1]:1<><31><EFBFBD><EFBFBD> 2<><32>ͣ 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? 0<>ر<EFBFBD>
DSP_EVT_SPORTS, //27 byte[0] 27: <20>˶<EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD> byte[1]:1<><31>ʼ 2<><32>ͣ 0ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DSP_EVT_CAMERA, //28 byte[0] 28: <20><><EFBFBD><EFBFBD>
DSP_EVT_SWATCH_BRIGHT, //29 byte[0] 29: <20><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>
DSP_EVT_ALARM_DELAY, //30 byte[0] 30: <20>Ƿ<EFBFBD><C7B7>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD>10<31><30><EFBFBD>ٴδ<D9B4><CEB4><EFBFBD>
DSP_EVT_TIMER_TIME, //31 byte[0] 31: <20><><EFBFBD><EFBFBD>ʱ byte[1]:1<><31><EFBFBD><EFBFBD> 2<><32>ͣ 0<>ر<EFBFBD>
DSP_EVT_SYNC_HERAT_BLOOD_OXYGEN,//32 byte[0] 32: ͬ<><CDAC>byte[1]:1<><31><EFBFBD><EFBFBD> byte[2]<5D><><EFBFBD><EFBFBD>ֵ ͬ<><CDAC>byte[1]:2Ѫѹbyte[2]<5D><>ѹbyte[3]<5D><>ѹ ͬ<><CDAC>byte[1]:3Ѫ<33><D1AA>byte[2]Ѫ<><D1AA>ֵ <20><>APP
DSP_EVT_SELECT_WATCH_INDEX,//33 byte[0] 33: <20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
DSP_EVT_SYSTEM_SIRI, //34 byte[0] 34: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DSP_EVT_BT_SWATCH, //35 byte[0] 35: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>byte[1] 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD> 0<><30><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
//enzon
DSP_EVT_LOAD_PHONE_BOOK,
DSP_EVT_BT_A2DP_CONTROL,
DSP_EVT_MUSIC_CONTROL,
DSP_EVT_CALL_CONTROL,
DSP_EVT_BT_VALUME_UP,
DSP_EVT_BT_VALUME_DOWN,
DSP_EVT_READ_MSG_LIST,
DSP_EVT_READ_PHONE_BOOK_LIST,
DSP_EVT_READ_CALL_NAME,
DSP_EVT_DISTURB_CONTROL,
DSP_EVT_SET_PHONE_BOOK_ID_OFFSET,
DSP_EVT_SET_BT_VALUME,
DSP_EVT_MIC_MUTE,
DSP_EVT_MIC_OPEN,
DSP_EVT_CLEAR_LIGHT_TIME,
DSP_EVT_GET_HISTORY_DATA,
DSP_EVT_GET_CALL_STATE,
DSP_EVT_SET_CARD_INDEX, //自定义卡<E4B989><E58DA1>?
DSP_EVT_LOW_POWER_MODE,
DSP_EVT_DSP_VERSION,
DSP_EVT_GET_TEST_DATA,
DSP_EVT_BREATHE,
}_DSP_COMMADE_T;
//ancs
enum ntf_msg_type_t
{
CATEGORY_NULL = 0,
CATEGORY_CALL, // 1
CATEGORY_SMS, // 2
CATEGORY_OTHER, // 3
CATEGORY_Email, // 4
CATEGORY_Facebook, // 5
CATEGORY_Wechat, // 6
CATEGORY_Line, // 7
CATEGORY_Weibo, // 8
CATEGORY_Linkedlnbo, // 9
CATEGORY_QQ, // 10
CATEGORY_Whatsapp, // 11
CATEGORY_Viber, // 12
CATEGORY_Instagram, // 13
CATEGORY_KAKAOTALK, // 14
CATEGORY_Wirst_Awake, // 15
CATEGORY_DINGDING,
CATEGORY_TWITTER,
CATEGORY_FACEBOOK,
CATEGORY_TELEGRAM,
CATEGORY_MESSENGER,
CATEGORY_NOT_ENABLE, // do not support or turn on the switch
};
#define MESSAGE_MAX_LENGTH 200
#define MAX_MSG_CONTEXT_LEN MESSAGE_MAX_LENGTH - 17
typedef struct
{
uint8_t msg_type;
uint8_t data_len;
uint8_t msg_time[15];
//1 byte(title len) + n byte(title) + 1 byte (context leng)+ n byte(context)
uint8_t msg_context[MAX_MSG_CONTEXT_LEN];
} info_msg_t;
#define MAX_MSG_LIST 5
typedef struct
{
uint8_t msg_tatol;
uint8_t fifo_head;
uint8_t fifo_tail;
info_msg_t fifo[MAX_MSG_LIST];
} ancs_msg_t;
//ancs
typedef struct
{
uint8_t msg_type;
uint16_t title_len;
uint8_t msg_title[128];
uint16_t context_len;
uint8_t msg_context[512];
uint16_t time_len;
uint8_t msg_time[32];
}ancs_t;
typedef struct
{
uint8_t story_state;
uint8_t number_len;
uint8_t call_namber[32];
uint8_t name_len;
uint8_t call_name[128];
uint8_t time_len;
uint8_t msg_time[32];
}call_info_t;
#define CALL_NUMBER_MAX_LEN 96
#define CALL_RECORD_LIST_MAX 10
typedef struct
{
uint8_t call_state;
uint8_t call_context[CALL_NUMBER_MAX_LEN - 1];
} card_record_t;
#define MAX_MSG_LIST 5
typedef struct
{
uint8_t call_record_total;
card_record_t fifo[CALL_RECORD_LIST_MAX];
} call_record_list_t;
//tp define here!
typedef enum
{
CTP_PEN_DOWN,
CTP_PEN_UP,
CTP_PEN_MOVE,
CTP_PEN_MOVE_DOWN,
CTP_PEN_MOVE_UP,
CTP_PEN_MOVE_LEFT,
CTP_PEN_MOVE_RIGHT,
CTP_PEN_LONG_PRESS,
}ctp_status_t;
typedef struct
{
uint8_t status;
uint8_t ctp_status;
signed short pendown_pos_x;
signed short pendown_pos_y;
signed short cur_pos_x;
signed short cur_pos_y;
signed short dx;
signed short dy;
}ctp_type_t;
typedef enum
{
TP_MSG_INPUT,
APP_MSG_INPUT,
}watch_msg_id_t;
//massage
typedef struct
{
int msg_id;
int param1;
void *param2;
}app_msg_t;
typedef struct
{
//bool start_flag;
uint8_t start_flag;
uint32_t counter;
uint32_t pen_timeout_counter;
uint32_t delaycounter;
}ctp_timer_t;
//win coordinate
typedef struct
{
uint8_t col;
uint8_t rol;
}win_pos_t;
typedef struct
{
uint32_t EnterSleepTime;
uint32_t ExitSleepTime;
uint16_t SleepData[31];
}sleep_history_stru;
//----------------------------clock-ui---------------------------------
typedef void (* p_main_clock)(lv_obj_t * obj);
typedef lv_obj_t * (*p_lv_obj_create)(lv_obj_t * parent);
typedef void (* p_lv_obj_clean)(lv_obj_t * obj);
//style
typedef void (* p_lv_obj_set_style_bg_color)(lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector);
typedef void (* p_lv_obj_set_style_pad_all)(lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
typedef void (* p_lv_obj_set_style_radius)(lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
typedef void (* p_lv_obj_set_style_border_width)(lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
//obj prop
typedef void (* p_lv_obj_set_size)(lv_obj_t * obj, lv_coord_t w, lv_coord_t h);
typedef void (* p_lv_obj_align)(lv_obj_t * obj, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs);
typedef void (* p_lv_obj_align_to)(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs);
typedef void (* p_lv_obj_set_pos)(lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
typedef void (* p_lv_obj_set_scrollbar_mode)(lv_obj_t * obj, lv_scrollbar_mode_t mode);
//img
typedef lv_obj_t * (*p_lv_img_create)(lv_obj_t * parent);
typedef void (* p_lv_img_set_src)(lv_obj_t * obj, const void * src);
typedef void (* p_lv_img_set_pivot)(lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
typedef void (* p_lv_img_set_angle)(lv_obj_t * obj, int16_t angle);
//timer
typedef lv_timer_t * (* p_lv_timer_create)(lv_timer_cb_t timer_xcb, uint32_t period, void * user_data);
typedef void (* p_lv_timer_del)(lv_timer_t * timer);
//event
typedef void (* p_lv_obj_add_event_cb)(lv_obj_t * obj, lv_event_cb_t event_cb, lv_event_code_t filter, void * user_data);
typedef lv_res_t (* p_lv_event_send)(lv_obj_t * obj, lv_event_code_t event_code, void * param);
typedef lv_event_code_t (* p_lv_event_get_code)(lv_event_t * e);
typedef lv_obj_t * (* p_lv_event_get_target)(lv_event_t * e);
typedef void * (* p_lv_event_get_param)(lv_event_t * e);
typedef void * (* p_lv_event_get_user_data)(lv_event_t * e);
//parent and child
typedef uint32_t (* p_lv_obj_get_child_id)(const lv_obj_t * obj);
typedef lv_obj_t * (* p_lv_obj_get_parent)(const lv_obj_t * obj);
typedef lv_obj_t * (* p_lv_obj_get_child)(const lv_obj_t * obj, int32_t id);
//label
typedef lv_obj_t * (* p_lv_label_create)(lv_obj_t * parent);
typedef void (* p_lv_label_set_text)(lv_obj_t * obj, const char * text);
typedef void (* p_lv_obj_set_style_text_font)(lv_obj_t * obj, const lv_font_t * value, lv_style_selector_t selector);
typedef void (* p_lv_mainUI_select_entry)(lv_obj_t * obj);
//line & arc
typedef void (* p_lv_style_init)(lv_style_t * style);
typedef void (* p_lv_style_set_line_width)(lv_style_t * style, lv_coord_t value);
typedef void (* p_lv_style_set_line_color)(lv_style_t * style, lv_color_t value);
typedef void (* p_lv_style_set_line_rounded)(lv_style_t * style, lv_coord_t value);
typedef lv_obj_t * (* p_lv_line_create)(lv_obj_t * parent);
typedef void (* p_lv_line_set_points)(lv_obj_t * obj, const lv_point_t points[], uint16_t point_num);
typedef void (* p_lv_obj_add_style)(lv_obj_t * obj, lv_style_t * style, lv_style_selector_t selector);
typedef lv_obj_t * (* p_lv_arc_create)(lv_obj_t * parent);
typedef void (* p_lv_obj_set_style_arc_width)(struct _lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
typedef void (* p_lv_obj_set_style_arc_color)(struct _lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector);
typedef void (* p_lv_arc_set_end_angle)(lv_obj_t * obj, uint16_t end);
typedef void (* p_lv_arc_set_bg_angles)(lv_obj_t * obj, uint16_t start, uint16_t end);
typedef int16_t (* p_lv_trigo_sin)(int16_t angle);
typedef int16_t (* p_lv_trigo_cos)(int16_t angle);
typedef void (* p_lv_label_set_text_fmt)(lv_obj_t * obj, const char * fmt, ...);
typedef bool (* p_lv_font_get_glyph_dsc_fmt_txt)(const lv_font_t * font, lv_font_glyph_dsc_t * dsc_out, uint32_t unicode_letter,uint32_t unicode_letter_next);
typedef const uint8_t * (* p_lv_font_get_bitmap_fmt_txt)(const lv_font_t * font, uint32_t unicode_letter);
typedef uint32_t (* p_lv_tick_get)(void);
typedef bool (* p_lv_obj_is_valid)(const lv_obj_t * obj);
typedef uint8_t (* p_dsp_get_system_time_week)(void);
typedef void (* p_lv_obj_set_style_text_color)(struct _lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector);
typedef void (* p_lv_obj_remove_style)(struct _lv_obj_t * obj, lv_style_t * style, lv_style_selector_t selector);
typedef void (* p_lv_arc_set_angles)(lv_obj_t * arc, uint16_t start, uint16_t end);
typedef void (* p_lv_obj_clear_flag)(lv_obj_t * obj, lv_obj_flag_t f);
typedef void (* p_lv_label_set_recolor)(lv_obj_t * obj, bool en);
typedef void (* p_lv_obj_set_style_text_letter_space)(struct _lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
typedef void (* p_lv_obj_set_style_text_line_space)(struct _lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
typedef void (* p_lv_obj_set_width)(lv_obj_t * obj, lv_coord_t w);
typedef void (* p_lv_obj_set_style_text_align)(struct _lv_obj_t * obj, lv_text_align_t value, lv_style_selector_t selector);
typedef struct _lv_api_t
{
p_lv_obj_create f_lv_obj_create;
p_lv_obj_clean f_lv_obj_clean;
//style
p_lv_obj_set_style_bg_color f_lv_obj_set_style_bg_color;
p_lv_obj_set_style_pad_all f_lv_obj_set_style_pad_all;
p_lv_obj_set_style_radius f_lv_obj_set_style_radius;
p_lv_obj_set_style_border_width f_lv_obj_set_style_border_width;
//obj prop
p_lv_obj_align f_lv_obj_align;
p_lv_obj_set_size f_lv_obj_set_size;
p_lv_obj_align_to f_lv_obj_align_to;
p_lv_obj_set_pos f_lv_obj_set_pos;
p_lv_obj_set_scrollbar_mode f_lv_obj_set_scrollbar_mode;
//img
p_lv_img_create f_lv_img_create;
p_lv_img_set_src f_lv_img_set_src;
p_lv_img_set_pivot f_lv_img_set_pivot;
p_lv_img_set_angle f_lv_img_set_angle;
//timer
p_lv_timer_create f_lv_timer_create;
p_lv_timer_del f_lv_timer_del;
//event
p_lv_event_send f_lv_event_send;
p_lv_obj_add_event_cb f_lv_obj_add_event_cb;
p_lv_event_get_code f_lv_event_get_code;
p_lv_event_get_target f_lv_event_get_target;
p_lv_event_get_param f_lv_event_get_param;
p_lv_event_get_user_data f_lv_event_get_user_data;
//parent and child
p_lv_obj_get_child_id f_lv_obj_get_child_id;
p_lv_obj_get_parent f_lv_obj_get_parent;
p_lv_obj_get_child f_lv_obj_get_child;
//label
p_lv_label_create f_lv_label_create;
p_lv_label_set_text f_lv_label_set_text;
p_lv_obj_set_style_text_font f_lv_obj_set_style_text_font;
//other
p_lv_mainUI_select_entry f_lv_mainUI_select_entry;
lv_obj_t ** prj_parent;
ipc_daily_data_t *p_sync_cm3;
p_lv_style_init f_lv_style_init;
p_lv_style_set_line_width f_lv_style_set_line_width;
p_lv_style_set_line_color f_lv_style_set_line_color;
p_lv_style_set_line_rounded f_lv_style_set_line_rounded;
p_lv_line_create f_lv_line_create;
p_lv_line_set_points f_lv_line_set_points;
p_lv_obj_add_style f_lv_obj_add_style;
p_lv_arc_create f_lv_arc_create;
p_lv_obj_set_style_arc_width f_lv_obj_set_style_arc_width;
p_lv_obj_set_style_arc_color f_lv_obj_set_style_arc_color;
p_lv_arc_set_end_angle f_lv_arc_set_end_angle;
p_lv_arc_set_bg_angles f_lv_arc_set_bg_angles;
p_lv_trigo_sin f_lv_trigo_sin;
p_lv_trigo_cos f_lv_trigo_cos;
p_lv_label_set_text_fmt f_lv_label_set_text_fmt;
lv_font_t * font_min;
lv_font_t * font_mid;
lv_font_t * font_max;
p_lv_font_get_glyph_dsc_fmt_txt f_lv_font_get_glyph_dsc_fmt_txt;
p_lv_font_get_bitmap_fmt_txt f_lv_font_get_bitmap_fmt_txt;
p_lv_tick_get f_lv_tick_get;
p_lv_obj_is_valid f_lv_obj_is_valid;
p_dsp_get_system_time_week f_dsp_get_system_time_week;
p_lv_obj_set_style_text_color f_lv_obj_set_style_text_color;
p_lv_obj_remove_style f_lv_obj_remove_style;
p_lv_arc_set_angles f_lv_arc_set_angles;
p_lv_obj_clear_flag f_lv_obj_clear_flag;
p_lv_label_set_recolor f_lv_label_set_recolor;
p_lv_obj_set_style_text_letter_space f_lv_obj_set_style_text_letter_space;
p_lv_obj_set_style_text_line_space f_lv_obj_set_style_text_line_space;
p_lv_obj_set_width f_lv_obj_set_width;
p_lv_obj_set_style_text_align f_lv_obj_set_style_text_align;
}lv_api_t;
//----------------------------------------------------------------
typedef void (* pri_ui_entry)(lv_obj_t *obj);
typedef void (* ui_entry)(lv_obj_t *obj);
//#define PRI_UI_GROUP_NUM 20
typedef struct _lv_ui_group_t
{
lv_coord_t ui_num;
ui_entry * lay_ui;
}lv_ui_group_t;
typedef struct
{
uint16_t mode_id : 4;
uint16_t page_id : 12;
uint16_t page_attr;
int16_t top_cur_x;
int16_t top_cur_y;
}ui_scene_t;
#define PG_STACK_LEN 10
typedef struct
{
ui_scene_t ui[PG_STACK_LEN];
int s_top;
}pg_stack_t;
void init_pg_stack(pg_stack_t *s);
bool pg_stack_is_empty(pg_stack_t *s);
bool pg_stack_push(pg_stack_t *s,ui_scene_t e);
bool pg_stack_pop(pg_stack_t *s,ui_scene_t *e);
bool pg_stack_top(pg_stack_t *s,ui_scene_t *e);
extern lv_api_t ui_api;
extern p_main_clock * entry_main;
extern p_main_clock * entry_main1;
extern p_main_clock * entry_main2;
extern p_main_clock * entry_main3;
extern p_main_clock * entry_main4;
extern const lv_font_t arialuni_20;
extern lv_font_t bin_font;
extern void **font_addr;
extern void lv_init_bin_font(lv_font_t * font,const void * dsc,const lv_font_t * scr);
extern lv_point_t sys_scroll_sum;
//varable
extern ctp_type_t tp;
extern uint8_t key_code;
extern ipc_daily_data_t sync_cm3_data;
//extern ipc_daily_data_t volatile sync_cm3_data;
extern sleep_history_stru sleep_history_data;
extern uint8_t sportheartrate_historydata[72];
extern uint8_t heartrate_historydata[];
extern lv_obj_t * prj_parent_cont;
extern lv_obj_t * prj_prev_cont;
extern lv_indev_t * indev_keypad;
extern pri_ui_entry pri_ui_group[];
extern uint8_t dsp_ipc_cmd;
extern lv_group_t *prj_group;
extern uint8_t lv_transform_battery(uint16_t battery_value);
//system & timer & driver
extern void lvgl_main_task_timer_callback(void *arg);
//ui
extern void lv_guimain(lv_obj_t * obj);
extern void ui_main_float(lv_obj_t * parent);
extern void layer_main_cont(lv_obj_t * parent, ui_entry f_parent, ui_entry f_cont, ui_entry f_cont1);
extern void layer_left_cont(lv_obj_t * parent, ui_entry f_cont, ui_entry f_cont1);
extern void return_function(lv_obj_t * parent);
extern void style_function(lv_obj_t * parent);
extern void lv_app_starsky_btn(lv_obj_t * parent);
extern void lv_app_mainmenu_up(lv_obj_t * parent);
extern void lv_app_system_setting(lv_obj_t * parent);
extern void lv_app_backlight_setting(lv_obj_t * parent);
extern void lv_app_clock_ui_select(lv_obj_t * obj);
extern void lv_app_lock(lv_obj_t * parent);
extern void lv_app_powerdown(lv_obj_t * parent);
extern void lv_app_lighting(lv_obj_t* parent);
extern void lv_app_ota_ui(lv_obj_t* parent);
extern void lv_app_phone_call(lv_obj_t * obj);
extern void lv_app_calendar(lv_obj_t * obj);
extern void lv_app_msg_win(lv_obj_t * obj);
extern void lv_sport_detail_disp(lv_obj_t *parent);
extern void lv_app_music_menu(lv_obj_t *parent);
extern uint32_t CalcWeekday(stTime_type time);
extern void topbar_status_bt_baterrry_time(lv_obj_t * bar_bat,lv_obj_t * bar_time);
extern void dsp_post_operate_to_m3(uint8_t op_cmd,uint8_t *buffer,uint16_t len);
extern ancs_msg_t msglist;
extern call_record_list_t record_list;
extern uint8_t call_context[];
extern uint8_t call_list[];
extern uint8_t book_list[10][200];
#endif // __MAIN_H__

View File

@ -0,0 +1,197 @@
/*
* @Description:
* @Date: 2024-02-01 08:45:00
* @role:
* @LastEditTime:
*/
#ifndef __IMG_BASIC_H__
#define __IMG_BASIC_H__
#define lv_log_on printf
#include "language_table.h"
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_180px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_128px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_92px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_80px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_62px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_50px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_46px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_44px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_36px);
LV_FONT_DECLARE(HarmonyOS_Sans_SC_Medium_32px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_20px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_28px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_16px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_12px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_10px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_16px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_20px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_22px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_30px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_72px);
LV_FONT_DECLARE(arialuni_field_bbp2_32px);
//liulin 2024.3.1
LV_FONT_DECLARE(MXC_FZHZGB_CT_bpp4_14px);
LV_FONT_DECLARE(MXC_FZHZGB_CT_bpp4_18px);
LV_FONT_DECLARE(MXC_FZHZGB_CT_bpp4_19px);
LV_FONT_DECLARE(MXC_FZHZGB_CT_bpp4_24px);
LV_FONT_DECLARE(MXC_FZHZGB_CT_bpp4_36px);
LV_FONT_DECLARE(MXC_FZHZGB_CT_bpp4_48px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_10px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_14px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_18px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_56px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_64px);
#define LV_FONT_MXC_WRYH_CT_32PX &HarmonyOS_Sans_SC_Medium_32px
#define LV_FONT_MXC_WRYH_CT_10PX &MXC_WRYH_CT_bpp4_10px
#define LV_FONT_MXC_WRYH_CT_16PX &MXC_WRYH_CT_bpp4_16px
#define LV_FONT_MXC_WRYH_CT_20PX &MXC_WRYH_CT_bpp4_20px
#define LV_FONT_MXC_WRYH_CT_22PX &MXC_WRYH_CT_bpp4_22px
#define LV_FONT_MXC_WRYH_CT_30PX &MXC_WRYH_CT_bpp4_30px
#define LV_FONT_MXC_WRYH_CT_72PX &MXC_WRYH_CT_bpp4_72px
#define LV_FONT_BIG_NUMBER_180PX &Number_HarmonyOS_bpp4_180px
#define LV_FONT_BIG_NUMBER_128PX &Number_HarmonyOS_bpp4_128px
#define LV_FONT_BIG_NUMBER_92PX &Number_HarmonyOS_bpp4_92px
#define LV_FONT_BIG_NUMBER_80PX &Number_HarmonyOS_bpp4_80px
#define LV_FONT_BIG_NUMBER_62PX &Number_HarmonyOS_bpp4_62px
#define LV_FONT_BIG_NUMBER_50PX &Number_HarmonyOS_bpp4_50px
#define LV_FONT_BIG_NUMBER_46PX &Number_HarmonyOS_bpp4_46px
#define LV_FONT_BIG_NUMBER_44PX &Number_HarmonyOS_bpp4_44px
#define LV_FONT_MEDIUM_NUMBER_36PX &Number_HarmonyOS_bpp4_36px
#define LV_FONT_SMALL_NUMBER_20PX &Number_HarmonyOS_bpp4_20px
#define LV_FONT_MEDIUM_NUMBER_28PX &Number_HarmonyOS_bpp4_28px
#define LV_FONT_SMALL_NUMBER_16PX &Number_HarmonyOS_bpp4_16px
#define LV_FONT_SMALL_NUMBER_12PX &Number_HarmonyOS_bpp4_12px
#define LV_FONT_ARIALUNI_ALL_32PX &arialuni_field_bbp2_32px
//liulin 2024.3.1
#define LV_FONT_MXC_FZHZGB_CT_14PX &MXC_FZHZGB_CT_bpp4_14px
#define LV_FONT_MXC_FZHZGB_CT_18PX &MXC_FZHZGB_CT_bpp4_18px
#define LV_FONT_MXC_FZHZGB_CT_19PX &MXC_FZHZGB_CT_bpp4_19px
#define LV_FONT_MXC_FZHZGB_CT_24PX &MXC_FZHZGB_CT_bpp4_24px
#define LV_FONT_MXC_FZHZGB_CT_36PX &MXC_FZHZGB_CT_bpp4_36px
#define LV_FONT_MXC_FZHZGB_CT_48PX &MXC_FZHZGB_CT_bpp4_48px
#define LV_FONT_MXC_MSYAHEI_CT_10PX &MXC_MSYAHEI_CT_bpp4_10px
#define LV_FONT_MXC_MSYAHEI_CT_14PX &MXC_MSYAHEI_CT_bpp4_14px
#define LV_FONT_MXC_MSYAHEI_CT_18PX &MXC_MSYAHEI_CT_bpp4_18px
#define LV_FONT_MXC_MSYAHEI_CT_56PX &MXC_MSYAHEI_CT_bpp4_56px
#define LV_FONT_MXC_MSYAHEI_CT_64PX &MXC_MSYAHEI_CT_bpp4_64px
#define UI_PARENT_INIT(PARENT) do{lv_obj_set_size(PARENT,LV_PCT(100),LV_PCT(100));\
lv_obj_set_style_bg_color(PARENT,lv_color_black(),0); \
lv_obj_set_style_pad_all(PARENT,0,0); \
lv_obj_set_style_border_width(PARENT, 0, 0); \
lv_obj_set_scrollbar_mode(PARENT, LV_SCROLLBAR_MODE_OFF);}while(0)
void lv_img_big_disp(lv_obj_t* parent, const lv_img_dsc_t **src, lv_coord_t x, lv_coord_t y, uint8_t img_num, uint8_t start);
lv_obj_t* lv_img_big_create(lv_obj_t* parent, const lv_img_dsc_t **src, lv_coord_t x, lv_coord_t y, uint8_t img_num, uint8_t start);
LV_IMG_DECLARE(speed_arc);
//liulin 2024.3.5 <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>״ͼƬ
LV_IMG_DECLARE(shaped_color);
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_Gtor_SubUI_src[8] =
{
IMG_GTOR_SUBUI_FRAMEWORK_ICO_1,
IMG_GTOR_SUBUI_FRAMEWORK_ICO_2,
IMG_GTOR_SUBUI_FRAMEWORK_ICO_3,
IMG_GTOR_SUBUI_FRAMEWORK_ICO_4,
IMG_GTOR_SUBUI_FRAMEWORK_ICO_5,
IMG_GTOR_SUBUI_FRAMEWORK_ICO_6,
IMG_GTOR_SUBUI_FRAMEWORK_ICO_7,
IMG_GTOR_SUBUI_FRAMEWORK_ICO_8
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_Error_SubUI_src[6] =
{
IMG_ERROR_SUBUI_FRAMEWORK_ICO_1,
IMG_ERROR_SUBUI_FRAMEWORK_ICO_2,
IMG_ERROR_SUBUI_FRAMEWORK_ICO_3,
IMG_ERROR_SUBUI_FRAMEWORK_ICO_4,
IMG_ERROR_SUBUI_FRAMEWORK_ICO_5,
IMG_ERROR_SUBUI_FRAMEWORK_ICO_6
};
//ע<>͵<EFBFBD>xrz
#if 0
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_demo1_src[5] =
{
IMG_DM1_BG_1,
IMG_DM1_BG_2,
IMG_DM1_BG_3,
IMG_DM1_BG_4,
IMG_DM1_BG_5,
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* arc_test_src[4] =
{
IMG_SPEED_ARC_1,
IMG_SPEED_ARC_2,
IMG_SPEED_ARC_3,
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_bg2_src[6] =
{
IMG_DM1_BAR_BG_1,
IMG_DM1_BAR_BG_2,
IMG_DM1_BAR_BG_3,
};
//liulin 2024.2.28, <20><><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>ͼƬ1<C6AC><31><EFBFBD><EFBFBD>
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_light_group1_src[2] =
{
IMG_LIGHT_GROUP1_ICO_1,
IMG_LIGHT_GROUP1_ICO_2
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_light_group2_src[2] =
{
IMG_LIGHT_GROUP2_ICO_1,
IMG_LIGHT_GROUP2_ICO_2
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_light_group3_src[2] =
{
IMG_LIGHT_GROUP3_ICO_1,
IMG_LIGHT_GROUP3_ICO_2
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_light_group4_src[2] =
{
IMG_LIGHT_GROUP4_ICO_1,
IMG_LIGHT_GROUP4_ICO_2
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_light_group5_src[2] =
{
IMG_LIGHT_GROUP5_ICO_1,
IMG_LIGHT_GROUP5_ICO_2
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_light_group6_src[2] =
{
IMG_LIGHT_GROUP6_ICO_1,
IMG_LIGHT_GROUP6_ICO_2
};
#endif
#endif

Binary file not shown.

View File

@ -0,0 +1,36 @@
#ifndef __IMG_DEF_H__
#define __IMG_DEF_H__
#define img_head_address 0x0
#define IMG_BLUETOOTH_ICO (const lv_img_dsc_t *)(img_head_address + 0x0)
#define IMG_CURRENT_ICO (const lv_img_dsc_t *)(img_head_address + 0x538)
#define IMG_ERROR_ICO (const lv_img_dsc_t *)(img_head_address + 0xaf0)
#define IMG_ERROR_SUBUI_FRAMEWORK_ICO_1 (const lv_img_dsc_t *)(img_head_address + 0x1028)
#define IMG_ERROR_SUBUI_FRAMEWORK_ICO_2 (const lv_img_dsc_t *)(img_head_address + 0xde74)
#define IMG_ERROR_SUBUI_FRAMEWORK_ICO_3 (const lv_img_dsc_t *)(img_head_address + 0x1acc0)
#define IMG_ERROR_SUBUI_FRAMEWORK_ICO_4 (const lv_img_dsc_t *)(img_head_address + 0x27b0c)
#define IMG_ERROR_SUBUI_FRAMEWORK_ICO_5 (const lv_img_dsc_t *)(img_head_address + 0x34958)
#define IMG_ERROR_SUBUI_FRAMEWORK_ICO_6 (const lv_img_dsc_t *)(img_head_address + 0x417a4)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_1 (const lv_img_dsc_t *)(img_head_address + 0x48ce0)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_2 (const lv_img_dsc_t *)(img_head_address + 0x55a98)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_3 (const lv_img_dsc_t *)(img_head_address + 0x62850)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_4 (const lv_img_dsc_t *)(img_head_address + 0x6f608)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_5 (const lv_img_dsc_t *)(img_head_address + 0x7c3c0)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_6 (const lv_img_dsc_t *)(img_head_address + 0x89178)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_7 (const lv_img_dsc_t *)(img_head_address + 0x95f30)
#define IMG_GTOR_SUBUI_FRAMEWORK_ICO_8 (const lv_img_dsc_t *)(img_head_address + 0xa2ce8)
#define IMG_OIL_ICO (const lv_img_dsc_t *)(img_head_address + 0xad070)
#define IMG_PERCENT_ICO (const lv_img_dsc_t *)(img_head_address + 0xae858)
#define IMG_POWER_ICO (const lv_img_dsc_t *)(img_head_address + 0xaeca0)
#define IMG_ROT_RATE_ICO (const lv_img_dsc_t *)(img_head_address + 0xaf1d8)
#define IMG_TIME1_ICO (const lv_img_dsc_t *)(img_head_address + 0xaf790)
#define IMG_TIME2_ICO (const lv_img_dsc_t *)(img_head_address + 0xafe5c)
#define IMG_TIME3_ICO (const lv_img_dsc_t *)(img_head_address + 0xb063c)
#define IMG_VOLTAGE_ICO (const lv_img_dsc_t *)(img_head_address + 0xb0ee8)
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@ -0,0 +1,92 @@
#ifndef __LAN_STR_TABLE_H__
#define __LAN_STR_TABLE_H__
#define LAN_STR_TABLE_NUM 15
extern const char * const lan_str_table[][15];
typedef enum{
STR_ID_ENGLISH,
STR_ID_APP_SCANNING_BINDING,
STR_ID_APP_ABOUT,
STR_ID_AM,
STR_ID_PM,
STR_ID_SUM,
STR_ID_MON,
STR_ID_TUE,
STR_ID_WED,
STR_ID_THU,
STR_ID_FRI,
STR_ID_SAT,
STR_ID_NORMAL,
STR_ID_MIN,
STR_ID_UPGRADING,
STR_ID_UPGRADE_SUCCESSFULLY,
STR_ID_UPGRADE_FAILURE,
STR_ID_REBOOTING,
STR_ID_IN_SYNC,
STR_ID_SYNCHRONIZATION_SUCCEEDED,
STR_ID_SECOND,
STR_ID_HOUR,
STR_ID_MINUTE,
STR_ID_CHINESE,
STR_ID_KOREAN,
STR_ID_JAPANESE,
STR_ID_GERMAN,
STR_ID_SPANISH,
STR_ID_FRENCH,
STR_ID_ITALIAN,
STR_ID_PORTUGUESE,
STR_ID_ARABIC,
STR_ID_INDIA,
STR_ID_HINDI,
STR_ID_POLISH_LANGUAGE,
STR_ID_RUSSIAN,
STR_ID_DUTCH_LANGUAGE,
STR_ID_TURKISH_LANGUAGE,
STR_ID_BENGALI_LANGUAGE,
STR_ID_URDU,
STR_ID_INDONESIAN_LANGUAGE,
STR_ID_PUNJABI_LANGUAGE,
STR_ID_THAI,
STR_ID_CZECH_LANGUAGE,
STR_ID_SETTINGS,
STR_ID_THEME,
STR_ID_LIGHT,
STR_ID_BLUETOOTH,
STR_ID_OTHER_SETTING,
STR_ID_INFORMATION,
STR_ID_RETURN,
STR_ID_PRESSURE,
STR_ID_FAULT_CODE,
STR_ID_THEME_SELECT,
STR_ID_THEME_BG,
STR_ID_SELF_ADAPTION,
STR_ID_NOW_FAULT_CODE,
STR_ID_HIS_FAULT_CODE,
STR_ID_AUTO,
STR_ID_BT_SWITCH,
STR_ID_IMPERIAL,
STR_ID_METRIC,
STR_ID_UNIT,
STR_ID_LANGUAGE,
STR_ID_IN_LEARNING,
STR_ID_SENSOR_FRONT,
STR_ID_SENSOR_REAR,
STR_ID_SENSOR_LOSS,
STR_ID_TIME,
STR_ID_SPEED_MAX,
STR_ID_SPEED_AVG,
STR_ID_MILEAGE_TRIP,
STR_ID_MILEAGE_ODO,
STR_ID_LAN_STR_TABLEMAX,
}LAN_STR_ID;
#endif

View File

@ -0,0 +1,413 @@
#if 0
#ifndef __LANGUAGE_TABLE_H__
#define __LANGUAGE_TABLE_H__
#define LANGUAGE_NUM 15
extern const unsigned int *lan_str_table[][15];
typedef enum{
STR_ID_ENGLISH,
STR_ID_TRADITIONAL_CHINESE,
STR_ID_APP_SCANNING_BINDING,
STR_ID_APP_ABOUT,
STR_ID_DEVICE_NAME,
STR_ID_EQUIPMENT_TYPE,
STR_ID_BLUETOOTH_ADDRESS,
STR_ID_BIND_OR_NOT,
STR_ID_BINDING_SUCCESSFUL,
STR_ID_BINDING_FAILURE,
STR_ID_DAILY_EXERCISE,
STR_ID_CALORIES,
STR_ID_KCAL,
STR_ID_STEPS,
STR_ID_STEP,
STR_ID_DISTANCE,
STR_ID_KM,
STR_ID_DAILY_STEPS,
STR_ID_STEPS_PER_WEEK,
STR_ID_COMMUNICATE_BY_TELEPHONE,
STR_ID_HEART_RATE,
STR_ID_MOVEMENT,
STR_ID_EXERCISE_RECORD,
STR_ID_SHORT_MESSAGE,
STR_ID_BLOOD_OXYGEN,
STR_ID_SLEEP,
STR_ID_STRESS,
STR_ID_BREATH_RATE,
STR_ID_BREATHING_TRAINING,
STR_ID_WOMEN_HEALTH,
STR_ID_BLOOD_PRESSURE,
STR_ID_VOICE_ASSISTANT,
STR_ID_BODY_TEMPERATURE,
STR_ID_BODY_WEATHER,
STR_ID_MOOD,
STR_ID_MUSIC,
STR_ID_ALARM_CLOCK,
STR_ID_SOS,
STR_ID_GAME,
STR_ID_MORE,
STR_ID_SETTINGS,
STR_ID_AM,
STR_ID_PM,
STR_ID_SUM,
STR_ID_MON,
STR_ID_TUE,
STR_ID_WED,
STR_ID_THU,
STR_ID_FRI,
STR_ID_SAT,
STR_ID_POWER_SAVING_REMINDER,
STR_ID_BPM,
STR_ID_CURRENT_HEART_RATE,
STR_ID_RESTING_HEART_RATE,
STR_ID_LAST_7_DAYS_AVG_RESTING_HEART,
STR_ID_HIGH_HEART,
STR_ID_LOW_HEART,
STR_ID_PLEACE_WEAR,
STR_ID_WEAR_AND_HOLD_STILL,
STR_ID_MEASUREMENT_UNSUCCESSFUL,
STR_ID_MEASURING,
STR_ID_MEASURE_AGAIN,
STR_ID_DEEP_SLEEP,
STR_ID_LIGHT_SLEEP,
STR_ID_REM,
STR_ID_AWAKE,
STR_ID_START_MEASURING,
STR_ID_EASY,
STR_ID_NORMAL,
STR_ID_ON_THE_HIGH_SIDE,
STR_ID_POSITIVE,
STR_ID_NEGATIVE,
STR_ID_PEACEFUL,
STR_ID_THE_SLOW,
STR_ID_TOO_FAST,
STR_ID_NO_DATA,
STR_ID_WEAR_TIME_TOOL_SHOURT,
STR_ID_HYPERTHERMIA,
STR_ID_BREATH_TRAINING,
STR_ID_EXERCISE_DURATION,
STR_ID_DURATION,
STR_ID_BREATHING_TEMPO,
STR_ID_TIME,
STR_ID_MIN,
STR_ID_SLOW,
STR_ID_FAST,
STR_ID_WORKOUT_COMPLETE,
STR_ID_BREATHING_IN,
STR_ID_BREATHING_OUT,
STR_ID_STOPWATCH,
STR_ID_COUNTDOWN,
STR_ID_FLASHLIGHT,
STR_ID_FIND_PHONE,
STR_ID_REMOTE_CAMERA,
STR_ID_UNIVERSAL_TIME,
STR_ID_CALCULATOR,
STR_ID_TIMER,
STR_ID_CUSTOM,
STR_ID_TIME_ENDS,
STR_ID_EVERY_DAY,
STR_ID_SET_TIME,
STR_ID_REPEAT,
STR_ID_ALARMS_UPPER_LIMIT,
STR_ID_ALARMS_CLOCK_EDITING,
STR_ID_EDIT_ALARMS_CLOCK,
STR_ID_OR_NOT_DELETE_ALARM,
STR_ID_RING_AGAIN_TEN_MINUTES,
STR_ID_MOSCOW,
STR_ID_TOKYO,
STR_ID_YESTERDAY_7HOURS,
STR_ID_TODAY_7HOURS,
STR_ID_CITIES_APP_SETTINGS,
STR_ID_OR_NOT_DELETE_CURRENT_CITY,
STR_ID_RINGING,
STR_ID_BLUETOOTH_UNCONNECTED,
STR_ID_CLICK_PHOTO,
STR_ID_APP_OPEN_CAMERA,
STR_ID_CONTACTS,
STR_ID_CALL_LOGS,
STR_ID_DIAL_PAD,
STR_ID_NO_CONTACT,
STR_ID_EXHALING,
STR_ID_MESSAGE,
STR_ID_UNKNOWN,
STR_ID_SUNNY,
STR_ID_CLOUDY,
STR_ID_OVERCAST,
STR_ID_SHOWER,
STR_ID_T_STORM,
STR_ID_RAIN_PLUS_SNOW,
STR_ID_LIGHT_RAIN,
STR_ID_HEAVY_RAIN,
STR_ID_SNOW,
STR_ID_SANDSTORM,
STR_ID_FOG,
STR_ID_WIND,
STR_ID_HUMIDNESS,
STR_ID_ULTRAVIOLET_LIGHT,
STR_ID_NOT_WEATHER_CONNECT_APP,
STR_ID_UNCONNECTED,
STR_ID_MOBILE_MUSIC,
STR_ID_CALL_ENDED,
STR_ID_CALL_FAILURE,
STR_ID_CALL_DISCONNECTED,
STR_ID_CALL_BLUETOOTH_CALL_UNCONNECTED,
STR_ID_UPDATE_TIME,
STR_ID_WATCH_AND_THEME,
STR_ID_DISPLAY_AND_BRIGHT,
STR_ID_BRIGHT,
STR_ID_SOUND_AND_VIBRATION,
STR_ID_VIBRATION_INTENSITY,
STR_ID_TIME_AND_DATE,
STR_ID_PASSWORD,
STR_ID_NOT_DISTURB_MODE,
STR_ID_RAISE_TO_WAKE,
STR_ID_KEY_SETTING,
STR_ID_MOTION_RECOGNITION,
STR_ID_SYSTEM_MENU,
STR_ID_QR_CODE,
STR_ID_WATCH,
STR_ID_SCREEN_DISPLAY,
STR_ID_WATCH_SCREEN_DISPLAY,
STR_ID_EFFECTIVE_PERIOD,
STR_ID_AUTO_DIAL_SWITCHING,
STR_ID_THEME,
STR_ID_POINTER,
STR_ID_DIGITAL,
STR_ID_GRID,
STR_ID_LIST,
STR_ID_NEST,
STR_ID_AUTOMATICALLY_SWITCH_MAIN_WATCH,
STR_ID_SHORTEN_BATTERY_LIFE,
STR_ID_START_TIME,
STR_ID_END_TIME,
STR_ID_SCREEN_TIME,
STR_ID_RINGTONE_VOLUME,
STR_ID_MEDIA_AUDIO,
STR_ID_MUTE,
STR_ID_LOW,
STR_ID_MODERATE,
STR_ID_HIGH,
STR_ID_MUTE_INCOMING_WITHOUT_RINGING,
STR_ID_SYNC_APP,
STR_ID_24HOUR_SYSTEM,
STR_ID_DATE,
STR_ID_CHANGE_PASSWORD,
STR_ID_ENTER_PASSWORD,
STR_ID_ENTER_CURRENT_PASSWORD,
STR_ID_CONFIRM_PASSWORD,
STR_ID_ENTER_ERROR,
STR_ID_SUCCESSFULLY_MODIFIED,
STR_ID_NOT_DISTURB,
STR_ID_ALL_DAY,
STR_ID_TIMED_ON,
STR_ID_INCOMING_CALLS_AND_NOTIFICATIONS_MUTED,
STR_ID_INCOMING_CALLS_AND_NOTIFICATIONS_MUTED_NOT_VIBRATION,
STR_ID_EXERCISE_REMINDER,
STR_ID_WHETHER_TO_START_EXERCISE,
STR_ID_CAMPAIGN_OVER,
STR_ID_RESTART,
STR_ID_POWER_OFF,
STR_ID_FACTORY_DATA_RESET,
STR_ID_RESTARTED,
STR_ID_OFF,
STR_ID_RESTORING_FACTORY_SETTINGS,
STR_ID_APP_DOWNLOAD,
STR_ID_APP_SYNCHRONOUS_DATA,
STR_ID_MENSTRUAL_PERIOD,
STR_ID_EASY_PREGNANCY,
STR_ID_SECURITY_PERIOD,
STR_ID_TARGET_CLOSED,
STR_ID_GET_UP_AND_MOVE,
STR_ID_GOAL_ACHIEVEMENT,
STR_ID_CHARGE_AS_SOON_AS_POSSIBLE,
STR_ID_UPGRADING,
STR_ID_UPGRADE_SUCCESSFULLY,
STR_ID_UPGRADE_FAILURE,
STR_ID_ENTER_RESTART,
STR_ID_CONNECT_APP_TRY_AGAIN,
STR_ID_REBOOTING,
STR_ID_IN_SYNC,
STR_ID_SYNCHRONIZATION_SUCCEEDED,
STR_ID_CARD_SCALING,
STR_ID_OUTDOOR_RUN,
STR_ID_INDOOR_WALK,
STR_ID_OUTDOOR_CYCLE,
STR_ID_INDOOR_RUN,
STR_ID_STRENGTH_TRAINING,
STR_ID_FOOTBALL,
STR_ID_STEP_TRAINING,
STR_ID_HORSE_RIDING,
STR_ID_HOCKEY,
STR_ID_TABLE_TENNIS,
STR_ID_BADMINTON,
STR_ID_INDOOR_CYCLE,
STR_ID_ELLIPTICAL_TRAINER,
STR_ID_YOGA,
STR_ID_CRICKET,
STR_ID_TAI_CHI,
STR_ID_SHUTTLECOCK,
STR_ID_BOXING,
STR_ID_BASKETBALL,
STR_ID_OUTDOOR_WALK,
STR_ID_MOUNTAINEERING,
STR_ID_TRAIL_RUNNING,
STR_ID_SKIING,
STR_ID_FREE_TRAINING,
STR_ID_GYMNASTICS,
STR_ID_ICE_HOCKEY,
STR_ID_TAEKWONDO,
STR_ID_VO2MAX_TEST,
STR_ID_ROWING_MACHING,
STR_ID_AIR_WALKER,
STR_ID_HIKING,
STR_ID_TENNIS,
STR_ID_DANCE,
STR_ID_ATHLETICS,
STR_ID_WAIST_TRAINING,
STR_ID_KARATE,
STR_ID_COOLDOWN,
STR_ID_CROSS_TRAINING,
STR_ID_PILATES,
STR_ID_CROSS_FIT,
STR_ID_FUNCTIONAL_TRAINING,
STR_ID_PHYSICAL_TRAINING,
STR_ID_JUMP_ROPE,
STR_ID_ARCHERY,
STR_ID_FLEXIBILITY,
STR_ID_MIXED_CARDIO,
STR_ID_LATIN_DANCE,
STR_ID_STREET_DANCE,
STR_ID_KICKBOXING,
STR_ID_BALLET,
STR_ID_AUSTRALIAN_FOOTBALL,
STR_ID_MARTIAL_ARTS,
STR_ID_STAIRS,
STR_ID_HANDBALL,
STR_ID_BASEBALL,
STR_ID_BOWLING,
STR_ID_RACQUETBALL,
STR_ID_CURLING,
STR_ID_HUNTING,
STR_ID_SNOWBOARDING,
STR_ID_PLAY,
STR_ID_AMERICAN_FOOTBALL,
STR_ID_HAND_CYCLING,
STR_ID_FISHING,
STR_ID_DISC_SPORTS,
STR_ID_RUGBY,
STR_ID_GOLF,
STR_ID_FOLK_DANCE,
STR_ID_DOWNHILL_SKIING,
STR_ID_SNOW_SPORTS,
STR_ID_VOLLEYBALL,
STR_ID_MIND_AND_BODY,
STR_ID_CORE_TRAINING,
STR_ID_SKATING,
STR_ID_FITNESS_GAMING,
STR_ID_AEROBICS,
STR_ID_GROUP_TRAINING,
STR_ID_KENDO,
STR_ID_LACROSSE,
STR_ID_ROLLING,
STR_ID_WRESTLING,
STR_ID_FENCING,
STR_ID_SOFTBALL,
STR_ID_SINGLE_BAR,
STR_ID_PARALLEL_BARS,
STR_ID_ROLLER_SKATING,
STR_ID_HULA_HOOP,
STR_ID_DARTS,
STR_ID_PICKLEBALL,
STR_ID_SIT_UP,
STR_ID_HIIT,
STR_ID_SWIM,
STR_ID_TREADMILL,
STR_ID_BOATING,
STR_ID_SHOOTING,
STR_ID_JUDO,
STR_ID_TRAMPOLINE,
STR_ID_SKATEBOARD,
STR_ID_HOVERBOARD,
STR_ID_BLADING,
STR_ID_PARKOUR,
STR_ID_DIVING,
STR_ID_SURFING,
STR_ID_SNORKELING,
STR_ID_PULL_UP,
STR_ID_PUSH_UP,
STR_ID_PLANKING,
STR_ID_ROCK_CLIMBING,
STR_ID_HIGHT_JUMP,
STR_ID_BUNGEE_JUMPING,
STR_ID_LONG_JUMP,
STR_ID_MARATHON,
STR_ID_GOAL,
STR_ID_NO_GOAL,
STR_ID_SPORT,
STR_ID_MI,
STR_ID_PHONE_DISCONNECTED,
STR_ID_BLU_CONNECTION_FAILED,
STR_ID_BLU_CONNECTION_SUCCESSFUL,
STR_ID_TRY_RECONNECT,
STR_ID_MOVEMENT_SHORT_DISTANCE,
STR_ID_EXERCISE_TIME_SHORT,
STR_ID_RECOMMENDED_EXERCISE,
STR_ID_SPORTS_REACHED_UPPER_LIMIT,
STR_ID_NO_RECORD,
STR_ID_DETAILS_APP_VIEW,
STR_ID_TIMES,
STR_ID_DECOMPRESSION,
STR_ID_FAT_BURNING,
STR_ID_ANAEROBIC,
STR_ID_HEART_LUNG,
STR_ID_LIMIT,
STR_ID_HEART_RATE_INTERVAL,
STR_ID_JANUARY,
STR_ID_FEBRUARY,
STR_ID_MARCH,
STR_ID_APRIL,
STR_ID_MAY,
STR_ID_JUNE,
STR_ID_JULY,
STR_ID_AUGUST,
STR_ID_SEPTEMBER,
STR_ID_OCTOBER,
STR_ID_NOVEMBER,
STR_ID_DECEMBER,
STR_ID_ECG,
STR_ID_SINUS,
STR_ID_TACHYCARDIA,
STR_ID_MILDNESS,
STR_ID_INTERMITTENT_HEART_RATE,
STR_ID_CONTINUOUS_HEART_RATE,
STR_ID_SEVERE_HEART_RATE,
STR_ID_FUTURE_WEATHER,
STR_ID_STEPS_DETAILS,
STR_ID_UPDATE,
STR_ID_VERY_HIGH,
STR_ID_STRONG,
STR_ID_MEDIUM,
STR_ID_WEAK,
STR_ID_VERY_LOW,
STR_ID_NAP,
STR_ID_SLEEP_SCHEDULES,
STR_ID_FOCUS_BREATHING,
STR_ID_MAX,
}ENUM_RES_STR_ID;
typedef struct{
ENUM_RES_STR_ID str_id;
char * str[LANGUAGE_NUM];
}st_language_str;
#endif
#endif

View File

@ -0,0 +1,148 @@
#ifndef __LIST_H__
#define __LIST_H__
#include "lan_str_table.h"
#define MAINMENU_ICON_WIDTH_UNCHECK 100
#define MAINMENU_ICON_HEIGHT_UNCHECK 100
#define MAINMENU_ICON_WIDTH_CHECK 110
#define MAINMENU_ICON_HEIGHT_CHECK 110
#define ICON_RING_Y 30
#define ICON_RING_1_X 0
#define ICON_RING_2_X 105
#define ICON_RING_3_X 210
#define ICON_IMG_Y 35+40
#define ICON_IMG_1_X 5+20+20
#define ICON_IMG_2_X 110+30+20+20+10
#define ICON_IMG_3_X 215+60+20+20+20
#define COMMON_PER_PAGE_NUM 3
#define COMMON_PAGE_ITEM_NUM 3
#define LAST_PAGE_ITEM_NUM 1
#define WIN_SIZE_WIDTH_PCT 100
#define WIN_SIZE_HEIGHT_PCT 100
#define RADIUS_RECT 0
typedef enum _ENUM_MAINMENU_ITEM_ID_
{
MAINMENU_ITEM_ID_THEME,
MAINMENU_ITEM_ID_LIGHT,
MAINMENU_ITEM_ID_BLUETOOTH,
MAINMENU_ITEM_ID_OTHER,
MAINMENU_ITEM_ID_INFORMATION,
MAINMENU_ITEM_ID_PRESSURE,
MAINMENU_ITEM_ID_FAULT_CODE,
MAINMENU_ITEM_ID_THEME_SELECT,
MAINMENU_ITEM_ID_THEME_BG,
MAINMENU_ITEM_ID_OTHER_TIME,
MAINMENU_ITEM_ID_OTHER_LANGUAGE,
MAINMENU_ITEM_ID_OTHER_UINT,
// MAINMENU_ITEM_ID_LIST_RETURN,
MAINMENU_ITEM_ID_MAX,
} ENUM_MAINMENU_ITEM_ID;
typedef struct
{
bool flag;
uint8_t win_id;
uint32_t index; //scroll y offset
}PAGE_HISTORY_RECORD_T;
#define HISTORY_WIN_LEVEL 5
typedef struct
{
PAGE_HISTORY_RECORD_T page_record[HISTORY_WIN_LEVEL];
uint8_t hu01_cur_page_record;
uint8_t hu01_cur_btn_record;
uint8_t intercom_page_record;
uint8_t intercom_cur_btn_record;
uint8_t ws01_cur_page_record;
uint8_t ws01_cur_btn_record;
ENUM_MAINMENU_ITEM_ID cur_checked_menu_item;
}Local_UiCommon_t;
typedef enum
{
MAINMENU_ICON_ID_THEME,
MAINMENU_ICON_ID_LIGHT,
MAINMENU_ICON_ID_BLUETOOTH,
MAINMENU_ICON_ID_OTHER,
MAINMENU_ICON_ID_INFORMATION,
MAINMENU_ICON_ID_PRESSURE,
MAINMENU_ICON_ID_FAULT_CODE,
MAINMENU_ICON_ID_RETURN,
MAINMENU_ICON_ID_MAX,
} MAINMENU_ICON_ID_ENUM;
//typedef enum _ENUM_EQUIPMENT_ID_ {
// EQUIPMENT_ID_THEME = 0,
// EQUIPMENT_ID_LIGHT,
// EQUIPMENT_ID_BLUETOOTH,
// EQUIPMENT_ID_OTHER,
// EQUIPMENT_ID_INFORMATION,
// EQUIPMENT_ID_PRESSURE,
// EQUIPMENT_ID_FAULT_CODE,
// EQUIPMENT_ID_MAX,
//}ENUM_EQUIPMENT_ID;
typedef enum
{
MAINMENU_TILE_ZERO = 0,
MAINMENU_TILE_ONE,
MAINMENU_TILE_TWO,
MAINMENU_TILE_END,
}MAINMENU_TILE_T;
typedef struct
{
lv_obj_t *window_obj;
uint8_t col_id;
uint8_t row_id;
lv_dir_t dir;
void (*Init)();
}mainmenu_tile_t;
//
//
//typedef struct _lv_equipment_list_t{
// const ENUM_EQUIPMENT_ID equipment_id;
// const LAN_STR_ID str;
// bool selected;
// bool is_display;
//}lv_equipment_list_t;
typedef struct _lv_mainmenu_icon_t
{
ENUM_MAINMENU_ITEM_ID mainmenu_item_id;
LAN_STR_ID str_id;
MAINMENU_ICON_ID_ENUM mainmenu_icon_id;
btn_event_func event_handler;
} lv_mainmenu_win_t;
// void init_tile_common(lv_obj_t *mainmenu_btn_win, uint8_t page_num, uint8_t cur_tile_item,char *list_title[]);
// void init_tile_common(lv_obj_t *mainmenu_btn_win, uint8_t page_num, uint8_t cur_tile_item,LAN_STR_ID list_str[]);
void init_tile_common(lv_obj_t *mainmenu_btn_win, uint32_t str_arr[], uint8_t page_num, uint8_t cur_tile_item);
static void key_event_handler(lv_event_t *e);
uint32_t mainmenu_item_process(uint32_t dis_item_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM],
uint32_t *page_num, uint32_t *last_item_pos);
void position_in_array(uint32_t res_arr[MAINMENU_TILE_END][COMMON_PER_PAGE_NUM], uint32_t res[2]);
//ENUM_MAINMENU_ITEM_ID get_mainmenu_item_id_by_strid(ENUM_RES_STR_ID str_id);
extern void theme_create();
extern void light_create();
extern void bluetooth_create();
extern void other_create();
extern void information_create();
extern void pressure_create();
extern void fault_code_create();
extern void demo_return();
#endif

View File

@ -0,0 +1,433 @@
#if 0
/*
* @Description:
* @Date: 2022-01-27 12:55:28
* @LastEditTime: 2023-06-16 11:29:41
*/
#ifndef __LV_COMMON_FUNCTION_H__
#define __LV_COMMON_FUNCTION_H__
#define lv_log_on printf
#include "fr_watch.h"
#include "language_table.h"
#include "fr_lv_public_func.h"
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_180px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_128px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_92px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_80px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_62px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_50px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_46px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_44px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_36px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_20px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_28px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_16px);
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_12px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_10px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_16px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_20px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_22px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_30px);
LV_FONT_DECLARE(MXC_WRYH_CT_bpp4_72px);
LV_FONT_DECLARE(arialuni_field_bbp2_32px);
#define LV_FONT_MXC_WRYH_CT_10PX &MXC_WRYH_CT_bpp4_10px
#define LV_FONT_MXC_WRYH_CT_16PX &MXC_WRYH_CT_bpp4_16px
#define LV_FONT_MXC_WRYH_CT_20PX &MXC_WRYH_CT_bpp4_20px
#define LV_FONT_MXC_WRYH_CT_22PX &MXC_WRYH_CT_bpp4_22px
#define LV_FONT_MXC_WRYH_CT_30PX &MXC_WRYH_CT_bpp4_30px
#define LV_FONT_MXC_WRYH_CT_72PX &MXC_WRYH_CT_bpp4_72px
#define LV_FONT_BIG_NUMBER_180PX &Number_HarmonyOS_bpp4_180px
#define LV_FONT_BIG_NUMBER_128PX &Number_HarmonyOS_bpp4_128px
#define LV_FONT_BIG_NUMBER_92PX &Number_HarmonyOS_bpp4_92px
#define LV_FONT_BIG_NUMBER_80PX &Number_HarmonyOS_bpp4_80px
#define LV_FONT_BIG_NUMBER_62PX &Number_HarmonyOS_bpp4_62px
#define LV_FONT_BIG_NUMBER_50PX &Number_HarmonyOS_bpp4_50px
#define LV_FONT_BIG_NUMBER_46PX &Number_HarmonyOS_bpp4_46px
#define LV_FONT_BIG_NUMBER_44PX &Number_HarmonyOS_bpp4_44px
#define LV_FONT_MEDIUM_NUMBER_36PX &Number_HarmonyOS_bpp4_36px
#define LV_FONT_SMALL_NUMBER_20PX &Number_HarmonyOS_bpp4_20px
#define LV_FONT_MEDIUM_NUMBER_28PX &Number_HarmonyOS_bpp4_28px
#define LV_FONT_SMALL_NUMBER_16PX &Number_HarmonyOS_bpp4_16px
#define LV_FONT_SMALL_NUMBER_12PX &Number_HarmonyOS_bpp4_12px
#define LV_FONT_ARIALUNI_ALL_32PX &arialuni_field_bbp2_32px
typedef void (*ui_func)(lv_obj_t *parent,lv_point_t *top);
uint8_t get_pri_ui_group_index(pri_ui_entry func);
void layer_add_right_main_cont(lv_obj_t *parent, ui_entry f_cont1);
bool fr_app_UI_return_flag(void);
extern void UI_return_click_cb(lv_event_t *e);
typedef enum
{
UI_MAIN_FLOAT = 0,
UI_APP_START_SKY,
UI_APP_OTA,
UI_APP_INCOMING,
UI_APP_MSG_FLOAT,
UI_APP_SPORT_DETAIL,
//up
UI_APP_VOL_SETTING,
UI_APP_LIGHTING,
// left
UI_APP_MUSIC,
UI_APP_HEART_DECT,
UI_APP_BLOODPRESS,
UI_APP_BLOODOXYGEN,
UI_APP_SPORT_MAIN,
UI_APP_BREATHE,
UI_APP_DIAL_MAIN,
// UI_APP_QRCODE,
//setting
UI_APP_SETTING_MAIN,
//------------
UI_APP_DISPLAY_WATCHFACE,
UI_APP_DISPLAY_MENU_VIEW,
UI_APP_ABOUT_QRCODE,
UI_APP_SETTING_DISPLAY,
UI_APP_RAISETOWAKE,
UI_APP_PHONE_SEARCH,
UI_APP_SETTING_VIOCE,
UI_APP_CONTROL_RESTART,
UI_APP_CONTROL_POWER_OFF,
UI_APP_CONTROL_FACTORY_RESET,
UI_APP_ABOUT_VERSION,
UI_APP_PASSWORD,
UI_APP_SETTING_LANGUAGE,
UI_APP_LOWPOWER,
//-------------------------------------
//第3级界面
UI_APP_DISPLAY_BRIGHT,
UI_APP_DISPLAY_TIME,//熄屏与常亮意义一样
//-------------------------------------
UI_APP_CHARGE,
UI_APP_TAKE_PIC,
//UI_APP_PHONE_SEARCH,
UI_APP_CALL,
UI_APP_CALL_LIST,
UI_APP_MESSAGE,
UI_APP_TODAY_SLEEP,
UI_APP_STOPWATH,
UI_APP_WEATHER,
UI_APP_CALENDAR,
UI_APP_TODAY_DATA,
UI_APP_ALARM,
UI_APP_COUNTDOWN,
UI_APP_COUNTING,
UI_APP_COUNTDOWN_USERDEFINED,
//-------------------
UI_APP_POP_STEP_TARGET,
UI_APP_POP_ALARM,
UI_APP_POP_LONGSIT,
UI_APP_POP_DRINK,
//-------------------
UI_APP_ALARM_CLOCK_EDIT,
UI_APP_ALARM_REPEAT_SELECT,
UI_APP_CALCULATOR,
//---------------------------------
UI_APP_PHONE_BOOK,
//=================================
#if ALIPAY_FUNC_ENABLE
UI_APP_UPAY_BIND_POTOL,
UI_APP_UPAY_BIND_GUIDE,
UI_APP_UPAY_BIND_QRCODE,
UI_APP_UPAY_BIND_POLLING,
UI_APP_UPAY_BIND_RESULT,
UI_APP_UPAY_PAY_BARCODE,
UI_APP_UPAY_PAY_QRCODE,
UI_APP_UPAY_SET,
UI_APP_UPAY_UNBIND,
UI_FAST_UPAY_AGREE_POTOL,
UI_FAST_UAPY_PAYCODE,
#endif
UI_SPORT_RESULT,
UI_APP_UI_MAX,
} ui_type_t;
typedef enum
{
STYLE_TYPE_ABOUT = 0,
STYLE_TYPE_ALARM,
// STYLE_TYPE_ALIPAY,
STYLE_TYPE_BREATHE,
STYLE_TYPE_BRIGHTNESS,
STYLE_TYPE_CALLOG,
STYLE_TYPE_CAMERA,
STYLE_TYPE_WATCHFACE,
STYLE_TYPE_CODE,
STYLE_TYPE_SPORT,
STYLE_TYPE_FIND,
STYLE_TYPE_FLASHLIGHT,
STYLE_TYPE_GAME,
STYLE_TYPE_HR,
STYLE_TYPE_LANGUAGE,
STYLE_TYPE_MESSAGES,
STYLE_TYPE_MUSIC,
STYLE_TYPE_CALL,
STYLE_TYPE_PHONEBOOK,
STYLE_TYPE_POWEROFF,
STYLE_TYPE_RESART,
STYLE_TYPE_RESET_FACTORY,
STYLE_TYPE_SLEEP,
STYLE_TYPE_STEP,
STYLE_TYPE_STOPWATCH,
STYLE_TYPE_TIMER, //倒计<E58092>?
STYLE_TYPE_WEALTHER,
STYLE_TYPE_RAISETOWAKE, //翻腕
STYLE_TYPE_CALENDAR,
}style_type_enum;
extern const uint8_t style_func_id[];
extern const pri_ui_entry style_func_arry[];
#define UI_LAYER_ACTIVE_TAG 0x80
// layer_page
// page = (UI_lAYER1_lEVEL_TAG | page_id)
void dsp_store_ui_scene(uint8_t mode, uint8_t layer, uint8_t page, uint16_t page_cur_x, uint16_t page_cur_y);
void dsp_set_ui_scene_default_style(uint8_t type);
uint8_t dsp_get_ui_scene_default_style(void);
uint8_t dsp_get_ui_scene_mode(void);
uint8_t dsp_get_ui_scene_prev_mode(void);
uint8_t dsp_get_ui_scene_layer(void);
uint8_t dsp_get_ui_scene_page_by_layer(uint8_t layer);
uint16_t dsp_get_ui_scene_cur_x(void);
uint16_t dsp_get_ui_scene_cur_y(void);
void dsp_turn_on_ble(void);
void dsp_turn_off_ble(void);
void dsp_turn_on_bt(void);
void dsp_turn_off_bt(void);
void dsp_op_system_shut_down(void);
void dsp_op_system_reset(void);
void dsp_op_system_reboot(void);
void dsp_op_system_music_play(void);
void dsp_op_system_music_stop(void);
void dsp_op_system_music_prev(void);
void dsp_op_system_music_next(void);
void dsp_op_system_call_out(uint8_t *number, uint8_t len);
void dsp_op_get_current_call(call_info_t *call);
uint8_t dsp_op_dial_from_book(uint16_t id);
void dsp_op_get_call_from_story(call_info_t *call, uint16_t id);
void dsp_op_get_call_from_book(call_info_t *call, uint16_t id);
void dsp_op_sync_phone_book(void);
uint16_t dsp_op_get_phone_book_id_offset(void);
uint16_t dsp_op_set_phone_book_id_offset(uint16_t id_offset);
void dsp_op_system_call_ok(void);
void dsp_op_system_call_reject(void);
void dsp_op_read_cm3_record_list(void);
void dsp_op_get_call_from_record_list(call_info_t * call,uint8_t *call_context);
//void dsp_op_get_call_from_record_list(call_info_t *call, uint8_t *number, uint8_t number_len);
uint8_t dsp_get_system_record_total(void);
void dsp_op_sports_start(uint8_t mode);
void dsp_op_sports_stop(uint8_t mode);
void dsp_op_sports_pause(uint8_t mode);
void dsp_op_read_cm3_msg(void);
void dsp_op_system_timer_delay(uint16_t n);
void dsp_op_system_hrm_start(void);
void dsp_op_system_hrm_stop(void);
// data
uint16_t dsp_get_system_time_year(void);
uint8_t dsp_get_system_time_month(void);
uint8_t dsp_get_system_time_date(void);
uint8_t dsp_get_system_time_hour(void);
uint8_t dsp_get_system_time_minute(void);
uint8_t dsp_get_system_time_second(void);
uint8_t dsp_get_system_time_week(void);
uint8_t dsp_get_system_cm3_ver(void);
uint8_t dsp_get_system_dsp_ver(void);
uint8_t * dsp_get_system_mac_address(void);
void dsp_set_system_Wirst_Awake(uint8_t state);
uint8_t dsp_get_system_Wirst_Awake(void);
void dsp_set_system_no_disturb(uint8_t state);
uint8_t dsp_get_system_no_disturb(void);
void dsp_set_system_low_power(uint8_t state);
uint8_t dsp_get_system_low_power(void);
void dsp_set_system_panel_on_time(uint8_t value);
uint8_t dsp_get_system_panel_on_time(void);
void dsp_set_system_language(uint8_t id);
uint8_t dsp_get_system_language(void);
void dsp_set_system_backlight(uint8_t id);
uint8_t dsp_get_system_backlight(void);
void dsp_set_system_watch_face(uint8_t id);
uint8_t dsp_get_system_watch_face(void);
void dsp_set_system_menu_style(uint8_t id);
uint8_t dsp_get_system_menu_style(void);
void dsp_set_system_backlight_on( uint8_t id);
uint8_t dsp_get_system_backlight_on(void);
void dsp_set_system_volume_media(uint8_t value);
uint8_t dsp_get_system_volume_media(void);
void dsp_set_system_volume_hfp(uint8_t value);
uint8_t dsp_get_system_volume_hfp(void);
void dsp_set_system_volume_tone(uint8_t value);
uint8_t dsp_get_system_volume_tone(void);
uint8_t *dsp_get_system_music_context(void);
uint8_t dsp_get_system_music_state(void);
uint8_t dsp_get_system_ble_state(void);
uint8_t dsp_get_system_ble_on_off(void);
uint8_t dsp_get_system_bt_on_off(void);
uint8_t dsp_get_system_bt_state(void);
uint8_t dsp_get_system_battery_state(void);
uint8_t dsp_get_system_battery_value(void);
uint32_t dsp_get_system_step(void);
uint32_t dsp_get_system_calorie(void);
uint32_t dsp_get_system_distance(void);
uint8_t dsp_get_system_hrm(void);
void dsp_clear_system_hrm(void);
uint8_t dsp_get_system_hrm_warning_h(void);
uint8_t dsp_get_system_hrm_warning_l(void);
uint8_t dsp_get_system_o2_sbp(void);
uint8_t dsp_get_system_o2_dbp(void);
uint8_t dsp_get_system_o2_spo2(void);
uint8_t dsp_get_system_blood_h(void);
uint8_t dsp_get_system_blood_l(void);
uint8_t *dsp_get_system_hrm_distory(void);
uint8_t *dsp_get_system_sleep_distory(void);
uint16_t dsp_get_system_sleep_total_time(void);
uint16_t dsp_get_system_sleep_d_time(void);
uint16_t dsp_get_system_sleep_l_time(void);
uint8_t dsp_get_system_msg_total(void);
void dsp_get_system_msg_time(uint8_t msg_id, uint8_t *buffer);
uint8_t dsp_get_system_msg_type(uint8_t msg_id);
void dsp_get_system_msg_title(uint8_t msg_id, uint8_t *buffer);
void dsp_get_system_msg_context(uint8_t msg_id, uint8_t *buffer);
uint8_t dsp_get_system_day1_weather_type(void);
int16_t dsp_get_system_day1_weather_temp(void);
int16_t dsp_get_system_day1_weather_temp_m(void);
int16_t dsp_get_system_day1_weather_temp_n(void);
uint8_t dsp_get_system_day2_weather_type(void);
int16_t dsp_get_system_day2_weather_temp(void);
int16_t dsp_get_system_day2_weather_temp_m(void);
int16_t dsp_get_system_day2_weather_temp_n(void);
uint8_t dsp_get_system_day3_weather_type(void);
int16_t dsp_get_system_day3_weather_temp(void);
int16_t dsp_get_system_day3_weather_temp_m(void);
int16_t dsp_get_system_day3_weather_temp_n(void);
uint32_t dsp_get_system_sport_time(void);
uint8_t dsp_get_system_sport_type(void);
uint16_t dsp_get_system_sport_speed(void);
uint16_t dsp_get_system_sport_step(void);
uint16_t dsp_get_system_sport_carlorie(void);
uint16_t dsp_get_system_sport_distcace(void);
uint8_t dsp_get_system_sport_state(void);
uint8_t dsp_get_system_sport_hrm(void);
uint8_t dsp_get_system_sport_hrm_max(void);
uint8_t dsp_get_system_sport_hrm_min(void);
uint8_t dsp_get_system_sport_oxygen(void);
uint8_t dsp_get_system_panel_show_time(void);
uint8_t dsp_set_system_panel_show_time(uint8_t time);
void dsp_op_enable_mic(void);
void dsp_op_disable_mic(void);
void dsp_get_system_alarm(_clockTime *alarm,uint8_t alarm_id);
void dsp_op_set_system_alarm(_clockTime * alarm,uint8_t alarm_id);
//-----------------------------------------------
void dsp_clear_system_light_time(void);
void dsp_take_picture(void);
void dsp_search_phone(void);
uint8_t* dsp_get_system_custom_card_mode(void);
void dsp_set_system_custom_card_mode(uint8_t index,uint8_t data_mode);
void dsp_set_system_sleep_history_cmd(void);
sleep_history_stru *dsp_get_system_sleep_history(void);
uint16_t dsp_get_system_step_target(void);
void dsp_set_system_new_language( uint8_t id);
uint8_t dsp_get_system_panel_state(void);
void dsp_set_system_countdown_timer(uint8_t cmd,uint32_t time_value);
uint32_t dsp_get_system_countdown_timer(void);
uint8_t dsp_get_system_countdown_timer_state(void);
void alarm_clock_edit_ui(lv_obj_t *parent);
void btn_repeat_select_ui(lv_obj_t *parent);
uint8_t dsp_get_system_temperature_format(void);
void fr_app_UI_Raisetowake_func(lv_obj_t *parent);
uint32_t dsp_get_system_sport_total_time(void);
uint16_t dsp_get_system_sport_total_carlorie(void);
uint8_t dsp_get_system_sport_avg_hrm(void);
uint8_t dsp_get_system_watch_hrm_value(void);
uint8_t dsp_get_ui_remind_index(void);
void dsp_get_system_win_title(uint8_t msg_id,uint8_t * buffer);
void dsp_get_system_win_context(uint8_t msg_id,uint8_t * buffer);
void dsp_set_system_test_cmd(uint8_t cmd);
void dsp_set_system_stopwatch_status(uint8_t cmd_status);
uint8_t dsp_get_system_distance_format(void);
void dsp_set_breathe_work(uint8_t breathe_work);
void dsp_breathe_state_cut(uint8_t breathe_state);
void dsp_send_data_ble(uint8_t *data,uint8_t len);
extern const lv_font_t arialuni_48;
extern const lv_font_t arialuni_32;
extern const lv_font_t arialuni_36;
extern const lv_font_t arialuni_20;
extern const lv_font_t arialuni_14;
extern const lv_font_t arialuni_120;
#define FONT_BIN_ARIALUNI_20 &bin_font
uint8_t get_pri_ui_group_index(pri_ui_entry func);
uint8_t jump_to_target_ui(pri_ui_entry target);
uint8_t save_the_previous_ui(pri_ui_entry func);
uint8_t return_to_previous_ui(void);
//===================================================================
//app ui define
//===================================================================
#define UI_PARENT_INIT(PARENT) do{lv_obj_set_size(PARENT,LV_PCT(100),LV_PCT(100));\
lv_obj_set_style_bg_color(PARENT,lv_color_black(),0); \
lv_obj_set_style_pad_all(PARENT,0,0); \
lv_obj_set_style_border_width(PARENT, 0, 0); \
lv_obj_set_scrollbar_mode(PARENT, LV_SCROLLBAR_MODE_OFF);}while(0)
#endif
#endif

View File

@ -0,0 +1,136 @@
#ifndef __MXC_METER_H__
#define __MXC_METER_H__
typedef void (*btn_event_func)(lv_obj_t *obj);
#define LV_KEY_Q 113
#define LV_KEY_W 119
//liulin 2024.3.5 用于发电机项目切换各个界面
typedef enum _ENUM_CONTROL_WIN_ID_GTOR
{
GTOR_MAINUI_WIN_ID,
GTOR_SUBUI_GTOR_WIN_ID,
GTOR_SUBUI_ERROR_WIN_ID
}ENUM_CONTROL_WIN_ID_GTOR;
typedef enum _ENUM_CONTROL_WIN_ID
{
IDLE_CONTROL_WIN_ID, // 0,
PAGE_MAINMENU_WIN_ID, //
SUBMENU_SET_THEME,
SUBMENU_SET_LIGHT, //
SUBMENU_SET_BLUETOOTH, // 4
SUBMENU_SET_OTHER,
SUBMENU_SET_INFORMATION,
SUBMENU_SET_PRESSURE, //
SUBMENU_SET_FAULT_CODE, //8
SUBMENU_THEME_SELECT,
SUBMENU_THEME_BG,
SUBMENU_OTHER_TIME,
SUBMENU_OTHER_LANGUAGE,
SUBMENU_OTHER_UINT, // 13
MOTO_WIN_ID_MAX,
} ENUM_CONTROL_WIN_ID;
typedef struct
{
uint8_t engine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t machine_oil; //<2F><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
uint8_t abs; //abs<62><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t tcs; //tcsǣ<73><C7A3><EFBFBD><EFBFBD>ϵͳ
uint8_t fan; //<2F><><EFBFBD><EFBFBD>
uint8_t null; //<2F>յ<EFBFBD>
}warning_t;
typedef struct
{
uint16_t ucYear;
uint8_t ucMonth;
uint8_t ucDate;
uint8_t ucHour;
uint8_t ucMinute;
uint8_t ucSecond;
}stTime_type;
typedef struct
{
uint8_t factory_reset; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t language; //<2F><><EFBFBD><EFBFBD>
uint8_t display_uint; //<2F><>λ
uint8_t theme; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
uint8_t theme_state; //<2F><><EFBFBD><EFBFBD>״̬
uint8_t light_value; //<2F><><EFBFBD><EFBFBD>
uint8_t bt_on_off; //<2F><><EFBFBD><EFBFBD>
uint8_t bt_state; //״̬
}save_info_t;
typedef struct
{
uint8_t softwar_host; //<2F><><EFBFBD><EFBFBD><E6B1BE>
uint8_t softwar_order; //<2F>ΰ汾<CEB0><E6B1BE>
uint8_t ui_page_id;
//time
stTime_type time;
save_info_t save_info;
uint8_t veer; //ת<><D7AA>
uint8_t veer_hint; //ת<><D7AA><EFBFBD><EFBFBD>ʾ
uint8_t lamplight; //<2F>ƹ<EFBFBD>
uint8_t power_on_self_test; //<2F><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>
uint8_t light_perception_value; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t light; //<2F><><EFBFBD><EFBFBD><EFBFBD>light_valueֵ
uint8_t return_demo;
uint16_t velocity; //<2F>ٶ<EFBFBD>
uint16_t veer_velocity; //ת<><D7AA>
uint8_t grade; //<2F><>λ
uint8_t oil; //<2F><><EFBFBD><EFBFBD>
uint8_t temp; //<2F><EFBFBD>
double trip_mileage; //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint32_t total_mileage; //<2F>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double voltage; //<2F><>ص<EFBFBD>ѹ
warning_t warning; //<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
uint16_t max_velocity; //<2F><><EFBFBD>ʱ<EFBFBD><CAB1>
uint16_t verage_velocity; //ƽ<><C6BD>ʱ<EFBFBD><CAB1>
char uuid[32];
char bt_name[32];
uint32_t now_defect_code; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint32_t his_defect_code; //<2F><>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t ttrb; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ȡ<EFBFBD><C8A1>ʱ<EFBFBD><CAB1>ı<EFBFBD>־
uint8_t ttrb_time; //<2F><>ʩʱ<CAA9><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ı<EFBFBD>־
uint8_t odo_reset; //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ı<EFBFBD>־
uint8_t demo_position; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>demoչʾ<D5B9><CABE><EFBFBD><EFBFBD>ı<EFBFBD>־
uint16_t plan; //<2F><><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD>ȱ<EFBFBD>־
uint16_t pace; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD>ȱ<EFBFBD>־
uint8_t upgrade; //<2F><><EFBFBD><EFBFBD><EFBFBD>ڴ濽<DAB4><E6BFBD><EFBFBD><EFBFBD>־
}daily_data_t;
extern daily_data_t custom_data;
daily_data_t *daily_get_UiData(void);
ENUM_CONTROL_WIN_ID get_top_history_win(void);
void Set_UI_page_id(ENUM_CONTROL_WIN_ID id);
void system_date_init(void);
void updateCurTime();
stTime_type * getCurrentTime();
daily_data_t* GetDailyData(void);
char * GetCurTimeString();
#endif

View File

@ -0,0 +1,4 @@
#ifndef __SETTING_H__
#define __SETTING_H__
#endif

View File

@ -0,0 +1,7 @@
#ifndef __LIST_H__
#define __LIST_H__
#include "lan_str_table.h"
#endif

View File

@ -0,0 +1,317 @@
#ifndef __USER_IPC_ST_H__
#define __USER_IPC_ST_H__
typedef enum
{
DAILY_DATA,
SYNC_DATA,
INFO_DATA,
}ipc_data_type_t;
typedef struct
{
uint16_t ucYear;
uint8_t ucMonth;
uint8_t ucDate;
uint8_t ucHour;
uint8_t ucMinute;
uint8_t ucSecond;
}stTime_type;
//battery
typedef enum
{
BATTERY_GO,
BATTERY_LOW,
BATTERY_FULL,
BATTERY_CHARGEIN,
}battery_state_t;
typedef struct
{
uint8_t state; //battery_state_t
uint16_t battery_value;
}battery_t;
//weather
typedef enum
{
WEATHER_SNOW,
WEATHER_SUN,
WEATHER_CLOUDY,
}weather_type_t;
typedef struct
{
uint8_t type; //weather_type_t
int16_t cur_tempture;
int16_t h_tempture;
int16_t l_tempture;
}weather_t;
typedef enum
{
UI_MAIN,
UI_FLOAT_WIN_UP,
UI_FLOAT_WIN_LEFT,
UI_FLOAT_WIN_DOWN,
UI_MENU,
UI_MAX
}ui_mode_t;
typedef struct
{
uint8_t ui_page_id;
uint16_t ui_page_cur_x;
uint16_t ui_page_cur_y;
}ui_layer_t;
typedef enum
{
PANEL_STATE_OFF,
PANEL_STATE_ON,
PANEL_STATE_MAX
}panel_state_t;
typedef struct
{
uint8_t ui_mode; //ui_mode_t
//--------new
uint8_t time_format; // 0 : 24小时<E5B08F>?1:12小时<E5B08F>?
uint8_t temperature_format; //0 : 摄氏度1华氏摄氏度
uint8_t distance_format; //0 : 公制<E585AC>?<EFBC9A>?
//lay 1
ui_layer_t layer1;
//lay 2
ui_layer_t layer2;
//lay 3
ui_layer_t layer3;
//lay 4
ui_layer_t layer4;
//clock id
uint8_t ui_clock_id;
//ui default style
uint8_t ui_default_style;
//menu style
uint8_t ui_menu_style_id;
//language
uint8_t ui_language;
uint8_t ui_backlight_brightness;
uint8_t ui_lock;
uint8_t ui_reset;
uint8_t ui_powerdown;
uint8_t ui_music_state;
uint8_t ui_prev_mode;
//--------new
uint8_t custom_card_mode[5];
uint8_t sos_callnumber[20];
}ui_info_t;
typedef struct
{
uint32_t sport_total_time;
uint16_t total_carloie;
uint8_t avg_hrm;
//once
uint8_t sport_type;
uint32_t sport_time;
uint16_t speed;
uint16_t step;
uint16_t distance;
uint16_t carloie;
uint8_t state;
uint8_t hrm;
uint8_t max_hrm;
uint8_t min_hrm;
uint8_t oxygen;
}sport_t;
typedef struct
{
uint8_t isEn;
uint8_t Repeat;
uint32_t alarm_time_value;
}Alarm_type;
typedef struct//<2F><><EFBFBD><EFBFBD>
{
unsigned char flag;//<2F><><EFBFBD><EFBFBD>
unsigned char hour;//ʱ
unsigned char minute;//<2F><>
unsigned char weekday;//<2F><><EFBFBD><EFBFBD>
//unsigned char data[50];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}_clockTime;
typedef struct
{
//system state
//bt state
uint8_t bt_state;
uint8_t bt_on_off;
//ble state
uint8_t ble_state;
uint8_t ble_on_off;
//time
stTime_type time;
//battery state
battery_t battery;
uint8_t panel_state;
//system info
uint8_t version;
//------new add
//uint16_t version;
uint8_t ble_address[6];
//step message
uint32_t step;
uint32_t calorie;
uint32_t distance;
uint8_t motion;
uint8_t cadence_step;
uint16_t cadence_amp;
uint8_t cadence_degree;
uint8_t sleep_active;
//hearte message
uint8_t bpm;
uint8_t bpm_warning_h;
uint8_t bpm_warning_l;
//o2
uint8_t sbp;
uint8_t dbp;
uint8_t spo2;
//blood
uint8_t blood_h;
uint8_t blood_l;
//ui display
ui_info_t ui_info;
//weather message
weather_t day1;
weather_t day2;
weather_t day3;
weather_t day4;
weather_t day5;
weather_t day6;
weather_t day7;
//time tick
uint32_t system_tick_value;
////volume
uint8_t bt_volume_media;
uint8_t bt_volume_hfp;
uint8_t bt_volume_tone;
uint8_t dsp_version;
//-----new add
//uint16_t dsp_version;
uint8_t disturb_state;
uint8_t phone_book_sync_state; //0 error,phone server off, 1 syncing, 2 finished
uint16_t phone_book_id_offset;
uint16_t sleep_total_time;
uint16_t deep_sleep_time;
uint16_t light_sleep_time;
//cm3 tick counter
uint32_t user_tick_counter;
sport_t sport;
uint16_t light_auto_close_time;
uint8_t audio_mic_on;
_clockTime alarm[5];
uint32_t timer_init_value;
uint32_t count_down_counter;
uint16_t m3_version_new;
uint16_t dsp_version_new;
//----new add
uint16_t steptarget;
uint8_t camera_state;
uint8_t low_power_state;
uint8_t count_down_counter_state;
//----new
uint8_t device_alarm_index;
uint8_t watch_hrm_value;
uint8_t remind_index;
uint32_t stopwatch_time;
}ipc_daily_data_t;
typedef struct
{
ipc_data_type_t type;
}ipc_info_t;
#endif

View File

@ -0,0 +1,151 @@
#include "spde_ipc.h"
static uint8_t spde_ui_mode = UI_MODE_NORMAL;
static lv_obj_t * g_parent_root_win=NULL; //屏幕 适用于弹窗
lv_timer_t * ui_refresh_timer = NULL; //ui刷新定时器
lv_timer_t * time_refresh_timer = NULL; //时间刷新定时器
lv_group_t *scr_key_group = NULL; //按键组
//lv_coord_t child_id = 0;
lv_obj_t *scr_parent_main = NULL;
lv_obj_t * clean_root_win(void);
lv_obj_t * get_root_win(void);
void init_root_win(void);
void spde_ipc_set_ui_mode(uint8_t mode)
{
spde_ui_mode = mode;
}
uint8_t spde_ipc_get_ui_mode(void)
{
return spde_ui_mode;
}
void creatRootObj(void)
{
if (scr_parent_main)
{
lv_obj_del(scr_parent_main);
scr_parent_main = NULL;
}
scr_parent_main = lv_obj_create(lv_scr_act());
lv_obj_set_style_pad_all(scr_parent_main, 0, 0);
lv_obj_set_style_border_width(scr_parent_main, 0, 0);
lv_obj_set_size(scr_parent_main, LV_PCT(100), LV_PCT(100));
lv_obj_set_scrollbar_mode(scr_parent_main, LV_SCROLLBAR_MODE_ACTIVE);
lv_obj_clear_flag(scr_parent_main, LV_OBJ_FLAG_SCROLL_ELASTIC);
}
lv_obj_t * clean_root_win(void)
{
printf("clean_root_win \r\n");
if(g_parent_root_win)
{
lv_obj_clean(g_parent_root_win);
}
lv_obj_set_style_pad_all(g_parent_root_win, 0, 0);
lv_obj_set_size(g_parent_root_win, LV_PCT(100), LV_PCT(100));
}
lv_obj_t * get_root_win(void)
{
printf("get_root_win \r\n");
if(g_parent_root_win==NULL)
{
init_root_win();
}
return g_parent_root_win;
}
lv_obj_t * del_root_win(void)
{
printf("del_root_win \r\n");
if(g_parent_root_win)
lv_obj_del(g_parent_root_win);
g_parent_root_win=NULL;
}
void init_root_win(void)//Ö÷ÆÁÄ»³õʼ»¯
{
printf("init_root_win %x \r\n",g_parent_root_win);
if(g_parent_root_win==NULL)
{
g_parent_root_win=lv_obj_create(lv_scr_act());
}
else
{
del_root_win();
g_parent_root_win=lv_obj_create(lv_scr_act());
}
printf("init_root_win %x \r\n",g_parent_root_win);
if(g_parent_root_win)
{
lv_obj_set_style_pad_all(g_parent_root_win, 0, 0);
lv_obj_set_size(g_parent_root_win, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_bg_color(g_parent_root_win, lv_color_make(0x00,0x00,0x00), 0);
lv_obj_set_scrollbar_mode(g_parent_root_win, LV_SCROLLBAR_MODE_OFF);
lv_obj_set_style_radius(g_parent_root_win, 0, 0);
lv_obj_set_style_border_width(g_parent_root_win, 0, LV_PART_MAIN);
lv_obj_set_style_border_color(g_parent_root_win, lv_color_black(), 0);
}
}
lv_timer_t *get_ui_refresh_timer(void)
{
close_ui_refresh_timer();
return ui_refresh_timer;
}
void close_ui_refresh_timer(void)
{
if (ui_refresh_timer != NULL)
{
lv_timer_del(ui_refresh_timer);
ui_refresh_timer = NULL;
}
}
lv_timer_t * get_time_refresh_timer(){
close_refresh_timer();
return time_refresh_timer;
}
void close_refresh_timer(){
if(time_refresh_timer !=NULL){
lv_timer_del(time_refresh_timer);
time_refresh_timer = NULL;
}
}
lv_group_t * get_key_group(){
if(scr_key_group ==NULL){
scr_key_group = lv_group_create();
lv_win32_add_all_input_devices_to_group(scr_key_group);
}
return scr_key_group;
}
void close_all_win(void)
{
printf("close_all_win\r\n");
clean_root_win();
}

View File

@ -0,0 +1,16 @@
#ifndef __SPDE_IPC_H__
#define __SPDE_IPC_H__
#include <lvgl.h>
typedef enum
{
UI_MODE_NORMAL,
UI_MODE_CHARGE,
UI_MODE_OTA,
UI_MODE_POWER_ON,
UI_MODE_POWER_OFF,
UI_MODE_CHARGE_FULL,
}spde_ui_mode_e;
#endif

View File

@ -0,0 +1,49 @@
#ifndef __IMG_DEF_H__
#define __IMG_DEF_H__
#define img_head_address 0x0
#define IMG_BATT_EMPTY (const lv_img_dsc_t *)(img_head_address + 0x0)
#define IMG_BATT_FULL (const lv_img_dsc_t *)(img_head_address + 0x15d8)
#define IMG_BATT_FULL_GREN (const lv_img_dsc_t *)(img_head_address + 0x26fc)
#define IMG_BATT_FULL_YELLOW (const lv_img_dsc_t *)(img_head_address + 0x3cd4)
#define IMG_CENTER_ARROWS (const lv_img_dsc_t *)(img_head_address + 0x52ac)
#define IMG_CIRCULAR_BLACK (const lv_img_dsc_t *)(img_head_address + 0x5c44)
#define IMG_CIRCULAR_WHITE (const lv_img_dsc_t *)(img_head_address + 0xdffc)
#define IMG_CLOCK3_HAND_SEC (const lv_img_dsc_t *)(img_head_address + 0x168b8)
#define IMG_INSTRUMENT_ARC1 (const lv_img_dsc_t *)(img_head_address + 0x17ce0)
#define IMG_INSTRUMENT_BATT_ICO1 (const lv_img_dsc_t *)(img_head_address + 0x20314)
#define IMG_INSTRUMENT_BATT_ICO2 (const lv_img_dsc_t *)(img_head_address + 0x21438)
#define IMG_INSTRUMENT_BATT_ICO3 (const lv_img_dsc_t *)(img_head_address + 0x2255c)
#define IMG_INSTRUMENT_BATT_ICO4 (const lv_img_dsc_t *)(img_head_address + 0x23680)
#define IMG_INSTRUMENT_BATT_ICO5 (const lv_img_dsc_t *)(img_head_address + 0x247a4)
#define IMG_INSTRUMENT_BG1_1 (const lv_img_dsc_t *)(img_head_address + 0x258c8)
#define IMG_INSTRUMENT_BG1_2 (const lv_img_dsc_t *)(img_head_address + 0x32ad4)
#define IMG_INSTRUMENT_BG1_3 (const lv_img_dsc_t *)(img_head_address + 0x3fce0)
#define IMG_INSTRUMENT_BG1_4 (const lv_img_dsc_t *)(img_head_address + 0x4ceec)
#define IMG_INSTRUMENT_BG1_5 (const lv_img_dsc_t *)(img_head_address + 0x5a0f8)
#define IMG_INSTRUMENT_BG2_1 (const lv_img_dsc_t *)(img_head_address + 0x65504)
#define IMG_INSTRUMENT_BG2_2 (const lv_img_dsc_t *)(img_head_address + 0x72710)
#define IMG_INSTRUMENT_BG2_3 (const lv_img_dsc_t *)(img_head_address + 0x7f91c)
#define IMG_INSTRUMENT_BG2_4 (const lv_img_dsc_t *)(img_head_address + 0x8cb28)
#define IMG_INSTRUMENT_BG2_5 (const lv_img_dsc_t *)(img_head_address + 0x99d34)
#define IMG_INSTRUMENT_ICO1 (const lv_img_dsc_t *)(img_head_address + 0xa5140)
#define IMG_INSTRUMENT_ICO10 (const lv_img_dsc_t *)(img_head_address + 0xa5440)
#define IMG_INSTRUMENT_ICO11 (const lv_img_dsc_t *)(img_head_address + 0xa5df8)
#define IMG_INSTRUMENT_ICO12 (const lv_img_dsc_t *)(img_head_address + 0xa6380)
#define IMG_INSTRUMENT_ICO13 (const lv_img_dsc_t *)(img_head_address + 0xa6868)
#define IMG_INSTRUMENT_ICO14 (const lv_img_dsc_t *)(img_head_address + 0xa7220)
#define IMG_INSTRUMENT_ICO2 (const lv_img_dsc_t *)(img_head_address + 0xa7bd8)
#define IMG_INSTRUMENT_ICO3 (const lv_img_dsc_t *)(img_head_address + 0xa7eb4)
#define IMG_INSTRUMENT_ICO4 (const lv_img_dsc_t *)(img_head_address + 0xa84a8)
#define IMG_INSTRUMENT_ICO5 (const lv_img_dsc_t *)(img_head_address + 0xa8828)
#define IMG_INSTRUMENT_ICO6 (const lv_img_dsc_t *)(img_head_address + 0xa8b98)
#define IMG_INSTRUMENT_ICO7 (const lv_img_dsc_t *)(img_head_address + 0xa8fb0)
#define IMG_INSTRUMENT_ICO8 (const lv_img_dsc_t *)(img_head_address + 0xa95b8)
#define IMG_INSTRUMENT_ICO9 (const lv_img_dsc_t *)(img_head_address + 0xa9740)
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,504 @@
/*******************************************************************************
* Size: 50 px
* Bpp: 2
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o HarmonyOS_number_50px.c --bpp 2 --size 50 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef HARMONYOS_NUMBER_50PX
#define HARMONYOS_NUMBER_50PX 1
#endif
#if HARMONYOS_NUMBER_50PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+002D "-" */
0x55, 0x55, 0x55, 0x55, 0x53, 0xff, 0xff, 0xff,
0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff,
0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xf4,
/* U+002E "." */
0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x3f, 0xfc,
0x3f, 0xfc, 0x3f, 0xfc, 0xf, 0xf4, 0x1, 0x40,
/* U+002F "/" */
0x0, 0x0, 0x0, 0xf, 0xfd, 0x0, 0x0, 0x0,
0xf, 0xfc, 0x0, 0x0, 0x0, 0x2f, 0xf8, 0x0,
0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0, 0x7f,
0xf0, 0x0, 0x0, 0x0, 0xbf, 0xd0, 0x0, 0x0,
0x0, 0xff, 0xc0, 0x0, 0x0, 0x1, 0xff, 0x80,
0x0, 0x0, 0x2, 0xff, 0x40, 0x0, 0x0, 0x3,
0xff, 0x0, 0x0, 0x0, 0x7, 0xfe, 0x0, 0x0,
0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0xf, 0xfc,
0x0, 0x0, 0x0, 0x2f, 0xf4, 0x0, 0x0, 0x0,
0x3f, 0xf0, 0x0, 0x0, 0x0, 0x7f, 0xe0, 0x0,
0x0, 0x0, 0xbf, 0xd0, 0x0, 0x0, 0x0, 0xff,
0xc0, 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, 0x0,
0x3, 0xff, 0x0, 0x0, 0x0, 0x3, 0xff, 0x0,
0x0, 0x0, 0xb, 0xfd, 0x0, 0x0, 0x0, 0xf,
0xfc, 0x0, 0x0, 0x0, 0x1f, 0xf8, 0x0, 0x0,
0x0, 0x2f, 0xf4, 0x0, 0x0, 0x0, 0x3f, 0xf0,
0x0, 0x0, 0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0,
0xff, 0xd0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0,
0x0, 0x2, 0xff, 0x80, 0x0, 0x0, 0x3, 0xff,
0x0, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0,
0xb, 0xfd, 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0,
0x0, 0x0, 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x2f,
0xf4, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0,
0x0,
/* U+0030 "0" */
0x0, 0x0, 0x5, 0x54, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0xff, 0xff,
0xff, 0xc0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc,
0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0,
0xbf, 0xff, 0xab, 0xff, 0xf8, 0x0, 0x3f, 0xfe,
0x0, 0x1f, 0xff, 0x0, 0x2f, 0xfe, 0x0, 0x1,
0xff, 0xe0, 0xf, 0xff, 0x0, 0x0, 0x3f, 0xfc,
0x7, 0xff, 0x40, 0x0, 0x7, 0xff, 0x42, 0xff,
0xc0, 0x0, 0x0, 0xff, 0xe0, 0xff, 0xf0, 0x0,
0x0, 0x3f, 0xfc, 0x3f, 0xf8, 0x0, 0x0, 0xb,
0xff, 0x1f, 0xfd, 0x0, 0x0, 0x1, 0xff, 0xd7,
0xff, 0x40, 0x0, 0x0, 0x7f, 0xf6, 0xff, 0xc0,
0x0, 0x0, 0xf, 0xfe, 0xbf, 0xf0, 0x0, 0x0,
0x3, 0xff, 0xaf, 0xfc, 0x0, 0x0, 0x0, 0xff,
0xeb, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfa, 0xff,
0xc0, 0x0, 0x0, 0xf, 0xfe, 0xbf, 0xf0, 0x0,
0x0, 0x3, 0xff, 0xaf, 0xfc, 0x0, 0x0, 0x0,
0xff, 0xeb, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfa,
0xff, 0xc0, 0x0, 0x0, 0xf, 0xfe, 0x7f, 0xf4,
0x0, 0x0, 0x7, 0xff, 0x5f, 0xfd, 0x0, 0x0,
0x1, 0xff, 0xd3, 0xff, 0x80, 0x0, 0x0, 0xbf,
0xf0, 0xff, 0xf0, 0x0, 0x0, 0x3f, 0xfc, 0x2f,
0xfc, 0x0, 0x0, 0xf, 0xff, 0x7, 0xff, 0x40,
0x0, 0x7, 0xff, 0x40, 0xff, 0xf0, 0x0, 0x3,
0xff, 0xc0, 0x2f, 0xfe, 0x0, 0x1, 0xff, 0xe0,
0x3, 0xff, 0xe0, 0x1, 0xff, 0xf4, 0x0, 0xbf,
0xff, 0xab, 0xff, 0xf8, 0x0, 0xf, 0xff, 0xff,
0xff, 0xfc, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc,
0x0, 0x0, 0xf, 0xff, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0,
0x55, 0x40, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x3f, 0xff,
0x0, 0x2, 0xff, 0xff, 0x0, 0x1f, 0xff, 0xff,
0x1, 0xff, 0xff, 0xff, 0xb, 0xff, 0xff, 0xff,
0x3f, 0xff, 0xef, 0xff, 0x7f, 0xff, 0x4b, 0xff,
0x7f, 0xf4, 0xb, 0xff, 0x7f, 0x80, 0xb, 0xff,
0x78, 0x0, 0xb, 0xff, 0x10, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0xb, 0xff,
0x0, 0x0, 0xb, 0xff,
/* U+0032 "2" */
0x0, 0x0, 0x5, 0x54, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf4, 0x0, 0x0, 0x1, 0xff, 0xff,
0xff, 0xd0, 0x0, 0x2, 0xff, 0xff, 0xff, 0xfd,
0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x2,
0xff, 0xfe, 0xab, 0xff, 0xfc, 0x0, 0xff, 0xf8,
0x0, 0x2f, 0xff, 0x40, 0xbf, 0xf4, 0x0, 0x2,
0xff, 0xf0, 0x3f, 0xf8, 0x0, 0x0, 0x3f, 0xfc,
0xf, 0xfc, 0x0, 0x0, 0xb, 0xff, 0x0, 0x7d,
0x0, 0x0, 0x1, 0xff, 0xd0, 0x2, 0x0, 0x0,
0x0, 0x7f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xfd, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x2f, 0xff,
0x40, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0,
0x0, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, 0x0,
0xf, 0xff, 0x80, 0x0, 0x0, 0x0, 0xf, 0xff,
0xc0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0,
0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0,
0xb, 0xff, 0xc0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xff, 0xff, 0xff, 0xff, 0xd7, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfd, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xd0,
/* U+0033 "3" */
0x0, 0x0, 0x5, 0x54, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xff, 0xf4, 0x0, 0x0, 0x2, 0xff, 0xff,
0xff, 0xd0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xfd,
0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3,
0xff, 0xfe, 0x5b, 0xff, 0xfc, 0x1, 0xff, 0xf4,
0x0, 0x2f, 0xff, 0x40, 0xff, 0xf0, 0x0, 0x2,
0xff, 0xe0, 0x3f, 0xf0, 0x0, 0x0, 0x3f, 0xfc,
0x7, 0xf8, 0x0, 0x0, 0xf, 0xff, 0x0, 0x1c,
0x0, 0x0, 0x2, 0xff, 0xc0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xfc, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0x40, 0x0, 0x0, 0x7f, 0xff,
0xff, 0x80, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x40,
0x0, 0x0, 0xb, 0xff, 0xff, 0x80, 0x0, 0x0,
0x2, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0xbf,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x6, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xf8, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfd, 0x2,
0xc0, 0x0, 0x0, 0x7, 0xff, 0x4b, 0xf4, 0x0,
0x0, 0x2, 0xff, 0xcb, 0xff, 0x0, 0x0, 0x0,
0xff, 0xf1, 0xff, 0xf0, 0x0, 0x0, 0xff, 0xf8,
0x3f, 0xff, 0x40, 0x0, 0xff, 0xfc, 0x3, 0xff,
0xfe, 0x5a, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xff,
0xff, 0xff, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff,
0x0, 0x0, 0x3f, 0xff, 0xff, 0xfe, 0x0, 0x0,
0x1, 0xbf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x55, 0x40, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1f, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xf0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0,
0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x2a, 0xa0,
0x0, 0x0, 0xf, 0xfe, 0x0, 0x3f, 0xf0, 0x0,
0x0, 0x2f, 0xfc, 0x0, 0x3f, 0xf0, 0x0, 0x0,
0x3f, 0xf8, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0xbf,
0xf0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0xff, 0xe0,
0x0, 0x3f, 0xf0, 0x0, 0x2, 0xff, 0xc0, 0x0,
0x3f, 0xf0, 0x0, 0x3, 0xff, 0x40, 0x0, 0x3f,
0xf0, 0x0, 0xf, 0xff, 0x0, 0x0, 0x3f, 0xf0,
0x0, 0x1f, 0xfd, 0x0, 0x0, 0x3f, 0xf0, 0x0,
0x3f, 0xfe, 0xaa, 0xaa, 0xbf, 0xfa, 0xa8, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfd, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xf0, 0x0,
/* U+0035 "5" */
0x1, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x2, 0xff,
0xff, 0xff, 0xff, 0xe0, 0x2, 0xff, 0xff, 0xff,
0xff, 0xe0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xe0,
0x3, 0xff, 0xea, 0xaa, 0xaa, 0x90, 0x3, 0xff,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x0,
0x7, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xb, 0xfe,
0x0, 0x0, 0x0, 0x0, 0xb, 0xfd, 0x0, 0x0,
0x0, 0x0, 0xf, 0xfd, 0x0, 0x0, 0x0, 0x0,
0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc,
0x6f, 0xf9, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff,
0xe0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x0,
0x1f, 0xff, 0xff, 0xff, 0xff, 0x0, 0x2f, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x2f, 0xff, 0x40, 0x1f,
0xff, 0xe0, 0x3f, 0xf8, 0x0, 0x2, 0xff, 0xf0,
0xb, 0xe0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x40,
0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xfc,
0x2, 0xc0, 0x0, 0x0, 0x3f, 0xfc, 0x2f, 0xe0,
0x0, 0x0, 0x7f, 0xf8, 0x7f, 0xf4, 0x0, 0x0,
0xff, 0xf0, 0x3f, 0xfd, 0x0, 0x7, 0xff, 0xe0,
0x1f, 0xff, 0xe5, 0xbf, 0xff, 0xc0, 0xf, 0xff,
0xff, 0xff, 0xff, 0x40, 0x3, 0xff, 0xff, 0xff,
0xfd, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xf0, 0x0,
0x0, 0xb, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
0x15, 0x50, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0xff, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x3,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf4,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x90,
0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xd0, 0x0,
0x2, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x3f,
0xff, 0xff, 0xff, 0xff, 0x0, 0xb, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x0, 0xff, 0xfe, 0x0, 0x1f,
0xff, 0xd0, 0x1f, 0xff, 0x40, 0x0, 0x2f, 0xff,
0x2, 0xff, 0xe0, 0x0, 0x0, 0xff, 0xf4, 0x3f,
0xfc, 0x0, 0x0, 0x7, 0xff, 0x83, 0xff, 0x80,
0x0, 0x0, 0x3f, 0xfc, 0x7f, 0xf4, 0x0, 0x0,
0x3, 0xff, 0xc7, 0xff, 0x40, 0x0, 0x0, 0x2f,
0xfc, 0x7f, 0xf4, 0x0, 0x0, 0x3, 0xff, 0xc3,
0xff, 0x40, 0x0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc,
0x0, 0x0, 0x3, 0xff, 0x82, 0xff, 0xc0, 0x0,
0x0, 0xbf, 0xf4, 0x1f, 0xff, 0x0, 0x0, 0x1f,
0xff, 0x0, 0xff, 0xfc, 0x0, 0xb, 0xff, 0xe0,
0x3, 0xff, 0xfe, 0x5b, 0xff, 0xfc, 0x0, 0x1f,
0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x7f, 0xff,
0xff, 0xff, 0xc0, 0x0, 0x1, 0xff, 0xff, 0xff,
0xe0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xe0, 0x0,
0x0, 0x0, 0x0, 0x55, 0x40, 0x0, 0x0,
/* U+0037 "7" */
0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfc, 0x2a, 0xaa, 0xaa, 0xaa, 0xaf, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0x40, 0x0, 0x0,
0x0, 0x2, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x1f, 0xfd, 0x0, 0x0, 0x0, 0x0,
0xb, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
0x80, 0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x2f,
0xfc, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0,
0x0, 0x0, 0x0, 0xb, 0xff, 0x0, 0x0, 0x0,
0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xfc, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff,
0x40, 0x0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xfc, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfd, 0x0,
0x0, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0x80, 0x0, 0x0, 0x0, 0x2,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xf4, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x0, 0x5, 0x54, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xff,
0xff, 0xe0, 0x0, 0x2, 0xff, 0xff, 0xff, 0xfe,
0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0,
0xff, 0xfe, 0x45, 0xff, 0xfc, 0x0, 0xff, 0xf8,
0x0, 0xb, 0xff, 0x80, 0x3f, 0xfc, 0x0, 0x0,
0xff, 0xf0, 0x1f, 0xfd, 0x0, 0x0, 0x1f, 0xfc,
0x7, 0xff, 0x0, 0x0, 0x3, 0xff, 0x41, 0xff,
0xc0, 0x0, 0x0, 0xff, 0xd0, 0x7f, 0xf4, 0x0,
0x0, 0x3f, 0xf0, 0xf, 0xfe, 0x0, 0x0, 0x2f,
0xfc, 0x2, 0xff, 0xd0, 0x0, 0x1f, 0xfe, 0x0,
0x3f, 0xfe, 0x0, 0x2f, 0xff, 0x0, 0x3, 0xff,
0xff, 0xff, 0xff, 0x0, 0x0, 0x3f, 0xff, 0xff,
0xff, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xf4, 0x0, 0xb,
0xff, 0xff, 0xff, 0xff, 0x80, 0xb, 0xff, 0xe4,
0x6, 0xff, 0xf8, 0x3, 0xff, 0xd0, 0x0, 0xf,
0xff, 0x2, 0xff, 0xd0, 0x0, 0x0, 0xff, 0xe0,
0xff, 0xe0, 0x0, 0x0, 0x2f, 0xfc, 0x7f, 0xf4,
0x0, 0x0, 0x3, 0xff, 0x6f, 0xfc, 0x0, 0x0,
0x0, 0xff, 0xeb, 0xff, 0x0, 0x0, 0x0, 0x3f,
0xfa, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xfe, 0xbf,
0xf0, 0x0, 0x0, 0x3, 0xff, 0x9f, 0xfd, 0x0,
0x0, 0x1, 0xff, 0xd3, 0xff, 0xc0, 0x0, 0x0,
0xbf, 0xf4, 0xff, 0xf8, 0x0, 0x0, 0x7f, 0xfc,
0x1f, 0xff, 0x80, 0x0, 0xbf, 0xfd, 0x3, 0xff,
0xfe, 0x56, 0xff, 0xff, 0x0, 0x3f, 0xff, 0xff,
0xff, 0xff, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff,
0x0, 0x0, 0x2f, 0xff, 0xff, 0xfe, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0,
0x55, 0x40, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x0, 0x5, 0x54, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xff, 0xf4, 0x0, 0x0, 0x2, 0xff, 0xff,
0xff, 0xd0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xfe,
0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3,
0xff, 0xfe, 0x9b, 0xff, 0xfd, 0x1, 0xff, 0xf8,
0x0, 0xf, 0xff, 0xc0, 0xff, 0xf4, 0x0, 0x0,
0xff, 0xf4, 0x7f, 0xf8, 0x0, 0x0, 0xf, 0xff,
0x2f, 0xfd, 0x0, 0x0, 0x2, 0xff, 0xcf, 0xff,
0x0, 0x0, 0x0, 0x7f, 0xf7, 0xff, 0xc0, 0x0,
0x0, 0x1f, 0xfd, 0xff, 0xf0, 0x0, 0x0, 0x3,
0xff, 0x7f, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xdf,
0xff, 0x0, 0x0, 0x0, 0xbf, 0xf6, 0xff, 0xd0,
0x0, 0x0, 0x3f, 0xfc, 0x7f, 0xfc, 0x0, 0x0,
0x1f, 0xff, 0xf, 0xff, 0xc0, 0x0, 0x1f, 0xff,
0x81, 0xff, 0xfd, 0x0, 0x2f, 0xff, 0xc0, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff,
0xff, 0xff, 0xf0, 0x0, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x0, 0x1, 0xff, 0xff, 0xff, 0xfc, 0x0,
0x0, 0x6, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x0, 0xf, 0xff, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x80,
0x0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfe,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0, 0x0,
0x3, 0xff, 0xc0, 0x0, 0x0, 0x0,
/* U+003A ":" */
0x1, 0x40, 0xbf, 0xc7, 0xff, 0xaf, 0xff, 0xbf,
0xfc, 0xff, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x83, 0xff,
0x6f, 0xff, 0xbf, 0xfd, 0xff, 0xe2, 0xff, 0x1,
0x50
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 391, .box_w = 19, .box_h = 5, .ofs_x = 3, .ofs_y = 13},
{.bitmap_index = 24, .adv_w = 194, .box_w = 8, .box_h = 8, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 40, .adv_w = 322, .box_w = 20, .box_h = 37, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 225, .adv_w = 464, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 469, .adv_w = 464, .box_w = 16, .box_h = 37, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 617, .adv_w = 464, .box_w = 25, .box_h = 38, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 855, .adv_w = 464, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 1099, .adv_w = 464, .box_w = 28, .box_h = 37, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1358, .adv_w = 464, .box_w = 24, .box_h = 38, .ofs_x = 3, .ofs_y = -1},
{.bitmap_index = 1586, .adv_w = 464, .box_w = 26, .box_h = 38, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 1833, .adv_w = 464, .box_w = 25, .box_h = 37, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2065, .adv_w = 464, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 2309, .adv_w = 464, .box_w = 25, .box_h = 38, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2547, .adv_w = 212, .box_w = 7, .box_h = 28, .ofs_x = 3, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 45, .range_length = 14, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
3, 1,
3, 2,
3, 3
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-35, -114, -74
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 3,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR >= 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 1,
.bpp = 2,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR >= 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t HarmonyOS_number_50px = {
#else
lv_font_t HarmonyOS_number_50px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 39, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -4,
.underline_thickness = 3,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if HARMONYOS_NUMBER_50PX*/

View File

@ -0,0 +1,170 @@
/*******************************************************************************
* Size: 14 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_FZHZGB_CT_BPP4_14PX
#define MXC_FZHZGB_CT_BPP4_14PX 1
#endif
#if MXC_FZHZGB_CT_BPP4_14PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+002F "/" */
0x0, 0x0, 0x0, 0xcf, 0x40, 0x0, 0x0, 0x4f,
0xc0, 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, 0x4,
0xfc, 0x0, 0x0, 0x0, 0xcf, 0x40, 0x0, 0x0,
0x4f, 0xc0, 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0,
0x4, 0xfc, 0x0, 0x0, 0x0, 0xcf, 0x40, 0x0,
0x0, 0x5f, 0xd0, 0x0, 0x0, 0xc, 0xf5, 0x0,
0x0, 0x5, 0xfd, 0x0, 0x0, 0x0,
/* U+0048 "H" */
0x4f, 0xe0, 0x0, 0x7f, 0xb4, 0xfe, 0x0, 0x7,
0xfb, 0x4f, 0xe0, 0x0, 0x7f, 0xb4, 0xfe, 0x0,
0x7, 0xfb, 0x4f, 0xe0, 0x0, 0x7f, 0xb4, 0xff,
0xff, 0xff, 0xfb, 0x4f, 0xff, 0xff, 0xff, 0xb4,
0xfe, 0x11, 0x3d, 0xfb, 0x4f, 0xe0, 0x0, 0x8f,
0xb4, 0xfe, 0x0, 0x7, 0xfb, 0x4f, 0xe0, 0x0,
0x7f, 0xb4, 0xfe, 0x0, 0x7, 0xfb,
/* U+0069 "i" */
0x3f, 0xf0, 0x3f, 0xf0, 0x0, 0x0, 0x3f, 0xf0,
0x3f, 0xf0, 0x3f, 0xf0, 0x3f, 0xf0, 0x3f, 0xf0,
0x3f, 0xf0, 0x3f, 0xf0, 0x3f, 0xf0, 0x3f, 0xf0,
/* U+006D "m" */
0xa, 0xff, 0xf7, 0x8f, 0xff, 0x90, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xf2, 0x4f, 0xe0, 0x7f, 0xf1,
0x5f, 0xf3, 0x4f, 0xe0, 0x2f, 0xf1, 0xf, 0xf3,
0x4f, 0xe0, 0x2f, 0xf1, 0xf, 0xf3, 0x4f, 0xe0,
0x2f, 0xf1, 0xf, 0xf3, 0x4f, 0xe0, 0x2f, 0xf1,
0xf, 0xf3, 0x4f, 0xe0, 0x2f, 0xf1, 0xf, 0xf3,
0x4f, 0xe0, 0x2f, 0xf1, 0xf, 0xf3,
/* U+006E "n" */
0x9, 0xff, 0xff, 0xd2, 0x3f, 0xff, 0xff, 0xf9,
0x4f, 0xe0, 0x2d, 0xfb, 0x4f, 0xe0, 0x7, 0xfb,
0x4f, 0xe0, 0x7, 0xfb, 0x4f, 0xe0, 0x7, 0xfb,
0x4f, 0xe0, 0x7, 0xfb, 0x4f, 0xe0, 0x7, 0xfb,
0x4f, 0xe0, 0x7, 0xfb,
/* U+0072 "r" */
0x8, 0xef, 0x92, 0xff, 0xf9, 0x4f, 0xf2, 0x4,
0xfe, 0x0, 0x4f, 0xe0, 0x4, 0xfe, 0x0, 0x4f,
0xe0, 0x4, 0xfe, 0x0, 0x4f, 0xe0, 0x0,
/* U+007A "z" */
0x3f, 0xff, 0xff, 0xf6, 0x3f, 0xff, 0xff, 0xf6,
0x0, 0x0, 0xaf, 0xe1, 0x0, 0x7, 0xff, 0x30,
0x0, 0x3f, 0xf6, 0x0, 0x1, 0xef, 0x90, 0x0,
0xc, 0xfc, 0x0, 0x0, 0x4f, 0xff, 0xee, 0xe7,
0x4f, 0xff, 0xff, 0xe3
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 144, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 54, .adv_w = 151, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 108, .adv_w = 60, .box_w = 4, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 132, .adv_w = 190, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 186, .adv_w = 135, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 222, .adv_w = 81, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 245, .adv_w = 132, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_0[] = {
0x0, 0x19, 0x3a, 0x3e, 0x3f, 0x43, 0x4b
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 47, .range_length = 76, .glyph_id_start = 1,
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 7, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_FZHZGB_CT_bpp4_14px = {
#else
lv_font_t MXC_FZHZGB_CT_bpp4_14px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 12, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -4,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_FZHZGB_CT_BPP4_14PX*/

View File

@ -0,0 +1,262 @@
/*******************************************************************************
* Size: 18 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_FZHZGB_CT_BPP4_18PX
#define MXC_FZHZGB_CT_BPP4_18PX 1
#endif
#if MXC_FZHZGB_CT_BPP4_18PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0025 "%" */
0xc, 0xff, 0xff, 0xb0, 0x0, 0xb, 0xfe, 0x0,
0x0, 0x6f, 0xfe, 0xff, 0xf4, 0x0, 0x3f, 0xf6,
0x0, 0x0, 0x7f, 0xc0, 0x3f, 0xf6, 0x0, 0xbf,
0xe0, 0x0, 0x0, 0x8f, 0xc0, 0xc, 0xf6, 0x4,
0xff, 0x60, 0x0, 0x0, 0x8f, 0xc0, 0xc, 0xf6,
0xc, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xc0, 0xc,
0xf6, 0x4f, 0xf6, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xff, 0xf4, 0xcf, 0xd0, 0x0, 0x0, 0x0, 0xa,
0xef, 0xfe, 0xa4, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc, 0xfd, 0x1c, 0xff, 0xff,
0xa0, 0x0, 0x0, 0x0, 0x5f, 0xf5, 0x7f, 0xff,
0xff, 0xf4, 0x0, 0x0, 0x0, 0xdf, 0xd0, 0x9f,
0xa0, 0x2f, 0xf6, 0x0, 0x0, 0x5, 0xff, 0x50,
0x9f, 0xa0, 0xe, 0xf6, 0x0, 0x0, 0xd, 0xfd,
0x0, 0x9f, 0xa0, 0xe, 0xf6, 0x0, 0x0, 0x5f,
0xf4, 0x0, 0x8f, 0xfd, 0xdf, 0xf4, 0x0, 0x0,
0xdf, 0xc0, 0x0, 0x2d, 0xff, 0xff, 0xa0,
/* U+0030 "0" */
0x6, 0xdf, 0xff, 0xfd, 0x50, 0x6f, 0xff, 0xff,
0xff, 0xf3, 0xcf, 0xfa, 0x77, 0xcf, 0xf9, 0xef,
0xe0, 0x0, 0x1f, 0xfc, 0xff, 0xe0, 0x0, 0xf,
0xfc, 0xff, 0xe0, 0x0, 0xf, 0xfc, 0xff, 0xe0,
0x0, 0xf, 0xfc, 0xff, 0xe0, 0x0, 0xf, 0xfc,
0xff, 0xe0, 0x0, 0xf, 0xfc, 0xff, 0xe0, 0x0,
0xf, 0xfc, 0xff, 0xe0, 0x0, 0xf, 0xfc, 0xef,
0xe0, 0x0, 0x1f, 0xfb, 0xcf, 0xf8, 0x55, 0xaf,
0xf9, 0x7f, 0xff, 0xff, 0xff, 0xf3, 0x7, 0xdf,
0xff, 0xfd, 0x50,
/* U+0031 "1" */
0x9f, 0xf5, 0x9f, 0xf5, 0x9f, 0xf5, 0x9f, 0xf5,
0x9f, 0xf5, 0x9f, 0xf5, 0x9f, 0xf5, 0x9f, 0xf5,
0x9f, 0xf5, 0x9f, 0xf5, 0x9f, 0xf5, 0x9f, 0xf5,
0x9f, 0xf5, 0x9f, 0xf5, 0x9f, 0xf5,
/* U+0032 "2" */
0xaf, 0xff, 0xff, 0xfd, 0x60, 0xaf, 0xff, 0xff,
0xff, 0xf2, 0x58, 0x88, 0x8b, 0xff, 0xf5, 0x0,
0x0, 0x0, 0xaf, 0xf6, 0x0, 0x0, 0x0, 0x6f,
0xf6, 0x0, 0x0, 0x0, 0x6f, 0xf6, 0x1, 0x56,
0x66, 0xaf, 0xf6, 0x2f, 0xff, 0xff, 0xff, 0xf3,
0x9f, 0xff, 0xff, 0xfe, 0x80, 0xaf, 0xf2, 0x0,
0x0, 0x0, 0xaf, 0xf2, 0x0, 0x0, 0x0, 0xaf,
0xf2, 0x0, 0x0, 0x0, 0xaf, 0xf7, 0x66, 0x66,
0x62, 0xaf, 0xff, 0xff, 0xff, 0xf6, 0xaf, 0xff,
0xff, 0xff, 0xf6,
/* U+0033 "3" */
0xcf, 0xff, 0xff, 0xfd, 0x50, 0xcf, 0xff, 0xff,
0xff, 0xf1, 0x57, 0x77, 0x7c, 0xff, 0xf4, 0x0,
0x0, 0x0, 0xbf, 0xf5, 0x0, 0x0, 0x0, 0x7f,
0xf5, 0x0, 0x0, 0x0, 0x7f, 0xf4, 0x3, 0x88,
0x88, 0xcf, 0xf1, 0x6, 0xff, 0xff, 0xff, 0x30,
0x6, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x3,
0xef, 0xf3, 0x0, 0x0, 0x0, 0x8f, 0xf5, 0x0,
0x0, 0x0, 0x7f, 0xf5, 0x56, 0x66, 0x66, 0xaf,
0xf5, 0xcf, 0xff, 0xff, 0xff, 0xf3, 0xcf, 0xff,
0xff, 0xfe, 0x80,
/* U+0034 "4" */
0x0, 0xf, 0xfd, 0x2f, 0xfa, 0x0, 0x3, 0xff,
0x92, 0xff, 0xa0, 0x0, 0x8f, 0xf4, 0x2f, 0xfa,
0x0, 0xc, 0xff, 0x2, 0xff, 0xa0, 0x1, 0xff,
0xb0, 0x2f, 0xfa, 0x0, 0x5f, 0xf7, 0x2, 0xff,
0xa0, 0x9, 0xff, 0x30, 0x2f, 0xfa, 0x0, 0xef,
0xe0, 0x2, 0xff, 0xa0, 0x2f, 0xfd, 0x88, 0x9f,
0xfd, 0x73, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xa,
0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x2a,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x2f, 0xfa, 0x0,
0x0, 0x0, 0x2, 0xff, 0xa0, 0x0, 0x0, 0x0,
0x2f, 0xfa, 0x0,
/* U+0035 "5" */
0xaf, 0xff, 0xff, 0xff, 0xf5, 0xaf, 0xff, 0xff,
0xff, 0xf5, 0xaf, 0xf9, 0x88, 0x88, 0x83, 0xaf,
0xf2, 0x0, 0x0, 0x0, 0xaf, 0xf2, 0x0, 0x0,
0x0, 0xaf, 0xf2, 0x0, 0x0, 0x0, 0xaf, 0xff,
0xff, 0xfd, 0x50, 0xaf, 0xff, 0xff, 0xff, 0xf1,
0x57, 0x77, 0x8b, 0xff, 0xf4, 0x0, 0x0, 0x0,
0xbf, 0xf5, 0x0, 0x0, 0x0, 0x7f, 0xf5, 0x0,
0x0, 0x0, 0x7f, 0xf5, 0x46, 0x66, 0x66, 0xaf,
0xf4, 0xaf, 0xff, 0xff, 0xff, 0xf1, 0xaf, 0xff,
0xff, 0xfd, 0x50,
/* U+0036 "6" */
0x0, 0x9e, 0xff, 0xff, 0xff, 0x40, 0x8f, 0xff,
0xff, 0xff, 0xf4, 0xe, 0xfe, 0x88, 0x88, 0x88,
0x20, 0xff, 0xc0, 0x0, 0x0, 0x0, 0xf, 0xfc,
0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0,
0x0, 0xf, 0xff, 0xff, 0xff, 0xe9, 0x0, 0xff,
0xff, 0xff, 0xff, 0xf8, 0xf, 0xfe, 0x77, 0x8e,
0xff, 0xc0, 0xff, 0xc0, 0x0, 0x2f, 0xfd, 0xf,
0xfc, 0x0, 0x0, 0xff, 0xd0, 0xff, 0xc0, 0x0,
0xf, 0xfd, 0xf, 0xfd, 0x55, 0x55, 0xff, 0xc0,
0xcf, 0xff, 0xff, 0xff, 0xf8, 0x2, 0xcf, 0xff,
0xff, 0xea, 0x0,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff,
0xff, 0xf8, 0x77, 0x77, 0x77, 0xbf, 0xf8, 0x0,
0x0, 0x0, 0xcf, 0xf3, 0x0, 0x0, 0x1, 0xff,
0xd0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0,
0xc, 0xff, 0x20, 0x0, 0x0, 0x2f, 0xfd, 0x0,
0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x0, 0xcf,
0xf2, 0x0, 0x0, 0x2, 0xff, 0xd0, 0x0, 0x0,
0x7, 0xff, 0x80, 0x0, 0x0, 0xd, 0xff, 0x20,
0x0, 0x0, 0x2f, 0xfd, 0x0, 0x0, 0x0, 0x8f,
0xf7, 0x0, 0x0,
/* U+0038 "8" */
0x2, 0xcf, 0xff, 0xff, 0xe9, 0x0, 0xcf, 0xff,
0xff, 0xff, 0xf7, 0xf, 0xfe, 0x88, 0x9e, 0xff,
0xc1, 0xff, 0xb0, 0x0, 0x3f, 0xfd, 0x1f, 0xfb,
0x0, 0x0, 0xff, 0xd0, 0xff, 0xb0, 0x0, 0xf,
0xfc, 0xc, 0xfe, 0xaa, 0xaa, 0xff, 0x80, 0x2e,
0xff, 0xff, 0xff, 0xc0, 0x8, 0xff, 0xff, 0xff,
0xff, 0x40, 0xff, 0xb0, 0x1, 0x8f, 0xfb, 0x1f,
0xfb, 0x0, 0x0, 0xff, 0xd1, 0xff, 0xb0, 0x0,
0xf, 0xfd, 0xf, 0xfd, 0x66, 0x66, 0xff, 0xc0,
0xef, 0xff, 0xff, 0xff, 0xfa, 0x3, 0xcf, 0xff,
0xff, 0xea, 0x10,
/* U+0039 "9" */
0x1, 0xbf, 0xff, 0xff, 0xe9, 0x0, 0xbf, 0xff,
0xff, 0xff, 0xf8, 0xf, 0xfd, 0x77, 0x9f, 0xff,
0xd1, 0xff, 0xb0, 0x0, 0x3f, 0xfe, 0x1f, 0xfb,
0x0, 0x0, 0xef, 0xe1, 0xff, 0xb0, 0x0, 0xe,
0xfe, 0x1f, 0xfb, 0x0, 0x0, 0xef, 0xe0, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xb, 0xff, 0xff, 0xff,
0xff, 0xe0, 0x6, 0x89, 0x99, 0x9f, 0xfe, 0x0,
0x0, 0x0, 0x0, 0xef, 0xe0, 0x0, 0x0, 0x0,
0xe, 0xfe, 0x1, 0x66, 0x66, 0x66, 0xff, 0xd0,
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff,
0xff, 0xe9, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 286, .box_w = 18, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 135, .adv_w = 189, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 210, .adv_w = 188, .box_w = 4, .box_h = 15, .ofs_x = 4, .ofs_y = -1},
{.bitmap_index = 240, .adv_w = 188, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 315, .adv_w = 188, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 390, .adv_w = 189, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 473, .adv_w = 188, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 548, .adv_w = 189, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 631, .adv_w = 189, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 706, .adv_w = 188, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 789, .adv_w = 189, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 48, .range_length = 10, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_FZHZGB_CT_bpp4_18px = {
#else
lv_font_t MXC_FZHZGB_CT_bpp4_18px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 15, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -5,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_FZHZGB_CT_BPP4_18PX*/

View File

@ -0,0 +1,282 @@
/*******************************************************************************
* Size: 19 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_FZHZGB_CT_BPP4_19PX
#define MXC_FZHZGB_CT_BPP4_19PX 1
#endif
#if MXC_FZHZGB_CT_BPP4_19PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x4, 0xcf, 0xff, 0xfe, 0x91, 0x3, 0xff, 0xff,
0xff, 0xff, 0xb0, 0xaf, 0xfe, 0xbb, 0xdf, 0xff,
0x2d, 0xff, 0x30, 0x0, 0xcf, 0xf5, 0xef, 0xf1,
0x0, 0x9, 0xff, 0x5e, 0xff, 0x10, 0x0, 0x9f,
0xf5, 0xef, 0xf1, 0x0, 0x9, 0xff, 0x5e, 0xff,
0x10, 0x0, 0x9f, 0xf5, 0xef, 0xf1, 0x0, 0x9,
0xff, 0x5e, 0xff, 0x10, 0x0, 0x9f, 0xf5, 0xef,
0xf1, 0x0, 0x9, 0xff, 0x5e, 0xff, 0x10, 0x0,
0x9f, 0xf5, 0xef, 0xf2, 0x0, 0xb, 0xff, 0x5b,
0xff, 0xd9, 0x9b, 0xff, 0xf2, 0x5f, 0xff, 0xff,
0xff, 0xfb, 0x0, 0x6d, 0xff, 0xff, 0xe9, 0x10,
/* U+0031 "1" */
0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb,
0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb,
0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb,
0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb, 0x5f, 0xfb,
/* U+0032 "2" */
0x9f, 0xff, 0xff, 0xfe, 0xa1, 0x9f, 0xff, 0xff,
0xff, 0xfa, 0x7c, 0xcc, 0xcd, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x6f, 0xff, 0x0, 0x0, 0x0, 0xf,
0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0,
0x0, 0xf, 0xff, 0x8, 0xef, 0xff, 0xff, 0xfe,
0x5f, 0xff, 0xff, 0xff, 0xf9, 0x9f, 0xfc, 0xaa,
0xaa, 0x60, 0x9f, 0xf6, 0x0, 0x0, 0x0, 0x9f,
0xf6, 0x0, 0x0, 0x0, 0x9f, 0xf6, 0x0, 0x0,
0x0, 0x9f, 0xfc, 0xaa, 0xaa, 0xaa, 0x9f, 0xff,
0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff,
/* U+0033 "3" */
0xbf, 0xff, 0xff, 0xfe, 0xb1, 0xbf, 0xff, 0xff,
0xff, 0xfa, 0x8b, 0xbb, 0xbd, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xfe, 0x0, 0x0, 0x0, 0x1f, 0xfd, 0x3, 0xdd,
0xdd, 0xdf, 0xf7, 0x4, 0xff, 0xff, 0xff, 0x90,
0x4, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x2,
0xbf, 0xfb, 0x0, 0x0, 0x0, 0x2f, 0xfe, 0x0,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xfe, 0x7a, 0xaa, 0xaa, 0xaf, 0xfe, 0xbf, 0xff,
0xff, 0xff, 0xfb, 0xbf, 0xff, 0xff, 0xff, 0xc2,
/* U+0034 "4" */
0x0, 0xc, 0xff, 0x2c, 0xff, 0x20, 0x0, 0x1f,
0xfe, 0xc, 0xff, 0x20, 0x0, 0x5f, 0xfa, 0xc,
0xff, 0x20, 0x0, 0x9f, 0xf5, 0xc, 0xff, 0x20,
0x0, 0xef, 0xf1, 0xc, 0xff, 0x20, 0x2, 0xff,
0xd0, 0xc, 0xff, 0x20, 0x6, 0xff, 0x80, 0xc,
0xff, 0x20, 0xb, 0xff, 0x40, 0xc, 0xff, 0x20,
0xf, 0xff, 0x0, 0xc, 0xff, 0x20, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xf7, 0x2f, 0xff, 0xff, 0xff,
0xff, 0xf7, 0x5, 0xbc, 0xcd, 0xff, 0xff, 0xd5,
0x0, 0x0, 0x0, 0x3f, 0xff, 0x20, 0x0, 0x0,
0x0, 0xc, 0xff, 0x20, 0x0, 0x0, 0x0, 0xc,
0xff, 0x20, 0x0, 0x0, 0x0, 0xc, 0xff, 0x20,
/* U+0035 "5" */
0x9f, 0xff, 0xff, 0xff, 0xfe, 0x9f, 0xff, 0xff,
0xff, 0xfe, 0x9f, 0xfd, 0xcc, 0xcc, 0xcb, 0x9f,
0xf6, 0x0, 0x0, 0x0, 0x9f, 0xf6, 0x0, 0x0,
0x0, 0x9f, 0xf6, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xfe, 0x90, 0x9f, 0xff, 0xff, 0xff, 0xf8,
0x6b, 0xbb, 0xbe, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x8f, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xfe, 0x0,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xfe, 0x6a, 0xaa, 0xaa, 0xaf, 0xfd, 0x9f, 0xff,
0xff, 0xff, 0xf9, 0x9f, 0xff, 0xff, 0xfe, 0x90,
/* U+0036 "6" */
0x7, 0xdf, 0xff, 0xff, 0xfd, 0x6, 0xff, 0xff,
0xff, 0xff, 0xd0, 0xcf, 0xfc, 0xcc, 0xcc, 0xca,
0xe, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0,
0x0, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0, 0x0,
0x0, 0xff, 0xfb, 0xbb, 0xbb, 0x81, 0xf, 0xff,
0xff, 0xff, 0xff, 0xd0, 0xff, 0xff, 0xff, 0xff,
0xff, 0x4f, 0xff, 0x0, 0x4, 0xff, 0xf6, 0xff,
0xf0, 0x0, 0x9, 0xff, 0x7f, 0xff, 0x0, 0x0,
0x8f, 0xf7, 0xff, 0xf0, 0x0, 0x8, 0xff, 0x7e,
0xff, 0x99, 0x99, 0xcf, 0xf6, 0xaf, 0xff, 0xff,
0xff, 0xff, 0x21, 0xbf, 0xff, 0xff, 0xfd, 0x40,
/* U+0037 "7" */
0xef, 0xff, 0xff, 0xff, 0xe7, 0xe, 0xff, 0xff,
0xff, 0xff, 0xf1, 0xab, 0xbb, 0xbb, 0xbf, 0xff,
0x10, 0x0, 0x0, 0x4, 0xff, 0xd0, 0x0, 0x0,
0x0, 0x9f, 0xf7, 0x0, 0x0, 0x0, 0xe, 0xff,
0x20, 0x0, 0x0, 0x4, 0xff, 0xd0, 0x0, 0x0,
0x0, 0x9f, 0xf7, 0x0, 0x0, 0x0, 0xe, 0xff,
0x20, 0x0, 0x0, 0x4, 0xff, 0xd0, 0x0, 0x0,
0x0, 0xaf, 0xf8, 0x0, 0x0, 0x0, 0xf, 0xff,
0x20, 0x0, 0x0, 0x5, 0xff, 0xd0, 0x0, 0x0,
0x0, 0xaf, 0xf8, 0x0, 0x0, 0x0, 0xf, 0xff,
0x20, 0x0, 0x0, 0x5, 0xff, 0xd0, 0x0, 0x0,
/* U+0038 "8" */
0x1, 0xbf, 0xff, 0xff, 0xfc, 0x40, 0xb, 0xff,
0xff, 0xff, 0xff, 0xf1, 0xf, 0xff, 0xcc, 0xcf,
0xff, 0xf5, 0xf, 0xff, 0x0, 0x0, 0xcf, 0xf7,
0xf, 0xff, 0x0, 0x0, 0x8f, 0xf7, 0xf, 0xff,
0x0, 0x0, 0x8f, 0xf6, 0xa, 0xff, 0xee, 0xee,
0xff, 0xf1, 0x0, 0xdf, 0xff, 0xff, 0xff, 0x40,
0x7, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xe, 0xff,
0x0, 0x4, 0xff, 0xf5, 0xf, 0xff, 0x0, 0x0,
0x9f, 0xf6, 0xf, 0xff, 0x0, 0x0, 0x8f, 0xf7,
0xf, 0xff, 0x0, 0x0, 0x8f, 0xf7, 0xf, 0xff,
0xaa, 0xaa, 0xdf, 0xf6, 0xb, 0xff, 0xff, 0xff,
0xff, 0xf2, 0x2, 0xbe, 0xff, 0xff, 0xfd, 0x50,
/* U+0039 "9" */
0x0, 0x9e, 0xff, 0xff, 0xfc, 0x40, 0x9, 0xff,
0xff, 0xff, 0xff, 0xf2, 0xe, 0xff, 0xbb, 0xcf,
0xff, 0xf6, 0xf, 0xff, 0x0, 0x1, 0xef, 0xf7,
0xf, 0xff, 0x0, 0x0, 0x8f, 0xf8, 0xf, 0xff,
0x0, 0x0, 0x7f, 0xf8, 0xf, 0xff, 0x0, 0x0,
0x7f, 0xf8, 0xf, 0xff, 0xdd, 0xdd, 0xef, 0xf8,
0xd, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xcf,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xf7, 0x1, 0xaa,
0xaa, 0xaa, 0xdf, 0xf6, 0x2, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x2, 0xff, 0xff, 0xff, 0xfc, 0x30,
/* U+0041 "A" */
0x0, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x0, 0x0,
0xe, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x2, 0xff,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x7f, 0xfb, 0xff,
0x70, 0x0, 0x0, 0xb, 0xff, 0x2f, 0xfb, 0x0,
0x0, 0x0, 0xff, 0xd0, 0xcf, 0xf0, 0x0, 0x0,
0x5f, 0xf9, 0x8, 0xff, 0x40, 0x0, 0x9, 0xff,
0x40, 0x3f, 0xf9, 0x0, 0x0, 0xef, 0xf0, 0x0,
0xff, 0xd0, 0x0, 0x2f, 0xff, 0xcc, 0xcf, 0xff,
0x20, 0x7, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xf, 0xff,
0x0, 0x2, 0xaf, 0xff, 0x4, 0xff, 0xc0, 0x0,
0x0, 0xdf, 0xf4, 0x9f, 0xf8, 0x0, 0x0, 0x8,
0xff, 0x8d, 0xff, 0x40, 0x0, 0x0, 0x3f, 0xfd,
/* U+0056 "V" */
0xcf, 0xf7, 0x0, 0x0, 0x6, 0xff, 0xe0, 0x8f,
0xfb, 0x0, 0x0, 0xa, 0xff, 0xa0, 0x3f, 0xff,
0x0, 0x0, 0xe, 0xff, 0x50, 0xe, 0xff, 0x40,
0x0, 0x3f, 0xff, 0x10, 0xa, 0xff, 0x80, 0x0,
0x7f, 0xfc, 0x0, 0x5, 0xff, 0xc0, 0x0, 0xbf,
0xf7, 0x0, 0x1, 0xff, 0xf0, 0x0, 0xff, 0xf3,
0x0, 0x0, 0xcf, 0xf4, 0x3, 0xff, 0xe0, 0x0,
0x0, 0x8f, 0xf8, 0x8, 0xff, 0x90, 0x0, 0x0,
0x3f, 0xfd, 0xc, 0xff, 0x50, 0x0, 0x0, 0xe,
0xff, 0x2f, 0xff, 0x10, 0x0, 0x0, 0xa, 0xff,
0xaf, 0xfc, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0xf7, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xe0, 0x0,
0x0, 0x0, 0x0, 0x8f, 0xff, 0x90, 0x0, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 200, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 88, .adv_w = 198, .box_w = 4, .box_h = 16, .ofs_x = 4, .ofs_y = -1},
{.bitmap_index = 120, .adv_w = 198, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 200, .adv_w = 198, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 280, .adv_w = 200, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 376, .adv_w = 198, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 456, .adv_w = 200, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 544, .adv_w = 200, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 632, .adv_w = 198, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 728, .adv_w = 200, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 824, .adv_w = 209, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 928, .adv_w = 209, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_1[] = {
0x0, 0x15
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 10, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 65, .range_length = 22, .glyph_id_start = 11,
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 2, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_FZHZGB_CT_bpp4_19px = {
#else
lv_font_t MXC_FZHZGB_CT_bpp4_19px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 16, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -5,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_FZHZGB_CT_BPP4_19PX*/

View File

@ -0,0 +1,297 @@
/*******************************************************************************
* Size: 24 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_FZHZGB_CT_BPP4_24PX
#define MXC_FZHZGB_CT_BPP4_24PX 1
#endif
#if MXC_FZHZGB_CT_BPP4_24PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x7c, 0xff, 0xff, 0xff, 0xc5, 0x0, 0xa,
0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xb4,
0x33, 0x5e, 0xff, 0xf4, 0x9f, 0xff, 0x30, 0x0,
0x7, 0xff, 0xf5, 0x9f, 0xff, 0x20, 0x0, 0x6,
0xff, 0xf5, 0x9f, 0xff, 0x20, 0x0, 0x6, 0xff,
0xf5, 0x9f, 0xff, 0x20, 0x0, 0x6, 0xff, 0xf5,
0x9f, 0xff, 0x20, 0x0, 0x6, 0xff, 0xf5, 0x9f,
0xff, 0x20, 0x0, 0x6, 0xff, 0xf5, 0x9f, 0xff,
0x20, 0x0, 0x6, 0xff, 0xf5, 0x9f, 0xff, 0x20,
0x0, 0x6, 0xff, 0xf5, 0x9f, 0xff, 0x20, 0x0,
0x6, 0xff, 0xf5, 0x9f, 0xff, 0x20, 0x0, 0x6,
0xff, 0xf5, 0x9f, 0xff, 0x20, 0x0, 0x7, 0xff,
0xf5, 0x8f, 0xff, 0x91, 0x0, 0x2d, 0xff, 0xf3,
0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc,
0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0, 0x8d,
0xff, 0xff, 0xff, 0xc5, 0x0,
/* U+0031 "1" */
0x1f, 0xff, 0xc1, 0xff, 0xfc, 0x1f, 0xff, 0xc1,
0xff, 0xfc, 0x1f, 0xff, 0xc1, 0xff, 0xfc, 0x1f,
0xff, 0xc1, 0xff, 0xfc, 0x1f, 0xff, 0xc1, 0xff,
0xfc, 0x1f, 0xff, 0xc1, 0xff, 0xfc, 0x1f, 0xff,
0xc1, 0xff, 0xfc, 0x1f, 0xff, 0xc1, 0xff, 0xfc,
0x1f, 0xff, 0xc1, 0xff, 0xfc, 0x1f, 0xff, 0xc0,
/* U+0032 "2" */
0x3f, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x3, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf5, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xb1, 0x55, 0x55, 0x55, 0x7d,
0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfe, 0x0,
0x0, 0x0, 0x0, 0xe, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x0, 0xef, 0xfe, 0x1, 0xae, 0xff, 0xff,
0xff, 0xff, 0xc0, 0xcf, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x3,
0xff, 0xf9, 0x22, 0x22, 0x10, 0x0, 0x3f, 0xff,
0x80, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x0,
0x0, 0x3, 0xff, 0xf9, 0x22, 0x22, 0x22, 0x21,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xe0,
/* U+0033 "3" */
0x6f, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x6, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf4, 0x6f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xa1, 0x33, 0x33, 0x34, 0x7f,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xf9, 0x0, 0x8f, 0xff, 0xff,
0xff, 0xff, 0x20, 0x8, 0xff, 0xff, 0xff, 0xfe,
0x30, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xfb, 0x0,
0x2, 0x55, 0x55, 0x8f, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x4f, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xc0, 0x22, 0x22, 0x22, 0x22, 0xff, 0xfc,
0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf7, 0x6f, 0xff, 0xff,
0xff, 0xff, 0xe8, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0xef, 0xfd, 0xe, 0xff, 0xd0, 0x0,
0x0, 0x3f, 0xff, 0x80, 0xef, 0xfd, 0x0, 0x0,
0x8, 0xff, 0xf3, 0xe, 0xff, 0xd0, 0x0, 0x0,
0xcf, 0xff, 0x0, 0xef, 0xfd, 0x0, 0x0, 0x1f,
0xff, 0xa0, 0xe, 0xff, 0xd0, 0x0, 0x6, 0xff,
0xf6, 0x0, 0xef, 0xfd, 0x0, 0x0, 0xaf, 0xff,
0x10, 0xe, 0xff, 0xd0, 0x0, 0xe, 0xff, 0xc0,
0x0, 0xef, 0xfd, 0x0, 0x3, 0xff, 0xf8, 0x0,
0xe, 0xff, 0xd0, 0x0, 0x8f, 0xff, 0x30, 0x0,
0xef, 0xfd, 0x0, 0xd, 0xff, 0xf5, 0x55, 0x5e,
0xff, 0xe5, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf7, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x70, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf7, 0x0, 0x0, 0x0, 0x2, 0xaf, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x0, 0xe, 0xff, 0xd0, 0x0,
/* U+0035 "5" */
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc3, 0xff, 0xfa, 0x55, 0x55,
0x55, 0x54, 0x3f, 0xff, 0x80, 0x0, 0x0, 0x0,
0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xff, 0x80, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
0xff, 0xff, 0xeb, 0x40, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf9, 0x3, 0x33, 0x33, 0x48, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xc0, 0x22, 0x22, 0x22, 0x22, 0xff, 0xfc,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x93, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf3, 0x3f, 0xff, 0xff,
0xff, 0xfe, 0xb3, 0x0,
/* U+0036 "6" */
0x1, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xd,
0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x6f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xb0, 0x9f, 0xff, 0x55,
0x55, 0x55, 0x55, 0x30, 0xaf, 0xff, 0x10, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0x10, 0x0, 0x0,
0x0, 0x0, 0xbf, 0xff, 0x10, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x10,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xbf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xbf, 0xff,
0x43, 0x34, 0xaf, 0xff, 0xf6, 0xbf, 0xff, 0x10,
0x0, 0x9, 0xff, 0xf7, 0xbf, 0xff, 0x10, 0x0,
0x5, 0xff, 0xf7, 0xbf, 0xff, 0x10, 0x0, 0x5,
0xff, 0xf7, 0xbf, 0xff, 0x10, 0x0, 0x5, 0xff,
0xf7, 0xaf, 0xff, 0x10, 0x0, 0x5, 0xff, 0xf6,
0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x4, 0xcf,
0xff, 0xff, 0xff, 0xe9, 0x10,
/* U+0037 "7" */
0x9f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x30, 0x9f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x9f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf1, 0x23, 0x33, 0x33,
0x33, 0x4f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xff, 0x30, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0xc, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xc0, 0x0, 0x0, 0x0,
0x0, 0x8f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0x10, 0x0, 0x0, 0x0, 0x3, 0xff,
0xfb, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x5f, 0xff, 0xa0, 0x0, 0x0,
0x0, 0x0, 0xbf, 0xff, 0x50, 0x0, 0x0, 0x0,
0x1, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x6,
0xff, 0xf9, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x4, 0xcf, 0xff, 0xff, 0xff, 0xe9, 0x10, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x9f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf3, 0xcf, 0xff, 0x55,
0x55, 0x9f, 0xff, 0xf6, 0xcf, 0xff, 0x0, 0x0,
0x8, 0xff, 0xf7, 0xcf, 0xff, 0x0, 0x0, 0x5,
0xff, 0xf7, 0xcf, 0xff, 0x0, 0x0, 0x5, 0xff,
0xf6, 0x9f, 0xff, 0x66, 0x66, 0x69, 0xff, 0xf3,
0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x4,
0xff, 0xff, 0xff, 0xff, 0xfd, 0x10, 0x2f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xd0, 0x9f, 0xff, 0x0,
0x0, 0x5e, 0xff, 0xf4, 0xcf, 0xff, 0x0, 0x0,
0x6, 0xff, 0xf6, 0xcf, 0xff, 0x0, 0x0, 0x5,
0xff, 0xf7, 0xcf, 0xff, 0x0, 0x0, 0x5, 0xff,
0xf7, 0xcf, 0xff, 0x22, 0x22, 0x26, 0xff, 0xf6,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x5f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x6, 0xcf,
0xff, 0xff, 0xff, 0xeb, 0x20,
/* U+0039 "9" */
0x2, 0xbe, 0xff, 0xff, 0xff, 0xd8, 0x10, 0x1f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x8f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf4, 0xbf, 0xff, 0x33,
0x35, 0xaf, 0xff, 0xf7, 0xcf, 0xff, 0x0, 0x0,
0x9, 0xff, 0xf8, 0xcf, 0xff, 0x0, 0x0, 0x4,
0xff, 0xf8, 0xcf, 0xff, 0x0, 0x0, 0x3, 0xff,
0xf8, 0xcf, 0xff, 0x0, 0x0, 0x3, 0xff, 0xf8,
0xcf, 0xff, 0x55, 0x55, 0x57, 0xff, 0xf8, 0xbf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x6f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf8, 0x7, 0xdf, 0xff,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
0xf8, 0x1, 0x22, 0x22, 0x22, 0x25, 0xff, 0xf8,
0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xa,
0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xa, 0xff,
0xff, 0xff, 0xff, 0xd9, 0x10
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 133, .adv_w = 251, .box_w = 5, .box_h = 19, .ofs_x = 5, .ofs_y = -1},
{.bitmap_index = 181, .adv_w = 251, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 305, .adv_w = 251, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 429, .adv_w = 252, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 572, .adv_w = 251, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 696, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 829, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 962, .adv_w = 251, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 1095, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 10, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_FZHZGB_CT_bpp4_24px = {
#else
lv_font_t MXC_FZHZGB_CT_bpp4_24px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 19, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -6,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_FZHZGB_CT_BPP4_24PX*/

View File

@ -0,0 +1,255 @@
/*******************************************************************************
* Size: 36 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_FZHZGB_CT_BPP4_36PX
#define MXC_FZHZGB_CT_BPP4_36PX 1
#endif
#if MXC_FZHZGB_CT_BPP4_36PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0041 "A" */
0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xff,
0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
0xff, 0xaf, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x9, 0xff, 0xff, 0xe2, 0xff, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xfa, 0xe, 0xff, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x60, 0xaf,
0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
0xff, 0xff, 0xf1, 0x5, 0xff, 0xff, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfd, 0x0,
0x1f, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0xff, 0x90, 0x0, 0xdf, 0xff, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xf5,
0x0, 0x9, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x9f, 0xff, 0xff, 0x0, 0x0, 0x4f, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff,
0xc0, 0x0, 0x0, 0xff, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xf8, 0x0, 0x0, 0xc,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xff, 0x51, 0x11, 0x11, 0x9f, 0xff, 0xff, 0x0,
0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x9,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf2, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0,
0x2f, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x14, 0xbf,
0xff, 0xff, 0xfb, 0x0, 0x6, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xf0,
0x0, 0xbf, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xff, 0x50, 0xf, 0xff, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff,
0xf9, 0x4, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0xff, 0xe0, 0x9f, 0xff,
0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xff, 0x2d, 0xff, 0xff, 0xf0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xf7,
/* U+0050 "P" */
0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xd9, 0x20, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x40, 0x2f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x12,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf6, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xa2, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x14, 0xcf, 0xff, 0xff, 0xfc, 0x2f,
0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xff, 0xc2, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xfc, 0x2f, 0xff, 0xff, 0x70,
0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xc2, 0xff,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xfc, 0x2f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xc2, 0xff, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xfc, 0x2f, 0xff,
0xff, 0x70, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff,
0xc2, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xfc, 0x2f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x22, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x70, 0x2f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x40, 0x2,
0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f,
0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x70,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0,
/* U+0056 "V" */
0xbf, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xff, 0x96, 0xff, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff,
0xf5, 0x2f, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x3, 0xff, 0xff, 0xff, 0x0, 0xdf, 0xff,
0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
0xff, 0xb0, 0x9, 0xff, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0xc, 0xff, 0xff, 0xf7, 0x0, 0x4f,
0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xff, 0xff, 0x20, 0x0, 0xff, 0xff, 0xff, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xd0, 0x0,
0xb, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x8,
0xff, 0xff, 0xf9, 0x0, 0x0, 0x6f, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0x40,
0x0, 0x2, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x1f, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xd, 0xff,
0xff, 0xf1, 0x0, 0x0, 0x5, 0xff, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0x50, 0x0,
0x0, 0x9f, 0xff, 0xff, 0x60, 0x0, 0x0, 0x4,
0xff, 0xff, 0xfa, 0x0, 0x0, 0xe, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xe0,
0x0, 0x2, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xff, 0x20, 0x0, 0x6f, 0xff,
0xff, 0x80, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0xf6, 0x0, 0xa, 0xff, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0xa0, 0x0, 0xef,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xfe, 0x0, 0x3f, 0xff, 0xff, 0xa0, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xf3, 0x7,
0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xff, 0x70, 0xbf, 0xff, 0xff, 0x10,
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfb,
0xf, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xb, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xff, 0xcf, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd,
0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff,
0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0x70, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 396, .box_w = 25, .box_h = 30, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 375, .adv_w = 365, .box_w = 21, .box_h = 30, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 690, .adv_w = 396, .box_w = 25, .box_h = 30, .ofs_x = 0, .ofs_y = -2}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_0[] = {
0x0, 0xf, 0x15
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 65, .range_length = 22, .glyph_id_start = 1,
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 3, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_FZHZGB_CT_bpp4_36px = {
#else
lv_font_t MXC_FZHZGB_CT_bpp4_36px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 30, /*The maximum line height required by the font*/
.base_line = 2, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -10,
.underline_thickness = 2,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_FZHZGB_CT_BPP4_36PX*/

View File

@ -0,0 +1,750 @@
/*******************************************************************************
* Size: 48 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_FZHZGB_CT_BPP4_48PX
#define MXC_FZHZGB_CT_BPP4_48PX 1
#endif
#if MXC_FZHZGB_CT_BPP4_48PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x0, 0x1, 0x7b, 0xef, 0xff, 0xff, 0xff,
0xff, 0xed, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0x50, 0x0, 0x0, 0xc, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60,
0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x2, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x0, 0x9f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf1, 0xd, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xbb,
0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x60, 0xff,
0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x1c,
0xff, 0xff, 0xff, 0xf8, 0x2f, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xff,
0xff, 0xa3, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0,
0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xfb, 0x3f,
0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb3, 0xff, 0xff, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xff, 0xfb, 0x3f, 0xff, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb3,
0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
0x0, 0xdf, 0xff, 0xff, 0xfb, 0x3f, 0xff, 0xff,
0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0xff, 0xb3, 0xff, 0xff, 0xff, 0xf5, 0x0,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xfb,
0x3f, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0xff, 0xb3, 0xff, 0xff,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xff, 0xff, 0xfb, 0x3f, 0xff, 0xff, 0xff, 0x50,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xb3, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0,
0x0, 0x0, 0xdf, 0xff, 0xff, 0xfb, 0x3f, 0xff,
0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0xd,
0xff, 0xff, 0xff, 0xb3, 0xff, 0xff, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff,
0xfb, 0x3f, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0,
0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb3, 0xff,
0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xff, 0xfb, 0x3f, 0xff, 0xff, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff,
0xff, 0xb3, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xfb, 0x3f,
0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb3, 0xff, 0xff, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xff, 0xfb, 0x3f, 0xff, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb3,
0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
0x0, 0xdf, 0xff, 0xff, 0xfa, 0x2f, 0xff, 0xff,
0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0xff, 0xa1, 0xff, 0xff, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xf8,
0xf, 0xff, 0xff, 0xff, 0xfd, 0x75, 0x55, 0x55,
0x6b, 0xff, 0xff, 0xff, 0xff, 0x60, 0xbf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf2, 0x6, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x2e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x70, 0x0, 0x0, 0x2c, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50,
0x0, 0x0, 0x0, 0x3, 0x9c, 0xef, 0xff, 0xff,
0xff, 0xff, 0xed, 0xa6, 0x0, 0x0, 0x0,
/* U+0031 "1" */
0x3f, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff,
0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0x83, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff,
0xff, 0x83, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xf8,
0x3f, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff,
0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0x83, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff,
0xff, 0x83, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xf8,
0x3f, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff,
0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0x83, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0x80,
/* U+0032 "2" */
0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xec, 0x82, 0x0, 0x7, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf8, 0x7, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x67, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfa, 0x6e, 0xee, 0xee, 0xee, 0xee,
0xee, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xaf,
0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xcf, 0xff, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff,
0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xfc,
0x0, 0x1, 0x8c, 0xef, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xb0, 0x5, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfa, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0xcf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x5, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xe5, 0x0, 0x6f, 0xff, 0xff, 0xff, 0x88,
0x88, 0x88, 0x88, 0x88, 0x76, 0x30, 0x0, 0x7,
0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff,
0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff,
0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff,
0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xff, 0xff, 0x88, 0x88, 0x88, 0x88,
0x88, 0x88, 0x88, 0x88, 0x67, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
/* U+0033 "3" */
0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xec, 0x81, 0x0, 0xd, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6,
0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf5, 0xd, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xe0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf7, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb,
0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xef,
0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff,
0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf2,
0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x1f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x10, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd, 0x20, 0x0, 0x0, 0x1f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa,
0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0,
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x0, 0x0, 0x0, 0xee, 0xee, 0xee,
0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xff,
0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff,
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf9,
0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
0x8f, 0xff, 0xff, 0xff, 0x9d, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf2, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xd, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xb5, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xc0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0xf, 0xff, 0xff, 0xff, 0x70, 0xd, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xff, 0xff, 0x30, 0xd, 0xff, 0xff, 0xff,
0xb0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff,
0xfe, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xf9, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0xff, 0xf5, 0x0, 0xd, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x7, 0xff,
0xff, 0xff, 0xf0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xb0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff,
0xb0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0x70, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x5f, 0xff, 0xff, 0xff, 0x20, 0x0, 0xd, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xfd, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xb0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xf9,
0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xd, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0xc, 0xff, 0xff,
0xff, 0xa0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xb0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0x60,
0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x5f, 0xff, 0xff, 0xff, 0x10, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0xaf,
0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0xef, 0xff, 0xff,
0xf8, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xb0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xf3, 0x0,
0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x7, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0xc, 0xff,
0xff, 0xff, 0xfe, 0xee, 0xee, 0xee, 0xef, 0xff,
0xff, 0xff, 0xfe, 0xec, 0xf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xb, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0x2, 0xef, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x0, 0x7, 0xce, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x8e,
0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff,
0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xb0, 0x0,
/* U+0035 "5" */
0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x97, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf9, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf9, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0x7f, 0xff, 0xff, 0xff, 0xee,
0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x87,
0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff,
0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff,
0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff,
0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xb6, 0x0, 0x0,
0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0x30, 0x7, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfb, 0x7, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf2, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x64, 0xbb,
0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6e, 0xff, 0xff, 0xff, 0xff, 0x90,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e,
0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff,
0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf9,
0x38, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
0x8f, 0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf6, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x27, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x7, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xd3, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xda, 0x50, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x6, 0xad, 0xef, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x4e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x60, 0x0, 0x6f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6,
0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x9, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf6, 0x0, 0xef, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x60, 0x2f, 0xff, 0xff, 0xff, 0xee, 0xee, 0xee,
0xee, 0xee, 0xee, 0xee, 0xee, 0xe5, 0x4, 0xff,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0x20, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xb7, 0x10, 0x0,
0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x50, 0x6, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x50, 0x6f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x96, 0xff, 0xff, 0xff, 0xfb,
0xbb, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff,
0xfc, 0x6f, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x2a, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xff,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0xff, 0xfe, 0x6f, 0xff, 0xff, 0xff,
0x20, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
0xff, 0xe6, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xfe, 0x6f,
0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0xa, 0xff, 0xff, 0xff, 0xe6, 0xff, 0xff, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff,
0xff, 0xfe, 0x6f, 0xff, 0xff, 0xff, 0x20, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xe6,
0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xff, 0xfe, 0x6f, 0xff, 0xff,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff,
0xff, 0xff, 0xe6, 0xff, 0xff, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xfe,
0x5f, 0xff, 0xff, 0xff, 0x65, 0x55, 0x55, 0x55,
0x55, 0x5b, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfb, 0xf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x70, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x2, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf7, 0x0, 0x4, 0xef, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x1, 0x7c, 0xef, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xeb, 0x71, 0x0, 0x0,
/* U+0037 "7" */
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0xb6, 0x0, 0x3, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfd, 0x10, 0x3f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb,
0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x43, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf3, 0x2b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
0xbb, 0xbb, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f,
0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xdf, 0xff, 0xff, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xef, 0xff, 0xff, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f,
0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f,
0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x1, 0x7c, 0xef, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xeb, 0x71, 0x0, 0x0, 0x0, 0x4e,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x50, 0x0, 0x3, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf5, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10,
0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x6f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xa0, 0x8f, 0xff, 0xff, 0xff,
0xee, 0xee, 0xee, 0xef, 0xff, 0xff, 0xff, 0xff,
0xff, 0xd0, 0x9f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x28, 0xff, 0xff, 0xff, 0xff, 0xe0,
0x9f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x5f, 0xff, 0xff, 0xff, 0xe0, 0x9f, 0xff,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd,
0xff, 0xff, 0xff, 0xe0, 0x9f, 0xff, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0xff, 0xe0, 0x9f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xe0,
0x8f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0xa, 0xff, 0xff, 0xff, 0xd0, 0x7f, 0xff,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xff, 0xc0, 0x4f, 0xff, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0xff, 0x90, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20,
0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x7f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xa0, 0x0, 0x0, 0x2, 0xef, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0,
0x0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x9, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0x0, 0x1f, 0xff, 0xff, 0xff,
0x11, 0x11, 0x11, 0x13, 0x8e, 0xff, 0xff, 0xff,
0xff, 0x60, 0x5f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xb0,
0x7f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xff, 0xff, 0xc0, 0x8f, 0xff,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xff, 0xff, 0xd0, 0x9f, 0xff, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0xff, 0xe0, 0x9f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xe0,
0x9f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0xa, 0xff, 0xff, 0xff, 0xe0, 0x9f, 0xff,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0xff, 0xe0, 0x9f, 0xff, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
0xff, 0xe0, 0x9f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xd0,
0x8f, 0xff, 0xff, 0xff, 0x88, 0x88, 0x88, 0x88,
0x88, 0x8d, 0xff, 0xff, 0xff, 0xd0, 0x7f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x4f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x90, 0xe, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30,
0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x5f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x90, 0x0, 0x0, 0x1, 0x7b, 0xef,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x82,
0x0, 0x0,
/* U+0039 "9" */
0x0, 0x0, 0x4a, 0xdf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xda, 0x60, 0x0, 0x0, 0x0, 0x1c,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x50, 0x0, 0x0, 0xdf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf6, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10,
0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x4f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x6f, 0xff, 0xff, 0xff,
0xbb, 0xbb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0x8f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xf0,
0x9f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9f, 0xff, 0xff, 0xff, 0xf1, 0x9f, 0xff,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
0xff, 0xff, 0xff, 0xf1, 0x9f, 0xff, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff,
0xff, 0xf1, 0x9f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf1,
0x9f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x9f, 0xff,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0xf1, 0x9f, 0xff, 0xff, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0xff, 0xf1, 0x9f, 0xff, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf1,
0x9f, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x8f, 0xff,
0xff, 0xff, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef,
0xff, 0xff, 0xff, 0xf1, 0x8f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1,
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x9, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf1, 0x0, 0xaf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0x0, 0x4, 0xad, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xf0,
0x0, 0x28, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
0x88, 0x8b, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x5f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x0, 0x5f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x80, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10,
0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x5f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x40, 0x0, 0x0, 0x5f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xda, 0x50,
0x0, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 504, .box_w = 27, .box_h = 39, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 527, .adv_w = 501, .box_w = 9, .box_h = 39, .ofs_x = 11, .ofs_y = -2},
{.bitmap_index = 703, .adv_w = 501, .box_w = 25, .box_h = 39, .ofs_x = 3, .ofs_y = -2},
{.bitmap_index = 1191, .adv_w = 501, .box_w = 25, .box_h = 39, .ofs_x = 3, .ofs_y = -2},
{.bitmap_index = 1679, .adv_w = 504, .box_w = 28, .box_h = 39, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 2225, .adv_w = 501, .box_w = 25, .box_h = 39, .ofs_x = 3, .ofs_y = -2},
{.bitmap_index = 2713, .adv_w = 504, .box_w = 27, .box_h = 39, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 3240, .adv_w = 504, .box_w = 27, .box_h = 39, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 3767, .adv_w = 501, .box_w = 28, .box_h = 39, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 4313, .adv_w = 504, .box_w = 28, .box_h = 39, .ofs_x = 2, .ofs_y = -2}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 10, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_FZHZGB_CT_bpp4_48px = {
#else
lv_font_t MXC_FZHZGB_CT_bpp4_48px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 39, /*The maximum line height required by the font*/
.base_line = 2, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -13,
.underline_thickness = 2,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_FZHZGB_CT_BPP4_48PX*/

View File

@ -0,0 +1,815 @@
/*******************************************************************************
* Size: 10 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_MSYAHEI_CT_BPP4_10PX
#define MXC_MSYAHEI_CT_BPP4_10PX 1
#endif
#if MXC_MSYAHEI_CT_BPP4_10PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+002D "-" */
0x3d, 0xd8,
/* U+002E "." */
0x2, 0x4b,
/* U+0030 "0" */
0x6, 0xed, 0x50, 0x1e, 0x11, 0xe0, 0x69, 0x0,
0xb4, 0x87, 0x0, 0x96, 0x87, 0x0, 0x96, 0x68,
0x0, 0xb4, 0x2e, 0x11, 0xd0, 0x6, 0xdd, 0x40,
/* U+0031 "1" */
0x0, 0x2, 0x0, 0x1b, 0xf9, 0x0, 0x3, 0x69,
0x0, 0x0, 0x69, 0x0, 0x0, 0x69, 0x0, 0x0,
0x69, 0x0, 0x0, 0x69, 0x0, 0x0, 0x69, 0x0,
0x1e, 0xef, 0xe3,
/* U+0032 "2" */
0x9, 0xde, 0x60, 0x15, 0x1, 0xe1, 0x0, 0x0,
0xd2, 0x0, 0x3, 0xc0, 0x0, 0x1c, 0x20, 0x1,
0xc3, 0x0, 0x1c, 0x30, 0x0, 0x7f, 0xff, 0xf1,
/* U+0033 "3" */
0xb, 0xdd, 0x40, 0x1, 0x4, 0xc0, 0x0, 0x6,
0x90, 0x7, 0xed, 0x10, 0x0, 0x5, 0xd0, 0x0,
0x0, 0xe1, 0x21, 0x3, 0xd0, 0x2d, 0xdc, 0x30,
/* U+0034 "4" */
0x0, 0xd, 0x80, 0x0, 0x8b, 0x80, 0x2, 0xb6,
0x80, 0xb, 0x26, 0x80, 0x77, 0x6, 0x80, 0xcd,
0xde, 0xe6, 0x0, 0x6, 0x80, 0x0, 0x6, 0x80,
/* U+0035 "5" */
0xe, 0xee, 0xb0, 0xe, 0x0, 0x0, 0xe, 0x0,
0x0, 0xe, 0xec, 0x30, 0x0, 0x4, 0xe0, 0x0,
0x0, 0xd1, 0x1, 0x3, 0xe0, 0x1d, 0xdc, 0x30,
/* U+0036 "6" */
0x1, 0xae, 0xd0, 0xa, 0x70, 0x0, 0x2d, 0x0,
0x0, 0x4b, 0xbd, 0x80, 0x6d, 0x10, 0xd3, 0x4a,
0x0, 0x96, 0x1d, 0x10, 0xd3, 0x5, 0xdd, 0x70,
/* U+0037 "7" */
0x8e, 0xee, 0xf4, 0x0, 0x0, 0xd0, 0x0, 0x6,
0x80, 0x0, 0xc, 0x20, 0x0, 0x2c, 0x0, 0x0,
0x96, 0x0, 0x0, 0xe0, 0x0, 0x6, 0x90, 0x0,
/* U+0038 "8" */
0x6, 0xde, 0x60, 0x1e, 0x1, 0xe0, 0x1e, 0x1,
0xe0, 0x5, 0xdd, 0x40, 0xb, 0x46, 0xb0, 0x68,
0x0, 0xa4, 0x5b, 0x0, 0xd3, 0xa, 0xed, 0x70,
/* U+0039 "9" */
0x7, 0xdd, 0x40, 0x4c, 0x1, 0xd0, 0x77, 0x0,
0xb3, 0x4c, 0x1, 0xe5, 0x8, 0xdb, 0xb3, 0x0,
0x0, 0xd1, 0x0, 0x6, 0xa0, 0x1d, 0xeb, 0x10,
/* U+0041 "A" */
0x0, 0x2f, 0x30, 0x0, 0x8, 0xc9, 0x0, 0x0,
0xe2, 0xe0, 0x0, 0x4b, 0xc, 0x40, 0xa, 0x60,
0x6a, 0x0, 0xfe, 0xee, 0xf0, 0x5b, 0x0, 0xb,
0x6b, 0x50, 0x0, 0x5b,
/* U+0042 "B" */
0xf, 0xee, 0xa0, 0xf, 0x0, 0xc5, 0xf, 0x1,
0xd2, 0xf, 0xef, 0x90, 0xf, 0x0, 0xa8, 0xf,
0x0, 0x4b, 0xf, 0x0, 0xa8, 0xf, 0xee, 0xa0,
/* U+0043 "C" */
0x0, 0x8e, 0xfd, 0x10, 0xba, 0x20, 0x20, 0x3d,
0x0, 0x0, 0x7, 0x90, 0x0, 0x0, 0x79, 0x0,
0x0, 0x4, 0xd0, 0x0, 0x0, 0xc, 0x91, 0x3,
0x10, 0x1a, 0xff, 0xc1,
/* U+0044 "D" */
0xf, 0xff, 0xc4, 0x0, 0xf, 0x0, 0x4d, 0x50,
0xf, 0x0, 0x3, 0xe0, 0xf, 0x0, 0x0, 0xf1,
0xf, 0x0, 0x0, 0xf1, 0xf, 0x0, 0x4, 0xd0,
0xf, 0x0, 0x4e, 0x40, 0xf, 0xff, 0xc4, 0x0,
/* U+0045 "E" */
0xf, 0xff, 0xd0, 0xf, 0x0, 0x0, 0xf, 0x0,
0x0, 0xf, 0xff, 0x90, 0xf, 0x0, 0x0, 0xf,
0x0, 0x0, 0xf, 0x0, 0x0, 0xf, 0xff, 0xf0,
/* U+0046 "F" */
0xf, 0xff, 0xd0, 0xf0, 0x0, 0xf, 0x0, 0x0,
0xff, 0xf9, 0xf, 0x0, 0x0, 0xf0, 0x0, 0xf,
0x0, 0x0, 0xf0, 0x0,
/* U+0047 "G" */
0x0, 0x8e, 0xfe, 0x50, 0xaa, 0x10, 0x12, 0x3d,
0x0, 0x0, 0x7, 0x90, 0xd, 0xfa, 0x79, 0x0,
0x4, 0xb4, 0xd0, 0x0, 0x4b, 0xc, 0x91, 0x6,
0xb0, 0x1a, 0xef, 0xc4,
/* U+0048 "H" */
0xf, 0x0, 0x3, 0xc0, 0xf0, 0x0, 0x3c, 0xf,
0x0, 0x3, 0xc0, 0xff, 0xff, 0xfc, 0xf, 0x0,
0x3, 0xc0, 0xf0, 0x0, 0x3c, 0xf, 0x0, 0x3,
0xc0, 0xf0, 0x0, 0x3c,
/* U+0049 "I" */
0xaf, 0x90, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0,
0xf0, 0xf, 0xa, 0xf9,
/* U+004A "J" */
0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0,
0x0, 0xe0, 0x0, 0xf0, 0x4, 0xc0, 0xcd, 0x30,
/* U+004B "K" */
0xf, 0x0, 0x7b, 0x0, 0xf0, 0x4d, 0x0, 0xf,
0x2d, 0x20, 0x0, 0xfc, 0x40, 0x0, 0xf, 0xb7,
0x0, 0x0, 0xf1, 0xd5, 0x0, 0xf, 0x3, 0xe2,
0x0, 0xf0, 0x6, 0xd1,
/* U+004C "L" */
0xf, 0x0, 0x0, 0xf0, 0x0, 0xf, 0x0, 0x0,
0xf0, 0x0, 0xf, 0x0, 0x0, 0xf0, 0x0, 0xf,
0x0, 0x0, 0xff, 0xfe,
/* U+004D "M" */
0xf, 0x70, 0x0, 0xa, 0xc0, 0xed, 0x0, 0x1,
0xec, 0xe, 0xa4, 0x0, 0x89, 0xc0, 0xe4, 0xb0,
0xd, 0x3c, 0xe, 0xd, 0x25, 0x93, 0xc0, 0xe0,
0x68, 0xb2, 0x3c, 0xe, 0x0, 0xdc, 0x3, 0xc0,
0xe0, 0x9, 0x50, 0x3c,
/* U+004E "N" */
0xf, 0x80, 0x0, 0xd2, 0xf, 0xe2, 0x0, 0xd2,
0xe, 0x5b, 0x0, 0xd2, 0xf, 0xc, 0x50, 0xd2,
0xf, 0x2, 0xd0, 0xd2, 0xf, 0x0, 0x88, 0xc2,
0xf, 0x0, 0xd, 0xe2, 0xf, 0x0, 0x4, 0xf2,
/* U+004F "O" */
0x1, 0xae, 0xfb, 0x20, 0xb, 0x91, 0x6, 0xe0,
0x3d, 0x0, 0x0, 0xa6, 0x69, 0x0, 0x0, 0x69,
0x79, 0x0, 0x0, 0x69, 0x4d, 0x0, 0x0, 0xa6,
0xc, 0x91, 0x6, 0xd0, 0x1, 0xaf, 0xfb, 0x20,
/* U+0050 "P" */
0xf, 0xfe, 0xa0, 0xf, 0x0, 0xa8, 0xf, 0x0,
0x5a, 0xf, 0x1, 0xb6, 0xf, 0xfe, 0x80, 0xf,
0x0, 0x0, 0xf, 0x0, 0x0, 0xf, 0x0, 0x0,
/* U+0051 "Q" */
0x1, 0xae, 0xfb, 0x20, 0xb, 0x91, 0x6, 0xe0,
0x4d, 0x0, 0x0, 0xa6, 0x69, 0x0, 0x0, 0x69,
0x79, 0x0, 0x0, 0x69, 0x4d, 0x0, 0x0, 0xa6,
0xc, 0x91, 0x6, 0xd0, 0x1, 0xaf, 0xfa, 0x10,
0x0, 0x0, 0x9b, 0x20, 0x0, 0x0, 0x7, 0xed,
/* U+0052 "R" */
0xf, 0xee, 0xb0, 0x0, 0xf0, 0xb, 0x70, 0xf,
0x0, 0x69, 0x0, 0xf0, 0xc, 0x50, 0xf, 0xef,
0x60, 0x0, 0xf0, 0x5d, 0x0, 0xf, 0x0, 0x98,
0x0, 0xf0, 0x0, 0xe3,
/* U+0053 "S" */
0x7, 0xef, 0xc0, 0x3d, 0x10, 0x20, 0x4c, 0x0,
0x0, 0xa, 0xc4, 0x0, 0x0, 0x4d, 0x90, 0x0,
0x0, 0xe3, 0x33, 0x1, 0xe2, 0x3d, 0xfd, 0x60,
/* U+0054 "T" */
0xbf, 0xff, 0xf8, 0x0, 0x95, 0x0, 0x0, 0x95,
0x0, 0x0, 0x95, 0x0, 0x0, 0x95, 0x0, 0x0,
0x95, 0x0, 0x0, 0x95, 0x0, 0x0, 0x95, 0x0,
/* U+0055 "U" */
0x1d, 0x0, 0x6, 0x91, 0xd0, 0x0, 0x69, 0x1d,
0x0, 0x6, 0x91, 0xd0, 0x0, 0x69, 0x1d, 0x0,
0x6, 0x90, 0xf0, 0x0, 0x77, 0xc, 0x70, 0x2d,
0x30, 0x2c, 0xfd, 0x60,
/* U+0056 "V" */
0xb5, 0x0, 0x8, 0x76, 0xa0, 0x0, 0xd2, 0x1e,
0x0, 0x3c, 0x0, 0xb4, 0x8, 0x70, 0x6, 0xa0,
0xd1, 0x0, 0x1e, 0x3c, 0x0, 0x0, 0xbc, 0x60,
0x0, 0x5, 0xf1, 0x0,
/* U+0057 "W" */
0xb5, 0x0, 0x6c, 0x0, 0x1e, 0x7, 0x90, 0xb,
0xe1, 0x5, 0xa0, 0x3d, 0x0, 0xda, 0x40, 0x96,
0x0, 0xe1, 0x3a, 0x69, 0xd, 0x10, 0xa, 0x58,
0x62, 0xd1, 0xd0, 0x0, 0x59, 0xc1, 0xd, 0x69,
0x0, 0x1, 0xdd, 0x0, 0x9d, 0x50, 0x0, 0xc,
0x90, 0x5, 0xf1, 0x0,
/* U+0058 "X" */
0x6c, 0x0, 0x2e, 0x0, 0xc5, 0xb, 0x50, 0x3,
0xd4, 0xc0, 0x0, 0xa, 0xe3, 0x0, 0x0, 0xae,
0x30, 0x0, 0x4c, 0x4c, 0x0, 0xe, 0x30, 0xb6,
0x9, 0x90, 0x2, 0xe1,
/* U+0059 "Y" */
0xa6, 0x0, 0x4b, 0x3e, 0x0, 0xc3, 0xb, 0x54,
0xb0, 0x3, 0xdb, 0x40, 0x0, 0xcc, 0x0, 0x0,
0x77, 0x0, 0x0, 0x77, 0x0, 0x0, 0x77, 0x0,
/* U+005A "Z" */
0x7f, 0xff, 0xfd, 0x0, 0x0, 0xd3, 0x0, 0x7,
0x80, 0x0, 0x2d, 0x0, 0x0, 0xc4, 0x0, 0x6,
0x90, 0x0, 0x1d, 0x10, 0x0, 0xaf, 0xff, 0xfd,
/* U+00B0 "°" */
0x1a, 0xa1, 0x55, 0x47, 0x1a, 0xb1,
/* U+4EF6 "件" */
0x0, 0x2a, 0x4, 0xc, 0x0, 0x0, 0x8, 0x51,
0xc0, 0xc0, 0x0, 0x0, 0xe1, 0x6c, 0xae, 0xaa,
0x30, 0x7f, 0x1c, 0x0, 0xc0, 0x0, 0xb, 0xb1,
0x40, 0xc, 0x0, 0x0, 0x1b, 0x3b, 0xbb, 0xeb,
0xb7, 0x0, 0xb1, 0x0, 0xc, 0x0, 0x0, 0xb,
0x10, 0x0, 0xc0, 0x0, 0x0, 0xb1, 0x0, 0xc,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+4FE1 "信" */
0x0, 0x20, 0x1, 0x0, 0x0, 0x2, 0xa0, 0x5,
0x70, 0x0, 0x7, 0x7b, 0xbb, 0xbb, 0xb7, 0xe,
0x4, 0x66, 0x66, 0x60, 0x7f, 0x2, 0x44, 0x44,
0x40, 0xab, 0x7, 0xaa, 0xaa, 0xa0, 0xb, 0x0,
0x0, 0x0, 0x0, 0xb, 0x9, 0xba, 0xaa, 0xe0,
0xb, 0x9, 0x20, 0x0, 0xc0, 0xb, 0x9, 0xba,
0xaa, 0xe0,
/* U+5185 "内" */
0x0, 0x3, 0x90, 0x0, 0xb, 0xbb, 0xce, 0xbb,
0xb3, 0xc0, 0x5, 0x70, 0x7, 0x5c, 0x0, 0x87,
0x0, 0x75, 0xc0, 0x1d, 0xa7, 0x7, 0x5c, 0x3d,
0x40, 0x99, 0x75, 0xc9, 0x20, 0x0, 0x68, 0x5c,
0x0, 0x0, 0x0, 0x75, 0xc0, 0x0, 0x8, 0xcd,
0x20, 0x0, 0x0, 0x0, 0x0,
/* U+5355 "单" */
0x0, 0x20, 0x0, 0x2, 0x0, 0x0, 0x5b, 0x0,
0x78, 0x0, 0x8, 0xac, 0xbb, 0xda, 0xb0, 0xb,
0x0, 0x48, 0x0, 0xb0, 0xb, 0xaa, 0xbd, 0xaa,
0xe0, 0xb, 0x33, 0x69, 0x33, 0xc0, 0xa, 0x77,
0x9b, 0x77, 0xc0, 0x7a, 0xaa, 0xbd, 0xaa, 0xa9,
0x1, 0x11, 0x48, 0x11, 0x10, 0x0, 0x0, 0x48,
0x0, 0x0,
/* U+538B "压" */
0xd, 0xcc, 0xcc, 0xcc, 0xc4, 0xd, 0x0, 0x4,
0x0, 0x0, 0xd, 0x0, 0xd, 0x0, 0x0, 0xc,
0x0, 0xd, 0x0, 0x0, 0xd, 0x3b, 0xbf, 0xbb,
0xb0, 0xd, 0x0, 0xd, 0x6, 0x0, 0x1c, 0x0,
0xd, 0x8, 0x70, 0x68, 0x0, 0xd, 0x0, 0x10,
0xc1, 0xbb, 0xbb, 0xbb, 0xb4, 0x0, 0x0, 0x0,
0x0, 0x0,
/* U+53D1 "发" */
0x0, 0x0, 0x20, 0x0, 0x0, 0x8, 0x20, 0xc0,
0x4a, 0x10, 0xc, 0x3, 0x90, 0x4, 0x50, 0x2b,
0xbd, 0xcb, 0xbb, 0xba, 0x0, 0xc, 0x10, 0x0,
0x0, 0x0, 0x2f, 0xda, 0xab, 0xc0, 0x0, 0x94,
0xb0, 0x8, 0x50, 0x3, 0xb0, 0x49, 0x6a, 0x0,
0x1c, 0x20, 0x1c, 0xf4, 0x0, 0x74, 0x6b, 0xb4,
0x2a, 0xc7, 0x0, 0x42, 0x0, 0x0, 0x12,
/* U+5BA2 "客" */
0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x22, 0x24,
0xd2, 0x22, 0x20, 0x1c, 0x7b, 0x97, 0x77, 0x7c,
0x1, 0x64, 0xfa, 0xaa, 0xa5, 0x70, 0x6, 0xab,
0x40, 0x4c, 0x20, 0x0, 0x50, 0x2d, 0xdd, 0x20,
0x0, 0x5b, 0xb9, 0x41, 0x59, 0xbc, 0x10, 0xb,
0xaa, 0xaa, 0xa8, 0x0, 0x0, 0xc0, 0x0, 0x1,
0xa0, 0x0, 0xd, 0xaa, 0xaa, 0xaa, 0x0,
/* U+5E8F "序" */
0x0, 0x0, 0x4, 0x0, 0x0, 0x2, 0x33, 0x3d,
0x43, 0x33, 0xd, 0x77, 0x77, 0x77, 0x77, 0xd,
0x1b, 0xbb, 0xbb, 0xb2, 0xd, 0x0, 0x83, 0x3c,
0x70, 0xc, 0x0, 0x1b, 0xe2, 0x0, 0xc, 0x8b,
0xbc, 0xeb, 0xbd, 0xb, 0x0, 0x2, 0xa0, 0x67,
0x57, 0x0, 0x2, 0xa0, 0x10, 0xb1, 0x1, 0xcd,
0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+5EA6 "度" */
0x0, 0x0, 0x13, 0x0, 0x0, 0x4, 0x55, 0x6e,
0x55, 0x53, 0xc, 0x5a, 0x65, 0x5a, 0x53, 0xc,
0x9d, 0xaa, 0xae, 0xa6, 0xc, 0xa, 0x21, 0x1b,
0x0, 0xc, 0x9, 0x98, 0x8b, 0x0, 0xc, 0x6a,
0xaa, 0xaa, 0x50, 0x1b, 0x8, 0x60, 0x3b, 0x20,
0x57, 0x0, 0xad, 0xd1, 0x0, 0xb4, 0xac, 0x82,
0x6b, 0xc6, 0x0, 0x20, 0x0, 0x0, 0x0,
/* U+606F "息" */
0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x59,
0xa5, 0x55, 0x0, 0x0, 0xc5, 0x55, 0x55, 0xc1,
0x0, 0xc, 0xaa, 0xaa, 0xae, 0x10, 0x0, 0xc7,
0x77, 0x77, 0xd1, 0x0, 0xc, 0x22, 0x22, 0x2b,
0x10, 0x0, 0xba, 0xab, 0xaa, 0xd1, 0x0, 0x44,
0x80, 0xb3, 0x13, 0x80, 0xb, 0x1b, 0x1, 0x36,
0x69, 0x50, 0x50, 0x7b, 0xbb, 0xc1, 0x0,
/* U+6237 "户" */
0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x6, 0x90,
0x0, 0x9, 0xbb, 0xbb, 0xbb, 0xd0, 0xb1, 0x0,
0x0, 0xc, 0xb, 0x10, 0x0, 0x0, 0xc0, 0xbb,
0xbb, 0xbb, 0xbe, 0xc, 0x0, 0x0, 0x0, 0x50,
0xc0, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0x0,
0xb, 0x30, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0,
0x0, 0x0,
/* U+65F6 "时" */
0x12, 0x21, 0x0, 0xb, 0x0, 0xb9, 0x8c, 0x0,
0xb, 0x0, 0xb1, 0xc, 0xab, 0xbe, 0xb4, 0xb1,
0xc, 0x0, 0xb, 0x0, 0xbb, 0xbc, 0x58, 0xb,
0x0, 0xb1, 0xc, 0xc, 0xb, 0x0, 0xb1, 0xc,
0x1, 0xb, 0x0, 0xbc, 0xbc, 0x0, 0xc, 0x0,
0x71, 0x7, 0x9, 0xcc, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
/* U+672C "本" */
0x0, 0x0, 0x9, 0x20, 0x0, 0x0, 0x9b, 0xbb,
0xec, 0xbb, 0xb4, 0x0, 0x0, 0x3f, 0xb0, 0x0,
0x0, 0x0, 0xb, 0x97, 0x60, 0x0, 0x0, 0xa,
0x39, 0x2a, 0x30, 0x0, 0xa, 0x60, 0x92, 0x1c,
0x40, 0xb, 0x78, 0x9d, 0xa9, 0x5c, 0x40, 0x10,
0x11, 0xa3, 0x10, 0x0, 0x0, 0x0, 0x9, 0x20,
0x0, 0x0,
/* U+673A "机" */
0x2, 0x90, 0x7d, 0xcf, 0x0, 0x6a, 0xd8, 0x74,
0xc, 0x0, 0x6, 0x91, 0x74, 0xc, 0x0, 0xa,
0xc3, 0x74, 0xc, 0x0, 0x2b, 0xab, 0x74, 0xc,
0x0, 0x95, 0x90, 0x83, 0xc, 0x0, 0x22, 0x90,
0xb0, 0xc, 0xb, 0x2, 0x91, 0xa0, 0xc, 0x1b,
0x2, 0x9a, 0x20, 0x7, 0xd6, 0x0, 0x0, 0x0,
0x0, 0x0,
/* U+6BCD "母" */
0x3, 0xdb, 0xbb, 0xbc, 0x90, 0x5, 0x70, 0xb2,
0x4, 0x80, 0x7, 0x40, 0x2b, 0x4, 0x70, 0x8d,
0xcb, 0xbb, 0xbc, 0xda, 0xb, 0x0, 0x60, 0x6,
0x60, 0xc, 0x0, 0xb5, 0x6, 0x50, 0xc, 0x0,
0x16, 0x7, 0x50, 0xb, 0xbb, 0xbb, 0xbe, 0xc4,
0x0, 0x0, 0x3c, 0xcc, 0x0,
/* U+6D41 "流" */
0x0, 0x0, 0x2, 0x0, 0x0, 0x2, 0xb0, 0x0,
0x58, 0x0, 0x0, 0x4, 0x6b, 0xbe, 0xbb, 0xb6,
0x5, 0x20, 0xa, 0x40, 0x64, 0x0, 0x2c, 0x2d,
0xca, 0xab, 0xe2, 0x0, 0x0, 0x43, 0x21, 0x33,
0x30, 0x7, 0x25, 0x66, 0x59, 0x20, 0x0, 0xc0,
0x74, 0x65, 0x92, 0x30, 0x1c, 0xc, 0x16, 0x59,
0x2b, 0x5, 0x8b, 0x50, 0x65, 0x6c, 0xa0, 0x0,
0x10, 0x0, 0x0, 0x0, 0x0,
/* U+6E29 "温" */
0x1, 0x0, 0x0, 0x0, 0x0, 0x3d, 0x19, 0xba,
0xaa, 0xb0, 0x5, 0x69, 0x20, 0x0, 0xb0, 0x40,
0x9, 0xaa, 0xaa, 0xb0, 0x4c, 0x19, 0x98, 0x88,
0xb0, 0x0, 0x2, 0x0, 0x0, 0x20, 0x8, 0xe,
0xbd, 0xcc, 0xe2, 0xd, 0xc, 0x28, 0x65, 0x92,
0x2a, 0xc, 0x28, 0x65, 0x92, 0x77, 0xad, 0xbc,
0xcc, 0xca, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+7247 "片" */
0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0xd0, 0x0,
0xd0, 0x0, 0x0, 0xd0, 0x0, 0xd0, 0x0, 0x0,
0xfa, 0xaa, 0xfa, 0xa8, 0x0, 0xd1, 0x11, 0x11,
0x10, 0x0, 0xd0, 0x0, 0x0, 0x0, 0x1, 0xec,
0xcc, 0xd7, 0x0, 0x5, 0x90, 0x0, 0x67, 0x0,
0xc, 0x30, 0x0, 0x67, 0x0, 0x49, 0x0, 0x0,
0x67, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+7248 "版" */
0xb, 0x46, 0x5a, 0xaa, 0xa5, 0xb, 0x46, 0x91,
0x0, 0x0, 0xb, 0x57, 0x92, 0x0, 0x0, 0xd,
0x88, 0xac, 0xb9, 0xd3, 0xb, 0x0, 0x95, 0x70,
0xb0, 0xd, 0xb7, 0x91, 0xb2, 0x90, 0x19, 0x37,
0xb0, 0x7c, 0x10, 0x46, 0x37, 0xb1, 0xac, 0x50,
0x81, 0x3b, 0x9c, 0x30, 0x87, 0x0, 0x0, 0x0,
0x0, 0x0,
/* U+7535 "电" */
0x0, 0x0, 0xc0, 0x0, 0x0, 0x2e, 0xbb, 0xfb,
0xbd, 0x60, 0x2a, 0x0, 0xc0, 0x6, 0x60, 0x2e,
0xbb, 0xeb, 0xbd, 0x60, 0x2a, 0x0, 0xc0, 0x6,
0x60, 0x2a, 0x0, 0xc1, 0x6, 0x60, 0x2e, 0xbb,
0xeb, 0xbb, 0x62, 0x1, 0x0, 0xc1, 0x0, 0x66,
0x0, 0x0, 0x6c, 0xbb, 0xc1,
/* U+76F4 "直" */
0x13, 0x33, 0x88, 0x33, 0x32, 0x36, 0x66, 0x9a,
0x66, 0x64, 0x5, 0xba, 0xbb, 0xaa, 0x70, 0x6,
0x85, 0x55, 0x57, 0x80, 0x6, 0x85, 0x55, 0x57,
0x80, 0x6, 0xca, 0xaa, 0xab, 0x80, 0x6, 0x84,
0x44, 0x47, 0x80, 0x6, 0x95, 0x55, 0x57, 0x80,
0x7c, 0xcb, 0xbb, 0xbb, 0xca,
/* U+786C "硬" */
0x49, 0x98, 0x9a, 0xea, 0xaa, 0x10, 0x67, 0x14,
0x6d, 0x66, 0x40, 0x9, 0x20, 0xa4, 0xc4, 0x4b,
0x0, 0xea, 0x6b, 0x9d, 0x99, 0xb0, 0x6e, 0x19,
0xa1, 0xb1, 0x1b, 0x7, 0xb1, 0x9a, 0xae, 0xaa,
0xb0, 0xa, 0x19, 0x46, 0xb0, 0x3, 0x0, 0xba,
0x60, 0xdb, 0x20, 0x0, 0x2, 0x8, 0xb5, 0x28,
0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+7A0B "程" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0xc6,
0xca, 0xaa, 0xe0, 0x0, 0x64, 0xc, 0x0, 0xb,
0x0, 0x7b, 0xa5, 0xca, 0xaa, 0xe0, 0x1, 0xb5,
0x14, 0x0, 0x4, 0x0, 0xf, 0xb4, 0xaa, 0xea,
0xa4, 0x7, 0xa7, 0x80, 0xc, 0x0, 0x0, 0xb6,
0x40, 0xaa, 0xea, 0xa1, 0x1, 0x64, 0x0, 0xc,
0x0, 0x0, 0x6, 0x46, 0xaa, 0xca, 0xa7,
/* U+7EBF "线" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x50,
0xc, 0xa, 0x20, 0x0, 0xb0, 0x0, 0xc0, 0x26,
0x10, 0x93, 0xa8, 0xae, 0xa8, 0x72, 0xa, 0xc9,
0x0, 0xa1, 0x13, 0x20, 0xb, 0x5, 0xad, 0xc9,
0x83, 0xa, 0xba, 0x30, 0x56, 0x3b, 0x0, 0x32,
0x0, 0x1, 0xdb, 0x15, 0x6, 0xab, 0x44, 0xbc,
0x53, 0x80, 0x41, 0xb, 0x81, 0xa, 0xc3,
/* U+884C "行" */
0x0, 0x35, 0x0, 0x0, 0x0, 0x0, 0xd, 0x23,
0xbb, 0xbb, 0x80, 0xb, 0x60, 0x0, 0x0, 0x0,
0x6, 0x63, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xc2,
0xbb, 0xbb, 0xbb, 0x30, 0xbc, 0x0, 0x0, 0x66,
0x0, 0x78, 0xc0, 0x0, 0x6, 0x60, 0x0, 0x1c,
0x0, 0x0, 0x66, 0x0, 0x1, 0xc0, 0x0, 0x7,
0x60, 0x0, 0x1c, 0x0, 0x7d, 0xe3, 0x0,
/* U+8F6F "软" */
0x0, 0x12, 0x0, 0x30, 0x0, 0x0, 0x7, 0x50,
0xc, 0x0, 0x0, 0x9, 0xea, 0xa5, 0xea, 0xab,
0x60, 0x19, 0xa0, 0xb2, 0xa0, 0xa3, 0x7, 0x4b,
0x17, 0xb, 0x7, 0x0, 0xaa, 0xea, 0x10, 0xe0,
0x0, 0x0, 0xb, 0x0, 0x2f, 0x40, 0x0, 0x79,
0xea, 0x49, 0x6b, 0x0, 0x3, 0x1b, 0x7, 0xa0,
0x88, 0x0, 0x0, 0xb6, 0x90, 0x0, 0x87, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0,
/* U+90E8 "部" */
0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x74, 0x0,
0xeb, 0xda, 0x7b, 0xaa, 0xb5, 0xc0, 0x96, 0xb,
0x14, 0x90, 0xc1, 0xc0, 0x9b, 0xae, 0xa6, 0xc5,
0x90, 0x0, 0x0, 0x0, 0xc0, 0x94, 0x2b, 0xaa,
0xb0, 0xc0, 0x1a, 0x38, 0x0, 0xb0, 0xc0, 0x1b,
0x38, 0x0, 0xb0, 0xcc, 0xd4, 0x3d, 0xaa, 0xd0,
0xc0, 0x0,
/* U+95F4 "间" */
0x3, 0x20, 0x0, 0x0, 0x0, 0x2, 0xd1, 0xab,
0xbb, 0xbc, 0x16, 0x10, 0x0, 0x0, 0xc, 0x2a,
0x9, 0xbb, 0xb0, 0xc, 0x2a, 0xb, 0x0, 0xa0,
0xc, 0x2a, 0xd, 0xbb, 0xe0, 0xc, 0x2a, 0xb,
0x0, 0xa0, 0xc, 0x2a, 0xd, 0xbb, 0xe0, 0xc,
0x2a, 0x8, 0x0, 0x0, 0xb, 0x2a, 0x0, 0x0,
0x6c, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 69, .box_w = 4, .box_h = 1, .ofs_x = 0, .ofs_y = 3},
{.bitmap_index = 2, .adv_w = 39, .box_w = 2, .box_h = 2, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 4, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 28, .adv_w = 94, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 55, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 79, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 103, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 127, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 151, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 175, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 199, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 223, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 247, .adv_w = 113, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 275, .adv_w = 100, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 299, .adv_w = 107, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 327, .adv_w = 122, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 359, .adv_w = 88, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 383, .adv_w = 85, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 403, .adv_w = 119, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 431, .adv_w = 124, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 459, .adv_w = 47, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 471, .adv_w = 63, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 487, .adv_w = 102, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 515, .adv_w = 82, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 535, .adv_w = 156, .box_w = 9, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 571, .adv_w = 130, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 603, .adv_w = 130, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 635, .adv_w = 98, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 659, .adv_w = 130, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 699, .adv_w = 104, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 727, .adv_w = 92, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 751, .adv_w = 92, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 775, .adv_w = 119, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 803, .adv_w = 108, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 831, .adv_w = 163, .box_w = 11, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 875, .adv_w = 103, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 903, .adv_w = 97, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 927, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 951, .adv_w = 65, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 5},
{.bitmap_index = 957, .adv_w = 160, .box_w = 11, .box_h = 10, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 1012, .adv_w = 160, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 1062, .adv_w = 160, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 1107, .adv_w = 160, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 1157, .adv_w = 160, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1207, .adv_w = 160, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1262, .adv_w = 160, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 1317, .adv_w = 160, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1372, .adv_w = 160, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1427, .adv_w = 160, .box_w = 11, .box_h = 10, .ofs_x = -1, .ofs_y = -1},
{.bitmap_index = 1482, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1532, .adv_w = 160, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1582, .adv_w = 160, .box_w = 11, .box_h = 9, .ofs_x = -1, .ofs_y = -1},
{.bitmap_index = 1632, .adv_w = 160, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1682, .adv_w = 160, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 1727, .adv_w = 160, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1788, .adv_w = 160, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1843, .adv_w = 160, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1898, .adv_w = 160, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 1948, .adv_w = 160, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 1993, .adv_w = 160, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 2038, .adv_w = 160, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 2093, .adv_w = 160, .box_w = 11, .box_h = 10, .ofs_x = -1, .ofs_y = -1},
{.bitmap_index = 2148, .adv_w = 160, .box_w = 11, .box_h = 10, .ofs_x = -1, .ofs_y = -1},
{.bitmap_index = 2203, .adv_w = 160, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 2258, .adv_w = 160, .box_w = 11, .box_h = 11, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 2319, .adv_w = 160, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 2369, .adv_w = 160, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = -2}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint8_t glyph_id_ofs_list_0[] = {
0, 1, 0, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11
};
static const uint16_t unicode_list_2[] = {
0x0, 0x4e46, 0x4f31, 0x50d5, 0x52a5, 0x52db, 0x5321, 0x5af2,
0x5ddf, 0x5df6, 0x5fbf, 0x6187, 0x6546, 0x667c, 0x668a, 0x6b1d,
0x6c91, 0x6d79, 0x7197, 0x7198, 0x7485, 0x7644, 0x77bc, 0x795b,
0x7e0f, 0x879c, 0x8ebf, 0x9038, 0x9544
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 45, .range_length = 13, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 13, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
},
{
.range_start = 65, .range_length = 26, .glyph_id_start = 13,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 176, .range_length = 38213, .glyph_id_start = 39,
.unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 29, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
13, 15,
13, 19,
13, 22,
13, 27,
13, 32,
13, 33,
13, 34,
13, 35,
13, 37,
13, 38,
14, 32,
14, 37,
15, 15,
15, 19,
15, 27,
15, 29,
16, 2,
16, 13,
16, 32,
16, 36,
16, 38,
17, 13,
17, 22,
17, 32,
17, 35,
17, 36,
18, 2,
18, 13,
18, 22,
18, 31,
18, 32,
19, 32,
19, 34,
22, 2,
22, 13,
22, 22,
23, 15,
23, 19,
23, 22,
23, 27,
23, 29,
23, 36,
23, 38,
24, 13,
24, 15,
24, 19,
24, 22,
24, 27,
24, 29,
24, 32,
24, 33,
24, 34,
24, 35,
24, 37,
24, 38,
27, 2,
27, 13,
27, 22,
27, 32,
27, 36,
27, 37,
27, 38,
28, 2,
28, 13,
28, 19,
28, 22,
28, 35,
28, 36,
29, 2,
29, 13,
29, 32,
29, 36,
29, 37,
29, 38,
30, 15,
30, 19,
30, 22,
30, 27,
30, 29,
30, 32,
30, 37,
32, 2,
32, 13,
32, 15,
32, 19,
32, 22,
32, 27,
32, 29,
32, 32,
32, 34,
32, 35,
32, 36,
32, 37,
33, 13,
34, 2,
34, 13,
34, 15,
34, 19,
34, 22,
34, 27,
34, 29,
34, 31,
34, 32,
35, 2,
35, 13,
35, 32,
36, 2,
36, 15,
36, 19,
36, 22,
36, 27,
36, 29,
36, 32,
37, 2,
37, 13,
37, 15,
37, 19,
37, 22,
37, 27,
37, 29,
37, 31,
37, 32,
38, 22,
38, 32
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static const int8_t kern_pair_values[] =
{
-2, -2, 8, -2, -12, -2, -10, -6,
-13, 5, -8, -6, -5, -5, -2, -5,
-11, -3, -8, -4, -4, 1, 6, 0,
2, 1, -13, -11, -6, -2, 1, -4,
-2, -9, -3, -6, -8, -8, 8, -8,
-8, 3, 3, 5, -6, -6, 8, -6,
-6, -10, -2, -10, -4, -11, 5, -8,
-2, -1, -8, -3, -2, -4, -27, -13,
-1, -11, 3, -5, -11, -2, -8, -3,
-1, -4, -2, -2, 5, -2, -2, -4,
-3, -15, -13, -8, -8, -10, -8, -8,
3, 4, 3, 0, 2, -3, -19, -10,
-4, -4, -6, -1, -4, -2, 3, -11,
-6, 3, 5, -2, -2, 8, -2, -2,
3, -16, -13, -4, -4, -6, -4, -4,
-2, 3, 7, 3
};
/*Collect the kern pair's data in one place*/
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 124,
.glyph_ids_size = 0
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = &kern_pairs,
.kern_scale = 16,
.cmap_num = 3,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_MSYAHEI_CT_bpp4_10px = {
#else
lv_font_t MXC_MSYAHEI_CT_bpp4_10px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 11, /*The maximum line height required by the font*/
.base_line = 2, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_MSYAHEI_CT_BPP4_10PX*/

View File

@ -0,0 +1,268 @@
/*******************************************************************************
* Size: 14 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_MSYAHEI_CT_BPP4_14PX
#define MXC_MSYAHEI_CT_BPP4_14PX 1
#endif
#if MXC_MSYAHEI_CT_BPP4_14PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+003A ":" */
0xe, 0x60, 0xb4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xb, 0x40, 0xe6,
/* U+53D8 "变" */
0x0, 0x0, 0x0, 0x54, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6, 0xd0, 0x0, 0x0, 0x0, 0x4e,
0xee, 0xee, 0xef, 0xee, 0xee, 0xeb, 0x0, 0x0,
0x10, 0xf2, 0xb, 0x61, 0x0, 0x0, 0x0, 0x6c,
0xf, 0x10, 0xb5, 0x89, 0x0, 0x0, 0x4e, 0x20,
0xf1, 0xb, 0x50, 0xba, 0x0, 0x3e, 0x20, 0xd,
0x10, 0x94, 0x0, 0xb8, 0x0, 0xb, 0xbb, 0xbb,
0xbb, 0xbb, 0x40, 0x0, 0x0, 0x34, 0xf5, 0x33,
0x38, 0xe2, 0x0, 0x0, 0x0, 0x6, 0xd1, 0x6,
0xe3, 0x0, 0x0, 0x0, 0x0, 0x6, 0xeb, 0xd2,
0x0, 0x0, 0x0, 0x0, 0x4, 0xae, 0xdc, 0x61,
0x0, 0x0, 0x28, 0xcf, 0xc6, 0x10, 0x5b, 0xfe,
0xb8, 0x1, 0x95, 0x10, 0x0, 0x0, 0x0, 0x47,
0x30,
/* U+5668 "器" */
0x6, 0xed, 0xde, 0x61, 0xfd, 0xde, 0xb0, 0x6,
0x90, 0x8, 0x61, 0xd0, 0x3, 0xb0, 0x6, 0x90,
0x8, 0x61, 0xd0, 0x3, 0xb0, 0x6, 0xed, 0xde,
0x62, 0xfe, 0xde, 0xb0, 0x0, 0x10, 0x0, 0x78,
0x5, 0xb2, 0x0, 0x1e, 0xee, 0xee, 0xff, 0xee,
0xfe, 0xe9, 0x0, 0x1, 0x5c, 0x84, 0xd5, 0x0,
0x0, 0x5b, 0xde, 0x93, 0x0, 0x18, 0xdd, 0xc9,
0x19, 0xed, 0xdd, 0x51, 0xdd, 0xdd, 0xc2, 0x6,
0x90, 0x8, 0x61, 0xd0, 0x3, 0xc0, 0x6, 0x90,
0x8, 0x61, 0xd0, 0x3, 0xc0, 0x6, 0xed, 0xde,
0x61, 0xfd, 0xde, 0xc0, 0x6, 0x90, 0x8, 0x61,
0xd0, 0x3, 0xc0,
/* U+578B "型" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x90, 0x4e,
0xfe, 0xef, 0xeb, 0x18, 0x6, 0x90, 0x0, 0xc3,
0xa, 0x50, 0x2d, 0x6, 0x90, 0x0, 0xc3, 0xa,
0x50, 0x2d, 0x6, 0x90, 0xac, 0xfc, 0xce, 0xdc,
0x6d, 0x6, 0x90, 0x22, 0xf3, 0x2b, 0x62, 0x3d,
0x6, 0x90, 0x6, 0xb0, 0xa, 0x50, 0x0, 0x7,
0x90, 0x4e, 0x20, 0xa, 0x50, 0xb, 0xdf, 0x50,
0x2, 0x0, 0x0, 0xa3, 0x2, 0x32, 0x0, 0x8,
0xcc, 0xcc, 0xfd, 0xcc, 0xcc, 0x30, 0x1, 0x22,
0x22, 0xd6, 0x22, 0x22, 0x0, 0x0, 0x0, 0x0,
0xc4, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf7,
/* U+5E38 "常" */
0x0, 0x53, 0x0, 0x3d, 0x0, 0x27, 0x0, 0x0,
0x6f, 0x60, 0x3d, 0x2, 0xeb, 0x0, 0x0, 0x5,
0x90, 0x3d, 0x7, 0x90, 0x0, 0x2f, 0xee, 0xee,
0xee, 0xee, 0xee, 0xf2, 0x2e, 0x2, 0x22, 0x22,
0x22, 0x20, 0xe2, 0x6, 0x2f, 0xbb, 0xbb, 0xbb,
0xf3, 0x60, 0x0, 0x2f, 0x0, 0x0, 0x0, 0xd3,
0x0, 0x0, 0x2f, 0xdd, 0xef, 0xdd, 0xf3, 0x0,
0x0, 0x5, 0x0, 0x3e, 0x0, 0x41, 0x0, 0x5,
0xfe, 0xee, 0xef, 0xee, 0xef, 0x70, 0x5, 0xc0,
0x0, 0x3e, 0x0, 0x9, 0x70, 0x5, 0xc0, 0x0,
0x3e, 0x1, 0x1b, 0x70, 0x5, 0xb0, 0x0, 0x3e,
0xa, 0xed, 0x20, 0x0, 0x0, 0x0, 0x3e, 0x0,
0x0, 0x0,
/* U+636E "据" */
0x0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf0, 0x3f, 0xee, 0xee, 0xee, 0xe0, 0x0, 0xf0,
0x3b, 0x0, 0x0, 0x1, 0xe0, 0xce, 0xfe, 0x9b,
0x0, 0x0, 0x1, 0xe0, 0x23, 0xf4, 0x4f, 0xee,
0xee, 0xee, 0xe0, 0x0, 0xf0, 0x3b, 0x0, 0x1e,
0x0, 0x0, 0x0, 0xf8, 0x8f, 0xcc, 0xcf, 0xcc,
0xc9, 0x9e, 0xfa, 0x6b, 0x22, 0x2e, 0x22, 0x21,
0xa5, 0xf0, 0x59, 0x0, 0x1e, 0x0, 0x0, 0x0,
0xf0, 0x78, 0xde, 0xef, 0xee, 0xb0, 0x0, 0xf0,
0xa5, 0xe1, 0x0, 0x2, 0xd0, 0x0, 0xf1, 0xf1,
0xe1, 0x0, 0x2, 0xd0, 0x24, 0xf8, 0xc0, 0xee,
0xee, 0xee, 0xd0, 0xbe, 0x96, 0x50, 0xe1, 0x0,
0x2, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0,
/* U+6570 "数" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0x5, 0xa0, 0x20, 0xf, 0x20, 0x0, 0xe, 0x45,
0xa0, 0xe4, 0x2e, 0x0, 0x0, 0x5, 0xb5, 0xa8,
0x90, 0x7b, 0x0, 0x0, 0x13, 0x47, 0xb4, 0x40,
0xdf, 0xee, 0xea, 0x5b, 0xbf, 0xeb, 0xb7, 0xf4,
0x36, 0xd2, 0x3, 0xcb, 0xdb, 0x3c, 0xf4, 0x6,
0xb0, 0x8c, 0x35, 0x71, 0x83, 0x87, 0x9, 0x80,
0x0, 0x4d, 0x0, 0x0, 0x4c, 0xd, 0x40, 0x9e,
0xff, 0xee, 0xd0, 0xe, 0x7e, 0x0, 0x6, 0xb0,
0x6, 0xa0, 0x8, 0xf7, 0x0, 0x7, 0xd8, 0x5e,
0x20, 0x9, 0xf7, 0x0, 0x0, 0x1d, 0xfb, 0x20,
0x7e, 0x6f, 0x60, 0x39, 0xe9, 0x29, 0x9a, 0xe3,
0x5, 0xf9, 0x67, 0x10, 0x0, 0x9, 0x10, 0x0,
0x34,
/* U+7C7B "类" */
0x0, 0x21, 0x0, 0x4c, 0x0, 0x4, 0x0, 0x0,
0x8, 0xe2, 0x4, 0xc0, 0x7, 0xf2, 0x0, 0x0,
0x8, 0xe1, 0x4c, 0x8, 0xe3, 0x0, 0x0, 0x0,
0x4, 0x4, 0xc0, 0x32, 0x0, 0x0, 0xe, 0xee,
0xef, 0xff, 0xee, 0xee, 0xe7, 0x0, 0x0, 0x6,
0xc8, 0xda, 0x61, 0x0, 0x0, 0x15, 0x9e, 0xb1,
0x39, 0x6, 0xdc, 0x71, 0x2, 0xfb, 0x40, 0x3,
0x60, 0x0, 0x5c, 0xa0, 0x1, 0x0, 0x0, 0x7a,
0x0, 0x0, 0x1, 0x2, 0xee, 0xee, 0xef, 0xfe,
0xee, 0xee, 0x90, 0x0, 0x0, 0x2, 0xfa, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xd7, 0xc, 0xb1,
0x0, 0x0, 0x0, 0x4a, 0xf6, 0x0, 0x9, 0xf9,
0x41, 0x3, 0xfd, 0x81, 0x0, 0x0, 0x2, 0x8d,
0xb0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0,
/* U+89C4 "规" */
0x0, 0xc, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xc3, 0x2, 0xff, 0xff, 0xff, 0x30, 0x0,
0xc, 0x30, 0x2f, 0x0, 0x0, 0xc3, 0x0, 0xbe,
0xff, 0xe5, 0xf0, 0x3a, 0xc, 0x30, 0x0, 0xc,
0x30, 0x2f, 0x3, 0xc0, 0xc3, 0x0, 0x0, 0xc3,
0x2, 0xf0, 0x3c, 0xc, 0x30, 0xb, 0xdf, 0xdd,
0x7f, 0x4, 0xb0, 0xc3, 0x0, 0x11, 0xe3, 0x13,
0xf0, 0x6a, 0xc, 0x30, 0x0, 0xf, 0x70, 0x2f,
0x8, 0x90, 0xc3, 0x0, 0x3, 0xdd, 0x60, 0x50,
0xdd, 0x42, 0x0, 0x0, 0x88, 0x2f, 0x50, 0x6d,
0x94, 0x8, 0x20, 0xe, 0x30, 0x68, 0x2f, 0x49,
0x40, 0xc4, 0x8, 0xb0, 0x0, 0x3e, 0x70, 0x95,
0xe, 0x20, 0xc2, 0x0, 0x2f, 0x70, 0x4, 0xff,
0xb0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0,
0x0,
/* U+9006 "逆" */
0x6, 0x0, 0x6, 0x50, 0x0, 0x56, 0x0, 0xd,
0x70, 0x2, 0xe4, 0x1, 0xe4, 0x0, 0x2, 0xe3,
0x67, 0xb8, 0x7c, 0xd7, 0x70, 0x0, 0x40, 0x78,
0x88, 0xf8, 0x88, 0x81, 0x0, 0x0, 0x17, 0x0,
0xf1, 0x6, 0x20, 0xaf, 0xe0, 0x2d, 0x0, 0xf1,
0xc, 0x40, 0x2, 0xf0, 0x2d, 0x0, 0xf1, 0xc,
0x40, 0x1, 0xf0, 0x2f, 0x99, 0xf9, 0x9e, 0x40,
0x1, 0xf0, 0x6, 0x6a, 0xd6, 0x6d, 0x40, 0x1,
0xf0, 0x0, 0xc, 0x80, 0x1, 0x0, 0x1, 0xf0,
0x0, 0x9e, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x1c,
0xe2, 0x0, 0x0, 0x0, 0x5f, 0x9d, 0x48, 0x10,
0x0, 0x0, 0x0, 0x85, 0x5, 0xcf, 0xff, 0xff,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 54, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 12, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 117, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 208, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 299, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 397, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 502, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 607, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 720, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -3},
{.bitmap_index = 833, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -3}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_0[] = {
0x0, 0x539e, 0x562e, 0x5751, 0x5dfe, 0x6334, 0x6536, 0x7c41,
0x898a, 0x8fcc
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 58, .range_length = 36813, .glyph_id_start = 1,
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 10, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_MSYAHEI_CT_bpp4_14px = {
#else
lv_font_t MXC_MSYAHEI_CT_bpp4_14px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 16, /*The maximum line height required by the font*/
.base_line = 3, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
//.fallback = NULL,
//.user_data = NULL
};
#endif /*#if MXC_MSYAHEI_CT_BPP4_14PX*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,182 @@
/*******************************************************************************
* Size: 10 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_CT_BPP4_10PX
#define MXC_WRYH_CT_BPP4_10PX 1
#endif
#if MXC_WRYH_CT_BPP4_10PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x5, 0xee, 0x80, 0x1f, 0xb8, 0xf5, 0x7f, 0x20,
0xfa, 0x9f, 0x0, 0xdc, 0x9f, 0x0, 0xdb, 0x7f,
0x20, 0xf9, 0x2f, 0xa8, 0xf4, 0x6, 0xef, 0x80,
/* U+0031 "1" */
0x0, 0x3, 0x0, 0x1c, 0xff, 0x0, 0x1a, 0xbf,
0x0, 0x0, 0x8f, 0x0, 0x0, 0x8f, 0x0, 0x0,
0x8f, 0x0, 0x0, 0x8f, 0x0, 0x5, 0xbf, 0x63,
0x1f, 0xff, 0xfa,
/* U+0032 "2" */
0x9, 0xef, 0xa0, 0x1c, 0x79, 0xf6, 0x0, 0x1,
0xf8, 0x0, 0x6, 0xf3, 0x0, 0x4f, 0x80, 0x4,
0xf8, 0x0, 0x3f, 0xd7, 0x73, 0x6f, 0xff, 0xf8,
/* U+0033 "3" */
0xb, 0xfe, 0x80, 0x7, 0x5a, 0xf3, 0x0, 0x18,
0xf2, 0x7, 0xff, 0x60, 0x1, 0x4a, 0xf3, 0x0,
0x1, 0xf8, 0x38, 0x5a, 0xf4, 0x2d, 0xfe, 0x70,
/* U+0034 "4" */
0x0, 0xe, 0xf0, 0x0, 0x8f, 0xf0, 0x2, 0xf9,
0xf0, 0xc, 0x77, 0xf0, 0x6d, 0x7, 0xf0, 0xcf,
0xff, 0xfe, 0x23, 0x39, 0xf2, 0x0, 0x7, 0xf0,
/* U+0035 "5" */
0xe, 0xff, 0xf3, 0xe, 0xa6, 0x61, 0xe, 0x70,
0x0, 0xe, 0xff, 0xa0, 0x4, 0x49, 0xf6, 0x0,
0x1, 0xf7, 0x18, 0x5a, 0xf3, 0x1d, 0xfd, 0x60,
/* U+0036 "6" */
0x1, 0xaf, 0xf3, 0xb, 0xf7, 0x62, 0x2f, 0x60,
0x0, 0x5f, 0xaf, 0xd2, 0x7f, 0x95, 0xfa, 0x5f,
0x30, 0xcc, 0x1f, 0xb6, 0xf8, 0x4, 0xdf, 0xa0,
/* U+0037 "7" */
0x8f, 0xff, 0xfb, 0x36, 0x67, 0xf7, 0x0, 0x6,
0xf1, 0x0, 0xc, 0xb0, 0x0, 0x3f, 0x50, 0x0,
0xae, 0x0, 0x1, 0xf9, 0x0, 0x7, 0xf3, 0x0,
/* U+0038 "8" */
0x7, 0xef, 0xa0, 0x3f, 0x96, 0xf7, 0x3f, 0x52,
0xf6, 0x8, 0xfe, 0xa0, 0x1d, 0x98, 0xe3, 0x7f,
0x0, 0xca, 0x6f, 0x75, 0xf9, 0x9, 0xee, 0xa1,
/* U+0039 "9" */
0x7, 0xee, 0x70, 0x4f, 0x99, 0xf3, 0x8f, 0x0,
0xf8, 0x7f, 0x43, 0xfa, 0x1d, 0xfe, 0xf9, 0x0,
0x21, 0xf6, 0x16, 0x5c, 0xe0, 0x1e, 0xfc, 0x30,
/* U+00B7 "·" */
0x2f, 0xdd, 0xdf, 0x12, 0xa0, 0x0, 0xb1, 0x2a,
0x0, 0xb, 0x12, 0xa0, 0x0, 0xb1, 0x2a, 0x0,
0xb, 0x12, 0xa0, 0x0, 0xb1, 0x2a, 0x0, 0xb,
0x12, 0xfd, 0xdd, 0xf1
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 24, .adv_w = 99, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 51, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 75, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 99, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 123, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 147, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 171, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 195, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 219, .adv_w = 99, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 243, .adv_w = 112, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 10, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 1, .glyph_id_start = 11,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_CT_bpp4_10px = {
#else
lv_font_t MXC_WRYH_CT_bpp4_10px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 9, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
// .fallback = NULL,
// .user_data = NULL
};
#endif /*#if MXC_WRYH_CT_BPP4_10PX*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,280 @@
/*******************************************************************************
* Size: 20 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_CT_BPP4_20PX
#define MXC_WRYH_CT_BPP4_20PX 1
#endif
#if MXC_WRYH_CT_BPP4_20PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x3, 0xae, 0xfe, 0x91, 0x0, 0x0, 0x5f,
0xff, 0xff, 0xfe, 0x10, 0x1, 0xff, 0xfa, 0x7e,
0xff, 0xa0, 0x9, 0xff, 0xa0, 0x4, 0xff, 0xf1,
0xe, 0xff, 0x40, 0x0, 0xef, 0xf5, 0x1f, 0xff,
0x10, 0x0, 0xbf, 0xf7, 0x2f, 0xff, 0x0, 0x0,
0xaf, 0xf9, 0x3f, 0xff, 0x0, 0x0, 0x9f, 0xf9,
0x3f, 0xff, 0x0, 0x0, 0xaf, 0xf8, 0x2f, 0xff,
0x0, 0x0, 0xbf, 0xf7, 0xf, 0xff, 0x30, 0x0,
0xef, 0xf4, 0xb, 0xff, 0x90, 0x4, 0xff, 0xe0,
0x4, 0xff, 0xf9, 0x7e, 0xff, 0x70, 0x0, 0x9f,
0xff, 0xff, 0xfb, 0x0, 0x0, 0x6, 0xcf, 0xfd,
0x70, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x25, 0x8c,
0xff, 0x10, 0x0, 0x4f, 0xff, 0xff, 0xf1, 0x0,
0x4, 0xff, 0xff, 0xff, 0x10, 0x0, 0x26, 0x31,
0xff, 0xf1, 0x0, 0x0, 0x0, 0xf, 0xff, 0x10,
0x0, 0x0, 0x0, 0xff, 0xf1, 0x0, 0x0, 0x0,
0xf, 0xff, 0x10, 0x0, 0x0, 0x0, 0xff, 0xf1,
0x0, 0x0, 0x0, 0xf, 0xff, 0x10, 0x0, 0x0,
0x0, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xf, 0xff,
0x10, 0x0, 0x0, 0x0, 0xff, 0xf1, 0x0, 0x1,
0x88, 0x8f, 0xff, 0x88, 0x81, 0x3f, 0xff, 0xff,
0xff, 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xf3,
/* U+0032 "2" */
0x1, 0x8c, 0xff, 0xea, 0x20, 0x1, 0xff, 0xff,
0xff, 0xff, 0x30, 0x2f, 0xfa, 0x8a, 0xff, 0xfc,
0x1, 0x91, 0x0, 0x5, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x1f, 0xff, 0x10, 0x0, 0x0, 0x3, 0xff,
0xe0, 0x0, 0x0, 0x0, 0xbf, 0xf7, 0x0, 0x0,
0x0, 0x8f, 0xfc, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x20, 0x0, 0x0, 0x9f, 0xfd, 0x20, 0x0, 0x0,
0xaf, 0xfc, 0x10, 0x0, 0x0, 0xbf, 0xfb, 0x0,
0x0, 0x0, 0xbf, 0xff, 0xaa, 0xaa, 0xaa, 0xd,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xdf, 0xff, 0xff,
0xff, 0xff, 0x0,
/* U+0033 "3" */
0x4, 0xad, 0xfe, 0xc6, 0x0, 0x0, 0xef, 0xff,
0xff, 0xfc, 0x0, 0xe, 0xb7, 0x7b, 0xff, 0xf6,
0x0, 0x10, 0x0, 0xc, 0xff, 0x90, 0x0, 0x0,
0x0, 0xaf, 0xf7, 0x0, 0x0, 0x1, 0x7f, 0xfe,
0x10, 0x0, 0xef, 0xff, 0xfb, 0x20, 0x0, 0xe,
0xff, 0xff, 0xa3, 0x0, 0x0, 0x66, 0x8c, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x8, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x3f, 0xff, 0x2, 0x0, 0x0, 0x7,
0xff, 0xf0, 0x7e, 0x97, 0x7a, 0xff, 0xf9, 0x7,
0xff, 0xff, 0xff, 0xfc, 0x0, 0x29, 0xde, 0xfe,
0xb6, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0, 0x0,
0x3, 0xff, 0xfe, 0x0, 0x0, 0x0, 0xc, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x7f, 0xef, 0xfe, 0x0,
0x0, 0x2, 0xff, 0x6f, 0xfe, 0x0, 0x0, 0xb,
0xfc, 0xf, 0xfe, 0x0, 0x0, 0x6f, 0xf2, 0xf,
0xfe, 0x0, 0x1, 0xef, 0x70, 0xf, 0xfe, 0x0,
0xa, 0xfd, 0x0, 0xf, 0xfe, 0x0, 0x4f, 0xf7,
0x44, 0x4f, 0xff, 0x43, 0x9f, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0,
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xf,
0xfe, 0x0,
/* U+0035 "5" */
0xd, 0xff, 0xff, 0xff, 0xf6, 0x0, 0xdf, 0xff,
0xff, 0xff, 0x60, 0xd, 0xff, 0x99, 0x99, 0x93,
0x0, 0xdf, 0xe0, 0x0, 0x0, 0x0, 0xd, 0xfe,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xe6, 0x64, 0x0,
0x0, 0xd, 0xff, 0xff, 0xff, 0x60, 0x0, 0xdf,
0xff, 0xff, 0xff, 0x60, 0x1, 0x0, 0x15, 0xef,
0xfd, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x2f, 0xff, 0x1, 0x0, 0x0, 0x8,
0xff, 0xe0, 0x4f, 0xa7, 0x7b, 0xff, 0xf7, 0x4,
0xff, 0xff, 0xff, 0xf9, 0x0, 0x19, 0xde, 0xfe,
0xb4, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x2, 0x9d, 0xff, 0xd5, 0x0, 0x5, 0xff,
0xff, 0xff, 0x90, 0x4, 0xff, 0xfb, 0x77, 0x97,
0x0, 0xdf, 0xf6, 0x0, 0x0, 0x0, 0x4f, 0xfa,
0x0, 0x0, 0x0, 0x9, 0xff, 0x57, 0xdf, 0xd7,
0x0, 0xcf, 0xfc, 0xff, 0xff, 0xf9, 0xe, 0xff,
0xf9, 0x6a, 0xff, 0xf2, 0xef, 0xfa, 0x0, 0xc,
0xff, 0x7d, 0xff, 0x50, 0x0, 0x8f, 0xf9, 0xbf,
0xf6, 0x0, 0x9, 0xff, 0x86, 0xff, 0xc0, 0x0,
0xdf, 0xf5, 0xe, 0xff, 0xb7, 0xcf, 0xfd, 0x0,
0x4f, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x2a, 0xef,
0xe9, 0x10, 0x0,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xf6, 0x99, 0x99, 0x99, 0x9f, 0xff,
0x0, 0x0, 0x0, 0x4, 0xff, 0x90, 0x0, 0x0,
0x0, 0xbf, 0xf3, 0x0, 0x0, 0x0, 0x2f, 0xfd,
0x0, 0x0, 0x0, 0x9, 0xff, 0x60, 0x0, 0x0,
0x1, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x7f, 0xfa,
0x0, 0x0, 0x0, 0xe, 0xff, 0x30, 0x0, 0x0,
0x5, 0xff, 0xd0, 0x0, 0x0, 0x0, 0xcf, 0xf6,
0x0, 0x0, 0x0, 0x3f, 0xff, 0x10, 0x0, 0x0,
0xa, 0xff, 0xa0, 0x0, 0x0, 0x1, 0xff, 0xf3,
0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x5, 0xcf, 0xfd, 0x92, 0x0, 0x0, 0xaf,
0xff, 0xff, 0xff, 0x40, 0x5, 0xff, 0xf7, 0x5b,
0xff, 0xe0, 0x9, 0xff, 0x70, 0x0, 0xff, 0xf0,
0x8, 0xff, 0x70, 0x0, 0xff, 0xe0, 0x2, 0xff,
0xf5, 0x1b, 0xff, 0x70, 0x0, 0x4e, 0xff, 0xff,
0xf7, 0x0, 0x0, 0x19, 0xff, 0xff, 0xb3, 0x0,
0x2, 0xef, 0xf6, 0x5d, 0xff, 0x60, 0xb, 0xff,
0x40, 0x0, 0xdf, 0xf2, 0xf, 0xfe, 0x0, 0x0,
0x8f, 0xf6, 0x1f, 0xff, 0x10, 0x0, 0xbf, 0xf6,
0xd, 0xff, 0xd6, 0x5a, 0xff, 0xf2, 0x3, 0xff,
0xff, 0xff, 0xff, 0x60, 0x0, 0x19, 0xdf, 0xfd,
0x93, 0x0,
/* U+0039 "9" */
0x0, 0x6, 0xcf, 0xfc, 0x60, 0x0, 0x0, 0xbf,
0xff, 0xff, 0xfa, 0x0, 0x8, 0xff, 0xf8, 0x8f,
0xff, 0x60, 0xe, 0xff, 0x40, 0x4, 0xff, 0xd0,
0x1f, 0xff, 0x0, 0x0, 0xef, 0xf2, 0x1f, 0xff,
0x10, 0x0, 0xef, 0xf4, 0xe, 0xff, 0xa1, 0x19,
0xff, 0xf5, 0x6, 0xff, 0xff, 0xff, 0xff, 0xf5,
0x0, 0x7f, 0xff, 0xf9, 0xcf, 0xf4, 0x0, 0x1,
0x45, 0x20, 0xef, 0xf1, 0x0, 0x0, 0x0, 0x2,
0xff, 0xd0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x70,
0x4, 0xd8, 0x68, 0xdf, 0xfd, 0x0, 0x4, 0xff,
0xff, 0xff, 0xd1, 0x0, 0x2, 0xae, 0xff, 0xc7,
0x0, 0x0,
/* U+003A ":" */
0x6, 0xed, 0x30, 0xff, 0xfa, 0xb, 0xff, 0x60,
0x4, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4, 0x20, 0xb, 0xff, 0x60, 0xff,
0xfa, 0x6, 0xfd, 0x30,
/* U+00B7 "·" */
0x4f, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x4f, 0xb8,
0x88, 0x88, 0x8b, 0xf3, 0x4f, 0x50, 0x0, 0x0,
0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3,
0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50,
0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0,
0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3,
0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50,
0x0, 0x0, 0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0,
0x5, 0xf3, 0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3,
0x4f, 0x50, 0x0, 0x0, 0x5, 0xf3, 0x4f, 0xb8,
0x88, 0x88, 0x8b, 0xf3, 0x4f, 0xff, 0xff, 0xff,
0xff, 0xf3
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 90, .adv_w = 197, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 178, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 261, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 344, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 434, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 517, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 600, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 683, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 773, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 863, .adv_w = 91, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 891, .adv_w = 223, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 11, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 1, .glyph_id_start = 12,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_CT_bpp4_20px = {
#else
lv_font_t MXC_WRYH_CT_bpp4_20px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 16, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
// .fallback = NULL,
// .user_data = NULL
};
#endif /*#if MXC_WRYH_CT_BPP4_20PX*/

View File

@ -0,0 +1,292 @@
/*******************************************************************************
* Size: 22 px
* Bpp: 4
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_WRYH_CT_BPP4_22PX
#define MXC_WRYH_CT_BPP4_22PX 1
#endif
#if MXC_WRYH_CT_BPP4_22PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x0, 0x7d, 0xff, 0xd7, 0x0, 0x0, 0x1,
0xdf, 0xff, 0xff, 0xfd, 0x10, 0x0, 0xcf, 0xff,
0xbc, 0xff, 0xfa, 0x0, 0x5f, 0xff, 0x50, 0xa,
0xff, 0xf1, 0xa, 0xff, 0xc0, 0x0, 0x3f, 0xff,
0x60, 0xef, 0xf8, 0x0, 0x0, 0xff, 0xf9, 0xf,
0xff, 0x60, 0x0, 0xd, 0xff, 0xb1, 0xff, 0xf5,
0x0, 0x0, 0xcf, 0xfb, 0x2f, 0xff, 0x50, 0x0,
0xc, 0xff, 0xb1, 0xff, 0xf6, 0x0, 0x0, 0xdf,
0xfa, 0xf, 0xff, 0x80, 0x0, 0xf, 0xff, 0x80,
0xcf, 0xfc, 0x0, 0x3, 0xff, 0xf4, 0x7, 0xff,
0xf4, 0x0, 0xaf, 0xfe, 0x0, 0x1f, 0xff, 0xfa,
0xcf, 0xff, 0x60, 0x0, 0x4f, 0xff, 0xff, 0xff,
0x90, 0x0, 0x0, 0x29, 0xef, 0xeb, 0x50, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x2, 0x68, 0x0, 0x0, 0x5, 0x9c,
0xff, 0xfe, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xfe,
0x0, 0x0, 0x2f, 0xff, 0xef, 0xfe, 0x0, 0x0,
0x17, 0x30, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xfe, 0x0, 0x0, 0xb, 0xbb, 0xdf, 0xff,
0xbb, 0xb4, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf5,
0xf, 0xff, 0xff, 0xff, 0xff, 0xf5,
/* U+0032 "2" */
0x0, 0x5a, 0xef, 0xfd, 0x81, 0x0, 0xc, 0xff,
0xff, 0xff, 0xfe, 0x30, 0xf, 0xff, 0xdc, 0xff,
0xff, 0xd0, 0xd, 0x70, 0x0, 0xb, 0xff, 0xf2,
0x1, 0x0, 0x0, 0x5, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x5, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xb,
0xff, 0xb0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x30,
0x0, 0x0, 0x6, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x7f, 0xff, 0x60, 0x0, 0x0, 0x9, 0xff, 0xf5,
0x0, 0x0, 0x0, 0xaf, 0xfe, 0x30, 0x0, 0x0,
0x1c, 0xff, 0xd2, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xee, 0xee, 0xee, 0xe1, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xf1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf1,
/* U+0033 "3" */
0x2, 0x8c, 0xef, 0xdb, 0x50, 0x0, 0xa, 0xff,
0xff, 0xff, 0xfc, 0x0, 0xa, 0xfc, 0xab, 0xff,
0xff, 0x70, 0x3, 0x0, 0x0, 0x2f, 0xff, 0xa0,
0x0, 0x0, 0x0, 0xe, 0xff, 0x80, 0x0, 0x0,
0x3, 0xaf, 0xff, 0x10, 0x0, 0x9f, 0xff, 0xff,
0xc2, 0x0, 0x0, 0x9f, 0xff, 0xfd, 0x71, 0x0,
0x0, 0x5a, 0xbd, 0xff, 0xfe, 0x30, 0x0, 0x0,
0x0, 0x3e, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x7,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf2,
0x35, 0x0, 0x0, 0x1e, 0xff, 0xe0, 0x4f, 0xeb,
0xab, 0xff, 0xff, 0x80, 0x4f, 0xff, 0xff, 0xff,
0xf9, 0x0, 0x6, 0xce, 0xff, 0xda, 0x30, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0xd, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x4,
0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0xef, 0xdf,
0xfe, 0x0, 0x0, 0x0, 0x9f, 0xf6, 0xff, 0xe0,
0x0, 0x0, 0x4f, 0xf6, 0x4f, 0xfe, 0x0, 0x0,
0x1e, 0xfb, 0x4, 0xff, 0xe0, 0x0, 0xa, 0xff,
0x10, 0x4f, 0xfe, 0x0, 0x5, 0xff, 0x60, 0x4,
0xff, 0xe0, 0x1, 0xef, 0xb0, 0x0, 0x4f, 0xfe,
0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x47, 0x77,
0x77, 0x79, 0xff, 0xf7, 0x60, 0x0, 0x0, 0x0,
0x4f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xfe, 0x0,
/* U+0035 "5" */
0xa, 0xff, 0xff, 0xff, 0xff, 0x70, 0xa, 0xff,
0xff, 0xff, 0xff, 0x70, 0xa, 0xff, 0xed, 0xdd,
0xdd, 0x50, 0xa, 0xff, 0x50, 0x0, 0x0, 0x0,
0xa, 0xff, 0x50, 0x0, 0x0, 0x0, 0xa, 0xff,
0xba, 0x96, 0x10, 0x0, 0xa, 0xff, 0xff, 0xff,
0xf7, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0x60,
0x1, 0x10, 0x2, 0x8f, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x5,
0xff, 0xf3, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf1,
0x16, 0x0, 0x0, 0x3f, 0xff, 0xd0, 0x1f, 0xeb,
0xac, 0xff, 0xff, 0x40, 0x1f, 0xff, 0xff, 0xff,
0xf6, 0x0, 0x7, 0xce, 0xff, 0xd9, 0x20, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x5b, 0xef, 0xfd, 0x60, 0x0, 0x1c,
0xff, 0xff, 0xff, 0x90, 0x0, 0xcf, 0xff, 0xda,
0xbd, 0x90, 0x8, 0xff, 0xe4, 0x0, 0x0, 0x0,
0xf, 0xff, 0x40, 0x0, 0x0, 0x0, 0x5f, 0xfc,
0x2a, 0xef, 0xd6, 0x0, 0x9f, 0xfc, 0xef, 0xff,
0xff, 0x80, 0xbf, 0xff, 0xfa, 0xae, 0xff, 0xf3,
0xcf, 0xff, 0x40, 0x2, 0xff, 0xf8, 0xcf, 0xfd,
0x0, 0x0, 0xbf, 0xfb, 0xbf, 0xfc, 0x0, 0x0,
0xaf, 0xfb, 0x7f, 0xfe, 0x0, 0x0, 0xcf, 0xf9,
0x2f, 0xff, 0x70, 0x4, 0xff, 0xf5, 0xa, 0xff,
0xfc, 0xbf, 0xff, 0xc0, 0x1, 0xcf, 0xff, 0xff,
0xfd, 0x20, 0x0, 0x7, 0xcf, 0xfd, 0x70, 0x0,
/* U+0037 "7" */
0xef, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xef, 0xff,
0xff, 0xff, 0xff, 0xf8, 0xbd, 0xdd, 0xdd, 0xdd,
0xff, 0xf3, 0x0, 0x0, 0x0, 0x6, 0xff, 0xc0,
0x0, 0x0, 0x0, 0xd, 0xff, 0x50, 0x0, 0x0,
0x0, 0x4f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xf8, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf2, 0x0,
0x0, 0x0, 0xa, 0xff, 0xb0, 0x0, 0x0, 0x0,
0x1f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x8f, 0xfe,
0x0, 0x0, 0x0, 0x0, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x7, 0xff, 0xf1, 0x0, 0x0, 0x0, 0xe,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x30,
0x0, 0x0, 0x0, 0xcf, 0xfd, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x2, 0x9d, 0xff, 0xd8, 0x10, 0x0, 0x6,
0xff, 0xff, 0xff, 0xff, 0x30, 0x2, 0xff, 0xfe,
0x89, 0xff, 0xfe, 0x0, 0x7f, 0xfe, 0x10, 0x4,
0xff, 0xf2, 0x7, 0xff, 0xd0, 0x0, 0x2f, 0xff,
0x10, 0x3f, 0xff, 0x50, 0xa, 0xff, 0xb0, 0x0,
0x7f, 0xff, 0xbd, 0xff, 0xd1, 0x0, 0x0, 0x3e,
0xff, 0xff, 0x90, 0x0, 0x0, 0x4d, 0xff, 0xad,
0xff, 0xb1, 0x0, 0x3f, 0xfe, 0x30, 0x8, 0xff,
0xd0, 0xc, 0xff, 0x70, 0x0, 0xd, 0xff, 0x60,
0xff, 0xf4, 0x0, 0x0, 0xbf, 0xf9, 0xf, 0xff,
0xa0, 0x0, 0x1e, 0xff, 0x80, 0x9f, 0xff, 0xc8,
0x9e, 0xff, 0xf2, 0x1, 0xcf, 0xff, 0xff, 0xff,
0xf6, 0x0, 0x0, 0x6b, 0xef, 0xfd, 0x82, 0x0,
/* U+0039 "9" */
0x0, 0x3, 0xae, 0xfe, 0xb4, 0x0, 0x0, 0x7,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x4, 0xff, 0xfe,
0xbd, 0xff, 0xf5, 0x0, 0xcf, 0xfd, 0x10, 0xa,
0xff, 0xd0, 0xf, 0xff, 0x60, 0x0, 0x2f, 0xff,
0x20, 0xff, 0xf6, 0x0, 0x1, 0xff, 0xf5, 0xe,
0xff, 0xc0, 0x0, 0x7f, 0xff, 0x70, 0x9f, 0xff,
0xd9, 0xbf, 0xff, 0xf7, 0x0, 0xdf, 0xff, 0xff,
0xde, 0xff, 0x60, 0x0, 0x8d, 0xfe, 0x91, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x10,
0x0, 0x0, 0x0, 0x9, 0xff, 0xc0, 0x0, 0x20,
0x0, 0x6, 0xff, 0xf5, 0x0, 0x2f, 0xda, 0xad,
0xff, 0xfb, 0x0, 0x2, 0xff, 0xff, 0xff, 0xfb,
0x0, 0x0, 0x8, 0xde, 0xfe, 0xa5, 0x0, 0x0,
/* U+003A ":" */
0x4d, 0xe7, 0xd, 0xff, 0xf1, 0xbf, 0xfe, 0x1,
0x88, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x17, 0x82, 0xb, 0xff,
0xe0, 0xdf, 0xff, 0x14, 0xee, 0x70,
/* U+00B7 "·" */
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x61, 0xfe,
0xbb, 0xbb, 0xbb, 0xbc, 0xf6, 0x1f, 0xa0, 0x0,
0x0, 0x0, 0x4f, 0x61, 0xfa, 0x0, 0x0, 0x0,
0x4, 0xf6, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x4f,
0x61, 0xfa, 0x0, 0x0, 0x0, 0x4, 0xf6, 0x1f,
0xa0, 0x0, 0x0, 0x0, 0x4f, 0x61, 0xfa, 0x0,
0x0, 0x0, 0x4, 0xf6, 0x1f, 0xa0, 0x0, 0x0,
0x0, 0x4f, 0x61, 0xfa, 0x0, 0x0, 0x0, 0x4,
0xf6, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x4f, 0x61,
0xfa, 0x0, 0x0, 0x0, 0x4, 0xf6, 0x1f, 0xa0,
0x0, 0x0, 0x0, 0x4f, 0x61, 0xfa, 0x0, 0x0,
0x0, 0x4, 0xf6, 0x1f, 0xeb, 0xbb, 0xbb, 0xbb,
0xcf, 0x61, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 104, .adv_w = 217, .box_w = 12, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 206, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 302, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 398, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 502, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 598, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 694, .adv_w = 217, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 790, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 894, .adv_w = 217, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 998, .adv_w = 101, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1028, .adv_w = 245, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 11, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 183, .range_length = 1, .glyph_id_start = 12,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LVGL_VERSION_MAJOR == 8
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
#endif
#if LVGL_VERSION_MAJOR >= 8
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 4,
.kern_classes = 0,
.bitmap_format = 0,
#if LVGL_VERSION_MAJOR == 8
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LVGL_VERSION_MAJOR >= 8
const lv_font_t MXC_WRYH_CT_bpp4_22px = {
#else
lv_font_t MXC_WRYH_CT_bpp4_22px = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 17, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
// .fallback = NULL,
// .user_data = NULL
};
#endif /*#if MXC_WRYH_CT_BPP4_22PX*/

Some files were not shown because too many files have changed in this diff Show More