add LittlevGL demo

add LittlevGL demo on stm32f746 discovery board
This commit is contained in:
supowang
2019-10-12 14:57:31 +08:00
parent c13fb9a1fa
commit 3260ba3161
448 changed files with 103443 additions and 3 deletions

View File

@@ -0,0 +1,319 @@
/**
* @file benchmark.c
*
*/
/*********************
* INCLUDES
*********************/
#include "benchmark.h"
#if LV_USE_BENCHMARK
#include <stdio.h>
/*********************
* DEFINES
*********************/
#define TEST_CYCLE_NUM 10 /*How many times run the test (will calculate the average)*/
#define SHADOW_WIDTH (LV_DPI / 8)
#define IMG_RECOLOR LV_OPA_20
#define OPACITY LV_OPA_60
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
static void refr_monitor(lv_disp_drv_t * disp_drv, uint32_t time_ms, uint32_t px_num);
static void run_test_event_cb(lv_obj_t * btn, lv_event_t event);
static void wp_btn_event_cb(lv_obj_t * btn, lv_event_t event);
static void recolor_btn_event_cb(lv_obj_t * btn, lv_event_t event);
static void shadow_btn_event_cb(lv_obj_t * btn, lv_event_t event);
static void opa_btn_event_cb(lv_obj_t * btn, lv_event_t event);
/**********************
* STATIC VARIABLES
**********************/
static lv_obj_t * holder_page;
static lv_obj_t * wp;
static lv_obj_t * result_label;
static lv_style_t style_wp;
static lv_style_t style_btn_rel;
static lv_style_t style_btn_pr;
static lv_style_t style_btn_tgl_rel;
static lv_style_t style_btn_tgl_pr;
static uint32_t time_sum;
static uint32_t refr_cnt;
LV_IMG_DECLARE(benchmark_bg)
/**********************
* MACROS
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
/**********************
* STATIC FUNCTIONS
**********************/
/**
* Open a graphics benchmark
*/
void benchmark_create(void)
{
lv_coord_t hres = lv_disp_get_hor_res(NULL);
lv_coord_t vres = lv_disp_get_ver_res(NULL);
/*Styles of the buttons*/
lv_style_copy(&style_btn_rel, &lv_style_btn_rel);
lv_style_copy(&style_btn_pr, &lv_style_btn_pr);
lv_style_copy(&style_btn_tgl_rel, &lv_style_btn_tgl_rel);
lv_style_copy(&style_btn_tgl_pr, &lv_style_btn_tgl_pr);
style_btn_rel.body.opa = LV_OPA_COVER;
style_btn_pr.body.opa = LV_OPA_COVER;
style_btn_tgl_rel.body.opa = LV_OPA_COVER;
style_btn_tgl_pr.body.opa = LV_OPA_COVER;
style_btn_rel.body.shadow.width = 0;
style_btn_pr.body.shadow.width = 0;
style_btn_tgl_rel.body.shadow.width = 0;
style_btn_tgl_pr.body.shadow.width = 0;
/*Style of the wallpaper*/
lv_style_copy(&style_wp, &lv_style_plain);
style_wp.image.color = LV_COLOR_RED;
/*Create a holder page (the page become scrollable on small displays )*/
holder_page = lv_page_create(lv_disp_get_scr_act(NULL), NULL);
lv_obj_set_size(holder_page, hres, vres);
lv_page_set_style(holder_page, LV_PAGE_STYLE_BG, &lv_style_transp_fit);
lv_page_set_style(holder_page, LV_PAGE_STYLE_SCRL, &lv_style_transp);
lv_page_set_scrl_layout(holder_page, LV_LAYOUT_PRETTY);
/*Create a wallpaper on the page*/
wp = lv_img_create(holder_page, NULL);
lv_obj_set_protect(wp, LV_PROTECT_PARENT); /*Don't let to move the wallpaper by the layout */
lv_obj_set_parent(wp, holder_page);
lv_obj_set_parent(lv_page_get_scrl(holder_page), holder_page);
lv_img_set_src(wp, &benchmark_bg);
lv_obj_set_size(wp, hres, vres);
lv_obj_set_pos(wp, 0, 0);
lv_obj_set_hidden(wp, true);
lv_img_set_style(wp, LV_IMG_STYLE_MAIN, &style_wp);
lv_img_set_auto_size(wp, false);
/*Create a label to show the test result*/
result_label = lv_label_create(holder_page, NULL);
lv_label_set_text(result_label, "Run the test");
lv_label_set_body_draw(result_label, true);
lv_label_set_style(result_label, LV_LABEL_STYLE_MAIN, &lv_style_pretty);
/*Create a "Run test" button*/
lv_obj_t * btn;
btn = lv_btn_create(holder_page, NULL);
lv_page_glue_obj(btn, true);
lv_btn_set_fit(btn, LV_FIT_TIGHT);
lv_btn_set_style(btn, LV_BTN_STYLE_REL, &style_btn_rel);
lv_btn_set_style(btn, LV_BTN_STYLE_PR, &style_btn_pr);
lv_btn_set_style(btn, LV_BTN_STYLE_TGL_REL, &style_btn_tgl_rel);
lv_btn_set_style(btn, LV_BTN_STYLE_TGL_PR, &style_btn_tgl_pr);
lv_obj_set_event_cb(btn, run_test_event_cb);
lv_obj_t * btn_l;
btn_l = lv_label_create(btn, NULL);
lv_label_set_text(btn_l, "Run\ntest!");
lv_obj_set_protect(btn, LV_PROTECT_FOLLOW); /*Line break in layout*/
/*Create a "Wallpaper show" button*/
btn = lv_btn_create(holder_page, btn);
lv_btn_set_toggle(btn, true);
lv_obj_clear_protect(btn, LV_PROTECT_FOLLOW);
lv_obj_set_event_cb(btn, wp_btn_event_cb);
btn_l = lv_label_create(btn, btn_l);
lv_label_set_text(btn_l, "Wallpaper");
/*Create a "Wallpaper re-color" button*/
btn = lv_btn_create(holder_page, btn);
lv_obj_set_event_cb(btn, recolor_btn_event_cb);
btn_l = lv_label_create(btn, btn_l);
lv_label_set_text(btn_l, "Wp. recolor!");
/*Create a "Shadow draw" button*/
btn = lv_btn_create(holder_page, btn);
lv_obj_set_event_cb(btn, shadow_btn_event_cb);
btn_l = lv_label_create(btn, btn_l);
lv_label_set_text(btn_l, "Shadow");
/*Create an "Opacity enable" button*/
btn = lv_btn_create(holder_page, btn);
lv_obj_set_event_cb(btn, opa_btn_event_cb);
btn_l = lv_label_create(btn, btn_l);
lv_label_set_text(btn_l, "Opacity");
}
void benchmark_start(void)
{
lv_disp_t * disp = lv_obj_get_disp(holder_page);
disp->driver.monitor_cb = refr_monitor;
lv_obj_invalidate(lv_disp_get_scr_act(disp));
time_sum = 0;
refr_cnt = 0;
}
bool benchmark_is_ready(void)
{
if(refr_cnt == TEST_CYCLE_NUM) return true;
else return false;
}
uint32_t benchmark_get_refr_time(void)
{
if(benchmark_is_ready()) return time_sum / TEST_CYCLE_NUM;
else return 0;
}
/*--------------------
* OTHER FUNCTIONS
---------------------*/
/**
* Called when a the library finished rendering to monitor its performance
* @param disp_drv pointer to the caller display driver
* @param time_ms time of rendering in milliseconds
* @param px_num Number of pixels drawn
*/
static void refr_monitor(lv_disp_drv_t * disp_drv, uint32_t time_ms, uint32_t px_num)
{
(void) px_num ; /*Unused*/
lv_disp_t * disp = lv_obj_get_disp(holder_page);
time_sum += time_ms;
refr_cnt ++;
lv_obj_invalidate(lv_disp_get_scr_act(disp));
if(refr_cnt >= TEST_CYCLE_NUM) {
float time_avg = (float)time_sum / (float)TEST_CYCLE_NUM;
char buf[256];
sprintf(buf, "Screen load: %0.1f ms\nAverage of %d", time_avg, TEST_CYCLE_NUM);
lv_label_set_text(result_label, buf);
disp_drv->monitor_cb = NULL;
} else {
char buf[256];
sprintf(buf, "Running %d/%d", refr_cnt, TEST_CYCLE_NUM);
lv_label_set_text(result_label, buf);
}
}
/**
* Called when the "Run test" button is clicked
* @param btn pointer to the button
* @param event the current event
*/
static void run_test_event_cb(lv_obj_t * btn, lv_event_t event)
{
(void) btn; /*Unused*/
if(event != LV_EVENT_CLICKED) return;
benchmark_start();
}
/**
* Called when the "Wallpaper" button is clicked
* @param btn pointer to the button
* @param event the current event
*/
static void wp_btn_event_cb(lv_obj_t * btn, lv_event_t event)
{
if(event != LV_EVENT_CLICKED) return;
if(lv_btn_get_state(btn) == LV_BTN_STATE_TGL_REL) lv_obj_set_hidden(wp, false);
else lv_obj_set_hidden(wp, true);
}
/**
* Called when the "Wp. recolor" button is clicked
* @param btn pointer to the button
* @param event the current event
*/
static void recolor_btn_event_cb(lv_obj_t * btn, lv_event_t event)
{
if(event != LV_EVENT_CLICKED) return;
if(lv_btn_get_state(btn) == LV_BTN_STATE_TGL_REL) style_wp.image.intense = IMG_RECOLOR;
else style_wp.image.intense = LV_OPA_TRANSP;
lv_obj_refresh_style(wp);
}
/**
* Called when the "Shadow" button is clicked
* @param btn pointer to the button
* @param event the current event
*/
static void shadow_btn_event_cb(lv_obj_t * btn, lv_event_t event)
{
if(event != LV_EVENT_CLICKED) return;
if(lv_btn_get_state(btn) == LV_BTN_STATE_TGL_REL) {
style_btn_rel.body.shadow.width = SHADOW_WIDTH;
style_btn_pr.body.shadow.width = SHADOW_WIDTH;
style_btn_tgl_rel.body.shadow.width = SHADOW_WIDTH;
style_btn_tgl_pr.body.shadow.width = SHADOW_WIDTH;
} else {
style_btn_rel.body.shadow.width = 0;
style_btn_pr.body.shadow.width = 0;
style_btn_tgl_rel.body.shadow.width = 0;
style_btn_tgl_pr.body.shadow.width = 0;
}
lv_obj_report_style_mod(&style_btn_rel);
lv_obj_report_style_mod(&style_btn_pr);
lv_obj_report_style_mod(&style_btn_tgl_rel);
lv_obj_report_style_mod(&style_btn_tgl_pr);
}
/**
* Called when the "Opacity" button is clicked
* @param btn pointer to the button
* @param event the current event
*/
static void opa_btn_event_cb(lv_obj_t * btn, lv_event_t event)
{
if(event != LV_EVENT_CLICKED) return;
if(lv_btn_get_state(btn) == LV_BTN_STATE_TGL_REL) {
style_btn_rel.body.opa = OPACITY;
style_btn_pr.body.opa = OPACITY;
style_btn_tgl_rel.body.opa = OPACITY;
style_btn_tgl_pr.body.opa = OPACITY;
} else {
style_btn_rel.body.opa = LV_OPA_COVER;
style_btn_pr.body.opa = LV_OPA_COVER;
style_btn_tgl_rel.body.opa = LV_OPA_COVER;
style_btn_tgl_pr.body.opa = LV_OPA_COVER;
}
lv_obj_report_style_mod(&style_btn_rel);
lv_obj_report_style_mod(&style_btn_pr);
lv_obj_report_style_mod(&style_btn_tgl_rel);
lv_obj_report_style_mod(&style_btn_tgl_pr);
}
#endif /*LV_USE_BENCHMARK*/

View File

@@ -0,0 +1,61 @@
/**
* @file benchmark.h
*
*/
#ifndef BENCHMARK_H
#define BENCHMARK_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lvgl.h"
#include "lv_ex_conf.h"
#else
#include "../../../lvgl/lvgl.h"
#include "../../../lv_ex_conf.h"
#endif
#if LV_USE_BENCHMARK
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/**
* Open a graphics benchmark
*/
void benchmark_create(void);
void benchmark_start(void);
bool benchmark_is_ready(void);
uint32_t benchmark_get_refr_time(void);
/**********************
* MACROS
**********************/
#endif /*LV_USE_BENCHMARK*/
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* BENCHMARK_H */

View File

@@ -0,0 +1,7 @@
CSRCS += benchmark.c
CSRCS += benchmark_bg.c
DEPPATH += --dep-path $(LVGL_DIR)/lv_examples/lv_apps/benchmark
VPATH += :$(LVGL_DIR)/lv_examples/lv_apps/benchmark
CFLAGS += "-I$(LVGL_DIR)/lv_examples/lv_apps/benchmark"

View File

@@ -0,0 +1,234 @@
#include "lvgl/lvgl.h"
#include "lv_ex_conf.h"
#if LV_USE_BENCHMARK
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
const LV_ATTRIBUTE_MEM_ALIGN uint8_t benchmark_bg_map[] = {
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
/*Pixel format: Red: 3 bit, Green: 3 bit, Blue: 2 bit*/
0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6e, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x6d, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x25, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x6d, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6e, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x25, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49,
0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d,
0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x49,
0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25,
0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x6e, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49,
0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d,
0x6d, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x6d,
0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49,
0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x6d, 0x6d, 0x49, 0x49,
0x6d, 0x49, 0x49, 0x6d, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x6d,
0x49, 0x6d, 0x49, 0x6d, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x6d, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x6d, 0x25,
0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x6d, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x6d,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x6e, 0x49, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49,
0x6d, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6e, 0x49, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x6e, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d,
0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x25, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49,
0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x6d,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x25, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x25,
0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x6d, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x6d, 0x49,
0x49, 0x6d, 0x49, 0x6d, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x6d, 0x49,
0x6d, 0x49, 0x49, 0x6d, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x6d,
0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x6d, 0x6d, 0x49, 0x49,
0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49,
0x6e, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6e,
0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d,
0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x6e, 0x6e, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49,
0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49,
0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d,
0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x25, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x25, 0x25, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x6d, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x6d, 0x6d, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x25, 0x25, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x6d, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x6d, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x6d, 0x49, 0x25, 0x25, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x6d, 0x49, 0x6d, 0x49, 0x25, 0x49, 0x49, 0x49, 0x6d, 0x49, 0x49, 0x6e, 0x6d, 0x49, 0x25, 0x49, 0x6d, 0x49, 0x49, 0x49, 0x25, 0x49, 0x49, 0x49, 0x49,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
/*Pixel format: Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
0xc7, 0x39, 0x29, 0x4a, 0x29, 0x4a, 0xe7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0x28, 0x42, 0xe8, 0x41, 0xaa, 0x52, 0xe8, 0x41, 0x45, 0x29, 0xa7, 0x39, 0xcb, 0x5a, 0x0c, 0x63, 0xe8, 0x41, 0x08, 0x42, 0xec, 0x62, 0xc7, 0x39, 0x8a, 0x52, 0x29, 0x4a, 0x86, 0x31, 0xe8, 0x41, 0xcb, 0x5a, 0xe7, 0x39, 0x49, 0x4a, 0xaa, 0x52, 0x86, 0x31, 0xab, 0x5a, 0xe8, 0x41, 0x86, 0x31, 0x69, 0x4a, 0x6a, 0x52, 0x08, 0x42, 0xec, 0x62, 0xa6, 0x31, 0x08, 0x42, 0x0c, 0x63, 0x8a, 0x52, 0x86, 0x31, 0x86, 0x31, 0xe8, 0x41, 0x8a, 0x52, 0xc7, 0x39, 0x49, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41,
0x29, 0x4a, 0xa6, 0x31, 0xa7, 0x39, 0x29, 0x4a, 0x29, 0x4a, 0x08, 0x42, 0x28, 0x42, 0x6a, 0x52, 0xe8, 0x41, 0x86, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0xcb, 0x5a, 0xcb, 0x5a, 0xa7, 0x39, 0x29, 0x4a, 0xaa, 0x52, 0x49, 0x4a, 0x29, 0x4a, 0x69, 0x4a, 0x6a, 0x52, 0xc7, 0x39, 0x86, 0x31, 0xe7, 0x39, 0xa7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0x6a, 0x52, 0x49, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0xaa, 0x52, 0x08, 0x42, 0xc7, 0x39, 0xeb, 0x5a, 0xaa, 0x52, 0x86, 0x31, 0x86, 0x31, 0x86, 0x31, 0x86, 0x31, 0x08, 0x42, 0x69, 0x4a, 0x08, 0x42, 0x08, 0x42, 0x29, 0x4a, 0x08, 0x42, 0xa7, 0x39, 0xa6, 0x31, 0x29, 0x4a,
0x29, 0x4a, 0xc7, 0x39, 0x29, 0x4a, 0x08, 0x42, 0xe7, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0x86, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0xa6, 0x31, 0xa7, 0x39, 0xab, 0x5a, 0xcb, 0x5a, 0xe8, 0x41, 0xa6, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0xe7, 0x39, 0x28, 0x42, 0x8a, 0x52, 0xe8, 0x41, 0x8a, 0x52, 0x8a, 0x52, 0xa7, 0x39, 0xaa, 0x52, 0x29, 0x4a, 0xc7, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0x08, 0x42, 0xeb, 0x5a, 0xab, 0x5a, 0xa7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0xa6, 0x31, 0xa6, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0xe8, 0x41, 0x28, 0x42, 0x49, 0x4a, 0x86, 0x31, 0x28, 0x42,
0xc7, 0x39, 0x29, 0x4a, 0x08, 0x42, 0x28, 0x42, 0x49, 0x4a, 0x49, 0x4a, 0x86, 0x31, 0x66, 0x31, 0x29, 0x4a, 0xa7, 0x39, 0xc7, 0x39, 0xa7, 0x39, 0x49, 0x4a, 0x86, 0x31, 0xa6, 0x31, 0x69, 0x4a, 0xeb, 0x5a, 0xcb, 0x5a, 0xa6, 0x31, 0xe8, 0x41, 0x6a, 0x52, 0x28, 0x42, 0x69, 0x4a, 0x29, 0x4a, 0x08, 0x42, 0x29, 0x4a, 0x49, 0x4a, 0x08, 0x42, 0x29, 0x4a, 0x8a, 0x52, 0xc7, 0x39, 0xa6, 0x31, 0xab, 0x5a, 0xeb, 0x5a, 0x49, 0x4a, 0xa6, 0x31, 0xa7, 0x39, 0x08, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0xe8, 0x41, 0x66, 0x31, 0x86, 0x31, 0x69, 0x4a, 0x29, 0x4a, 0x69, 0x4a, 0xc7, 0x39, 0x29, 0x4a, 0xe8, 0x41,
0x86, 0x31, 0x28, 0x42, 0xe7, 0x39, 0x49, 0x4a, 0x66, 0x31, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x29, 0x4a, 0xa6, 0x31, 0x49, 0x4a, 0xc7, 0x39, 0xe8, 0x41, 0xe8, 0x41, 0x65, 0x29, 0x66, 0x31, 0x86, 0x31, 0x86, 0x31, 0xe8, 0x41, 0x8a, 0x52, 0xa7, 0x39, 0xab, 0x5a, 0xa6, 0x31, 0x69, 0x4a, 0x86, 0x31, 0x66, 0x31, 0xab, 0x5a, 0xc7, 0x39, 0x49, 0x4a, 0xa7, 0x39, 0xcb, 0x5a, 0xe7, 0x39, 0x86, 0x31, 0x86, 0x31, 0x66, 0x31, 0x66, 0x31, 0xe7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0x08, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x08, 0x42, 0x49, 0x4a, 0x86, 0x31, 0x49, 0x4a, 0x86, 0x31, 0x6a, 0x52, 0x66, 0x31,
0xe8, 0x41, 0x08, 0x42, 0xc7, 0x39, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x08, 0x42, 0x66, 0x31, 0x28, 0x42, 0xe7, 0x39, 0xe7, 0x39, 0xa7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0x65, 0x29, 0x66, 0x31, 0x65, 0x29, 0xa6, 0x31, 0xcb, 0x5a, 0x08, 0x42, 0x8a, 0x52, 0xc7, 0x39, 0xa6, 0x31, 0x8a, 0x52, 0x08, 0x42, 0x08, 0x42, 0x8a, 0x52, 0xa6, 0x31, 0x08, 0x42, 0x69, 0x4a, 0xe7, 0x39, 0xcb, 0x5a, 0xa6, 0x31, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0x08, 0x42, 0xa7, 0x39, 0xe8, 0x41, 0xc7, 0x39, 0xe7, 0x39, 0xe8, 0x41, 0x65, 0x29, 0x08, 0x42, 0x69, 0x4a, 0x49, 0x4a, 0x08, 0x42, 0xe7, 0x39, 0x49, 0x4a, 0xc7, 0x39,
0x28, 0x42, 0x08, 0x42, 0xc7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0x08, 0x42, 0xa6, 0x31, 0x65, 0x29, 0x66, 0x31, 0xe7, 0x39, 0xe7, 0x39, 0xa7, 0x39, 0x29, 0x4a, 0x28, 0x42, 0x65, 0x29, 0x65, 0x29, 0x45, 0x29, 0x49, 0x4a, 0x0c, 0x63, 0x8a, 0x52, 0xe8, 0x41, 0xa7, 0x39, 0xa6, 0x31, 0x8a, 0x52, 0x6a, 0x52, 0x08, 0x42, 0xcb, 0x5a, 0xa7, 0x39, 0x86, 0x31, 0x29, 0x4a, 0xaa, 0x52, 0x0c, 0x63, 0x49, 0x4a, 0x65, 0x29, 0x65, 0x29, 0x86, 0x31, 0x08, 0x42, 0x08, 0x42, 0xa7, 0x39, 0xe8, 0x41, 0xc7, 0x39, 0x86, 0x31, 0x65, 0x29, 0xa6, 0x31, 0x08, 0x42, 0xe8, 0x41, 0x86, 0x31, 0xc7, 0x39, 0x6a, 0x52, 0xe8, 0x41,
0xe7, 0x39, 0x6a, 0x52, 0x86, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x65, 0x29, 0x66, 0x31, 0xe8, 0x41, 0x29, 0x4a, 0x28, 0x42, 0x08, 0x42, 0x28, 0x42, 0x49, 0x4a, 0x29, 0x4a, 0xc7, 0x39, 0x65, 0x29, 0x28, 0x42, 0x29, 0x4a, 0xa6, 0x31, 0xa7, 0x39, 0xaa, 0x52, 0x66, 0x31, 0x8a, 0x52, 0x08, 0x42, 0x28, 0x42, 0xcb, 0x5a, 0xa6, 0x31, 0x69, 0x4a, 0x86, 0x31, 0xa7, 0x39, 0x29, 0x4a, 0x08, 0x42, 0x66, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0x49, 0x4a, 0x28, 0x42, 0x08, 0x42, 0x28, 0x42, 0x29, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0x65, 0x29, 0x86, 0x31, 0x8a, 0x52, 0xe8, 0x41,
0xaa, 0x52, 0x08, 0x42, 0xa6, 0x31, 0x29, 0x4a, 0x49, 0x4a, 0x28, 0x42, 0x66, 0x31, 0xe8, 0x41, 0x49, 0x4a, 0xc7, 0x39, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0xc7, 0x39, 0x49, 0x4a, 0xe7, 0x39, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0xa6, 0x31, 0x0c, 0x63, 0xe7, 0x39, 0x08, 0x42, 0x0c, 0x63, 0x0c, 0x63, 0xe8, 0x41, 0xe8, 0x41, 0xab, 0x5a, 0x86, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x31, 0x08, 0x42, 0x49, 0x4a, 0xa7, 0x39, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x31, 0xe7, 0x39, 0x69, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0x29, 0x4a, 0x49, 0x4a, 0x28, 0x42, 0x86, 0x31, 0xe8, 0x41, 0xab, 0x5a,
0xe8, 0x41, 0x66, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xa6, 0x31, 0xe7, 0x39, 0xe7, 0x39, 0x29, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0x28, 0x42, 0x49, 0x4a, 0x49, 0x4a, 0x28, 0x42, 0xa6, 0x31, 0xa6, 0x31, 0x49, 0x4a, 0xa7, 0x39, 0x65, 0x29, 0x66, 0x31, 0x65, 0x29, 0x8a, 0x52, 0xcb, 0x5a, 0xa6, 0x31, 0xe7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0xcb, 0x5a, 0x49, 0x4a, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0x86, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x49, 0x4a, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0xe8, 0x41, 0xe8, 0x41, 0xc7, 0x39, 0xe8, 0x41, 0x86, 0x31, 0xe8, 0x41, 0x08, 0x42, 0x65, 0x29, 0xe8, 0x41,
0x65, 0x29, 0x86, 0x31, 0x08, 0x42, 0xc7, 0x39, 0x49, 0x4a, 0xe8, 0x41, 0xe7, 0x39, 0x28, 0x42, 0x66, 0x31, 0x28, 0x42, 0x08, 0x42, 0xa6, 0x31, 0xa7, 0x39, 0xc7, 0x39, 0x29, 0x4a, 0xa6, 0x31, 0xe7, 0x39, 0x28, 0x42, 0x65, 0x29, 0x66, 0x31, 0x65, 0x29, 0x86, 0x31, 0xcb, 0x5a, 0xcb, 0x5a, 0xe8, 0x41, 0xe8, 0x41, 0xcb, 0x5a, 0xab, 0x5a, 0x86, 0x31, 0x65, 0x29, 0x65, 0x29, 0x86, 0x31, 0x28, 0x42, 0xa7, 0x39, 0xa7, 0x39, 0x49, 0x4a, 0xc7, 0x39, 0xa6, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x08, 0x42, 0xa6, 0x31, 0x08, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x28, 0x42, 0xa7, 0x39, 0x29, 0x4a, 0x65, 0x29, 0x65, 0x29,
0xa6, 0x31, 0x66, 0x31, 0x08, 0x42, 0xa7, 0x39, 0xc7, 0x39, 0xa7, 0x39, 0xa7, 0x39, 0x08, 0x42, 0x66, 0x31, 0x49, 0x4a, 0xa6, 0x31, 0xc7, 0x39, 0xe8, 0x41, 0xc7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0x28, 0x42, 0x28, 0x42, 0x08, 0x42, 0x86, 0x31, 0xa7, 0x39, 0xcb, 0x5a, 0xec, 0x62, 0x0c, 0x63, 0xaa, 0x52, 0xa6, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x28, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xa7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0xa7, 0x39, 0x86, 0x31, 0x29, 0x4a, 0xa6, 0x31, 0x29, 0x4a, 0x66, 0x31, 0xc7, 0x39, 0xa6, 0x31, 0xe7, 0x39, 0x08, 0x42, 0x65, 0x29, 0xa6, 0x31,
0xcb, 0x5a, 0x86, 0x31, 0xa6, 0x31, 0x49, 0x4a, 0xe8, 0x41, 0xc7, 0x39, 0x29, 0x4a, 0x28, 0x42, 0x66, 0x31, 0x49, 0x4a, 0xa6, 0x31, 0xe7, 0x39, 0x66, 0x31, 0x28, 0x42, 0x86, 0x31, 0x28, 0x42, 0x86, 0x31, 0x49, 0x4a, 0x08, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0xa7, 0x39, 0xa6, 0x31, 0xcb, 0x5a, 0x8a, 0x52, 0x86, 0x31, 0xc7, 0x39, 0x28, 0x42, 0xc7, 0x39, 0xa7, 0x39, 0x28, 0x42, 0x08, 0x42, 0xa6, 0x31, 0x49, 0x4a, 0x86, 0x31, 0xe8, 0x41, 0xa6, 0x31, 0x08, 0x42, 0x86, 0x31, 0x29, 0x4a, 0xa6, 0x31, 0x49, 0x4a, 0x28, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x28, 0x42, 0x86, 0x31, 0xa6, 0x31, 0xab, 0x5a,
0xec, 0x62, 0xcb, 0x5a, 0xa7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0x08, 0x42, 0x28, 0x42, 0x49, 0x4a, 0x86, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xc7, 0x39, 0x28, 0x42, 0xe7, 0x39, 0x86, 0x31, 0x28, 0x42, 0x86, 0x31, 0x29, 0x4a, 0x86, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0x29, 0x4a, 0x66, 0x31, 0xa6, 0x31, 0x86, 0x31, 0x66, 0x31, 0x08, 0x42, 0xa7, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0x08, 0x42, 0xa6, 0x31, 0x49, 0x4a, 0x86, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0xa7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0xa6, 0x31, 0x49, 0x4a, 0x08, 0x42, 0x08, 0x42, 0xe7, 0x39, 0x86, 0x31, 0xc7, 0x39, 0xeb, 0x5a, 0x0c, 0x63,
0x08, 0x42, 0xcb, 0x5a, 0xab, 0x5a, 0xa6, 0x31, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0x29, 0x4a, 0xc7, 0x39, 0xa6, 0x31, 0x29, 0x4a, 0xc7, 0x39, 0xa6, 0x31, 0x86, 0x31, 0x08, 0x42, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xa7, 0x39, 0x08, 0x42, 0x29, 0x4a, 0x86, 0x31, 0x29, 0x4a, 0x86, 0x31, 0x65, 0x29, 0x66, 0x31, 0x86, 0x31, 0x08, 0x42, 0xe7, 0x39, 0xe8, 0x41, 0x28, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x86, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0xa7, 0x39, 0xe8, 0x41, 0x08, 0x42, 0x65, 0x29, 0x65, 0x29, 0x45, 0x29, 0xa7, 0x39, 0xec, 0x62, 0xcb, 0x5a, 0x08, 0x42,
0xe8, 0x41, 0xa7, 0x39, 0xcb, 0x5a, 0x49, 0x4a, 0x66, 0x31, 0x65, 0x29, 0x65, 0x29, 0xc7, 0x39, 0x49, 0x4a, 0xa6, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x08, 0x42, 0x86, 0x31, 0xe8, 0x41, 0x29, 0x4a, 0xa6, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xc7, 0x39, 0x28, 0x42, 0x86, 0x31, 0x08, 0x42, 0xe8, 0x41, 0x66, 0x31, 0x08, 0x42, 0xe7, 0x39, 0xa7, 0x39, 0x08, 0x42, 0xc7, 0x39, 0x08, 0x42, 0xc7, 0x39, 0xa6, 0x31, 0x08, 0x42, 0x28, 0x42, 0x08, 0x42, 0x08, 0x42, 0xa6, 0x31, 0xa7, 0x39, 0x29, 0x4a, 0xa6, 0x31, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0xaa, 0x52, 0xab, 0x5a, 0xa6, 0x31, 0xe7, 0x39,
0xec, 0x62, 0x28, 0x42, 0xe8, 0x41, 0xeb, 0x5a, 0x86, 0x31, 0x66, 0x31, 0x65, 0x29, 0x65, 0x29, 0xe7, 0x39, 0x49, 0x4a, 0xe7, 0x39, 0x86, 0x31, 0x86, 0x31, 0x86, 0x31, 0x86, 0x31, 0xe7, 0x39, 0x69, 0x4a, 0xc7, 0x39, 0x66, 0x31, 0x08, 0x42, 0x29, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x08, 0x42, 0xaa, 0x52, 0xab, 0x5a, 0xe7, 0x39, 0x86, 0x31, 0x08, 0x42, 0x29, 0x4a, 0xe8, 0x41, 0x66, 0x31, 0xe8, 0x41, 0x49, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0x86, 0x31, 0xe8, 0x41, 0x49, 0x4a, 0xc7, 0x39, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0xc7, 0x39, 0xeb, 0x5a, 0xa6, 0x31, 0x28, 0x42, 0x0c, 0x63,
0xc7, 0x39, 0xab, 0x5a, 0xa6, 0x31, 0xcb, 0x5a, 0x86, 0x31, 0xa6, 0x31, 0x49, 0x4a, 0x08, 0x42, 0x66, 0x31, 0xa7, 0x39, 0x28, 0x42, 0x49, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0xc7, 0x39, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x31, 0x69, 0x4a, 0xc7, 0x39, 0xc7, 0x39, 0x8a, 0x52, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x31, 0xe8, 0x41, 0x29, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x28, 0x42, 0xa6, 0x31, 0x65, 0x29, 0x49, 0x4a, 0x29, 0x4a, 0x86, 0x31, 0xe7, 0x39, 0x49, 0x4a, 0x86, 0x31, 0xeb, 0x5a, 0xc7, 0x39,
0x6a, 0x52, 0x49, 0x4a, 0xc7, 0x39, 0xa6, 0x31, 0xe7, 0x39, 0xcb, 0x5a, 0x0c, 0x63, 0x29, 0x4a, 0x66, 0x31, 0x66, 0x31, 0x65, 0x29, 0x08, 0x42, 0x28, 0x42, 0x86, 0x31, 0xa7, 0x39, 0xa7, 0x39, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0xe8, 0x41, 0xc7, 0x39, 0x86, 0x31, 0xa6, 0x31, 0x49, 0x4a, 0x29, 0x4a, 0xe8, 0x41, 0x69, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0xe7, 0x39, 0xe8, 0x41, 0x86, 0x31, 0x65, 0x29, 0x86, 0x31, 0xa6, 0x31, 0xa7, 0x39, 0xa7, 0x39, 0x29, 0x4a, 0xe8, 0x41, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0x8a, 0x52, 0x0c, 0x63, 0xab, 0x5a, 0xe7, 0x39, 0x86, 0x31, 0xc7, 0x39, 0xab, 0x5a, 0x49, 0x4a,
0x49, 0x4a, 0x29, 0x4a, 0xc7, 0x39, 0x08, 0x42, 0x8a, 0x52, 0x08, 0x42, 0x8a, 0x52, 0xa6, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x08, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x66, 0x31, 0xe8, 0x41, 0x6a, 0x52, 0x69, 0x4a, 0x29, 0x4a, 0xa6, 0x31, 0x49, 0x4a, 0xa7, 0x39, 0xe7, 0x39, 0x49, 0x4a, 0xc7, 0x39, 0x49, 0x4a, 0x29, 0x4a, 0x6a, 0x52, 0x08, 0x42, 0x66, 0x31, 0x08, 0x42, 0xe8, 0x41, 0x08, 0x42, 0xc7, 0x39, 0xe8, 0x41, 0xc7, 0x39, 0x65, 0x29, 0x66, 0x31, 0x65, 0x29, 0xc7, 0x39, 0xcb, 0x5a, 0x08, 0x42, 0x6a, 0x52, 0xc7, 0x39, 0xc7, 0x39, 0xaa, 0x52, 0x08, 0x42,
0x86, 0x31, 0x69, 0x4a, 0xe7, 0x39, 0x6a, 0x52, 0xa7, 0x39, 0x8a, 0x52, 0xe8, 0x41, 0xa6, 0x31, 0xa6, 0x31, 0x65, 0x29, 0x65, 0x29, 0x08, 0x42, 0xc7, 0x39, 0xc7, 0x39, 0x29, 0x4a, 0xc7, 0x39, 0x29, 0x4a, 0x66, 0x31, 0xe7, 0x39, 0x69, 0x4a, 0x86, 0x31, 0x6a, 0x52, 0xa6, 0x31, 0x49, 0x4a, 0x86, 0x31, 0x66, 0x31, 0x6a, 0x52, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x8a, 0x52, 0xc7, 0x39, 0xa6, 0x31, 0x08, 0x42, 0xc7, 0x39, 0x29, 0x4a, 0xc7, 0x39, 0x08, 0x42, 0xa6, 0x31, 0x66, 0x31, 0x65, 0x29, 0xa6, 0x31, 0xa6, 0x31, 0x08, 0x42, 0xaa, 0x52, 0xe7, 0x39, 0x69, 0x4a, 0x86, 0x31, 0xcb, 0x5a, 0x66, 0x31,
0xe8, 0x41, 0x6a, 0x52, 0x29, 0x4a, 0x08, 0x42, 0xab, 0x5a, 0xc7, 0x39, 0xc7, 0x39, 0xab, 0x5a, 0x0c, 0x63, 0x8a, 0x52, 0x86, 0x31, 0x86, 0x31, 0x29, 0x4a, 0xa6, 0x31, 0x86, 0x31, 0xc7, 0x39, 0x08, 0x42, 0x66, 0x31, 0x86, 0x31, 0x29, 0x4a, 0x69, 0x4a, 0x69, 0x4a, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x28, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x6a, 0x52, 0x6a, 0x52, 0x29, 0x4a, 0x66, 0x31, 0x86, 0x31, 0x28, 0x42, 0xa6, 0x31, 0xa6, 0x31, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x86, 0x31, 0x8a, 0x52, 0x0c, 0x63, 0xab, 0x5a, 0x86, 0x31, 0xe7, 0x39, 0x8a, 0x52, 0x49, 0x4a, 0xe8, 0x41, 0x69, 0x4a, 0x08, 0x42,
0xcb, 0x5a, 0xc7, 0x39, 0x8a, 0x52, 0x69, 0x4a, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x31, 0xe7, 0x39, 0xcb, 0x5a, 0xab, 0x5a, 0xa6, 0x31, 0xa7, 0x39, 0x29, 0x4a, 0x29, 0x4a, 0x29, 0x4a, 0x86, 0x31, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa7, 0x39, 0x08, 0x42, 0x69, 0x4a, 0xa6, 0x31, 0x49, 0x4a, 0x29, 0x4a, 0x86, 0x31, 0x69, 0x4a, 0x08, 0x42, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x31, 0xa7, 0x39, 0x29, 0x4a, 0x28, 0x42, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0xec, 0x62, 0xcb, 0x5a, 0xc7, 0x39, 0x86, 0x31, 0xa7, 0x39, 0xa6, 0x31, 0xa7, 0x39, 0x6a, 0x52, 0xcb, 0x5a, 0xa6, 0x31, 0xcb, 0x5a,
0xe7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0x29, 0x4a, 0x69, 0x4a, 0x8a, 0x52, 0x8a, 0x52, 0x8a, 0x52, 0x08, 0x42, 0xa6, 0x31, 0xcb, 0x5a, 0xab, 0x5a, 0x86, 0x31, 0x65, 0x29, 0x86, 0x31, 0x86, 0x31, 0xe8, 0x41, 0x69, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x08, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0xe8, 0x41, 0xe8, 0x41, 0xa6, 0x31, 0xc7, 0x39, 0x08, 0x42, 0x29, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0xe7, 0x39, 0x86, 0x31, 0x86, 0x31, 0x65, 0x29, 0xa7, 0x39, 0xeb, 0x5a, 0xcb, 0x5a, 0xa7, 0x39, 0x08, 0x42, 0x8a, 0x52, 0x8a, 0x52, 0x8a, 0x52, 0x69, 0x4a, 0x08, 0x42, 0xe8, 0x41, 0x86, 0x31, 0xc7, 0x39,
0x49, 0x4a, 0xe7, 0x39, 0x8a, 0x52, 0x08, 0x42, 0x86, 0x31, 0x08, 0x42, 0x6a, 0x52, 0x28, 0x42, 0x0c, 0x63, 0xc7, 0x39, 0xe8, 0x41, 0x0c, 0x63, 0xab, 0x5a, 0xa6, 0x31, 0x65, 0x29, 0x08, 0x42, 0xab, 0x5a, 0xc7, 0x39, 0x29, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0x49, 0x4a, 0xe8, 0x41, 0xe8, 0x41, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0xe8, 0x41, 0x66, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0x08, 0x42, 0x8a, 0x52, 0xc7, 0x39, 0x65, 0x29, 0xc7, 0x39, 0xcb, 0x5a, 0x0c, 0x63, 0xc7, 0x39, 0xe7, 0x39, 0xcb, 0x5a, 0x08, 0x42, 0xaa, 0x52, 0x08, 0x42, 0x86, 0x31, 0x29, 0x4a, 0xaa, 0x52, 0x86, 0x31, 0x49, 0x4a,
0xaa, 0x52, 0xa7, 0x39, 0xaa, 0x52, 0x28, 0x42, 0x66, 0x31, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x0c, 0x63, 0xc7, 0x39, 0x08, 0x42, 0x0c, 0x63, 0x8a, 0x52, 0x86, 0x31, 0x65, 0x29, 0xe8, 0x41, 0xab, 0x5a, 0xc7, 0x39, 0xe8, 0x41, 0xe7, 0x39, 0x66, 0x31, 0x08, 0x42, 0x49, 0x4a, 0xe8, 0x41, 0x08, 0x42, 0x49, 0x4a, 0xe8, 0x41, 0x08, 0x42, 0x08, 0x42, 0x66, 0x31, 0xe7, 0x39, 0xe8, 0x41, 0x08, 0x42, 0xab, 0x5a, 0xa6, 0x31, 0x66, 0x31, 0xa6, 0x31, 0xaa, 0x52, 0x0c, 0x63, 0xe7, 0x39, 0xc7, 0x39, 0xec, 0x62, 0xc7, 0x39, 0x29, 0x4a, 0x08, 0x42, 0x66, 0x31, 0x6a, 0x52, 0x8a, 0x52, 0x86, 0x31, 0xaa, 0x52,
0x86, 0x31, 0x86, 0x31, 0xa7, 0x39, 0x6a, 0x52, 0xab, 0x5a, 0x8a, 0x52, 0xcb, 0x5a, 0xcb, 0x5a, 0xe7, 0x39, 0xa7, 0x39, 0xcb, 0x5a, 0xab, 0x5a, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0x66, 0x31, 0xe7, 0x39, 0x8a, 0x52, 0x69, 0x4a, 0x49, 0x4a, 0x8a, 0x52, 0x28, 0x42, 0x86, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x08, 0x42, 0x86, 0x31, 0xa6, 0x31, 0x28, 0x42, 0x6a, 0x52, 0x49, 0x4a, 0x69, 0x4a, 0x6a, 0x52, 0xc7, 0x39, 0x66, 0x31, 0x86, 0x31, 0x66, 0x31, 0xa6, 0x31, 0xcb, 0x5a, 0xcb, 0x5a, 0xa6, 0x31, 0x08, 0x42, 0xcb, 0x5a, 0xaa, 0x52, 0x8a, 0x52, 0xcb, 0x5a, 0x49, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0x86, 0x31,
0xaa, 0x52, 0xe8, 0x41, 0xaa, 0x52, 0x08, 0x42, 0xc7, 0x39, 0xa7, 0x39, 0xa7, 0x39, 0xa6, 0x31, 0xe8, 0x41, 0xcb, 0x5a, 0xab, 0x5a, 0xa6, 0x31, 0xc7, 0x39, 0x28, 0x42, 0x08, 0x42, 0x08, 0x42, 0x86, 0x31, 0x66, 0x31, 0xa7, 0x39, 0xe7, 0x39, 0xc7, 0x39, 0xe8, 0x41, 0x69, 0x4a, 0xc7, 0x39, 0x28, 0x42, 0x28, 0x42, 0xa6, 0x31, 0x49, 0x4a, 0xe8, 0x41, 0xc7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0x66, 0x31, 0xa7, 0x39, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0xcb, 0x5a, 0xcb, 0x5a, 0xe7, 0x39, 0xa6, 0x31, 0xa7, 0x39, 0xa7, 0x39, 0xc7, 0x39, 0x28, 0x42, 0xcb, 0x5a, 0xc7, 0x39, 0xaa, 0x52,
0x08, 0x42, 0x69, 0x4a, 0x29, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x69, 0x4a, 0xab, 0x5a, 0x49, 0x4a, 0x86, 0x31, 0xa6, 0x31, 0x28, 0x42, 0xa7, 0x39, 0xe7, 0x39, 0xe7, 0x39, 0x08, 0x42, 0x65, 0x29, 0x86, 0x31, 0x29, 0x4a, 0x08, 0x42, 0x6a, 0x52, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x08, 0x42, 0x29, 0x4a, 0xe8, 0x41, 0x49, 0x4a, 0x28, 0x42, 0x49, 0x4a, 0x86, 0x31, 0x86, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xe7, 0x39, 0xc7, 0x39, 0x28, 0x42, 0x66, 0x31, 0xa7, 0x39, 0x49, 0x4a, 0xab, 0x5a, 0x69, 0x4a, 0x66, 0x31, 0x08, 0x42, 0x49, 0x4a, 0x8a, 0x52, 0xe8, 0x41, 0x69, 0x4a, 0x08, 0x42,
0x66, 0x31, 0x69, 0x4a, 0xc7, 0x39, 0x8a, 0x52, 0xa7, 0x39, 0x69, 0x4a, 0x28, 0x42, 0x86, 0x31, 0x86, 0x31, 0x66, 0x31, 0x65, 0x29, 0x08, 0x42, 0xa7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0xa7, 0x39, 0x29, 0x4a, 0x66, 0x31, 0xe7, 0x39, 0x49, 0x4a, 0x86, 0x31, 0x6a, 0x52, 0xa6, 0x31, 0x29, 0x4a, 0x86, 0x31, 0x66, 0x31, 0x69, 0x4a, 0xc7, 0x39, 0x29, 0x4a, 0x86, 0x31, 0x49, 0x4a, 0xe8, 0x41, 0x86, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xe8, 0x41, 0xc7, 0x39, 0xe8, 0x41, 0xa7, 0x39, 0x65, 0x29, 0x66, 0x31, 0x86, 0x31, 0x86, 0x31, 0x49, 0x4a, 0x6a, 0x52, 0xe8, 0x41, 0x49, 0x4a, 0xa6, 0x31, 0xab, 0x5a, 0x65, 0x29,
0x69, 0x4a, 0x29, 0x4a, 0xc7, 0x39, 0xc7, 0x39, 0xab, 0x5a, 0xe7, 0x39, 0xaa, 0x52, 0xc7, 0x39, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x66, 0x31, 0xe7, 0x39, 0x8a, 0x52, 0x8a, 0x52, 0x49, 0x4a, 0xa6, 0x31, 0x49, 0x4a, 0xc7, 0x39, 0xe7, 0x39, 0x29, 0x4a, 0xe7, 0x39, 0x49, 0x4a, 0x69, 0x4a, 0x8a, 0x52, 0xe8, 0x41, 0x65, 0x29, 0x28, 0x42, 0xe7, 0x39, 0x08, 0x42, 0xc7, 0x39, 0xe8, 0x41, 0xe7, 0x39, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0xe7, 0x39, 0xcb, 0x5a, 0xc7, 0x39, 0x8a, 0x52, 0xc7, 0x39, 0xc7, 0x39, 0xaa, 0x52, 0x28, 0x42,
0x6a, 0x52, 0x49, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0xcb, 0x5a, 0xec, 0x62, 0x28, 0x42, 0x66, 0x31, 0x66, 0x31, 0x86, 0x31, 0x28, 0x42, 0x08, 0x42, 0x86, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0x66, 0x31, 0x66, 0x31, 0x86, 0x31, 0x08, 0x42, 0xe7, 0x39, 0x66, 0x31, 0xa6, 0x31, 0x49, 0x4a, 0x29, 0x4a, 0xe8, 0x41, 0x69, 0x4a, 0xa6, 0x31, 0x86, 0x31, 0xe7, 0x39, 0xe8, 0x41, 0x86, 0x31, 0x65, 0x29, 0x86, 0x31, 0xe7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0x29, 0x4a, 0xe8, 0x41, 0x86, 0x31, 0x66, 0x31, 0x65, 0x29, 0x8a, 0x52, 0xeb, 0x5a, 0xaa, 0x52, 0xe8, 0x41, 0x86, 0x31, 0xc7, 0x39, 0xcb, 0x5a, 0x49, 0x4a,
0x08, 0x42, 0xaa, 0x52, 0xa6, 0x31, 0xab, 0x5a, 0x66, 0x31, 0xa7, 0x39, 0x49, 0x4a, 0xe8, 0x41, 0x66, 0x31, 0xc7, 0x39, 0x08, 0x42, 0x28, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x66, 0x31, 0x65, 0x29, 0x66, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0x49, 0x4a, 0x08, 0x42, 0x08, 0x42, 0x8a, 0x52, 0x66, 0x31, 0x86, 0x31, 0x86, 0x31, 0x66, 0x31, 0x65, 0x29, 0x86, 0x31, 0xe8, 0x41, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x08, 0x42, 0xc7, 0x39, 0x66, 0x31, 0x29, 0x4a, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x39, 0x69, 0x4a, 0x86, 0x31, 0xcb, 0x5a, 0x08, 0x42,
0xeb, 0x5a, 0xe8, 0x41, 0x08, 0x42, 0xeb, 0x5a, 0x66, 0x31, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0x08, 0x42, 0x29, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x31, 0xc7, 0x39, 0x49, 0x4a, 0xe7, 0x39, 0x86, 0x31, 0x08, 0x42, 0x08, 0x42, 0x29, 0x4a, 0xa7, 0x39, 0xe7, 0x39, 0xaa, 0x52, 0xab, 0x5a, 0xc7, 0x39, 0xa7, 0x39, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x86, 0x31, 0xe8, 0x41, 0x29, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0xe7, 0x39, 0x66, 0x31, 0x65, 0x29, 0x65, 0x29, 0xc7, 0x39, 0xeb, 0x5a, 0xa7, 0x39, 0x08, 0x42, 0x0c, 0x63,
0xa7, 0x39, 0xc7, 0x39, 0xeb, 0x5a, 0x49, 0x4a, 0x66, 0x31, 0x66, 0x31, 0x65, 0x29, 0xc7, 0x39, 0x49, 0x4a, 0x86, 0x31, 0xc7, 0x39, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0xa6, 0x31, 0xe7, 0x39, 0x29, 0x4a, 0xa7, 0x39, 0xe8, 0x41, 0xc7, 0x39, 0xa7, 0x39, 0x29, 0x4a, 0x86, 0x31, 0xc7, 0x39, 0xa7, 0x39, 0x66, 0x31, 0x28, 0x42, 0xc7, 0x39, 0xa6, 0x31, 0xe7, 0x39, 0xe7, 0x39, 0x28, 0x42, 0xa7, 0x39, 0xa7, 0x39, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0xa7, 0x39, 0xa6, 0x31, 0x29, 0x4a, 0xa6, 0x31, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0x8a, 0x52, 0xcb, 0x5a, 0x86, 0x31, 0xa6, 0x31,
0xe8, 0x41, 0xcb, 0x5a, 0xab, 0x5a, 0x86, 0x31, 0x65, 0x29, 0x66, 0x31, 0x86, 0x31, 0x29, 0x4a, 0xa7, 0x39, 0xa6, 0x31, 0x49, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0x86, 0x31, 0x08, 0x42, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xa7, 0x39, 0x08, 0x42, 0x29, 0x4a, 0x86, 0x31, 0x28, 0x42, 0x86, 0x31, 0x65, 0x29, 0x66, 0x31, 0x86, 0x31, 0x08, 0x42, 0xe7, 0x39, 0x08, 0x42, 0x08, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xe8, 0x41, 0x66, 0x31, 0x86, 0x31, 0xc7, 0x39, 0x49, 0x4a, 0xa6, 0x31, 0xe7, 0x39, 0x08, 0x42, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0xa6, 0x31, 0xcb, 0x5a, 0xcb, 0x5a, 0xe8, 0x41,
0x2c, 0x63, 0xaa, 0x52, 0xa7, 0x39, 0xa7, 0x39, 0xe7, 0x39, 0xe8, 0x41, 0x08, 0x42, 0x29, 0x4a, 0x66, 0x31, 0x28, 0x42, 0xc7, 0x39, 0xc7, 0x39, 0xe8, 0x41, 0xc7, 0x39, 0x86, 0x31, 0x28, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xa6, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0x28, 0x42, 0x66, 0x31, 0xc7, 0x39, 0x86, 0x31, 0x66, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xe7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0x08, 0x42, 0xa6, 0x31, 0x49, 0x4a, 0x66, 0x31, 0xc7, 0x39, 0xe8, 0x41, 0xa6, 0x31, 0xc7, 0x39, 0x08, 0x42, 0xa6, 0x31, 0x49, 0x4a, 0x08, 0x42, 0x08, 0x42, 0xe7, 0x39, 0x86, 0x31, 0xc7, 0x39, 0xcb, 0x5a, 0x2c, 0x63,
0x8a, 0x52, 0xa6, 0x31, 0xc7, 0x39, 0x08, 0x42, 0xc7, 0x39, 0xa7, 0x39, 0x08, 0x42, 0x08, 0x42, 0x66, 0x31, 0x49, 0x4a, 0xa6, 0x31, 0x08, 0x42, 0xa6, 0x31, 0x28, 0x42, 0x86, 0x31, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0x29, 0x4a, 0xe7, 0x39, 0x08, 0x42, 0x08, 0x42, 0x86, 0x31, 0xc7, 0x39, 0xcb, 0x5a, 0xaa, 0x52, 0xa6, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0x86, 0x31, 0x08, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x66, 0x31, 0x29, 0x4a, 0x86, 0x31, 0x49, 0x4a, 0x08, 0x42, 0xa7, 0x39, 0xc7, 0x39, 0x29, 0x4a, 0xa6, 0x31, 0xa6, 0x31, 0x8a, 0x52,
0x86, 0x31, 0x86, 0x31, 0x08, 0x42, 0xa6, 0x31, 0x08, 0x42, 0xe8, 0x41, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xa6, 0x31, 0xc7, 0x39, 0x08, 0x42, 0xa7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xe7, 0x39, 0xc7, 0x39, 0xa7, 0x39, 0x86, 0x31, 0xc7, 0x39, 0xeb, 0x5a, 0x0c, 0x63, 0x0c, 0x63, 0xcb, 0x5a, 0xc7, 0x39, 0x86, 0x31, 0xc7, 0x39, 0xe7, 0x39, 0xe8, 0x41, 0x28, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xc7, 0x39, 0xa6, 0x31, 0x08, 0x42, 0xa7, 0x39, 0x86, 0x31, 0x29, 0x4a, 0xa6, 0x31, 0x29, 0x4a, 0x86, 0x31, 0x08, 0x42, 0xe7, 0x39, 0xc7, 0x39, 0x28, 0x42, 0x65, 0x29, 0x86, 0x31,
0x66, 0x31, 0xa6, 0x31, 0xe8, 0x41, 0xc7, 0x39, 0x08, 0x42, 0xc7, 0x39, 0xe8, 0x41, 0x28, 0x42, 0x66, 0x31, 0x28, 0x42, 0x08, 0x42, 0x86, 0x31, 0x86, 0x31, 0xc7, 0x39, 0x49, 0x4a, 0xa6, 0x31, 0xe8, 0x41, 0x08, 0x42, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0x86, 0x31, 0xec, 0x62, 0xcb, 0x5a, 0xc7, 0x39, 0xe7, 0x39, 0xeb, 0x5a, 0xcb, 0x5a, 0xa6, 0x31, 0x66, 0x31, 0x65, 0x29, 0x86, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xa7, 0x39, 0x49, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0x86, 0x31, 0x28, 0x42, 0x08, 0x42, 0xa6, 0x31, 0x08, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x08, 0x42, 0xa7, 0x39, 0x49, 0x4a, 0x66, 0x31, 0x66, 0x31,
0xe8, 0x41, 0x86, 0x31, 0x08, 0x42, 0xc7, 0x39, 0xe7, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0x29, 0x4a, 0xc7, 0x39, 0x86, 0x31, 0x08, 0x42, 0x29, 0x4a, 0x29, 0x4a, 0x08, 0x42, 0xa6, 0x31, 0xa7, 0x39, 0x49, 0x4a, 0xa6, 0x31, 0x65, 0x29, 0x66, 0x31, 0x65, 0x29, 0x8a, 0x52, 0xcb, 0x5a, 0xa6, 0x31, 0xe7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0xcb, 0x5a, 0x49, 0x4a, 0x66, 0x31, 0x65, 0x29, 0x66, 0x31, 0xc7, 0x39, 0x29, 0x4a, 0x86, 0x31, 0xa7, 0x39, 0x08, 0x42, 0x29, 0x4a, 0x29, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x08, 0x42, 0xe8, 0x41, 0xc7, 0x39, 0x08, 0x42, 0xc7, 0x39, 0xe8, 0x41, 0x08, 0x42, 0x66, 0x31, 0x08, 0x42,
0x8a, 0x52, 0x08, 0x42, 0xa6, 0x31, 0xe8, 0x41, 0xe8, 0x41, 0xe8, 0x41, 0x86, 0x31, 0xe7, 0x39, 0x49, 0x4a, 0xe8, 0x41, 0xa6, 0x31, 0x86, 0x31, 0x86, 0x31, 0xa6, 0x31, 0xe8, 0x41, 0x29, 0x4a, 0xc7, 0x39, 0x66, 0x31, 0x65, 0x29, 0x65, 0x29, 0xa6, 0x31, 0x0c, 0x63, 0xc7, 0x39, 0x08, 0x42, 0xeb, 0x5a, 0xec, 0x62, 0x08, 0x42, 0xe8, 0x41, 0xab, 0x5a, 0x86, 0x31, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0xe7, 0x39, 0x49, 0x4a, 0xe7, 0x39, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x49, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0xe8, 0x41, 0x08, 0x42, 0xe8, 0x41, 0x86, 0x31, 0x08, 0x42, 0xaa, 0x52,
0xc7, 0x39, 0x69, 0x4a, 0x86, 0x31, 0x66, 0x31, 0x66, 0x31, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0xc7, 0x39, 0x08, 0x42, 0x08, 0x42, 0x29, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x08, 0x42, 0xa6, 0x31, 0x65, 0x29, 0x49, 0x4a, 0x8a, 0x52, 0xa7, 0x39, 0xa6, 0x31, 0xaa, 0x52, 0x86, 0x31, 0x8a, 0x52, 0xe8, 0x41, 0xc7, 0x39, 0xcb, 0x5a, 0xa6, 0x31, 0x69, 0x4a, 0x86, 0x31, 0xc7, 0x39, 0x8a, 0x52, 0x29, 0x4a, 0x66, 0x31, 0xa6, 0x31, 0x08, 0x42, 0x29, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x08, 0x42, 0xe8, 0x41, 0xa7, 0x39, 0x66, 0x31, 0x65, 0x29, 0x65, 0x29, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0x8a, 0x52, 0xc7, 0x39,
0x49, 0x4a, 0x08, 0x42, 0xc7, 0x39, 0x86, 0x31, 0x08, 0x42, 0x28, 0x42, 0xa6, 0x31, 0x66, 0x31, 0x86, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0x86, 0x31, 0x28, 0x42, 0x08, 0x42, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0x49, 0x4a, 0xec, 0x62, 0xcb, 0x5a, 0xe8, 0x41, 0x86, 0x31, 0xa6, 0x31, 0x8a, 0x52, 0x8a, 0x52, 0x28, 0x42, 0xab, 0x5a, 0xa7, 0x39, 0x66, 0x31, 0x49, 0x4a, 0xeb, 0x5a, 0xeb, 0x5a, 0x28, 0x42, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0x08, 0x42, 0xe8, 0x41, 0x86, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0x86, 0x31, 0x65, 0x29, 0xa6, 0x31, 0x28, 0x42, 0xe8, 0x41, 0x86, 0x31, 0xc7, 0x39, 0x69, 0x4a, 0x28, 0x42,
0xe7, 0x39, 0x08, 0x42, 0xc7, 0x39, 0x69, 0x4a, 0x69, 0x4a, 0x69, 0x4a, 0x08, 0x42, 0x65, 0x29, 0x29, 0x4a, 0xe8, 0x41, 0x08, 0x42, 0xc7, 0x39, 0xc7, 0x39, 0x08, 0x42, 0x45, 0x29, 0x65, 0x29, 0x65, 0x29, 0x86, 0x31, 0xab, 0x5a, 0xe8, 0x41, 0xaa, 0x52, 0xc7, 0x39, 0xa6, 0x31, 0x8a, 0x52, 0x08, 0x42, 0x08, 0x42, 0x8a, 0x52, 0xa7, 0x39, 0x28, 0x42, 0x6a, 0x52, 0xc7, 0x39, 0xab, 0x5a, 0xa6, 0x31, 0x65, 0x29, 0x65, 0x29, 0x66, 0x31, 0x08, 0x42, 0xa6, 0x31, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0xe8, 0x41, 0x65, 0x29, 0x28, 0x42, 0x8a, 0x52, 0x6a, 0x52, 0x08, 0x42, 0xe7, 0x39, 0x49, 0x4a, 0xa7, 0x39,
0x86, 0x31, 0x29, 0x4a, 0xe7, 0x39, 0x28, 0x42, 0x86, 0x31, 0x49, 0x4a, 0xe8, 0x41, 0x86, 0x31, 0x49, 0x4a, 0x86, 0x31, 0x08, 0x42, 0xa6, 0x31, 0x08, 0x42, 0xc7, 0x39, 0x65, 0x29, 0x66, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0xe7, 0x39, 0x6a, 0x52, 0xe7, 0x39, 0x8a, 0x52, 0xa7, 0x39, 0x6a, 0x52, 0x86, 0x31, 0x66, 0x31, 0xcb, 0x5a, 0xc7, 0x39, 0x49, 0x4a, 0xe7, 0x39, 0xaa, 0x52, 0xe8, 0x41, 0xc7, 0x39, 0xc7, 0x39, 0x65, 0x29, 0x66, 0x31, 0xe7, 0x39, 0xc7, 0x39, 0xe8, 0x41, 0x08, 0x42, 0xc7, 0x39, 0x08, 0x42, 0x86, 0x31, 0x08, 0x42, 0x69, 0x4a, 0xa6, 0x31, 0x49, 0x4a, 0xa6, 0x31, 0x6a, 0x52, 0x65, 0x29,
0x28, 0x42, 0x08, 0x42, 0x28, 0x42, 0x6a, 0x52, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x66, 0x31, 0x29, 0x4a, 0xe7, 0x39, 0xa6, 0x31, 0xe7, 0x39, 0x29, 0x4a, 0x66, 0x31, 0xa7, 0x39, 0xaa, 0x52, 0xcb, 0x5a, 0x69, 0x4a, 0x86, 0x31, 0xc7, 0x39, 0x69, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x28, 0x42, 0x29, 0x4a, 0x69, 0x4a, 0x29, 0x4a, 0x28, 0x42, 0x8a, 0x52, 0x49, 0x4a, 0xa7, 0x39, 0x86, 0x31, 0x6a, 0x52, 0xcb, 0x5a, 0x8a, 0x52, 0xa6, 0x31, 0x86, 0x31, 0x28, 0x42, 0xc7, 0x39, 0xa7, 0x39, 0xe8, 0x41, 0xe8, 0x41, 0x66, 0x31, 0x86, 0x31, 0x08, 0x42, 0x49, 0x4a, 0xaa, 0x52, 0xe7, 0x39, 0x08, 0x42, 0x28, 0x42,
0x28, 0x42, 0xa7, 0x39, 0x49, 0x4a, 0xc7, 0x39, 0xa6, 0x31, 0xe7, 0x39, 0xc7, 0x39, 0x86, 0x31, 0x86, 0x31, 0x28, 0x42, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0xa7, 0x39, 0xec, 0x62, 0xab, 0x5a, 0xa6, 0x31, 0x86, 0x31, 0xa7, 0x39, 0xc7, 0x39, 0x86, 0x31, 0x08, 0x42, 0xcb, 0x5a, 0xe8, 0x41, 0xaa, 0x52, 0x8a, 0x52, 0xa7, 0x39, 0xcb, 0x5a, 0xe7, 0x39, 0xa6, 0x31, 0xc7, 0x39, 0xa7, 0x39, 0x86, 0x31, 0xc7, 0x39, 0xcb, 0x5a, 0xcb, 0x5a, 0xa7, 0x39, 0xa6, 0x31, 0x28, 0x42, 0x49, 0x4a, 0x08, 0x42, 0x86, 0x31, 0x86, 0x31, 0xc7, 0x39, 0xc7, 0x39, 0xa6, 0x31, 0xe7, 0x39, 0x6a, 0x52, 0x86, 0x31, 0x08, 0x42,
0x08, 0x42, 0xa6, 0x31, 0x86, 0x31, 0x29, 0x4a, 0x69, 0x4a, 0x49, 0x4a, 0x69, 0x4a, 0x8a, 0x52, 0x08, 0x42, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0xa6, 0x31, 0xeb, 0x5a, 0xab, 0x5a, 0xa6, 0x31, 0x28, 0x42, 0xcb, 0x5a, 0xcb, 0x5a, 0xaa, 0x52, 0xcb, 0x5a, 0x49, 0x4a, 0xa6, 0x31, 0x86, 0x31, 0xa6, 0x31, 0x86, 0x31, 0xa6, 0x31, 0xc7, 0x39, 0x69, 0x4a, 0xab, 0x5a, 0xab, 0x5a, 0xcb, 0x5a, 0xcb, 0x5a, 0xe8, 0x41, 0xa6, 0x31, 0xeb, 0x5a, 0xab, 0x5a, 0xa6, 0x31, 0x66, 0x31, 0x65, 0x29, 0x66, 0x31, 0x08, 0x42, 0x8a, 0x52, 0x69, 0x4a, 0x49, 0x4a, 0x6a, 0x52, 0x08, 0x42, 0xa6, 0x31, 0xa6, 0x31, 0x08, 0x42,
0xe8, 0x41, 0x29, 0x4a, 0x29, 0x4a, 0xe7, 0x39, 0x65, 0x29, 0xc7, 0x39, 0x08, 0x42, 0xe8, 0x41, 0xab, 0x5a, 0xe8, 0x41, 0x65, 0x29, 0xa7, 0x39, 0xcb, 0x5a, 0x0c, 0x63, 0xe8, 0x41, 0xe8, 0x41, 0x0c, 0x63, 0xc7, 0x39, 0x49, 0x4a, 0x08, 0x42, 0x66, 0x31, 0x28, 0x42, 0xcb, 0x5a, 0xc7, 0x39, 0x49, 0x4a, 0xaa, 0x52, 0x86, 0x31, 0xaa, 0x52, 0x08, 0x42, 0x65, 0x29, 0x28, 0x42, 0x49, 0x4a, 0x28, 0x42, 0xec, 0x62, 0xa6, 0x31, 0xe8, 0x41, 0x2c, 0x63, 0x8a, 0x52, 0x86, 0x31, 0x66, 0x31, 0xe8, 0x41, 0xaa, 0x52, 0xc7, 0x39, 0x28, 0x42, 0xa7, 0x39, 0x66, 0x31, 0x29, 0x4a, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42,
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0
/*Pixel format: Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 bytes are swapped*/
0x39, 0xc7, 0x4a, 0x29, 0x4a, 0x29, 0x39, 0xe7, 0x31, 0x86, 0x41, 0xe8, 0x42, 0x28, 0x41, 0xe8, 0x52, 0xaa, 0x41, 0xe8, 0x29, 0x45, 0x39, 0xa7, 0x5a, 0xcb, 0x63, 0x0c, 0x41, 0xe8, 0x42, 0x08, 0x62, 0xec, 0x39, 0xc7, 0x52, 0x8a, 0x4a, 0x29, 0x31, 0x86, 0x41, 0xe8, 0x5a, 0xcb, 0x39, 0xe7, 0x4a, 0x49, 0x52, 0xaa, 0x31, 0x86, 0x5a, 0xab, 0x41, 0xe8, 0x31, 0x86, 0x4a, 0x69, 0x52, 0x6a, 0x42, 0x08, 0x62, 0xec, 0x31, 0xa6, 0x42, 0x08, 0x63, 0x0c, 0x52, 0x8a, 0x31, 0x86, 0x31, 0x86, 0x41, 0xe8, 0x52, 0x8a, 0x39, 0xc7, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0x86, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8,
0x4a, 0x29, 0x31, 0xa6, 0x39, 0xa7, 0x4a, 0x29, 0x4a, 0x29, 0x42, 0x08, 0x42, 0x28, 0x52, 0x6a, 0x41, 0xe8, 0x31, 0x86, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x5a, 0xcb, 0x5a, 0xcb, 0x39, 0xa7, 0x4a, 0x29, 0x52, 0xaa, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x69, 0x52, 0x6a, 0x39, 0xc7, 0x31, 0x86, 0x39, 0xe7, 0x39, 0xa7, 0x31, 0x86, 0x41, 0xe8, 0x52, 0x6a, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x49, 0x52, 0xaa, 0x42, 0x08, 0x39, 0xc7, 0x5a, 0xeb, 0x52, 0xaa, 0x31, 0x86, 0x31, 0x86, 0x31, 0x86, 0x31, 0x86, 0x42, 0x08, 0x4a, 0x69, 0x42, 0x08, 0x42, 0x08, 0x4a, 0x29, 0x42, 0x08, 0x39, 0xa7, 0x31, 0xa6, 0x4a, 0x29,
0x4a, 0x29, 0x39, 0xc7, 0x4a, 0x29, 0x42, 0x08, 0x39, 0xe7, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0x86, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xa7, 0x5a, 0xab, 0x5a, 0xcb, 0x41, 0xe8, 0x31, 0xa6, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0xe7, 0x42, 0x28, 0x52, 0x8a, 0x41, 0xe8, 0x52, 0x8a, 0x52, 0x8a, 0x39, 0xa7, 0x52, 0xaa, 0x4a, 0x29, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0xa6, 0x42, 0x08, 0x5a, 0xeb, 0x5a, 0xab, 0x39, 0xa7, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x31, 0xa6, 0x31, 0xa6, 0x39, 0xc7, 0x39, 0xc7, 0x41, 0xe8, 0x42, 0x28, 0x4a, 0x49, 0x31, 0x86, 0x42, 0x28,
0x39, 0xc7, 0x4a, 0x29, 0x42, 0x08, 0x42, 0x28, 0x4a, 0x49, 0x4a, 0x49, 0x31, 0x86, 0x31, 0x66, 0x4a, 0x29, 0x39, 0xa7, 0x39, 0xc7, 0x39, 0xa7, 0x4a, 0x49, 0x31, 0x86, 0x31, 0xa6, 0x4a, 0x69, 0x5a, 0xeb, 0x5a, 0xcb, 0x31, 0xa6, 0x41, 0xe8, 0x52, 0x6a, 0x42, 0x28, 0x4a, 0x69, 0x4a, 0x29, 0x42, 0x08, 0x4a, 0x29, 0x4a, 0x49, 0x42, 0x08, 0x4a, 0x29, 0x52, 0x8a, 0x39, 0xc7, 0x31, 0xa6, 0x5a, 0xab, 0x5a, 0xeb, 0x4a, 0x49, 0x31, 0xa6, 0x39, 0xa7, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xc7, 0x39, 0xc7, 0x41, 0xe8, 0x31, 0x66, 0x31, 0x86, 0x4a, 0x69, 0x4a, 0x29, 0x4a, 0x69, 0x39, 0xc7, 0x4a, 0x29, 0x41, 0xe8,
0x31, 0x86, 0x42, 0x28, 0x39, 0xe7, 0x4a, 0x49, 0x31, 0x66, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x29, 0x31, 0xa6, 0x4a, 0x49, 0x39, 0xc7, 0x41, 0xe8, 0x41, 0xe8, 0x29, 0x65, 0x31, 0x66, 0x31, 0x86, 0x31, 0x86, 0x41, 0xe8, 0x52, 0x8a, 0x39, 0xa7, 0x5a, 0xab, 0x31, 0xa6, 0x4a, 0x69, 0x31, 0x86, 0x31, 0x66, 0x5a, 0xab, 0x39, 0xc7, 0x4a, 0x49, 0x39, 0xa7, 0x5a, 0xcb, 0x39, 0xe7, 0x31, 0x86, 0x31, 0x86, 0x31, 0x66, 0x31, 0x66, 0x39, 0xe7, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x08, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x42, 0x08, 0x4a, 0x49, 0x31, 0x86, 0x4a, 0x49, 0x31, 0x86, 0x52, 0x6a, 0x31, 0x66,
0x41, 0xe8, 0x42, 0x08, 0x39, 0xc7, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x66, 0x42, 0x28, 0x39, 0xe7, 0x39, 0xe7, 0x39, 0xa7, 0x39, 0xc7, 0x42, 0x08, 0x29, 0x65, 0x31, 0x66, 0x29, 0x65, 0x31, 0xa6, 0x5a, 0xcb, 0x42, 0x08, 0x52, 0x8a, 0x39, 0xc7, 0x31, 0xa6, 0x52, 0x8a, 0x42, 0x08, 0x42, 0x08, 0x52, 0x8a, 0x31, 0xa6, 0x42, 0x08, 0x4a, 0x69, 0x39, 0xe7, 0x5a, 0xcb, 0x31, 0xa6, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x42, 0x08, 0x39, 0xa7, 0x41, 0xe8, 0x39, 0xc7, 0x39, 0xe7, 0x41, 0xe8, 0x29, 0x65, 0x42, 0x08, 0x4a, 0x69, 0x4a, 0x49, 0x42, 0x08, 0x39, 0xe7, 0x4a, 0x49, 0x39, 0xc7,
0x42, 0x28, 0x42, 0x08, 0x39, 0xc7, 0x31, 0x86, 0x41, 0xe8, 0x42, 0x08, 0x31, 0xa6, 0x29, 0x65, 0x31, 0x66, 0x39, 0xe7, 0x39, 0xe7, 0x39, 0xa7, 0x4a, 0x29, 0x42, 0x28, 0x29, 0x65, 0x29, 0x65, 0x29, 0x45, 0x4a, 0x49, 0x63, 0x0c, 0x52, 0x8a, 0x41, 0xe8, 0x39, 0xa7, 0x31, 0xa6, 0x52, 0x8a, 0x52, 0x6a, 0x42, 0x08, 0x5a, 0xcb, 0x39, 0xa7, 0x31, 0x86, 0x4a, 0x29, 0x52, 0xaa, 0x63, 0x0c, 0x4a, 0x49, 0x29, 0x65, 0x29, 0x65, 0x31, 0x86, 0x42, 0x08, 0x42, 0x08, 0x39, 0xa7, 0x41, 0xe8, 0x39, 0xc7, 0x31, 0x86, 0x29, 0x65, 0x31, 0xa6, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x86, 0x39, 0xc7, 0x52, 0x6a, 0x41, 0xe8,
0x39, 0xe7, 0x52, 0x6a, 0x31, 0x86, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x29, 0x65, 0x31, 0x66, 0x41, 0xe8, 0x4a, 0x29, 0x42, 0x28, 0x42, 0x08, 0x42, 0x28, 0x4a, 0x49, 0x4a, 0x29, 0x39, 0xc7, 0x29, 0x65, 0x42, 0x28, 0x4a, 0x29, 0x31, 0xa6, 0x39, 0xa7, 0x52, 0xaa, 0x31, 0x66, 0x52, 0x8a, 0x42, 0x08, 0x42, 0x28, 0x5a, 0xcb, 0x31, 0xa6, 0x4a, 0x69, 0x31, 0x86, 0x39, 0xa7, 0x4a, 0x29, 0x42, 0x08, 0x31, 0x66, 0x39, 0xc7, 0x4a, 0x29, 0x4a, 0x49, 0x42, 0x28, 0x42, 0x08, 0x42, 0x28, 0x4a, 0x29, 0x39, 0xc7, 0x31, 0x86, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x29, 0x65, 0x31, 0x86, 0x52, 0x8a, 0x41, 0xe8,
0x52, 0xaa, 0x42, 0x08, 0x31, 0xa6, 0x4a, 0x29, 0x4a, 0x49, 0x42, 0x28, 0x31, 0x66, 0x41, 0xe8, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x39, 0xc7, 0x4a, 0x49, 0x39, 0xe7, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0xa6, 0x63, 0x0c, 0x39, 0xe7, 0x42, 0x08, 0x63, 0x0c, 0x63, 0x0c, 0x41, 0xe8, 0x41, 0xe8, 0x5a, 0xab, 0x31, 0x86, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x42, 0x08, 0x4a, 0x49, 0x39, 0xa7, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x39, 0xe7, 0x4a, 0x69, 0x39, 0xc7, 0x31, 0x86, 0x4a, 0x29, 0x4a, 0x49, 0x42, 0x28, 0x31, 0x86, 0x41, 0xe8, 0x5a, 0xab,
0x41, 0xe8, 0x31, 0x66, 0x42, 0x08, 0x39, 0xc7, 0x31, 0xa6, 0x39, 0xe7, 0x39, 0xe7, 0x4a, 0x29, 0x39, 0xa7, 0x31, 0x86, 0x42, 0x28, 0x4a, 0x49, 0x4a, 0x49, 0x42, 0x28, 0x31, 0xa6, 0x31, 0xa6, 0x4a, 0x49, 0x39, 0xa7, 0x29, 0x65, 0x31, 0x66, 0x29, 0x65, 0x52, 0x8a, 0x5a, 0xcb, 0x31, 0xa6, 0x39, 0xe7, 0x39, 0xc7, 0x31, 0xa6, 0x5a, 0xcb, 0x4a, 0x49, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x39, 0xc7, 0x4a, 0x29, 0x31, 0x86, 0x31, 0xa6, 0x42, 0x08, 0x4a, 0x49, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x41, 0xe8, 0x41, 0xe8, 0x39, 0xc7, 0x41, 0xe8, 0x31, 0x86, 0x41, 0xe8, 0x42, 0x08, 0x29, 0x65, 0x41, 0xe8,
0x29, 0x65, 0x31, 0x86, 0x42, 0x08, 0x39, 0xc7, 0x4a, 0x49, 0x41, 0xe8, 0x39, 0xe7, 0x42, 0x28, 0x31, 0x66, 0x42, 0x28, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xa7, 0x39, 0xc7, 0x4a, 0x29, 0x31, 0xa6, 0x39, 0xe7, 0x42, 0x28, 0x29, 0x65, 0x31, 0x66, 0x29, 0x65, 0x31, 0x86, 0x5a, 0xcb, 0x5a, 0xcb, 0x41, 0xe8, 0x41, 0xe8, 0x5a, 0xcb, 0x5a, 0xab, 0x31, 0x86, 0x29, 0x65, 0x29, 0x65, 0x31, 0x86, 0x42, 0x28, 0x39, 0xa7, 0x39, 0xa7, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0xa6, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x08, 0x31, 0xa6, 0x42, 0x08, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x28, 0x39, 0xa7, 0x4a, 0x29, 0x29, 0x65, 0x29, 0x65,
0x31, 0xa6, 0x31, 0x66, 0x42, 0x08, 0x39, 0xa7, 0x39, 0xc7, 0x39, 0xa7, 0x39, 0xa7, 0x42, 0x08, 0x31, 0x66, 0x4a, 0x49, 0x31, 0xa6, 0x39, 0xc7, 0x41, 0xe8, 0x39, 0xc7, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x42, 0x28, 0x42, 0x28, 0x42, 0x08, 0x31, 0x86, 0x39, 0xa7, 0x5a, 0xcb, 0x62, 0xec, 0x63, 0x0c, 0x52, 0xaa, 0x31, 0xa6, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x28, 0x31, 0x86, 0x4a, 0x49, 0x39, 0xa7, 0x39, 0xc7, 0x42, 0x08, 0x39, 0xa7, 0x31, 0x86, 0x4a, 0x29, 0x31, 0xa6, 0x4a, 0x29, 0x31, 0x66, 0x39, 0xc7, 0x31, 0xa6, 0x39, 0xe7, 0x42, 0x08, 0x29, 0x65, 0x31, 0xa6,
0x5a, 0xcb, 0x31, 0x86, 0x31, 0xa6, 0x4a, 0x49, 0x41, 0xe8, 0x39, 0xc7, 0x4a, 0x29, 0x42, 0x28, 0x31, 0x66, 0x4a, 0x49, 0x31, 0xa6, 0x39, 0xe7, 0x31, 0x66, 0x42, 0x28, 0x31, 0x86, 0x42, 0x28, 0x31, 0x86, 0x4a, 0x49, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xa7, 0x31, 0xa6, 0x5a, 0xcb, 0x52, 0x8a, 0x31, 0x86, 0x39, 0xc7, 0x42, 0x28, 0x39, 0xc7, 0x39, 0xa7, 0x42, 0x28, 0x42, 0x08, 0x31, 0xa6, 0x4a, 0x49, 0x31, 0x86, 0x41, 0xe8, 0x31, 0xa6, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x29, 0x31, 0xa6, 0x4a, 0x49, 0x42, 0x28, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x28, 0x31, 0x86, 0x31, 0xa6, 0x5a, 0xab,
0x62, 0xec, 0x5a, 0xcb, 0x39, 0xa7, 0x31, 0x86, 0x41, 0xe8, 0x42, 0x08, 0x42, 0x28, 0x4a, 0x49, 0x31, 0x86, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xc7, 0x42, 0x28, 0x39, 0xe7, 0x31, 0x86, 0x42, 0x28, 0x31, 0x86, 0x4a, 0x29, 0x31, 0x86, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0xa6, 0x4a, 0x29, 0x31, 0x66, 0x31, 0xa6, 0x31, 0x86, 0x31, 0x66, 0x42, 0x08, 0x39, 0xa7, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0xa6, 0x42, 0x08, 0x31, 0xa6, 0x4a, 0x49, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xa7, 0x39, 0xc7, 0x42, 0x08, 0x31, 0xa6, 0x4a, 0x49, 0x42, 0x08, 0x42, 0x08, 0x39, 0xe7, 0x31, 0x86, 0x39, 0xc7, 0x5a, 0xeb, 0x63, 0x0c,
0x42, 0x08, 0x5a, 0xcb, 0x5a, 0xab, 0x31, 0xa6, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x4a, 0x29, 0x39, 0xc7, 0x31, 0xa6, 0x4a, 0x29, 0x39, 0xc7, 0x31, 0xa6, 0x31, 0x86, 0x42, 0x08, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x39, 0xa7, 0x42, 0x08, 0x4a, 0x29, 0x31, 0x86, 0x4a, 0x29, 0x31, 0x86, 0x29, 0x65, 0x31, 0x66, 0x31, 0x86, 0x42, 0x08, 0x39, 0xe7, 0x41, 0xe8, 0x42, 0x28, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xa7, 0x41, 0xe8, 0x42, 0x08, 0x29, 0x65, 0x29, 0x65, 0x29, 0x45, 0x39, 0xa7, 0x62, 0xec, 0x5a, 0xcb, 0x42, 0x08,
0x41, 0xe8, 0x39, 0xa7, 0x5a, 0xcb, 0x4a, 0x49, 0x31, 0x66, 0x29, 0x65, 0x29, 0x65, 0x39, 0xc7, 0x4a, 0x49, 0x31, 0xa6, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x08, 0x31, 0x86, 0x41, 0xe8, 0x4a, 0x29, 0x31, 0xa6, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xc7, 0x42, 0x28, 0x31, 0x86, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x66, 0x42, 0x08, 0x39, 0xe7, 0x39, 0xa7, 0x42, 0x08, 0x39, 0xc7, 0x42, 0x08, 0x39, 0xc7, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x28, 0x42, 0x08, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xa7, 0x4a, 0x29, 0x31, 0xa6, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x52, 0xaa, 0x5a, 0xab, 0x31, 0xa6, 0x39, 0xe7,
0x62, 0xec, 0x42, 0x28, 0x41, 0xe8, 0x5a, 0xeb, 0x31, 0x86, 0x31, 0x66, 0x29, 0x65, 0x29, 0x65, 0x39, 0xe7, 0x4a, 0x49, 0x39, 0xe7, 0x31, 0x86, 0x31, 0x86, 0x31, 0x86, 0x31, 0x86, 0x39, 0xe7, 0x4a, 0x69, 0x39, 0xc7, 0x31, 0x66, 0x42, 0x08, 0x4a, 0x29, 0x42, 0x08, 0x31, 0x86, 0x42, 0x08, 0x52, 0xaa, 0x5a, 0xab, 0x39, 0xe7, 0x31, 0x86, 0x42, 0x08, 0x4a, 0x29, 0x41, 0xe8, 0x31, 0x66, 0x41, 0xe8, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0x86, 0x41, 0xe8, 0x4a, 0x49, 0x39, 0xc7, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x39, 0xc7, 0x5a, 0xeb, 0x31, 0xa6, 0x42, 0x28, 0x63, 0x0c,
0x39, 0xc7, 0x5a, 0xab, 0x31, 0xa6, 0x5a, 0xcb, 0x31, 0x86, 0x31, 0xa6, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x66, 0x39, 0xa7, 0x42, 0x28, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x29, 0x39, 0xc7, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x4a, 0x69, 0x39, 0xc7, 0x39, 0xc7, 0x52, 0x8a, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x41, 0xe8, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x49, 0x42, 0x28, 0x31, 0xa6, 0x29, 0x65, 0x4a, 0x49, 0x4a, 0x29, 0x31, 0x86, 0x39, 0xe7, 0x4a, 0x49, 0x31, 0x86, 0x5a, 0xeb, 0x39, 0xc7,
0x52, 0x6a, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0xa6, 0x39, 0xe7, 0x5a, 0xcb, 0x63, 0x0c, 0x4a, 0x29, 0x31, 0x66, 0x31, 0x66, 0x29, 0x65, 0x42, 0x08, 0x42, 0x28, 0x31, 0x86, 0x39, 0xa7, 0x39, 0xa7, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x41, 0xe8, 0x39, 0xc7, 0x31, 0x86, 0x31, 0xa6, 0x4a, 0x49, 0x4a, 0x29, 0x41, 0xe8, 0x4a, 0x69, 0x39, 0xa7, 0x31, 0x86, 0x39, 0xe7, 0x41, 0xe8, 0x31, 0x86, 0x29, 0x65, 0x31, 0x86, 0x31, 0xa6, 0x39, 0xa7, 0x39, 0xa7, 0x4a, 0x29, 0x41, 0xe8, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x52, 0x8a, 0x63, 0x0c, 0x5a, 0xab, 0x39, 0xe7, 0x31, 0x86, 0x39, 0xc7, 0x5a, 0xab, 0x4a, 0x49,
0x4a, 0x49, 0x4a, 0x29, 0x39, 0xc7, 0x42, 0x08, 0x52, 0x8a, 0x42, 0x08, 0x52, 0x8a, 0x31, 0xa6, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x66, 0x41, 0xe8, 0x52, 0x6a, 0x4a, 0x69, 0x4a, 0x29, 0x31, 0xa6, 0x4a, 0x49, 0x39, 0xa7, 0x39, 0xe7, 0x4a, 0x49, 0x39, 0xc7, 0x4a, 0x49, 0x4a, 0x29, 0x52, 0x6a, 0x42, 0x08, 0x31, 0x66, 0x42, 0x08, 0x41, 0xe8, 0x42, 0x08, 0x39, 0xc7, 0x41, 0xe8, 0x39, 0xc7, 0x29, 0x65, 0x31, 0x66, 0x29, 0x65, 0x39, 0xc7, 0x5a, 0xcb, 0x42, 0x08, 0x52, 0x6a, 0x39, 0xc7, 0x39, 0xc7, 0x52, 0xaa, 0x42, 0x08,
0x31, 0x86, 0x4a, 0x69, 0x39, 0xe7, 0x52, 0x6a, 0x39, 0xa7, 0x52, 0x8a, 0x41, 0xe8, 0x31, 0xa6, 0x31, 0xa6, 0x29, 0x65, 0x29, 0x65, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xc7, 0x4a, 0x29, 0x31, 0x66, 0x39, 0xe7, 0x4a, 0x69, 0x31, 0x86, 0x52, 0x6a, 0x31, 0xa6, 0x4a, 0x49, 0x31, 0x86, 0x31, 0x66, 0x52, 0x6a, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x52, 0x8a, 0x39, 0xc7, 0x31, 0xa6, 0x42, 0x08, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xc7, 0x42, 0x08, 0x31, 0xa6, 0x31, 0x66, 0x29, 0x65, 0x31, 0xa6, 0x31, 0xa6, 0x42, 0x08, 0x52, 0xaa, 0x39, 0xe7, 0x4a, 0x69, 0x31, 0x86, 0x5a, 0xcb, 0x31, 0x66,
0x41, 0xe8, 0x52, 0x6a, 0x4a, 0x29, 0x42, 0x08, 0x5a, 0xab, 0x39, 0xc7, 0x39, 0xc7, 0x5a, 0xab, 0x63, 0x0c, 0x52, 0x8a, 0x31, 0x86, 0x31, 0x86, 0x4a, 0x29, 0x31, 0xa6, 0x31, 0x86, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x66, 0x31, 0x86, 0x4a, 0x29, 0x4a, 0x69, 0x4a, 0x69, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8, 0x42, 0x28, 0x42, 0x08, 0x41, 0xe8, 0x52, 0x6a, 0x52, 0x6a, 0x4a, 0x29, 0x31, 0x66, 0x31, 0x86, 0x42, 0x28, 0x31, 0xa6, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x31, 0x86, 0x52, 0x8a, 0x63, 0x0c, 0x5a, 0xab, 0x31, 0x86, 0x39, 0xe7, 0x52, 0x8a, 0x4a, 0x49, 0x41, 0xe8, 0x4a, 0x69, 0x42, 0x08,
0x5a, 0xcb, 0x39, 0xc7, 0x52, 0x8a, 0x4a, 0x69, 0x31, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x39, 0xe7, 0x5a, 0xcb, 0x5a, 0xab, 0x31, 0xa6, 0x39, 0xa7, 0x4a, 0x29, 0x4a, 0x29, 0x4a, 0x29, 0x31, 0x86, 0x31, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x39, 0xa7, 0x42, 0x08, 0x4a, 0x69, 0x31, 0xa6, 0x4a, 0x49, 0x4a, 0x29, 0x31, 0x86, 0x4a, 0x69, 0x42, 0x08, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x39, 0xa7, 0x4a, 0x29, 0x42, 0x28, 0x42, 0x28, 0x31, 0xa6, 0x39, 0xc7, 0x62, 0xec, 0x5a, 0xcb, 0x39, 0xc7, 0x31, 0x86, 0x39, 0xa7, 0x31, 0xa6, 0x39, 0xa7, 0x52, 0x6a, 0x5a, 0xcb, 0x31, 0xa6, 0x5a, 0xcb,
0x39, 0xe7, 0x31, 0x86, 0x41, 0xe8, 0x4a, 0x29, 0x4a, 0x69, 0x52, 0x8a, 0x52, 0x8a, 0x52, 0x8a, 0x42, 0x08, 0x31, 0xa6, 0x5a, 0xcb, 0x5a, 0xab, 0x31, 0x86, 0x29, 0x65, 0x31, 0x86, 0x31, 0x86, 0x41, 0xe8, 0x4a, 0x69, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x29, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xc7, 0x41, 0xe8, 0x41, 0xe8, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x08, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x39, 0xe7, 0x31, 0x86, 0x31, 0x86, 0x29, 0x65, 0x39, 0xa7, 0x5a, 0xeb, 0x5a, 0xcb, 0x39, 0xa7, 0x42, 0x08, 0x52, 0x8a, 0x52, 0x8a, 0x52, 0x8a, 0x4a, 0x69, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x86, 0x39, 0xc7,
0x4a, 0x49, 0x39, 0xe7, 0x52, 0x8a, 0x42, 0x08, 0x31, 0x86, 0x42, 0x08, 0x52, 0x6a, 0x42, 0x28, 0x63, 0x0c, 0x39, 0xc7, 0x41, 0xe8, 0x63, 0x0c, 0x5a, 0xab, 0x31, 0xa6, 0x29, 0x65, 0x42, 0x08, 0x5a, 0xab, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xc7, 0x31, 0x86, 0x41, 0xe8, 0x4a, 0x49, 0x41, 0xe8, 0x41, 0xe8, 0x42, 0x08, 0x42, 0x08, 0x42, 0x28, 0x41, 0xe8, 0x31, 0x66, 0x39, 0xc7, 0x4a, 0x29, 0x42, 0x08, 0x52, 0x8a, 0x39, 0xc7, 0x29, 0x65, 0x39, 0xc7, 0x5a, 0xcb, 0x63, 0x0c, 0x39, 0xc7, 0x39, 0xe7, 0x5a, 0xcb, 0x42, 0x08, 0x52, 0xaa, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x29, 0x52, 0xaa, 0x31, 0x86, 0x4a, 0x49,
0x52, 0xaa, 0x39, 0xa7, 0x52, 0xaa, 0x42, 0x28, 0x31, 0x66, 0x42, 0x08, 0x42, 0x08, 0x42, 0x28, 0x63, 0x0c, 0x39, 0xc7, 0x42, 0x08, 0x63, 0x0c, 0x52, 0x8a, 0x31, 0x86, 0x29, 0x65, 0x41, 0xe8, 0x5a, 0xab, 0x39, 0xc7, 0x41, 0xe8, 0x39, 0xe7, 0x31, 0x66, 0x42, 0x08, 0x4a, 0x49, 0x41, 0xe8, 0x42, 0x08, 0x4a, 0x49, 0x41, 0xe8, 0x42, 0x08, 0x42, 0x08, 0x31, 0x66, 0x39, 0xe7, 0x41, 0xe8, 0x42, 0x08, 0x5a, 0xab, 0x31, 0xa6, 0x31, 0x66, 0x31, 0xa6, 0x52, 0xaa, 0x63, 0x0c, 0x39, 0xe7, 0x39, 0xc7, 0x62, 0xec, 0x39, 0xc7, 0x4a, 0x29, 0x42, 0x08, 0x31, 0x66, 0x52, 0x6a, 0x52, 0x8a, 0x31, 0x86, 0x52, 0xaa,
0x31, 0x86, 0x31, 0x86, 0x39, 0xa7, 0x52, 0x6a, 0x5a, 0xab, 0x52, 0x8a, 0x5a, 0xcb, 0x5a, 0xcb, 0x39, 0xe7, 0x39, 0xa7, 0x5a, 0xcb, 0x5a, 0xab, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x31, 0x66, 0x39, 0xe7, 0x52, 0x8a, 0x4a, 0x69, 0x4a, 0x49, 0x52, 0x8a, 0x42, 0x28, 0x31, 0x86, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x08, 0x31, 0x86, 0x31, 0xa6, 0x42, 0x28, 0x52, 0x6a, 0x4a, 0x49, 0x4a, 0x69, 0x52, 0x6a, 0x39, 0xc7, 0x31, 0x66, 0x31, 0x86, 0x31, 0x66, 0x31, 0xa6, 0x5a, 0xcb, 0x5a, 0xcb, 0x31, 0xa6, 0x42, 0x08, 0x5a, 0xcb, 0x52, 0xaa, 0x52, 0x8a, 0x5a, 0xcb, 0x4a, 0x49, 0x39, 0xa7, 0x31, 0x86, 0x31, 0x86,
0x52, 0xaa, 0x41, 0xe8, 0x52, 0xaa, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xa7, 0x39, 0xa7, 0x31, 0xa6, 0x41, 0xe8, 0x5a, 0xcb, 0x5a, 0xab, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x28, 0x42, 0x08, 0x42, 0x08, 0x31, 0x86, 0x31, 0x66, 0x39, 0xa7, 0x39, 0xe7, 0x39, 0xc7, 0x41, 0xe8, 0x4a, 0x69, 0x39, 0xc7, 0x42, 0x28, 0x42, 0x28, 0x31, 0xa6, 0x4a, 0x49, 0x41, 0xe8, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0xa6, 0x31, 0x66, 0x39, 0xa7, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xc7, 0x5a, 0xcb, 0x5a, 0xcb, 0x39, 0xe7, 0x31, 0xa6, 0x39, 0xa7, 0x39, 0xa7, 0x39, 0xc7, 0x42, 0x28, 0x5a, 0xcb, 0x39, 0xc7, 0x52, 0xaa,
0x42, 0x08, 0x4a, 0x69, 0x4a, 0x29, 0x4a, 0x29, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x69, 0x5a, 0xab, 0x4a, 0x49, 0x31, 0x86, 0x31, 0xa6, 0x42, 0x28, 0x39, 0xa7, 0x39, 0xe7, 0x39, 0xe7, 0x42, 0x08, 0x29, 0x65, 0x31, 0x86, 0x4a, 0x29, 0x42, 0x08, 0x52, 0x6a, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8, 0x42, 0x08, 0x4a, 0x29, 0x41, 0xe8, 0x4a, 0x49, 0x42, 0x28, 0x4a, 0x49, 0x31, 0x86, 0x31, 0x86, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xe7, 0x39, 0xc7, 0x42, 0x28, 0x31, 0x66, 0x39, 0xa7, 0x4a, 0x49, 0x5a, 0xab, 0x4a, 0x69, 0x31, 0x66, 0x42, 0x08, 0x4a, 0x49, 0x52, 0x8a, 0x41, 0xe8, 0x4a, 0x69, 0x42, 0x08,
0x31, 0x66, 0x4a, 0x69, 0x39, 0xc7, 0x52, 0x8a, 0x39, 0xa7, 0x4a, 0x69, 0x42, 0x28, 0x31, 0x86, 0x31, 0x86, 0x31, 0x66, 0x29, 0x65, 0x42, 0x08, 0x39, 0xa7, 0x39, 0xc7, 0x42, 0x08, 0x39, 0xa7, 0x4a, 0x29, 0x31, 0x66, 0x39, 0xe7, 0x4a, 0x49, 0x31, 0x86, 0x52, 0x6a, 0x31, 0xa6, 0x4a, 0x29, 0x31, 0x86, 0x31, 0x66, 0x4a, 0x69, 0x39, 0xc7, 0x4a, 0x29, 0x31, 0x86, 0x4a, 0x49, 0x41, 0xe8, 0x31, 0x86, 0x42, 0x08, 0x39, 0xc7, 0x41, 0xe8, 0x39, 0xc7, 0x41, 0xe8, 0x39, 0xa7, 0x29, 0x65, 0x31, 0x66, 0x31, 0x86, 0x31, 0x86, 0x4a, 0x49, 0x52, 0x6a, 0x41, 0xe8, 0x4a, 0x49, 0x31, 0xa6, 0x5a, 0xab, 0x29, 0x65,
0x4a, 0x69, 0x4a, 0x29, 0x39, 0xc7, 0x39, 0xc7, 0x5a, 0xab, 0x39, 0xe7, 0x52, 0xaa, 0x39, 0xc7, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x42, 0x28, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x66, 0x39, 0xe7, 0x52, 0x8a, 0x52, 0x8a, 0x4a, 0x49, 0x31, 0xa6, 0x4a, 0x49, 0x39, 0xc7, 0x39, 0xe7, 0x4a, 0x29, 0x39, 0xe7, 0x4a, 0x49, 0x4a, 0x69, 0x52, 0x8a, 0x41, 0xe8, 0x29, 0x65, 0x42, 0x28, 0x39, 0xe7, 0x42, 0x08, 0x39, 0xc7, 0x41, 0xe8, 0x39, 0xe7, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x39, 0xe7, 0x5a, 0xcb, 0x39, 0xc7, 0x52, 0x8a, 0x39, 0xc7, 0x39, 0xc7, 0x52, 0xaa, 0x42, 0x28,
0x52, 0x6a, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0x86, 0x41, 0xe8, 0x5a, 0xcb, 0x62, 0xec, 0x42, 0x28, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x42, 0x28, 0x42, 0x08, 0x31, 0x86, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0x66, 0x31, 0x66, 0x31, 0x86, 0x42, 0x08, 0x39, 0xe7, 0x31, 0x66, 0x31, 0xa6, 0x4a, 0x49, 0x4a, 0x29, 0x41, 0xe8, 0x4a, 0x69, 0x31, 0xa6, 0x31, 0x86, 0x39, 0xe7, 0x41, 0xe8, 0x31, 0x86, 0x29, 0x65, 0x31, 0x86, 0x39, 0xe7, 0x39, 0xc7, 0x31, 0xa6, 0x4a, 0x29, 0x41, 0xe8, 0x31, 0x86, 0x31, 0x66, 0x29, 0x65, 0x52, 0x8a, 0x5a, 0xeb, 0x52, 0xaa, 0x41, 0xe8, 0x31, 0x86, 0x39, 0xc7, 0x5a, 0xcb, 0x4a, 0x49,
0x42, 0x08, 0x52, 0xaa, 0x31, 0xa6, 0x5a, 0xab, 0x31, 0x66, 0x39, 0xa7, 0x4a, 0x49, 0x41, 0xe8, 0x31, 0x66, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x28, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x66, 0x29, 0x65, 0x31, 0x66, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x4a, 0x49, 0x42, 0x08, 0x42, 0x08, 0x52, 0x8a, 0x31, 0x66, 0x31, 0x86, 0x31, 0x86, 0x31, 0x66, 0x29, 0x65, 0x31, 0x86, 0x41, 0xe8, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x28, 0x42, 0x08, 0x39, 0xc7, 0x31, 0x66, 0x4a, 0x29, 0x42, 0x28, 0x31, 0xa6, 0x39, 0xc7, 0x4a, 0x69, 0x31, 0x86, 0x5a, 0xcb, 0x42, 0x08,
0x5a, 0xeb, 0x41, 0xe8, 0x42, 0x08, 0x5a, 0xeb, 0x31, 0x66, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x42, 0x08, 0x4a, 0x29, 0x39, 0xa7, 0x31, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x49, 0x39, 0xe7, 0x31, 0x86, 0x42, 0x08, 0x42, 0x08, 0x4a, 0x29, 0x39, 0xa7, 0x39, 0xe7, 0x52, 0xaa, 0x5a, 0xab, 0x39, 0xc7, 0x39, 0xa7, 0x42, 0x08, 0x42, 0x08, 0x42, 0x28, 0x31, 0x86, 0x41, 0xe8, 0x4a, 0x29, 0x39, 0xa7, 0x31, 0x86, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xe7, 0x31, 0x66, 0x29, 0x65, 0x29, 0x65, 0x39, 0xc7, 0x5a, 0xeb, 0x39, 0xa7, 0x42, 0x08, 0x63, 0x0c,
0x39, 0xa7, 0x39, 0xc7, 0x5a, 0xeb, 0x4a, 0x49, 0x31, 0x66, 0x31, 0x66, 0x29, 0x65, 0x39, 0xc7, 0x4a, 0x49, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x29, 0x31, 0xa6, 0x39, 0xe7, 0x4a, 0x29, 0x39, 0xa7, 0x41, 0xe8, 0x39, 0xc7, 0x39, 0xa7, 0x4a, 0x29, 0x31, 0x86, 0x39, 0xc7, 0x39, 0xa7, 0x31, 0x66, 0x42, 0x28, 0x39, 0xc7, 0x31, 0xa6, 0x39, 0xe7, 0x39, 0xe7, 0x42, 0x28, 0x39, 0xa7, 0x39, 0xa7, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x4a, 0x49, 0x39, 0xa7, 0x31, 0xa6, 0x4a, 0x29, 0x31, 0xa6, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x52, 0x8a, 0x5a, 0xcb, 0x31, 0x86, 0x31, 0xa6,
0x41, 0xe8, 0x5a, 0xcb, 0x5a, 0xab, 0x31, 0x86, 0x29, 0x65, 0x31, 0x66, 0x31, 0x86, 0x4a, 0x29, 0x39, 0xa7, 0x31, 0xa6, 0x4a, 0x49, 0x39, 0xa7, 0x31, 0x86, 0x31, 0x86, 0x42, 0x08, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x39, 0xa7, 0x42, 0x08, 0x4a, 0x29, 0x31, 0x86, 0x42, 0x28, 0x31, 0x86, 0x29, 0x65, 0x31, 0x66, 0x31, 0x86, 0x42, 0x08, 0x39, 0xe7, 0x42, 0x08, 0x42, 0x08, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x41, 0xe8, 0x31, 0x66, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x49, 0x31, 0xa6, 0x39, 0xe7, 0x42, 0x08, 0x31, 0x66, 0x31, 0x66, 0x31, 0x66, 0x31, 0xa6, 0x5a, 0xcb, 0x5a, 0xcb, 0x41, 0xe8,
0x63, 0x2c, 0x52, 0xaa, 0x39, 0xa7, 0x39, 0xa7, 0x39, 0xe7, 0x41, 0xe8, 0x42, 0x08, 0x4a, 0x29, 0x31, 0x66, 0x42, 0x28, 0x39, 0xc7, 0x39, 0xc7, 0x41, 0xe8, 0x39, 0xc7, 0x31, 0x86, 0x42, 0x28, 0x31, 0x86, 0x4a, 0x49, 0x31, 0xa6, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0xc7, 0x42, 0x28, 0x31, 0x66, 0x39, 0xc7, 0x31, 0x86, 0x31, 0x66, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xe7, 0x39, 0xc7, 0x31, 0xa6, 0x42, 0x08, 0x31, 0xa6, 0x4a, 0x49, 0x31, 0x66, 0x39, 0xc7, 0x41, 0xe8, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x08, 0x31, 0xa6, 0x4a, 0x49, 0x42, 0x08, 0x42, 0x08, 0x39, 0xe7, 0x31, 0x86, 0x39, 0xc7, 0x5a, 0xcb, 0x63, 0x2c,
0x52, 0x8a, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xa7, 0x42, 0x08, 0x42, 0x08, 0x31, 0x66, 0x4a, 0x49, 0x31, 0xa6, 0x42, 0x08, 0x31, 0xa6, 0x42, 0x28, 0x31, 0x86, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x4a, 0x29, 0x39, 0xe7, 0x42, 0x08, 0x42, 0x08, 0x31, 0x86, 0x39, 0xc7, 0x5a, 0xcb, 0x52, 0xaa, 0x31, 0xa6, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x31, 0x86, 0x42, 0x08, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x66, 0x4a, 0x29, 0x31, 0x86, 0x4a, 0x49, 0x42, 0x08, 0x39, 0xa7, 0x39, 0xc7, 0x4a, 0x29, 0x31, 0xa6, 0x31, 0xa6, 0x52, 0x8a,
0x31, 0x86, 0x31, 0x86, 0x42, 0x08, 0x31, 0xa6, 0x42, 0x08, 0x41, 0xe8, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x31, 0xa6, 0x39, 0xc7, 0x42, 0x08, 0x39, 0xa7, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x4a, 0x49, 0x39, 0xe7, 0x39, 0xc7, 0x39, 0xa7, 0x31, 0x86, 0x39, 0xc7, 0x5a, 0xeb, 0x63, 0x0c, 0x63, 0x0c, 0x5a, 0xcb, 0x39, 0xc7, 0x31, 0x86, 0x39, 0xc7, 0x39, 0xe7, 0x41, 0xe8, 0x42, 0x28, 0x31, 0x86, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0xa6, 0x42, 0x08, 0x39, 0xa7, 0x31, 0x86, 0x4a, 0x29, 0x31, 0xa6, 0x4a, 0x29, 0x31, 0x86, 0x42, 0x08, 0x39, 0xe7, 0x39, 0xc7, 0x42, 0x28, 0x29, 0x65, 0x31, 0x86,
0x31, 0x66, 0x31, 0xa6, 0x41, 0xe8, 0x39, 0xc7, 0x42, 0x08, 0x39, 0xc7, 0x41, 0xe8, 0x42, 0x28, 0x31, 0x66, 0x42, 0x28, 0x42, 0x08, 0x31, 0x86, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x49, 0x31, 0xa6, 0x41, 0xe8, 0x42, 0x08, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x31, 0x86, 0x62, 0xec, 0x5a, 0xcb, 0x39, 0xc7, 0x39, 0xe7, 0x5a, 0xeb, 0x5a, 0xcb, 0x31, 0xa6, 0x31, 0x66, 0x29, 0x65, 0x31, 0x86, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xa7, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0x86, 0x31, 0x86, 0x42, 0x28, 0x42, 0x08, 0x31, 0xa6, 0x42, 0x08, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x08, 0x39, 0xa7, 0x4a, 0x49, 0x31, 0x66, 0x31, 0x66,
0x41, 0xe8, 0x31, 0x86, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xe7, 0x39, 0xc7, 0x39, 0xc7, 0x4a, 0x29, 0x39, 0xc7, 0x31, 0x86, 0x42, 0x08, 0x4a, 0x29, 0x4a, 0x29, 0x42, 0x08, 0x31, 0xa6, 0x39, 0xa7, 0x4a, 0x49, 0x31, 0xa6, 0x29, 0x65, 0x31, 0x66, 0x29, 0x65, 0x52, 0x8a, 0x5a, 0xcb, 0x31, 0xa6, 0x39, 0xe7, 0x39, 0xc7, 0x31, 0xa6, 0x5a, 0xcb, 0x4a, 0x49, 0x31, 0x66, 0x29, 0x65, 0x31, 0x66, 0x39, 0xc7, 0x4a, 0x29, 0x31, 0x86, 0x39, 0xa7, 0x42, 0x08, 0x4a, 0x29, 0x4a, 0x29, 0x42, 0x08, 0x31, 0x86, 0x42, 0x08, 0x41, 0xe8, 0x39, 0xc7, 0x42, 0x08, 0x39, 0xc7, 0x41, 0xe8, 0x42, 0x08, 0x31, 0x66, 0x42, 0x08,
0x52, 0x8a, 0x42, 0x08, 0x31, 0xa6, 0x41, 0xe8, 0x41, 0xe8, 0x41, 0xe8, 0x31, 0x86, 0x39, 0xe7, 0x4a, 0x49, 0x41, 0xe8, 0x31, 0xa6, 0x31, 0x86, 0x31, 0x86, 0x31, 0xa6, 0x41, 0xe8, 0x4a, 0x29, 0x39, 0xc7, 0x31, 0x66, 0x29, 0x65, 0x29, 0x65, 0x31, 0xa6, 0x63, 0x0c, 0x39, 0xc7, 0x42, 0x08, 0x5a, 0xeb, 0x62, 0xec, 0x42, 0x08, 0x41, 0xe8, 0x5a, 0xab, 0x31, 0x86, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x39, 0xe7, 0x4a, 0x49, 0x39, 0xe7, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x42, 0x08, 0x4a, 0x49, 0x39, 0xa7, 0x31, 0x86, 0x41, 0xe8, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x86, 0x42, 0x08, 0x52, 0xaa,
0x39, 0xc7, 0x4a, 0x69, 0x31, 0x86, 0x31, 0x66, 0x31, 0x66, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x39, 0xc7, 0x42, 0x08, 0x42, 0x08, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x49, 0x42, 0x08, 0x31, 0xa6, 0x29, 0x65, 0x4a, 0x49, 0x52, 0x8a, 0x39, 0xa7, 0x31, 0xa6, 0x52, 0xaa, 0x31, 0x86, 0x52, 0x8a, 0x41, 0xe8, 0x39, 0xc7, 0x5a, 0xcb, 0x31, 0xa6, 0x4a, 0x69, 0x31, 0x86, 0x39, 0xc7, 0x52, 0x8a, 0x4a, 0x29, 0x31, 0x66, 0x31, 0xa6, 0x42, 0x08, 0x4a, 0x29, 0x4a, 0x49, 0x4a, 0x29, 0x42, 0x08, 0x41, 0xe8, 0x39, 0xa7, 0x31, 0x66, 0x29, 0x65, 0x29, 0x65, 0x31, 0x86, 0x31, 0x66, 0x31, 0x86, 0x52, 0x8a, 0x39, 0xc7,
0x4a, 0x49, 0x42, 0x08, 0x39, 0xc7, 0x31, 0x86, 0x42, 0x08, 0x42, 0x28, 0x31, 0xa6, 0x31, 0x66, 0x31, 0x86, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0x86, 0x42, 0x28, 0x42, 0x08, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x4a, 0x49, 0x62, 0xec, 0x5a, 0xcb, 0x41, 0xe8, 0x31, 0x86, 0x31, 0xa6, 0x52, 0x8a, 0x52, 0x8a, 0x42, 0x28, 0x5a, 0xab, 0x39, 0xa7, 0x31, 0x66, 0x4a, 0x49, 0x5a, 0xeb, 0x5a, 0xeb, 0x42, 0x28, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x42, 0x08, 0x41, 0xe8, 0x31, 0x86, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0x86, 0x29, 0x65, 0x31, 0xa6, 0x42, 0x28, 0x41, 0xe8, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x69, 0x42, 0x28,
0x39, 0xe7, 0x42, 0x08, 0x39, 0xc7, 0x4a, 0x69, 0x4a, 0x69, 0x4a, 0x69, 0x42, 0x08, 0x29, 0x65, 0x4a, 0x29, 0x41, 0xe8, 0x42, 0x08, 0x39, 0xc7, 0x39, 0xc7, 0x42, 0x08, 0x29, 0x45, 0x29, 0x65, 0x29, 0x65, 0x31, 0x86, 0x5a, 0xab, 0x41, 0xe8, 0x52, 0xaa, 0x39, 0xc7, 0x31, 0xa6, 0x52, 0x8a, 0x42, 0x08, 0x42, 0x08, 0x52, 0x8a, 0x39, 0xa7, 0x42, 0x28, 0x52, 0x6a, 0x39, 0xc7, 0x5a, 0xab, 0x31, 0xa6, 0x29, 0x65, 0x29, 0x65, 0x31, 0x66, 0x42, 0x08, 0x31, 0xa6, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x41, 0xe8, 0x29, 0x65, 0x42, 0x28, 0x52, 0x8a, 0x52, 0x6a, 0x42, 0x08, 0x39, 0xe7, 0x4a, 0x49, 0x39, 0xa7,
0x31, 0x86, 0x4a, 0x29, 0x39, 0xe7, 0x42, 0x28, 0x31, 0x86, 0x4a, 0x49, 0x41, 0xe8, 0x31, 0x86, 0x4a, 0x49, 0x31, 0x86, 0x42, 0x08, 0x31, 0xa6, 0x42, 0x08, 0x39, 0xc7, 0x29, 0x65, 0x31, 0x66, 0x39, 0xc7, 0x39, 0xc7, 0x39, 0xe7, 0x52, 0x6a, 0x39, 0xe7, 0x52, 0x8a, 0x39, 0xa7, 0x52, 0x6a, 0x31, 0x86, 0x31, 0x66, 0x5a, 0xcb, 0x39, 0xc7, 0x4a, 0x49, 0x39, 0xe7, 0x52, 0xaa, 0x41, 0xe8, 0x39, 0xc7, 0x39, 0xc7, 0x29, 0x65, 0x31, 0x66, 0x39, 0xe7, 0x39, 0xc7, 0x41, 0xe8, 0x42, 0x08, 0x39, 0xc7, 0x42, 0x08, 0x31, 0x86, 0x42, 0x08, 0x4a, 0x69, 0x31, 0xa6, 0x4a, 0x49, 0x31, 0xa6, 0x52, 0x6a, 0x29, 0x65,
0x42, 0x28, 0x42, 0x08, 0x42, 0x28, 0x52, 0x6a, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x31, 0x66, 0x4a, 0x29, 0x39, 0xe7, 0x31, 0xa6, 0x39, 0xe7, 0x4a, 0x29, 0x31, 0x66, 0x39, 0xa7, 0x52, 0xaa, 0x5a, 0xcb, 0x4a, 0x69, 0x31, 0x86, 0x39, 0xc7, 0x4a, 0x69, 0x4a, 0x49, 0x4a, 0x49, 0x42, 0x28, 0x4a, 0x29, 0x4a, 0x69, 0x4a, 0x29, 0x42, 0x28, 0x52, 0x8a, 0x4a, 0x49, 0x39, 0xa7, 0x31, 0x86, 0x52, 0x6a, 0x5a, 0xcb, 0x52, 0x8a, 0x31, 0xa6, 0x31, 0x86, 0x42, 0x28, 0x39, 0xc7, 0x39, 0xa7, 0x41, 0xe8, 0x41, 0xe8, 0x31, 0x66, 0x31, 0x86, 0x42, 0x08, 0x4a, 0x49, 0x52, 0xaa, 0x39, 0xe7, 0x42, 0x08, 0x42, 0x28,
0x42, 0x28, 0x39, 0xa7, 0x4a, 0x49, 0x39, 0xc7, 0x31, 0xa6, 0x39, 0xe7, 0x39, 0xc7, 0x31, 0x86, 0x31, 0x86, 0x42, 0x28, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x39, 0xa7, 0x62, 0xec, 0x5a, 0xab, 0x31, 0xa6, 0x31, 0x86, 0x39, 0xa7, 0x39, 0xc7, 0x31, 0x86, 0x42, 0x08, 0x5a, 0xcb, 0x41, 0xe8, 0x52, 0xaa, 0x52, 0x8a, 0x39, 0xa7, 0x5a, 0xcb, 0x39, 0xe7, 0x31, 0xa6, 0x39, 0xc7, 0x39, 0xa7, 0x31, 0x86, 0x39, 0xc7, 0x5a, 0xcb, 0x5a, 0xcb, 0x39, 0xa7, 0x31, 0xa6, 0x42, 0x28, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x86, 0x31, 0x86, 0x39, 0xc7, 0x39, 0xc7, 0x31, 0xa6, 0x39, 0xe7, 0x52, 0x6a, 0x31, 0x86, 0x42, 0x08,
0x42, 0x08, 0x31, 0xa6, 0x31, 0x86, 0x4a, 0x29, 0x4a, 0x69, 0x4a, 0x49, 0x4a, 0x69, 0x52, 0x8a, 0x42, 0x08, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x31, 0xa6, 0x5a, 0xeb, 0x5a, 0xab, 0x31, 0xa6, 0x42, 0x28, 0x5a, 0xcb, 0x5a, 0xcb, 0x52, 0xaa, 0x5a, 0xcb, 0x4a, 0x49, 0x31, 0xa6, 0x31, 0x86, 0x31, 0xa6, 0x31, 0x86, 0x31, 0xa6, 0x39, 0xc7, 0x4a, 0x69, 0x5a, 0xab, 0x5a, 0xab, 0x5a, 0xcb, 0x5a, 0xcb, 0x41, 0xe8, 0x31, 0xa6, 0x5a, 0xeb, 0x5a, 0xab, 0x31, 0xa6, 0x31, 0x66, 0x29, 0x65, 0x31, 0x66, 0x42, 0x08, 0x52, 0x8a, 0x4a, 0x69, 0x4a, 0x49, 0x52, 0x6a, 0x42, 0x08, 0x31, 0xa6, 0x31, 0xa6, 0x42, 0x08,
0x41, 0xe8, 0x4a, 0x29, 0x4a, 0x29, 0x39, 0xe7, 0x29, 0x65, 0x39, 0xc7, 0x42, 0x08, 0x41, 0xe8, 0x5a, 0xab, 0x41, 0xe8, 0x29, 0x65, 0x39, 0xa7, 0x5a, 0xcb, 0x63, 0x0c, 0x41, 0xe8, 0x41, 0xe8, 0x63, 0x0c, 0x39, 0xc7, 0x4a, 0x49, 0x42, 0x08, 0x31, 0x66, 0x42, 0x28, 0x5a, 0xcb, 0x39, 0xc7, 0x4a, 0x49, 0x52, 0xaa, 0x31, 0x86, 0x52, 0xaa, 0x42, 0x08, 0x29, 0x65, 0x42, 0x28, 0x4a, 0x49, 0x42, 0x28, 0x62, 0xec, 0x31, 0xa6, 0x41, 0xe8, 0x63, 0x2c, 0x52, 0x8a, 0x31, 0x86, 0x31, 0x66, 0x41, 0xe8, 0x52, 0xaa, 0x39, 0xc7, 0x42, 0x28, 0x39, 0xa7, 0x31, 0x66, 0x4a, 0x29, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08,
#endif
#if LV_COLOR_DEPTH == 32
/*Pixel format: Fix 0xFF: 8 bit, Red: 8 bit, Green: 8 bit, Blue: 8 bit*/
0x39, 0x39, 0x39, 0xff, 0x46, 0x46, 0x46, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x43, 0x43, 0x43, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x54, 0x54, 0x54, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2a, 0x2a, 0x2a, 0xff, 0x36, 0x36, 0x36, 0xff, 0x57, 0x57, 0x57, 0xff, 0x5f, 0x5f, 0x5f, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x38, 0x38, 0x38, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x58, 0x58, 0x58, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x47, 0x47, 0x47, 0xff, 0x53, 0x53, 0x53, 0xff, 0x32, 0x32, 0x32, 0xff, 0x55, 0x55, 0x55, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x30, 0x30, 0x30, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x62, 0x62, 0x62, 0xff, 0x52, 0x52, 0x52, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x52, 0x52, 0x52, 0xff, 0x38, 0x38, 0x38, 0xff, 0x49, 0x49, 0x49, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x42, 0x42, 0x42, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3d, 0x3d, 0x3d, 0xff,
0x46, 0x46, 0x46, 0xff, 0x34, 0x34, 0x34, 0xff, 0x35, 0x35, 0x35, 0xff, 0x45, 0x45, 0x45, 0xff, 0x45, 0x45, 0x45, 0xff, 0x40, 0x40, 0x40, 0xff, 0x44, 0x44, 0x44, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x32, 0x32, 0x32, 0xff, 0x57, 0x57, 0x57, 0xff, 0x57, 0x57, 0x57, 0xff, 0x36, 0x36, 0x36, 0xff, 0x45, 0x45, 0x45, 0xff, 0x54, 0x54, 0x54, 0xff, 0x47, 0x47, 0x47, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x36, 0x36, 0x36, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x46, 0x46, 0x46, 0xff, 0x49, 0x49, 0x49, 0xff, 0x54, 0x54, 0x54, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x54, 0x54, 0x54, 0xff, 0x32, 0x32, 0x32, 0xff, 0x30, 0x30, 0x30, 0xff, 0x31, 0x31, 0x31, 0xff, 0x31, 0x31, 0x31, 0xff, 0x41, 0x41, 0x41, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x42, 0x42, 0x42, 0xff, 0x41, 0x41, 0x41, 0xff, 0x45, 0x45, 0x45, 0xff, 0x42, 0x42, 0x42, 0xff, 0x35, 0x35, 0x35, 0xff, 0x33, 0x33, 0x33, 0xff, 0x45, 0x45, 0x45, 0xff,
0x46, 0x46, 0x46, 0xff, 0x37, 0x37, 0x37, 0xff, 0x46, 0x46, 0x46, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x39, 0x39, 0x39, 0xff, 0x37, 0x37, 0x37, 0xff, 0x31, 0x31, 0x31, 0xff, 0x33, 0x33, 0x33, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x33, 0x33, 0x33, 0xff, 0x36, 0x36, 0x36, 0xff, 0x56, 0x56, 0x56, 0xff, 0x58, 0x58, 0x58, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x44, 0x44, 0x44, 0xff, 0x52, 0x52, 0x52, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x51, 0x51, 0x51, 0xff, 0x52, 0x52, 0x52, 0xff, 0x36, 0x36, 0x36, 0xff, 0x53, 0x53, 0x53, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x39, 0x39, 0x39, 0xff, 0x34, 0x34, 0x34, 0xff, 0x41, 0x41, 0x41, 0xff, 0x5c, 0x5c, 0x5c, 0xff, 0x55, 0x55, 0x55, 0xff, 0x35, 0x35, 0x35, 0xff, 0x38, 0x38, 0x38, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x40, 0x40, 0x40, 0xff, 0x33, 0x33, 0x33, 0xff, 0x33, 0x33, 0x33, 0xff, 0x39, 0x39, 0x39, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x43, 0x43, 0x43, 0xff, 0x49, 0x49, 0x49, 0xff, 0x32, 0x32, 0x32, 0xff, 0x44, 0x44, 0x44, 0xff,
0x3a, 0x3a, 0x3a, 0xff, 0x46, 0x46, 0x46, 0xff, 0x42, 0x42, 0x42, 0xff, 0x44, 0x44, 0x44, 0xff, 0x47, 0x47, 0x47, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x36, 0x36, 0x36, 0xff, 0x37, 0x37, 0x37, 0xff, 0x35, 0x35, 0x35, 0xff, 0x47, 0x47, 0x47, 0xff, 0x30, 0x30, 0x30, 0xff, 0x33, 0x33, 0x33, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x57, 0x57, 0x57, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x43, 0x43, 0x43, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x45, 0x45, 0x45, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x40, 0x40, 0x40, 0xff, 0x46, 0x46, 0x46, 0xff, 0x51, 0x51, 0x51, 0xff, 0x38, 0x38, 0x38, 0xff, 0x33, 0x33, 0x33, 0xff, 0x56, 0x56, 0x56, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x47, 0x47, 0x47, 0xff, 0x33, 0x33, 0x33, 0xff, 0x36, 0x36, 0x36, 0xff, 0x41, 0x41, 0x41, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x30, 0x30, 0x30, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3d, 0x3d, 0x3d, 0xff,
0x30, 0x30, 0x30, 0xff, 0x44, 0x44, 0x44, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x47, 0x47, 0x47, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x46, 0x46, 0x46, 0xff, 0x33, 0x33, 0x33, 0xff, 0x48, 0x48, 0x48, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x51, 0x51, 0x51, 0xff, 0x36, 0x36, 0x36, 0xff, 0x55, 0x55, 0x55, 0xff, 0x33, 0x33, 0x33, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x56, 0x56, 0x56, 0xff, 0x38, 0x38, 0x38, 0xff, 0x49, 0x49, 0x49, 0xff, 0x35, 0x35, 0x35, 0xff, 0x59, 0x59, 0x59, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x30, 0x30, 0x30, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x37, 0x37, 0x37, 0xff, 0x40, 0x40, 0x40, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x31, 0x31, 0x31, 0xff, 0x48, 0x48, 0x48, 0xff, 0x32, 0x32, 0x32, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x2d, 0x2d, 0x2d, 0xff,
0x3d, 0x3d, 0x3d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x49, 0x49, 0x49, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x43, 0x43, 0x43, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x35, 0x35, 0x35, 0xff, 0x39, 0x39, 0x39, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x33, 0x33, 0x33, 0xff, 0x57, 0x57, 0x57, 0xff, 0x40, 0x40, 0x40, 0xff, 0x51, 0x51, 0x51, 0xff, 0x39, 0x39, 0x39, 0xff, 0x34, 0x34, 0x34, 0xff, 0x50, 0x50, 0x50, 0xff, 0x40, 0x40, 0x40, 0xff, 0x40, 0x40, 0x40, 0xff, 0x52, 0x52, 0x52, 0xff, 0x33, 0x33, 0x33, 0xff, 0x42, 0x42, 0x42, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x59, 0x59, 0x59, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x42, 0x42, 0x42, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x49, 0x49, 0x49, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x49, 0x49, 0x49, 0xff, 0x39, 0x39, 0x39, 0xff,
0x44, 0x44, 0x44, 0xff, 0x42, 0x42, 0x42, 0xff, 0x38, 0x38, 0x38, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x36, 0x36, 0x36, 0xff, 0x45, 0x45, 0x45, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2a, 0x2a, 0x2a, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x61, 0x61, 0x61, 0xff, 0x52, 0x52, 0x52, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x36, 0x36, 0x36, 0xff, 0x34, 0x34, 0x34, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x40, 0x40, 0x40, 0xff, 0x57, 0x57, 0x57, 0xff, 0x35, 0x35, 0x35, 0xff, 0x32, 0x32, 0x32, 0xff, 0x46, 0x46, 0x46, 0xff, 0x53, 0x53, 0x53, 0xff, 0x5f, 0x5f, 0x5f, 0xff, 0x47, 0x47, 0x47, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x42, 0x42, 0x42, 0xff, 0x36, 0x36, 0x36, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x33, 0x33, 0x33, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x3e, 0x3e, 0x3e, 0xff,
0x3c, 0x3c, 0x3c, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x44, 0x44, 0x44, 0xff, 0x41, 0x41, 0x41, 0xff, 0x44, 0x44, 0x44, 0xff, 0x47, 0x47, 0x47, 0xff, 0x46, 0x46, 0x46, 0xff, 0x37, 0x37, 0x37, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x43, 0x43, 0x43, 0xff, 0x45, 0x45, 0x45, 0xff, 0x33, 0x33, 0x33, 0xff, 0x35, 0x35, 0x35, 0xff, 0x54, 0x54, 0x54, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x52, 0x52, 0x52, 0xff, 0x41, 0x41, 0x41, 0xff, 0x43, 0x43, 0x43, 0xff, 0x59, 0x59, 0x59, 0xff, 0x33, 0x33, 0x33, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x31, 0x31, 0x31, 0xff, 0x36, 0x36, 0x36, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x46, 0x46, 0x46, 0xff, 0x47, 0x47, 0x47, 0xff, 0x43, 0x43, 0x43, 0xff, 0x41, 0x41, 0x41, 0xff, 0x44, 0x44, 0x44, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x30, 0x30, 0x30, 0xff, 0x50, 0x50, 0x50, 0xff, 0x3e, 0x3e, 0x3e, 0xff,
0x54, 0x54, 0x54, 0xff, 0x40, 0x40, 0x40, 0xff, 0x33, 0x33, 0x33, 0xff, 0x45, 0x45, 0x45, 0xff, 0x47, 0x47, 0x47, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x37, 0x37, 0x37, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x38, 0x38, 0x38, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x5f, 0x5f, 0x5f, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x40, 0x40, 0x40, 0xff, 0x60, 0x60, 0x60, 0xff, 0x60, 0x60, 0x60, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x56, 0x56, 0x56, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x40, 0x40, 0x40, 0xff, 0x49, 0x49, 0x49, 0xff, 0x36, 0x36, 0x36, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x30, 0x30, 0x30, 0xff, 0x45, 0x45, 0x45, 0xff, 0x49, 0x49, 0x49, 0xff, 0x44, 0x44, 0x44, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x56, 0x56, 0x56, 0xff,
0x3e, 0x3e, 0x3e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x42, 0x42, 0x42, 0xff, 0x37, 0x37, 0x37, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x45, 0x45, 0x45, 0xff, 0x36, 0x36, 0x36, 0xff, 0x30, 0x30, 0x30, 0xff, 0x43, 0x43, 0x43, 0xff, 0x48, 0x48, 0x48, 0xff, 0x47, 0x47, 0x47, 0xff, 0x43, 0x43, 0x43, 0xff, 0x34, 0x34, 0x34, 0xff, 0x34, 0x34, 0x34, 0xff, 0x48, 0x48, 0x48, 0xff, 0x35, 0x35, 0x35, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x51, 0x51, 0x51, 0xff, 0x59, 0x59, 0x59, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x38, 0x38, 0x38, 0xff, 0x34, 0x34, 0x34, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x47, 0x47, 0x47, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x39, 0x39, 0x39, 0xff, 0x46, 0x46, 0x46, 0xff, 0x31, 0x31, 0x31, 0xff, 0x34, 0x34, 0x34, 0xff, 0x42, 0x42, 0x42, 0xff, 0x47, 0x47, 0x47, 0xff, 0x48, 0x48, 0x48, 0xff, 0x42, 0x42, 0x42, 0xff, 0x32, 0x32, 0x32, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x3d, 0x3d, 0x3d, 0xff,
0x2b, 0x2b, 0x2b, 0xff, 0x32, 0x32, 0x32, 0xff, 0x40, 0x40, 0x40, 0xff, 0x37, 0x37, 0x37, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x43, 0x43, 0x43, 0xff, 0x42, 0x42, 0x42, 0xff, 0x34, 0x34, 0x34, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x45, 0x45, 0x45, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x44, 0x44, 0x44, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x32, 0x32, 0x32, 0xff, 0x59, 0x59, 0x59, 0xff, 0x57, 0x57, 0x57, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x58, 0x58, 0x58, 0xff, 0x56, 0x56, 0x56, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x30, 0x30, 0x30, 0xff, 0x43, 0x43, 0x43, 0xff, 0x35, 0x35, 0x35, 0xff, 0x36, 0x36, 0x36, 0xff, 0x47, 0x47, 0x47, 0xff, 0x39, 0x39, 0x39, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x42, 0x42, 0x42, 0xff, 0x41, 0x41, 0x41, 0xff, 0x34, 0x34, 0x34, 0xff, 0x40, 0x40, 0x40, 0xff, 0x39, 0x39, 0x39, 0xff, 0x41, 0x41, 0x41, 0xff, 0x43, 0x43, 0x43, 0xff, 0x35, 0x35, 0x35, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2b, 0x2b, 0x2b, 0xff,
0x33, 0x33, 0x33, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x35, 0x35, 0x35, 0xff, 0x37, 0x37, 0x37, 0xff, 0x35, 0x35, 0x35, 0xff, 0x36, 0x36, 0x36, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x48, 0x48, 0x48, 0xff, 0x34, 0x34, 0x34, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x31, 0x31, 0x31, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x43, 0x43, 0x43, 0xff, 0x43, 0x43, 0x43, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x32, 0x32, 0x32, 0xff, 0x36, 0x36, 0x36, 0xff, 0x57, 0x57, 0x57, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x61, 0x61, 0x61, 0xff, 0x54, 0x54, 0x54, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x40, 0x40, 0x40, 0xff, 0x42, 0x42, 0x42, 0xff, 0x44, 0x44, 0x44, 0xff, 0x43, 0x43, 0x43, 0xff, 0x31, 0x31, 0x31, 0xff, 0x48, 0x48, 0x48, 0xff, 0x36, 0x36, 0x36, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x36, 0x36, 0x36, 0xff, 0x31, 0x31, 0x31, 0xff, 0x46, 0x46, 0x46, 0xff, 0x33, 0x33, 0x33, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x37, 0x37, 0x37, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x34, 0x34, 0x34, 0xff,
0x57, 0x57, 0x57, 0xff, 0x31, 0x31, 0x31, 0xff, 0x34, 0x34, 0x34, 0xff, 0x47, 0x47, 0x47, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x38, 0x38, 0x38, 0xff, 0x45, 0x45, 0x45, 0xff, 0x44, 0x44, 0x44, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x47, 0x47, 0x47, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x43, 0x43, 0x43, 0xff, 0x32, 0x32, 0x32, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x48, 0x48, 0x48, 0xff, 0x42, 0x42, 0x42, 0xff, 0x34, 0x34, 0x34, 0xff, 0x39, 0x39, 0x39, 0xff, 0x46, 0x46, 0x46, 0xff, 0x35, 0x35, 0x35, 0xff, 0x33, 0x33, 0x33, 0xff, 0x57, 0x57, 0x57, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x30, 0x30, 0x30, 0xff, 0x38, 0x38, 0x38, 0xff, 0x44, 0x44, 0x44, 0xff, 0x37, 0x37, 0x37, 0xff, 0x35, 0x35, 0x35, 0xff, 0x44, 0x44, 0x44, 0xff, 0x42, 0x42, 0x42, 0xff, 0x33, 0x33, 0x33, 0xff, 0x48, 0x48, 0x48, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x46, 0x46, 0x46, 0xff, 0x33, 0x33, 0x33, 0xff, 0x48, 0x48, 0x48, 0xff, 0x43, 0x43, 0x43, 0xff, 0x38, 0x38, 0x38, 0xff, 0x40, 0x40, 0x40, 0xff, 0x44, 0x44, 0x44, 0xff, 0x31, 0x31, 0x31, 0xff, 0x33, 0x33, 0x33, 0xff, 0x56, 0x56, 0x56, 0xff,
0x5e, 0x5e, 0x5e, 0xff, 0x57, 0x57, 0x57, 0xff, 0x35, 0x35, 0x35, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x42, 0x42, 0x42, 0xff, 0x44, 0x44, 0x44, 0xff, 0x47, 0x47, 0x47, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x41, 0x41, 0x41, 0xff, 0x39, 0x39, 0x39, 0xff, 0x39, 0x39, 0x39, 0xff, 0x43, 0x43, 0x43, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x32, 0x32, 0x32, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x46, 0x46, 0x46, 0xff, 0x32, 0x32, 0x32, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x34, 0x34, 0x34, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x42, 0x42, 0x42, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x37, 0x37, 0x37, 0xff, 0x33, 0x33, 0x33, 0xff, 0x40, 0x40, 0x40, 0xff, 0x34, 0x34, 0x34, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x45, 0x45, 0x45, 0xff, 0x35, 0x35, 0x35, 0xff, 0x39, 0x39, 0x39, 0xff, 0x42, 0x42, 0x42, 0xff, 0x34, 0x34, 0x34, 0xff, 0x47, 0x47, 0x47, 0xff, 0x41, 0x41, 0x41, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x5f, 0x5f, 0x5f, 0xff,
0x41, 0x41, 0x41, 0xff, 0x57, 0x57, 0x57, 0xff, 0x56, 0x56, 0x56, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x38, 0x38, 0x38, 0xff, 0x33, 0x33, 0x33, 0xff, 0x45, 0x45, 0x45, 0xff, 0x37, 0x37, 0x37, 0xff, 0x33, 0x33, 0x33, 0xff, 0x31, 0x31, 0x31, 0xff, 0x40, 0x40, 0x40, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x48, 0x48, 0x48, 0xff, 0x36, 0x36, 0x36, 0xff, 0x41, 0x41, 0x41, 0xff, 0x46, 0x46, 0x46, 0xff, 0x30, 0x30, 0x30, 0xff, 0x45, 0x45, 0x45, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x43, 0x43, 0x43, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x31, 0x31, 0x31, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x32, 0x32, 0x32, 0xff, 0x32, 0x32, 0x32, 0xff, 0x38, 0x38, 0x38, 0xff, 0x46, 0x46, 0x46, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2a, 0x2a, 0x2a, 0xff, 0x36, 0x36, 0x36, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x57, 0x57, 0x57, 0xff, 0x3f, 0x3f, 0x3f, 0xff,
0x3d, 0x3d, 0x3d, 0xff, 0x36, 0x36, 0x36, 0xff, 0x59, 0x59, 0x59, 0xff, 0x49, 0x49, 0x49, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x37, 0x37, 0x37, 0xff, 0x48, 0x48, 0x48, 0xff, 0x34, 0x34, 0x34, 0xff, 0x34, 0x34, 0x34, 0xff, 0x40, 0x40, 0x40, 0xff, 0x42, 0x42, 0x42, 0xff, 0x43, 0x43, 0x43, 0xff, 0x41, 0x41, 0x41, 0xff, 0x32, 0x32, 0x32, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x34, 0x34, 0x34, 0xff, 0x40, 0x40, 0x40, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x44, 0x44, 0x44, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x36, 0x36, 0x36, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x42, 0x42, 0x42, 0xff, 0x37, 0x37, 0x37, 0xff, 0x33, 0x33, 0x33, 0xff, 0x42, 0x42, 0x42, 0xff, 0x44, 0x44, 0x44, 0xff, 0x42, 0x42, 0x42, 0xff, 0x40, 0x40, 0x40, 0xff, 0x34, 0x34, 0x34, 0xff, 0x36, 0x36, 0x36, 0xff, 0x46, 0x46, 0x46, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x53, 0x53, 0x53, 0xff, 0x55, 0x55, 0x55, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3c, 0x3c, 0x3c, 0xff,
0x5e, 0x5e, 0x5e, 0xff, 0x43, 0x43, 0x43, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x39, 0x39, 0x39, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x45, 0x45, 0x45, 0xff, 0x41, 0x41, 0x41, 0xff, 0x32, 0x32, 0x32, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x54, 0x54, 0x54, 0xff, 0x56, 0x56, 0x56, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x31, 0x31, 0x31, 0xff, 0x42, 0x42, 0x42, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x47, 0x47, 0x47, 0xff, 0x38, 0x38, 0x38, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x33, 0x33, 0x33, 0xff, 0x44, 0x44, 0x44, 0xff, 0x5f, 0x5f, 0x5f, 0xff,
0x38, 0x38, 0x38, 0xff, 0x55, 0x55, 0x55, 0xff, 0x34, 0x34, 0x34, 0xff, 0x57, 0x57, 0x57, 0xff, 0x30, 0x30, 0x30, 0xff, 0x33, 0x33, 0x33, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x35, 0x35, 0x35, 0xff, 0x44, 0x44, 0x44, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x48, 0x48, 0x48, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x45, 0x45, 0x45, 0xff, 0x39, 0x39, 0x39, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x30, 0x30, 0x30, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x50, 0x50, 0x50, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x46, 0x46, 0x46, 0xff, 0x47, 0x47, 0x47, 0xff, 0x46, 0x46, 0x46, 0xff, 0x47, 0x47, 0x47, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x43, 0x43, 0x43, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x45, 0x45, 0x45, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x49, 0x49, 0x49, 0xff, 0x31, 0x31, 0x31, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x38, 0x38, 0x38, 0xff,
0x4d, 0x4d, 0x4d, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x58, 0x58, 0x58, 0xff, 0x60, 0x60, 0x60, 0xff, 0x45, 0x45, 0x45, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x42, 0x42, 0x42, 0xff, 0x43, 0x43, 0x43, 0xff, 0x32, 0x32, 0x32, 0xff, 0x36, 0x36, 0x36, 0xff, 0x35, 0x35, 0x35, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x30, 0x30, 0x30, 0xff, 0x33, 0x33, 0x33, 0xff, 0x48, 0x48, 0x48, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x35, 0x35, 0x35, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x30, 0x30, 0x30, 0xff, 0x34, 0x34, 0x34, 0xff, 0x36, 0x36, 0x36, 0xff, 0x35, 0x35, 0x35, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x60, 0x60, 0x60, 0xff, 0x55, 0x55, 0x55, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x31, 0x31, 0x31, 0xff, 0x37, 0x37, 0x37, 0xff, 0x56, 0x56, 0x56, 0xff, 0x48, 0x48, 0x48, 0xff,
0x47, 0x47, 0x47, 0xff, 0x46, 0x46, 0x46, 0xff, 0x38, 0x38, 0x38, 0xff, 0x40, 0x40, 0x40, 0xff, 0x50, 0x50, 0x50, 0xff, 0x40, 0x40, 0x40, 0xff, 0x52, 0x52, 0x52, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x42, 0x42, 0x42, 0xff, 0x34, 0x34, 0x34, 0xff, 0x37, 0x37, 0x37, 0xff, 0x41, 0x41, 0x41, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x46, 0x46, 0x46, 0xff, 0x34, 0x34, 0x34, 0xff, 0x49, 0x49, 0x49, 0xff, 0x36, 0x36, 0x36, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x47, 0x47, 0x47, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x37, 0x37, 0x37, 0xff, 0x39, 0x39, 0x39, 0xff, 0x53, 0x53, 0x53, 0xff, 0x40, 0x40, 0x40, 0xff,
0x31, 0x31, 0x31, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x36, 0x36, 0x36, 0xff, 0x51, 0x51, 0x51, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x38, 0x38, 0x38, 0xff, 0x45, 0x45, 0x45, 0xff, 0x38, 0x38, 0x38, 0xff, 0x45, 0x45, 0x45, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x30, 0x30, 0x30, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x47, 0x47, 0x47, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x42, 0x42, 0x42, 0xff, 0x32, 0x32, 0x32, 0xff, 0x50, 0x50, 0x50, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x39, 0x39, 0x39, 0xff, 0x45, 0x45, 0x45, 0xff, 0x38, 0x38, 0x38, 0xff, 0x40, 0x40, 0x40, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x53, 0x53, 0x53, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x31, 0x31, 0x31, 0xff, 0x57, 0x57, 0x57, 0xff, 0x2d, 0x2d, 0x2d, 0xff,
0x3d, 0x3d, 0x3d, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x42, 0x42, 0x42, 0xff, 0x55, 0x55, 0x55, 0xff, 0x39, 0x39, 0x39, 0xff, 0x37, 0x37, 0x37, 0xff, 0x55, 0x55, 0x55, 0xff, 0x5f, 0x5f, 0x5f, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x32, 0x32, 0x32, 0xff, 0x32, 0x32, 0x32, 0xff, 0x46, 0x46, 0x46, 0xff, 0x34, 0x34, 0x34, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x30, 0x30, 0x30, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x43, 0x43, 0x43, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x44, 0x44, 0x44, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x37, 0x37, 0x37, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x31, 0x31, 0x31, 0xff, 0x51, 0x51, 0x51, 0xff, 0x5f, 0x5f, 0x5f, 0xff, 0x55, 0x55, 0x55, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x49, 0x49, 0x49, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x42, 0x42, 0x42, 0xff,
0x57, 0x57, 0x57, 0xff, 0x39, 0x39, 0x39, 0xff, 0x51, 0x51, 0x51, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x32, 0x32, 0x32, 0xff, 0x34, 0x34, 0x34, 0xff, 0x34, 0x34, 0x34, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x56, 0x56, 0x56, 0xff, 0x34, 0x34, 0x34, 0xff, 0x35, 0x35, 0x35, 0xff, 0x46, 0x46, 0x46, 0xff, 0x45, 0x45, 0x45, 0xff, 0x45, 0x45, 0x45, 0xff, 0x31, 0x31, 0x31, 0xff, 0x30, 0x30, 0x30, 0xff, 0x33, 0x33, 0x33, 0xff, 0x34, 0x34, 0x34, 0xff, 0x36, 0x36, 0x36, 0xff, 0x42, 0x42, 0x42, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x34, 0x34, 0x34, 0xff, 0x49, 0x49, 0x49, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x41, 0x41, 0x41, 0xff, 0x33, 0x33, 0x33, 0xff, 0x34, 0x34, 0x34, 0xff, 0x34, 0x34, 0x34, 0xff, 0x30, 0x30, 0x30, 0xff, 0x36, 0x36, 0x36, 0xff, 0x46, 0x46, 0x46, 0xff, 0x44, 0x44, 0x44, 0xff, 0x44, 0x44, 0x44, 0xff, 0x33, 0x33, 0x33, 0xff, 0x38, 0x38, 0x38, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x58, 0x58, 0x58, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x35, 0x35, 0x35, 0xff, 0x34, 0x34, 0x34, 0xff, 0x36, 0x36, 0x36, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x57, 0x57, 0x57, 0xff, 0x34, 0x34, 0x34, 0xff, 0x58, 0x58, 0x58, 0xff,
0x3b, 0x3b, 0x3b, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x50, 0x50, 0x50, 0xff, 0x51, 0x51, 0x51, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x34, 0x34, 0x34, 0xff, 0x58, 0x58, 0x58, 0xff, 0x55, 0x55, 0x55, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x30, 0x30, 0x30, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x49, 0x49, 0x49, 0xff, 0x48, 0x48, 0x48, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x34, 0x34, 0x34, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x37, 0x37, 0x37, 0xff, 0x40, 0x40, 0x40, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x48, 0x48, 0x48, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x36, 0x36, 0x36, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x57, 0x57, 0x57, 0xff, 0x36, 0x36, 0x36, 0xff, 0x42, 0x42, 0x42, 0xff, 0x51, 0x51, 0x51, 0xff, 0x50, 0x50, 0x50, 0xff, 0x50, 0x50, 0x50, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x39, 0x39, 0x39, 0xff,
0x47, 0x47, 0x47, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x50, 0x50, 0x50, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x32, 0x32, 0x32, 0xff, 0x42, 0x42, 0x42, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x43, 0x43, 0x43, 0xff, 0x5f, 0x5f, 0x5f, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x60, 0x60, 0x60, 0xff, 0x55, 0x55, 0x55, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x55, 0x55, 0x55, 0xff, 0x38, 0x38, 0x38, 0xff, 0x45, 0x45, 0x45, 0xff, 0x37, 0x37, 0x37, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x40, 0x40, 0x40, 0xff, 0x40, 0x40, 0x40, 0xff, 0x43, 0x43, 0x43, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x37, 0x37, 0x37, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x52, 0x52, 0x52, 0xff, 0x38, 0x38, 0x38, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x37, 0x37, 0x37, 0xff, 0x58, 0x58, 0x58, 0xff, 0x61, 0x61, 0x61, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x54, 0x54, 0x54, 0xff, 0x42, 0x42, 0x42, 0xff, 0x32, 0x32, 0x32, 0xff, 0x46, 0x46, 0x46, 0xff, 0x53, 0x53, 0x53, 0xff, 0x31, 0x31, 0x31, 0xff, 0x49, 0x49, 0x49, 0xff,
0x53, 0x53, 0x53, 0xff, 0x36, 0x36, 0x36, 0xff, 0x53, 0x53, 0x53, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x41, 0x41, 0x41, 0xff, 0x43, 0x43, 0x43, 0xff, 0x60, 0x60, 0x60, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x62, 0x62, 0x62, 0xff, 0x50, 0x50, 0x50, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x56, 0x56, 0x56, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x42, 0x42, 0x42, 0xff, 0x47, 0x47, 0x47, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x47, 0x47, 0x47, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x56, 0x56, 0x56, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x33, 0x33, 0x33, 0xff, 0x54, 0x54, 0x54, 0xff, 0x61, 0x61, 0x61, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x46, 0x46, 0x46, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x50, 0x50, 0x50, 0xff, 0x31, 0x31, 0x31, 0xff, 0x53, 0x53, 0x53, 0xff,
0x32, 0x32, 0x32, 0xff, 0x32, 0x32, 0x32, 0xff, 0x36, 0x36, 0x36, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x55, 0x55, 0x55, 0xff, 0x52, 0x52, 0x52, 0xff, 0x57, 0x57, 0x57, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x35, 0x35, 0x35, 0xff, 0x59, 0x59, 0x59, 0xff, 0x55, 0x55, 0x55, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x51, 0x51, 0x51, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x47, 0x47, 0x47, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x44, 0x44, 0x44, 0xff, 0x30, 0x30, 0x30, 0xff, 0x34, 0x34, 0x34, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x30, 0x30, 0x30, 0xff, 0x34, 0x34, 0x34, 0xff, 0x43, 0x43, 0x43, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x47, 0x47, 0x47, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x38, 0x38, 0x38, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x59, 0x59, 0x59, 0xff, 0x33, 0x33, 0x33, 0xff, 0x42, 0x42, 0x42, 0xff, 0x59, 0x59, 0x59, 0xff, 0x54, 0x54, 0x54, 0xff, 0x50, 0x50, 0x50, 0xff, 0x57, 0x57, 0x57, 0xff, 0x48, 0x48, 0x48, 0xff, 0x35, 0x35, 0x35, 0xff, 0x32, 0x32, 0x32, 0xff, 0x32, 0x32, 0x32, 0xff,
0x54, 0x54, 0x54, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x53, 0x53, 0x53, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x35, 0x35, 0x35, 0xff, 0x35, 0x35, 0x35, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x56, 0x56, 0x56, 0xff, 0x34, 0x34, 0x34, 0xff, 0x37, 0x37, 0x37, 0xff, 0x43, 0x43, 0x43, 0xff, 0x42, 0x42, 0x42, 0xff, 0x42, 0x42, 0x42, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x37, 0x37, 0x37, 0xff, 0x43, 0x43, 0x43, 0xff, 0x43, 0x43, 0x43, 0xff, 0x34, 0x34, 0x34, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x39, 0x39, 0x39, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x36, 0x36, 0x36, 0xff, 0x42, 0x42, 0x42, 0xff, 0x42, 0x42, 0x42, 0xff, 0x41, 0x41, 0x41, 0xff, 0x33, 0x33, 0x33, 0xff, 0x38, 0x38, 0x38, 0xff, 0x58, 0x58, 0x58, 0xff, 0x59, 0x59, 0x59, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x34, 0x34, 0x34, 0xff, 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, 0xff, 0x37, 0x37, 0x37, 0xff, 0x44, 0x44, 0x44, 0xff, 0x59, 0x59, 0x59, 0xff, 0x37, 0x37, 0x37, 0xff, 0x54, 0x54, 0x54, 0xff,
0x3f, 0x3f, 0x3f, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x46, 0x46, 0x46, 0xff, 0x46, 0x46, 0x46, 0xff, 0x49, 0x49, 0x49, 0xff, 0x41, 0x41, 0x41, 0xff, 0x32, 0x32, 0x32, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x56, 0x56, 0x56, 0xff, 0x48, 0x48, 0x48, 0xff, 0x32, 0x32, 0x32, 0xff, 0x34, 0x34, 0x34, 0xff, 0x44, 0x44, 0x44, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x32, 0x32, 0x32, 0xff, 0x46, 0x46, 0x46, 0xff, 0x42, 0x42, 0x42, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x49, 0x49, 0x49, 0xff, 0x44, 0x44, 0x44, 0xff, 0x48, 0x48, 0x48, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x30, 0x30, 0x30, 0xff, 0x42, 0x42, 0x42, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x39, 0x39, 0x39, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x35, 0x35, 0x35, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x56, 0x56, 0x56, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x42, 0x42, 0x42, 0xff, 0x47, 0x47, 0x47, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x42, 0x42, 0x42, 0xff,
0x2e, 0x2e, 0x2e, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x51, 0x51, 0x51, 0xff, 0x36, 0x36, 0x36, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x44, 0x44, 0x44, 0xff, 0x32, 0x32, 0x32, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x40, 0x40, 0x40, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x36, 0x36, 0x36, 0xff, 0x45, 0x45, 0x45, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x47, 0x47, 0x47, 0xff, 0x32, 0x32, 0x32, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x33, 0x33, 0x33, 0xff, 0x46, 0x46, 0x46, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x45, 0x45, 0x45, 0xff, 0x31, 0x31, 0x31, 0xff, 0x49, 0x49, 0x49, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x32, 0x32, 0x32, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x36, 0x36, 0x36, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x31, 0x31, 0x31, 0xff, 0x47, 0x47, 0x47, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x49, 0x49, 0x49, 0xff, 0x34, 0x34, 0x34, 0xff, 0x56, 0x56, 0x56, 0xff, 0x2b, 0x2b, 0x2b, 0xff,
0x4b, 0x4b, 0x4b, 0xff, 0x46, 0x46, 0x46, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x56, 0x56, 0x56, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x53, 0x53, 0x53, 0xff, 0x37, 0x37, 0x37, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x44, 0x44, 0x44, 0xff, 0x34, 0x34, 0x34, 0xff, 0x38, 0x38, 0x38, 0xff, 0x42, 0x42, 0x42, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x50, 0x50, 0x50, 0xff, 0x48, 0x48, 0x48, 0xff, 0x33, 0x33, 0x33, 0xff, 0x48, 0x48, 0x48, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x47, 0x47, 0x47, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x50, 0x50, 0x50, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x44, 0x44, 0x44, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x42, 0x42, 0x42, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x59, 0x59, 0x59, 0xff, 0x38, 0x38, 0x38, 0xff, 0x52, 0x52, 0x52, 0xff, 0x37, 0x37, 0x37, 0xff, 0x38, 0x38, 0x38, 0xff, 0x54, 0x54, 0x54, 0xff, 0x43, 0x43, 0x43, 0xff,
0x4d, 0x4d, 0x4d, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x39, 0x39, 0x39, 0xff, 0x32, 0x32, 0x32, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x59, 0x59, 0x59, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x44, 0x44, 0x44, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x44, 0x44, 0x44, 0xff, 0x42, 0x42, 0x42, 0xff, 0x32, 0x32, 0x32, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x33, 0x33, 0x33, 0xff, 0x49, 0x49, 0x49, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x34, 0x34, 0x34, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x51, 0x51, 0x51, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x54, 0x54, 0x54, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x31, 0x31, 0x31, 0xff, 0x38, 0x38, 0x38, 0xff, 0x57, 0x57, 0x57, 0xff, 0x48, 0x48, 0x48, 0xff,
0x41, 0x41, 0x41, 0xff, 0x53, 0x53, 0x53, 0xff, 0x34, 0x34, 0x34, 0xff, 0x56, 0x56, 0x56, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x35, 0x35, 0x35, 0xff, 0x47, 0x47, 0x47, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x42, 0x42, 0x42, 0xff, 0x44, 0x44, 0x44, 0xff, 0x41, 0x41, 0x41, 0xff, 0x40, 0x40, 0x40, 0xff, 0x40, 0x40, 0x40, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x49, 0x49, 0x49, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x40, 0x40, 0x40, 0xff, 0x41, 0x41, 0x41, 0xff, 0x44, 0x44, 0x44, 0xff, 0x42, 0x42, 0x42, 0xff, 0x38, 0x38, 0x38, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x44, 0x44, 0x44, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x59, 0x59, 0x59, 0xff, 0x42, 0x42, 0x42, 0xff,
0x5c, 0x5c, 0x5c, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x40, 0x40, 0x40, 0xff, 0x46, 0x46, 0x46, 0xff, 0x36, 0x36, 0x36, 0xff, 0x31, 0x31, 0x31, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x31, 0x31, 0x31, 0xff, 0x38, 0x38, 0x38, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x30, 0x30, 0x30, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x45, 0x45, 0x45, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x53, 0x53, 0x53, 0xff, 0x56, 0x56, 0x56, 0xff, 0x39, 0x39, 0x39, 0xff, 0x35, 0x35, 0x35, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x44, 0x44, 0x44, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x46, 0x46, 0x46, 0xff, 0x36, 0x36, 0x36, 0xff, 0x31, 0x31, 0x31, 0xff, 0x33, 0x33, 0x33, 0xff, 0x33, 0x33, 0x33, 0xff, 0x31, 0x31, 0x31, 0xff, 0x37, 0x37, 0x37, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x39, 0x39, 0x39, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x36, 0x36, 0x36, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x60, 0x60, 0x60, 0xff,
0x35, 0x35, 0x35, 0xff, 0x37, 0x37, 0x37, 0xff, 0x5c, 0x5c, 0x5c, 0xff, 0x47, 0x47, 0x47, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x48, 0x48, 0x48, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x47, 0x47, 0x47, 0xff, 0x48, 0x48, 0x48, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x46, 0x46, 0x46, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x45, 0x45, 0x45, 0xff, 0x36, 0x36, 0x36, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x38, 0x38, 0x38, 0xff, 0x35, 0x35, 0x35, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x35, 0x35, 0x35, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x43, 0x43, 0x43, 0xff, 0x37, 0x37, 0x37, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x43, 0x43, 0x43, 0xff, 0x35, 0x35, 0x35, 0xff, 0x35, 0x35, 0x35, 0xff, 0x49, 0x49, 0x49, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x49, 0x49, 0x49, 0xff, 0x47, 0x47, 0x47, 0xff, 0x35, 0x35, 0x35, 0xff, 0x33, 0x33, 0x33, 0xff, 0x46, 0x46, 0x46, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x52, 0x52, 0x52, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x31, 0x31, 0x31, 0xff, 0x34, 0x34, 0x34, 0xff,
0x3e, 0x3e, 0x3e, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x55, 0x55, 0x55, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x30, 0x30, 0x30, 0xff, 0x45, 0x45, 0x45, 0xff, 0x36, 0x36, 0x36, 0xff, 0x34, 0x34, 0x34, 0xff, 0x47, 0x47, 0x47, 0xff, 0x36, 0x36, 0x36, 0xff, 0x30, 0x30, 0x30, 0xff, 0x30, 0x30, 0x30, 0xff, 0x41, 0x41, 0x41, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x48, 0x48, 0x48, 0xff, 0x36, 0x36, 0x36, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x45, 0x45, 0x45, 0xff, 0x32, 0x32, 0x32, 0xff, 0x44, 0x44, 0x44, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x31, 0x31, 0x31, 0xff, 0x49, 0x49, 0x49, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x48, 0x48, 0x48, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x3d, 0x3d, 0x3d, 0xff,
0x63, 0x63, 0x63, 0xff, 0x54, 0x54, 0x54, 0xff, 0x35, 0x35, 0x35, 0xff, 0x35, 0x35, 0x35, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x42, 0x42, 0x42, 0xff, 0x46, 0x46, 0x46, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x43, 0x43, 0x43, 0xff, 0x39, 0x39, 0x39, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x32, 0x32, 0x32, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x48, 0x48, 0x48, 0xff, 0x34, 0x34, 0x34, 0xff, 0x38, 0x38, 0x38, 0xff, 0x38, 0x38, 0x38, 0xff, 0x37, 0x37, 0x37, 0xff, 0x44, 0x44, 0x44, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x38, 0x38, 0x38, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x41, 0x41, 0x41, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x34, 0x34, 0x34, 0xff, 0x40, 0x40, 0x40, 0xff, 0x34, 0x34, 0x34, 0xff, 0x49, 0x49, 0x49, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x34, 0x34, 0x34, 0xff, 0x38, 0x38, 0x38, 0xff, 0x42, 0x42, 0x42, 0xff, 0x34, 0x34, 0x34, 0xff, 0x47, 0x47, 0x47, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x32, 0x32, 0x32, 0xff, 0x37, 0x37, 0x37, 0xff, 0x57, 0x57, 0x57, 0xff, 0x63, 0x63, 0x63, 0xff,
0x51, 0x51, 0x51, 0xff, 0x33, 0x33, 0x33, 0xff, 0x38, 0x38, 0x38, 0xff, 0x41, 0x41, 0x41, 0xff, 0x37, 0x37, 0x37, 0xff, 0x36, 0x36, 0x36, 0xff, 0x42, 0x42, 0x42, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x48, 0x48, 0x48, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x33, 0x33, 0x33, 0xff, 0x44, 0x44, 0x44, 0xff, 0x31, 0x31, 0x31, 0xff, 0x42, 0x42, 0x42, 0xff, 0x30, 0x30, 0x30, 0xff, 0x49, 0x49, 0x49, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x32, 0x32, 0x32, 0xff, 0x37, 0x37, 0x37, 0xff, 0x57, 0x57, 0x57, 0xff, 0x53, 0x53, 0x53, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x47, 0x47, 0x47, 0xff, 0x42, 0x42, 0x42, 0xff, 0x32, 0x32, 0x32, 0xff, 0x49, 0x49, 0x49, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x45, 0x45, 0x45, 0xff, 0x32, 0x32, 0x32, 0xff, 0x47, 0x47, 0x47, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x35, 0x35, 0x35, 0xff, 0x38, 0x38, 0x38, 0xff, 0x45, 0x45, 0x45, 0xff, 0x33, 0x33, 0x33, 0xff, 0x34, 0x34, 0x34, 0xff, 0x52, 0x52, 0x52, 0xff,
0x30, 0x30, 0x30, 0xff, 0x30, 0x30, 0x30, 0xff, 0x41, 0x41, 0x41, 0xff, 0x33, 0x33, 0x33, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x37, 0x37, 0x37, 0xff, 0x41, 0x41, 0x41, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x48, 0x48, 0x48, 0xff, 0x33, 0x33, 0x33, 0xff, 0x37, 0x37, 0x37, 0xff, 0x42, 0x42, 0x42, 0xff, 0x35, 0x35, 0x35, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x32, 0x32, 0x32, 0xff, 0x49, 0x49, 0x49, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x35, 0x35, 0x35, 0xff, 0x30, 0x30, 0x30, 0xff, 0x38, 0x38, 0x38, 0xff, 0x5c, 0x5c, 0x5c, 0xff, 0x61, 0x61, 0x61, 0xff, 0x62, 0x62, 0x62, 0xff, 0x59, 0x59, 0x59, 0xff, 0x37, 0x37, 0x37, 0xff, 0x30, 0x30, 0x30, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x44, 0x44, 0x44, 0xff, 0x30, 0x30, 0x30, 0xff, 0x47, 0x47, 0x47, 0xff, 0x37, 0x37, 0x37, 0xff, 0x34, 0x34, 0x34, 0xff, 0x41, 0x41, 0x41, 0xff, 0x35, 0x35, 0x35, 0xff, 0x31, 0x31, 0x31, 0xff, 0x46, 0x46, 0x46, 0xff, 0x33, 0x33, 0x33, 0xff, 0x45, 0x45, 0x45, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x38, 0x38, 0x38, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x31, 0x31, 0x31, 0xff,
0x2d, 0x2d, 0x2d, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x43, 0x43, 0x43, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x43, 0x43, 0x43, 0xff, 0x42, 0x42, 0x42, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x47, 0x47, 0x47, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x57, 0x57, 0x57, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x57, 0x57, 0x57, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x37, 0x37, 0x37, 0xff, 0x35, 0x35, 0x35, 0xff, 0x48, 0x48, 0x48, 0xff, 0x38, 0x38, 0x38, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x31, 0x31, 0x31, 0xff, 0x43, 0x43, 0x43, 0xff, 0x41, 0x41, 0x41, 0xff, 0x34, 0x34, 0x34, 0xff, 0x42, 0x42, 0x42, 0xff, 0x39, 0x39, 0x39, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x36, 0x36, 0x36, 0xff, 0x47, 0x47, 0x47, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2e, 0x2e, 0x2e, 0xff,
0x3e, 0x3e, 0x3e, 0xff, 0x31, 0x31, 0x31, 0xff, 0x40, 0x40, 0x40, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x45, 0x45, 0x45, 0xff, 0x39, 0x39, 0x39, 0xff, 0x31, 0x31, 0x31, 0xff, 0x42, 0x42, 0x42, 0xff, 0x45, 0x45, 0x45, 0xff, 0x45, 0x45, 0x45, 0xff, 0x42, 0x42, 0x42, 0xff, 0x34, 0x34, 0x34, 0xff, 0x35, 0x35, 0x35, 0xff, 0x48, 0x48, 0x48, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x52, 0x52, 0x52, 0xff, 0x59, 0x59, 0x59, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x39, 0x39, 0x39, 0xff, 0x34, 0x34, 0x34, 0xff, 0x59, 0x59, 0x59, 0xff, 0x48, 0x48, 0x48, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x38, 0x38, 0x38, 0xff, 0x45, 0x45, 0x45, 0xff, 0x32, 0x32, 0x32, 0xff, 0x35, 0x35, 0x35, 0xff, 0x42, 0x42, 0x42, 0xff, 0x45, 0x45, 0x45, 0xff, 0x46, 0x46, 0x46, 0xff, 0x42, 0x42, 0x42, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3f, 0x3f, 0x3f, 0xff,
0x52, 0x52, 0x52, 0xff, 0x41, 0x41, 0x41, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x34, 0x34, 0x34, 0xff, 0x32, 0x32, 0x32, 0xff, 0x32, 0x32, 0x32, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x46, 0x46, 0x46, 0xff, 0x39, 0x39, 0x39, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x34, 0x34, 0x34, 0xff, 0x5f, 0x5f, 0x5f, 0xff, 0x39, 0x39, 0x39, 0xff, 0x42, 0x42, 0x42, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x55, 0x55, 0x55, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x47, 0x47, 0x47, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x34, 0x34, 0x34, 0xff, 0x33, 0x33, 0x33, 0xff, 0x34, 0x34, 0x34, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x35, 0x35, 0x35, 0xff, 0x30, 0x30, 0x30, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x30, 0x30, 0x30, 0xff, 0x42, 0x42, 0x42, 0xff, 0x54, 0x54, 0x54, 0xff,
0x39, 0x39, 0x39, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x32, 0x32, 0x32, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x46, 0x46, 0x46, 0xff, 0x47, 0x47, 0x47, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x34, 0x34, 0x34, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x36, 0x36, 0x36, 0xff, 0x34, 0x34, 0x34, 0xff, 0x54, 0x54, 0x54, 0xff, 0x30, 0x30, 0x30, 0xff, 0x50, 0x50, 0x50, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x58, 0x58, 0x58, 0xff, 0x33, 0x33, 0x33, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x30, 0x30, 0x30, 0xff, 0x39, 0x39, 0x39, 0xff, 0x50, 0x50, 0x50, 0xff, 0x45, 0x45, 0x45, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x34, 0x34, 0x34, 0xff, 0x40, 0x40, 0x40, 0xff, 0x46, 0x46, 0x46, 0xff, 0x48, 0x48, 0x48, 0xff, 0x45, 0x45, 0x45, 0xff, 0x42, 0x42, 0x42, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x36, 0x36, 0x36, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x30, 0x30, 0x30, 0xff, 0x50, 0x50, 0x50, 0xff, 0x38, 0x38, 0x38, 0xff,
0x48, 0x48, 0x48, 0xff, 0x42, 0x42, 0x42, 0xff, 0x38, 0x38, 0x38, 0xff, 0x31, 0x31, 0x31, 0xff, 0x40, 0x40, 0x40, 0xff, 0x44, 0x44, 0x44, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x39, 0x39, 0x39, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x43, 0x43, 0x43, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x49, 0x49, 0x49, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x31, 0x31, 0x31, 0xff, 0x34, 0x34, 0x34, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x52, 0x52, 0x52, 0xff, 0x44, 0x44, 0x44, 0xff, 0x56, 0x56, 0x56, 0xff, 0x35, 0x35, 0x35, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x47, 0x47, 0x47, 0xff, 0x5c, 0x5c, 0x5c, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x44, 0x44, 0x44, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x30, 0x30, 0x30, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x33, 0x33, 0x33, 0xff, 0x44, 0x44, 0x44, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x44, 0x44, 0x44, 0xff,
0x3b, 0x3b, 0x3b, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x42, 0x42, 0x42, 0xff, 0x37, 0x37, 0x37, 0xff, 0x38, 0x38, 0x38, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2a, 0x2a, 0x2a, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x30, 0x30, 0x30, 0xff, 0x55, 0x55, 0x55, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x53, 0x53, 0x53, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x34, 0x34, 0x34, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x42, 0x42, 0x42, 0xff, 0x42, 0x42, 0x42, 0xff, 0x52, 0x52, 0x52, 0xff, 0x35, 0x35, 0x35, 0xff, 0x43, 0x43, 0x43, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x39, 0x39, 0x39, 0xff, 0x55, 0x55, 0x55, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x41, 0x41, 0x41, 0xff, 0x40, 0x40, 0x40, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x44, 0x44, 0x44, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x48, 0x48, 0x48, 0xff, 0x36, 0x36, 0x36, 0xff,
0x2f, 0x2f, 0x2f, 0xff, 0x46, 0x46, 0x46, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x44, 0x44, 0x44, 0xff, 0x32, 0x32, 0x32, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x30, 0x30, 0x30, 0xff, 0x48, 0x48, 0x48, 0xff, 0x30, 0x30, 0x30, 0xff, 0x42, 0x42, 0x42, 0xff, 0x34, 0x34, 0x34, 0xff, 0x41, 0x41, 0x41, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x36, 0x36, 0x36, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x57, 0x57, 0x57, 0xff, 0x37, 0x37, 0x37, 0xff, 0x47, 0x47, 0x47, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x53, 0x53, 0x53, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x39, 0x39, 0x39, 0xff, 0x38, 0x38, 0x38, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x37, 0x37, 0x37, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x34, 0x34, 0x34, 0xff, 0x48, 0x48, 0x48, 0xff, 0x33, 0x33, 0x33, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x2c, 0x2c, 0x2c, 0xff,
0x43, 0x43, 0x43, 0xff, 0x42, 0x42, 0x42, 0xff, 0x43, 0x43, 0x43, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x48, 0x48, 0x48, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x45, 0x45, 0x45, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x36, 0x36, 0x36, 0xff, 0x53, 0x53, 0x53, 0xff, 0x59, 0x59, 0x59, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x31, 0x31, 0x31, 0xff, 0x37, 0x37, 0x37, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x44, 0x44, 0x44, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x46, 0x46, 0x46, 0xff, 0x44, 0x44, 0x44, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x48, 0x48, 0x48, 0xff, 0x35, 0x35, 0x35, 0xff, 0x32, 0x32, 0x32, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x51, 0x51, 0x51, 0xff, 0x34, 0x34, 0x34, 0xff, 0x32, 0x32, 0x32, 0xff, 0x44, 0x44, 0x44, 0xff, 0x37, 0x37, 0x37, 0xff, 0x36, 0x36, 0x36, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x30, 0x30, 0x30, 0xff, 0x41, 0x41, 0x41, 0xff, 0x48, 0x48, 0x48, 0xff, 0x53, 0x53, 0x53, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x40, 0x40, 0x40, 0xff, 0x44, 0x44, 0x44, 0xff,
0x43, 0x43, 0x43, 0xff, 0x35, 0x35, 0x35, 0xff, 0x49, 0x49, 0x49, 0xff, 0x37, 0x37, 0x37, 0xff, 0x34, 0x34, 0x34, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x38, 0x38, 0x38, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x30, 0x30, 0x30, 0xff, 0x43, 0x43, 0x43, 0xff, 0x48, 0x48, 0x48, 0xff, 0x41, 0x41, 0x41, 0xff, 0x31, 0x31, 0x31, 0xff, 0x36, 0x36, 0x36, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x56, 0x56, 0x56, 0xff, 0x34, 0x34, 0x34, 0xff, 0x31, 0x31, 0x31, 0xff, 0x36, 0x36, 0x36, 0xff, 0x37, 0x37, 0x37, 0xff, 0x31, 0x31, 0x31, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x57, 0x57, 0x57, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x53, 0x53, 0x53, 0xff, 0x51, 0x51, 0x51, 0xff, 0x36, 0x36, 0x36, 0xff, 0x57, 0x57, 0x57, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x34, 0x34, 0x34, 0xff, 0x37, 0x37, 0x37, 0xff, 0x36, 0x36, 0x36, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x35, 0x35, 0x35, 0xff, 0x33, 0x33, 0x33, 0xff, 0x44, 0x44, 0x44, 0xff, 0x47, 0x47, 0x47, 0xff, 0x40, 0x40, 0x40, 0xff, 0x30, 0x30, 0x30, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x38, 0x38, 0x38, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3b, 0x3b, 0x3b, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x32, 0x32, 0x32, 0xff, 0x42, 0x42, 0x42, 0xff,
0x41, 0x41, 0x41, 0xff, 0x34, 0x34, 0x34, 0xff, 0x32, 0x32, 0x32, 0xff, 0x46, 0x46, 0x46, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x48, 0x48, 0x48, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x51, 0x51, 0x51, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x34, 0x34, 0x34, 0xff, 0x5c, 0x5c, 0x5c, 0xff, 0x56, 0x56, 0x56, 0xff, 0x33, 0x33, 0x33, 0xff, 0x44, 0x44, 0x44, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x58, 0x58, 0x58, 0xff, 0x54, 0x54, 0x54, 0xff, 0x57, 0x57, 0x57, 0xff, 0x49, 0x49, 0x49, 0xff, 0x33, 0x33, 0x33, 0xff, 0x32, 0x32, 0x32, 0xff, 0x33, 0x33, 0x33, 0xff, 0x30, 0x30, 0x30, 0xff, 0x34, 0x34, 0x34, 0xff, 0x38, 0x38, 0x38, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x56, 0x56, 0x56, 0xff, 0x55, 0x55, 0x55, 0xff, 0x58, 0x58, 0x58, 0xff, 0x59, 0x59, 0x59, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x33, 0x33, 0x33, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x56, 0x56, 0x56, 0xff, 0x33, 0x33, 0x33, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x41, 0x41, 0x41, 0xff, 0x51, 0x51, 0x51, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x49, 0x49, 0x49, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x33, 0x33, 0x33, 0xff, 0x34, 0x34, 0x34, 0xff, 0x41, 0x41, 0x41, 0xff,
0x3e, 0x3e, 0x3e, 0xff, 0x45, 0x45, 0x45, 0xff, 0x45, 0x45, 0x45, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x39, 0x39, 0x39, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x56, 0x56, 0x56, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x35, 0x35, 0x35, 0xff, 0x57, 0x57, 0x57, 0xff, 0x60, 0x60, 0x60, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x60, 0x60, 0x60, 0xff, 0x39, 0x39, 0x39, 0xff, 0x47, 0x47, 0x47, 0xff, 0x40, 0x40, 0x40, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x44, 0x44, 0x44, 0xff, 0x57, 0x57, 0x57, 0xff, 0x39, 0x39, 0x39, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x53, 0x53, 0x53, 0xff, 0x31, 0x31, 0x31, 0xff, 0x54, 0x54, 0x54, 0xff, 0x42, 0x42, 0x42, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x44, 0x44, 0x44, 0xff, 0x47, 0x47, 0x47, 0xff, 0x43, 0x43, 0x43, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x33, 0x33, 0x33, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x63, 0x63, 0x63, 0xff, 0x51, 0x51, 0x51, 0xff, 0x31, 0x31, 0x31, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x54, 0x54, 0x54, 0xff, 0x39, 0x39, 0x39, 0xff, 0x44, 0x44, 0x44, 0xff, 0x36, 0x36, 0x36, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x45, 0x45, 0x45, 0xff, 0x42, 0x42, 0x42, 0xff, 0x40, 0x40, 0x40, 0xff, 0x40, 0x40, 0x40, 0xff,
#endif
};
lv_img_dsc_t benchmark_bg = {
.header.always_zero = 0,
.header.w = 50,
.header.h = 50,
.data_size = 2500 * LV_COLOR_SIZE / 8,
.header.cf = LV_IMG_CF_TRUE_COLOR,
.data = benchmark_bg_map,
};
#endif /*LV_USE_BENCHMARK*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View File

@@ -0,0 +1,453 @@
/**
* @file demo.c
*
*/
/*********************
* INCLUDES
*********************/
#include "demo.h"
#if LV_USE_DEMO
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
static void write_create(lv_obj_t * parent);
static void text_area_event_handler(lv_obj_t * text_area, lv_event_t event);
static void keyboard_event_cb(lv_obj_t * keyboard, lv_event_t event);
#if LV_USE_ANIMATION
static void kb_hide_anim_end(lv_anim_t * a);
#endif
static void list_create(lv_obj_t * parent);
static void chart_create(lv_obj_t * parent);
static void slider_event_handler(lv_obj_t * slider, lv_event_t event);
static void list_btn_event_handler(lv_obj_t * slider, lv_event_t event);
#if LV_DEMO_SLIDE_SHOW
static void tab_switcher(void * tv);
#endif
/**********************
* STATIC VARIABLES
**********************/
static lv_obj_t * chart;
static lv_obj_t * ta;
static lv_obj_t * kb;
static lv_style_t style_kb;
static lv_style_t style_kb_rel;
static lv_style_t style_kb_pr;
#if LV_DEMO_WALLPAPER
LV_IMG_DECLARE(img_bubble_pattern)
#endif
/**********************
* MACROS
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
/**
* Create a demo application
*/
void demo_create(void)
{
lv_coord_t hres = lv_disp_get_hor_res(NULL);
lv_coord_t vres = lv_disp_get_ver_res(NULL);
#if LV_DEMO_WALLPAPER
lv_obj_t * wp = lv_img_create(lv_disp_get_scr_act(NULL), NULL);
lv_img_set_src(wp, &img_bubble_pattern);
lv_obj_set_width(wp, hres * 4);
lv_obj_set_protect(wp, LV_PROTECT_POS);
#endif
static lv_style_t style_tv_btn_bg;
lv_style_copy(&style_tv_btn_bg, &lv_style_plain);
style_tv_btn_bg.body.main_color = lv_color_hex(0x487fb7);
style_tv_btn_bg.body.grad_color = lv_color_hex(0x487fb7);
style_tv_btn_bg.body.padding.top = 0;
style_tv_btn_bg.body.padding.bottom = 0;
static lv_style_t style_tv_btn_rel;
lv_style_copy(&style_tv_btn_rel, &lv_style_btn_rel);
style_tv_btn_rel.body.opa = LV_OPA_TRANSP;
style_tv_btn_rel.body.border.width = 0;
static lv_style_t style_tv_btn_pr;
lv_style_copy(&style_tv_btn_pr, &lv_style_btn_pr);
style_tv_btn_pr.body.radius = 0;
style_tv_btn_pr.body.opa = LV_OPA_50;
style_tv_btn_pr.body.main_color = LV_COLOR_WHITE;
style_tv_btn_pr.body.grad_color = LV_COLOR_WHITE;
style_tv_btn_pr.body.border.width = 0;
style_tv_btn_pr.text.color = LV_COLOR_GRAY;
lv_obj_t * tv = lv_tabview_create(lv_disp_get_scr_act(NULL), NULL);
lv_obj_set_size(tv, hres, vres);
#if LV_DEMO_WALLPAPER
lv_obj_set_parent(wp, ((lv_tabview_ext_t *) tv->ext_attr)->content);
lv_obj_set_pos(wp, 0, -5);
#endif
lv_obj_t * tab1 = lv_tabview_add_tab(tv, "Write");
lv_obj_t * tab2 = lv_tabview_add_tab(tv, "List");
lv_obj_t * tab3 = lv_tabview_add_tab(tv, "Chart");
#if LV_DEMO_WALLPAPER == 0
/*Blue bg instead of wallpaper*/
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_BG, &style_tv_btn_bg);
#endif
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_BTN_BG, &style_tv_btn_bg);
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_INDIC, &lv_style_plain);
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_BTN_REL, &style_tv_btn_rel);
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_BTN_PR, &style_tv_btn_pr);
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_BTN_TGL_REL, &style_tv_btn_rel);
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_BTN_TGL_PR, &style_tv_btn_pr);
write_create(tab1);
list_create(tab2);
chart_create(tab3);
#if LV_DEMO_SLIDE_SHOW
lv_task_create(tab_switcher, 3000, LV_TASK_PRIO_MID, tv);
#endif
}
/**********************
* STATIC FUNCTIONS
**********************/
static void write_create(lv_obj_t * parent)
{
lv_page_set_style(parent, LV_PAGE_STYLE_BG, &lv_style_transp_fit);
lv_page_set_style(parent, LV_PAGE_STYLE_SCRL, &lv_style_transp_fit);
lv_page_set_sb_mode(parent, LV_SB_MODE_OFF);
static lv_style_t style_ta;
lv_style_copy(&style_ta, &lv_style_pretty);
style_ta.body.opa = LV_OPA_30;
style_ta.body.radius = 0;
style_ta.text.color = lv_color_hex3(0x222);
ta = lv_ta_create(parent, NULL);
lv_obj_set_size(ta, lv_page_get_scrl_width(parent), lv_obj_get_height(parent) / 2);
lv_ta_set_style(ta, LV_TA_STYLE_BG, &style_ta);
lv_ta_set_text(ta, "");
lv_obj_set_event_cb(ta, text_area_event_handler);
lv_style_copy(&style_kb, &lv_style_plain);
lv_ta_set_text_sel(ta, true);
style_kb.body.opa = LV_OPA_70;
style_kb.body.main_color = lv_color_hex3(0x333);
style_kb.body.grad_color = lv_color_hex3(0x333);
style_kb.body.padding.left = 0;
style_kb.body.padding.right = 0;
style_kb.body.padding.top = 0;
style_kb.body.padding.bottom = 0;
style_kb.body.padding.inner = 0;
lv_style_copy(&style_kb_rel, &lv_style_plain);
style_kb_rel.body.opa = LV_OPA_TRANSP;
style_kb_rel.body.radius = 0;
style_kb_rel.body.border.width = 1;
style_kb_rel.body.border.color = LV_COLOR_SILVER;
style_kb_rel.body.border.opa = LV_OPA_50;
style_kb_rel.body.main_color = lv_color_hex3(0x333); /*Recommended if LV_VDB_SIZE == 0 and bpp > 1 fonts are used*/
style_kb_rel.body.grad_color = lv_color_hex3(0x333);
style_kb_rel.text.color = LV_COLOR_WHITE;
lv_style_copy(&style_kb_pr, &lv_style_plain);
style_kb_pr.body.radius = 0;
style_kb_pr.body.opa = LV_OPA_50;
style_kb_pr.body.main_color = LV_COLOR_WHITE;
style_kb_pr.body.grad_color = LV_COLOR_WHITE;
style_kb_pr.body.border.width = 1;
style_kb_pr.body.border.color = LV_COLOR_SILVER;
}
static void text_area_event_handler(lv_obj_t * text_area, lv_event_t event)
{
(void) text_area; /*Unused*/
/*Text area is on the scrollable part of the page but we need the page itself*/
lv_obj_t * parent = lv_obj_get_parent(lv_obj_get_parent(ta));
if(event == LV_EVENT_CLICKED) {
if(kb == NULL) {
kb = lv_kb_create(parent, NULL);
lv_obj_set_size(kb, lv_obj_get_width_fit(parent), lv_obj_get_height_fit(parent) / 2);
lv_obj_align(kb, ta, LV_ALIGN_OUT_BOTTOM_MID, 0, 0);
lv_kb_set_ta(kb, ta);
lv_kb_set_style(kb, LV_KB_STYLE_BG, &style_kb);
lv_kb_set_style(kb, LV_KB_STYLE_BTN_REL, &style_kb_rel);
lv_kb_set_style(kb, LV_KB_STYLE_BTN_PR, &style_kb_pr);
lv_obj_set_event_cb(kb, keyboard_event_cb);
#if LV_USE_ANIMATION
lv_anim_t a;
a.var = kb;
a.start = LV_VER_RES;
a.end = lv_obj_get_y(kb);
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_y;
a.path_cb = lv_anim_path_linear;
a.ready_cb = NULL;
a.act_time = 0;
a.time = 300;
a.playback = 0;
a.playback_pause = 0;
a.repeat = 0;
a.repeat_pause = 0;
a.user_data = NULL;
lv_anim_create(&a);
#endif
}
}
}
/**
* Called when the close or ok button is pressed on the keyboard
* @param keyboard pointer to the keyboard
* @return
*/
static void keyboard_event_cb(lv_obj_t * keyboard, lv_event_t event)
{
(void) keyboard; /*Unused*/
lv_kb_def_event_cb(kb, event);
if(event == LV_EVENT_APPLY || event == LV_EVENT_CANCEL) {
#if LV_USE_ANIMATION
lv_anim_t a;
a.var = kb;
a.start = lv_obj_get_y(kb);
a.end = LV_VER_RES;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_y;
a.path_cb = lv_anim_path_linear;
a.ready_cb = kb_hide_anim_end;
a.act_time = 0;
a.time = 300;
a.playback = 0;
a.playback_pause = 0;
a.repeat = 0;
a.repeat_pause = 0;
a.user_data = NULL;
lv_anim_create(&a);
#else
lv_obj_del(kb);
kb = NULL;
#endif
}
}
static void list_create(lv_obj_t * parent)
{
lv_coord_t hres = lv_disp_get_hor_res(NULL);
lv_page_set_style(parent, LV_PAGE_STYLE_BG, &lv_style_transp_fit);
lv_page_set_style(parent, LV_PAGE_STYLE_SCRL, &lv_style_transp_fit);
lv_page_set_sb_mode(parent, LV_SB_MODE_OFF);
/*Create styles for the buttons*/
static lv_style_t style_btn_rel;
static lv_style_t style_btn_pr;
lv_style_copy(&style_btn_rel, &lv_style_btn_rel);
style_btn_rel.body.main_color = lv_color_hex3(0x333);
style_btn_rel.body.grad_color = LV_COLOR_BLACK;
style_btn_rel.body.border.color = LV_COLOR_SILVER;
style_btn_rel.body.border.width = 1;
style_btn_rel.body.border.opa = LV_OPA_50;
style_btn_rel.body.radius = 0;
lv_style_copy(&style_btn_pr, &style_btn_rel);
style_btn_pr.body.main_color = lv_color_make(0x55, 0x96, 0xd8);
style_btn_pr.body.grad_color = lv_color_make(0x37, 0x62, 0x90);
style_btn_pr.text.color = lv_color_make(0xbb, 0xd5, 0xf1);
lv_obj_t * list = lv_list_create(parent, NULL);
lv_obj_set_height(list, 2 * lv_obj_get_height(parent) / 3);
lv_list_set_style(list, LV_LIST_STYLE_BG, &lv_style_transp_tight);
lv_list_set_style(list, LV_LIST_STYLE_SCRL, &lv_style_transp_tight);
lv_list_set_style(list, LV_LIST_STYLE_BTN_REL, &style_btn_rel);
lv_list_set_style(list, LV_LIST_STYLE_BTN_PR, &style_btn_pr);
lv_obj_align(list, NULL, LV_ALIGN_IN_TOP_MID, 0, LV_DPI / 4);
lv_obj_t * list_btn;
list_btn = lv_list_add_btn(list, LV_SYMBOL_FILE, "New");
lv_obj_set_event_cb(list_btn, list_btn_event_handler);
list_btn = lv_list_add_btn(list, LV_SYMBOL_DIRECTORY, "Open");
lv_obj_set_event_cb(list_btn, list_btn_event_handler);
list_btn = lv_list_add_btn(list, LV_SYMBOL_TRASH, "Delete");
lv_obj_set_event_cb(list_btn, list_btn_event_handler);
list_btn = lv_list_add_btn(list, LV_SYMBOL_EDIT, "Edit");
lv_obj_set_event_cb(list_btn, list_btn_event_handler);
list_btn = lv_list_add_btn(list, LV_SYMBOL_SAVE, "Save");
lv_obj_set_event_cb(list_btn, list_btn_event_handler);
list_btn = lv_list_add_btn(list, LV_SYMBOL_WIFI, "WiFi");
lv_obj_set_event_cb(list_btn, list_btn_event_handler);
list_btn = lv_list_add_btn(list, LV_SYMBOL_GPS, "GPS");
lv_obj_set_event_cb(list_btn, list_btn_event_handler);
lv_obj_t * mbox = lv_mbox_create(parent, NULL);
lv_mbox_set_text(mbox, "Click a button to copy its text to the Text area ");
lv_obj_set_width(mbox, hres - LV_DPI);
static const char * mbox_btns[] = {"Got it", ""};
lv_mbox_add_btns(mbox, mbox_btns); /*The default action is close*/
lv_obj_align(mbox, parent, LV_ALIGN_IN_TOP_MID, 0, LV_DPI / 2);
}
#if LV_USE_ANIMATION
static void kb_hide_anim_end(lv_anim_t * a)
{
lv_obj_del(a->var);
kb = NULL;
}
#endif
static void chart_create(lv_obj_t * parent)
{
lv_coord_t vres = lv_disp_get_ver_res(NULL);
lv_page_set_style(parent, LV_PAGE_STYLE_BG, &lv_style_transp_fit);
lv_page_set_style(parent, LV_PAGE_STYLE_SCRL, &lv_style_transp_fit);
lv_page_set_scrl_height(parent, lv_obj_get_height(parent));
lv_page_set_sb_mode(parent, LV_SB_MODE_OFF);
static lv_style_t style_chart;
lv_style_copy(&style_chart, &lv_style_pretty);
style_chart.body.opa = LV_OPA_60;
style_chart.body.radius = 0;
style_chart.line.color = LV_COLOR_GRAY;
chart = lv_chart_create(parent, NULL);
lv_obj_set_size(chart, 2 * lv_obj_get_width(parent) / 3, lv_obj_get_height(parent) / 2);
lv_obj_align(chart, NULL, LV_ALIGN_IN_TOP_MID, 0, LV_DPI / 4);
lv_chart_set_type(chart, LV_CHART_TYPE_COLUMN);
lv_chart_set_style(chart, LV_CHART_STYLE_MAIN, &style_chart);
lv_chart_set_series_opa(chart, LV_OPA_70);
lv_chart_series_t * ser1;
ser1 = lv_chart_add_series(chart, LV_COLOR_RED);
lv_chart_set_next(chart, ser1, 40);
lv_chart_set_next(chart, ser1, 30);
lv_chart_set_next(chart, ser1, 47);
lv_chart_set_next(chart, ser1, 59);
lv_chart_set_next(chart, ser1, 59);
lv_chart_set_next(chart, ser1, 31);
lv_chart_set_next(chart, ser1, 55);
lv_chart_set_next(chart, ser1, 70);
lv_chart_set_next(chart, ser1, 82);
lv_chart_set_next(chart, ser1, 91);
/*Create a bar, an indicator and a knob style*/
static lv_style_t style_bar;
static lv_style_t style_indic;
static lv_style_t style_knob;
lv_style_copy(&style_bar, &lv_style_pretty);
style_bar.body.main_color = LV_COLOR_BLACK;
style_bar.body.grad_color = LV_COLOR_GRAY;
style_bar.body.radius = LV_RADIUS_CIRCLE;
style_bar.body.border.color = LV_COLOR_WHITE;
style_bar.body.opa = LV_OPA_60;
style_bar.body.padding.left = 0;
style_bar.body.padding.right = 0;
style_bar.body.padding.top = LV_DPI / 10;
style_bar.body.padding.bottom = LV_DPI / 10;
lv_style_copy(&style_indic, &lv_style_pretty);
style_indic.body.grad_color = LV_COLOR_MAROON;
style_indic.body.main_color = LV_COLOR_RED;
style_indic.body.radius = LV_RADIUS_CIRCLE;
style_indic.body.shadow.width = LV_DPI / 10;
style_indic.body.shadow.color = LV_COLOR_RED;
style_indic.body.padding.left = LV_DPI / 30;
style_indic.body.padding.right = LV_DPI / 30;
style_indic.body.padding.top = LV_DPI / 30;
style_indic.body.padding.bottom = LV_DPI / 30;
lv_style_copy(&style_knob, &lv_style_pretty);
style_knob.body.radius = LV_RADIUS_CIRCLE;
style_knob.body.opa = LV_OPA_70;
/*Create a second slider*/
lv_obj_t * slider = lv_slider_create(parent, NULL);
lv_slider_set_style(slider, LV_SLIDER_STYLE_BG, &style_bar);
lv_slider_set_style(slider, LV_SLIDER_STYLE_INDIC, &style_indic);
lv_slider_set_style(slider, LV_SLIDER_STYLE_KNOB, &style_knob);
lv_obj_set_size(slider, lv_obj_get_width(chart), LV_DPI / 3);
lv_obj_align(slider, chart, LV_ALIGN_OUT_BOTTOM_MID, 0, (vres - chart->coords.y2 - lv_obj_get_height(slider)) / 2); /*Align to below the chart*/
lv_obj_set_event_cb(slider, slider_event_handler);
lv_slider_set_range(slider, 10, 1000);
lv_slider_set_value(slider, 700, false);
slider_event_handler(slider, LV_EVENT_VALUE_CHANGED); /*Simulate a user value set the refresh the chart*/
}
/**
* Called when a new value on the slider on the Chart tab is set
* @param slider pointer to the slider
* @return LV_RES_OK because the slider is not deleted in the function
*/
static void slider_event_handler(lv_obj_t * slider, lv_event_t event)
{
if(event == LV_EVENT_VALUE_CHANGED) {
int16_t v = lv_slider_get_value(slider);
v = 1000 * 100 / v; /*Convert to range modify values linearly*/
lv_chart_set_range(chart, 0, v);
}
}
/**
* Called when a a list button is clicked on the List tab
* @param btn pointer to a list button
* @return LV_RES_OK because the button is not deleted in the function
*/
static void list_btn_event_handler(lv_obj_t * btn, lv_event_t event)
{
if(event == LV_EVENT_SHORT_CLICKED) {
lv_ta_add_char(ta, '\n');
lv_ta_add_text(ta, lv_list_get_btn_text(btn));
}
}
#if LV_DEMO_SLIDE_SHOW
/**
* Called periodically (lv_task) to switch to the next tab
*/
static void tab_switcher(void * tv)
{
static uint8_t tab = 0;
tab++;
if(tab >= 3) tab = 0;
lv_tabview_set_tab_act(tv, tab, true);
}
#endif
#endif /*LV_USE_DEMO*/

View File

@@ -0,0 +1,54 @@
/**
* @file demo.h
*
*/
#ifndef DEMO_H
#define DEMO_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lvgl.h"
#include "lv_ex_conf.h"
#else
#include "../../../lvgl/lvgl.h"
#include "../../../lv_ex_conf.h"
#endif
#if LV_USE_DEMO
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/**
* Create a demo application
*/
void demo_create(void);
/**********************
* MACROS
**********************/
#endif /*LV_USE_DEMO*/
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /*DEMO_H*/

View File

@@ -0,0 +1,7 @@
CSRCS += demo.c
CSRCS += img_bubble_pattern.c
DEPPATH += --dep-path $(LVGL_DIR)/lv_examples/lv_apps/demo
VPATH += :$(LVGL_DIR)/lv_examples/lv_apps/demo
CFLAGS += "-I$(LVGL_DIR)/lv_examples/lv_apps/demo"

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,175 @@
/**
* @file lv_sysmon.c
*
*/
/*********************
* INCLUDES
*********************/
#include "sysmon.h"
#if LV_USE_SYSMON
#include <stdio.h>
/*********************
* DEFINES
*********************/
#define CPU_LABEL_COLOR "FF0000"
#define MEM_LABEL_COLOR "0000FF"
#define CHART_POINT_NUM 100
#define REFR_TIME 500
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
static void sysmon_task(lv_task_t * param);
static void win_close_action(lv_obj_t * btn, lv_event_t event);
/**********************
* STATIC VARIABLES
**********************/
static lv_obj_t * win;
static lv_obj_t * chart;
static lv_chart_series_t * cpu_ser;
static lv_chart_series_t * mem_ser;
static lv_obj_t * info_label;
static lv_task_t * refr_task;
/**********************
* MACROS
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
/**
* Initialize the system monitor
*/
void sysmon_create(void)
{
refr_task = lv_task_create(sysmon_task, REFR_TIME, LV_TASK_PRIO_LOW, NULL);
lv_coord_t hres = lv_disp_get_hor_res(NULL);
lv_coord_t vres = lv_disp_get_ver_res(NULL);
win = lv_win_create(lv_disp_get_scr_act(NULL), NULL);
lv_obj_t * win_btn = lv_win_add_btn(win, LV_SYMBOL_CLOSE);
lv_obj_set_event_cb(win_btn, win_close_action);
/*Make the window content responsive*/
lv_win_set_layout(win, LV_LAYOUT_PRETTY);
/*Create a chart with two data lines*/
chart = lv_chart_create(win, NULL);
lv_obj_set_size(chart, hres / 2, vres / 2);
lv_obj_set_pos(chart, LV_DPI / 10, LV_DPI / 10);
lv_chart_set_point_count(chart, CHART_POINT_NUM);
lv_chart_set_range(chart, 0, 100);
lv_chart_set_type(chart, LV_CHART_TYPE_LINE);
lv_chart_set_series_width(chart, 4);
cpu_ser = lv_chart_add_series(chart, LV_COLOR_RED);
mem_ser = lv_chart_add_series(chart, LV_COLOR_BLUE);
/*Set the data series to zero*/
uint16_t i;
for(i = 0; i < CHART_POINT_NUM; i++) {
lv_chart_set_next(chart, cpu_ser, 0);
lv_chart_set_next(chart, mem_ser, 0);
}
/*Create a label for the details of Memory and CPU usage*/
info_label = lv_label_create(win, NULL);
lv_label_set_recolor(info_label, true);
lv_obj_align(info_label, chart, LV_ALIGN_OUT_RIGHT_TOP, LV_DPI / 4, 0);
/*Refresh the chart and label manually at first*/
sysmon_task(NULL);
}
/**********************
* STATIC FUNCTIONS
**********************/
/**
* Called periodically to monitor the CPU and memory usage.
* @param param unused
*/
static void sysmon_task(lv_task_t * param)
{
(void) param; /*Unused*/
LV_LOG_TRACE("sys_mon task started");
/*Get CPU and memory information */
uint8_t cpu_busy;
cpu_busy = 100 - lv_task_get_idle();
uint8_t mem_used_pct = 0;
#if LV_MEM_CUSTOM == 0
lv_mem_monitor_t mem_mon;
lv_mem_monitor(&mem_mon);
mem_used_pct = mem_mon.used_pct;
#endif
/*Add the CPU and memory data to the chart*/
lv_chart_set_next(chart, cpu_ser, cpu_busy);
lv_chart_set_next(chart, mem_ser, mem_used_pct);
/*Refresh the and windows*/
char buf_long[256];
sprintf(buf_long, "%s%s CPU: %d %%%s\n\n",
LV_TXT_COLOR_CMD,
CPU_LABEL_COLOR,
cpu_busy,
LV_TXT_COLOR_CMD);
#if LV_MEM_CUSTOM == 0
sprintf(buf_long, "%s"LV_TXT_COLOR_CMD"%s MEMORY: %d %%"LV_TXT_COLOR_CMD"\n"
"Total: %d bytes\n"
"Used: %d bytes\n"
"Free: %d bytes\n"
"Frag: %d %%",
buf_long,
MEM_LABEL_COLOR,
mem_used_pct,
(int)mem_mon.total_size,
(int)mem_mon.total_size - mem_mon.free_size, mem_mon.free_size, mem_mon.frag_pct);
#else
sprintf(buf_long, "%s"LV_TXT_COLOR_CMD"%s MEMORY: N/A"LV_TXT_COLOR_CMD,
buf_long,
MEM_LABEL_COLOR);
#endif
lv_label_set_text(info_label, buf_long);
LV_LOG_TRACE("sys_mon task finished");
}
/**
* Called when the window's close button is clicked
* @param btn pointer to the close button
* @param event the current event
*/
static void win_close_action(lv_obj_t * btn, lv_event_t event)
{
(void) btn; /*Unused*/
if(event != LV_EVENT_CLICKED) return;
lv_obj_del(win);
win = NULL;
lv_task_del(refr_task);
refr_task = NULL;
}
#endif /*LV_USE_SYMON*/

View File

@@ -0,0 +1,52 @@
/**
* @file symon.h
*
*/
#ifndef SYSMON_H
#define SYSMON_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lvgl.h"
#include "lv_ex_conf.h"
#else
#include "../../../lvgl/lvgl.h"
#include "../../../lv_ex_conf.h"
#endif
#if LV_USE_DEMO
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/**
* Initialize the system monitor
*/
void sysmon_create(void);
/**********************
* MACROS
**********************/
#endif /*LV_USE_SYSMON*/
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* SYSMON_H */

View File

@@ -0,0 +1,6 @@
CSRCS += sysmon.c
DEPPATH += --dep-path $(LVGL_DIR)/lv_examples/lv_apps/sysmon
VPATH += :$(LVGL_DIR)/lv_examples/lv_apps/sysmon
CFLAGS += "-I$(LVGL_DIR)/lv_examples/lv_apps/sysmon"

View File

@@ -0,0 +1,176 @@
/**
* @file terminal.c
*
*/
/*********************
* INCLUDES
*********************/
#include "terminal.h"
#if LV_USE_TERMINAL
/*********************
* DEFINES
*********************/
#define TERMINAL_ANIM_TIME 100 /*[ms]*/
#define TERMINAL_NO_INPUT 0 /*Do not create Text area and Keyboard*/
#define TERMINAL_LOG_LENGTH 512 /*Characters*/
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
static void clr_event_cb(lv_obj_t * btn, lv_event_t event);
static void win_close_action(lv_obj_t * btn, lv_event_t event);
/**********************
* STATIC VARIABLES
**********************/
static lv_obj_t * win;
static char txt_log[TERMINAL_LOG_LENGTH + 1];
static lv_obj_t * label;
static lv_obj_t * clr_btn;
/**********************
* MACROS
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
/**
* Open a terminal
* @return pointer to the terminal window
*/
lv_obj_t * terminal_create(void)
{
static lv_style_t style_bg;
lv_style_copy(&style_bg, &lv_style_pretty);
style_bg.body.main_color = lv_color_make(0x30, 0x30, 0x30);
style_bg.body.grad_color = lv_color_make(0x30, 0x30, 0x30);
style_bg.body.border.color = LV_COLOR_WHITE;
style_bg.text.color = lv_color_make(0xE0, 0xE0, 0xE0);
lv_coord_t hres = lv_disp_get_hor_res(NULL);
lv_coord_t vres = lv_disp_get_ver_res(NULL);
win = lv_win_create(lv_disp_get_scr_act(NULL), NULL);
lv_win_set_style(win, LV_WIN_STYLE_BG, &style_bg);
lv_obj_set_size(win, hres, vres);
lv_win_set_sb_mode(win, LV_SB_MODE_AUTO);
lv_obj_t * win_btn = lv_win_add_btn(win, LV_SYMBOL_CLOSE);
lv_obj_set_event_cb(win_btn, win_close_action);
/*Make the window's content responsive*/
lv_win_set_layout(win, LV_LAYOUT_PRETTY);
/*Create a label for the text of the terminal*/
label = lv_label_create(win, NULL);
lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
lv_obj_set_width(label, lv_win_get_width(win));
lv_label_set_static_text(label, txt_log); /*Use the text array directly*/
/*Create a clear button*/
clr_btn = lv_btn_create(win, NULL);
lv_btn_set_fit(clr_btn, LV_FIT_TIGHT);
lv_obj_set_event_cb(clr_btn, clr_event_cb);
lv_obj_t * btn_label = lv_label_create(clr_btn, NULL);
lv_label_set_text(btn_label, "Clear");
return win;
}
/**
* Add data to the terminal
* @param txt_in character sting to add to the terminal
*/
void terminal_add(const char * txt_in)
{
if(win == NULL) return; /*Check if the window is exists*/
uint16_t txt_len = strlen(txt_in);
uint16_t old_len = strlen(txt_log);
/*If the data is longer then the terminal ax size show the last part of data*/
if(txt_len > TERMINAL_LOG_LENGTH) {
txt_in += (txt_len - TERMINAL_LOG_LENGTH);
txt_len = TERMINAL_LOG_LENGTH;
old_len = 0;
}
/*If the text become too long 'forget' the oldest lines*/
else if(old_len + txt_len > TERMINAL_LOG_LENGTH) {
uint16_t new_start;
for(new_start = 0; new_start < old_len; new_start++) {
if(txt_log[new_start] == '\n') {
/*If there is enough space break*/
if(new_start >= txt_len) {
/*Ignore line breaks*/
while(txt_log[new_start] == '\n' || txt_log[new_start] == '\r') new_start++;
break;
}
}
}
/* If it wasn't able to make enough space on line breaks
* simply forget the oldest characters*/
if(new_start == old_len) {
new_start = old_len - (TERMINAL_LOG_LENGTH - txt_len);
}
/*Move the remaining text to the beginning*/
uint16_t j;
for(j = new_start; j < old_len; j++) {
txt_log[j - new_start] = txt_log[j];
}
old_len = old_len - new_start;
txt_log[old_len] = '\0';
}
memcpy(&txt_log[old_len], txt_in, txt_len);
txt_log[old_len + txt_len] = '\0';
lv_label_set_static_text(label, txt_log);
lv_win_focus(win, clr_btn, TERMINAL_ANIM_TIME);
}
/**********************
* STATIC FUNCTIONS
**********************/
/**
* Called when the Clear button is click to clear the text of the terminal
* @param btn pointer to the clear button
* @param event the current event
*/
static void clr_event_cb(lv_obj_t * btn, lv_event_t event)
{
(void) btn; /*Unused*/
if(event != LV_EVENT_CLICKED) return;
txt_log[0] = '\0';
lv_label_set_static_text(label, txt_log); /*Refresh the text*/
}
/**
* Called when the window's close button is clicked
* @param btn pointer to the close button
* @return LV_ACTION_RES_INV because the button is deleted in the function
*/
static void win_close_action(lv_obj_t * btn, lv_event_t event)
{
(void) btn; /*Unused*/
if(event != LV_EVENT_CLICKED) return;
lv_obj_del(win);
win = NULL;
}
#endif /*LV_USE_TERMINAL*/

View File

@@ -0,0 +1,60 @@
/**
* @file terminal.h
*
*/
#ifndef TERMINAL_H
#define TERMINAL_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lvgl.h"
#include "lv_ex_conf.h"
#else
#include "../../../lvgl/lvgl.h"
#include "../../../lv_ex_conf.h"
#endif
#if LV_USE_DEMO
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/**
* Open a terminal
* @return pointer to the terminal window
*/
lv_obj_t * terminal_create(void);
/**
* Add data to the terminal
* @param txt_in character sting to add to the terminal
*/
void terminal_add(const char * txt_in);
/**********************
* MACROS
**********************/
#endif /*LV_USE_TERMINAL*/
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* LV_TERMINAL_H */

View File

@@ -0,0 +1,6 @@
CSRCS += terminal.c
DEPPATH += --dep-path $(LVGL_DIR)/lv_examples/lv_apps/terminal
VPATH += :$(LVGL_DIR)/lv_examples/lv_apps/terminal
CFLAGS += "-I$(LVGL_DIR)/lv_examples/lv_apps/terminal"

View File

@@ -0,0 +1,378 @@
/**
* @file tpcal.c
*
* TOUCHPAD CALIBRATION
* ---------------------
*
* This application creates a GUI and instruct the user
* to click the four corners to get data for touchpad calibration.
*
* - You display driver should have two functions: `xxx_read` and `xxx_set_cal_data`.
* - At first run run the touchpad is not calibrated therefore your `xxx_read` function should provide raw data.
* - When the user touched all four corners you should call the `xxx_set_cal_data` function in
* ` TP_CAL_STATE_WAIT_LEAVE` state. As arguments you should pass `point[0]`, `point[1]`, `point[2]` and `point[3]`
* which are the coordinates read on corner pressing.
* - `xxx_set_cal_data` should mark the display as calibrated, save the raw coordinates
* and use them in the upcoming calls of `xxx_read` to adjust the coordinates.
* - A simple equation to adjust the coordinates: x_cal = ((x_act - x1_saved) * lcd_hor_res) / (x2_saved - x1_saved);
* - x_cal: the calibrated X coordinate
* - x_act: the currently measured X coordinate
* - x1_saved, x2_saved: The raw X coordinates saved as calibration data
*/
/*********************
* INCLUDES
*********************/
#include "tpcal.h"
#if LV_USE_TPCAL
#include <stdio.h>
/*********************
* DEFINES
*********************/
#define CIRCLE_SIZE 20
#define CIRCLE_OFFSET 20
#define TP_MAX_VALUE 5000
#define TOUCH_NUMBER 3
/**********************
* TYPEDEFS
**********************/
typedef enum {
TP_CAL_STATE_INIT,
TP_CAL_STATE_WAIT_TOP_LEFT,
TP_CAL_STATE_WAIT_TOP_RIGHT,
TP_CAL_STATE_WAIT_BOTTOM_RIGHT,
TP_CAL_STATE_WAIT_BOTTOM_LEFT,
TP_CAL_STATE_WAIT_LEAVE,
TP_CAL_STATE_READY,
} tp_cal_state_t;
/**********************
* STATIC PROTOTYPES
**********************/
static void get_avr_value(lv_point_t * p);
static void btn_event_cb(lv_obj_t * scr, lv_event_t event);
/**********************
* STATIC VARIABLES
**********************/
static lv_point_t point[4]; /*Calibration points: [0]: top-left; [1]: top-right, [2]: bottom-right, [3]: bottom-left */
static lv_point_t avr[TOUCH_NUMBER]; /*Storage point to calculate average*/
static tp_cal_state_t state;
static lv_obj_t * prev_scr;
static lv_obj_t * big_btn;
static lv_obj_t * label_main;
static lv_obj_t * circ_area;
/**********************
* MACROS
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
/**
* Create a touch pad calibration screen
*/
void tpcal_create(void)
{
state = TP_CAL_STATE_INIT;
prev_scr = lv_disp_get_scr_act(NULL);
lv_obj_t * scr = lv_obj_create(NULL, NULL);
lv_obj_set_size(scr, TP_MAX_VALUE, TP_MAX_VALUE);
lv_disp_load_scr(scr);
/*Create a big transparent button screen to receive clicks*/
big_btn = lv_btn_create(lv_disp_get_scr_act(NULL), NULL);
lv_obj_set_size(big_btn, TP_MAX_VALUE, TP_MAX_VALUE);
lv_btn_set_style(big_btn, LV_BTN_STYLE_REL, &lv_style_transp);
lv_btn_set_style(big_btn, LV_BTN_STYLE_PR, &lv_style_transp);
lv_obj_set_event_cb(big_btn, btn_event_cb);
lv_btn_set_layout(big_btn, LV_LAYOUT_OFF);
label_main = lv_label_create(lv_disp_get_scr_act(NULL), NULL);
char buf[64];
sprintf(buf, "Click the circle in\n"
"upper left-hand corner\n"
"%u left", TOUCH_NUMBER);
lv_label_set_text(label_main, buf);
lv_label_set_align(label_main, LV_LABEL_ALIGN_CENTER);
lv_coord_t hres = lv_disp_get_hor_res(NULL);
lv_coord_t vres = lv_disp_get_ver_res(NULL);
lv_obj_set_pos(label_main, (hres - lv_obj_get_width(label_main)) / 2,
(vres - lv_obj_get_height(label_main)) / 2);
static lv_style_t style_circ;
lv_style_copy(&style_circ, &lv_style_pretty_color);
style_circ.body.radius = LV_RADIUS_CIRCLE;
circ_area = lv_obj_create(lv_disp_get_scr_act(NULL), NULL);
lv_obj_set_size(circ_area, CIRCLE_SIZE, CIRCLE_SIZE);
lv_obj_set_style(circ_area, &style_circ);
lv_obj_set_click(circ_area, false);
#if LV_USE_ANIMATION
lv_anim_t a;
a.var = circ_area;
a.start = hres / 2;
a.end = CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_x;
a.path_cb = lv_anim_path_linear;
a.ready_cb = NULL;
a.act_time = -500;
a.time = 200;
a.playback = 0;
a.playback_pause = 0;
a.repeat = 0;
a.repeat_pause = 0;
lv_anim_create(&a);
a.start = vres / 2;
a.end = CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_y;
a.ready_cb = NULL;
a.time = 200;
lv_anim_create(&a);
#else
lv_obj_set_pos(circ_area, CIRCLE_OFFSET, CIRCLE_OFFSET);
#endif
state = TP_CAL_STATE_WAIT_TOP_LEFT;
}
/**********************
* STATIC FUNCTIONS
**********************/
static void get_avr_value(lv_point_t * p)
{
int32_t x_sum = 0;
int32_t y_sum = 0;
uint8_t i = 0;
for(; i < TOUCH_NUMBER ; i++) {
x_sum += avr[i].x;
y_sum += avr[i].y;
}
p->x = x_sum / TOUCH_NUMBER;
p->y = y_sum / TOUCH_NUMBER;
}
static void btn_event_cb(lv_obj_t * scr, lv_event_t event)
{
(void) scr; /*Unused*/
if(event != LV_EVENT_CLICKED) return;
lv_disp_t * disp = lv_obj_get_disp(prev_scr);
lv_coord_t hres = lv_disp_get_hor_res(disp);
lv_coord_t vres = lv_disp_get_ver_res(disp);
static uint8_t touch_nb = TOUCH_NUMBER;
if(state == TP_CAL_STATE_WAIT_TOP_LEFT) {
char buf[64];
touch_nb--;
lv_indev_t * indev = lv_indev_get_act();
lv_indev_get_point(indev, &avr[touch_nb]);
if(!touch_nb) {
touch_nb = TOUCH_NUMBER;
get_avr_value(&point[0]);
sprintf(buf, "x: %d\ny: %d", point[0].x, point[0].y);
lv_obj_t * label_coord = lv_label_create(lv_disp_get_scr_act(disp), NULL);
lv_label_set_text(label_coord, buf);
sprintf(buf, "Click the circle in\n"
"upper right-hand corner\n"
" %u Left", TOUCH_NUMBER);
#if LV_USE_ANIMATION
lv_anim_t a;
a.var = circ_area;
a.start = CIRCLE_OFFSET;
a.end = hres - CIRCLE_SIZE - CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_x;
a.path_cb = lv_anim_path_linear;
a.ready_cb = NULL;
a.act_time = 0;
a.time = 200;
a.playback = 0;
a.playback_pause = 0;
a.repeat = 0;
a.repeat_pause = 0;
lv_anim_create(&a);
a.start = CIRCLE_OFFSET;
a.end = CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_y;
a.ready_cb = NULL;
a.time = 200;
lv_anim_create(&a);
#else
lv_obj_set_pos(circ_area, LV_HOR_RES - CIRCLE_SIZE - CIRCLE_OFFSET, CIRCLE_OFFSET);
#endif
state = TP_CAL_STATE_WAIT_TOP_RIGHT;
} else {
sprintf(buf, "Click the circle in\n"
"upper left-hand corner\n"
" %u Left", touch_nb);
}
lv_label_set_text(label_main, buf);
lv_obj_set_pos(label_main, (hres - lv_obj_get_width(label_main)) / 2,
(vres - lv_obj_get_height(label_main)) / 2);
} else if(state == TP_CAL_STATE_WAIT_TOP_RIGHT) {
char buf[64];
touch_nb--;
lv_indev_t * indev = lv_indev_get_act();
lv_indev_get_point(indev, &avr[touch_nb]);
if(!touch_nb) {
touch_nb = TOUCH_NUMBER;
get_avr_value(&point[1]);
sprintf(buf, "x: %d\ny: %d", point[1].x, point[1].y);
lv_obj_t * label_coord = lv_label_create(lv_disp_get_scr_act(disp), NULL);
lv_label_set_text(label_coord, buf);
lv_obj_set_pos(label_coord, hres - lv_obj_get_width(label_coord), 0);
sprintf(buf, "Click the circle in\n"
"lower right-hand corner\n"
" %u Left", TOUCH_NUMBER);
#if LV_USE_ANIMATION
lv_anim_t a;
a.var = circ_area;
a.start = hres - CIRCLE_SIZE - CIRCLE_OFFSET;
a.end = hres - CIRCLE_SIZE - CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_x;
a.path_cb = lv_anim_path_linear;
a.ready_cb = NULL;
a.act_time = 0;
a.time = 200;
a.playback = 0;
a.playback_pause = 0;
a.repeat = 0;
a.repeat_pause = 0;
lv_anim_create(&a);
a.start = CIRCLE_OFFSET;
a.end = vres - CIRCLE_SIZE - CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_y;
a.ready_cb = NULL;
a.time = 200;
lv_anim_create(&a);
#else
lv_obj_set_pos(circ_area, hres - CIRCLE_SIZE - CIRCLE_OFFSET, vres - CIRCLE_SIZE - CIRCLE_OFFSET);
#endif
state = TP_CAL_STATE_WAIT_BOTTOM_RIGHT;
} else {
sprintf(buf, "Click the circle in\n"
"upper right-hand corner\n"
" %u Left", touch_nb);
}
lv_label_set_text(label_main, buf);
lv_obj_set_pos(label_main, (hres - lv_obj_get_width(label_main)) / 2,
(vres - lv_obj_get_height(label_main)) / 2);
} else if(state == TP_CAL_STATE_WAIT_BOTTOM_RIGHT) {
char buf[64];
touch_nb--;
lv_indev_t * indev = lv_indev_get_act();
lv_indev_get_point(indev, &avr[touch_nb]);
if(!touch_nb) {
touch_nb = TOUCH_NUMBER;
get_avr_value(&point[2]);
sprintf(buf, "x: %d\ny: %d", point[2].x, point[2].y);
lv_obj_t * label_coord = lv_label_create(scr, NULL);
lv_label_set_text(label_coord, buf);
sprintf(buf, "Click the circle in\n"
"lower left-hand corner\n"
" %u Left", TOUCH_NUMBER);
lv_obj_set_pos(label_coord, hres - lv_obj_get_width(label_coord),
vres - lv_obj_get_height(label_coord));
#if LV_USE_ANIMATION
lv_anim_t a;
a.var = circ_area;
a.start = hres - CIRCLE_SIZE - CIRCLE_OFFSET;
a.end = CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_x;
a.path_cb = lv_anim_path_linear;
a.ready_cb = NULL;
a.act_time = 0;
a.time = 200;
a.playback = 0;
a.playback_pause = 0;
a.repeat = 0;
a.repeat_pause = 0;
lv_anim_create(&a);
a.start = vres - CIRCLE_SIZE - CIRCLE_OFFSET;
a.end = vres - CIRCLE_SIZE - CIRCLE_OFFSET;
a.exec_cb = (lv_anim_exec_xcb_t)lv_obj_set_y;
a.ready_cb = NULL;
a.time = 200;
lv_anim_create(&a);
#else
lv_obj_set_pos(circ_area, CIRCLE_OFFSET, LV_VER_RES - CIRCLE_SIZE - CIRCLE_OFFSET);
#endif
state = TP_CAL_STATE_WAIT_BOTTOM_LEFT;
} else {
sprintf(buf, "Click the circle in\n"
"lower right-hand corner\n"
" %u Left", touch_nb);
}
lv_label_set_text(label_main, buf);
lv_obj_set_pos(label_main, (hres - lv_obj_get_width(label_main)) / 2,
(vres - lv_obj_get_height(label_main)) / 2);
} else if(state == TP_CAL_STATE_WAIT_BOTTOM_LEFT) {
char buf[64];
touch_nb--;
lv_indev_t * indev = lv_indev_get_act();
lv_indev_get_point(indev, &avr[touch_nb]);
if(!touch_nb) {
touch_nb = TOUCH_NUMBER;
get_avr_value(&point[3]);
sprintf(buf, "x: %d\ny: %d", point[3].x, point[3].y);
lv_obj_t * label_coord = lv_label_create(scr, NULL);
lv_label_set_text(label_coord, buf);
lv_obj_set_pos(label_coord, 0, vres - lv_obj_get_height(label_coord));
sprintf(buf, "Click the screen\n"
"to leave calibration");
lv_obj_del(circ_area);
state = TP_CAL_STATE_WAIT_LEAVE;
} else {
sprintf(buf, "Click the circle in\n"
"lower left-hand corner\n"
" %u Left", touch_nb);
}
lv_label_set_text(label_main, buf);
lv_obj_set_pos(label_main, (hres - lv_obj_get_width(label_main)) / 2,
(vres - lv_obj_get_height(label_main)) / 2);
} else if(state == TP_CAL_STATE_WAIT_LEAVE) {
lv_disp_load_scr(prev_scr);
/*
* TODO Process 'p' points here to calibrate the touch pad
* Offset will be: CIRCLE_SIZE/2 + CIRCLE_OFFSET
*/
/*
* TODO: you can change the calibrate input callback here e.g:
* lv_indev_t *indev = lv_indev_get_act();
* indev->driver.read = xxxx_input_get_calib;
*/
state = TP_CAL_STATE_READY;
} else if(state == TP_CAL_STATE_READY) {
}
}
#endif /*LV_USE_TPCAL*/

View File

@@ -0,0 +1,54 @@
/**
* @file tpcal.h
*
*/
#ifndef TPCAL_H
#define TPCAL_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lvgl.h"
#include "lv_ex_conf.h"
#else
#include "../../../lvgl/lvgl.h"
#include "../../../lv_ex_conf.h"
#endif
#if LV_USE_DEMO
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/**
* Create a touch pad calibration screen
*/
void tpcal_create(void);
/**********************
* MACROS
**********************/
#endif /*LV_USE_TPCAL*/
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /*TP_CAL_H*/

View File

@@ -0,0 +1,6 @@
CSRCS += tpcal.c
DEPPATH += --dep-path $(LVGL_DIR)/lv_examples/lv_apps/tpcal
VPATH += :$(LVGL_DIR)/lv_examples/lv_apps/tpcal
CFLAGS += "-I$(LVGL_DIR)/lv_examples/lv_apps/tpcal"