demo工程暂存 优化菜单界面UI和功能

This commit is contained in:
2024-04-29 16:32:24 +08:00
commit 330cd25cf1
3310 changed files with 2163318 additions and 0 deletions

View File

@ -0,0 +1,237 @@
#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;
#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);
}

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,920 @@
#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);
}
}
#if 1
//定时刷新函数
static int espeed_counter = 0;
static int water_counter = 0;
static int oil_counter = 0;
void refresh_timer_cb(lv_timer_t *t)
{
printf("enter refresh_timer_cb()...\n");
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;
}
//printf("AAA...\n");
//if(Get_sys_power_on_self_test() == 0) //单板需要,模拟器需注释
//return;
//printf("BBB...\n");
static int GearValue = 0, SpeedValue = 0;
static float VoltValue = 11.0;
static int espeedFlag = 0, espeed = 0;
static float espeedangle = 600.0; //espeedpointFlag = 0
static int waterFlag = 0, waterspeed = 0;
static int waterangle = 0;
static int oilFlag = 0, oilspeed = 0;
static int oilangle = 0;
//获取主界面子对象
lv_obj_t* pSpeed = lv_obj_get_child(parent, 15); //获取档位信息
lv_obj_t* pGear = lv_obj_get_child(parent, 17); //获取速度信息
lv_obj_t* pTimelabel = lv_obj_get_child(parent, 18); //获取当前时间
lv_obj_t* pVoltage = lv_obj_get_child(parent, 19); //获取电瓶电压
lv_obj_t* pEspeedArc = lv_obj_get_child(parent, 20); //转速圆弧 //lv_obj_t* pEspeedImg = lv_obj_get_child(parent, 21);//转速颜色条
lv_obj_t* pEspeedPoint = lv_obj_get_child(parent, 26); //转速指针
lv_obj_t* pWaterArc = lv_obj_get_child(parent, 22); //水箱圆弧
lv_obj_t* pWaterPoint = lv_obj_get_child(parent, 27); //水箱指针
lv_obj_t* pOilArc = lv_obj_get_child(parent, 23); //油箱圆弧
lv_obj_t* pOilPoint = lv_obj_get_child(parent, 28); //油箱指针
//档位数据
lv_label_set_text_fmt(pGear, "%d", GearValue);
//速度数据
lv_obj_set_width(pSpeed, 90);
lv_obj_set_style_text_align(pSpeed, LV_TEXT_ALIGN_CENTER, 0);
lv_label_set_text_fmt(pSpeed, "%d", SpeedValue);
//printf("SpeedValue = %d\n", SpeedValue);
//当前时间,时间更新
lv_label_set_text(pTimelabel, GetCurTimeString()); //获取当前时间
//电瓶电压
lv_label_set_text_fmt(pVoltage, "%0.1fV", VoltValue);
printf("VoltValue = %0.1f\n", VoltValue);
//档位数据
GearValue++;
if(GearValue == 8)
{
GearValue = 0;
}
//速度数据
SpeedValue += 10;
if(SpeedValue == 350)
{
SpeedValue = 0;
}
//电压数据
VoltValue = VoltValue + 0.1;
if(VoltValue > 13.0)
{
VoltValue = 11.0;
}
//转速圆弧
lv_arc_set_value(pEspeedArc, espeed); //设置圆弧值范围 (0~120),实际转速值缩小100倍
//转速指针
lv_img_set_angle(pEspeedPoint, espeedangle); //圆弧指针角度范围 (150~30),分60份4度
printf("espeedangle = %0.1f\n", espeedangle);
if(espeedFlag%2 == 0)
{
espeed += 2;
espeedangle += 40;
}
else
{
espeed -= 2;
espeedangle -= 40;
}
espeed_counter++;
espeedFlag = espeed_counter/60;
//水箱圆弧
lv_arc_set_value(pWaterArc, waterspeed); //水温范围值(0~100),圆弧值范围 (0~100)
//水箱指针
lv_img_set_angle(pWaterPoint, waterangle + 2200); //圆弧指针角度范围 (220~340)
printf("waterangle = %d\n", waterangle);
if(waterFlag%2 == 0)
{
waterspeed = waterspeed + 1;
waterangle = waterangle + 10;
}
else
{
waterspeed = waterspeed - 1;
waterangle = waterangle - 10;
}
water_counter++;
waterFlag = water_counter/100;
//水箱圆弧
lv_arc_set_value(pOilArc, oilspeed); //水温范围值(0~100),圆弧值范围 (0~100)
//水箱指针
lv_img_set_angle(pOilPoint, oilangle + 2200); //圆弧指针角度范围 (220~340)
printf("oilangle = %d\n", oilangle);
if(oilFlag%2 == 0)
{
oilspeed = oilspeed + 1;
oilangle = oilangle + 10;
}
else
{
oilspeed = oilspeed - 1;
oilangle = oilangle - 10;
}
oil_counter++;
oilFlag = oil_counter/100;
/*printf("-------\n");
if(num%2==0)
speed_angle+=20;
else
speed_angle-=20;
if(speed_angle >= 3000|| speed_angle == 0)
num++;
printf("num = %d\n", num);
printf("speed_angle = %d\n", speed_angle);
*/
}
#else if
void refresh_timer_cb(lv_timer_t *t)
{
printf("enter refresh_timer_cb()...\n");
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;
}
//printf("AAA...\n");
//if(Get_sys_power_on_self_test() == 0) //单板需要,模拟器需注释
//return;
//printf("BBB...\n");
static int num=0,bar_num=0,peed_num=0,gear_num=0,mileage=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_obj_t * trip_mileage = lv_obj_get_child(parent,14);
lv_obj_t * odo_mileage = lv_obj_get_child(parent,15);
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);
lv_label_set_text_fmt(trip_mileage, "%d",speed_value);
lv_label_set_text_fmt(odo_mileage, "%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++;
printf("num = %d\n", num);
printf("speed_angle = %d\n", speed_angle);
//速度
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++;
mileage++;
if(mileage>=888888)
mileage=0;
}
#endif
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 = %d . code = 0x%02d \n",key_code,code);
switch (key_code)
{
case LV_KEY_W:
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 1
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,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);
lv_obj_clear_flag(win2_screen, LV_OBJ_FLAG_SCROLLABLE);
//背景 0
lv_obj_t* panel_bg_img = lv_img_big_create(win2_screen, panel_blackgroud_src, 106, 15, 6, 0);
//加载左转向 1
lv_obj_t* pTurnLeft = lv_img_create(win2_screen);
lv_obj_align(pTurnLeft, LV_ALIGN_TOP_LEFT, 12, 7);
lv_img_set_src(pTurnLeft, IMG_A36_LEFT_ICO);
//加载右转向 2
lv_obj_t* pTurnRight = lv_img_create(win2_screen);
lv_obj_align(pTurnRight, LV_ALIGN_TOP_LEFT, 446, 7);
lv_img_set_src(pTurnRight, IMG_A36_RIGHT_ICO);
//加载绿灯A 3
lv_obj_t* pGreenLightA = lv_img_create(win2_screen);
lv_obj_align(pGreenLightA, LV_ALIGN_TOP_LEFT, 52, 10);
lv_img_set_src(pGreenLightA, IMG_A36_GREENALIGHT_ICO);
//加载绿灯 4
lv_obj_t* pGreenLight = lv_img_create(win2_screen);
lv_obj_align(pGreenLight, LV_ALIGN_TOP_LEFT, 86, 10);
lv_img_set_src(pGreenLight, IMG_A36_GREENLIGHT_ICO);
//加载蓝灯 5
lv_obj_t* pBlueLight = lv_img_create(win2_screen);
lv_obj_align(pBlueLight, LV_ALIGN_TOP_LEFT, 119, 10);
lv_img_set_src(pBlueLight, IMG_A36_BLUELIGHT_ICO);
//加载蓝牙 6
lv_obj_t* pBlueTooth = lv_img_create(win2_screen);
lv_obj_align(pBlueTooth, LV_ALIGN_TOP_LEFT, 422, 10);
lv_img_set_src(pBlueTooth, IMG_A36_BLUETOOTH_ICO);
//加载右黄色图标1 7
lv_obj_t* pRightYellow1 = lv_img_create(win2_screen);
lv_obj_align(pRightYellow1, LV_ALIGN_TOP_LEFT, 425.8, 249.3);
lv_img_set_src(pRightYellow1, IMG_A36_RIGHTYELLOW1_ICO);
//加载右黄色图标2 8
lv_obj_t* pRightYellow2 = lv_img_create(win2_screen);
lv_obj_align(pRightYellow2, LV_ALIGN_TOP_LEFT, 395, 249);
lv_img_set_src(pRightYellow2, IMG_A36_RIGHTYELLOW2_ICO);
//加载右黄色图标3 9
lv_obj_t* pRightYellow3 = lv_img_create(win2_screen);
lv_obj_align(pRightYellow3, LV_ALIGN_TOP_LEFT, 352, 248.9);
lv_img_set_src(pRightYellow3, IMG_A36_RIGHTYELLOW3_ICO);
//加载左红色图标1 10
lv_obj_t* pLeftRed1 = lv_img_create(win2_screen);
lv_obj_align(pLeftRed1, LV_ALIGN_TOP_LEFT, 14, 250.67);
lv_img_set_src(pLeftRed1, IMG_A36_LEFTRED1_ICO);
//加载左红色图标2 11
lv_obj_t* pLeftRed2 = lv_img_create(win2_screen);
lv_obj_align(pLeftRed2, LV_ALIGN_TOP_LEFT, 107.7, 251.57);
lv_img_set_src(pLeftRed2, IMG_A36_LEFTRED2_ICO);
//加载水箱图标 12
lv_obj_t* pWaterTank = lv_img_create(win2_screen);
lv_obj_align(pWaterTank, LV_ALIGN_TOP_LEFT, 397, 71.6);
lv_img_set_src(pWaterTank, IMG_A36_WATER_ICO);
//加载水箱图标 13
lv_obj_t* pOilTank = lv_img_create(win2_screen);
lv_obj_align(pOilTank, LV_ALIGN_TOP_LEFT, 397, 175.7);
lv_img_set_src(pOilTank, IMG_A36_OIL_ICO);
//加载转速单位 14
lv_obj_t* pLabel_ESpeedUnit = lv_label_create(win2_screen);
lv_obj_set_style_text_font(pLabel_ESpeedUnit, LV_FONT_MXC_MSYAHEI_CT_10PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_ESpeedUnit, "x1000r/min"); //实际使用需要换成一个变量
lv_obj_align(pLabel_ESpeedUnit, LV_ALIGN_TOP_LEFT, 209, 89);
//加载速度数据 15
lv_obj_t* pLabel_Speed = lv_label_create(win2_screen);
lv_obj_set_style_text_font(pLabel_Speed, LV_FONT_MXC_MSYAHEI_CT_48PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Speed, "135"); //实际使用需要换成一个变量
lv_obj_align(pLabel_Speed, LV_ALIGN_TOP_LEFT, 194, 107);
//加载速度单位 16
lv_obj_t* pLabel_SpeedUnit = lv_label_create(win2_screen);
lv_obj_set_style_text_font(pLabel_SpeedUnit, LV_FONT_MXC_MSYAHEI_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_SpeedUnit, "km/h");
lv_obj_align(pLabel_SpeedUnit, LV_ALIGN_TOP_LEFT, 221, 169);
//加载档位数据 17
lv_obj_t* pLabel_GearPos = lv_label_create(win2_screen);
lv_obj_set_style_text_font(pLabel_GearPos, LV_FONT_MXC_MSYAHEI_CT_36PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_GearPos, "6");
lv_obj_align(pLabel_GearPos, LV_ALIGN_TOP_LEFT, 227, 187);
//加载当前时间数据 18
lv_obj_t* pLabel_TimeValue = lv_label_create(win2_screen);
lv_obj_set_style_text_font(pLabel_TimeValue, LV_FONT_MXC_MSYAHEI_CT_21PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_TimeValue, "15:36");
lv_obj_align(pLabel_TimeValue, LV_ALIGN_TOP_LEFT, 210, 252);
//加载电瓶电压 19
lv_obj_t* pLabel_Valtage = lv_label_create(win2_screen);
lv_obj_set_style_text_font(pLabel_Valtage, LV_FONT_MXC_MSYAHEI_CT_14PX, LV_STATE_DEFAULT);
lv_label_set_text(pLabel_Valtage, "12.2V");
lv_obj_align(pLabel_Valtage, LV_ALIGN_TOP_LEFT, 44, 250);
//加载转速颜色圆弧 20
lv_obj_t* ui_Arc2 = lv_arc_create(win2_screen);
lv_obj_set_width(ui_Arc2, 270);
lv_obj_set_height(ui_Arc2, 270);
lv_obj_set_x(ui_Arc2, -1);
lv_obj_set_y(ui_Arc2, 11);
lv_obj_set_align(ui_Arc2, LV_ALIGN_CENTER);
lv_arc_set_range(ui_Arc2, 0, 120); //设置圆弧值的范围(转速值缩小100倍)
lv_arc_set_value(ui_Arc2, 2); //设置圆弧的实际大小
lv_arc_set_bg_angles(ui_Arc2, 150, 30);
lv_obj_set_style_arc_color(ui_Arc2, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_opa(ui_Arc2, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_width(ui_Arc2, 10, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_width(ui_Arc2, 75, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_rounded(ui_Arc2, false, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_img_src(ui_Arc2, &A36_colorbar_cfile, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_Arc2, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_Arc2, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
//加载转速数字和刻度 21
lv_obj_t* panel_numscale_img = lv_img_big_create(win2_screen, panel_numscale_src, 114, 22, 3, 0);
//加载水箱颜色 22
lv_obj_t* ui_ArcWaterbar1 = lv_arc_create(win2_screen);
lv_obj_set_width(ui_ArcWaterbar1, 80);
lv_obj_set_height(ui_ArcWaterbar1, 80);
lv_obj_set_x(ui_ArcWaterbar1, 182); //重新调整的坐标位置
lv_obj_set_y(ui_ArcWaterbar1, -49);
lv_obj_set_align(ui_ArcWaterbar1, LV_ALIGN_CENTER);
lv_arc_set_bg_angles(ui_ArcWaterbar1, 300, 60);
lv_obj_set_style_arc_color(ui_ArcWaterbar1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_opa(ui_ArcWaterbar1, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_width(ui_ArcWaterbar1, 30, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_rounded(ui_ArcWaterbar1, false, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_img_src(ui_ArcWaterbar1, &A36_waterbar1_cfile, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_ArcWaterbar1, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_ArcWaterbar1, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
lv_arc_set_range(ui_ArcWaterbar1, 0, 100); //设置圆弧值的范围(转速值缩小100倍)
lv_arc_set_value(ui_ArcWaterbar1, 100);
//加载油箱颜色 23
lv_obj_t* ui_ArcOilbar1 = lv_arc_create(win2_screen);
lv_obj_set_width(ui_ArcOilbar1, 80);
lv_obj_set_height(ui_ArcOilbar1, 80);
lv_obj_set_x(ui_ArcOilbar1, 182); //重新调整的坐标位置
lv_obj_set_y(ui_ArcOilbar1, 55);
lv_obj_set_align(ui_ArcOilbar1, LV_ALIGN_CENTER);
lv_arc_set_bg_angles(ui_ArcOilbar1, 300, 60);
lv_obj_set_style_arc_color(ui_ArcOilbar1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_opa(ui_ArcOilbar1, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_arc_width(ui_ArcOilbar1, 30, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_rounded(ui_ArcOilbar1, false, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_arc_img_src(ui_ArcOilbar1, &A36_oilbar1_cfile, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_ArcOilbar1, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_ArcOilbar1, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
lv_arc_set_range(ui_ArcOilbar1, 0, 100); //范围(转速值缩小100倍)
lv_arc_set_value(ui_ArcOilbar1, 100);
//加载水箱和邮箱刻度图标 24 25
lv_obj_t* pWatersScale = lv_img_create(win2_screen);
lv_obj_align(pWatersScale, LV_ALIGN_TOP_LEFT, 433, 54);
lv_img_set_src(pWatersScale, IMG_A36_WATERSCALE_ICO);
lv_obj_t* pOilScale = lv_img_create(win2_screen);
lv_obj_align(pOilScale, LV_ALIGN_TOP_LEFT, 433, 158);
lv_img_set_src(pOilScale, IMG_A36_OILSCALE_ICO);
//转速指针 26
lv_obj_t* pESpeedPoint_img = lv_img_create(win2_screen);
lv_img_set_src(pESpeedPoint_img, IMG_A36_ESPEEDPOINT_ICO1);
// lv_obj_update_layout(pESpeedPoint_img); //更新图片布局信息
lv_obj_align(pESpeedPoint_img, LV_ALIGN_TOP_LEFT, 220, 212); //原始计算坐标(220,212)
lv_img_set_pivot(pESpeedPoint_img, 19, -67); //原始计算坐标(16, -82)绝对坐标转换后的结果,修正坐标 (19,-68)
lv_img_set_angle(pESpeedPoint_img, 3000);
//水箱指针 27 (图形失真)
lv_obj_t* pWaterpoint_img = lv_img_create(win2_screen);
lv_img_set_src(pWaterpoint_img, IMG_A36_WATERPOINT_ICO1);
// lv_obj_update_layout(pWaterpoint_img); //更新图片布局信息
lv_obj_align(pWaterpoint_img, LV_ALIGN_TOP_LEFT, 412, 87); //原始计算坐标(397+15,72+15),
lv_img_set_pivot(pWaterpoint_img, 0, 0); //原始计算坐标(0, 0)
lv_img_set_angle(pWaterpoint_img, 0);
//油箱指针 28 (图形失真)
lv_obj_t* pOilpoint_img = lv_img_create(win2_screen);
lv_img_set_src(pOilpoint_img, IMG_A36_OILPOINT_ICO1);
// lv_obj_update_layout(pOilpoint_img); //更新图片布局信息
lv_obj_align(pOilpoint_img, LV_ALIGN_TOP_LEFT, 412, 190); //原始计算坐标(412,190)
lv_img_set_pivot(pOilpoint_img, 0, 0); //原始计算坐标(0, 0)
lv_img_set_angle(pOilpoint_img, 0);
lv_obj_t* demo_group = get_key_group();
lv_group_add_obj(demo_group, win2_screen);
lv_obj_add_event_cb(win2_screen, demo_win_event_handle, LV_EVENT_KEY, NULL);
time_refresh_timer = lv_timer_create(refresh_timer_cb, 100, win2_screen);
}
#else if
void lv_demo(lv_obj_t *parent, lv_point_t *top)
{
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, 17);
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_set_pos(gear, 120, 180);
// 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, "3",gear_value);
lv_obj_t * gear_null = lv_img_create(win2_screen);
lv_obj_set_pos(gear_null, 120, 183);
// 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, -50, 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, -50, -35);
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_set_pos(speed_uint, 90, 64);
// 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_set_pos(speed_uint2, 110, 160);
//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 * speed_uint3 = lv_label_create(win2_screen);
lv_obj_set_pos(speed_uint3, 435, 28);
lv_obj_set_style_text_font(speed_uint3,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(speed_uint3, "km/h");
lv_obj_t * speed_uint4 = lv_label_create(win2_screen);
lv_obj_set_pos(speed_uint4, 435, 98);
lv_obj_set_style_text_font(speed_uint4,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(speed_uint4, "km/h");
lv_obj_t * mileage_uint1 = lv_label_create(win2_screen);
lv_obj_set_pos(mileage_uint1, 450, 173);
lv_obj_set_style_text_font(mileage_uint1,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(mileage_uint1, "km");
lv_obj_t * mileage_uint2 = lv_label_create(win2_screen);
lv_obj_set_pos(mileage_uint2, 450, 238);
lv_obj_set_style_text_font(mileage_uint2,LV_FONT_MXC_WRYH_CT_16PX,0);
lv_label_set_text(mileage_uint2, "km");
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 "moto_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,754 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
#include "mxc_meter.h"
#include "moto_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},
};
/*
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,
};
*/
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);
uint32_t btn_count = 0;
uint32_t page_count = 0;
lv_obj_t *tile_display = NULL;
lv_obj_t *mainmenu_btn_win = lv_tileview_get_tile_act(mainmenu_tile_win); // get display tile
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
switch(Get_UI_page_id()){
case 0:
case 1:
case 2:
case 3:
case 4:
break;
case 5:
case 6:
case 7:
//page_count = (uint32_t)lv_obj_get_child_id(mainmenu_btn_win); // get display tile index
//printf("page_count === %d .\r\n",page_count );
page_count=1;
printf("tile_page >> page_count === %d .\r\n",page_count );
tile_display = lv_obj_get_child(mainmenu_tile_win, page_count);
lv_obj_set_tile(mainmenu_tile_win, tile_display, LV_ANIM_ON);
break;
case 8:
case 9:
case 10:
//page_count = (uint32_t)lv_obj_get_child_id(mainmenu_btn_win); // get display tile index
page_count=2;
printf("tile_page >> page_count === %d .\r\n",page_count );
tile_display = lv_obj_get_child(mainmenu_tile_win, page_count);
lv_obj_set_tile(mainmenu_tile_win, tile_display, LV_ANIM_ON);
break;
default:
break;
}
app_menu_comm_entry(mainmenu_win,PAGE_MAINMENU_WIN_ID,false);
}
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;
switch(Get_UI_page_id()){
case 0://demo
case 1://list
case 2://theme
if(page_id == 0 && i==0){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 3://
if(page_id == 0 && i==1){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 4:
if(page_id == 0 && i==2){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 5:
if(page_id == 1 && i==0){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 6:
if(page_id == 1 && i==1){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 7:
if(page_id == 1 && i==2){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 8:
if(page_id == 2 && i==0){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 9:
if(page_id == 2 && i==1){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
case 10:
if(page_id == 2 && i==2){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
default:
if(page_id == 0 && i==0){
lv_obj_add_state(imgbtn, LV_STATE_FOCUS_KEY);
}
break;
}
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][Get_sys_language()]);
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,523 @@
#include <stdio.h>
#include <string.h>
#include "mx_store.h"
#include "mx_alternator_data.h"
extern Store_t UserData;
uint8_t getSoftMainVersion(void)
{
return UserData.mSoftMainVersion;
}
void setSoftMainVersion(uint8_t value)
{
if(value != UserData.mSoftMainVersion)
{
UserData.mSoftMainVersion = value;
}
}
uint8_t getSoftSubVersion(void)
{
return UserData.mSoftSubVersion;
}
void setSoftSubVersion(uint8_t value)
{
if(value != UserData.mSoftSubVersion)
{
UserData.mSoftSubVersion = value;
}
}
uint8_t getSetMode(void)
{
return UserData.mSetMode;
}
void setSetMode(uint8_t value)
{
if(value != UserData.mSetMode)
{
UserData.mSetMode = value;
}
}
uint16_t getSpeedData(void)
{
return UserData.mSpeed;
}
void setSpeedData(uint16_t value)
{
if(value != UserData.mSpeed)
{
UserData.mSpeed = value;
}
}
//档位信息
uint8_t getGearInfo(void)
{
return UserData.mGearInfo;
}
void setGearInfo(uint8_t value)
{
if(value != UserData.mGearInfo)
{
UserData.mGearInfo = value;
}
}
//总计里程
uint32_t getTotalMile(void)
{
return UserData.mTotalMile;
}
void setTotalMile(uint32_t value)
{
if(value != UserData.mTotalMile)
{
UserData.mTotalMile = value;
}
}
//单次行驶里程
uint32_t getTripMile(void)
{
return UserData.mTripMile;
}
void setTripMile(uint32_t value)
{
if(value != UserData.mTripMile)
{
UserData.mTripMile = value;
}
}
//里程清零
uint8_t getMileClearTags(void)
{
return UserData.mMileClearTags;
}
void setMileClearTags(uint8_t value)
{
if(value != UserData.mMileClearTags)
{
UserData.mMileClearTags = value;
}
}
//wifi
uint8_t getWifi(void)
{
return UserData.mWifi;
}
void setWifi(uint8_t value)
{
if(value != UserData.mWifi)
{
UserData.mWifi = value;
}
}
//蓝牙
uint8_t getBlueTooth(void)
{
return UserData.mBlueTooth;
}
void setBlueTooth(uint8_t value)
{
if(value != UserData.mBlueTooth)
{
UserData.mBlueTooth = value;
}
}
//转向
uint8_t getTurn(void)
{
return UserData.mTurn;
}
void setTurn(uint8_t value)
{
if(value != UserData.mTurn)
{
UserData.mTurn = value;
}
}
//转向提示
uint8_t getTurnPrompt(void)
{
return UserData.mTurnPrompt;
}
void setTurnPrompt(uint8_t value)
{
if(value != UserData.mTurnPrompt)
{
UserData.mTurnPrompt = value;
}
}
//转向灯
uint8_t getTurnLight(void)
{
return UserData.mTurnLight;
}
void setTurnLight(uint8_t value)
{
if(value != UserData.mTurnLight)
{
UserData.mTurnLight = value;
}
}
//远近光灯
uint8_t getBeamLight(void)
{
return UserData.mBeamLight;
}
void setBeamLight(uint8_t value)
{
if(value != UserData.mBeamLight)
{
UserData.mBeamLight = value;
}
}
//示宽灯
uint8_t getSideMarkerLight(void)
{
return UserData.mSideMarkerLight;
}
void setSideMarkerLight(uint8_t value)
{
if(value != UserData.mSideMarkerLight)
{
UserData.mSideMarkerLight = value;
}
}
//工作指示灯
uint8_t getFanLight(void)
{
return UserData.mFanLight;
}
void setFanLight(uint8_t value)
{
if(value != UserData.mFanLight)
{
UserData.mFanLight = value;
}
}
//abs灯
uint8_t getABSLight(void)
{
return UserData.mABSLight;
}
void setABSLight(uint8_t value)
{
if(value != UserData.mABSLight)
{
UserData.mABSLight = value;
}
}
//机油压力灯
uint8_t getOilPressLight(void)
{
return UserData.mOilPressLight;
}
void setOilPressLight(uint8_t value)
{
if(value != UserData.mOilPressLight)
{
UserData.mOilPressLight = value;
}
}
//
uint8_t getEngineLight(void)
{
return UserData.mEngineLight;
}
void setEngineLight(uint8_t value)
{
if(value != UserData.mEngineLight)
{
UserData.mEngineLight = value;
}
}
//清零标记
uint8_t getRefreshTags(void)
{
return UserData.mRefreshTags;
}
void setRefreshTags(uint8_t value)
{
if(value != UserData.mRefreshTags)
{
UserData.mRefreshTags = value;
}
}
//灯光值
uint8_t getLightValue(void)
{
return UserData.mLightValue;
}
void setLightValue(uint8_t value)
{
if(value != UserData.mLightValue)
{
UserData.mLightValue = value;
}
}
//自检
uint8_t getSelfCheck(void)
{
return UserData.mSelfCheck;
}
void setSelfCheck(uint8_t value)
{
if(value != UserData.mSelfCheck)
{
UserData.mSelfCheck = value;
}
}
//光感电压值
uint8_t getLightSensingVolt(void)
{
return UserData.mLightSensingVolt;
}
void setLightSensingVolt(uint8_t value)
{
if(value != UserData.mLightSensingVolt)
{
UserData.mLightSensingVolt = value;
}
}
//蓝牙继承数据
uint8_t getBTDataInherit(void)
{
return UserData.mBTData_Inherit;
}
void setBTDataInherit(uint8_t value)
{
if(value != UserData.mBTData_Inherit)
{
UserData.mBTData_Inherit = value;
}
}
//当前错误
uint16_t getCurrentFaultCode(void)
{
return UserData.mCurrentFaultCode;
}
void setCurrentFaultCode(uint16_t value)
{
if(value != UserData.mCurrentFaultCode)
{
UserData.mCurrentFaultCode = value;
}
}
//历史错误
uint16_t getHistoryFaultCode(void)
{
return UserData.mHistoryFaultCode;
}
void setHistoryFaultCode(uint16_t value)
{
if(value != UserData.mHistoryFaultCode)
{
UserData.mHistoryFaultCode = value;
}
}
//发动机告警信息
uint8_t getEngineErr(void)
{
return UserData.mErr.mEngine;
}
void setEngineErr(uint8_t value)
{
if(value != UserData.mErr.mEngine)
{
UserData.mErr.mEngine = value;
}
}
//机油告警信息
uint8_t getEngineOilErr(void)
{
return UserData.mErr.mEngineOil;
}
void setEngineOilErr(uint8_t value)
{
if(value != UserData.mErr.mEngineOil)
{
UserData.mErr.mEngineOil = value;
}
}
//abs告警
uint8_t getAbsErr(void)
{
return UserData.mErr.mAbs;
}
void setAbsErr(uint8_t value)
{
if(value != UserData.mErr.mAbs)
{
UserData.mErr.mAbs = value;
}
}
//输出过流
uint8_t getTCSErr(void)
{
return UserData.mErr.mTcs;
}
void setTCSErr(uint8_t value)
{
if(value != UserData.mErr.mTcs)
{
UserData.mErr.mTcs = value;
}
}
//风扇故障
uint8_t getFanErr(void)
{
return UserData.mErr.mFan;
}
void setFanErrs(uint8_t value)
{
if(value != UserData.mErr.mFan)
{
UserData.mErr.mFan = value;
}
}
//空挡故障
uint8_t getNeutralGearErr(void)
{
return UserData.mErr.mNeutralGear;
}
void setNeutralGearErr(uint8_t value)
{
if(value != UserData.mErr.mNeutralGear)
{
UserData.mErr.mNeutralGear = value;
}
}
//水温故障
uint8_t getWaterTemperErr(void)
{
return UserData.mErr.mWaterTemper;
}
void setWaterTemperErr(uint8_t value)
{
if(value != UserData.mErr.mWaterTemper)
{
UserData.mErr.mWaterTemper = value;
}
}
//刹车故障
uint8_t getBrakesFaultErr(void)
{
return UserData.mErr.mBrakesFault;
}
void setBrakesFaultErr(uint8_t value)
{
if(value != UserData.mErr.mBrakesFault)
{
UserData.mErr.mBrakesFault = value;
}
}
//电池电量占比
uint8_t getBatteryRatio(void)
{
return UserData.mBatteryRatio;
}
void setBatteryRatio(uint8_t value)
{
if(value != UserData.mBatteryRatio)
{
UserData.mBatteryRatio = value;
}
}
//电池电压
uint8_t getBatteryVoltage(void)
{
return UserData.mBatteryVoltage;
}
void setBatteryVoltage(uint8_t value)
{
if(value != UserData.mBatteryVoltage)
{
UserData.mBatteryVoltage = value;
}
}
//转速信息
uint16_t getEspeed(void)
{
return UserData.mEspeed;
}
void setEspeed(uint16_t value)
{
if(value != UserData.mEspeed)
{
UserData.mEspeed = value;
}
}
//油量信息
uint8_t getFuel(void)
{
return UserData.mFuel;
}
void setFuel(uint8_t value)
{
if(value != UserData.mFuel)
{
UserData.mFuel = value;
}
}
//水温信息
uint8_t getWaterTemper(void)
{
return UserData.mWaterTemper;
}
void setWaterTemper(uint8_t value)
{
if(value != UserData.mWaterTemper)
{
UserData.mWaterTemper = value;
}
}
//电瓶电压
uint8_t getAccumulatorVolt(void)
{
return UserData.mAccumulatorVolt;
}
void setAccumulatorVolt(uint8_t value)
{
if(value != UserData.mAccumulatorVolt)
{
UserData.mAccumulatorVolt = value;
}
}

View File

@ -0,0 +1,119 @@
#include <stdio.h>
#include <string.h>
#include "mx_store.h"
#include "mx_alternator_data.h"
Store_t UserData;
void store_init(void)
{
Storeinit(&UserData);
}
// 初始化Store_t结构体
void Storeinit(Store_t* store)
{
store->mSoftMainVersion = 0; //主版本号
store->mSoftSubVersion = 0; //次版本号
//uint8_t bt_name[BT_NAME_MAX_LEN];
store->mSetMode = 0; //高字节 SET 1 为短按 2为长按 低字节 MODE 1 为短按 2为长按
store->mSpeed = 0; //速度信息
store->mGearInfo = 0; //档位信息
store->mTotalMile = 0; //总计里程
store->mTripMile = 0; //单次行驶里程
store->mMileClearTags = 0; //小计里程清零标志
store->mWifi = 0; //WIFI
store->mBlueTooth = 0; //蓝牙
store->mTurn = 0; //转向 0-无 1-左转 2-右转
store->mTurnPrompt = 0; //转向提示 0无 1左 2右
store->mTurnLight = 0; //转向灯 0-无 1-左转向灯 2-右转向灯
store->mBeamLight = 0; //灯光 0-无灯光 1-远光 2-近光 3-自动大灯
store->mSideMarkerLight = 0; //示宽灯 0-无灯光 1-示宽灯
store->mFanLight = 0; //风扇灯 0-无灯光 1-灯亮
store->mABSLight = 0; //0-无灯光 1-灯亮
store->mOilPressLight = 0; //机油压力报警灯 0-无灯光 1-灯亮
store->mEngineLight = 0; //0-无灯光 1-灯亮
store->mRefreshTags = 0; //0-无刷新 1-油量/水温/电池电压刷新标志
store->mLightValue = 0; //灯光亮度,具体的light_value值
store->mSelfCheck = 0; //开机自检
store->mLightSensingVolt = 0; //光感电压值 暂定范围0-3300
memcpy(&store->mUuid, 0, 32*sizeof(char));
memcpy(&store->mBT_name, 0, 32*sizeof(char));
//UserData.mUuid[32] = {0};
//UserData.mBT_name[32] = {0};
store->mCurrentFaultCode = 0; //当前故障码
store->mHistoryFaultCode = 0; //历史故障码
store->mBTData_Inherit = 0; //继承的蓝牙数据(保留)
store->mTtrb = 0; //开机检测是否获取到时间的标志
store->mTtrb_Time = 0; //设施时间后检测是否正常设置时间的标志
store->mOdo_Reset = 0; //小计里程清零后检测是否正常设置时间的标志
store->mDemo_Position = 0; //是否在demo展示界面的标志
//告警错误
store->mErr.mEngine = 0;
store->mErr.mEngineOil = 0;
store->mErr.mAbs = 0;
store->mErr.mTcs = 0;
store->mErr.mFan = 0;
store->mErr.mNeutralGear = 0;
store->mErr.mWaterTemper = 0;
store->mErr.mBrakesFault = 0;
//保存数据
store->mSaveData.mFactorySet = 0; //出厂设置
store->mSaveData.mLanguage = 0; //语言
store->mSaveData.mDisplayUint = 0; //单位
store->mSaveData.mTheme = 0; //当前主题
store->mSaveData.mThemeState = 0; //主题状态
store->mSaveData.mLightValue = 0; //亮度
store->mSaveData.mBT_OnOff = 0; //蓝牙
store->mSaveData.mBT_State = 0; //状态
store->mSaveData.mGearPos = 0; //档位
store->mSaveData.mFuel = 0; //油量
store->mSaveData.mTotalMile = 0; //里程数
//时间变量
store->mTime.ucYear = 0;
store->mTime.ucMonth = 0;
store->mTime.ucDate = 0;
store->mTime.ucHour = 0;
store->mTime.ucMinute = 0;
store->mTime.ucSecond = 0;
store->mPlan = 0; //总进度标志
store->mPace = 0; //分进度标志
store->mUpGrade = 0; //内存拷贝标志
//电摩专用属性
store->mBatteryRatio = 0; //电池电量占比 1个字节eg100% 传输64
store->mBatteryVoltage = 0; //电池电压 eg3.3V 传输3300
//油摩专用属性
store->mEspeed = 0; //转速信息
store->mFuel = 0; //油量指示
store->mWaterTemper = 0; //水温指示
store->mAccumulatorVolt = 0; //电瓶电压
}
Store_t* store_get(void)
{
return &UserData;
}
void store_set(Store_t store)
{
UserData = store;
}
ErrorCode_t* error_code_get(void)
{
return &UserData.mErr;
}
void error_code_set(ErrorCode_t error)
{
UserData.mErr = error;
}

View File

@ -0,0 +1,561 @@
#include "lvgl.h"
#include "img_def.h"
#include "mxc_meter.h"
#include "moto_list.h"
#include "mx_store.h"
#include "mx_alternator_data.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)
{
printf("Get_UI_page_id >>>>>>>>>>>>>>>> %d .\r\n",Get_UI_page_id());
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();
// }
}
#if 0
SysData_t UserData;
void SystemDate_Init(void)
{
UserData.mSoftMainVersion = 0; //主版本号
UserData.mSoftSubVersion = 0; //次版本号
//uint8_t bt_name[BT_NAME_MAX_LEN];
UserData.mSetMode = 0; //高字节 SET 1 为短按 2为长按 低字节 MODE 1 为短按 2为长按
UserData.mSpeed = 0; //速度信息
UserData.mGearInfo = 0; //档位信息
UserData.mTotalMile = 0; //总计里程
UserData.mTripMile = 0; //单次行驶里程
UserData.mMileClearTags = 0; //小计里程清零标志
UserData.mWifi = 0; //WIFI
UserData.mBlueTooth = 0; //蓝牙
UserData.mTurn = 0; //转向 0-无 1-左转 2-右转
UserData.mTurnPrompt = 0; //转向提示 0无 1左 2右
UserData.mTurnLight = 0; //转向灯 0-无 1-左转向灯 2-右转向灯
UserData.mBeamLight = 0; //灯光 0-无灯光 1-远光 2-近光 3-自动大灯
UserData.mSideMarkerLight = 0; //示宽灯 0-无灯光 1-示宽灯
UserData.mFanLight = 0; //风扇灯 0-无灯光 1-灯亮
UserData.mABSLight = 0; //0-无灯光 1-灯亮
UserData.mOilPressLight = 0; //机油压力报警灯 0-无灯光 1-灯亮
UserData.mEngineLight = 0; //0-无灯光 1-灯亮
UserData.mRefreshTags = 0; //0-无刷新 1-油量/水温/电池电压刷新标志
UserData.mLightValue = 0; //灯光亮度,具体的light_value值
UserData.mSelfCheck = 0; //开机自检
UserData.mLightSensingVolt = 0; //光感电压值 暂定范围0-3300
UserData.return_demo = 0; //????
memcpy(&UserData.mUuid, 0, 32*sizeof(char));
memcpy(&UserData.mBT_name, 0, 32*sizeof(char));
//UserData.mUuid[32] = {0};
//UserData.mBT_name[32] = {0};
UserData.mCurrentFaultCode = 0; //当前故障码
UserData.mHistoryFaultCode = 0; //历史故障码
UserData.mBTData_Inherit = 0; //继承的蓝牙数据(保留)
UserData.mTtrb = 0; //开机检测是否获取到时间的标志
UserData.mTtrb_Time = 0; //设施时间后检测是否正常设置时间的标志
UserData.mOdo_Reset = 0; //小计里程清零后检测是否正常设置时间的标志
UserData.mDemo_Position = 0; //是否在demo展示界面的标志
//告警错误
UserData.mErr.mEngine = 0;
UserData.mErr.mEngineOil = 0;
UserData.mErr.mAbs = 0;
UserData.mErr.mTcs = 0;
UserData.mErr.mFan = 0;
UserData.mErr.mNeutralGear = 0;
UserData.mErr.mWaterTemper = 0;
UserData.mErr.mBrakesFault = 0;
//保存数据
UserData.mSaveData.mFactorySet = 0; //出厂设置
UserData.mSaveData.mLanguage = 0; //语言
UserData.mSaveData.mDisplayUint = 0; //单位
UserData.mSaveData.mTheme = 0; //当前主题
UserData.mSaveData.mThemeState = 0; //主题状态
UserData.mSaveData.mLightValue = 0; //亮度
UserData.mSaveData.mBT_OnOff = 0; //蓝牙
UserData.mSaveData.mBT_State = 0; //状态
UserData.mSaveData.mGearPos = 0; //档位
UserData.mSaveData.mFuel = 0; //油量
UserData.mSaveData.mTotalMile = 0; //里程数
//时间变量
UserData.mTime.ucYear = 0;
UserData.mTime.ucMonth = 0;
UserData.mTime.ucDate = 0;
UserData.mTime.ucHour = 0;
UserData.mTime.ucMinute = 0;
UserData.mTime.ucSecond = 0;
UserData.mPlan = 0; //总进度标志
UserData.mPace = 0; //分进度标志
UserData.mUpGrade = 0; //内存拷贝标志
//电摩专用属性
#ifdef _EMOTO_
UserData.mBatteryRatio = 0; //电池电量占比 1个字节eg100% 传输64
UserData.mBatteryVoltage = 0; //电池电压 eg3.3V 传输3300
#endif
//油摩专用属性
#ifdef _OMOTO_
UserData.mEspeed = 0; //转速信息
UserData.mFuel = 0; //油量指示
UserData.mWaterTemper = 0; //水温指示
UserData.mAccumulatorVolt = 0; //电瓶电压
#endif
}
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;
*/
UserData.mTime.ucDate = CurTime.tm_mday;
UserData.mTime.ucYear = CurTime.tm_mday;
UserData.mTime.ucMonth = CurTime.tm_mday;
UserData.mTime.ucHour = CurTime.tm_mday;
UserData.mTime.ucMinute = CurTime.tm_mday;
UserData.mTime.ucSecond = CurTime.tm_mday;
}
STime_t* getCurrentTime1()
{
updateCurTime();
return &(UserData.mTime);
}
SysData_t* GetDailyData1(void)
{
return &UserData;
}
const char digitalArray[10] = "0123456789";
static char StrCurTime[6] = {0};
extern STime_t * getCurrentTime1();
char * GetCurTimeString()
{
updateCurTime();
StrCurTime[0] = digitalArray[UserData.mTime.ucHour/10];
StrCurTime[1] = digitalArray[UserData.mTime.ucHour%10];
StrCurTime[2] =':';
StrCurTime[3] = digitalArray[UserData.mTime.ucMinute/10];
StrCurTime[4] = digitalArray[UserData.mTime.ucMinute%10];
return StrCurTime;
}
#define DEF_DATE_YEAR 2024
#define DEF_DATE_MONTH 1
#define DEF_DATE_DAY 1
void InitSysDateTime(void)
{
GetSysDateTime(DEF_DATE_YEAR, DEF_DATE_MONTH, DEF_DATE_DAY);
}
void GetSysDateTime(uint16_t year, uint8_t month, uint8_t day)
{
UserData.mTime.ucYear = year;
UserData.mTime.ucMonth = month;
UserData.mTime.ucDate = day;
UserData.mTime.ucHour = 0;
UserData.mTime.ucMinute = 0;
UserData.mTime.ucSecond = 0;
}
void UpdateSysTime(void)
{
bool time_12_is_am=false;
if(++UserData.mTime.ucSecond>=60)
{
UserData.mTime.ucSecond = 0;
if(++UserData.mTime.ucMinute>=60)
{
UserData.mTime.ucMinute = 0;
if(++UserData.mTime.ucHour>=12)
{
if(time_12_is_am)
{
UserData.mTime.ucDate++;
time_12_is_am=0;
}else{
time_12_is_am=1;
}
UserData.mTime.ucHour = 0;
}
}
}
//UpdatePace();
printf("%04d-%d%d-%d%d %d%d:%d%d.%d%d\n",
UserData.mTime.ucYear, UserData.mTime.ucMonth/10, UserData.mTime.ucMonth%10,
UserData.mTime.ucDate/10, UserData.mTime.ucDate%10,
UserData.mTime.ucHour/10, UserData.mTime.ucHour%10,
UserData.mTime.ucMinute/10, UserData.mTime.ucMinute%10,
UserData.mTime.ucSecond/10, UserData.mTime.ucSecond%10);
}
#else if
//<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;
}
//从存储结构体获取所需数据
extern Store_t UserData;
void DataSyncFromStore(void)
{
custom_data.softwar_host = getSoftMainVersion();
custom_data.softwar_order = getSoftSubVersion();
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 = getTurn();
custom_data.veer_hint = getTurnPrompt();
custom_data.lamplight = getBeamLight();
custom_data.power_on_self_test = getSelfCheck();
if(custom_data.light_perception_value == 0)
custom_data.light_perception_value = getLightSensingVolt();
custom_data.light = getLightValue();
custom_data.return_demo = 0; //demo返回
//<2F>ٶ<EFBFBD> ת<><D7AA>
custom_data.velocity = getSpeedData();
custom_data.veer_velocity = getEspeed();
custom_data.grade = getGearInfo();
custom_data.oil = getFuel();
custom_data.temp = getWaterTemper();
custom_data.trip_mileage = getTripMile();
custom_data.total_mileage = getTotalMile();
custom_data.voltage = getAccumulatorVolt();
custom_data.warning.engine = getEngineErr();
custom_data.warning.machine_oil = getEngineOilErr();
custom_data.warning.abs = getAbsErr();
custom_data.warning.tcs = getTCSErr();
custom_data.warning.fan = getFanErr();
custom_data.warning.null = getNeutralGearErr();
custom_data.now_defect_code = getCurrentFaultCode();//0x2255;
custom_data.his_defect_code = getHistoryFaultCode();//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);
}
#endif

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,760 @@
#include "lvgl.h"
#include "img_def.h"
#include "demo.h"
#include "mxc_meter.h"
#include "moto_list.h"
#include "language_table.h"
#include "img_basic.h"
#include "lan_str_table.h"
#define PAGEBTN_COUNT1 1 //bt switching
#define PAGEBTN_COUNT2 2 //theme setting
#define PAGEBTN_COUNT3 3 //other setting
static Refresh_setting(lv_obj_t *btn_win){
lv_obj_t *win = NULL;
lv_obj_t *list_child = NULL;
lv_obj_t *child = NULL;
lv_obj_t *child_label = NULL;
switch(Get_UI_page_id()){
case SUBMENU_SET_OTHER:
win = lv_obj_get_parent(btn_win);
list_child = lv_obj_get_child(win, 1);
lv_label_set_text_fmt(list_child, "%s",lan_str_table[STR_ID_OTHER_SETTING][Get_sys_language()]);
child = lv_obj_get_child(btn_win, 0);
child_label = lv_obj_get_child(child, 0);
lv_label_set_text_fmt(child_label, "%s",lan_str_table[STR_ID_TIME][Get_sys_language()]);
child = lv_obj_get_child(btn_win, 1);
child_label = lv_obj_get_child(child, 0);
// lv_obj_set_style_text_font(child_label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text_fmt(child_label, "%s",lan_str_table[STR_ID_LANGUAGE][Get_sys_language()]);
child_label = lv_obj_get_child(child, 1);
if(Get_sys_language()==1)
lv_label_set_text_fmt(child_label, "[中文]");
else
lv_label_set_text_fmt(child_label, "[English]");
child = lv_obj_get_child(btn_win, 2);
child_label = lv_obj_get_child(child, 0);
lv_label_set_text_fmt(child_label, "%s",lan_str_table[STR_ID_UNIT][Get_sys_language()]);
child_label = lv_obj_get_child(child, 1);
if(Get_sys_uint() == 0)
lv_label_set_text_fmt(child_label, "[%s]",lan_str_table[STR_ID_METRIC][Get_sys_language()]);
else
lv_label_set_text_fmt(child_label, "[%s]",lan_str_table[STR_ID_IMPERIAL][Get_sys_language()]);
child = lv_obj_get_child(btn_win, 3);
child_label = lv_obj_get_child(child, 0);
lv_label_set_text_fmt(child_label, "%s", lan_str_table[STR_ID_RETURN][Get_sys_language()]);
break;
default:
break;
}
}
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;
}
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 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){
lv_obj_t * label = lv_obj_get_child(button_cur, 0);
lv_obj_t * slider = lv_obj_get_child(button_cur, 1);
uint8_t light_value = Get_sys_light_value();
light_value +=1;
if(light_value>5)
light_value = 0;
Set_sys_light_value(light_value);
//static uint8_t q_num = 1;
printf("ENTER light select .\n");
if(light_value<=4){
lv_label_set_text_fmt(label, "%d",light_value+1);
lv_slider_set_value(slider,20*(light_value+1),LV_ANIM_OFF);
lv_obj_set_style_bg_color(slider, lv_color_hex(0x26FF00), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_color(slider, lv_color_hex(0x26FF00), LV_PART_INDICATOR | LV_STATE_DEFAULT);
}else{
lv_label_set_text_fmt(label, "%s",lan_str_table[STR_ID_AUTO][Get_sys_language()]);
lv_slider_set_value(slider,100,LV_ANIM_OFF);
lv_obj_set_style_bg_color(slider, lv_color_hex(0x01b5d9), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_color(slider, lv_color_hex(0x01b5d9), LV_PART_INDICATOR | LV_STATE_DEFAULT);
}
}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");
lv_obj_t *button_witch = lv_obj_get_child(button_cur, 0);
lv_obj_t * label = lv_obj_get_child(button_cur, 1);
if(Get_sys_bt_on_off()==0){
Set_sys_bt_on_off(1);
lv_obj_add_state(button_witch, LV_STATE_CHECKED);
lv_label_set_text_fmt(label, "%s",lan_str_table[STR_ID_SWITCH_OPEN][Get_sys_language()]);
}else{
Set_sys_bt_on_off(0);
lv_obj_clear_state(button_witch, LV_STATE_CHECKED);
lv_label_set_text_fmt(label, "%s",lan_str_table[STR_ID_SWITCH_SHUT][Get_sys_language()]);
}
}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");
lv_obj_t * child_label = lv_obj_get_child(button_cur, 1);
if(Get_sys_language() == 1){
Set_sys_language(0);
lv_label_set_text_fmt(child_label, "[English]");
}else{
Set_sys_language(1);
lv_label_set_text_fmt(child_label, "[中文]");
}
Refresh_setting(btn_win);
//需要做刷新界面函数
}else if(btn_num == 2){
printf("ENTER unit setting .\n");
lv_obj_t * child_label = lv_obj_get_child(button_cur, 1);
if(Get_sys_uint() == 0){
Set_sys_uint(1);
if(Get_sys_language() == 1)
lv_label_set_text_fmt(child_label, "[英制]");
else
lv_label_set_text_fmt(child_label, "[British]");
}else{
Set_sys_uint(0);
if(Get_sys_language() == 1)
lv_label_set_text_fmt(child_label, "[公制]");
else
lv_label_set_text_fmt(child_label, "[Metric]");
}
}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);
if(win_btn_count==PAGEBTN_COUNT3)
lv_obj_set_size(btn, 270, 60);
else
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_obj_set_style_text_font(label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text_fmt(label, "BTN%d",i);
lv_obj_align(label, LV_ALIGN_LEFT_MID, 0, 0);
label = lv_label_create(btn);
lv_label_set_text(label, ">");
// lv_obj_set_style_text_font(label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_obj_align(label, LV_ALIGN_RIGHT_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 if(win_btn_count==PAGEBTN_COUNT3)
lv_obj_align(btn, LV_ALIGN_TOP_MID, -10, 35);
}
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_add_state(btn, LV_STATE_FOCUS_KEY);
lv_obj_align(btn, LV_ALIGN_CENTER, 0, -10);
lv_obj_t * label = lv_label_create(btn);
uint8_t light_value = Get_sys_light_value();
lv_obj_align(label, LV_ALIGN_BOTTOM_MID, 0, 10);
lv_obj_t * ui_Slider1 = lv_slider_create(btn);
lv_obj_set_width(ui_Slider1, 266);
lv_obj_set_height(ui_Slider1, 30);
lv_obj_center(ui_Slider1);
lv_obj_set_style_bg_color(ui_Slider1, lv_color_hex(0x26FF00), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_color(ui_Slider1, lv_color_hex(0x26FF00), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_Slider1, 255, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_opa(ui_Slider1, 255, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_width(ui_Slider1, 20, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_spread(ui_Slider1, 0, LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_Slider1, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_Slider1, 0, LV_PART_KNOB | LV_STATE_DEFAULT);
lv_slider_set_value(ui_Slider1,20,LV_ANIM_OFF);
if(light_value<=4){
lv_label_set_text_fmt(label, "%d",light_value+1);
lv_slider_set_value(ui_Slider1,20*(light_value+1),LV_ANIM_OFF);
lv_obj_set_style_bg_color(ui_Slider1, lv_color_hex(0x26FF00), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_color(ui_Slider1, lv_color_hex(0x26FF00), LV_PART_INDICATOR | LV_STATE_DEFAULT);
}else{
lv_label_set_text_fmt(label, "%s",lan_str_table[STR_ID_AUTO][Get_sys_language()]);
lv_slider_set_value(ui_Slider1,100,LV_ANIM_OFF);
lv_obj_set_style_bg_color(ui_Slider1, lv_color_hex(0x01b5d9), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_shadow_color(ui_Slider1, lv_color_hex(0x01b5d9), LV_PART_INDICATOR | LV_STATE_DEFAULT);
}
lv_obj_align(label, LV_ALIGN_BOTTOM_MID, 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);
}
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_obj_set_style_text_font(label,LV_FONT_MXC_WRYH_CT_24PX,0);
// lv_label_set_text_fmt(label, "%s",lan_str_table[STR_ID_SWITCH_SHUT][Get_sys_language()]);
lv_obj_align(label, LV_ALIGN_LEFT_MID, 0, 0);
printf("Get_sys_bt_on_off ============================================= %d .\r\n",Get_sys_bt_on_off());
if(Get_sys_bt_on_off()==0){
lv_obj_clear_state(bt_switch, LV_STATE_CHECKED);
lv_label_set_text_fmt(label, "%s",lan_str_table[STR_ID_SWITCH_SHUT][Get_sys_language()]);
}else{
lv_obj_add_state(bt_switch, LV_STATE_CHECKED);
lv_label_set_text_fmt(label, "%s",lan_str_table[STR_ID_SWITCH_OPEN][Get_sys_language()]);
}
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, 0);
lv_obj_t *child_label = lv_obj_get_child(child, 0);
// lv_label_set_text_fmt(child_label, "Time");
// lv_obj_set_style_text_font(child_label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text_fmt(child_label, "%s",lan_str_table[STR_ID_TIME][Get_sys_language()]);
child = lv_obj_get_child(btn_win, 1);
child_label = lv_obj_get_child(child, 0);
// lv_label_set_text_fmt(child_label, "Language");
// lv_obj_set_style_text_font(child_label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text_fmt(child_label, "%s",lan_str_table[STR_ID_LANGUAGE][Get_sys_language()]);
child_label = lv_obj_get_child(child, 1);
// lv_obj_set_style_text_font(child_label,LV_FONT_MXC_WRYH_CT_24PX,0);
if(Get_sys_language()==1)
lv_label_set_text_fmt(child_label, "[中文]");
else
lv_label_set_text_fmt(child_label, "[English]");
child = lv_obj_get_child(btn_win, 2);
child_label = lv_obj_get_child(child, 0);
// lv_label_set_text_fmt(child_label, "Unit");
// lv_obj_set_style_text_font(child_label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text_fmt(child_label, "%s",lan_str_table[STR_ID_UNIT][Get_sys_language()]);
child_label = lv_obj_get_child(child, 1);
// lv_obj_set_style_text_font(child_label,LV_FONT_MXC_WRYH_CT_24PX,0);
if(Get_sys_uint() == 0)
lv_label_set_text_fmt(child_label, "[%s]",lan_str_table[STR_ID_METRIC][Get_sys_language()]);
else
lv_label_set_text_fmt(child_label, "[%s]",lan_str_table[STR_ID_IMPERIAL][Get_sys_language()]);
batch_return_btn(btn_win);
lv_obj_t * list_label = lv_label_create(submenu_win);
// lv_obj_set_style_text_font(list_label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text_fmt(list_label, "%s",lan_str_table[STR_ID_OTHER_SETTING][Get_sys_language()]);
lv_obj_align(list_label,LV_ALIGN_CENTER,0,-110);
app_menu_comm_entry(btn_win, SUBMENU_SET_OTHER, false);
//按键组
lv_group_t *demo_group = get_key_group();
lv_group_remove_all_objs(demo_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);
app_menu_comm_entry(btn_win, SUBMENU_SET_INFORMATION, false);
lv_obj_t * btn = lv_btn_create(btn_win);
lv_obj_set_size(btn, 280, 170);
lv_obj_set_style_bg_opa(btn, LV_OPA_0, 0);
lv_obj_add_state(btn, LV_STATE_FOCUS_KEY);
lv_obj_align(btn, LV_ALIGN_CENTER, 0, 10);
lv_obj_t * label1 = lv_label_create(btn);
// lv_obj_set_style_text_font(label1,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text(label1, "MCU:\rMXC_A36-V0.1");
lv_obj_align(label1, LV_ALIGN_TOP_LEFT, 0, 0);
lv_obj_t * label2 = lv_label_create(btn);
// lv_obj_set_style_text_font(label2,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text(label2, "PCB:\rMXC_A36-V0.1");
lv_obj_align_to(label2, label1, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 0);
batch_return_btn(btn_win);
lv_obj_t * list_label = lv_label_create(submenu_win);
// lv_obj_set_style_text_font(list_label,LV_FONT_MXC_WRYH_CT_24PX,0);
lv_label_set_text_fmt(list_label, "%s",lan_str_table[STR_ID_INFORMATION][Get_sys_language()]);
lv_obj_align(list_label,LV_ALIGN_CENTER,0,-110);
app_menu_comm_entry(btn_win, SUBMENU_SET_INFORMATION, false);
//按键组
lv_group_t *demo_group = get_key_group();
lv_group_remove_all_objs(demo_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,54 @@
#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;
}

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,103 @@
/*
* @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(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_ARIALUNI_ALL_32PX &arialuni_field_bbp2_32px
#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)
//A36<33>½<EFBFBD><C2BD><EFBFBD> 2024.4.9 liulin
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_10px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_14px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_21px);
LV_FONT_DECLARE(MXC_MSYAHEI_CT_bpp4_36px);
LV_FONT_DECLARE(MXC_MSYAHEI_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_21PX &MXC_MSYAHEI_CT_bpp4_21px
#define LV_FONT_MXC_MSYAHEI_CT_36PX &MXC_MSYAHEI_CT_bpp4_36px
#define LV_FONT_MXC_MSYAHEI_CT_48PX &MXC_MSYAHEI_CT_bpp4_48px
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);
//A36<33>½<EFBFBD><C2BD><EFBFBD>
#if 1
//LV_IMG_DECLARE(ui_img_a36_colorbar_png)
LV_IMG_DECLARE(A36_colorbar_cfile)
LV_IMG_DECLARE(A36_waterbar1_cfile)
LV_IMG_DECLARE(A36_oilbar1_cfile)
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_blackgroud_src[6] =
{
IMG_A36_BLACKGROUD1_ICO_1,
IMG_A36_BLACKGROUD1_ICO_2,
IMG_A36_BLACKGROUD1_ICO_3,
IMG_A36_BLACKGROUD1_ICO_4,
IMG_A36_BLACKGROUD1_ICO_5,
IMG_A36_BLACKGROUD1_ICO_6
};
LV_ATTRIBUTE_LARGE_CONST static const lv_img_dsc_t* panel_numscale_src[3] =
{
IMG_A36_NUMSCALE_ICO_1,
IMG_A36_NUMSCALE_ICO_2,
IMG_A36_NUMSCALE_ICO_3
};
#else if
//LV_IMG_DECLARE(speed_arc);
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[3] =
{
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[3] =
{
IMG_DM1_BAR_BG_1,
IMG_DM1_BAR_BG_2,
IMG_DM1_BAR_BG_3,
};
#endif
#endif

View File

@ -0,0 +1,46 @@
#ifndef __IMG_DEF_H__
#define __IMG_DEF_H__
#define img_head_address 0x0
#define IMG_A36_BLACKGROUD1_ICO_1 (const lv_img_dsc_t *)(img_head_address + 0x0)
#define IMG_A36_BLACKGROUD1_ICO_2 (const lv_img_dsc_t *)(img_head_address + 0xd13c)
#define IMG_A36_BLACKGROUD1_ICO_3 (const lv_img_dsc_t *)(img_head_address + 0x1a278)
#define IMG_A36_BLACKGROUD1_ICO_4 (const lv_img_dsc_t *)(img_head_address + 0x273b4)
#define IMG_A36_BLACKGROUD1_ICO_5 (const lv_img_dsc_t *)(img_head_address + 0x344f0)
#define IMG_A36_BLACKGROUD1_ICO_6 (const lv_img_dsc_t *)(img_head_address + 0x4162c)
#define IMG_A36_BLUELIGHT_ICO (const lv_img_dsc_t *)(img_head_address + 0x44b8c)
#define IMG_A36_BLUETOOTH_ICO (const lv_img_dsc_t *)(img_head_address + 0x44fb8)
#define IMG_A36_ESPEEDPOINT_ICO1 (const lv_img_dsc_t *)(img_head_address + 0x452ac)
#define IMG_A36_GREENALIGHT_ICO (const lv_img_dsc_t *)(img_head_address + 0x46bc0)
#define IMG_A36_GREENLIGHT_ICO (const lv_img_dsc_t *)(img_head_address + 0x46fec)
#define IMG_A36_LEFTRED1_ICO (const lv_img_dsc_t *)(img_head_address + 0x47418)
#define IMG_A36_LEFTRED2_ICO (const lv_img_dsc_t *)(img_head_address + 0x479d8)
#define IMG_A36_LEFT_ICO (const lv_img_dsc_t *)(img_head_address + 0x481dc)
#define IMG_A36_NUMSCALE_ICO_1 (const lv_img_dsc_t *)(img_head_address + 0x48860)
#define IMG_A36_NUMSCALE_ICO_2 (const lv_img_dsc_t *)(img_head_address + 0x55944)
#define IMG_A36_NUMSCALE_ICO_3 (const lv_img_dsc_t *)(img_head_address + 0x62a28)
#define IMG_A36_OILPOINT_ICO1 (const lv_img_dsc_t *)(img_head_address + 0x6b474)
#define IMG_A36_OILSCALE_ICO (const lv_img_dsc_t *)(img_head_address + 0x6b6bc)
#define IMG_A36_OIL_ICO (const lv_img_dsc_t *)(img_head_address + 0x6c7cc)
#define IMG_A36_RIGHTYELLOW1_ICO (const lv_img_dsc_t *)(img_head_address + 0x6d264)
#define IMG_A36_RIGHTYELLOW2_ICO (const lv_img_dsc_t *)(img_head_address + 0x6d858)
#define IMG_A36_RIGHTYELLOW3_ICO (const lv_img_dsc_t *)(img_head_address + 0x6dc60)
#define IMG_A36_RIGHT_ICO (const lv_img_dsc_t *)(img_head_address + 0x6e1e8)
#define IMG_A36_WATERPOINT_ICO1 (const lv_img_dsc_t *)(img_head_address + 0x6e86c)
#define IMG_A36_WATERSCALE_ICO (const lv_img_dsc_t *)(img_head_address + 0x6eab4)
#define IMG_A36_WATER_ICO (const lv_img_dsc_t *)(img_head_address + 0x6fbc4)
#define IMG_BTN_KNOB (const lv_img_dsc_t *)(img_head_address + 0x7065c)
#define IMG_LIST_BT (const lv_img_dsc_t *)(img_head_address + 0x78660)
#define IMG_LIST_INFORMATION (const lv_img_dsc_t *)(img_head_address + 0x7e3a8)
#define IMG_LIST_LIGHT (const lv_img_dsc_t *)(img_head_address + 0x85b40)
#define IMG_LIST_OTHER (const lv_img_dsc_t *)(img_head_address + 0x8d07c)
#define IMG_LIST_RETURN (const lv_img_dsc_t *)(img_head_address + 0x94f48)
#define IMG_LIST_THEME (const lv_img_dsc_t *)(img_head_address + 0x9c484)
#define IMG_RETURN (const lv_img_dsc_t *)(img_head_address + 0xa39c0)
#endif

View File

@ -0,0 +1,94 @@
#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_SWITCH_OPEN,
STR_ID_SWITCH_SHUT,
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,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,148 @@
#ifndef __MOTO_LIST_H__
#define __MOTO_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,186 @@
#ifndef __MX_ALTERNATOR_H
#define __MX_ALTERNATOR_H
#ifdef __cplusplus
extern "C" {
#endif
//#include "uart.h"
#include <stdio.h>
#include <stdint.h>
//软件主版本
uint8_t getSoftMainVersion(void);
void setSoftMainVersion(uint8_t value);
//软件副版本
uint8_t getSoftSubVersion(void);
void setSoftSubVersion(uint8_t value);
//SetMode
uint8_t getSetMode(void);
void setSetMode(uint8_t value);
//速度信息
uint16_t getSpeedData(void);
void setSpeedData(uint16_t value);
//档位信息
uint8_t getGearInfo(void);
void setGearInfo(uint8_t value);
//总计里程
uint32_t getTotalMile(void);
void setTotalMile(uint32_t value);
//单次里程
uint32_t getTripMile(void);
void setTripMile(uint32_t value);
//小计里程清零
uint8_t getMileClearTags(void);
void setMileClearTags(uint8_t value);
//Wifi
uint8_t getWifi(void);
void setWifi(uint8_t value);
//蓝牙
uint8_t getBlueTooth(void);
void setBlueTooth(uint8_t value);
//转向
uint8_t getTurn(void);
void setTurn(uint8_t value);
//转向提示
uint8_t getTurnPrompt(void);
void setTurnPrompt(uint8_t value);
//转向灯
uint8_t getTurnLight(void);
void setTurnLight(uint8_t value);
//灯光
uint8_t getBeamLight(void);
void setBeamLight(uint8_t value);
//示宽灯
uint8_t getSideMarkerLight(void);
void setSideMarkerLight(uint8_t value);
//风扇灯
uint8_t getFanLight(void);
void setFanLight(uint8_t value);
//abs灯
uint8_t getABSLight(void);
void setABSLight(uint8_t value);
//机油压力灯
uint8_t getOilPressLight(void);
void setOilPressLight(uint8_t value);
//发动机故障灯
uint8_t getEngineLight(void);
void setEngineLight(uint8_t value);
//获取 油量/水温/电池电压刷新标志
uint8_t getRefreshTags(void);
void setRefreshTags(uint8_t value);
//灯光亮度,具体的light_value值
uint8_t getLightValue(void);
void setLightValue(uint8_t value);
//开机自检
uint8_t getSelfCheck(void);
void setSelfCheck(uint8_t value);
//光感电压值
uint8_t getLightSensingVolt(void);
void setLightSensingVolt(uint8_t value);
//UUID
char* getUUID(void);
void setUUID();
//BTname
char* getBTName(void);
void setBTName();
//蓝牙继承数据
uint8_t getBTDataInherit(void);
void setBTDataInherit(uint8_t value);
//当前故障码
uint16_t getCurrentFaultCode(void);
void setCurrentFaultCode(uint16_t value);
//历史故障码
uint16_t getHistoryFaultCode(void);
void setHistoryFaultCode(uint16_t value);
/*******告警信息begin*******/
//发动机故障
uint8_t getEngineErr(void);
void setEngineErr(uint8_t value);
//机油报警
uint8_t getEngineOilErr(void);
void setEngineOilErr(uint8_t value);
//abs故障
uint8_t getAbsErr(void);
void setAbsErr(uint8_t value);
//TCS故障
uint8_t getTCSErr(void);
void setTCSErr(uint8_t value);
//风扇故障
uint8_t getFanErr(void);
void setFanErr(uint8_t value);
//空档故障
uint8_t getNeutralGearErr(void);
void setNeutralGearErr(uint8_t value);
//水温故障
uint8_t getWaterTemperErr(void);
void setWaterTemperErr(uint8_t value);
//刹车故障
uint8_t getBrakesFaultErr(void);
void setBrakesFaultErr(uint8_t value);
/*******告警信息end*******/
//电池电量占比
uint8_t getBatteryRatio(void);
void setBatteryRatio(uint8_t value);
//电池电压
uint8_t getBatteryVoltage(void);
void setBatteryVoltage(uint8_t value);
//转速信息
uint16_t getEspeed(void);
void setEspeed(uint16_t value);
//油量指示
uint8_t getFuel(void);
void setFuel(uint8_t value);
//水温提示
uint8_t getWaterTemper(void);
void setWaterTemper(uint8_t value);
//电瓶电压
uint8_t getAccumulatorVolt(void);
void setAccumulatorVolt(uint8_t value);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,119 @@
#ifndef __MX_UART_H
#define __MX_UART_H
#ifdef __cplusplus
extern "C" {
#endif
//#include "uart.h"
#include <stdio.h>
#include <stdint.h>
//A27项目界面所需结构体
typedef struct
{
uint16_t ucYear;
uint8_t ucMonth;
uint8_t ucDate;
uint8_t ucHour;
uint8_t ucMinute;
uint8_t ucSecond;
}STime_t, *pSTime;
typedef struct
{
uint8_t mEngine; //发动机故障
uint8_t mEngineOil; //机油报警
uint8_t mAbs; //abs防抱死
uint8_t mTcs; //tcs牵引力系统
uint8_t mFan; //风扇
uint8_t mNeutralGear; //空挡
uint8_t mWaterTemper; //水温故障
uint8_t mBrakesFault; //刹车故障
}ErrorCode_t, *pErrCode;
typedef struct
{
uint8_t mFactorySet; //出厂设置
uint8_t mLanguage; //语言
uint8_t mDisplayUint; //单位
uint8_t mTheme; //当前主题
uint8_t mThemeState; //主题状态
uint8_t mLightValue; //亮度
uint8_t mBT_OnOff; //蓝牙
uint8_t mBT_State; //状态
uint8_t mGearPos; //档位
uint16_t mFuel; //油量
uint32_t mTotalMile; //里程数
}SaveData_t, *pSaveData;
typedef struct
{
uint8_t mSoftMainVersion; //主版本号
uint8_t mSoftSubVersion; //次版本号
//uint8_t bt_name[BT_NAME_MAX_LEN];
uint8_t mSetMode; //高字节 SET 1 为短按 2为长按 低字节 MODE 1 为短按 2为长按
uint16_t mSpeed; //速度信息
uint8_t mGearInfo; //档位信息
uint32_t mTotalMile; //总计里程
uint32_t mTripMile; //单次行驶里程
uint8_t mMileClearTags; //小计里程清零标志
uint8_t mWifi; //WIFI
uint8_t mBlueTooth; //蓝牙
uint8_t mTurn; //转向 0-无 1-左转 2-右转
uint8_t mTurnPrompt; //转向提示 0无 1左 2右
uint8_t mTurnLight; //转向灯 0-无 1-左转向灯 2-右转向灯
uint8_t mBeamLight; //灯光 0-无灯光 1-远光 2-近光 3-自动大灯
uint8_t mSideMarkerLight; //示宽灯 0-无灯光 1-示宽灯
uint8_t mFanLight; //风扇灯 0-无灯光 1-灯亮
uint8_t mABSLight; //0-无灯光 1-灯亮
uint8_t mOilPressLight; //机油压力报警灯 0-无灯光 1-灯亮
uint8_t mEngineLight; //0-无灯光 1-灯亮
uint8_t mRefreshTags; //0-无刷新 1-油量/水温/电池电压刷新标志
uint8_t mLightValue; //灯光亮度,具体的light_value值
uint8_t mSelfCheck; //开机自检
uint8_t mLightSensingVolt; //光感电压值 暂定范围0-3300
char mUuid[32];
char mBT_name[32];
uint16_t mCurrentFaultCode; //当前故障码
uint16_t mHistoryFaultCode; //历史故障码
uint8_t mBTData_Inherit; //继承的蓝牙数据(保留)
uint8_t mTtrb; //开机检测是否获取到时间的标志
uint8_t mTtrb_Time; //设施时间后检测是否正常设置时间的标志
uint8_t mOdo_Reset; //小计里程清零后检测是否正常设置时间的标志
uint8_t mDemo_Position; //是否在demo展示界面的标志
ErrorCode_t mErr; //告警错误
SaveData_t mSaveData; //保存数据
STime_t mTime; //时间变量
uint16_t mPlan; //总进度标志
uint16_t mPace; //分进度标志
uint8_t mUpGrade; //内存拷贝标志
//电摩专用属性
uint8_t mBatteryRatio; //电池电量占比 1个字节eg100% 传输64
uint8_t mBatteryVoltage; //电池电压 eg3.3V 传输3300
//油摩专用属性
uint16_t mEspeed; //转速信息
uint8_t mFuel; //油量指示
uint8_t mWaterTemper; //水温指示
uint8_t mAccumulatorVolt; //电瓶电压
}Store_t, *pStore;
void Storeinit(Store_t* store);
void store_init(void);
Store_t *store_get(void);
void store_set(Store_t store);
ErrorCode_t *error_code_get(void);
void error_code_set(ErrorCode_t error);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,223 @@
#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 10
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;
#if 0
//A27项目界面所需结构体
typedef struct
{
uint16_t ucYear;
uint8_t ucMonth;
uint8_t ucDate;
uint8_t ucHour;
uint8_t ucMinute;
uint8_t ucSecond;
}STime_t, *pSTime;
typedef struct
{
uint8_t mEngine; //发动机故障
uint8_t mEngineOil; //机油报警
uint8_t mAbs; //abs防抱死
uint8_t mTcs; //tcs牵引力系统
uint8_t mFan; //风扇
uint8_t mNeutralGear; //空挡
uint8_t mWaterTemper; //水温故障
uint8_t mBrakesFault; //刹车故障
}Error_t, *pError;
typedef struct
{
uint8_t mFactorySet; //出厂设置
uint8_t mLanguage; //语言
uint8_t mDisplayUint; //单位
uint8_t mTheme; //当前主题
uint8_t mThemeState; //主题状态
uint8_t mLightValue; //亮度
uint8_t mBT_OnOff; //蓝牙
uint8_t mBT_State; //状态
uint8_t mGearPos; //档位
uint16_t mFuel; //油量
uint32_t mTotalMile; //里程数
}SaveData_t, *pSaveData;
typedef struct
{
uint8_t mSoftMainVersion; //主版本号
uint8_t mSoftSubVersion; //次版本号
//uint8_t bt_name[BT_NAME_MAX_LEN];
uint8_t mSetMode; //高字节 SET 1 为短按 2为长按 低字节 MODE 1 为短按 2为长按
uint16_t mSpeed; //速度信息
uint8_t mGearInfo; //档位信息
uint32_t mTotalMile; //总计里程
uint32_t mTripMile; //单次行驶里程
uint8_t mMileClearTags; //小计里程清零标志
uint8_t mWifi; //WIFI
uint8_t mBlueTooth; //蓝牙
uint8_t mTurn; //转向 0-无 1-左转 2-右转
uint8_t mTurnPrompt; //转向提示 0无 1左 2右
uint8_t mTurnLight; //转向灯 0-无 1-左转向灯 2-右转向灯
uint8_t mBeamLight; //灯光 0-无灯光 1-远光 2-近光 3-自动大灯
uint8_t mSideMarkerLight; //示宽灯 0-无灯光 1-示宽灯
uint8_t mFanLight; //风扇灯 0-无灯光 1-灯亮
uint8_t mABSLight; //0-无灯光 1-灯亮
uint8_t mOilPressLight; //机油压力报警灯 0-无灯光 1-灯亮
uint8_t mEngineLight; //0-无灯光 1-灯亮
uint8_t mRefreshTags; //0-无刷新 1-油量/水温/电池电压刷新标志
uint8_t mLightValue; //灯光亮度,具体的light_value值
uint8_t mSelfCheck; //开机自检
uint8_t mLightSensingVolt; //光感电压值 暂定范围0-3300
uint8_t return_demo; //????
char mUuid[32];
char mBT_name[32];
uint16_t mCurrentFaultCode; //当前故障码
uint16_t mHistoryFaultCode; //历史故障码
uint8_t mBTData_Inherit; //继承的蓝牙数据(保留)
uint8_t mTtrb; //开机检测是否获取到时间的标志
uint8_t mTtrb_Time; //设施时间后检测是否正常设置时间的标志
uint8_t mOdo_Reset; //小计里程清零后检测是否正常设置时间的标志
uint8_t mDemo_Position; //是否在demo展示界面的标志
Error_t mErr; //告警错误
SaveData_t mSaveData; //保存数据
STime_t mTime; //时间变量
uint16_t mPlan; //总进度标志
uint16_t mPace; //分进度标志
uint8_t mUpGrade; //内存拷贝标志
//电摩专用属性
#ifdef _EMOTO_
uint8_t mBatteryRatio; //电池电量占比 1个字节eg100% 传输64
uint8_t mBatteryVoltage; //电池电压 eg3.3V 传输3300
#endif
//油摩专用属性
#ifdef _OMOTO_
uint8_t mEspeed; //转速信息
uint8_t mFuel; //油量指示
uint8_t mWaterTemper; //水温指示
uint8_t mAccumulatorVolt; //电瓶电压
#endif
}SysData_t, *pSysData;
extern SysData_t UserData;
STime_t* getCurrentTime1();
SysData_t* GetDailyData1(void);
void SystemDate_Init(void);
#endif
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();
//数据同步函数.从存储结构体获取数据
void DataSyncFromStore(void);
#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,147 @@
#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,15 @@
#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

View File

@ -0,0 +1,247 @@
/*******************************************************************************
* Size: 10 px
* Bpp: 4
* Opts: --bpp 4 --size 10 --no-compress --font 微软雅黑.ttf --symbols x1000r/min23456789. --format lvgl -o MXC_MSYAHEI_CT_bpp4_10px.c
******************************************************************************/
#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+002E "." */
0x2, 0x4b,
/* U+002F "/" */
0x0, 0x0, 0xb2, 0x0, 0x1, 0xc0, 0x0, 0x7,
0x60, 0x0, 0xd, 0x0, 0x0, 0x4a, 0x0, 0x0,
0xa4, 0x0, 0x0, 0xd0, 0x0, 0x6, 0x70, 0x0,
0xc, 0x10, 0x0, 0x6, 0x0, 0x0,
/* 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+0069 "i" */
0x2c, 0x2, 0x0, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
0x2d,
/* U+006D "m" */
0x2d, 0x8c, 0x97, 0xbc, 0x12, 0xf1, 0xe, 0x80,
0x78, 0x2d, 0x0, 0xb3, 0x5, 0x92, 0xd0, 0xb,
0x30, 0x5a, 0x2d, 0x0, 0xb3, 0x5, 0xa2, 0xd0,
0xb, 0x30, 0x5a,
/* U+006E "n" */
0x2d, 0x8b, 0xb0, 0x2f, 0x20, 0xb4, 0x2d, 0x0,
0x86, 0x2d, 0x0, 0x86, 0x2d, 0x0, 0x86, 0x2d,
0x0, 0x86,
/* U+0072 "r" */
0x0, 0x0, 0x2d, 0xab, 0x2f, 0x30, 0x2d, 0x0,
0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0,
/* U+0078 "x" */
0x89, 0x6, 0xa0, 0xd2, 0xd1, 0x5, 0xd7, 0x0,
0x5e, 0x60, 0xd, 0x2d, 0x19, 0x70, 0x79
};
/*---------------------
* 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 = 39, .box_w = 2, .box_h = 2, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2, .adv_w = 68, .box_w = 6, .box_h = 10, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 32, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 56, .adv_w = 94, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 83, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 107, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 131, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 155, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 179, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 203, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 227, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 251, .adv_w = 94, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 275, .adv_w = 43, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 284, .adv_w = 150, .box_w = 9, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 311, .adv_w = 99, .box_w = 6, .box_h = 6, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 329, .adv_w = 61, .box_w = 4, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 343, .adv_w = 81, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_1[] = {
0x0, 0x4, 0x5, 0x9, 0xf
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 46, .range_length = 12, .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 = 105, .range_length = 16, .glyph_id_start = 13,
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 5, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
/*-----------------
* KERNING
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
{
16, 1,
16, 14,
16, 15,
16, 17
};
/* 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[] =
{
-14, 0, 0, 5
};
/*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 = 4,
.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 = 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_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` */
#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9
.fallback = NULL,
#endif
//.user_data = NULL,
};
#endif /*#if MXC_MSYAHEI_CT_BPP4_10PX*/

View File

@ -0,0 +1,305 @@
/*******************************************************************************
* Size: 14 px
* Bpp: 4
* Opts: --bpp 4 --size 14 --no-compress --font 微软雅黑.ttf --symbols 0123456789.:Vkm/hin --format lvgl -o MXC_MSYAHEI_CT_bpp4_14px.c
******************************************************************************/
#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+002E "." */
0xb, 0x40, 0xe6,
/* U+002F "/" */
0x0, 0x0, 0x5, 0xe0, 0x0, 0x0, 0xb, 0x80,
0x0, 0x0, 0x2f, 0x20, 0x0, 0x0, 0x8b, 0x0,
0x0, 0x0, 0xe5, 0x0, 0x0, 0x4, 0xe0, 0x0,
0x0, 0xa, 0x90, 0x0, 0x0, 0x1f, 0x20, 0x0,
0x0, 0x7c, 0x0, 0x0, 0x0, 0xd6, 0x0, 0x0,
0x3, 0xf0, 0x0, 0x0, 0xa, 0x90, 0x0, 0x0,
0xf, 0x30, 0x0, 0x0,
/* U+0030 "0" */
0x0, 0x7e, 0xfb, 0x10, 0x7, 0xf5, 0x3c, 0xc0,
0xe, 0x70, 0x3, 0xf3, 0x2f, 0x20, 0x0, 0xe7,
0x5f, 0x0, 0x0, 0xd9, 0x5f, 0x0, 0x0, 0xc9,
0x5f, 0x0, 0x0, 0xc8, 0x3f, 0x20, 0x0, 0xe6,
0xf, 0x60, 0x3, 0xf2, 0x8, 0xe4, 0x3c, 0xa0,
0x0, 0x9f, 0xf9, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x1, 0x6b, 0xf0, 0x0, 0xcd,
0xbf, 0x0, 0x1, 0x5, 0xf0, 0x0, 0x0, 0x5f,
0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x5f, 0x0,
0x0, 0x5, 0xf0, 0x0, 0x0, 0x5f, 0x0, 0x0,
0x5, 0xf0, 0x0, 0x23, 0x7f, 0x33, 0x1b, 0xff,
0xff, 0xf5,
/* U+0032 "2" */
0x2, 0xae, 0xfb, 0x20, 0xb, 0x83, 0x3c, 0xd0,
0x1, 0x0, 0x2, 0xf3, 0x0, 0x0, 0x2, 0xf2,
0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x2f, 0x40,
0x0, 0x2, 0xe7, 0x0, 0x0, 0x2e, 0x80, 0x0,
0x2, 0xe8, 0x0, 0x0, 0x1d, 0xc4, 0x44, 0x40,
0x4f, 0xff, 0xff, 0xf2,
/* U+0033 "3" */
0x4, 0xcf, 0xe8, 0x0, 0x7, 0x53, 0x6f, 0x70,
0x0, 0x0, 0xa, 0xc0, 0x0, 0x0, 0xa, 0xa0,
0x0, 0x0, 0x5f, 0x30, 0x0, 0xff, 0xf6, 0x0,
0x0, 0x23, 0x6e, 0x90, 0x0, 0x0, 0x5, 0xf1,
0x0, 0x0, 0x5, 0xf1, 0xa, 0x43, 0x5e, 0xb0,
0xa, 0xef, 0xd8, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x8f, 0x50, 0x0, 0x2, 0xef, 0x50,
0x0, 0xc, 0x6e, 0x50, 0x0, 0x7c, 0xf, 0x50,
0x2, 0xe2, 0xf, 0x50, 0xb, 0x70, 0xf, 0x50,
0x6d, 0x0, 0xf, 0x50, 0xdf, 0xff, 0xff, 0xfa,
0x12, 0x22, 0x2f, 0x71, 0x0, 0x0, 0xf, 0x50,
0x0, 0x0, 0xf, 0x50,
/* U+0035 "5" */
0x7f, 0xff, 0xfc, 0x7, 0xd3, 0x33, 0x20, 0x7c,
0x0, 0x0, 0x7, 0xc0, 0x0, 0x0, 0x7f, 0xfd,
0x80, 0x1, 0x33, 0x6e, 0xa0, 0x0, 0x0, 0x6f,
0x10, 0x0, 0x2, 0xf2, 0x0, 0x0, 0x6f, 0x8,
0x53, 0x6f, 0x80, 0x8e, 0xfd, 0x70, 0x0,
/* U+0036 "6" */
0x0, 0x9, 0xef, 0xc0, 0x0, 0xcc, 0x43, 0x50,
0x7, 0xe0, 0x0, 0x0, 0xd, 0x70, 0x0, 0x0,
0xf, 0x6b, 0xec, 0x40, 0x2f, 0xd5, 0x39, 0xf2,
0x2f, 0x60, 0x0, 0xe7, 0x1f, 0x40, 0x0, 0xc9,
0xd, 0x80, 0x0, 0xe6, 0x6, 0xf6, 0x3a, 0xe1,
0x0, 0x7e, 0xfc, 0x20,
/* U+0037 "7" */
0x5f, 0xff, 0xff, 0xf7, 0x13, 0x33, 0x36, 0xf2,
0x0, 0x0, 0x9, 0xb0, 0x0, 0x0, 0xf, 0x50,
0x0, 0x0, 0x6e, 0x0, 0x0, 0x0, 0xc8, 0x0,
0x0, 0x3, 0xf2, 0x0, 0x0, 0x9, 0xc0, 0x0,
0x0, 0xf, 0x50, 0x0, 0x0, 0x6f, 0x0, 0x0,
0x0, 0xc9, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x8e, 0xfb, 0x20, 0x8, 0xe4, 0x3b, 0xe0,
0xd, 0x80, 0x3, 0xf2, 0xb, 0xb0, 0x7, 0xe0,
0x2, 0xeb, 0x8e, 0x40, 0x0, 0x8e, 0xea, 0x10,
0xa, 0xc1, 0x9, 0xe0, 0x2f, 0x30, 0x0, 0xf6,
0x3f, 0x20, 0x0, 0xe6, 0xd, 0xc4, 0x3a, 0xf2,
0x2, 0xbf, 0xeb, 0x30,
/* U+0039 "9" */
0x0, 0x9e, 0xfa, 0x10, 0x9, 0xd4, 0x4d, 0xb0,
0x1f, 0x40, 0x3, 0xf2, 0x4f, 0x10, 0x0, 0xf6,
0x3f, 0x30, 0x0, 0xf7, 0xd, 0xc2, 0x1a, 0xf7,
0x3, 0xdf, 0xf8, 0xf5, 0x0, 0x2, 0x11, 0xf2,
0x0, 0x0, 0x8, 0xd0, 0x5, 0x33, 0x7f, 0x30,
0x8, 0xff, 0xc3, 0x0,
/* U+003A ":" */
0xe, 0x60, 0xb4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xb, 0x40, 0xe6,
/* U+0056 "V" */
0xbc, 0x0, 0x0, 0x4, 0xf2, 0x5f, 0x20, 0x0,
0xa, 0xc0, 0xf, 0x70, 0x0, 0xf, 0x70, 0xa,
0xc0, 0x0, 0x4f, 0x10, 0x5, 0xf2, 0x0, 0xac,
0x0, 0x0, 0xf7, 0x0, 0xf6, 0x0, 0x0, 0x9c,
0x5, 0xf1, 0x0, 0x0, 0x4f, 0x1a, 0xb0, 0x0,
0x0, 0xe, 0x7f, 0x50, 0x0, 0x0, 0x9, 0xef,
0x0, 0x0, 0x0, 0x3, 0xfa, 0x0, 0x0,
/* U+0068 "h" */
0xc8, 0x0, 0x0, 0xc, 0x80, 0x0, 0x0, 0xc8,
0x0, 0x0, 0xc, 0x80, 0x0, 0x0, 0xc8, 0x8e,
0xe8, 0xc, 0xe8, 0x38, 0xf4, 0xcc, 0x0, 0xe,
0x7c, 0x80, 0x0, 0xc9, 0xc8, 0x0, 0xc, 0x9c,
0x80, 0x0, 0xc9, 0xc8, 0x0, 0xc, 0x9c, 0x80,
0x0, 0xc9,
/* U+0069 "i" */
0xc8, 0x85, 0x0, 0x0, 0xd8, 0xd8, 0xd8, 0xd8,
0xd8, 0xd8, 0xd8, 0xd8,
/* U+006B "k" */
0xc8, 0x0, 0x0, 0xc, 0x80, 0x0, 0x0, 0xc8,
0x0, 0x0, 0xc, 0x80, 0x0, 0x0, 0xc8, 0x0,
0xcd, 0x1c, 0x80, 0x9e, 0x10, 0xc8, 0x7f, 0x30,
0xc, 0xcf, 0x40, 0x0, 0xcb, 0xf8, 0x0, 0xc,
0x84, 0xf6, 0x0, 0xc8, 0x7, 0xf4, 0xc, 0x80,
0x9, 0xf3,
/* U+006D "m" */
0xc9, 0x9f, 0xe5, 0x3c, 0xfc, 0x20, 0xcf, 0x40,
0x9f, 0xd2, 0xb, 0xc0, 0xca, 0x0, 0x1f, 0x70,
0x5, 0xf0, 0xc8, 0x0, 0xf, 0x50, 0x4, 0xf1,
0xc8, 0x0, 0xf, 0x50, 0x4, 0xf1, 0xc8, 0x0,
0xf, 0x50, 0x4, 0xf1, 0xc8, 0x0, 0xf, 0x50,
0x4, 0xf1, 0xc8, 0x0, 0xf, 0x50, 0x4, 0xf1,
/* U+006E "n" */
0xc8, 0x9e, 0xe8, 0xc, 0xf5, 0x5, 0xf4, 0xcb,
0x0, 0xd, 0x8c, 0x80, 0x0, 0xc9, 0xc8, 0x0,
0xc, 0x9c, 0x80, 0x0, 0xc9, 0xc8, 0x0, 0xc,
0x9c, 0x80, 0x0, 0xc9
};
/*---------------------
* 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 = 2, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 3, .adv_w = 96, .box_w = 8, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 55, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 99, .adv_w = 131, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 141, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 185, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 229, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 273, .adv_w = 131, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 312, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 356, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 400, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 444, .adv_w = 131, .box_w = 8, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 488, .adv_w = 54, .box_w = 3, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 500, .adv_w = 151, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 555, .adv_w = 138, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 597, .adv_w = 60, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 609, .adv_w = 122, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 651, .adv_w = 210, .box_w = 12, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 699, .adv_w = 138, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_1[] = {
0x0, 0x12, 0x13, 0x15, 0x17, 0x18
};
/*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 = 86, .range_length = 25, .glyph_id_start = 14,
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 6, .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, 1,
14, 18,
14, 19,
17, 1,
17, 13
};
/* 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[] =
{
-27, -9, -9, 10, 10
};
/*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 = 5,
.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 = 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_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 = 14, /*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` */
#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9
.fallback = NULL,
#endif
.user_data = NULL,
};
#endif /*#if MXC_MSYAHEI_CT_BPP4_14PX*/

View File

@ -0,0 +1,260 @@
/*******************************************************************************
* Size: 21 px
* Bpp: 4
* Opts: --bpp 4 --size 21 --no-compress --font 微软雅黑.ttf --symbols 0123456789: --format lvgl -o MXC_MSYAHEI_CT_bpp4_21px.c
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_MSYAHEI_CT_BPP4_21PX
#define MXC_MSYAHEI_CT_BPP4_21PX 1
#endif
#if MXC_MSYAHEI_CT_BPP4_21PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x2, 0xae, 0xfd, 0x70, 0x0, 0x0, 0x3f,
0xfd, 0xcf, 0xfb, 0x0, 0x0, 0xdf, 0x70, 0x2,
0xef, 0x60, 0x5, 0xfc, 0x0, 0x0, 0x5f, 0xc0,
0xa, 0xf6, 0x0, 0x0, 0xf, 0xf1, 0xd, 0xf2,
0x0, 0x0, 0xd, 0xf3, 0xf, 0xf0, 0x0, 0x0,
0xb, 0xf5, 0xf, 0xf0, 0x0, 0x0, 0xa, 0xf6,
0xf, 0xf0, 0x0, 0x0, 0xa, 0xf6, 0xf, 0xf0,
0x0, 0x0, 0xb, 0xf5, 0xe, 0xf2, 0x0, 0x0,
0xc, 0xf3, 0xb, 0xf5, 0x0, 0x0, 0xf, 0xf0,
0x7, 0xfa, 0x0, 0x0, 0x5f, 0xa0, 0x1, 0xff,
0x50, 0x2, 0xef, 0x30, 0x0, 0x5f, 0xfd, 0xcf,
0xf7, 0x0, 0x0, 0x4, 0xbf, 0xfc, 0x50, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x27, 0x50, 0x0, 0x0, 0x49, 0xdf,
0xf8, 0x0, 0x0, 0x2f, 0xff, 0xef, 0x80, 0x0,
0x2, 0xa5, 0x18, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x8f, 0x80, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x8f, 0x80, 0x0, 0x0, 0x0,
0x8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x80,
0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, 0x0, 0x0,
0x0, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x8, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x8f, 0x80, 0x0, 0x0,
0x0, 0x8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x8f,
0x80, 0x0, 0x0, 0xcc, 0xce, 0xfe, 0xcc, 0xc0,
0x1f, 0xff, 0xff, 0xff, 0xff, 0x0,
/* U+0032 "2" */
0x0, 0x7c, 0xff, 0xd9, 0x10, 0xd, 0xff, 0xcd,
0xff, 0xd1, 0x1e, 0x60, 0x0, 0x1d, 0xf8, 0x1,
0x0, 0x0, 0x4, 0xfd, 0x0, 0x0, 0x0, 0x2,
0xfd, 0x0, 0x0, 0x0, 0x4, 0xfb, 0x0, 0x0,
0x0, 0xa, 0xf5, 0x0, 0x0, 0x0, 0x4f, 0xc0,
0x0, 0x0, 0x3, 0xfe, 0x20, 0x0, 0x0, 0x2e,
0xf3, 0x0, 0x0, 0x3, 0xef, 0x40, 0x0, 0x0,
0x3e, 0xf3, 0x0, 0x0, 0x3, 0xff, 0x30, 0x0,
0x0, 0x3f, 0xe3, 0x0, 0x0, 0x0, 0xef, 0xed,
0xdd, 0xdd, 0xda, 0xef, 0xff, 0xff, 0xff, 0xfc,
/* U+0033 "3" */
0x3, 0xad, 0xfe, 0xb4, 0x0, 0xe, 0xfd, 0xce,
0xff, 0x80, 0x6, 0x0, 0x0, 0x6f, 0xf1, 0x0,
0x0, 0x0, 0xe, 0xf2, 0x0, 0x0, 0x0, 0xf,
0xf0, 0x0, 0x0, 0x1, 0xaf, 0x80, 0x0, 0xab,
0xdf, 0xd6, 0x0, 0x0, 0xff, 0xff, 0xd8, 0x0,
0x0, 0x0, 0x14, 0xbf, 0xc0, 0x0, 0x0, 0x0,
0xc, 0xf6, 0x0, 0x0, 0x0, 0x6, 0xfa, 0x0,
0x0, 0x0, 0x5, 0xfb, 0x0, 0x0, 0x0, 0xa,
0xf8, 0x76, 0x0, 0x0, 0x7f, 0xf2, 0x8f, 0xfc,
0xce, 0xff, 0x50, 0x18, 0xdf, 0xfd, 0x92, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x2f, 0xf8, 0x0, 0x0, 0x0,
0x0, 0xcf, 0xf8, 0x0, 0x0, 0x0, 0x8, 0xfa,
0xf8, 0x0, 0x0, 0x0, 0x3f, 0xa6, 0xf8, 0x0,
0x0, 0x0, 0xde, 0x16, 0xf8, 0x0, 0x0, 0x8,
0xf5, 0x6, 0xf8, 0x0, 0x0, 0x3f, 0xa0, 0x6,
0xf8, 0x0, 0x0, 0xde, 0x10, 0x6, 0xf8, 0x0,
0x9, 0xf4, 0x0, 0x6, 0xf8, 0x0, 0x4f, 0x90,
0x0, 0x6, 0xf8, 0x0, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xf9, 0x8a, 0xaa, 0xaa, 0xac, 0xfd, 0xa5,
0x0, 0x0, 0x0, 0x6, 0xf8, 0x0, 0x0, 0x0,
0x0, 0x6, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x6,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf8, 0x0,
/* U+0035 "5" */
0xb, 0xff, 0xff, 0xff, 0xf2, 0xb, 0xfd, 0xdd,
0xdd, 0xd1, 0xb, 0xf2, 0x0, 0x0, 0x0, 0xb,
0xf2, 0x0, 0x0, 0x0, 0xb, 0xf2, 0x0, 0x0,
0x0, 0xb, 0xf2, 0x0, 0x0, 0x0, 0xb, 0xff,
0xfe, 0xb5, 0x0, 0x9, 0xcc, 0xdf, 0xff, 0x90,
0x0, 0x0, 0x0, 0x7f, 0xf5, 0x0, 0x0, 0x0,
0x8, 0xfa, 0x0, 0x0, 0x0, 0x3, 0xfd, 0x0,
0x0, 0x0, 0x4, 0xfc, 0x0, 0x0, 0x0, 0x9,
0xf9, 0x26, 0x0, 0x0, 0x7f, 0xf2, 0x3f, 0xfc,
0xce, 0xff, 0x50, 0x19, 0xdf, 0xfe, 0xa2, 0x0,
/* U+0036 "6" */
0x0, 0x1, 0x8d, 0xff, 0xc4, 0x0, 0x3, 0xef,
0xec, 0xce, 0x70, 0x1, 0xef, 0x60, 0x0, 0x1,
0x0, 0xaf, 0x60, 0x0, 0x0, 0x0, 0x1f, 0xd0,
0x0, 0x0, 0x0, 0x6, 0xf8, 0x7, 0xaa, 0x60,
0x0, 0x9f, 0x6d, 0xff, 0xff, 0xd1, 0xb, 0xfe,
0xb3, 0x3, 0xdf, 0xb0, 0xcf, 0xd0, 0x0, 0x2,
0xff, 0x2c, 0xf8, 0x0, 0x0, 0xc, 0xf5, 0xbf,
0x60, 0x0, 0x0, 0xaf, 0x68, 0xf8, 0x0, 0x0,
0xb, 0xf5, 0x3f, 0xe0, 0x0, 0x1, 0xff, 0x10,
0xcf, 0x90, 0x0, 0xaf, 0xa0, 0x2, 0xef, 0xeb,
0xef, 0xd1, 0x0, 0x1, 0xae, 0xfd, 0x80, 0x0,
/* U+0037 "7" */
0xf, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xd, 0xdd,
0xdd, 0xdd, 0xdf, 0xf0, 0x0, 0x0, 0x0, 0x0,
0x5f, 0x90, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x20,
0x0, 0x0, 0x0, 0x3, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x9, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xe0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x80, 0x0,
0x0, 0x0, 0x0, 0xdf, 0x20, 0x0, 0x0, 0x0,
0x4, 0xfb, 0x0, 0x0, 0x0, 0x0, 0xb, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x8f, 0x80, 0x0, 0x0, 0x0, 0x0,
0xef, 0x10, 0x0, 0x0, 0x0, 0x6, 0xfb, 0x0,
0x0, 0x0, 0x0, 0xc, 0xf4, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x4b, 0xef, 0xe9, 0x10, 0x0, 0x6f, 0xfd,
0xbe, 0xfd, 0x10, 0x1f, 0xf5, 0x0, 0x1c, 0xf8,
0x4, 0xfc, 0x0, 0x0, 0x5f, 0xb0, 0x3f, 0xc0,
0x0, 0x6, 0xf9, 0x0, 0xef, 0x50, 0x1, 0xdf,
0x30, 0x3, 0xef, 0x86, 0xef, 0x60, 0x0, 0x1,
0xdf, 0xff, 0x40, 0x0, 0x3, 0xde, 0x54, 0xcf,
0x70, 0x2, 0xfd, 0x10, 0x0, 0xaf, 0x70, 0xaf,
0x50, 0x0, 0x1, 0xff, 0xd, 0xf2, 0x0, 0x0,
0xd, 0xf3, 0xdf, 0x50, 0x0, 0x0, 0xef, 0x29,
0xfe, 0x20, 0x0, 0xaf, 0xd0, 0x1d, 0xff, 0xcc,
0xef, 0xf3, 0x0, 0x8, 0xdf, 0xfd, 0x91, 0x0,
/* U+0039 "9" */
0x0, 0x5b, 0xff, 0xc6, 0x0, 0x0, 0x9f, 0xfd,
0xcf, 0xf9, 0x0, 0x5f, 0xe3, 0x0, 0x2e, 0xf4,
0xb, 0xf5, 0x0, 0x0, 0x5f, 0xb0, 0xef, 0x10,
0x0, 0x0, 0xff, 0xe, 0xf2, 0x0, 0x0, 0xf,
0xf1, 0xcf, 0x70, 0x0, 0x4, 0xff, 0x25, 0xff,
0x71, 0x15, 0xef, 0xf3, 0x9, 0xff, 0xff, 0xf9,
0xdf, 0x20, 0x4, 0xac, 0xa5, 0xe, 0xf0, 0x0,
0x0, 0x0, 0x1, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x6f, 0x90, 0x0, 0x0, 0x0, 0x1e, 0xf2, 0x0,
0x30, 0x0, 0x2c, 0xf9, 0x0, 0x1f, 0xec, 0xcf,
0xfa, 0x0, 0x0, 0xae, 0xfe, 0xb5, 0x0, 0x0,
/* U+003A ":" */
0x6f, 0x7b, 0xfd, 0x3a, 0x40, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xa4, 0xbf,
0xd6, 0xf8
};
/*---------------------
* 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 = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 96, .adv_w = 197, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 190, .adv_w = 197, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 270, .adv_w = 197, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 350, .adv_w = 197, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 446, .adv_w = 197, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 526, .adv_w = 197, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 614, .adv_w = 197, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 710, .adv_w = 197, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 798, .adv_w = 197, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 886, .adv_w = 81, .box_w = 3, .box_h = 12, .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
}
};
/*--------------------
* 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_21px = {
#else
lv_font_t MXC_MSYAHEI_CT_bpp4_21px = {
#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` */
#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9
.fallback = NULL,
#endif
//.user_data = NULL,
};
#endif /*#if MXC_MSYAHEI_CT_BPP4_21PX*/

View File

@ -0,0 +1,455 @@
/*******************************************************************************
* Size: 36 px
* Bpp: 4
* Opts: --bpp 4 --size 36 --no-compress --font 微软雅黑.ttf --symbols 0123456789 --format lvgl -o MXC_MSYAHEI_CT_bpp4_36px.c
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_MSYAHEI_CT_BPP4_36PX
#define MXC_MSYAHEI_CT_BPP4_36PX 1
#endif
#if MXC_MSYAHEI_CT_BPP4_36PX
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x0, 0x0, 0x5a, 0xdf, 0xfd, 0x93, 0x0,
0x0, 0x0, 0x0, 0x2, 0xcf, 0xff, 0xff, 0xff,
0xf9, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xfe,
0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0xdf, 0xff,
0x71, 0x0, 0x4d, 0xff, 0xf7, 0x0, 0x0, 0x8f,
0xff, 0x40, 0x0, 0x0, 0x1e, 0xff, 0xe0, 0x0,
0x1f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x5f, 0xff,
0x60, 0x5, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0xef, 0xfb, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0,
0x0, 0xa, 0xff, 0xf0, 0xe, 0xff, 0x90, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0x20, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf5, 0x3f,
0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
0x64, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0,
0xff, 0xf7, 0x5f, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0xf, 0xff, 0x86, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xf8, 0x6f, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x85, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf7,
0x4f, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0x62, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xf3, 0xf, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x5f, 0xff, 0x10, 0xdf, 0xfb, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xd0, 0x8, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf8, 0x0,
0x3f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x5f, 0xff,
0x30, 0x0, 0xcf, 0xff, 0x20, 0x0, 0x0, 0x1e,
0xff, 0xa0, 0x0, 0x3, 0xff, 0xff, 0x60, 0x0,
0x4d, 0xff, 0xf2, 0x0, 0x0, 0x6, 0xff, 0xff,
0xfe, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x6,
0xff, 0xff, 0xff, 0xff, 0xd3, 0x0, 0x0, 0x0,
0x0, 0x1, 0x7c, 0xef, 0xeb, 0x60, 0x0, 0x0,
0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x4, 0x8a, 0x0, 0x0, 0x0,
0x0, 0x1, 0x5a, 0xff, 0xfd, 0x0, 0x0, 0x0,
0x37, 0xcf, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xc8, 0xbf, 0xfd, 0x0, 0x0, 0x0,
0xca, 0x61, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
/* U+0032 "2" */
0x0, 0x0, 0x4, 0x9c, 0xef, 0xfd, 0xa4, 0x0,
0x0, 0x0, 0x5, 0xdf, 0xff, 0xff, 0xff, 0xff,
0xc2, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xfe, 0xff,
0xff, 0xfe, 0x20, 0x0, 0xcf, 0xfb, 0x51, 0x0,
0x4, 0xcf, 0xff, 0xc0, 0x0, 0xcd, 0x40, 0x0,
0x0, 0x0, 0xb, 0xff, 0xf3, 0x0, 0x70, 0x0,
0x0, 0x0, 0x0, 0x1, 0xff, 0xf7, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xfa,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xe, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xaf, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7, 0xff, 0xf4, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x90, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x90,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff,
0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f,
0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9,
0xff, 0xf7, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10,
0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf6, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf6, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf6,
/* U+0033 "3" */
0x0, 0x4, 0x9c, 0xef, 0xfd, 0xa5, 0x0, 0x0,
0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40,
0x0, 0x7, 0xff, 0xff, 0xee, 0xff, 0xff, 0xff,
0x40, 0x0, 0x7f, 0x93, 0x0, 0x0, 0x3b, 0xff,
0xfe, 0x0, 0x3, 0x10, 0x0, 0x0, 0x0, 0xb,
0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
0x2, 0x5a, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xcf,
0xff, 0xff, 0xff, 0xb4, 0x0, 0x0, 0x0, 0xc,
0xff, 0xff, 0xff, 0xb6, 0x10, 0x0, 0x0, 0x0,
0xad, 0xde, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0,
0x0, 0x0, 0x0, 0x26, 0xdf, 0xff, 0xc0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f,
0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0xb, 0xff, 0xf0, 0x66, 0x0, 0x0, 0x0, 0x0,
0x7, 0xff, 0xf8, 0x7, 0xfd, 0x62, 0x0, 0x0,
0x4b, 0xff, 0xfd, 0x0, 0x7f, 0xff, 0xff, 0xee,
0xff, 0xff, 0xfe, 0x20, 0x5, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0x10, 0x0, 0x1, 0x6a, 0xdf,
0xff, 0xeb, 0x71, 0x0, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x5f, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1, 0xef, 0xdf, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x6f, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfc,
0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xf2, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0xb, 0xff, 0x70, 0xf, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xfc, 0x0, 0xf, 0xff,
0x50, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf2, 0x0,
0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0xc, 0xff,
0x70, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0,
0x7f, 0xfc, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0,
0x0, 0x2, 0xff, 0xf2, 0x0, 0x0, 0xf, 0xff,
0x50, 0x0, 0x0, 0xc, 0xff, 0x60, 0x0, 0x0,
0xf, 0xff, 0x50, 0x0, 0x0, 0x7f, 0xfb, 0x0,
0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x2, 0xff,
0xf1, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0,
0xd, 0xff, 0x60, 0x0, 0x0, 0x0, 0xf, 0xff,
0x50, 0x0, 0x7f, 0xff, 0xcc, 0xcc, 0xcc, 0xcc,
0xcf, 0xff, 0xdc, 0xc9, 0xbf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xf, 0xff, 0x50, 0x0,
/* U+0035 "5" */
0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50,
0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50,
0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50,
0xf, 0xff, 0x31, 0x11, 0x11, 0x11, 0x11, 0x0,
0xf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0xff, 0xfe, 0xda, 0x50, 0x0, 0x0,
0xf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0,
0xf, 0xff, 0xee, 0xff, 0xff, 0xff, 0xf7, 0x0,
0x1, 0x0, 0x0, 0x1, 0x6c, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4,
0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf0,
0x50, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0x80,
0xed, 0x72, 0x0, 0x0, 0x5c, 0xff, 0xfd, 0x0,
0xef, 0xff, 0xfe, 0xef, 0xff, 0xff, 0xd2, 0x0,
0xdf, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0,
0x17, 0xbd, 0xff, 0xfe, 0xb7, 0x20, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x0, 0x4, 0x9d, 0xff, 0xfd, 0xa5,
0x0, 0x0, 0x0, 0x3, 0xcf, 0xff, 0xff, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xfe,
0xff, 0xfe, 0x0, 0x0, 0x5, 0xff, 0xff, 0x72,
0x0, 0x1, 0x58, 0x0, 0x0, 0x2f, 0xff, 0xc1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0x0, 0x17, 0xbd, 0xcb, 0x61,
0x0, 0x0, 0x7f, 0xfc, 0x5, 0xff, 0xff, 0xff,
0xfe, 0x60, 0x0, 0xaf, 0xfa, 0x5f, 0xff, 0xff,
0xff, 0xff, 0xf7, 0x0, 0xcf, 0xfb, 0xef, 0xa3,
0x0, 0x39, 0xff, 0xff, 0x30, 0xdf, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x5f, 0xff, 0xb0, 0xef, 0xff,
0x90, 0x0, 0x0, 0x0, 0xa, 0xff, 0xf2, 0xef,
0xff, 0x20, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf5,
0xdf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xf8, 0xcf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0,
0xef, 0xf9, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x0, 0xef, 0xf8, 0x7f, 0xff, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xf7, 0x3f, 0xff, 0x50, 0x0,
0x0, 0x0, 0x4, 0xff, 0xf3, 0xd, 0xff, 0xc0,
0x0, 0x0, 0x0, 0xb, 0xff, 0xe0, 0x6, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x70, 0x0,
0xcf, 0xff, 0xa2, 0x0, 0x18, 0xff, 0xfc, 0x0,
0x0, 0x1e, 0xff, 0xff, 0xee, 0xff, 0xff, 0xd2,
0x0, 0x0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xfb,
0x10, 0x0, 0x0, 0x0, 0x4, 0xad, 0xff, 0xd9,
0x40, 0x0, 0x0,
/* U+0037 "7" */
0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf3, 0x5f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd, 0x0, 0x11, 0x11, 0x11,
0x11, 0x11, 0x11, 0x1e, 0xff, 0x60, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xf9,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xf7, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x10, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xbf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x8, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xef, 0xf8, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff,
0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0,
/* U+0038 "8" */
0x0, 0x0, 0x1, 0x7b, 0xef, 0xfd, 0xa5, 0x0,
0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff,
0xfc, 0x20, 0x0, 0x0, 0x9, 0xff, 0xff, 0xfd,
0xff, 0xff, 0xfe, 0x20, 0x0, 0x5, 0xff, 0xfe,
0x50, 0x0, 0x2b, 0xff, 0xfc, 0x0, 0x0, 0xdf,
0xfe, 0x10, 0x0, 0x0, 0xa, 0xff, 0xf2, 0x0,
0x1f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x3f, 0xff,
0x50, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x1,
0xff, 0xf6, 0x0, 0x1f, 0xff, 0x60, 0x0, 0x0,
0x0, 0x2f, 0xff, 0x40, 0x0, 0xdf, 0xfc, 0x0,
0x0, 0x0, 0x8, 0xff, 0xe0, 0x0, 0x5, 0xff,
0xf8, 0x0, 0x0, 0x4, 0xff, 0xf7, 0x0, 0x0,
0xa, 0xff, 0xfa, 0x10, 0x8, 0xff, 0xfa, 0x0,
0x0, 0x0, 0x8, 0xff, 0xff, 0xae, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x3, 0xcf, 0xff, 0xff,
0xc3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f, 0xff,
0xef, 0xff, 0xa2, 0x0, 0x0, 0x0, 0x4, 0xef,
0xfb, 0x30, 0x4c, 0xff, 0xf8, 0x0, 0x0, 0x5,
0xff, 0xf7, 0x0, 0x0, 0x7, 0xff, 0xfa, 0x0,
0x2, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x6, 0xff,
0xf5, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0,
0xb, 0xff, 0xd0, 0xe, 0xff, 0x70, 0x0, 0x0,
0x0, 0x0, 0x5f, 0xff, 0x21, 0xff, 0xf5, 0x0,
0x0, 0x0, 0x0, 0x2, 0xff, 0xf4, 0x1f, 0xff,
0x60, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x30,
0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff,
0xf1, 0xb, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x3,
0xff, 0xfc, 0x0, 0x3f, 0xff, 0xf9, 0x20, 0x0,
0x17, 0xff, 0xff, 0x40, 0x0, 0x7f, 0xff, 0xff,
0xed, 0xef, 0xff, 0xff, 0x70, 0x0, 0x0, 0x5e,
0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, 0x0, 0x0,
0x0, 0x6, 0xbe, 0xff, 0xec, 0x94, 0x0, 0x0,
0x0,
/* U+0039 "9" */
0x0, 0x0, 0x2, 0x8c, 0xef, 0xec, 0x71, 0x0,
0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff,
0xf6, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xfe,
0xff, 0xff, 0xf6, 0x0, 0x0, 0xb, 0xff, 0xfa,
0x30, 0x0, 0x5e, 0xff, 0xf3, 0x0, 0x5, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xc0, 0x0,
0xcf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
0x30, 0xf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xf8, 0x2, 0xff, 0xf4, 0x0, 0x0, 0x0,
0x0, 0x8, 0xff, 0xc0, 0x3f, 0xff, 0x40, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0x2, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf1, 0xe,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0x20, 0x9f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xf3, 0x1, 0xff, 0xff, 0xb4, 0x0, 0x4,
0xcf, 0xff, 0xff, 0x30, 0x5, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf6, 0xff, 0xf2, 0x0, 0x4, 0xef,
0xff, 0xff, 0xff, 0xe4, 0x5f, 0xff, 0x10, 0x0,
0x0, 0x6b, 0xef, 0xec, 0x71, 0x6, 0xff, 0xf0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xb, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x6f, 0xff, 0x10, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff,
0xfa, 0x0, 0x0, 0xb, 0x93, 0x0, 0x0, 0x4b,
0xff, 0xfd, 0x10, 0x0, 0x0, 0xcf, 0xff, 0xee,
0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0xc, 0xff,
0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x27, 0xbd, 0xff, 0xdb, 0x71, 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 = 338, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 257, .adv_w = 338, .box_w = 16, .box_h = 28, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 481, .adv_w = 338, .box_w = 18, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 724, .adv_w = 338, .box_w = 17, .box_h = 27, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 954, .adv_w = 338, .box_w = 20, .box_h = 27, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1224, .adv_w = 338, .box_w = 16, .box_h = 27, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 1440, .adv_w = 338, .box_w = 18, .box_h = 27, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1683, .adv_w = 338, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1940, .adv_w = 338, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2197, .adv_w = 338, .box_w = 19, .box_h = 27, .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 = 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_MSYAHEI_CT_bpp4_36px = {
#else
lv_font_t MXC_MSYAHEI_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 = 28, /*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` */
#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9
.fallback = NULL,
#endif
//.user_data = NULL,
};
#endif /*#if MXC_MSYAHEI_CT_BPP4_36PX*/

View File

@ -0,0 +1,714 @@
/*******************************************************************************
* Size: 48 px
* Bpp: 4
* Opts: --bpp 4 --size 48 --no-compress --font 微软雅黑.ttf --symbols 0123456789 --format lvgl -o MXC_MSYAHEI_CT_bpp4_48px.c
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef MXC_MSYAHEI_CT_BPP4_48PX
#define MXC_MSYAHEI_CT_BPP4_48PX 1
#endif
#if MXC_MSYAHEI_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, 0x0, 0x0, 0x1, 0x57, 0x77, 0x52,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5c, 0xff, 0xff, 0xff, 0xfc, 0x50, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xb1, 0x0, 0x0, 0x0, 0x0, 0x2,
0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1,
0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0xb8,
0x69, 0xef, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xfc, 0x20, 0x0, 0x0, 0x7f, 0xff,
0xff, 0x50, 0x0, 0x0, 0x3f, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xfd, 0x0, 0x0,
0xb, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xf5, 0x0, 0x2, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xa0,
0x0, 0x7f, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
0x0, 0xe, 0xff, 0xff, 0x0, 0xc, 0xff, 0xfe,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xf3, 0x0, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6, 0xff, 0xff, 0x70, 0x3f, 0xff,
0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f,
0xff, 0xf9, 0x6, 0xff, 0xff, 0x40, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xb0, 0x8f,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe, 0xff, 0xfd, 0xa, 0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf0,
0xbf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xb, 0xff, 0xff, 0xc, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xf0, 0xdf, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xa, 0xff, 0xff, 0x1d, 0xff, 0xfd,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xf1, 0xdf, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x1d, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xf0, 0xcf, 0xff, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xb,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xcf, 0xff, 0xe0, 0xaf, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xfc,
0x8, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xa0, 0x6f, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
0xf7, 0x3, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0x40, 0xf, 0xff,
0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f,
0xff, 0xf0, 0x0, 0xbf, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0xe, 0xff, 0xfb, 0x0, 0x6,
0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x4,
0xff, 0xff, 0x60, 0x0, 0x1f, 0xff, 0xfe, 0x10,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xe0, 0x0,
0x0, 0x9f, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf7, 0x0, 0x0, 0x1, 0xef, 0xff,
0xfa, 0x10, 0x0, 0x0, 0x7f, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0x97, 0x68,
0xef, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x8,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xaf, 0xff, 0xff, 0xff, 0xe7, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4,
0x67, 0x75, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x81, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5a,
0xef, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x27, 0xcf, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x4, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xcf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0xcf, 0xff, 0xfd, 0x83, 0x7f, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xb6, 0x10,
0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x30, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff,
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf2, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf4, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf4, 0x9f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x9f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf4,
/* U+0032 "2" */
0x0, 0x0, 0x0, 0x0, 0x4, 0x56, 0x76, 0x51,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xcf,
0xff, 0xff, 0xff, 0xfd, 0x70, 0x0, 0x0, 0x0,
0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xe3, 0x0, 0x0, 0x3, 0xdf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0xaf,
0xff, 0xff, 0xd9, 0x76, 0x79, 0xdf, 0xff, 0xff,
0xf2, 0x0, 0xa, 0xff, 0xfa, 0x30, 0x0, 0x0,
0x0, 0x4e, 0xff, 0xff, 0xb0, 0x0, 0xaf, 0xc3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff,
0x30, 0xa, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xf7, 0x0, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xd0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xcf, 0xff, 0xb0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x5, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1e, 0xff, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x8, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5,
0xff, 0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4, 0xff, 0xff, 0xe2, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf4, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf4,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3,
0xef, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3, 0xef, 0xff, 0xf4, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff,
0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0xef, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0xf7, 0x33,
0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x8f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x98, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x8f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x98, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf9,
/* U+0033 "3" */
0x0, 0x0, 0x0, 0x24, 0x67, 0x76, 0x41, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3, 0x9e, 0xff, 0xff,
0xff, 0xff, 0xc5, 0x0, 0x0, 0x0, 0x1, 0xcf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0,
0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x20, 0x0, 0x3, 0xff, 0xff, 0xb8,
0x66, 0x8b, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x3,
0xfd, 0x60, 0x0, 0x0, 0x0, 0x19, 0xff, 0xff,
0xf7, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0,
0x0, 0x8f, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0x20,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6, 0xff, 0xff, 0x50, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1b, 0xff, 0xff, 0x50, 0x0,
0x0, 0x0, 0x0, 0x0, 0x13, 0x5a, 0xff, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfa, 0x20, 0x0, 0x0, 0x0, 0x0,
0xff, 0xff, 0xff, 0xff, 0xfa, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, 0xdd, 0xde,
0xef, 0xff, 0xff, 0xff, 0xfc, 0x20, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x25, 0xaf, 0xff, 0xff,
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1, 0xaf, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7f, 0xff, 0xf5, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xaf, 0xff, 0xf2, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xd0,
0x98, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e,
0xff, 0xff, 0x60, 0xaf, 0xe7, 0x10, 0x0, 0x0,
0x0, 0x6, 0xff, 0xff, 0xfc, 0x0, 0xaf, 0xff,
0xfc, 0x97, 0x66, 0x8b, 0xff, 0xff, 0xff, 0xd1,
0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfd, 0x20, 0x0, 0x7f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x2,
0x8d, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x81, 0x0,
0x0, 0x0, 0x0, 0x0, 0x14, 0x67, 0x77, 0x64,
0x10, 0x0, 0x0, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfe, 0xff,
0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2, 0xff, 0xfe, 0x9f, 0xff, 0xc0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xff, 0x6a, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xd0, 0xaf,
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xff, 0xf3, 0xa, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xf9, 0x0, 0xaf, 0xff, 0xc0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xfd, 0x0, 0xa,
0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1, 0xef, 0xff, 0x40, 0x0, 0xaf, 0xff, 0xc0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff,
0x90, 0x0, 0xa, 0xff, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xe1, 0x0, 0x0,
0xaf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe, 0xff, 0xf5, 0x0, 0x0, 0xa, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xfa,
0x0, 0x0, 0x0, 0xaf, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x0, 0x4, 0xff, 0xfe, 0x10, 0x0, 0x0,
0xa, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0xdf, 0xff, 0x60, 0x0, 0x0, 0x0, 0xaf, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xb0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x3f, 0xff, 0xf1, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0xd,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff,
0xfc, 0x0, 0x0, 0x0, 0x8, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xc0, 0x0,
0x0, 0x2, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
0x0, 0xa, 0xff, 0xfc, 0x0, 0x0, 0x0, 0xcf,
0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xc0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x9f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x76, 0xbb, 0xbb, 0xbb,
0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xef, 0xff, 0xeb,
0xbb, 0xb4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xa, 0xff, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xaf, 0xff, 0xc0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xa, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff,
0xfc, 0x0, 0x0, 0x0,
/* U+0035 "5" */
0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf2, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x20, 0xb, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x20, 0xb, 0xff, 0xf9, 0x22, 0x22, 0x22,
0x22, 0x22, 0x22, 0x20, 0x0, 0xbf, 0xff, 0x80,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xbf, 0xff, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xb, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x80, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xee, 0xed,
0xca, 0x73, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfc, 0x50, 0x0, 0x0,
0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xb1, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xd1, 0x0, 0x3, 0x32, 0x10,
0x0, 0x13, 0x6b, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xcf, 0xff,
0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xbf, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0xf3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff,
0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff,
0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1f, 0xff, 0xf9, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff,
0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xcf, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x6f, 0xff, 0xfc, 0x8, 0x10, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0x40,
0xdf, 0x92, 0x0, 0x0, 0x0, 0x1, 0x9f, 0xff,
0xff, 0xa0, 0xd, 0xff, 0xfd, 0x97, 0x66, 0x8c,
0xff, 0xff, 0xff, 0xd0, 0x0, 0xdf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, 0xd,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
0x0, 0x0, 0x29, 0xef, 0xff, 0xff, 0xff, 0xff,
0xd8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x24, 0x67,
0x77, 0x64, 0x10, 0x0, 0x0, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0x67,
0x76, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6, 0xcf, 0xff, 0xff, 0xff, 0xfe, 0x80,
0x0, 0x0, 0x0, 0x0, 0x0, 0x5e, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xd0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff,
0xfb, 0x86, 0x68, 0xae, 0xfd, 0x0, 0x0, 0x0,
0x0, 0x8f, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0,
0x4, 0x90, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xef, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xb, 0xff, 0xfe, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff,
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5f, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8,
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xd0, 0x0,
0x17, 0xbe, 0xff, 0xda, 0x60, 0x0, 0x0, 0x0,
0xe, 0xff, 0xfa, 0x0, 0x6f, 0xff, 0xff, 0xff,
0xff, 0xe6, 0x0, 0x0, 0x0, 0xff, 0xff, 0x90,
0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0,
0x0, 0x1f, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xef,
0xff, 0xff, 0xff, 0xfa, 0x0, 0x2, 0xff, 0xff,
0x9f, 0xff, 0x93, 0x0, 0x1, 0x6e, 0xff, 0xff,
0xf5, 0x0, 0x3f, 0xff, 0xff, 0xff, 0x40, 0x0,
0x0, 0x0, 0xb, 0xff, 0xff, 0xe0, 0x3, 0xff,
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0xe,
0xff, 0xff, 0x50, 0x3f, 0xff, 0xff, 0x90, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xfa, 0x2,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff,
0x0, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x9f, 0xff, 0xf1, 0xd, 0xff, 0xfc,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff,
0xff, 0x10, 0xaf, 0xff, 0xd0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x9f, 0xff, 0xf0, 0x8, 0xff,
0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
0xff, 0xff, 0x0, 0x3f, 0xff, 0xf4, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xc0, 0x0,
0xdf, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xf7, 0x0, 0x8, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0x20,
0x0, 0x1e, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x7f, 0xff,
0xfe, 0x40, 0x0, 0x0, 0x9, 0xff, 0xff, 0xf2,
0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xc8, 0x67,
0xae, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x1,
0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4c, 0xff, 0xff, 0xff, 0xfd, 0x70,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0x57, 0x76, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+0037 "7" */
0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf7, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1,
0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
0x22, 0xdf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xa, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf7, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xa0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4,
0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0xff, 0xfd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8f, 0xff, 0xf1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef,
0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x5, 0xff, 0xff, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff,
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2f, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xef, 0xff, 0xa0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xc, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x9f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x30, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf,
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x2, 0xff, 0xff, 0x90, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff,
0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xe, 0xff, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x0, 0x0, 0x0, 0x2, 0x56, 0x76, 0x52,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
0xef, 0xff, 0xff, 0xff, 0xe7, 0x10, 0x0, 0x0,
0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0,
0x0, 0x8, 0xff, 0xff, 0xfe, 0x96, 0x57, 0xbf,
0xff, 0xff, 0xf2, 0x0, 0x0, 0x2f, 0xff, 0xff,
0x90, 0x0, 0x0, 0x2, 0xdf, 0xff, 0xfc, 0x0,
0x0, 0xaf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0x1e, 0xff, 0xff, 0x20, 0x0, 0xef, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x60,
0x1, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0x70,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0x80,
0x2, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x2, 0xff, 0xff, 0x70, 0x0, 0xff, 0xff, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x30,
0x0, 0xcf, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
0xc, 0xff, 0xfe, 0x0, 0x0, 0x5f, 0xff, 0xfb,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf7, 0x0,
0x0, 0xc, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x6,
0xff, 0xff, 0xd0, 0x0, 0x0, 0x1, 0xef, 0xff,
0xfc, 0x30, 0x1, 0xaf, 0xff, 0xfe, 0x20, 0x0,
0x0, 0x0, 0x1d, 0xff, 0xff, 0xfb, 0x9f, 0xff,
0xff, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff,
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
0xff, 0xff, 0xff, 0xff, 0xfa, 0x20, 0x0, 0x0,
0x0, 0x0, 0x4e, 0xff, 0xff, 0xfd, 0xef, 0xff,
0xff, 0xf7, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
0xfd, 0x40, 0x5, 0xdf, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x5f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x8,
0xff, 0xff, 0xfa, 0x0, 0x1, 0xef, 0xff, 0xf5,
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0x60,
0x9, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
0x5, 0xff, 0xff, 0xe0, 0xf, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf4,
0x3f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0xf8, 0x6f, 0xff, 0xf3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xfa,
0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xe, 0xff, 0xfb, 0x7f, 0xff, 0xf3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xfa,
0x5f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x2f, 0xff, 0xf8, 0x2f, 0xff, 0xfd, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf4,
0xd, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
0x5, 0xff, 0xff, 0xe0, 0x5, 0xff, 0xff, 0xfb,
0x20, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0x60,
0x0, 0xbf, 0xff, 0xff, 0xfb, 0x76, 0x56, 0xae,
0xff, 0xff, 0xfa, 0x0, 0x0, 0xc, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0,
0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x2, 0x9f,
0xff, 0xff, 0xff, 0xff, 0xd7, 0x10, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x35, 0x77, 0x65, 0x40,
0x0, 0x0, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x0, 0x0, 0x0, 0x3, 0x57, 0x76, 0x40,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2a,
0xff, 0xff, 0xff, 0xff, 0x92, 0x0, 0x0, 0x0,
0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x60, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0,
0x0, 0xc, 0xff, 0xff, 0xfc, 0x86, 0x7a, 0xff,
0xff, 0xff, 0x50, 0x0, 0x0, 0x9f, 0xff, 0xfe,
0x40, 0x0, 0x0, 0x9, 0xff, 0xff, 0xe0, 0x0,
0x2, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0,
0x8f, 0xff, 0xf8, 0x0, 0xa, 0xff, 0xff, 0x40,
0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0x0,
0xf, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
0x3, 0xff, 0xff, 0x50, 0x4f, 0xff, 0xf5, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xa0,
0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x8f, 0xff, 0xf0, 0x9f, 0xff, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf1,
0xaf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4f, 0xff, 0xf4, 0x9f, 0xff, 0xf1, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf6,
0x8f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x5f, 0xff, 0xf7, 0x5f, 0xff, 0xf8, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf8,
0x1f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1, 0xff, 0xff, 0xf9, 0xc, 0xff, 0xff, 0x90,
0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xfa,
0x4, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
0xaf, 0xff, 0xff, 0xf9, 0x0, 0xbf, 0xff, 0xff,
0xd6, 0x20, 0x2, 0x7e, 0xff, 0xdf, 0xff, 0xf9,
0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x4f, 0xff, 0xf8, 0x0, 0x1, 0xdf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf7, 0xf, 0xff, 0xf7,
0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x50, 0x1f, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x17,
0xbe, 0xff, 0xeb, 0x60, 0x0, 0x3f, 0xff, 0xf3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6f, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xd0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xdf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0x50,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x8, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf9, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x9f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xa0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f,
0xff, 0xfe, 0x10, 0x0, 0x0, 0xa9, 0x20, 0x0,
0x0, 0x0, 0x29, 0xff, 0xff, 0xf5, 0x0, 0x0,
0x0, 0xaf, 0xfd, 0x97, 0x67, 0x8c, 0xff, 0xff,
0xff, 0x70, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0,
0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
0x30, 0x0, 0x0, 0x0, 0x0, 0x3b, 0xff, 0xff,
0xff, 0xff, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x3, 0x57, 0x77, 0x64, 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 = 450, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 488, .adv_w = 450, .box_w = 22, .box_h = 38, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 906, .adv_w = 450, .box_w = 23, .box_h = 38, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1343, .adv_w = 450, .box_w = 22, .box_h = 39, .ofs_x = 3, .ofs_y = -1},
{.bitmap_index = 1772, .adv_w = 450, .box_w = 27, .box_h = 37, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2272, .adv_w = 450, .box_w = 21, .box_h = 38, .ofs_x = 4, .ofs_y = -1},
{.bitmap_index = 2671, .adv_w = 450, .box_w = 25, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 3159, .adv_w = 450, .box_w = 24, .box_h = 37, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3603, .adv_w = 450, .box_w = 24, .box_h = 39, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 4071, .adv_w = 450, .box_w = 24, .box_h = 39, .ofs_x = 2, .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_MSYAHEI_CT_bpp4_48px = {
#else
lv_font_t MXC_MSYAHEI_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 = 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` */
#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9
.fallback = NULL,
#endif
//.user_data = NULL,
};
#endif /*#if MXC_MSYAHEI_CT_BPP4_48PX*/

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 one or more lines are too long

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,349 @@
#include "lvgl.h"
#include "interface.h"
#include "mxc_meter.h"
/*********************************
**һЩ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
*********************************/
void Set_sys_power_on_self_test(uint8_t value)
{
daily_get_UiData()->power_on_self_test = value;
}
uint8_t Get_sys_power_on_self_test(void)
{
return daily_get_UiData()->power_on_self_test;
}
void Set_sys_softwar_host(uint8_t value)
{
daily_get_UiData()->softwar_host = value;
}
uint8_t Get_sys_softwar_host(void)
{
return daily_get_UiData()->softwar_host;
}
void Set_sys_softwar_order(uint8_t value)
{
daily_get_UiData()->softwar_order = value;
}
uint8_t Get_sys_softwar_order(void)
{
return daily_get_UiData()->softwar_order;
}
void Set_sys_language(uint8_t value)
{
daily_get_UiData()->save_info.language = value;
}
uint8_t Get_sys_language(void)
{
return daily_get_UiData()->save_info.language;
}
void Set_sys_uint(uint8_t value)
{
daily_get_UiData()->save_info.display_uint = value;
}
uint8_t Get_sys_uint(void)
{
return daily_get_UiData()->save_info.display_uint;
}
void Set_sys_theme(uint8_t value)
{
daily_get_UiData()->save_info.theme = value;
}
uint8_t Get_sys_theme(void)
{
return daily_get_UiData()->save_info.theme;
}
void Set_sys_theme_state(uint8_t value)
{
daily_get_UiData()->save_info.theme_state = value;
}
uint8_t Get_sys_theme_state(void)
{
return daily_get_UiData()->save_info.theme_state;
}
void Set_sys_light_value(uint8_t value)
{
daily_get_UiData()->save_info.light_value = value;
}
uint8_t Get_sys_light_value(void)
{
return daily_get_UiData()->save_info.light_value;
}
void Set_sys_bt_on_off(uint8_t value)
{
daily_get_UiData()->save_info.bt_on_off = value;
}
uint8_t Get_sys_bt_on_off(void)
{
return daily_get_UiData()->save_info.bt_on_off;
}
void Set_sys_bt_state(uint8_t value)
{
daily_get_UiData()->save_info.bt_state = value;
}
uint8_t Get_sys_bt_state(void)
{
return daily_get_UiData()->save_info.bt_state;
}
void Set_sys_veer_hint(uint8_t value)
{
daily_get_UiData()->veer_hint = value;
}
uint8_t Get_sys_veer_hint(void)
{
return daily_get_UiData()->veer_hint;
}
void Set_sys_lamplight(uint8_t value)
{
daily_get_UiData()->lamplight = value;
}
uint8_t Get_sys_lamplight(void)
{
return daily_get_UiData()->lamplight;
}
void Set_sys_light_perception_value(uint8_t value)
{
daily_get_UiData()->light_perception_value = value;
}
uint8_t Get_sys_light_perception_value(void)
{
return daily_get_UiData()->light_perception_value;
}
void Set_sys_return_demo(uint8_t value)
{
daily_get_UiData()->return_demo = value;
}
uint8_t Get_sys_return_demo(void)
{
return daily_get_UiData()->return_demo;
}
/*********************************
**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
*********************************/
void Set_sys_veer(uint8_t value)
{
daily_get_UiData()->veer = value;
}
uint8_t Get_sys_veer(void)
{
return daily_get_UiData()->veer;
}
void Set_sys_velocity(uint16_t value)
{
daily_get_UiData()->velocity = value;
}
uint16_t Get_sys_velocity(void)
{
return daily_get_UiData()->velocity;
}
void Set_sys_max_velocity(uint16_t value)
{
daily_get_UiData()->max_velocity = value;
}
uint16_t Get_sys_max_velocity(void)
{
return daily_get_UiData()->max_velocity;
}
void Set_sys_verage_velocity(uint16_t value)
{
daily_get_UiData()->verage_velocity = value;
}
uint16_t Get_sys_verage_velocity(void)
{
return daily_get_UiData()->verage_velocity;
}
void Set_sys_veer_velocity(uint16_t value)
{
daily_get_UiData()->veer_velocity = value;
}
uint16_t Get_sys_veer_velocity(void)
{
return daily_get_UiData()->veer_velocity;
}
void Set_sys_grade(uint8_t value)
{
daily_get_UiData()->grade = value;
}
uint8_t Get_sys_grade(void)
{
return daily_get_UiData()->grade;
}
void Set_sys_oil(uint8_t value)
{
daily_get_UiData()->oil = value;
}
uint8_t Get_sys_oil(void)
{
return daily_get_UiData()->oil;
}
void Set_sys_temp(uint8_t value)
{
daily_get_UiData()->temp = value;
}
uint8_t Get_sys_temp(void)
{
return daily_get_UiData()->temp;
}
void Set_sys_trip_mileage(double value)
{
daily_get_UiData()->trip_mileage = value;
}
double Get_sys_trip_mileage(void)
{
return daily_get_UiData()->trip_mileage;
}
void Set_sys_total_mileage(uint32_t value)
{
daily_get_UiData()->total_mileage = value;
}
uint32_t Get_sys_total_mileage(void)
{
return daily_get_UiData()->total_mileage;
}
void Set_sys_voltage(double value)
{
daily_get_UiData()->voltage = value;
}
double Get_sys_voltage(void)
{
return daily_get_UiData()->voltage;
}
/*********************************
**<2A><><EFBFBD><EFBFBD><EFBFBD>źŵ<C5BA>
*********************************/
void Set_sys_engine(uint8_t value)
{
daily_get_UiData()->warning.engine = value;
}
uint8_t Get_sys_engine(void)
{
return daily_get_UiData()->warning.engine;
}
void Set_sys_machine_oil(uint8_t value)
{
daily_get_UiData()->warning.machine_oil = value;
}
uint8_t Get_sys_machine_oil(void)
{
return daily_get_UiData()->warning.machine_oil;
}
void Set_sys_abs(uint8_t value)
{
daily_get_UiData()->warning.abs = value;
}
uint8_t Get_sys_abs(void)
{
return daily_get_UiData()->warning.abs;
}
void Set_sys_tcs(uint8_t value)
{
daily_get_UiData()->warning.tcs = value;
}
uint8_t Get_sys_tcs(void)
{
return daily_get_UiData()->warning.tcs;
}
void Set_sys_fan(uint8_t value)
{
daily_get_UiData()->warning.fan = value;
}
uint8_t Get_sys_fan(void)
{
return daily_get_UiData()->warning.fan;
}
void Set_sys_null(uint8_t value)
{
daily_get_UiData()->warning.null = value;
}
uint8_t Get_sys_null(void)
{
return daily_get_UiData()->warning.null;
}
/*********************************
**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************/
void Set_sys_now_defect_code(uint32_t value)
{
daily_get_UiData()->now_defect_code = value;
}
uint32_t Get_sys_now_defect_code(void)
{
return daily_get_UiData()->now_defect_code;
}
void Set_sys_his_defect_code(uint32_t value)
{
daily_get_UiData()->his_defect_code = value;
}
uint32_t Get_sys_his_defect_code(void)
{
return daily_get_UiData()->his_defect_code;
}

View File

@ -0,0 +1,74 @@
#ifndef __INTERFACE_H__
#define __INTERFACE_H__
void Set_sys_power_on_self_test(uint8_t value);
uint8_t Get_sys_power_on_self_test(void);
void Set_sys_softwar_host(uint8_t value);
uint8_t Get_sys_softwar_host(void);
void Set_sys_softwar_order(uint8_t value);
uint8_t Get_sys_softwar_order(void);
void Set_sys_language(uint8_t value);
uint8_t Get_sys_language(void);
void Set_sys_uint(uint8_t value);
uint8_t Get_sys_uint(void);
void Set_sys_theme(uint8_t value);
uint8_t Get_sys_theme(void);
void Set_sys_theme_state(uint8_t value);
uint8_t Get_sys_theme_state(void);
void Set_sys_light_value(uint8_t value);
uint8_t Get_sys_light_value(void);
void Set_sys_bt_on_off(uint8_t value);
uint8_t Get_sys_bt_on_off(void);
void Set_sys_bt_state(uint8_t value);
uint8_t Get_sys_bt_state(void);
void Set_sys_veer_hint(uint8_t value);
uint8_t Get_sys_veer_hint(void);
void Set_sys_lamplight(uint8_t value);
uint8_t Get_sys_lamplight(void);
void Set_sys_light_perception_value(uint8_t value);
uint8_t Get_sys_light_perception_value(void);
void Set_sys_return_demo(uint8_t value);
uint8_t Get_sys_return_demo(void);
void Set_sys_veer(uint8_t value);
uint8_t Get_sys_veer(void);
void Set_sys_velocity(uint16_t value);
uint16_t Get_sys_velocity(void);
void Set_sys_max_velocity(uint16_t value);
uint16_t Get_sys_max_velocity(void);
void Set_sys_verage_velocity(uint16_t value);
uint16_t Get_sys_verage_velocity(void);
void Set_sys_veer_velocity(uint16_t value);
uint16_t Get_sys_veer_velocity(void);
void Set_sys_grade(uint8_t value);
uint8_t Get_sys_grade(void);
void Set_sys_oil(uint8_t value);
uint8_t Get_sys_oil(void);
void Set_sys_temp(uint8_t value);
uint8_t Get_sys_temp(void);
void Set_sys_trip_mileage(double value);
double Get_sys_trip_mileage(void);
void Set_sys_total_mileage(uint32_t value);
uint32_t Get_sys_total_mileage(void);
void Set_sys_voltage(double value);
double Get_sys_voltage(void);
void Set_sys_engine(uint8_t value);
uint8_t Get_sys_engine(void);
void Set_sys_machine_oil(uint8_t value);
uint8_t Get_sys_machine_oil(void);
void Set_sys_abs(uint8_t value);
uint8_t Get_sys_abs(void);
void Set_sys_tcs(uint8_t value);
uint8_t Get_sys_tcs(void);
void Set_sys_fan(uint8_t value);
uint8_t Get_sys_fan(void);
void Set_sys_null(uint8_t value);
uint8_t Get_sys_null(void);
void Set_sys_now_defect_code(uint32_t value);
uint32_t Get_sys_now_defect_code(void);
void Set_sys_his_defect_code(uint32_t value);
uint32_t Get_sys_his_defect_code(void);
#endif