diff --git a/.gitmodules b/.gitmodules index 20fae51..fc80802 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,21 +1,30 @@ [submodule "components/arduino-esp32"] path = components/arduino-esp32 url = https://github.com/sieren/arduino-esp32.git -[submodule "main/libraries/TFT_eFEX"] - path = main/libraries/TFT_eFEX - url = https://github.com/sieren/TFT_eFEX.git [submodule "main/libraries/rapidjson"] path = main/libraries/rapidjson url = https://github.com/Tencent/rapidjson.git -[submodule "main/libraries/JPEGDecoder"] - path = main/libraries/JPEGDecoder - url = https://github.com/sieren/JPEGDecoder.git [submodule "components/ESPAsyncWebServer"] path = components/ESPAsyncWebServer url = https://github.com/me-no-dev/ESPAsyncWebServer.git [submodule "components/AsyncTCP"] path = components/AsyncTCP url = https://github.com/me-no-dev/AsyncTCP.git -[submodule "main/libraries/TFT_eSPI"] - path = main/libraries/TFT_eSPI - url = https://github.com/Bodmer/TFT_eSPI.git \ No newline at end of file +[submodule "components/lvgl_esp32_drivers"] + path = components/lvgl_esp32_drivers + url = https://github.com/usedbytes/lvgl_esp32_drivers.git +[submodule "components/lvgl"] + path = components/lvgl + url = https://github.com/lvgl/lvgl.git +[submodule "components/axp192"] + path = components/axp192 + url = https://github.com/usedbytes/axp192.git +[submodule "components/esp_i2c_helper"] + path = components/esp_i2c_helper + url = https://github.com/tuupola/esp_i2c_helper.git +[submodule "components/esp-rainmaker"] + path = components/esp-rainmaker + url = https://github.com/espressif/esp-rainmaker.git +[submodule "components/esp_littlefs"] + path = components/esp_littlefs + url = https://github.com/joltwallet/esp_littlefs.git diff --git a/.travis.yml b/.travis.yml index 5454721..a311011 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,12 +21,13 @@ install: # Get required packages - already done above, see addons: apt: packages: # - sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial # Prepare directory for the toolchain + - python3 -m pip || wget -qO- https://bootstrap.pypa.io/pip/3.5/get-pip.py | python3 - mkdir -p ~/esp - cd ~/esp # Get ESP-IDF from github - git clone --recursive https://github.com/espressif/esp-idf.git - cd esp-idf - - git checkout release/v4.0 + - git checkout cf457d41 - git submodule update --init --recursive - export IDF_PATH=~/esp/esp-idf - ./install.sh @@ -55,7 +56,5 @@ script: # Update configuration so that kconfig doesn't start interactive mode - mkdir build - cd build - - cmake ../ - - make -j 8 - - cmake -DBOARD=M5STACK ../ + - cmake -DBOARD=M5STACKCORE2 ../ - make -j 8 \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..25b0043 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,93 @@ +{ + "files.associations": { + "__bit_reference": "cpp", + "__config": "cpp", + "__debug": "cpp", + "__errc": "cpp", + "__functional_base": "cpp", + "__hash_table": "cpp", + "__locale": "cpp", + "__mutex_base": "cpp", + "__node_handle": "cpp", + "__nullptr": "cpp", + "__split_buffer": "cpp", + "__string": "cpp", + "__threading_support": "cpp", + "__tree": "cpp", + "__tuple": "cpp", + "algorithm": "cpp", + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "bitset": "cpp", + "cctype": "cpp", + "chrono": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "codecvt": "cpp", + "complex": "cpp", + "condition_variable": "cpp", + "csignal": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "exception": "cpp", + "coroutine": "cpp", + "forward_list": "cpp", + "fstream": "cpp", + "functional": "cpp", + "future": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "ios": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "iterator": "cpp", + "limits": "cpp", + "list": "cpp", + "locale": "cpp", + "map": "cpp", + "memory": "cpp", + "mutex": "cpp", + "new": "cpp", + "numeric": "cpp", + "optional": "cpp", + "ostream": "cpp", + "queue": "cpp", + "random": "cpp", + "ratio": "cpp", + "regex": "cpp", + "set": "cpp", + "shared_mutex": "cpp", + "sstream": "cpp", + "stack": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "string": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "thread": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "typeinfo": "cpp", + "unordered_map": "cpp", + "unordered_set": "cpp", + "utility": "cpp", + "variant": "cpp", + "vector": "cpp", + "*.tcc": "cpp", + "memory_resource": "cpp", + "netfwd": "cpp", + "cinttypes": "cpp", + "filesystem": "cpp", + "ranges": "cpp" + } +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index ba4cef7..5569ebe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,9 +6,10 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(CMAKE_CXX_STANDARD 17) list(APPEND compile_definitions "ARDUINO=202000") - # Ignore warning in Azure IoT Library in esp32 Arduino # pending PR: https://github.com/VSChina/ESP32_AzureIoT_Arduino/pull/15 list(APPEND compile_options "-Wno-maybe-uninitialized") +list(APPEND EXTRA_COMPONENT_DIRS components/esp-rainmaker/components/ components/lvgl_esp32_drivers components/lvgl_esp32_drivers/lvgl_touch components/lvgl_esp32_drivers/lvgl_tft) + project(homepoint) diff --git a/HomeControl.code-workspace b/HomeControl.code-workspace index 71dec59..1ecfa0c 100644 --- a/HomeControl.code-workspace +++ b/HomeControl.code-workspace @@ -62,7 +62,28 @@ "streambuf": "cpp", "system_error": "cpp", "thread": "cpp", - "cinttypes": "cpp" + "cinttypes": "cpp", + "bit": "cpp", + "bitset": "cpp", + "compare": "cpp", + "complex": "cpp", + "concepts": "cpp", + "map": "cpp", + "memory_resource": "cpp", + "netfwd": "cpp", + "random": "cpp", + "regex": "cpp", + "string": "cpp", + "iomanip": "cpp", + "iostream": "cpp", + "ranges": "cpp", + "shared_mutex": "cpp", + "stop_token": "cpp", + "variant": "cpp", + "forward_list": "cpp", + "set": "cpp", + "unordered_set": "cpp", + "*.ipp": "cpp" } } } \ No newline at end of file diff --git a/components/.DS_Store b/components/.DS_Store index 0eef184..31d2a18 100644 Binary files a/components/.DS_Store and b/components/.DS_Store differ diff --git a/components/arduino-esp32 b/components/arduino-esp32 index 8817e53..06b0367 160000 --- a/components/arduino-esp32 +++ b/components/arduino-esp32 @@ -1 +1 @@ -Subproject commit 8817e536fd741c743a7195306de182acf143579b +Subproject commit 06b03674c82d9b3fa184cbbbfbeab47bab9f7903 diff --git a/components/axp192 b/components/axp192 new file mode 160000 index 0000000..99acd4a --- /dev/null +++ b/components/axp192 @@ -0,0 +1 @@ +Subproject commit 99acd4abf4b6709da2291bfc8be09c94c6a40cec diff --git a/components/esp-rainmaker b/components/esp-rainmaker new file mode 160000 index 0000000..f1b82c7 --- /dev/null +++ b/components/esp-rainmaker @@ -0,0 +1 @@ +Subproject commit f1b82c71c4536ab816d17df016d8afe106bd60e3 diff --git a/components/esp_i2c_helper b/components/esp_i2c_helper new file mode 160000 index 0000000..6191d4a --- /dev/null +++ b/components/esp_i2c_helper @@ -0,0 +1 @@ +Subproject commit 6191d4a56a4297e0fd9e0d2d1a7341aff85f9378 diff --git a/components/esp_littlefs b/components/esp_littlefs new file mode 160000 index 0000000..b58f00c --- /dev/null +++ b/components/esp_littlefs @@ -0,0 +1 @@ +Subproject commit b58f00ce22cf796925b64fcaeff3896fb8d265df diff --git a/components/lvgl b/components/lvgl new file mode 160000 index 0000000..0bdcf36 --- /dev/null +++ b/components/lvgl @@ -0,0 +1 @@ +Subproject commit 0bdcf362ff885fea6c6f2eb23206f4d1e7c67f50 diff --git a/components/lvgl_esp32_drivers b/components/lvgl_esp32_drivers new file mode 160000 index 0000000..347aaa6 --- /dev/null +++ b/components/lvgl_esp32_drivers @@ -0,0 +1 @@ +Subproject commit 347aaa68d2c55f4a346b0883d2c0e6b2e501839b diff --git a/data/arrow_left.jpg b/data/arrow_left.jpg deleted file mode 100644 index 19890be..0000000 Binary files a/data/arrow_left.jpg and /dev/null differ diff --git a/data/arrow_right.jpg b/data/arrow_right.jpg deleted file mode 100644 index b0a6201..0000000 Binary files a/data/arrow_right.jpg and /dev/null differ diff --git a/data/bedroom_active.jpg b/data/bedroom_active.jpg deleted file mode 100644 index ed898e6..0000000 Binary files a/data/bedroom_active.jpg and /dev/null differ diff --git a/data/bedroom_inactive.jpg b/data/bedroom_inactive.jpg deleted file mode 100644 index 57be758..0000000 Binary files a/data/bedroom_inactive.jpg and /dev/null differ diff --git a/data/door_active.jpg b/data/door_active.jpg deleted file mode 100644 index 027b37f..0000000 Binary files a/data/door_active.jpg and /dev/null differ diff --git a/data/door_inactive.jpg b/data/door_inactive.jpg deleted file mode 100644 index ee9847c..0000000 Binary files a/data/door_inactive.jpg and /dev/null differ diff --git a/data/exitbutton.bin b/data/exitbutton.bin new file mode 100644 index 0000000..1462639 Binary files /dev/null and b/data/exitbutton.bin differ diff --git a/data/fan_active.jpg b/data/fan_active.jpg deleted file mode 100644 index 3e8ce92..0000000 Binary files a/data/fan_active.jpg and /dev/null differ diff --git a/data/fan_inactive.jpg b/data/fan_inactive.jpg deleted file mode 100644 index 432c47e..0000000 Binary files a/data/fan_inactive.jpg and /dev/null differ diff --git a/data/fountain_active.jpg b/data/fountain_active.jpg deleted file mode 100644 index c86c37f..0000000 Binary files a/data/fountain_active.jpg and /dev/null differ diff --git a/data/fountain_inactive.jpg b/data/fountain_inactive.jpg deleted file mode 100644 index f4877eb..0000000 Binary files a/data/fountain_inactive.jpg and /dev/null differ diff --git a/data/garden_active.jpg b/data/garden_active.jpg deleted file mode 100644 index dd4b267..0000000 Binary files a/data/garden_active.jpg and /dev/null differ diff --git a/data/garden_inactive.jpg b/data/garden_inactive.jpg deleted file mode 100644 index 3f8b49f..0000000 Binary files a/data/garden_inactive.jpg and /dev/null differ diff --git a/data/humidity_small.bin b/data/humidity_small.bin new file mode 100644 index 0000000..96d10c6 Binary files /dev/null and b/data/humidity_small.bin differ diff --git a/data/humidity_small.jpg b/data/humidity_small.jpg deleted file mode 100644 index 13f245a..0000000 Binary files a/data/humidity_small.jpg and /dev/null differ diff --git a/data/kitchen_active.jpg b/data/kitchen_active.jpg deleted file mode 100644 index 3cb3db0..0000000 Binary files a/data/kitchen_active.jpg and /dev/null differ diff --git a/data/kitchen_inactive.jpg b/data/kitchen_inactive.jpg deleted file mode 100644 index 36353f9..0000000 Binary files a/data/kitchen_inactive.jpg and /dev/null differ diff --git a/data/livingroom_active.jpg b/data/livingroom_active.jpg deleted file mode 100644 index e6d3237..0000000 Binary files a/data/livingroom_active.jpg and /dev/null differ diff --git a/data/livingroom_inactive.jpg b/data/livingroom_inactive.jpg deleted file mode 100644 index 9355af3..0000000 Binary files a/data/livingroom_inactive.jpg and /dev/null differ diff --git a/data/mqtt_off.jpg b/data/mqtt_off.jpg deleted file mode 100644 index 0b6ba7e..0000000 Binary files a/data/mqtt_off.jpg and /dev/null differ diff --git a/data/mqtt_on.jpg b/data/mqtt_on.jpg deleted file mode 100644 index 264f98e..0000000 Binary files a/data/mqtt_on.jpg and /dev/null differ diff --git a/data/night_active.jpg b/data/night_active.jpg deleted file mode 100644 index 0273ee4..0000000 Binary files a/data/night_active.jpg and /dev/null differ diff --git a/data/night_inactive.jpg b/data/night_inactive.jpg deleted file mode 100644 index 6a15526..0000000 Binary files a/data/night_inactive.jpg and /dev/null differ diff --git a/data/power_active.jpg b/data/power_active.jpg deleted file mode 100644 index 1a75454..0000000 Binary files a/data/power_active.jpg and /dev/null differ diff --git a/data/power_inactive.jpg b/data/power_inactive.jpg deleted file mode 100644 index b7b760d..0000000 Binary files a/data/power_inactive.jpg and /dev/null differ diff --git a/data/temperature_small.bin b/data/temperature_small.bin new file mode 100644 index 0000000..bebc9d0 Binary files /dev/null and b/data/temperature_small.bin differ diff --git a/data/temperature_small.jpg b/data/temperature_small.jpg deleted file mode 100644 index 4b1a637..0000000 Binary files a/data/temperature_small.jpg and /dev/null differ diff --git a/data/voc_small.bin b/data/voc_small.bin new file mode 100644 index 0000000..1c133aa Binary files /dev/null and b/data/voc_small.bin differ diff --git a/data/voc_small.jpg b/data/voc_small.jpg deleted file mode 100644 index ca5f9f9..0000000 Binary files a/data/voc_small.jpg and /dev/null differ diff --git a/data/wattage_small.bin b/data/wattage_small.bin new file mode 100644 index 0000000..827b80b Binary files /dev/null and b/data/wattage_small.bin differ diff --git a/data/wattage_small.jpg b/data/wattage_small.jpg deleted file mode 100644 index 4759bc0..0000000 Binary files a/data/wattage_small.jpg and /dev/null differ diff --git a/data/wifi_off.jpg b/data/wifi_off.jpg deleted file mode 100644 index d0e8c0d..0000000 Binary files a/data/wifi_off.jpg and /dev/null differ diff --git a/data/wifi_on.jpg b/data/wifi_on.jpg deleted file mode 100644 index 6e077ea..0000000 Binary files a/data/wifi_on.jpg and /dev/null differ diff --git a/main/AppContext.cpp b/main/AppContext.cpp index 5cf2342..e73f98d 100644 --- a/main/AppContext.cpp +++ b/main/AppContext.cpp @@ -8,6 +8,7 @@ namespace ctx void AppContext::setup() { fs::FileSystem::getInstance().loadPartitions(); + mpWifiContext = std::make_shared(); try { mModel = fs::ConfigReader().readConfiguration(); @@ -30,9 +31,11 @@ namespace ctx if (cb == mqtt::MQTTConnectionStatus::CONNECTED) { mpMQTTConnection->bindScenes(); + mAppStateNotifier.broadcast(ContextState::Ready); } }); mpWebServer = std::make_unique(shared_from_this(), mModel.mWebCredentials); + mAppStateNotifier.broadcast(ContextState::Ready); } void AppContext::reload() @@ -52,10 +55,11 @@ namespace ctx if (cb == mqtt::MQTTConnectionStatus::CONNECTED) { mpMQTTConnection->bindScenes(); + mAppStateNotifier.broadcast(ContextState::Ready); } + Serial.println("Connected"); }); mpMQTTConnection->connect(); - mAppStateNotifier.broadcast(ContextState::Ready); } void AppContext::setFirstLaunch(const WifiCredentials credentials, @@ -65,17 +69,22 @@ namespace ctx ESP.restart(); } - void AppContext::registerStateCallback(AppStateCB callback) + Dispatcher::CBID AppContext::registerStateCallback(AppStateCB callback) + { + return mAppStateNotifier.addCB(callback); + } + + void AppContext::deleteStateCallback(Dispatcher::CBID callback) { - mAppStateNotifier.addCB(callback); + mAppStateNotifier.delCB(callback); } void AppContext::connectWireless() { auto& wifi = mModel.mWifiCredentials; - getWifiContext().connect(wifi.mSSID, wifi.mPassword, wifi.mHostname); + mpWifiContext->connect(wifi.mSSID, wifi.mPassword, wifi.mHostname); using namespace std::placeholders; - getWifiContext().registerCallback(std::bind(&AppContext::connectionStateChanged, this, _1)); + mpWifiContext->registerCallback(std::bind(&AppContext::connectionStateChanged, this, _1)); } std::vector &AppContext::getMQTTGroups() diff --git a/main/AppContext.h b/main/AppContext.h index d38f0db..d28303d 100644 --- a/main/AppContext.h +++ b/main/AppContext.h @@ -28,7 +28,7 @@ namespace ctx AppContext() = default; void setup(); - WifiContext& getWifiContext() { return mWifiContext; }; + std::shared_ptr getWifiContext() { return mpWifiContext; }; model::Model& getModel() { return mModel; } std::shared_ptr getMQTTConnection() { return mpMQTTConnection; }; std::vector &getMQTTGroups(); @@ -36,7 +36,8 @@ namespace ctx void connectionStateChanged(ctx::WifiConnectionState state); void setFirstLaunch(const WifiCredentials credentials, const std::string login, const std::string username); - void registerStateCallback(AppStateCB callback); + Dispatcher::CBID registerStateCallback(AppStateCB callback); + void deleteStateCallback(Dispatcher::CBID callback); private: void connectWireless(); @@ -45,7 +46,7 @@ namespace ctx std::shared_ptr mNTPSync; std::unique_ptr mpCaptiveServer; std::unique_ptr mpWebServer; - WifiContext mWifiContext; + std::shared_ptr mpWifiContext; rapidjson::Document mConfigDocument; model::Model mModel; }; diff --git a/main/AppNewScreen.cpp b/main/AppNewScreen.cpp new file mode 100644 index 0000000..4bb5d05 --- /dev/null +++ b/main/AppNewScreen.cpp @@ -0,0 +1,254 @@ +#include "AppNewScreen.h" +#include +#include +#include +/// Additional LVGL Custom Drivers +#define LV_PNG_USE_LV_FILESYSTEM 1 + +extern "C" +{ + #include "lvgl.h" + #include "lvgl_helpers.h" + #include + #include "axp192.h" +} + +#define LV_TICK_PERIOD_MS 1 +#include + +static void gui_timer_tick(void *arg) +{ + // Unused + (void) arg; + + lv_tick_inc(LV_TICK_PERIOD_MS); +} + +namespace gfx +{ + AppNewScreen::AppNewScreen(std::shared_ptr ctx) : + mpAppContext(ctx) + { + + } + + void AppNewScreen::init() + { + static lv_color_t bufs[2][DISP_BUF_SIZE]; + static lv_disp_buf_t disp_buf; + uint32_t size_in_px = DISP_BUF_SIZE; + + // Set up the frame buffers + lv_disp_buf_init(&disp_buf, &bufs[0], &bufs[1], size_in_px); + + // Set up filesystem + spiffs_drv_init(); + + // Set up the display driver + lv_disp_drv_t disp_drv; + lv_disp_drv_init(&disp_drv); + disp_drv.flush_cb = disp_driver_flush; + disp_drv.buffer = &disp_buf; + lv_disp_drv_register(&disp_drv); + + disp_drv.flush_cb = disp_driver_flush; + disp_drv.buffer = &disp_buf; + lv_disp_drv_register(&disp_drv); + + lv_indev_drv_t indev_drv; + lv_indev_drv_init(&indev_drv); + indev_drv.read_cb = touch_driver_read; + indev_drv.type = LV_INDEV_TYPE_POINTER; + lv_indev_drv_register(&indev_drv); + + const esp_timer_create_args_t periodic_timer_args = { + .callback = &gui_timer_tick, + .name = "periodic_gui" + }; + esp_timer_handle_t periodic_timer; + ESP_ERROR_CHECK(esp_timer_create(&periodic_timer_args, &periodic_timer)); + ESP_ERROR_CHECK(esp_timer_start_periodic(periodic_timer, LV_TICK_PERIOD_MS * 1000)); + + using namespace std::placeholders; + mpAppContext->registerStateCallback(std::bind(&AppNewScreen::appContextChanged, this, _1)); + Serial.println("Done setting up the GUI"); + } + + lv_obj_t* AppNewScreen::createScreen() + { + lv_obj_t *screen = lv_cont_create(NULL, NULL); + lv_cont_set_layout(screen, LV_LAYOUT_COLUMN_MID); + lv_obj_set_style_local_bg_color (screen, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_obj_set_style_local_bg_opa( screen, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER); + lv_obj_add_style(screen, LV_OBJ_PART_MAIN, &Styles::getInstance().mainStyle); + if (!mpStatusBar) + { + mpStatusBar = std::make_shared( + UIStatusBar(screen, mpAppContext->getWifiContext(), mpAppContext->getMQTTConnection())); + mpStatusBar->setupCallbacks(); + } + else + { + mpStatusBar->setupScreen(screen); + } + return screen; + } + + void AppNewScreen::presentScenesView() + { + if (mpMainMenu) { lv_obj_del(mpMainMenu); } + mpMainMenu = createScreen(); + auto tabOverview = createTabOverview(mpMainMenu); + auto tabView = createTab(tabOverview); + auto buttonCont = createButtonContainer(tabView); + mpSceneButtons.clear(); + auto& scenes = mpAppContext->getMQTTGroups(); + int counter = 0; + for (auto& scene : scenes) + { + std::visit(::util::overloaded([&](auto&& ptr) + { + if (counter%6 == 0 && counter != 0) + { + tabView = createTab(tabOverview); + buttonCont = createButtonContainer(tabView); + } + counter++; + auto button = util::UISceneButtonBuilder()(ptr, this, buttonCont); + mpSceneButtons.push_back(button); + }), scene); + } + lv_scr_load(mpMainMenu); + } + + void AppNewScreen::presentTilesForScene(const uint16_t sceneId) + { + if (mpSceneDetailsScreen) { lv_obj_del(mpSceneDetailsScreen); } + mpSceneButtons.clear(); + mpSceneDetailsScreen = createScreen(); + mpStatusBar->setAction({MenuActionState::MAINSCREEN, [&]() { + presentScenesView(); + }}); + auto& scenes = mpAppContext->getMQTTGroups(); + mpDeviceButtons = std::vector(); + + auto mqttScene = std::find_if(scenes.begin(), scenes.end(), [&](auto& scene) + { + return std::visit(::util::overloaded([&](auto&& ptr) { + return ptr->groupId == sceneId; + }), scene); + }); + + int counter = 0; + auto tabView = createTabOverview(mpSceneDetailsScreen); + auto tab = createTab(tabView); + auto buttonCont = createButtonContainer(tab); + std::visit(::util::overloaded([&](MQTTSwitchGroupPtr ptr) { + for (auto &switchDevice : ptr->mDevices) + { + if (counter%6 == 0 && counter != 0) + { + tab = createTab(tabView); + buttonCont = createButtonContainer(tab); + } + counter++; + std::shared_ptr button; + button = util::UIDetailButtonBuilder()(switchDevice, ptr, this, buttonCont); + mpDeviceButtons.push_back(button); + } + }, + [](auto&& ptr){}), *mqttScene); + + if (counter%6 == 0 && counter != 0) + { + tab = createTab(tabView); + buttonCont = createButtonContainer(tab); + } + + auto backButton = std::make_shared(buttonCont, "Back"); + backButton->setupButton(); + backButton->setImage("exitbutton"); + backButton->addTargetAction([&](const uint16_t id) { + presentScenesView(); + }); + mpDeviceButtons.push_back(backButton); + using namespace std::placeholders; + const std::string sceneName = std::visit(::util::overloaded([&](auto&& ptr) + { + return ptr->sceneName; + }), *mqttScene); + lv_scr_load(mpSceneDetailsScreen); + } + + lv_obj_t* AppNewScreen::createTabOverview(lv_obj_t* pParent) + { + lv_obj_t* tabView = lv_tabview_create(pParent, NULL); + lv_obj_add_style(tabView, LV_TABVIEW_PART_BG, &Styles::getInstance().mainStyle); + lv_tabview_set_btns_pos(tabView, LV_TABVIEW_TAB_POS_NONE); + return tabView; + } + + lv_obj_t* AppNewScreen::createTab(lv_obj_t* pParent) + { + auto tab = lv_tabview_add_tab(pParent, "xx"); + lv_obj_set_style_local_pad_left(tab, LV_TABVIEW_PART_BG_SCROLLABLE , LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(tab, LV_TABVIEW_PART_BG_SCROLLABLE , LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_top(tab, LV_TABVIEW_PART_BG_SCROLLABLE , LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(tab, LV_TABVIEW_PART_BG_SCROLLABLE , LV_STATE_DEFAULT, 0); + lv_obj_add_style(tab, LV_PAGE_PART_SCROLLABLE, &Styles::getInstance().mainStyle); + return tab; + } + + lv_obj_t* AppNewScreen::createButtonContainer(lv_obj_t* pParent) + { + lv_obj_t* pButtonCont = lv_cont_create(pParent, NULL); + lv_cont_set_layout(pButtonCont, LV_LAYOUT_PRETTY_MID); + lv_obj_set_size(pButtonCont, lv_obj_get_width(pParent), lv_obj_get_height(pParent)); + lv_obj_set_auto_realign(pButtonCont, true); + lv_cont_set_fit2(pButtonCont, LV_FIT_MAX, LV_FIT_NONE); + lv_obj_add_style(pButtonCont, LV_OBJ_PART_MAIN, &Styles::getInstance().mainStyle); + lv_page_glue_obj(pButtonCont, true); + lv_obj_set_style_local_pad_top(pButtonCont, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 0); + return pButtonCont; + } + + void AppNewScreen::showWarningScreen(const std::string warning) + { + auto warningScreen = createScreen(); + auto tabOverview = createTabOverview(warningScreen); + auto tabView = createTab(tabOverview); + auto buttonCont = createButtonContainer(tabView); + lv_obj_t* warningLabel = lv_label_create(buttonCont, NULL); + lv_label_set_long_mode(warningLabel, LV_LABEL_LONG_BREAK); + lv_label_set_align(warningLabel, LV_LABEL_ALIGN_CENTER); + lv_obj_set_width(warningLabel, 250); + const std::string warningIcon{LV_SYMBOL_WARNING}; + auto displayString = warningIcon + "\n" + warning; + lv_label_set_text(warningLabel, displayString.c_str()); + lv_scr_load(warningScreen); + } + + void AppNewScreen::appContextChanged(ctx::ContextState state) + { + using namespace ctx; + switch (state) { + case ContextState::Reload: + { + // reboot stub + break; + } + case ContextState::Ready: + { + std::lock_guard guard(updateMutex); + using namespace std::placeholders; + break; + } + } + } + void AppNewScreen::loop() + { + std::lock_guard guard(updateMutex); + lv_task_handler(); // process animations + } + +} // namespace gfx \ No newline at end of file diff --git a/main/AppNewScreen.h b/main/AppNewScreen.h new file mode 100644 index 0000000..233f14e --- /dev/null +++ b/main/AppNewScreen.h @@ -0,0 +1,48 @@ +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace gfx +{ + class AppNewScreen : public std::enable_shared_from_this + { + public: + AppNewScreen(std::shared_ptr ctx); + void loop(); + void init(); + void presentTilesForScene(const uint16_t sceneId); + void presentScenesView(); + void showWarningScreen(const std::string warning); + void appContextChanged(ctx::ContextState state); + + private: + template + friend struct util::UISceneButtonBuilder; + template + friend struct util::UIDetailButtonBuilder; + lv_obj_t* createButtonContainer(lv_obj_t* pParent); + lv_obj_t* createScreen(); + lv_obj_t* createTabOverview(lv_obj_t* pParent); + lv_obj_t* createTab(lv_obj_t* pParent); + std::shared_ptr mpAppContext; + std::shared_ptr mpStatusBar; + std::shared_ptr mpMenuBar; + std::vector mpSceneButtons; + std::vector mpDeviceButtons; + lv_obj_t *mpMainMenu = NULL; + lv_obj_t *mpSceneDetailsScreen = NULL; + lv_obj_t *mpTilesView = NULL; + lv_obj_t *mpButtonCont = NULL; + std::mutex updateMutex; + + }; +} \ No newline at end of file diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index bd43f17..347f0fa 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1,19 +1,16 @@ +# file(GLOB_RECURSE LVGL_SRC "libraries/lvgl/src/*.c") -file(GLOB TFTESPI_SRC - "libraries/TFT_eSPI/*.cpp" +file(GLOB FONTS_SRC + "config/font/*.c" ) -file(GLOB TFTEFEX_SRC - "libraries/TFT_eFEX/*.cpp" -) - -file(GLOB JPEGDEC_SRC - "libraries/JPEGDecoder/src/*.cpp" - "libraries/JPEGDecoder/src/*.c" +file(GLOB ICONS_BUILTIN_SRC + "ui/icons/*.c" ) set(FS_SRC_PATH "fs") file(GLOB FS_SRC + "${FS_SRC_PATH}/spiffs_drv.c" "${FS_SRC_PATH}/ConfigReader.cpp" "${FS_SRC_PATH}/Filesystem.cpp" ) @@ -29,24 +26,18 @@ file(GLOB NTP_SRC ) set(TOUCH_SRC_PATH "touch") -if(BUTTONS OR BOARD STREQUAL "M5STACK") -set(TOUCH_SRC - "${TOUCH_SRC_PATH}/ButtonDriver.cpp" -) -endif(BUTTONS OR BOARD STREQUAL "M5STACK") - set(TOUCH_SRC ${TOUCH_SRC} ) set(UI_SRC_PATH "ui") file(GLOB UI_SRC - "${UI_SRC_PATH}/UIButton.cpp" - "${UI_SRC_PATH}/UIMosaicMenuWidget.cpp" - "${UI_SRC_PATH}/UIPageButton.cpp" - "${UI_SRC_PATH}/UISensorComboWidget.cpp" - "${UI_SRC_PATH}/UIStatusBarWidget.cpp" - "${UI_SRC_PATH}/UIWidget.cpp" + "${UI_SRC_PATH}/UIMenuBar.cpp" + "${UI_SRC_PATH}/UIMosaicButton.cpp" + "${UI_SRC_PATH}/UISensorComboButton.cpp" + "${UI_SRC_PATH}/UISwitchDeviceButton.cpp" + "${UI_SRC_PATH}/UIStatusBar.cpp" + "${UI_SRC_PATH}/Styles.cpp" ) set(UIINCLUDES @@ -72,20 +63,13 @@ file(GLOB WEB_SRC set(GLOBALINCLUDES "./" - PARENT_SCOPE -) - -set(LIBRARY_SRC - ${JPEGDEC_SRC} -) - -set(PLATFORM_SRC - ${TFTESPI_SRC} - ${TFTEFEX_SRC} + "./config/" ) set(COMPONENT_SRCS + ${FONTS_SRC} "AppContext.cpp" + "AppNewScreen.cpp" "main.cpp" ${FS_SRC} ${UI_SRC} @@ -94,36 +78,27 @@ set(COMPONENT_SRCS ${TOUCH_SRC} ${WEB_SRC} ${WIFI_SRC} - ${LIBRARY_SRC} + ${ICONS_BUILTIN_SRC} ) set_property(SOURCE ${LIBRARY_SRC} PROPERTY COMPILE_FLAGS "-Wno-all -Wno-shift-negative-value -Wno-cpp") - - set(PLATFORM_INCLUDES - "libraries/TFT_eSPI/" - "libraries/TFT_eFEX/" - ) - set(COMPONENT_ADD_INCLUDEDIRS - "." - ${UIINCLUDES} - "libraries/JPEGDecoder/src" - "libraries/rapidjson/include/" - ) +set(COMPONENT_ADD_INCLUDEDIRS + "." + ${UIINCLUDES} + ${GLOBALINCLUDES} + "libraries/rapidjson/include/" +) if(BOARD STREQUAL "M5STACKCORE2") message(STATUS "Compiling for M5Stack Core2") list(APPEND priv_requires m5stackcore2) endif(BOARD STREQUAL "M5STACKCORE2") - set(PLATFORM_INCLUDES - "libraries/TFT_eSPI/" - "libraries/TFT_eFEX/" - ) - set(COMPONENT_SRCS ${COMPONENT_SRCS} ${PLATFORM_SRC} + "config/PlatformM5StackCore2Helpers.c" ) set(COMPONENT_ADD_INCLUDEDIRS @@ -136,6 +111,8 @@ endif(BOARD STREQUAL "M5STACKCORE2") register_component() +target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_LVGL_H_INCLUDE_SIMPLE") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DESP32") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DESP32") @@ -157,8 +134,8 @@ endif(BOARD STREQUAL "M5STACK") if(BOARD STREQUAL "M5STACKCORE2") message(STATUS "Compiling for M5Stack Core2") list(APPEND compile_definitions "M5StackCore2") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DM5StackCore2") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DM5StackCore2") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI -DCONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341 -DM5StackCore2 -DTFT_WIDTH=320 -DTFT_HEIGHT=240 -DLV_HIGH_RESOURCE_MCU=1 -DLV_CONF_INCLUDE_SIMPLE") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_FLAGS} -DM5StackCore2") file(COPY ${CMAKE_SOURCE_DIR}/main/config/TFT_eSPI/M5StackCore2/User_Setup.h DESTINATION ${CMAKE_SOURCE_DIR}/main/libraries/TFT_eSPI) endif(BOARD STREQUAL "M5STACKCORE2") diff --git a/main/config/Config.h b/main/config/Config.h index 9312ef7..cd612e6 100644 --- a/main/config/Config.h +++ b/main/config/Config.h @@ -1,7 +1,5 @@ #pragma once -#include - static const unsigned long StatusBarUpdateInterval = 4; // update status bar every 10s to keep time up to date static const unsigned long MinsBeforeScreenSleep = 10; // Minutes before putting Screen to sleep @@ -24,7 +22,7 @@ static const unsigned long MinsBeforeScreenSleep = 10; // Minutes before putting static const bool kDISPLAY_INVERTED = false; // Display color space inverted static const bool kTOUCH_X_AXIS_INVERTED = false; static const bool kTOUCH_Y_AXIS_INVERTED = true; - #define SCREEN_ROTATION_ANGLE 1 + #define SCREEN_ROTATION_ANGLE 0 static const bool ButtonsArePullUp = true; #elif defined(M5StackCore2) diff --git a/main/config/Icon.hpp b/main/config/Icon.hpp index f1a3160..aa18965 100644 --- a/main/config/Icon.hpp +++ b/main/config/Icon.hpp @@ -15,17 +15,9 @@ namespace util static const int SmallIconSize = 25; // 25x25px static const int SmallIconInsetToCenter = 8; // Left + right inset to icon in square - inline static std::pair GetIconFileNames(const std::string iconName) - { - const auto activeIcon = "/" + iconName + "_active.jpg"; - const auto inActiveIcon = "/" + iconName + "_inactive.jpg"; - - return std::make_pair(activeIcon, inActiveIcon); - } - inline static const std::string GetIconFilePath(const std::string name) { - const auto fullPath = "/" + name + ".jpg"; + const auto fullPath = "D:spiffs/" + name + ".bin"; return fullPath; } diff --git a/main/config/PlatformInject.hpp b/main/config/PlatformInject.hpp index 323877f..521dd3a 100644 --- a/main/config/PlatformInject.hpp +++ b/main/config/PlatformInject.hpp @@ -1,9 +1,5 @@ #pragma once -#include -#include -#include - // _____ _ _______ ______ ____ _____ __ __ // | __ \| | /\|__ __| ____/ __ \| __ \| \/ | // | |__) | | / \ | | | |__ | | | | |__) | \ / | @@ -30,53 +26,27 @@ { pinMode(TFT_LED, OUTPUT); digitalWrite(TFT_LED, LOW); - driver->begin(320000000); + // driver->begin(320000000); }; // Screen initialization routines auto InitializePlatform = []() {}; #elif defined(M5StackCore2) - #include - #include - using NavigationDriver = gfx::TouchDriver; - using ScreenDriver = gfx::driver::TFTM5STACKESPI; - auto ScreenOnOffSwitch = [](ScreenDriver* driver, bool on, bool inverted = false) - { - driver->setSleep(!on); - }; - auto InitializeScreen = [](ScreenDriver* driver) - { - driver->begin(); - }; - auto InitializePlatform = []() - { - auto axp = AXP192(); - axp.begin(kMBusModeOutput); - axp.SetLDOEnable(3,0); // disable vibration motor - M5Touch().begin(); - }; + #include #else // Touch Screen - #include - using NavigationDriver = gfx::TouchDriver; - using ScreenDriver = gfx::driver::TFTESPI; // gfx::driver::MiniGrafxDriver; - auto ScreenOnOffSwitch = [](ScreenDriver* driver, bool on, bool inverted = false) + extern "C" { - const auto highVal = inverted ? HIGH : LOW; - const auto lowVal = !inverted ? HIGH : LOW; - const auto backLightPower = on ? highVal : lowVal; - const auto screenPower = on ? ILI9341_DISPON : ILI9341_DISPOFF; - digitalWrite(TFT_LED, backLightPower); - driver->writeCommand(screenPower); - }; - auto InitializeScreen = [](ScreenDriver* driver) + #include "lvgl.h" + #include "lvgl_helpers.h" + } + + auto InitializeScreen = []() { - pinMode(TFT_LED, OUTPUT); - digitalWrite(TFT_LED, LOW); // LOW to turn backlight on - pcb version 01-02-00 - driver->begin(320000000); }; // Screen initialization routines - auto InitializePlatform = []() { - ledcAttachPin(21,0); + + auto InitializePlatform = []() + { + lv_init(); + lvgl_driver_init(); }; #endif - -using ImageWriter = gfx::util::PROGMEMIconDrawer; // gfx::util::SPIFFSIconDrawer for SPIFFS only diff --git a/main/config/PlatformM5StackCore2.hpp b/main/config/PlatformM5StackCore2.hpp new file mode 100644 index 0000000..62b585f --- /dev/null +++ b/main/config/PlatformM5StackCore2.hpp @@ -0,0 +1,189 @@ + +extern "C" +{ + #include "lvgl.h" + #include "lvgl_helpers.h" + #include "axp192.h" + #include "i2c_helper.h" + #include +} + +#include + +// Global for convenience +const axp192_t axp = { + .read = &i2c_read, + .write = &i2c_write, +}; + +auto InitializePlatform = []() +{ + lv_init(); + lvgl_driver_init(); + // i2c_init(); + // Voltage configuration + { + + // don't axp192_init() because we don't wan't to run the initial commands + // axp192_init(&axp); + + // DCDC1: MCU_VDD (3v3) + // DCDC2: Not connected + // DCDC3: LCD_BL (2v8) + // LDO1: RTC, non-configured + // LDO2: PERI_VDD (3v3) + // LDO3: VIB_MOTOR (2v0) + struct rail_entry { + const char *name; + axp192_rail_t rail; + uint16_t millivolts; + }; + + // The voltages are based on the Arduino demo code. + struct rail_entry rails[] = { + { "DCDC1 (MCU_VDD)", AXP192_RAIL_DCDC1, 3300 }, + // DCDC2 not connected + { "DCDC3 (LCD_BL)", AXP192_RAIL_DCDC3, 2800 }, + // LDO1 not configurable + { "LDO2 (PERI_VDD)", AXP192_RAIL_LDO2, 3300 }, + { "LDO3 (VIB_MOTOR)", AXP192_RAIL_LDO3, 2000 }, + }; + + for (int i = 0; i < sizeof(rails) / sizeof(rails[0]); i++) { + bool enabled; + uint16_t millivolts; + axp192_err_t err = axp192_get_rail_millivolts(&axp, rails[i].rail, &millivolts); + if (err != AXP192_ERROR_OK) { + printf("%s: get failed\n", rails[i].name); + continue; + } + + enabled = false; + err = axp192_get_rail_state(&axp, rails[i].rail, &enabled); + if (err != AXP192_ERROR_OK) { + printf("%s: get state failed\n", rails[i].name); + continue; + } + + printf("%s: get %d mV (%s)\n", rails[i].name, millivolts, enabled ? "enabled" : "disabled"); + + err = axp192_set_rail_millivolts(&axp, rails[i].rail, rails[i].millivolts); + if (err != AXP192_ERROR_OK) { + printf("%s: set failed\n", rails[i].name); + continue; + } + + printf("%s: set %d mV\n", rails[i].name, rails[i].millivolts); + } + } + // Battery + { + // Configure charger, 4.2V 190mA + axp192_write_reg(&axp, AXP192_CHARGE_CONTROL_1, 0xC1); + // Default values - 40 min precharge, 8 hour constant current + axp192_write_reg(&axp, AXP192_CHARGE_CONTROL_2, 0x41); + + float volts; + axp192_read(&axp, AXP192_BATTERY_VOLTAGE, &volts); + printf("Battery voltage: %.2f volts\n", volts); + } + + { + // GPIO1_CONTROL and GPIO2_CONTROL + // (Direct translations from the datasheet) + // Bits 7-3: Reserved + // Bits 2-0: 000: NMOS open-drain output + // 001: Universal input function + // 010: PWM1 output, high level is VINT, no pull down less than 100k can be added + // 011: Reserved + // 100: ADC input + // 101: Low output + // 11X: Floating + + // Open-drain outputs + // GPIO1: LED sink + axp192_write_reg(&axp, AXP192_GPIO1_CONTROL, 0); + // GPIO2: SPK_EN + axp192_write_reg(&axp, AXP192_GPIO2_CONTROL, 0); + + // GPIO[4:3]_CONTROL + // (Direct translations from the datasheet) + // Bit 7: 1: GPIO function + // Bits 6-4: Reserved + // Bits 3-2: GPIO4 Function + // 00: External charging control + // 01: NMOS open drain + // 10: GPIO + // 11: Reserved + // Bits 1-0: GPIO3 Function + // 00: External charging control + // 01: NMOS open drain + // 10: GPIO + // 11: ADC Input + // Set GPIO4 (LCD_RST) and GPIO3 (NC) to NMOS OD + axp192_write_reg(&axp, AXP192_GPIO40_FUNCTION_CONTROL, (1 << 7) | (1 << 2) | (1 << 0)); + + // PEK (power enable key) + // Bits 7-6: Boot time + // 00: 128 ms + // 01: 512 ms + // 10: 1 s + // 11: 2 s + // Bits 5-4: Long press time + // 00: 1 s + // 01: 1.5 s + // 10: 2 s + // 11: 2.5 s + // Bit 3: Shutdown on long press + // Bit 2: PWROK delay + // 0: 32 ms + // 1: 64 ms + // Bit 1-0: Shutdown button duration + // 00: 4 s + // 01: 6 s + // 10: 8 s + // 11: 10 s + // Copy setting from Arduino (0x4c) + axp192_write_reg(&axp, AXP192_PEK, (1 << 6) | (0 << 4) | (1 << 3) | (1 << 2) | (0 << 0)); + + // Arduino code enables all ADC channels + //axp192_write_reg(&axp, AXP192_ADC_ENABLE_1, 0xff); + + // BATTERY_CHARGE_CONTROL + // Bit 7: Backup battery charging enable + // Bits 6-5: Backup battery target voltage + // 00: 3.1 V + // 01: 3.0 V + // 10: 3.0 V (duplicated?) + // 11: 2.5 V + // Bits 4-2: Reserved + // Bits 1-0: Backup battery charge current + // 00: 50 uA + // 01: 100 uA + // 10: 200 uA + // 11: 400 uA + axp192_write_reg(&axp, AXP192_BATTERY_CHARGE_CONTROL, (1 << 7) | (1 << 5) | (0 << 0)); + } + + // Start UI --------------------------------- + + // Backlight + axp192_set_rail_state(&axp, AXP192_RAIL_DCDC3, true); + + // Logic + axp192_set_rail_state(&axp, AXP192_RAIL_LDO2, true); + + // Wait a bit for everything to settle + vTaskDelay(100 / portTICK_PERIOD_MS); + + // Reset and re-initialise the LCD and touch controller + // (see comment above lvgl_driver_init()) + set_axp192_gpio_34(&axp, 4, true); + vTaskDelay(100 / portTICK_PERIOD_MS); + set_axp192_gpio_34(&axp, 4, false); + vTaskDelay(100 / portTICK_PERIOD_MS); + touch_driver_init(); + disp_driver_init(); + fix_m5stack_display_rotation(); + Serial.println("Started Platform"); +}; diff --git a/main/config/PlatformM5StackCore2Helpers.c b/main/config/PlatformM5StackCore2Helpers.c new file mode 100644 index 0000000..fdf1089 --- /dev/null +++ b/main/config/PlatformM5StackCore2Helpers.c @@ -0,0 +1,111 @@ +#include "PlatformM5StackCore2Helpers.h" +#include "axp192.h" +#include "i2c_helper.h" +#include "ili9341.h" +#include "driver/gpio.h" +#include + +// Fix whatever M5Stack screwed up when they added the screen +void fix_m5stack_display_rotation() +{ + disp_wait_for_pending_transactions(); + gpio_set_level((gpio_num_t)ILI9341_DC, 0); /*Command mode*/ + uint8_t cmd = 0x36; + disp_spi_send_data(&cmd, 1); + disp_wait_for_pending_transactions(); + gpio_set_level((gpio_num_t)ILI9341_DC, 1); /*Data mode*/ + uint8_t data = 0x08; + disp_spi_send_data(&data, 1); +} + +void set_axp192_gpio_012(const axp192_t *axp, int gpio, bool low) +{ + if ((gpio < 0) || (gpio > 2)) { + return; + } + + uint8_t val = 0; + axp192_read_reg(axp, AXP192_GPIO20_SIGNAL_STATUS, &val); + + uint8_t mask = (1 << gpio); + if (low) { + // Value of 0 activates the NMOS, pulling the pin low + val &= ~mask; + } else { + // Value of 1 sets floating + val |= mask; + } + + axp192_write_reg(axp, AXP192_GPIO20_SIGNAL_STATUS, val); +} + +void set_axp192_gpio_34(const axp192_t *axp, int gpio, bool low) +{ + if ((gpio < 3) || (gpio > 4)) { + return; + } + + uint8_t val = 0; + axp192_read_reg(axp, AXP192_GPIO40_SIGNAL_STATUS, &val); + + uint8_t mask = (1 << (gpio - 3)); + if (low) { + // Value of 0 activates the NMOS, pulling the pin low + val &= ~mask; + } else { + // Value of 1 sets floating + val |= mask; + } + + axp192_write_reg(axp, AXP192_GPIO40_SIGNAL_STATUS, val); +} + +void set_led(const axp192_t *axp, bool on) +{ + set_axp192_gpio_012(axp, 1, on); +} + +void set_vibration(const axp192_t *axp, bool on) +{ + axp192_set_rail_state(axp, AXP192_RAIL_LDO3, on); +} + +void set_internal_5v_bus(const axp192_t *axp, bool on) +{ + // To enable the on-board 5V supply, first N_VBUSEN needs to be pulled + // high using GPIO0, then we can enable the EXTEN output, to enable + // the SMPS. + // To disable it (so either no 5V, or externally supplied 5V), we + // do the opposite: First disable EXTEN, then leave GPIO0 floating. + // N_VBUSEN will be pulled down by the on-board resistor. + // Side note: The pull down is 10k according to the schematic, so that's + // a 0.5 mA drain from the GPIO0 LDO as long as the bus supply is active. + + if (on) { + // GPIO0_LDOIO0_VOLTAGE: + // Bits 7-4: Voltage. 1v8-3v3 in 0.1 V increments + // Set the GPIO0 LDO voltage to 3v3 + axp192_write_reg(axp, AXP192_GPIO0_LDOIO0_VOLTAGE, 0xf0); + + // GPIO0_CONTROL + // Bits 7-3: Reserved + // Bits 2-0: 000: NMOS open drain + // 001: GPIO + // 010: Low noise LDO + // 011: Reserved + // 100: ADC input + // 101: Output low + // 11x: Floating + // Set to LDO (3v3) + axp192_write_reg(axp, AXP192_GPIO0_CONTROL, (2 << 0)); + + // Enable EXTEN + axp192_set_rail_state(axp, AXP192_RAIL_EXTEN, true); + } else { + // Disable EXTEN + axp192_set_rail_state(axp, AXP192_RAIL_EXTEN, false); + + // Set GPIO0 to float + axp192_write_reg(axp, AXP192_GPIO0_CONTROL, (7 << 0)); + } +} \ No newline at end of file diff --git a/main/config/PlatformM5StackCore2Helpers.h b/main/config/PlatformM5StackCore2Helpers.h new file mode 100644 index 0000000..29e1a00 --- /dev/null +++ b/main/config/PlatformM5StackCore2Helpers.h @@ -0,0 +1,26 @@ +#ifndef __M5PLT_H +#define __M5PLT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "axp192.h" + +void fix_m5stack_display_rotation(); +void set_axp192_gpio_012(const axp192_t *axp, int gpio, bool low); + +void set_axp192_gpio_34(const axp192_t *axp, int gpio, bool low); + +void set_led(const axp192_t *axp, bool on); + +void set_vibration(const axp192_t *axp, bool on); +void set_internal_5v_bus(const axp192_t *axp, bool on); + +#ifdef __cplusplus +} +#endif + +#endif /* __M5PLT_H */ + + diff --git a/main/config/TFT_eSPI/M5StackCore2/User_Setup_old.h b/main/config/TFT_eSPI/M5StackCore2/User_Setup_old.h new file mode 100755 index 0000000..d76a916 --- /dev/null +++ b/main/config/TFT_eSPI/M5StackCore2/User_Setup_old.h @@ -0,0 +1,310 @@ +// USER DEFINED SETTINGS +// Set driver type, fonts to be loaded, pins used and SPI control method etc +// +// See the User_Setup_Select.h file if you wish to be able to define multiple +// setups and then easily select which setup file is used by the compiler. +// +// If this file is edited correctly then all the library example sketches should +// run without the need to make any more changes for a particular hardware setup! +// Note that some sketches are designed for a particular TFT pixel width/height + + +// ################################################################################## +// +// Section 1. Call up the right driver file and any options for it +// +// ################################################################################## + +// Only define one driver, the other ones must be commented out +#define ILI9341_DRIVER +//#define ST7735_DRIVER // Define additional parameters below for this display +//#define ILI9163_DRIVER // Define additional parameters below for this display +//#define S6D02A1_DRIVER +//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI +//#define HX8357D_DRIVER +//#define ILI9481_DRIVER +//#define ILI9486_DRIVER +//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) +//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display +//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display +//#define R61581_DRIVER + +// Some displays support SPI reads via the MISO pin, other displays have a single +// bi-directional SDA pin and the library will try to read this via the MOSI line. +// To use the SDA line for reading data from the TFT uncomment the following line: + +// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 display only +#define TFT_DRIVER 0x9341 +#define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 display only + +// For ST7789 ONLY, define the colour order IF the blue and red are swapped on your display +// Try ONE option at a time to find the correct colour order for your display + +// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue +// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +// For M5Stack ESP32 module with integrated ILI9341 display ONLY, remove // in line below + +#define M5STACK + +// For ST7789, ST7735 and ILI9163 ONLY, define the pixel width and height in portrait orientation +// #define TFT_WIDTH 80 +// #define TFT_WIDTH 128 +// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 +// #define TFT_HEIGHT 160 +// #define TFT_HEIGHT 128 +// #define TFT_HEIGHT 240 // ST7789 240 x 240 +// #define TFT_HEIGHT 320 // ST7789 240 x 320 + +// For ST7735 ONLY, define the type of display, originally this was based on the +// colour of the tab on the screen protector film but this is not always true, so try +// out the different options below if the screen does not display graphics correctly, +// e.g. colours wrong, mirror images, or tray pixels at the edges. +// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this +// this User_Setup file, then rebuild and upload the sketch to the board again: + +// #define ST7735_INITB +// #define ST7735_GREENTAB +// #define ST7735_GREENTAB2 +// #define ST7735_GREENTAB3 +// #define ST7735_GREENTAB128 // For 128 x 128 display +// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) +// #define ST7735_REDTAB +// #define ST7735_BLACKTAB +// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset + +// If colours are inverted (white shows as black) then uncomment one of the next +// 2 lines try both options, one of the options should correct the inversion. + +// #define TFT_INVERSION_ON +// #define TFT_INVERSION_OFF + +// If a backlight control signal is available then define the TFT_BL pin in Section 2 +// below. The backlight will be turned ON when tft.begin() is called, but the library +// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be +// driven with a PWM signal or turned OFF/ON then this must be handled by the user +// sketch. e.g. with digitalWrite(TFT_BL, LOW); + +// #define TFT_BACKLIGHT_ON HIGH // HIGH or LOW are options + +// ################################################################################## +// +// Section 2. Define the pins that are used to interface with the display here +// +// ################################################################################## + +// We must use hardware SPI, a minimum of 3 GPIO pins is needed. +// Typical setup for ESP8266 NodeMCU ESP-12 is : +// +// Display SDO/MISO to NodeMCU pin D6 (or leave disconnected if not reading TFT) +// Display LED to NodeMCU pin VIN (or 5V, see below) +// Display SCK to NodeMCU pin D5 +// Display SDI/MOSI to NodeMCU pin D7 +// Display DC (RS/AO)to NodeMCU pin D3 +// Display RESET to NodeMCU pin D4 (or RST, see below) +// Display CS to NodeMCU pin D8 (or GND, see below) +// Display GND to NodeMCU pin GND (0V) +// Display VCC to NodeMCU 5V or 3.3V +// +// The TFT RESET pin can be connected to the NodeMCU RST pin or 3.3V to free up a control pin +// +// The DC (Data Command) pin may be labeled AO or RS (Register Select) +// +// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more +// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS +// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin +// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. +// +// The NodeMCU D0 pin can be used for RST +// +// +// Note: only some versions of the NodeMCU provide the USB 5V on the VIN pin +// If 5V is not available at a pin you can use 3.3V but backlight brightness +// will be lower. + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP ###### + +// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation +// #define TFT_CS PIN_D8 // Chip select control pin D8 +// #define TFT_DC PIN_D3 // Data Command control pin +// #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + +//#define TFT_BL PIN_D1 // LED back-light (only for ST7789 with backlight control pin) + +// #define TOUCH_CS 14 +// #define TOUCH_IRQ 2 + +#define TFT_MISO 38 +#define TFT_MOSI 23 +#define TFT_SCLK 18 +#define TFT_CS 5 // Chip select control pin +#define TFT_DC 15 // Data Command control pin +#define TFT_RST -1 // Reset pin (could connect to Arduino RESET pin) +#define TFT_BL -1 // LED back-light (required for M5Stack) +#define TFT_LED -1 // LED back-light (required for M5Stack) + +// ArduiTouch +// #define TFT_CS 5 +// #define TFT_DC 4 +// #define TFT_MOSI 23 +// #define TFT_SCLK 18 +// #define TFT_RST 22 +// #define TFT_MISO 19 +// #define TFT_LED 15 + +// #define HAVE_TOUCHPAD +// #define TOUCH_CS 14 +// #define TOUCH_IRQ 2 + + + +//#define TOUCH_CS PIN_D2 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only + + +// ###### FOR ESP8266 OVERLAP MODE EDIT THE PIN NUMBERS IN THE FOLLOWING LINES ###### + +// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact +// but saves pins for other functions. +// Use NodeMCU SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode + +// In ESP8266 overlap mode the following must be defined +//#define TFT_SPI_OVERLAP + +// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3 +//#define TFT_CS PIN_D3 +//#define TFT_DC PIN_D5 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ###### + +// For ESP32 Dev board (only tested with ILI9341 display) +// The hardware SPI can be mapped to any pins + +//#define TFT_MISO 19 +//#define TFT_MOSI 23 +//#define TFT_SCLK 18 +//#define TFT_CS 15 // Chip select control pin +//#define TFT_DC 2 // Data Command control pin +//#define TFT_RST 4 // Reset pin (could connect to RST pin) +//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST + +//#define TFT_BL 32 // LED back-light (only for ST7789 with backlight control pin) + +//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR 22 // Write strobe for modified Raspberry Pi TFT only + +// For the M5Stack module use these #define lines +//#define TFT_MISO 19 +//#define TFT_MOSI 23 +//#define TFT_SCLK 18 +//#define TFT_CS 14 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 32 // LED back-light (required for M5Stack) +//#define TFT_LED 32 // LED back-light (required for M5Stack) + +// ###### EDIT THE PINs BELOW TO SUIT YOUR ESP32 PARALLEL TFT SETUP ###### + +// The library supports 8 bit parallel TFTs with the ESP32, the pin +// selection below is compatible with ESP32 boards in UNO format. +// Wemos D32 boards need to be modified, see diagram in Tools folder. +// Only ILI9481 and ILI9341 based displays have been tested! + +// Parallel bus is only supported on ESP32 +// Uncomment line below to use ESP32 Parallel interface instead of SPI + +//#define ESP32_PARALLEL + +// The ESP32 and TFT the pins used for testing are: +//#define TFT_CS 33 // Chip select control pin (library pulls permanently low +//#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 +//#define TFT_RST 32 // Reset pin, toggles on startup + +//#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 +//#define TFT_RD 2 // Read strobe control pin + +//#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus +//#define TFT_D1 13 // so a single register write sets/clears all bits. +//#define TFT_D2 26 // Pins can be randomly assigned, this does not affect +//#define TFT_D3 25 // TFT screen update performance. +//#define TFT_D4 17 +//#define TFT_D5 16 +//#define TFT_D6 27 +//#define TFT_D7 14 + + +// ################################################################################## +// +// Section 3. Define the fonts that are to be used here +// +// ################################################################################## + +// Comment out the #defines below with // to stop that font being loaded +// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not +// normally necessary. If all fonts are loaded the extra FLASH space required is +// about 17Kbytes. To save FLASH space only enable the fonts you need! + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts + +// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded +// this will save ~20kbytes of FLASH +#define SMOOTH_FONT + + +// ################################################################################## +// +// Section 4. Other options +// +// ################################################################################## + +// Define the SPI clock frequency, this affects the graphics rendering speed. Too +// fast and the TFT driver will not keep up and display corruption appears. +// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails +// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) +// With an ILI9163 display 27 MHz works OK. +// The RPi typically only works at 20MHz maximum. + +// #define SPI_FREQUENCY 1000000 +// #define SPI_FREQUENCY 5000000 +// #define SPI_FREQUENCY 10000000 +// #define SPI_FREQUENCY 20000000 +#define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 +// #define SPI_FREQUENCY 40000000 // Maximum to use SPIFFS +// #define SPI_FREQUENCY 80000000 + +// Optional reduced SPI frequency for reading TFT +#define SPI_READ_FREQUENCY 20000000 + +// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: +#define SPI_TOUCH_FREQUENCY 2500000 + +// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default. +// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam) +// then uncomment the following line: +//#define USE_HSPI_PORT + +// Comment out the following #define if "SPI Transactions" do not need to be +// supported. When commented out the code size will be smaller and sketches will +// run slightly faster, so leave it commented out unless you need it! + +// Transaction support is needed to work with SD library but not needed with TFT_SdFat +// Transaction support is required if other SPI devices are connected. + +// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex) +// so changing it here has no effect + +// #define SUPPORT_TRANSACTIONS diff --git a/main/config/font/robotocondensed_regular_12_nokern.c b/main/config/font/robotocondensed_regular_12_nokern.c new file mode 100644 index 0000000..638792f --- /dev/null +++ b/main/config/font/robotocondensed_regular_12_nokern.c @@ -0,0 +1,1620 @@ +/******************************************************************************* + * Size: 12 px + * Bpp: 3 + * Opts: --no-kerning --bpp 3 --size 12 -o robotocondensed_regular_12_nokern.lvgl --format lvgl --font RobotoCondensed-Regular.ttf -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 0xf0d7,0xf0d9,0xf0da,0xf0d8,0xf078,0xf053,0xf054,0xf077,0xf01e,0xf3e5,0xf0e2,0xf04a,0xf04e,0xf130,0xf001,0xf04c,0xf28b,0xf04b,0xf144,0xf048,0xf051,0xf04d,0xf028,0xf6a9,0xf026,0xf028,0xf52a,0xf52b,0xF06E,0xF070,0xf023,0xf3c1,0xf204,0xf205,0xf09c,0xf244,0xf240,0xf242,0xf243,0xf241,0xf0f3,0xf108,0xf109,0xf0eb,0xf3cd,0xf1e6,0xf011,0xf012,0xf1de,0xf26c,0xf1eb,0xf2cd,0xf236,0xf1b9,0xf0f4,0xf015,0xf084,0xf2fe,0xf7d8,0xf1f8,0xf2e7,0xf494,0xf769,0xf76b,0xf2cb,0xf2c7,0xf2c9,0xf2ca,0xf2c8,0xf043,0xf0e7,0xf0c2,0xf6c3,0xf73c,0xf73d,0xf740,0xf6c4,0xf743,0xf186,0xf75f,0xf2dc,0xf185,0xf0e9,0xf72e,0xf060,0xf061,0xf062,0xf063,0xf55a,0xf05e,0xf0c9,0xf1fe,0xf080,0xf201,0xf200,0xf00c,0xf058,0xf14a,0xf013,0xf085,0xf07b,0xf129,0xf05a,0xf068,0xf056,0xf146,0xf067,0xf055,0xf0fe,0xf3e0,0xf12e,0xf128,0xf059,0xf61f,0xf54c,0xf005,0xf2f2,0xF00D,0xf007 + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + +#ifndef ROBOTOCONDENSED_REGULAR_12_NOKERN +#define ROBOTOCONDENSED_REGULAR_12_NOKERN 1 +#endif + +#if ROBOTOCONDENSED_REGULAR_12_NOKERN + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+20 " " */ + + /* U+21 "!" */ + 0x1c, 0xf, 0xfe, 0x2b, 0x1, 0x40, 0x60, + + /* U+22 "\"" */ + 0x32, 0x8, 0x1f, 0x12, 0x90, 0x0, + + /* U+23 "#" */ + 0x0, 0x61, 0x80, 0x4f, 0xbe, 0x3, 0x59, 0x61, + 0x19, 0x75, 0xc8, 0x6, 0x18, 0x3, 0xcf, 0x38, + 0x1c, 0xb2, 0xc0, 0x1e, 0x78, 0x8, 0x9c, 0x0, + + /* U+24 "$" */ + 0x0, 0xa0, 0x1b, 0x90, 0x2a, 0xe, 0x0, 0xac, + 0x24, 0x6, 0xa4, 0x3c, 0x90, 0x4, 0xb6, 0x2, + 0x7d, 0x15, 0x80, 0x10, 0x8a, 0x64, 0x85, 0x97, + 0x0, 0x56, 0x88, + + /* U+25 "%" */ + 0x17, 0x10, 0x32, 0xde, 0x88, 0x6, 0x61, 0xe0, + 0xb, 0x7b, 0x90, 0x15, 0xb4, 0x3, 0xc5, 0xe6, + 0x5, 0x25, 0xa8, 0x11, 0x20, 0x3d, 0x45, 0xc8, + 0x0, + + /* U+26 "&" */ + 0xb, 0xf1, 0x2, 0xf2, 0xc0, 0x31, 0x30, 0x17, + 0xb5, 0x0, 0x88, 0x41, 0x3, 0x7b, 0x54, 0x36, + 0x16, 0x90, 0x68, 0x30, 0x41, 0x9f, 0x46, 0x40, + + /* U+27 "'" */ + 0x6c, 0x6, 0x6c, + + /* U+28 "(" */ + 0x3, 0xd1, 0x2, 0x48, 0x5e, 0x1, 0xa0, 0x38, + 0x90, 0x1f, 0xe2, 0x40, 0x44, 0x80, 0x54, 0x1, + 0xd0, 0x28, 0x80, + + /* U+29 ")" */ + 0x20, 0x12, 0x7, 0x0, 0x24, 0x1b, 0x86, 0xc0, + 0x90, 0x1f, 0x12, 0x9, 0x6, 0xa4, 0x15, 0x40, + + /* U+2A "*" */ + 0x1, 0x80, 0x20, 0x24, 0x71, 0xfc, 0xe8, 0x94, + 0x5f, 0x48, 0xc3, 0x90, + + /* U+2B "+" */ + 0x0, 0xd8, 0xd, 0xf8, 0xf, 0xcf, 0xb6, 0xed, + 0xb3, 0x6c, 0xc1, 0x0, 0x40, 0xf8, + + /* U+2C "," */ + 0x58, 0x3f, 0xd5, 0x0, + + /* U+2D "-" */ + 0xbe, 0x80, + + /* U+2E "." */ + 0x8, 0x5, 0x0, + + /* U+2F "/" */ + 0x2, 0xc0, 0x49, 0x0, 0xb6, 0x1, 0x24, 0x0, + 0x58, 0x12, 0xc0, 0x55, 0x81, 0xf2, 0x40, 0x2f, + 0x40, 0x80, + + /* U+30 "0" */ + 0xb, 0xf2, 0x1, 0x76, 0x50, 0x4f, 0x9b, 0x1, + 0xfc, 0xc0, 0xe6, 0xe0, 0x4, 0x13, 0x20, 0x45, + 0xd6, 0x80, + + /* U+31 "1" */ + 0x0, 0xe8, 0xf9, 0x8f, 0xc0, 0x7f, 0xf3, 0x40, + + /* U+32 "2" */ + 0xf, 0xf2, 0x6, 0x7d, 0x43, 0x80, 0x80, 0x4c, + 0x10, 0x3a, 0x40, 0x13, 0x70, 0x3, 0x30, 0x17, + 0xa0, 0x48, 0xdf, 0xcc, + + /* U+33 "3" */ + 0xf, 0xe4, 0xc, 0xf2, 0x0, 0x50, 0x88, 0x28, + 0x22, 0x5, 0xec, 0x2, 0xf6, 0x81, 0x41, 0x1, + 0x40, 0x40, 0x15, 0xfa, 0x80, + + /* U+34 "4" */ + 0x2, 0xb4, 0x4, 0x50, 0x1a, 0x30, 0x22, 0x38, + 0x14, 0x80, 0x22, 0x8, 0x15, 0x5e, 0x29, 0x1f, + 0xa2, 0x80, 0x78, + + /* U+35 "5" */ + 0x13, 0xf8, 0x83, 0x7f, 0x10, 0xc, 0xc, 0xfe, + 0x60, 0x2c, 0x91, 0xd, 0x29, 0x86, 0x7, 0x42, + 0x13, 0x17, 0xf4, 0x20, + + /* U+36 "6" */ + 0x1, 0x3a, 0x1, 0xe, 0x40, 0x15, 0x20, 0x46, + 0xf6, 0x8, 0xfa, 0x0, 0x28, 0xa4, 0x24, 0x7, + 0x14, 0x52, 0xf, 0x35, 0x0, + + /* U+37 "7" */ + 0x7f, 0xe4, 0xff, 0x8a, 0x2, 0x4c, 0xd, 0xb0, + 0xc, 0xd8, 0x9, 0x20, 0x1b, 0xf0, 0x19, 0x20, + 0x13, 0x40, 0x40, + + /* U+38 "8" */ + 0xb, 0xf2, 0x1, 0x75, 0xa0, 0x41, 0x40, 0x8, + 0x28, 0x80, 0x9a, 0xc0, 0x13, 0x65, 0x8, 0x9e, + 0x64, 0x13, 0xa7, 0xd4, 0x0, + + /* U+39 "9" */ + 0xf, 0xe2, 0x2, 0x7b, 0xc2, 0x40, 0xc8, 0x1f, + 0x34, 0x50, 0x3, 0x37, 0x2, 0x7e, 0x10, 0x23, + 0x28, 0x5, 0x8b, 0x0, + + /* U+3A ":" */ + 0x1c, 0x5, 0x0, 0x80, 0xfc, 0x80, 0x50, + + /* U+3B ";" */ + 0x38, 0x18, 0x1, 0x1, 0xfa, 0x2, 0x82, 0x40, + 0x60, + + /* U+3C "<" */ + 0x2, 0x6c, 0xe, 0xa9, 0xe9, 0x89, 0xb0, 0x5, + 0x87, 0x40, 0x26, 0x0, + + /* U+3D "=" */ + 0x1f, 0xe1, 0xfe, 0x3, 0xdf, 0xe1, 0xfe, + + /* U+3E ">" */ + 0x30, 0xc, 0x47, 0x60, 0x53, 0xec, 0x2, 0x4d, + 0x80, 0x69, 0xe8, 0x33, 0x10, 0x0, + + /* U+3F "?" */ + 0x17, 0xd0, 0xc7, 0xd, 0xa8, 0x3c, 0x9, 0x50, + 0x11, 0x10, 0xe, 0x1, 0x50, 0x33, 0x3, 0x70, + 0x0, + + /* U+40 "@" */ + 0x2, 0xbb, 0x20, 0x1b, 0x4d, 0xa8, 0x2, 0x41, + 0x0, 0x81, 0x9, 0x5, 0xa3, 0x91, 0x62, 0xc2, + 0xdb, 0xb2, 0x19, 0xc, 0x80, 0xe5, 0x82, 0x8, + 0xe, 0x18, 0x61, 0x64, 0x49, 0xda, 0xfc, 0x83, + 0x16, 0x9e, 0x80, 0x25, 0x3, 0xe5, 0xf6, 0x88, + 0x0, + + /* U+41 "A" */ + 0x0, 0x78, 0x1c, 0x83, 0x3, 0x57, 0x80, 0xc6, + 0x20, 0x26, 0x81, 0x40, 0x36, 0x5, 0x80, 0x29, + 0xdb, 0x4, 0x7f, 0x81, 0xc8, 0x9, 0xd0, + + /* U+42 "B" */ + 0x1f, 0xd4, 0xb, 0xf0, 0x80, 0x6c, 0x40, 0xdb, + 0x0, 0x7e, 0x6c, 0x3, 0xf2, 0x80, 0x6c, 0x80, + 0xd9, 0x80, 0xfc, 0xa0, + + /* U+43 "C" */ + 0x1, 0x7e, 0x20, 0x29, 0xf3, 0x0, 0x50, 0x22, + 0x70, 0x16, 0x2c, 0xf, 0x30, 0x3c, 0x48, 0xb, + 0x10, 0x58, 0x44, 0x86, 0xcf, 0x30, + + /* U+44 "D" */ + 0x1f, 0xd0, 0xd, 0xf8, 0xc0, 0x3a, 0x30, 0x38, + 0x81, 0xff, 0xc8, 0x20, 0x7a, 0x30, 0x2f, 0xc6, + 0x0, + + /* U+45 "E" */ + 0x1f, 0xe6, 0x3, 0xf9, 0x81, 0xff, 0xc2, 0xfe, + 0x2, 0xfe, 0x3, 0xff, 0x87, 0xfd, 0x0, + + /* U+46 "F" */ + 0x1f, 0xe4, 0x3, 0xf9, 0x1, 0xff, 0xc2, 0xfe, + 0x2, 0xfe, 0x3, 0xff, 0x8e, + + /* U+47 "G" */ + 0x7, 0x7c, 0x80, 0x7b, 0xe5, 0x4, 0x98, 0x50, + 0x1, 0x2, 0x61, 0x80, 0x7f, 0x93, 0x0, 0xf9, + 0x4, 0x80, 0xf1, 0x80, 0x93, 0x18, 0xfd, 0x8, + + /* U+48 "H" */ + 0x1c, 0xa, 0x40, 0x1f, 0xfc, 0xbf, 0xe6, 0x5, + 0xfc, 0xc0, 0xff, 0xe5, 0x0, + + /* U+49 "I" */ + 0x1c, 0xf, 0xfe, 0x68, + + /* U+4A "J" */ + 0x2, 0x3c, 0xf, 0xfe, 0x6a, 0x40, 0x23, 0xc5, + 0x4c, 0x75, 0x0, + + /* U+4B "K" */ + 0x1c, 0x2, 0xe0, 0x75, 0xc0, 0x6a, 0xc8, 0x13, + 0x68, 0x6, 0x80, 0x7a, 0x86, 0x6, 0x5e, 0x1, + 0xc5, 0x40, 0x3a, 0xb2, + + /* U+4C "L" */ + 0x1c, 0xf, 0xff, 0x27, 0xf2, + + /* U+4D "M" */ + 0x1d, 0x81, 0x3e, 0x40, 0x60, 0x2c, 0x6, 0x40, + 0x48, 0xc, 0x90, 0x24, 0x3, 0x7e, 0x1b, 0x81, + 0x93, 0x9, 0x0, 0xe6, 0xe0, 0x3d, 0xe6, 0x3, + 0xc8, 0x30, 0x20, + + /* U+4E "N" */ + 0x1c, 0x80, 0x90, 0x2, 0x1, 0xe6, 0x40, 0xe9, + 0x0, 0x72, 0x64, 0xe, 0x90, 0x7, 0x26, 0x80, + 0xe8, 0x40, 0xe4, 0x40, + + /* U+4F "O" */ + 0x1, 0x7e, 0x20, 0x31, 0xf3, 0x0, 0x30, 0x22, + 0x89, 0x1, 0x22, 0xc0, 0xf3, 0x3, 0xc4, 0x80, + 0x91, 0x6, 0x4, 0x50, 0xc7, 0xcc, 0x0, + + /* U+50 "P" */ + 0x1f, 0xd9, 0x1, 0x7e, 0x94, 0xe, 0x40, 0x81, + 0x90, 0x20, 0x3f, 0x4a, 0x5, 0xfb, 0x20, 0x3f, + 0xf9, 0x40, + + /* U+51 "Q" */ + 0x6, 0xfc, 0x40, 0x7d, 0xee, 0x4, 0x98, 0x65, + 0x32, 0x4, 0xc8, 0x1f, 0xfc, 0x26, 0x40, 0x99, + 0x34, 0x8, 0xa1, 0xcf, 0xac, 0x1, 0xbf, 0x34, + 0x6, 0x39, 0x0, + + /* U+52 "R" */ + 0x1f, 0xd8, 0x81, 0x7e, 0x50, 0xe, 0xcc, 0xe, + 0xcc, 0xb, 0xf2, 0xa0, 0x5e, 0x81, 0xe4, 0x48, + 0xe, 0x74, 0xe, 0xac, 0x0, + + /* U+53 "S" */ + 0xb, 0xf4, 0x1, 0x77, 0x2c, 0x98, 0x70, 0x49, + 0x84, 0xc6, 0xce, 0xc0, 0x1b, 0xab, 0x4c, 0x1b, + 0x9c, 0x23, 0x12, 0x9b, 0x88, + + /* U+54 "T" */ + 0xbf, 0xf5, 0xf1, 0x7e, 0x3, 0xff, 0xbc, + + /* U+55 "U" */ + 0x38, 0xb, 0x81, 0xff, 0xdf, 0x24, 0x83, 0x20, + 0x2c, 0xfb, 0x80, + + /* U+56 "V" */ + 0x90, 0x5, 0x96, 0x40, 0x45, 0x21, 0x0, 0x90, + 0x2, 0x41, 0xf0, 0xd, 0x81, 0x20, 0x4, 0xc9, + 0x80, 0x12, 0xa8, 0xc, 0x9e, 0x3, 0x50, 0x80, + 0x0, + + /* U+57 "W" */ + 0x70, 0x7, 0x21, 0x52, 0x40, 0x48, 0x62, 0x90, + 0x23, 0xc1, 0xc0, 0x5a, 0x20, 0xd8, 0x25, 0x80, + 0x12, 0x4, 0x80, 0x26, 0x40, 0x6a, 0xc7, 0xa8, + 0x3, 0x38, 0x23, 0xc0, 0x10, 0x81, 0x8, 0x0, + + /* U+58 "X" */ + 0x5c, 0x2, 0xe1, 0x16, 0x24, 0x0, 0x94, 0x93, + 0x0, 0x86, 0x80, 0x6a, 0x18, 0x1a, 0x86, 0x4, + 0x86, 0x80, 0x52, 0x94, 0xc2, 0x2c, 0x78, 0x0, + + /* U+59 "Y" */ + 0x90, 0x1, 0x71, 0x58, 0xf, 0x1, 0x24, 0x13, + 0x1, 0x3b, 0x60, 0x24, 0xe5, 0x3, 0x52, 0x40, + 0x73, 0x3, 0xff, 0x8a, + + /* U+5A "Z" */ + 0x7f, 0xe8, 0xff, 0x8e, 0x2, 0x6c, 0x80, 0xa4, + 0x1, 0x34, 0x40, 0xa4, 0x1, 0x46, 0x40, 0x17, + 0x0, 0x90, 0xfe, 0xc0, + + /* U+5B "[" */ + 0x3e, 0x83, 0x40, 0xff, 0xe9, 0x9a, + + /* U+5C "\\" */ + 0x8c, 0xa, 0xe0, 0x22, 0x80, 0xc9, 0x0, 0xbe, + 0x2, 0x4c, 0xc, 0x48, 0xa, 0xd0, 0x12, 0x40, + 0x22, 0x0, + + /* U+5D "]" */ + 0xdc, 0xe0, 0x3f, 0xfa, 0x98, 0x0, + + /* U+5E "^" */ + 0x0, 0x80, 0x9d, 0x2, 0xa8, 0x81, 0x7a, 0x1a, + 0x50, + + /* U+5F "_" */ + 0xdf, 0xd4, + + /* U+60 "`" */ + 0x5c, 0x26, 0xc0, + + /* U+61 "a" */ + 0xf, 0xf2, 0x1, 0x3d, 0x80, 0x30, 0x44, 0x2, + 0xd8, 0x0, 0xdd, 0x80, 0x18, 0x6, 0x1, 0x3f, + 0xc4, 0x0, + + /* U+62 "b" */ + 0x38, 0xf, 0xfe, 0x35, 0xf0, 0x1, 0x99, 0x90, + 0x4c, 0x98, 0x1f, 0xfc, 0x12, 0x64, 0xc1, 0x9a, + 0x10, + + /* U+63 "c" */ + 0xf, 0xf2, 0x6, 0x7d, 0x43, 0x40, 0xc0, 0x48, + 0x3, 0x4, 0x80, 0x10, 0xd0, 0x38, 0x19, 0xf5, + 0x0, + + /* U+64 "d" */ + 0x3, 0x72, 0x7, 0xff, 0x6, 0x7a, 0x0, 0xbf, + 0x0, 0x34, 0x8, 0x2, 0x40, 0x62, 0x40, 0x66, + 0x89, 0x0, 0x2f, 0x42, 0x0, + + /* U+65 "e" */ + 0xf, 0xf2, 0x6, 0x7d, 0x43, 0x40, 0x80, 0x2b, + 0xf0, 0x24, 0xbf, 0x8b, 0x40, 0x18, 0x33, 0xf8, + 0x0, + + /* U+66 "f" */ + 0x7, 0x51, 0x2d, 0x6, 0x44, 0x35, 0x43, 0x50, + 0x1f, 0xfc, 0x80, + + /* U+67 "g" */ + 0x13, 0xdc, 0x49, 0xe8, 0x43, 0x44, 0x80, 0x12, + 0x3, 0x12, 0x3, 0x34, 0x48, 0x1, 0x7a, 0x1, + 0x4f, 0x41, 0xc, 0x20, 0x2f, 0xd2, 0x80, + + /* U+68 "h" */ + 0x38, 0xf, 0xfe, 0x35, 0xec, 0x1, 0x9a, 0x0, + 0x26, 0x3, 0xff, 0x9c, + + /* U+69 "i" */ + 0x18, 0x73, 0x80, 0xff, 0xe0, 0x0, + + /* U+6A "j" */ + 0x6, 0x83, 0x1, 0xe0, 0x7f, 0xf2, 0x98, 0x36, + 0x80, + + /* U+6B "k" */ + 0x38, 0xf, 0xfe, 0x3c, 0xa0, 0x45, 0xd0, 0x2f, + 0x40, 0x89, 0x1, 0xd6, 0x1, 0x14, 0xd8, 0xd, + 0x20, 0x0, + + /* U+6C "l" */ + 0x3c, 0xf, 0xfe, 0x30, + + /* U+6D "m" */ + 0x3f, 0x77, 0x7c, 0x2, 0xd9, 0x3f, 0x32, 0x8, + 0x21, 0x2, 0x7, 0xf3, 0x3, 0xff, 0x9e, + + /* U+6E "n" */ + 0x3a, 0xf6, 0x0, 0xcd, 0x0, 0x13, 0x1, 0xff, + 0xce, + + /* U+6F "o" */ + 0xb, 0xf3, 0x1, 0x76, 0x42, 0x90, 0x92, 0x42, + 0x40, 0x8, 0x24, 0x0, 0x84, 0x84, 0x24, 0x17, + 0x78, 0x40, + + /* U+70 "p" */ + 0x3a, 0xf6, 0x0, 0xdf, 0x0, 0x10, 0x9, 0x0, + 0xff, 0xe0, 0x93, 0x24, 0x6, 0x68, 0x5, 0x7b, + 0x3, 0xff, 0x82, + + /* U+71 "q" */ + 0x13, 0xde, 0x49, 0xe8, 0x1, 0xa2, 0x40, 0x9, + 0x1, 0x89, 0x1, 0x9a, 0x4, 0x1, 0x7e, 0x1, + 0x4f, 0x40, 0xff, 0xe1, 0x0, + + /* U+72 "r" */ + 0x3, 0x1f, 0x98, 0xe, 0xc1, 0x20, 0x3f, 0xf8, + 0xa0, + + /* U+73 "s" */ + 0x13, 0xe2, 0x4f, 0xd8, 0x41, 0x74, 0x5f, 0x48, + 0x58, 0xf5, 0x86, 0x9, 0x3c, 0x80, + + /* U+74 "t" */ + 0xc, 0xa, 0x11, 0x86, 0x18, 0x60, 0x3f, 0xf8, + 0x44, 0xa, 0xe0, + + /* U+75 "u" */ + 0x38, 0x7, 0x3, 0xff, 0x9a, 0x48, 0x30, 0x27, + 0xf0, 0x0, + + /* U+76 "v" */ + 0x8c, 0x2b, 0xb0, 0x6c, 0x48, 0x12, 0x2, 0x40, + 0x85, 0x10, 0xa, 0xb0, 0x2, 0x10, + + /* U+77 "w" */ + 0x8c, 0x56, 0x2a, 0xdc, 0x2c, 0x1b, 0x91, 0x26, + 0x9, 0xc9, 0x2, 0x40, 0xa, 0xe5, 0x30, 0xc, + 0x56, 0x24, 0x0, 0x90, 0x41, 0x0, + + /* U+78 "x" */ + 0x78, 0x4a, 0xc1, 0x70, 0x5e, 0x88, 0x67, 0x80, + 0x67, 0x80, 0x9d, 0x16, 0x8c, 0x80, + + /* U+79 "y" */ + 0xac, 0x3b, 0xb0, 0x6c, 0x48, 0x12, 0x13, 0xc1, + 0x44, 0x3, 0x2c, 0x1, 0x4, 0x4, 0x40, 0x9a, + 0x0, 0xec, 0x0, + + /* U+7A "z" */ + 0x7f, 0xd5, 0xfe, 0x3c, 0x3, 0x64, 0x2, 0x40, + 0x8, 0xc8, 0x7, 0x0, 0x31, 0xfb, 0x0, + + /* U+7B "{" */ + 0x0, 0x88, 0x30, 0x84, 0x80, 0x3f, 0x1, 0xe4, + 0x44, 0x8, 0x40, 0x80, 0x22, 0x7, 0xbf, 0x0, + 0x48, 0x0, 0xc2, + + /* U+7C "|" */ + 0xe0, 0x7f, 0x80, + + /* U+7D "}" */ + 0x64, 0x2, 0xe0, 0x9, 0x80, 0x10, 0x3e, 0x48, + 0x2, 0x41, 0x12, 0x8, 0x48, 0x7, 0x88, 0x2, + 0x60, 0xb8, 0x0, + + /* U+7E "~" */ + 0x13, 0x41, 0x11, 0x2c, 0x3a, 0x43, 0x44, 0xf8, + 0x0, + + /* U+F001 "ï€" */ + 0x3, 0xfe, 0x20, 0x7c, 0x5e, 0xf8, 0xc, 0xa7, + 0xd0, 0x81, 0xde, 0xb0, 0x3f, 0xf8, 0x25, 0xd6, + 0x7, 0x19, 0xb2, 0x20, 0x3c, 0x99, 0x3, 0xff, + 0x9a, 0xea, 0x0, 0x48, 0xc, 0xe2, 0x22, 0xec, + 0x3, 0x20, 0x26, 0x80, 0xb8, 0x3, 0xf7, 0x99, + 0xa8, 0xc0, 0xc4, 0x0, + + /* U+F005 "" */ + 0x3, 0xc8, 0x81, 0xff, 0x1b, 0x0, 0xff, 0xa0, + 0x44, 0xf, 0xe2, 0x80, 0x40, 0x38, 0xcb, 0xb0, + 0x9, 0x7d, 0x10, 0x4d, 0x10, 0x3c, 0x5d, 0xd, + 0x80, 0xff, 0x60, 0x11, 0x81, 0xfb, 0x10, 0x28, + 0x7, 0xd0, 0x81, 0xff, 0xc0, 0xe0, 0x71, 0x3, + 0xe2, 0x7, 0x30, 0x13, 0xe4, 0x18, 0x1c, 0xa7, + 0x60, 0xdd, 0x0, 0x80, + + /* U+F007 "" */ + 0x3, 0x12, 0x3, 0xf5, 0xd9, 0xd0, 0x1c, 0xd0, + 0x15, 0x3, 0xb0, 0x1c, 0x40, 0xc4, 0xe, 0x20, + 0x6a, 0x6, 0x60, 0x71, 0xcd, 0x48, 0x3, 0x9a, + 0xd0, 0x34, 0x0, 0xf9, 0x17, 0x48, 0xb0, 0x40, + 0x3f, 0x32, 0x80, 0xfe, 0x40, 0x7f, 0xd1, 0x2f, + 0xf0, + + /* U+F00C "" */ + 0x3, 0xf8, 0xe4, 0x7, 0xe3, 0x8d, 0x3, 0xe3, + 0x80, 0x55, 0x88, 0x11, 0xc0, 0x2a, 0xa7, 0x10, + 0x70, 0xa, 0x85, 0x1, 0x9e, 0x1, 0x50, 0x5, + 0x40, 0x40, 0x15, 0x1, 0x95, 0x2, 0xa8, 0xf, + 0x2c, 0x72, 0x3, 0x80, + + /* U+F00D "ï€" */ + 0x8, 0xc, 0x48, 0x6a, 0xc0, 0x2d, 0x81, 0x8, + 0xd5, 0x4, 0x44, 0x25, 0x7, 0x0, 0xa8, 0xb, + 0x1, 0x24, 0x2, 0x60, 0x15, 0x5, 0x8, 0xc5, + 0x7, 0x54, 0x21, 0xab, 0x0, 0xad, 0x88, + + /* U+F011 "" */ + 0x3, 0x9b, 0x1, 0xf1, 0x21, 0x20, 0x14, 0x4, + 0xb7, 0x3, 0x7a, 0x80, 0x51, 0x0, 0xd0, 0x50, + 0xc3, 0x40, 0x64, 0xc3, 0xc2, 0x81, 0xea, 0x33, + 0x4, 0xf, 0x10, 0xd8, 0x20, 0x1f, 0x80, 0x20, + 0xf8, 0xe0, 0x7b, 0x8c, 0x8a, 0xa0, 0x6a, 0x8b, + 0x1c, 0xaf, 0xb3, 0xa3, 0xc0, 0x1c, 0xc1, 0x20, + 0xf1, 0x3, 0x4f, 0xf4, 0x2, + + /* U+F012 "" */ + 0x3, 0xff, 0x83, 0x60, 0x1f, 0xfc, 0x14, 0x80, + 0x7f, 0x9a, 0x3, 0xff, 0x83, 0x20, 0xf, 0xf1, + 0x20, 0x3f, 0xf8, 0x3b, 0x81, 0xff, 0xcc, 0x3e, + 0x81, 0xff, 0xc2, 0x60, 0x7f, 0xab, 0x3, 0xff, + 0x80, 0x56, 0x3, 0xff, 0x9e, 0x6c, 0x37, 0x8b, + 0xc5, 0xe2, 0xf0, + + /* U+F013 "" */ + 0x3, 0x92, 0x1, 0xfc, 0xed, 0x30, 0x38, 0xa3, + 0x40, 0x52, 0x88, 0xd, 0x71, 0x0, 0x75, 0xc1, + 0x81, 0x92, 0x1, 0x9b, 0x20, 0x12, 0xd4, 0x0, + 0x98, 0xc0, 0x10, 0x4, 0x3, 0x0, 0xc0, 0x10, + 0x4, 0x3, 0x6, 0x80, 0x4b, 0x50, 0x2, 0x6c, + 0x6, 0x48, 0x6, 0x63, 0x5c, 0x40, 0x1d, 0xa0, + 0x5, 0x1a, 0x2, 0x93, 0x1, 0xce, 0xd3, 0x3, + 0x0, + + /* U+F015 "" */ + 0x3, 0xcc, 0x83, 0x8, 0x1f, 0x69, 0x9a, 0x68, + 0xe, 0x3c, 0xd5, 0x20, 0xf, 0x3c, 0x77, 0xe8, + 0x7, 0xa4, 0x2f, 0xca, 0xfa, 0x21, 0x15, 0xb7, + 0xc4, 0x3, 0xf8, 0x65, 0xa7, 0xa0, 0x72, 0xf9, + 0x23, 0x6a, 0x7, 0xc5, 0xd0, 0x3c, 0xbe, 0x3, + 0xff, 0x94, 0xc0, 0x10, 0x40, 0x98, 0x0, + + /* U+F01E "" */ + 0x3, 0xfc, 0xa0, 0x14, 0xfe, 0xcc, 0x66, 0xf, + 0x65, 0xb0, 0x9c, 0x80, 0xe2, 0x69, 0x1a, 0x84, + 0x19, 0x8c, 0x1, 0xf4, 0xb, 0x6, 0x6, 0x4b, + 0x36, 0x3, 0x8d, 0xba, 0x30, 0x3f, 0xec, 0x18, + 0x1f, 0xcc, 0xc6, 0x6, 0x64, 0xb, 0x89, 0xa4, + 0x69, 0xc0, 0x8f, 0x65, 0xb1, 0x78, 0xe, 0x9f, + 0xe8, 0x4, + + /* U+F023 "" */ + 0x2, 0x32, 0xb0, 0x3c, 0xb3, 0x53, 0x1, 0xd4, + 0x4c, 0x49, 0x81, 0x10, 0x99, 0xe3, 0x1, 0x30, + 0x40, 0x10, 0xc0, 0xff, 0xe0, 0xea, 0x1f, 0xf0, + 0x3d, 0x10, 0x3f, 0x88, 0x1f, 0xee, 0x7, 0xff, + 0x53, 0xc4, 0xbf, 0x98, + + /* U+F026 "" */ + 0x3, 0x1a, 0x4, 0x72, 0x72, 0x30, 0x8, 0xd8, + 0xf, 0xfe, 0x19, 0x3, 0xb7, 0xe8, 0x7, 0x38, + 0x7, 0x3e, + + /* U+F028 "" */ + 0x3, 0xff, 0x96, 0xf1, 0x3, 0xc6, 0x81, 0x35, + 0x80, 0xe3, 0x90, 0x7, 0xaa, 0x81, 0xc8, 0xc0, + 0x45, 0xb4, 0x86, 0x23, 0x60, 0x34, 0xb4, 0x88, + 0x20, 0x7d, 0x10, 0x2, 0x4c, 0xf, 0xa2, 0x0, + 0x49, 0x90, 0x3d, 0x2d, 0x22, 0xe, 0xfd, 0x0, + 0x8b, 0x69, 0xc, 0xc, 0xe0, 0x13, 0xd5, 0x40, + 0x39, 0xf0, 0x26, 0xb0, 0x1f, 0xf3, 0xc4, 0x0, + + /* U+F043 "ïƒ" */ + 0x2, 0x28, 0xf, 0xbd, 0x3, 0xc4, 0x83, 0x3, + 0xa0, 0x8, 0x6, 0x48, 0x5, 0x0, 0xa8, 0x19, + 0x91, 0x0, 0xf7, 0xc, 0xf, 0x12, 0xc, 0x81, + 0xe2, 0xa0, 0x1c, 0x69, 0xf9, 0x0, 0x41, 0xb2, + 0xc8, 0x2a, 0x2, 0x69, 0x16, 0x80, 0x0, + + /* U+F048 "ïˆ" */ + 0x50, 0xc, 0x56, 0x60, 0x4b, 0x50, 0x33, 0xa0, + 0x73, 0x80, 0x74, 0x80, 0x3c, 0xc0, 0xff, 0xe1, + 0xe2, 0x7, 0x8e, 0x20, 0x7d, 0x90, 0x1f, 0x56, + 0xa7, 0x3, 0x4a, + + /* U+F04A "ïŠ" */ + 0x3, 0xff, 0x89, 0x30, 0x1a, 0x60, 0x2c, 0xc8, + 0x16, 0x64, 0x1c, 0x40, 0x8e, 0x20, 0x16, 0x20, + 0x4b, 0x10, 0x2a, 0x7, 0x50, 0x3a, 0x81, 0xd4, + 0xe, 0x58, 0x81, 0x2c, 0x40, 0xc7, 0x20, 0x23, + 0x90, 0x1d, 0x59, 0x2, 0xac, 0x81, 0xa6, 0x3, + 0x4c, + + /* U+F04B "ï‹" */ + 0x4c, 0xf, 0xeb, 0x32, 0x3, 0xf8, 0xda, 0x3, + 0xfc, 0xbb, 0x3, 0xfd, 0x32, 0x3, 0xf8, 0xda, + 0x3, 0xfc, 0x98, 0x1f, 0xc9, 0x81, 0xf1, 0xb4, + 0x7, 0xd3, 0x20, 0x3c, 0xbb, 0x3, 0xc6, 0xd0, + 0x1e, 0xd3, 0x20, 0x3e, + + /* U+F04C "ïŒ" */ + 0xbf, 0xc4, 0x5f, 0xe2, 0x80, 0x90, 0x40, 0x48, + 0xd, 0xc0, 0xee, 0x7, 0xff, 0xeb, 0x81, 0xde, + 0xb7, 0x85, 0x6f, 0x0, + + /* U+F04D "ï" */ + 0x52, 0x7f, 0xa, 0xdf, 0xf8, 0xf, 0xf7, 0x3, + 0xff, 0xfe, 0x3a, 0x3, 0xf9, 0x0, + + /* U+F04E "ïŽ" */ + 0x3, 0xff, 0x81, 0xa0, 0x1b, 0x40, 0x31, 0x78, + 0x8, 0xbc, 0x7, 0x1c, 0x40, 0x8e, 0x20, 0x63, + 0x90, 0x11, 0xc8, 0xe, 0xa0, 0x75, 0x3, 0xa8, + 0x1d, 0x40, 0x8e, 0x40, 0x47, 0x20, 0xb, 0x10, + 0x25, 0x88, 0x2e, 0x81, 0x17, 0x40, 0xb4, 0x3, + 0x68, 0x6, + + /* U+F051 "ï‘" */ + 0x2c, 0xc, 0xa2, 0x94, 0xb, 0xbe, 0x15, 0x3, + 0xe5, 0x80, 0xf8, 0xe6, 0x7, 0x89, 0x1, 0xff, + 0xc2, 0xa8, 0xe, 0xa8, 0xe, 0xc8, 0xb, 0x1c, + 0x40, 0xcb, 0x10, 0x2b, 0xc0, + + /* U+F053 "ï“" */ + 0x3, 0x88, 0x1c, 0xb5, 0x2, 0x54, 0x70, 0xa, + 0x8a, 0x82, 0xa2, 0xa0, 0x68, 0xa8, 0x1, 0x42, + 0x1, 0xaa, 0x38, 0xd, 0x49, 0x60, 0x36, 0x25, + 0x40, 0xd9, 0x70, + + /* U+F054 "ï”" */ + 0x4, 0xe, 0x3b, 0x0, 0xc5, 0x1c, 0x6, 0xa8, + 0xe0, 0x35, 0x47, 0x1, 0xa9, 0x2a, 0x4, 0x88, + 0xe0, 0x15, 0x15, 0x5, 0x45, 0x40, 0xd1, 0x50, + 0x2, 0xaa, 0x2, + + /* U+F055 "ï•" */ + 0x3, 0x14, 0x40, 0xf8, 0xec, 0xbb, 0xc0, 0x32, + 0xc4, 0xc, 0xf0, 0x3, 0x40, 0xb4, 0x0, 0x68, + 0xa0, 0x62, 0x40, 0x48, 0xa0, 0x5b, 0x6, 0xe0, + 0x8, 0x85, 0x20, 0x19, 0x0, 0x44, 0x29, 0x0, + 0xc8, 0x2, 0x40, 0xb6, 0xd, 0xc0, 0x14, 0x3, + 0x12, 0x2, 0x44, 0x50, 0x2d, 0x0, 0x1a, 0x1, + 0x62, 0x6, 0x78, 0xc, 0x76, 0x5d, 0xe0, 0x10, + + /* U+F056 "ï–" */ + 0x3, 0xff, 0x87, 0x3f, 0xb3, 0x3, 0x1e, 0xc0, + 0x8c, 0xa0, 0x58, 0xf, 0x94, 0x10, 0xf, 0xe6, + 0x50, 0x2, 0x7c, 0x1, 0x10, 0xf6, 0xf0, 0x11, + 0xf, 0x6f, 0x1, 0x20, 0x4, 0xf8, 0x2, 0x80, + 0x7f, 0x32, 0x30, 0x1f, 0x28, 0x0, 0xf6, 0x4, + 0x65, 0x3, 0xa7, 0xf6, 0x60, 0x40, + + /* U+F058 "ï˜" */ + 0x3, 0x26, 0xc8, 0xf, 0x2f, 0x64, 0x5e, 0x80, + 0x95, 0x3, 0xd5, 0x0, 0xa0, 0x7e, 0xa2, 0x1, + 0xf6, 0x82, 0x10, 0x3d, 0x8e, 0x5, 0x89, 0xc8, + 0xc6, 0xa0, 0xd8, 0x51, 0xb0, 0xd4, 0x1, 0xe0, + 0x70, 0x35, 0x1, 0x66, 0x41, 0xd8, 0x80, 0x8b, + 0x1c, 0x82, 0x40, 0x47, 0x80, 0x39, 0x81, 0x9e, + 0x20, 0x69, 0xfe, 0x80, 0x40, + + /* U+F059 "ï™" */ + 0x3, 0xff, 0x87, 0x3f, 0xd0, 0xc, 0x7b, 0x0, + 0x43, 0xe4, 0x7, 0x1, 0x7e, 0xc2, 0x38, 0x64, + 0x34, 0xd8, 0xc0, 0x5e, 0x0, 0xf4, 0xa1, 0x80, + 0xcc, 0x8, 0xbc, 0x20, 0x6, 0xc0, 0x6a, 0x32, + 0x0, 0xf0, 0x1b, 0xe2, 0x5, 0x99, 0x2, 0xd8, + 0x4, 0x58, 0xe0, 0x5b, 0x0, 0xb8, 0x3, 0xd8, + 0x24, 0x1f, 0x20, 0x69, 0xfe, 0x80, 0x40, + + /* U+F05A "ïš" */ + 0x3, 0x16, 0xc4, 0xf, 0x1d, 0x92, 0x37, 0x40, + 0x4b, 0x10, 0x3a, 0xb0, 0x14, 0xa, 0x50, 0x28, + 0x60, 0x19, 0x20, 0x1a, 0x90, 0x34, 0xa0, 0x64, + 0xc0, 0x8d, 0x80, 0x62, 0xc0, 0x8a, 0x3, 0x8f, + 0x2, 0x28, 0xa0, 0x2a, 0x88, 0x3, 0x69, 0x1, + 0x31, 0x88, 0x4, 0x80, 0x58, 0xb, 0x32, 0x4, + 0xf9, 0x3, 0x4d, 0xfd, 0x0, 0x80, + + /* U+F05E "ïž" */ + 0x3, 0x26, 0xc8, 0xf, 0x2f, 0x64, 0x5e, 0x80, + 0x95, 0x37, 0xf5, 0x35, 0x0, 0xa0, 0x81, 0x2c, + 0x68, 0x83, 0x1a, 0x80, 0xb8, 0x84, 0xd8, 0xd4, + 0x0, 0x99, 0xb0, 0xc, 0x6a, 0x0, 0xdc, 0x80, + 0xb1, 0xa8, 0x36, 0xc1, 0x1, 0x63, 0x61, 0xcc, + 0xd2, 0x5, 0x8b, 0x2c, 0x73, 0xab, 0x6a, 0x4b, + 0x80, 0x39, 0xa9, 0x9, 0xe2, 0x6, 0x9f, 0xe8, + 0x4, + + /* U+F060 "ï " */ + 0x3, 0x38, 0x7, 0xe7, 0x18, 0x1f, 0x38, 0x30, + 0x1e, 0x70, 0x62, 0x7, 0x38, 0xc, 0xb7, 0x8d, + 0x0, 0x52, 0xfb, 0x80, 0x5b, 0x79, 0x9c, 0x15, + 0x27, 0x80, 0x1c, 0x1c, 0x3, 0xe3, 0x83, 0x3, + 0xf1, 0xf8, 0xe, + + /* U+F061 "ï¡" */ + 0x3, 0x1a, 0x7, 0xf5, 0x58, 0xf, 0xd1, 0x9c, + 0x7, 0xe8, 0xce, 0x1, 0x2d, 0xe2, 0xe, 0xd, + 0x2f, 0x0, 0x2b, 0x6f, 0x50, 0xd, 0x13, 0xc2, + 0x87, 0x0, 0xe3, 0x83, 0x80, 0x7a, 0x87, 0x0, + 0xfa, 0x58, 0x6, + + /* U+F062 "ï¢" */ + 0x3, 0x26, 0x7, 0xe5, 0x64, 0x1, 0xe5, 0x40, + 0x38, 0x6, 0x54, 0xc, 0xe0, 0x5, 0x45, 0x23, + 0x7, 0x4, 0x15, 0x0, 0x38, 0x33, 0xea, 0x3, + 0x1d, 0x49, 0x20, 0x3c, 0x50, 0x1f, 0xfc, 0xf4, + 0x40, 0xe0, + + /* U+F063 "ï£" */ + 0x3, 0x38, 0x7, 0xf5, 0x60, 0x7f, 0xf4, 0x8, + 0x1f, 0x11, 0xb0, 0x81, 0xdb, 0x5, 0x18, 0x80, + 0x38, 0xa0, 0xe0, 0xc4, 0x72, 0xa8, 0x7, 0x0, + 0x8a, 0xa0, 0x67, 0x0, 0x2a, 0x7, 0x9c, 0x54, + 0xc, + + /* U+F067 "ï§" */ + 0x3, 0x38, 0x7, 0xf5, 0x68, 0xf, 0xc4, 0x10, + 0x3f, 0xf8, 0x6a, 0x48, 0x6, 0x92, 0x15, 0xb8, + 0x2, 0x6f, 0x92, 0x80, 0x14, 0xb4, 0xb6, 0x1, + 0x6e, 0x20, 0x7f, 0xf3, 0x99, 0x40, 0x60, + + /* U+F068 "ï¨" */ + 0x4d, 0xff, 0xb, 0x27, 0xf3, 0x44, 0xff, 0x80, + + /* U+F06E "ï®" */ + 0x2, 0x37, 0x7e, 0xcc, 0xf, 0x4c, 0xae, 0xae, + 0x72, 0x5, 0x58, 0xcd, 0x1a, 0xc6, 0x41, 0xa0, + 0xc8, 0xb2, 0xc0, 0x14, 0x40, 0x1d, 0xf2, 0x10, + 0x19, 0xb0, 0xe, 0x80, 0x88, 0x19, 0xc4, 0x18, + 0x85, 0x68, 0x2, 0x80, 0xac, 0x61, 0xfa, 0xb1, + 0x90, 0x14, 0xce, 0xea, 0xe7, 0x20, 0x0, + + /* U+F070 "ï°" */ + 0x24, 0x7, 0xff, 0xb, 0xe4, 0x7, 0xff, 0x7, + 0x1b, 0x15, 0xfe, 0xa8, 0xf, 0x66, 0xd5, 0xdd, + 0x5d, 0xc0, 0x7a, 0x50, 0x44, 0x38, 0x97, 0x3, + 0x58, 0xb1, 0xaa, 0x38, 0x2, 0x80, 0x29, 0xd3, + 0x90, 0xc, 0xc0, 0x22, 0xa, 0x9, 0x5, 0x81, + 0x20, 0x4, 0x40, 0x52, 0x20, 0x7, 0x84, 0x1, + 0x40, 0xd9, 0x1c, 0x89, 0x74, 0x10, 0x1e, 0xb4, + 0xee, 0xa2, 0xb5, 0x80, 0xf2, 0xbf, 0xa8, 0x9, + 0x4f, 0x3, 0xff, 0x82, 0xb5, 0x0, + + /* U+F077 "ï·" */ + 0x3, 0x16, 0x7, 0xe3, 0xa4, 0x1, 0xe3, 0x80, + 0x38, 0x6, 0x38, 0x3c, 0x1c, 0x0, 0x70, 0x70, + 0xe0, 0xe0, 0x81, 0xc0, 0x7, 0x6, 0xa4, 0x80, + 0xc7, 0x44, + + /* U+F078 "ï¸" */ + 0x2c, 0xf, 0x16, 0x24, 0x80, 0xc7, 0x45, 0x3, + 0x80, 0xe, 0xd, 0x1c, 0x1c, 0x38, 0x38, 0x0, + 0xe0, 0xf0, 0x70, 0xc, 0x70, 0x7, 0x0, 0xf1, + 0xd2, 0x0, 0xc0, + + /* U+F07B "ï»" */ + 0xbf, 0xe6, 0x7, 0x90, 0x1a, 0x4e, 0x68, 0xf, + 0x37, 0xa5, 0x3, 0xff, 0xe0, 0x80, 0xff, 0x20, + + /* U+F080 "ï‚€" */ + 0xec, 0x8, 0x90, 0x3, 0xc8, 0xe0, 0x52, 0x0, + 0x30, 0xc0, 0xe6, 0xca, 0x81, 0xe2, 0x5, 0x90, + 0x1e, 0xcc, 0xf, 0xfe, 0x3, 0x6e, 0x18, 0x60, + 0x5d, 0xda, 0x7c, 0xf2, 0x14, 0x9f, 0xcc, 0x93, + 0x7f, 0xd0, + + /* U+F084 "ï‚„" */ + 0x3, 0xce, 0xd2, 0x3, 0xed, 0x12, 0x5a, 0x3, + 0xa9, 0x1, 0x69, 0x30, 0x32, 0x2, 0x48, 0x28, + 0x11, 0x3, 0x36, 0x4, 0x8, 0x81, 0xa4, 0x1, + 0xd4, 0xf, 0x98, 0xa, 0x80, 0xf1, 0x82, 0x20, + 0x31, 0x27, 0x84, 0x60, 0x4a, 0xec, 0x80, 0x18, + 0x1a, 0x20, 0x3f, 0x1e, 0x40, 0xf3, 0x74, 0x3, + 0xf0, + + /* U+F085 "ï‚…" */ + 0x3, 0xff, 0x81, 0xc, 0x3, 0xc7, 0x74, 0x4, + 0x5e, 0x60, 0x62, 0x11, 0x1c, 0x11, 0x96, 0x18, + 0x2, 0xde, 0x0, 0x5f, 0x44, 0xd8, 0x20, 0x10, + 0xc, 0x40, 0x9f, 0x30, 0x40, 0x1c, 0x2, 0xf9, + 0x0, 0x8b, 0x68, 0x8, 0x80, 0xc0, 0x38, 0x4, + 0x8, 0x20, 0x50, 0x5, 0x1, 0x80, 0x73, 0xc, + 0x2, 0x20, 0xf, 0xe6, 0x0, 0xb6, 0xcc, 0xa, + 0x96, 0x6, 0x6a, 0xd2, 0xc3, 0x1, 0x69, 0x80, + 0x48, 0xa9, 0x1b, 0x4, 0x7, 0x18, 0xd0, 0x14, + 0x30, 0x40, 0x3c, 0xe1, 0x2, 0x3b, 0x40, 0x0, + + /* U+F09C "ï‚œ" */ + 0x2, 0x32, 0xb0, 0x3c, 0xb3, 0x53, 0x1, 0xd4, + 0x4c, 0x49, 0x81, 0x10, 0x99, 0xe2, 0x81, 0x30, + 0x40, 0x10, 0xc0, 0xfe, 0xf4, 0xb, 0x2, 0x97, + 0x11, 0xd8, 0x56, 0xf6, 0x60, 0x7f, 0xb8, 0x1f, + 0xfd, 0x4f, 0x12, 0xff, 0x0, + + /* U+F0C2 "" */ + 0x3, 0x16, 0xc4, 0xf, 0xf4, 0xd2, 0x34, 0x3, + 0xf2, 0x60, 0x67, 0xbe, 0x3, 0xb8, 0x1e, 0x20, + 0xc0, 0x22, 0x80, 0xfe, 0x20, 0x16, 0x3, 0xfc, + 0xa0, 0x80, 0x7f, 0xf0, 0x1c, 0x20, 0x7f, 0xf0, + 0x59, 0x3, 0xff, 0x85, 0x0, 0xff, 0xe0, 0xb5, + 0x48, 0x1f, 0xc6, 0x40, + + /* U+F0C9 "" */ + 0x3, 0xfe, 0xff, 0xfc, 0xd9, 0x2f, 0xe3, 0x2d, + 0xfe, 0x52, 0x7f, 0x8b, 0x7f, 0xe5, 0xf6, 0xfe, + 0x60, 0x9f, 0xe1, 0x2d, 0xfe, 0x4d, 0x2f, 0xe3, + 0xff, 0xf9, 0x80, + + /* U+F0D7 "" */ + 0x9f, 0xf8, 0xc2, 0x6, 0x84, 0x62, 0x2, 0x30, + 0x2c, 0x63, 0x0, + + /* U+F0D8 "" */ + 0x3, 0xfe, 0xcc, 0xe, 0xc6, 0x30, 0x2c, 0x40, + 0x46, 0x21, 0x3, 0x42, + + /* U+F0D9 "" */ + 0x3, 0xf3, 0xa0, 0x1c, 0x0, 0xe0, 0x14, 0x3, + 0x40, 0x33, 0x80, 0x67, 0x0, 0xce, 0x80, + + /* U+F0DA "" */ + 0x3, 0x62, 0x0, 0xe2, 0x5, 0x88, 0x17, 0x2, + 0xe0, 0x31, 0x2c, 0x46, 0x20, 0x0, + + /* U+F0E2 "" */ + 0x68, 0xf, 0xf4, 0xe2, 0x7f, 0xa0, 0x19, 0xf6, + 0x5b, 0x17, 0xc8, 0x2, 0x2e, 0x91, 0xa8, 0xc0, + 0x6b, 0xc8, 0x5, 0x3, 0x4b, 0x80, 0xcc, 0x6b, + 0x78, 0x81, 0xcc, 0xf, 0xf9, 0x81, 0xfc, 0xc6, + 0x0, 0x58, 0x19, 0xc2, 0xc0, 0x79, 0xa4, 0x68, + 0x38, 0x16, 0x65, 0xb1, 0x7c, 0x81, 0xa7, 0xfa, + 0x1, 0x0, + + /* U+F0E7 "" */ + 0x1, 0x6e, 0x3, 0x25, 0xc0, 0x62, 0x4, 0x80, + 0xdc, 0xb, 0x1, 0x88, 0x14, 0xfc, 0xc2, 0x3, + 0xcc, 0xf, 0x98, 0xf, 0xe2, 0x2, 0x1, 0xc4, + 0x50, 0x38, 0x82, 0x80, 0xe4, 0x38, 0x1e, 0xcc, + 0x81, 0xe9, 0x0, 0x60, + + /* U+F0E9 "" */ + 0x3, 0xe2, 0x7, 0xff, 0xb, 0x30, 0x3f, 0xcb, + 0x71, 0x3c, 0x3, 0xeb, 0x44, 0xc, 0xfa, 0x3, + 0x54, 0x7, 0xea, 0x80, 0x34, 0x7, 0xfa, 0x80, + 0xa9, 0x0, 0x88, 0x19, 0x84, 0x25, 0xb0, 0xce, + 0xa3, 0xe7, 0x61, 0x0, 0x58, 0xad, 0x70, 0x11, + 0x3, 0x88, 0x1f, 0xfc, 0x2a, 0x47, 0x3, 0xfe, + 0x58, 0x20, 0x3f, 0xed, 0x31, 0x3, 0xc0, + + /* U+F0EB "" */ + 0x0, 0x5b, 0x20, 0x34, 0xd2, 0x2d, 0x0, 0x6e, + 0xc8, 0x2a, 0x29, 0xd8, 0x80, 0x20, 0x54, 0x3, + 0x89, 0x32, 0x7, 0x1a, 0x7, 0x90, 0x68, 0xe, + 0xa0, 0x28, 0x1a, 0x81, 0xad, 0xc8, 0xd, 0xed, + 0x80, 0xe2, 0x0, 0x81, 0xd2, 0xd6, 0x2, + + /* U+F0F3 "" */ + 0x3, 0x90, 0x1f, 0xd2, 0x81, 0xf1, 0xcc, 0x78, + 0x7, 0x62, 0x4, 0xd8, 0x9, 0x1, 0xea, 0x5, + 0x80, 0xf1, 0x2, 0x20, 0x7c, 0x40, 0x30, 0x3e, + 0x61, 0x90, 0x3e, 0x82, 0x1, 0xf8, 0xbd, 0x6f, + 0xec, 0xca, 0x47, 0x6b, 0x24, 0x20, 0x63, 0x64, + 0x1, 0x80, + + /* U+F0F4 "" */ + 0x2, 0x72, 0x7f, 0x30, 0x3a, 0x37, 0xfd, 0x39, + 0x3, 0xff, 0x81, 0xf0, 0x80, 0x7f, 0xf0, 0x4a, + 0x60, 0x7f, 0xf0, 0x1c, 0x54, 0xf, 0xfe, 0x4, + 0x6e, 0x3, 0xff, 0x81, 0xbc, 0x3, 0x30, 0x3e, + 0x44, 0xf, 0x48, 0x4b, 0x9d, 0x3, 0xa4, 0xb9, + 0x3c, 0x24, 0xc0, 0x13, 0x7f, 0xfc, 0x2, 0x0, + + /* U+F0FE "" */ + 0x9b, 0x7f, 0x26, 0x4f, 0xf7, 0x3, 0x5e, 0x80, + 0xff, 0x10, 0x3d, 0x21, 0x8d, 0x18, 0x19, 0xb1, + 0x9, 0xd0, 0x33, 0x62, 0x13, 0xa0, 0x69, 0xc, + 0x68, 0xc0, 0xfc, 0x40, 0xfd, 0x7a, 0x3, 0x32, + 0x7f, 0xb8, + + /* U+F108 "" */ + 0x4e, 0x4f, 0xf3, 0x16, 0x37, 0xfe, 0x8c, 0x3f, + 0xff, 0xc3, 0x81, 0xff, 0xfb, 0x2d, 0xff, 0x87, + 0x2a, 0x4f, 0xf0, 0x3b, 0xfc, 0xc0, 0x7f, 0xc8, + 0xa, 0xe6, 0x3, 0xe4, 0x7, 0xa4, 0x5b, 0xa2, + 0x2, + + /* U+F109 "" */ + 0x0, 0xe4, 0xfe, 0x60, 0x4e, 0x37, 0xfd, 0x18, + 0xe, 0x3f, 0xfe, 0x1c, 0xf, 0xff, 0xf8, 0x1b, + 0xff, 0xe0, 0x36, 0x6f, 0xfe, 0xc2, 0xc4, 0xa3, + 0x65, 0x4b, 0x4a, 0xc9, 0xcb, 0x7c, 0x4f, 0x3f, + 0x1b, 0xff, 0xa7, + + /* U+F128 "" */ + 0x2, 0x4d, 0x80, 0xcb, 0xd9, 0x1d, 0x83, 0x40, + 0xe8, 0x81, 0x17, 0xe0, 0x10, 0xee, 0x81, 0x3, + 0xe7, 0xc0, 0x50, 0x27, 0x0, 0x36, 0x2, 0xa0, + 0x34, 0x3, 0x57, 0x8, 0x1e, 0x40, 0x7d, 0xc, + 0x3, 0xff, 0x87, 0xef, 0x2, + + /* U+F129 "ï„©" */ + 0x9, 0x80, 0x36, 0x50, 0xc0, 0x30, 0x90, 0xc0, + 0x17, 0x21, 0xfc, 0xc0, 0xdc, 0x70, 0x3f, 0xf8, + 0x54, 0x3, 0x48, 0x4, 0x75, 0xb3, + + /* U+F12E "ï„®" */ + 0x3, 0x46, 0x7, 0xfd, 0x1c, 0x40, 0x7f, 0xb8, + 0x4, 0x7, 0xf9, 0x86, 0x7, 0xe8, 0xda, 0x86, + 0xd2, 0xf0, 0x33, 0x90, 0x80, 0x46, 0x90, 0xf, + 0xfe, 0x9, 0x3, 0xff, 0x82, 0x8d, 0xa0, 0x31, + 0xb0, 0x8, 0xe4, 0x8c, 0xa, 0x26, 0x40, 0x28, + 0x41, 0x2, 0xe0, 0x90, 0xc, 0xf7, 0x40, 0x48, + 0x50, 0x3f, 0x6b, 0x58, 0x4b, 0x59, 0x81, 0x80, + + /* U+F130 "ï„°" */ + 0x2, 0x28, 0xf, 0x4d, 0x70, 0x1c, 0xc0, 0x14, + 0x7, 0xe2, 0x7, 0xfd, 0x88, 0x1d, 0x89, 0x1, + 0xe2, 0xb, 0x20, 0x44, 0x19, 0x1d, 0x1b, 0xd0, + 0x57, 0x9b, 0x1d, 0x0, 0xf7, 0x91, 0x80, 0xda, + 0x8, 0x80, 0xd2, 0xd4, 0x40, 0x0, + + /* U+F144 "ï…„" */ + 0x3, 0x26, 0xc4, 0xf, 0x2f, 0x64, 0x6c, 0x20, + 0x4e, 0x81, 0xc7, 0x20, 0x60, 0x4, 0x7, 0x51, + 0x40, 0x2b, 0x88, 0x19, 0xa0, 0x31, 0xd0, 0xb, + 0x90, 0x3c, 0xf0, 0x2, 0x40, 0x79, 0x70, 0x6, + 0x81, 0x8d, 0xa2, 0x3, 0x30, 0xa, 0xe4, 0x4, + 0x90, 0x60, 0x8, 0xc, 0x68, 0x3, 0xd8, 0x19, + 0xe0, 0x3a, 0x7f, 0xa0, 0x10, + + /* U+F146 "ï…†" */ + 0xbf, 0xff, 0x34, 0x7, 0xf6, 0x3, 0xff, 0x99, + 0x6f, 0xa0, 0x19, 0x2f, 0x80, 0xc9, 0x7c, 0x6, + 0xb7, 0xd0, 0xf, 0xfe, 0x62, 0x3, 0xfb, 0x0, + + /* U+F14A "ï…Š" */ + 0x52, 0x7f, 0xa, 0xdf, 0xf8, 0xf, 0xf7, 0x3, + 0xe7, 0x0, 0xfc, 0xe1, 0x2, 0x38, 0x87, 0x15, + 0x3, 0x1c, 0xe2, 0xa0, 0x63, 0x84, 0x54, 0xf, + 0x1c, 0xe8, 0x1f, 0x8c, 0x3, 0xba, 0x3, 0xf9, + 0x0, + + /* U+F185 "" */ + 0x3, 0xff, 0x8b, 0x68, 0xf, 0x18, 0x49, 0x21, + 0x28, 0x40, 0x9e, 0xc2, 0x5b, 0x18, 0x11, 0x21, + 0x6d, 0x81, 0x20, 0x8, 0x59, 0x2f, 0x42, 0x16, + 0x88, 0x20, 0x8, 0x36, 0xa2, 0xc, 0xc, 0xc2, + 0x86, 0xa9, 0x49, 0x58, 0xa9, 0x0, 0x93, 0xda, + 0xe9, 0x0, 0x90, 0x66, 0x41, 0x61, 0x0, 0x5e, + 0x41, 0x29, 0x1d, 0x1, 0xe9, 0x0, 0x70, + + /* U+F186 "" */ + 0x3, 0x8a, 0x20, 0x7c, 0xb6, 0x58, 0x7, 0x9d, + 0x21, 0x50, 0x39, 0x40, 0x2a, 0x7, 0xa0, 0x12, + 0x3, 0xe2, 0x4, 0x40, 0xf1, 0x3, 0x10, 0x3f, + 0xe4, 0x7, 0x88, 0x1d, 0x40, 0xf3, 0x3, 0x2c, + 0x40, 0xd0, 0x81, 0x8e, 0xfc, 0x80, 0x64, 0x7, + 0xaa, 0x2, 0xb9, 0xa4, 0x9d, 0x0, + + /* U+F1B9 "" */ + 0x2, 0x3b, 0xfd, 0x0, 0xf6, 0xd, 0xf8, 0x8, + 0xb1, 0xe4, 0xca, 0x90, 0x1a, 0x4, 0xde, 0x7, + 0x30, 0x89, 0x49, 0xc8, 0x86, 0x1d, 0xc0, 0x73, + 0xc0, 0x87, 0x38, 0x1c, 0xf8, 0x23, 0x0, 0x6f, + 0x90, 0x20, 0x8, 0x72, 0x78, 0x30, + + /* U+F1DE "" */ + 0x3, 0xa4, 0x1, 0xdf, 0xf3, 0x6f, 0xfa, 0x37, + 0x89, 0x37, 0xa3, 0x93, 0x7e, 0x93, 0x37, 0xe4, + 0x8f, 0x63, 0x69, 0x3f, 0x12, 0x91, 0xff, 0xe6, + 0xdf, 0x80, 0x12, 0x3, 0x48, 0x0, 0xe7, 0xe9, + 0x3e, 0x71, 0x92, 0x6f, 0xe9, 0xf9, 0xb7, 0xff, + 0x80, + + /* U+F1E6 "" */ + 0x0, 0x40, 0x88, 0x13, 0xc0, 0x59, 0x80, 0xe0, + 0x77, 0x3, 0xfd, 0x2, 0x92, 0x42, 0x36, 0x4d, + 0xc9, 0xb6, 0x3, 0xec, 0x40, 0xf8, 0x84, 0x7, + 0x20, 0x14, 0x81, 0x1a, 0x5, 0xa0, 0x98, 0xe, + 0x20, 0x81, 0xe6, 0x98, 0x10, + + /* U+F1EB "" */ + 0x3, 0xff, 0x8e, 0xa5, 0xd6, 0x20, 0x3d, 0x3d, + 0x68, 0xa7, 0x7c, 0x0, 0x7b, 0xa, 0xed, 0x54, + 0x1f, 0x3c, 0x2f, 0x51, 0x32, 0xbd, 0xf, 0xd2, + 0x85, 0x7f, 0xaa, 0x16, 0xb9, 0x63, 0x54, 0x4, + 0xae, 0x8, 0x80, 0x26, 0xbf, 0xd4, 0x98, 0xc, + 0x7e, 0x40, 0x4b, 0x72, 0x7, 0xeb, 0xe8, 0x1f, + 0xfc, 0x4, 0x10, 0x1f, 0xfc, 0x8, 0x60, 0x1e, + + /* U+F1F8 "" */ + 0x2, 0x32, 0x18, 0x1a, 0xdb, 0x36, 0x9a, 0xd2, + 0x69, 0x0, 0xc5, 0x21, 0xd6, 0xfe, 0xcc, 0xdb, + 0xfa, 0x1, 0xff, 0xc0, 0x20, 0x7e, 0x20, 0x7f, + 0xf2, 0x78, 0x1f, 0xfc, 0x12, 0x7, 0xc4, 0xf, + 0xfe, 0xc, 0x4b, 0xcd, 0x0, + + /* U+F1FE "" */ + 0xec, 0xf, 0xfb, 0x80, 0xe4, 0xf, 0xea, 0x30, + 0x8, 0x40, 0xc9, 0x0, 0x6e, 0xe0, 0x1b, 0x81, + 0x10, 0x8, 0x81, 0x30, 0x3e, 0x80, 0x48, 0x9f, + 0x80, 0x90, 0x4b, 0xe2, 0xc1, 0x6f, 0xfa, 0x0, + + /* U+F200 "" */ + 0x3, 0xe7, 0x10, 0x1f, 0xa6, 0x39, 0xda, 0x3, + 0x8f, 0x65, 0x81, 0x2c, 0x6, 0xc0, 0x7e, 0x2c, + 0x4, 0x3, 0xfd, 0x40, 0x20, 0x38, 0x81, 0xf1, + 0x3, 0xa7, 0xfb, 0x1, 0xf7, 0x17, 0xfd, 0x42, + 0x3, 0x2b, 0x48, 0xb, 0x8, 0x7, 0x2b, 0x48, + 0x3, 0x6, 0x1, 0xca, 0xd2, 0xa0, 0x4e, 0x90, + 0x36, 0x15, 0x1, 0x96, 0xcb, 0xbb, 0x3, 0x0, + + /* U+F201 "ïˆ" */ + 0xec, 0xf, 0x14, 0x40, 0x70, 0x39, 0x6b, 0x88, + 0x11, 0xa4, 0x22, 0x1, 0x80, 0x39, 0x63, 0x9, + 0x6, 0x2, 0x8a, 0x33, 0x6d, 0x48, 0x9, 0xd6, + 0x2e, 0x4, 0x7, 0x8e, 0x80, 0x72, 0x93, 0xf9, + 0x92, 0x6f, 0xfa, 0x0, + + /* U+F204 "" */ + 0x1, 0x37, 0xfe, 0xa4, 0xb, 0x37, 0x20, 0xd, + 0x96, 0x42, 0x1b, 0x52, 0xd0, 0x9, 0xcd, 0x9, + 0x40, 0x49, 0x40, 0x38, 0x44, 0x80, 0xe2, 0x40, + 0x8, 0x26, 0x3, 0x89, 0x0, 0x20, 0xa5, 0x1, + 0x25, 0x0, 0xe1, 0x43, 0x6a, 0x5a, 0x1, 0x39, + 0xa0, 0x33, 0x72, 0x0, 0xd9, 0x64, 0x0, + + /* U+F205 "" */ + 0x1, 0x37, 0xfe, 0xa4, 0xb, 0x32, 0x6, 0x6c, + 0xb2, 0x10, 0x81, 0x8f, 0x91, 0xcd, 0x8, 0xe, + 0xe0, 0x6e, 0x11, 0x3, 0x88, 0x18, 0x82, 0x40, + 0x71, 0x3, 0x10, 0x50, 0x1d, 0xc0, 0xdc, 0x28, + 0x40, 0xc7, 0xc8, 0xe6, 0x80, 0xcc, 0x81, 0x9b, + 0x2c, 0x80, + + /* U+F236 "" */ + 0xec, 0x1, 0x3, 0xfe, 0xeb, 0xe8, 0x1c, 0x99, + 0x90, 0x2e, 0x1, 0xa8, 0xde, 0x99, 0x0, 0xc0, + 0x10, 0x1f, 0xa0, 0x7, 0x65, 0x3, 0xf1, 0xf, + 0x4b, 0xa0, 0x1f, 0xe2, 0x78, 0xf, 0xe2, 0xdf, + 0xfc, 0x40, 0x59, 0x3f, 0xea, 0x0, + + /* U+F240 "" */ + 0x2d, 0xff, 0xf0, 0x10, 0xd2, 0x7f, 0xf0, 0x29, + 0xf, 0x5b, 0xfe, 0x1c, 0x7, 0xb7, 0xf9, 0x92, + 0x3, 0xff, 0x80, 0x50, 0x12, 0x27, 0xfc, 0xc0, + 0x1f, 0x6f, 0xf8, 0x32, 0xa4, 0xff, 0x31, 0x37, + 0xff, 0xfc, 0x10, + + /* U+F241 "ï‰" */ + 0x2d, 0xff, 0xf0, 0x10, 0xd2, 0x7f, 0xf0, 0x29, + 0xf, 0x5b, 0xed, 0xfa, 0x8e, 0x3, 0xdb, 0xee, + 0x1, 0x92, 0x3, 0xff, 0x80, 0x50, 0x12, 0x27, + 0xc8, 0x1, 0x60, 0xf, 0xb7, 0xdd, 0xb5, 0xc, + 0xa9, 0x3f, 0xcc, 0x4d, 0xff, 0xff, 0x4, 0x0, + + /* U+F242 "" */ + 0x2d, 0xff, 0xf0, 0x10, 0xd2, 0x7f, 0xf0, 0x29, + 0xf, 0x5b, 0xb7, 0xfa, 0x8e, 0x3, 0xdb, 0xc0, + 0x66, 0x48, 0xf, 0xfe, 0x1, 0x40, 0x48, 0x9d, + 0xc0, 0xc5, 0x80, 0x3e, 0xdc, 0x1b, 0xd4, 0x32, + 0xa4, 0xff, 0x31, 0x37, 0xff, 0xfc, 0x10, + + /* U+F243 "" */ + 0x2d, 0xff, 0xf0, 0x10, 0xd2, 0x7f, 0xf0, 0x29, + 0xf, 0x5a, 0xff, 0xea, 0x38, 0xf, 0x69, 0x1, + 0xe6, 0x48, 0xf, 0xfe, 0x1, 0x40, 0x48, 0x93, + 0x3, 0xc5, 0x80, 0x3e, 0xd2, 0x6f, 0xd4, 0x32, + 0xa4, 0xff, 0x31, 0x37, 0xff, 0xfc, 0x10, + + /* U+F244 "" */ + 0x2d, 0xff, 0xf0, 0x10, 0xd2, 0x7f, 0xf0, 0x29, + 0xf, 0xff, 0xf5, 0x1c, 0xf, 0xfe, 0x3, 0x24, + 0x7, 0xff, 0x0, 0xa0, 0x3f, 0xf8, 0x25, 0x80, + 0x2d, 0xff, 0xa8, 0x65, 0x49, 0xfe, 0x62, 0x6f, + 0xff, 0xf8, 0x20, + + /* U+F26C "" */ + 0x4e, 0x4f, 0xf9, 0xab, 0x1b, 0xff, 0xa5, 0xf, + 0xff, 0xf9, 0x81, 0xff, 0xff, 0x0, 0x52, 0xff, + 0x88, 0x5, 0x6f, 0xfc, 0x87, 0xd6, 0xf0, 0x76, + 0xed, 0xc1, 0x2b, 0x70, 0x76, 0xdc, 0x81, 0x28, + 0xdf, 0xee, 0x0, + + /* U+F28B "" */ + 0x3, 0x26, 0xc8, 0xf, 0x2f, 0x64, 0x5c, 0x40, + 0x9d, 0x3, 0x8e, 0x20, 0xc0, 0x3f, 0x71, 0x40, + 0x2e, 0x77, 0x0, 0x52, 0x1, 0x99, 0x3, 0x62, + 0x7, 0xfc, 0x40, 0xff, 0x90, 0x19, 0x90, 0x36, + 0xa0, 0x17, 0x3b, 0x80, 0x28, 0xc0, 0x3f, 0x70, + 0xe, 0x81, 0xc7, 0x10, 0x25, 0xec, 0x8b, 0x88, + 0x0, + + /* U+F2C7 "" */ + 0x0, 0x48, 0xa, 0xec, 0xa0, 0xb7, 0x22, 0xdc, + 0x43, 0x3, 0xff, 0x92, 0x40, 0x42, 0x13, 0x85, + 0x3, 0xca, 0x9, 0xe5, 0x2, 0x6d, 0xe, 0xd8, + 0x80, + + /* U+F2C8 "" */ + 0x0, 0x48, 0xa, 0xec, 0x80, 0xaf, 0xcc, 0x32, + 0x40, 0x8, 0x9, 0x40, 0xcc, 0xf, 0xfe, 0x13, + 0x88, 0xa7, 0x9, 0x1, 0x14, 0x12, 0x15, 0x1a, + 0x47, 0x4e, 0xd8, 0x0, + + /* U+F2C9 "" */ + 0x0, 0x48, 0xa, 0xec, 0x80, 0xaf, 0xcc, 0x32, + 0x4, 0x40, 0xfd, 0x18, 0x19, 0x60, 0x3e, 0x71, + 0x14, 0xe1, 0x20, 0x22, 0x82, 0x42, 0xa3, 0x48, + 0xe9, 0xdb, 0x0, + + /* U+F2CA "ï‹Š" */ + 0x0, 0x48, 0xa, 0xec, 0x80, 0xaf, 0xcc, 0x32, + 0x4, 0x40, 0xff, 0xe1, 0x12, 0x3, 0x78, 0x1c, + 0x45, 0x38, 0x48, 0x8, 0xa0, 0x90, 0xa8, 0xd2, + 0x3a, 0x76, 0xc0, + + /* U+F2CB "ï‹‹" */ + 0x0, 0x48, 0xa, 0xec, 0x80, 0xaf, 0xcc, 0x32, + 0x4, 0x40, 0xff, 0xe5, 0xb8, 0xbf, 0x38, 0x48, + 0x8, 0xa0, 0x90, 0xa8, 0xd2, 0x3a, 0x76, 0xc0, + + /* U+F2CD "ï‹" */ + 0xf, 0x40, 0x3f, 0x19, 0x5f, 0xc4, 0xf, 0x98, + 0x11, 0x3, 0x98, 0x4, 0x70, 0x1f, 0xd3, 0x1, + 0xf6, 0x12, 0xc9, 0xf3, 0x60, 0xdf, 0xf4, 0xc0, + 0x7f, 0xb1, 0x3, 0xfc, 0x43, 0x3, 0xf3, 0x1, + 0x97, 0xfe, 0x58, 0x0, + + /* U+F2DC "ï‹œ" */ + 0x3, 0xc4, 0xf, 0xe5, 0x32, 0x3, 0xe3, 0x98, + 0xa4, 0x80, 0x9d, 0x90, 0x86, 0x1a, 0x0, 0xa9, + 0x9, 0x3, 0x43, 0x41, 0x80, 0xc8, 0x66, 0x6, + 0x9f, 0x91, 0x6, 0xfc, 0x84, 0xb1, 0x1, 0x48, + 0xe8, 0x14, 0xdc, 0x28, 0x65, 0x84, 0xc, 0x0, + 0xa0, 0x6, 0x35, 0xa2, 0xc5, 0x49, 0xd0, 0x4, + 0xe1, 0xc, 0xd0, 0x3d, 0x62, 0xc4, 0x8, + + /* U+F2E7 "" */ + 0x0, 0x41, 0x2, 0x22, 0xbd, 0x38, 0x9, 0xa3, + 0xe0, 0x8, 0x6c, 0x0, 0x81, 0xd0, 0xc, 0x82, + 0x4, 0xc, 0xc8, 0x28, 0x81, 0xa3, 0xa, 0x86, + 0x6, 0xe0, 0x80, 0x84, 0xf, 0xe4, 0x5, 0xc1, + 0x2, 0x20, 0x7f, 0xf0, 0x48, 0x1c, 0xc0, 0xb2, + 0xc0, 0x49, 0x30, + + /* U+F2F2 "" */ + 0x2, 0x52, 0x10, 0x1f, 0x76, 0xdc, 0xf, 0xa9, + 0x2a, 0x7, 0xa7, 0x25, 0xe4, 0x30, 0x15, 0x82, + 0x83, 0x6e, 0x12, 0x0, 0x90, 0x5, 0x87, 0x3, + 0xf7, 0xc, 0xf, 0xc8, 0xf, 0x30, 0x22, 0x10, + 0x15, 0xa0, 0x24, 0x20, 0x1f, 0xa0, 0xc, 0x7, + 0xb0, 0x11, 0xf1, 0x24, 0xe4, 0x0, + + /* U+F2FE "" */ + 0x3, 0xcc, 0xf, 0xfa, 0x60, 0x3f, 0x88, 0x24, + 0x7, 0x8a, 0xe0, 0x18, 0x1d, 0x35, 0x20, 0x2c, + 0x3, 0xff, 0x87, 0x18, 0x20, 0x8, 0x70, 0x16, + 0x3, 0x0, 0xc0, 0x19, 0x20, 0x2e, 0x3, 0x81, + 0x14, 0x4, 0xde, 0x2, 0x54, 0xb, 0xc8, 0xe0, + 0x54, 0x81, 0x4f, 0xd0, 0x8, 0xe8, 0xdf, 0xe9, + 0x80, + + /* U+F3C1 "ï" */ + 0x3, 0xf2, 0xb4, 0xc0, 0xfe, 0x95, 0x24, 0xa0, + 0x7c, 0x98, 0xb4, 0x52, 0x1, 0xec, 0x22, 0x48, + 0x38, 0x1f, 0x88, 0x6, 0x7, 0xe2, 0x7, 0xdb, + 0xfe, 0x42, 0xf4, 0x56, 0x20, 0x7f, 0x11, 0x58, + 0x1f, 0xee, 0x7, 0xff, 0x77, 0x81, 0x44, 0xbf, + 0x98, 0x10, + + /* U+F3CD "ï" */ + 0x9, 0x71, 0x1e, 0xc9, 0xb1, 0x1b, 0x71, 0x60, + 0x7f, 0xf9, 0x7d, 0xb8, 0x80, 0x2a, 0x34, 0x7, + 0xfa, 0x24, 0x8d, 0x34, + + /* U+F3E0 "ï " */ + 0x9, 0x7c, 0x3d, 0xbf, 0x70, 0x3f, 0xf8, 0x24, + 0xf, 0xb6, 0x80, 0xff, 0xe1, 0xed, 0x1, 0xc6, + 0x48, 0x81, 0xb3, 0x4f, 0x1, 0x92, 0xe0, 0x35, + 0xbc, 0x7, 0xfd, 0x12, 0xfa, 0x0, + + /* U+F3E5 "ï¥" */ + 0x3, 0x40, 0x3f, 0x8e, 0x68, 0xf, 0x8e, 0x20, + 0xa2, 0x6, 0x58, 0xa, 0x5d, 0xe9, 0x10, 0xf, + 0xcb, 0x1e, 0x40, 0xfe, 0x87, 0x10, 0x17, 0xf4, + 0x0, 0x80, 0x64, 0x18, 0x7, 0x0, 0xeb, 0x8, + 0x11, 0x8, 0xc, 0xc0, 0xc4, 0x40, 0x3f, 0xd4, + 0x80, + + /* U+F494 "ï’”" */ + 0x3, 0xc5, 0x90, 0x3f, 0xcb, 0x64, 0xd8, 0x80, + 0xf4, 0xf4, 0x81, 0x1b, 0xe0, 0x9, 0xd8, 0x1f, + 0xcf, 0xc6, 0x7, 0xff, 0x5, 0x81, 0x13, 0xfc, + 0x7, 0x5a, 0x4b, 0xeb, 0x40, 0x74, 0x6f, 0xe8, + 0x7, 0xb5, 0xbf, 0x60, 0x3d, 0xad, 0xfb, 0x1, + 0xed, 0x6f, 0xd8, 0xf, 0x6b, 0x7e, 0xc0, 0x51, + 0xa8, 0xdf, 0xd1, 0x38, + + /* U+F52A "" */ + 0x3, 0x25, 0xf0, 0x1f, 0x7b, 0x7e, 0xe0, 0x7f, + 0xff, 0x32, 0x3, 0xff, 0x83, 0xd0, 0x1f, 0xfc, + 0x12, 0x7, 0xff, 0x5f, 0xf8, 0xf, 0xef, 0xe8, + 0xdf, 0xff, 0x6, 0x0, + + /* U+F52B "" */ + 0x3, 0xe4, 0xc0, 0xff, 0x19, 0xbd, 0x80, 0x7f, + 0xb3, 0x20, 0x4b, 0xf9, 0x1, 0xff, 0x37, 0xc, + 0x7, 0xfc, 0x64, 0x1, 0xff, 0xce, 0x6c, 0x7, + 0xff, 0x9, 0xb0, 0x1f, 0xfe, 0xc3, 0xf8, 0xf, + 0xf3, 0xf8, 0xc6, 0xfe, 0x2, 0x8d, 0xa8, + + /* U+F54C "ï•Œ" */ + 0x3, 0x26, 0xc8, 0xf, 0x3f, 0x64, 0x5e, 0xc0, + 0xac, 0x3, 0xd2, 0x86, 0x80, 0xfc, 0x9d, 0x3, + 0xfd, 0x48, 0x5e, 0x80, 0xbd, 0x2, 0x3, 0x84, + 0x49, 0xe, 0x1, 0xe, 0x11, 0x24, 0x38, 0x70, + 0x2f, 0x40, 0x5e, 0x84, 0x38, 0xf, 0xd8, 0x1, + 0x60, 0x7a, 0x10, 0x39, 0x92, 0x63, 0x81, 0xb3, + 0xb5, 0x33, 0xc0, 0x0, + + /* U+F55A "ï•š" */ + 0x2, 0x5f, 0xff, 0xa0, 0x5, 0x40, 0xff, 0x30, + 0xa8, 0x13, 0xe4, 0xbb, 0x2, 0x54, 0xc, 0x86, + 0xc0, 0x80, 0xa8, 0x1c, 0x68, 0xa, 0x40, 0xa8, + 0x1c, 0x68, 0xa, 0x40, 0x95, 0x3, 0x21, 0xb0, + 0x20, 0x32, 0xa0, 0x4f, 0x92, 0xec, 0xe, 0x54, + 0xf, 0xf3, + + /* U+F61F "" */ + 0x3, 0xff, 0x93, 0xf8, 0xf, 0xf4, 0x1, 0x0, + 0xfc, 0x58, 0x6, 0x40, 0xfa, 0x1, 0xa0, 0x1f, + 0x30, 0x33, 0x2, 0x6c, 0x3, 0x7f, 0xb0, 0x3e, + 0x47, 0x25, 0xfe, 0xc3, 0x81, 0xbb, 0x3, 0x10, + 0x40, 0xc4, 0xf, 0x90, 0x19, 0x1, 0xf4, 0x20, + 0xc, 0x60, 0x78, 0xed, 0x89, 0x6b, 0x6c, 0x0, + + /* U+F6A9 "ïš©" */ + 0x3, 0x1a, 0x7, 0xf8, 0xe4, 0x7, 0xce, 0x46, + 0x3, 0x30, 0x50, 0x8d, 0x80, 0xca, 0x5d, 0x0, + 0xfc, 0x9a, 0x1c, 0xf, 0xc5, 0x80, 0xa0, 0x81, + 0xf1, 0xcc, 0x8d, 0xfa, 0x1, 0x1c, 0x65, 0x3, + 0x38, 0x7, 0xff, 0x1, 0xf0, 0x3e, + + /* U+F6C3 "" */ + 0x3, 0xf9, 0x20, 0x1f, 0xe9, 0xe9, 0x3, 0xfa, + 0xb0, 0xd8, 0xf, 0xc5, 0x0, 0xa0, 0x7f, 0x20, + 0x22, 0x7, 0xff, 0x5, 0x1, 0xeb, 0xf9, 0x5c, + 0xa0, 0x1c, 0x90, 0x6, 0xba, 0x1e, 0xd1, 0x10, + 0xf, 0x90, 0x90, 0x71, 0x3, 0xda, 0x3b, 0x81, + 0x3, 0xf4, 0x84, 0x1, 0x1, 0xf8, 0x81, 0xac, + 0x4b, 0xd2, 0x0, 0xc0, + + /* U+F6C4 "" */ + 0x3, 0x90, 0x1f, 0xfc, 0x17, 0x40, 0xff, 0x3d, + 0x20, 0x5a, 0xe0, 0x7c, 0x8a, 0xb8, 0xa4, 0x3, + 0xe2, 0x3c, 0xdd, 0xf0, 0x3c, 0xfa, 0xa4, 0x7b, + 0x98, 0x1f, 0xe3, 0xb1, 0xcc, 0x48, 0x3, 0xeb, + 0x2b, 0xc0, 0x8e, 0xc4, 0x1, 0xb, 0x5d, 0x1, + 0xee, 0x4, 0xf4, 0x60, 0x7c, 0xa8, 0x50, 0xa0, + 0x3f, 0x90, 0x19, 0x1, 0xfc, 0x80, 0xd2, 0x12, + 0xf9, 0xd0, + + /* U+F72E "" */ + 0x3, 0xe9, 0x50, 0x1f, 0xd5, 0xb5, 0x20, 0x7e, + 0xd7, 0x4, 0x2, 0xed, 0xd6, 0x60, 0x80, 0xff, + 0x3a, 0x40, 0x64, 0x96, 0x6a, 0x89, 0x80, 0x46, + 0xd2, 0xce, 0xda, 0x66, 0x3f, 0x6e, 0x9c, 0xfe, + 0x50, 0x2, 0xd5, 0x90, 0xc8, 0x20, 0x49, 0xa1, + 0xc5, 0xd8, 0xd8, 0xa, 0x7c, 0x46, 0x6d, 0x20, + 0x0, + + /* U+F73C "" */ + 0x3, 0xfc, 0x48, 0xf, 0xf2, 0xfc, 0x40, 0xfe, + 0x34, 0x40, 0x3c, 0x40, 0x90, 0x6, 0x7, 0x6c, + 0xf1, 0xa2, 0x10, 0x19, 0x90, 0xe, 0x6e, 0x63, + 0x0, 0xa0, 0x1e, 0xfc, 0x27, 0x34, 0xf, 0x8c, + 0xb3, 0x92, 0x3, 0xf1, 0x4c, 0x7, 0x4b, 0xe7, + 0x0, 0xc7, 0xd9, 0x6a, 0x5c, 0x7, 0x1e, 0x38, + 0xa1, 0x90, 0x39, 0x53, 0x6, 0x21, 0x81, 0xc0, + + /* U+F73D "" */ + 0x2, 0x4c, 0xf, 0xed, 0x67, 0x56, 0x1, 0x99, + 0x2, 0xa9, 0xc0, 0x2e, 0x7, 0xc9, 0x4, 0x60, + 0x7c, 0x6c, 0x60, 0x7f, 0x99, 0x3, 0xfc, 0x79, + 0x3, 0xf1, 0xe7, 0x7f, 0xfb, 0x10, 0xc, 0x2, + 0x40, 0xc, 0xa, 0x40, 0x9, 0x0, 0x24, 0x0, + 0x41, 0x2, 0x41, 0x4, 0x3, 0xc4, 0x2d, 0x5, + 0x38, + + /* U+F740 "ï€" */ + 0x3, 0x26, 0x7, 0xfb, 0x59, 0xd5, 0x80, 0x73, + 0x20, 0x55, 0x38, 0x6, 0xe0, 0x7c, 0x90, 0x4, + 0x60, 0x7c, 0x6c, 0xc, 0xf, 0xf3, 0x4, 0xf, + 0xf1, 0x1c, 0x81, 0xf8, 0xf0, 0x77, 0xff, 0xb1, + 0x1, 0xa, 0x41, 0x5, 0x10, 0x82, 0x68, 0xad, + 0x3c, 0x4c, 0x24, 0x3a, 0x41, 0xae, 0x40, 0xe, + 0x49, 0x8a, 0x38, 0xe4, 0x0, + + /* U+F743 "ïƒ" */ + 0x3, 0xff, 0x8d, 0xc0, 0xff, 0x5d, 0x45, 0xb0, + 0x1f, 0x63, 0xf7, 0xe8, 0x7, 0x8e, 0x9f, 0x3b, + 0xbb, 0x60, 0x28, 0x8a, 0x90, 0x5, 0x22, 0x80, + 0xb5, 0xfc, 0x80, 0xe5, 0x80, 0x64, 0x58, 0x1f, + 0x16, 0x36, 0x10, 0x3f, 0x88, 0x44, 0x54, 0xbe, + 0x88, 0xc, 0xbd, 0xf6, 0x5a, 0x40, 0x73, 0x25, + 0xc7, 0x14, 0xf, 0x9b, 0x43, 0x6, 0x20, + + /* U+F75F "ïŸ" */ + 0x0, 0x9a, 0x0, 0xd8, 0x81, 0xed, 0x65, 0xaf, + 0x23, 0x40, 0x35, 0x20, 0x48, 0xc, 0xf7, 0xa1, + 0x1, 0xfe, 0x21, 0x50, 0x3f, 0xf8, 0x49, 0x81, + 0xff, 0xc1, 0x31, 0x81, 0xff, 0xc0, 0xe2, 0x7d, + 0x6c, 0xc0, 0x3b, 0xb9, 0x2, 0x29, 0x53, 0xf4, + 0x44, 0x9, 0xff, 0xff, 0xc1, 0xf, 0xff, 0xfe, + 0xe, 0xd4, 0x1b, 0x7e, 0x63, 0xc8, 0xa2, 0x4f, + 0xcc, 0x0, + + /* U+F769 "ï©" */ + 0x0, 0x99, 0x2, 0x2d, 0x0, 0x96, 0x64, 0xe, + 0x96, 0x16, 0xd9, 0x40, 0x86, 0x4c, 0x6, 0x84, + 0x81, 0x11, 0x16, 0x1, 0x81, 0x26, 0x8f, 0x3, + 0xf4, 0xf8, 0x81, 0xff, 0xc0, 0xc1, 0x8e, 0x10, + 0x1c, 0xd2, 0x14, 0x38, 0x1e, 0x38, 0x32, 0x7, + 0x93, 0xf8, 0x96, 0x3, 0xa9, 0xba, 0x26, 0x7, + 0xb5, 0x96, 0x80, 0xf0, + + /* U+F76B "ï«" */ + 0x0, 0x99, 0x3, 0x34, 0x2, 0x59, 0x90, 0xf, + 0x2c, 0x2d, 0xba, 0x81, 0x8c, 0x98, 0xc, 0x9, + 0x2, 0x22, 0x2c, 0xf, 0x26, 0x8f, 0x3, 0xf4, + 0xf8, 0x81, 0xff, 0xc0, 0xc1, 0xb7, 0x8, 0xe, + 0x69, 0x22, 0x1c, 0xf, 0x1c, 0x19, 0x3, 0xc9, + 0xfc, 0x4b, 0x1, 0xd4, 0xdd, 0x13, 0x3, 0xda, + 0xcb, 0x40, 0x78, + + /* U+F7D8 "" */ + 0x29, 0x7c, 0x7d, 0xbf, 0x48, 0x14, 0xe, 0xa0, + 0x28, 0x1f, 0xfc, 0x32, 0x13, 0x64, 0x42, 0x8e, + 0x4a, 0xf5, 0xb, 0xdf, 0xd9, 0x38, 0x7, 0xd1, + 0x30, 0x3a, 0x91, 0x40, 0xe4, 0x1, 0x1, 0xc8, + 0x2, 0x6f, 0x90 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 44, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 47, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7, .adv_w = 62, .box_w = 4, .box_h = 4, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 13, .adv_w = 105, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 37, .adv_w = 95, .box_w = 6, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 64, .adv_w = 122, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 89, .adv_w = 104, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 113, .adv_w = 34, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 116, .adv_w = 60, .box_w = 4, .box_h = 14, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 135, .adv_w = 61, .box_w = 3, .box_h = 14, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 151, .adv_w = 83, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 163, .adv_w = 95, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 177, .adv_w = 38, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 181, .adv_w = 48, .box_w = 3, .box_h = 1, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 183, .adv_w = 51, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 186, .adv_w = 71, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 204, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 222, .adv_w = 95, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 230, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 250, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 271, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 290, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 310, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 331, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 350, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 371, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 391, .adv_w = 45, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 398, .adv_w = 39, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 407, .adv_w = 86, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 419, .adv_w = 92, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 426, .adv_w = 88, .box_w = 6, .box_h = 6, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 440, .adv_w = 81, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 457, .adv_w = 148, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 498, .adv_w = 111, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 521, .adv_w = 105, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 541, .adv_w = 109, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 563, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 580, .adv_w = 95, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 595, .adv_w = 92, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 608, .adv_w = 113, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 632, .adv_w = 119, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 645, .adv_w = 48, .box_w = 3, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 649, .adv_w = 93, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 660, .adv_w = 105, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 680, .adv_w = 91, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 685, .adv_w = 145, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 712, .adv_w = 119, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 732, .adv_w = 115, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 755, .adv_w = 106, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 773, .adv_w = 115, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 800, .adv_w = 102, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 821, .adv_w = 100, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 842, .adv_w = 100, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 849, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 860, .adv_w = 108, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 885, .adv_w = 146, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 917, .adv_w = 106, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 941, .adv_w = 101, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 961, .adv_w = 100, .box_w = 6, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 981, .adv_w = 48, .box_w = 3, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 987, .adv_w = 71, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 1005, .adv_w = 48, .box_w = 3, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1011, .adv_w = 71, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 1020, .adv_w = 78, .box_w = 5, .box_h = 1, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 1022, .adv_w = 59, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 1025, .adv_w = 92, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1043, .adv_w = 95, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1060, .adv_w = 89, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1077, .adv_w = 95, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1098, .adv_w = 90, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1115, .adv_w = 61, .box_w = 4, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1126, .adv_w = 95, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1149, .adv_w = 93, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1161, .adv_w = 44, .box_w = 2, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1167, .adv_w = 43, .box_w = 3, .box_h = 12, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 1176, .adv_w = 87, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1194, .adv_w = 44, .box_w = 2, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1198, .adv_w = 145, .box_w = 9, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1213, .adv_w = 93, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1222, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1240, .adv_w = 95, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1259, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1280, .adv_w = 59, .box_w = 4, .box_h = 8, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1289, .adv_w = 88, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1303, .adv_w = 57, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1314, .adv_w = 93, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1324, .adv_w = 82, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1338, .adv_w = 125, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1360, .adv_w = 84, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1374, .adv_w = 80, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1393, .adv_w = 84, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1408, .adv_w = 59, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1427, .adv_w = 47, .box_w = 1, .box_h = 11, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1430, .adv_w = 59, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1449, .adv_w = 113, .box_w = 7, .box_h = 3, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 1458, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1502, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1554, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1595, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1631, .adv_w = 132, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1662, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1715, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1758, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1815, .adv_w = 216, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 1862, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1912, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1948, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 1966, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2022, .adv_w = 132, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2061, .adv_w = 168, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 2088, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2129, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2165, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2185, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2199, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2241, .adv_w = 168, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 2270, .adv_w = 120, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2297, .adv_w = 120, .box_w = 7, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2324, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2380, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2426, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2479, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2534, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2588, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2645, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2680, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2715, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2749, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2782, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2813, .adv_w = 168, .box_w = 11, .box_h = 3, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 2821, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2868, .adv_w = 240, .box_w = 16, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2938, .adv_w = 168, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 2964, .adv_w = 168, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 2991, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3007, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3041, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3090, .adv_w = 240, .box_w = 17, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 3170, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3207, .adv_w = 240, .box_w = 15, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3251, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3278, .adv_w = 120, .box_w = 8, .box_h = 4, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 3289, .adv_w = 120, .box_w = 8, .box_h = 5, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 3301, .adv_w = 72, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3316, .adv_w = 72, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3330, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3380, .adv_w = 120, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 3416, .adv_w = 216, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 3471, .adv_w = 132, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3510, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3552, .adv_w = 240, .box_w = 16, .box_h = 11, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 3600, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3634, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3667, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3702, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3739, .adv_w = 72, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3761, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3817, .adv_w = 132, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3855, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3908, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3932, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3965, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4020, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4066, .adv_w = 192, .box_w = 13, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4104, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4145, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4182, .adv_w = 240, .box_w = 15, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4238, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4275, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4307, .adv_w = 204, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 4363, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4399, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4446, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4488, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4526, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4561, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4601, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4640, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4679, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4714, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4749, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4798, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4823, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4851, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4878, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4905, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4929, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4965, .adv_w = 168, .box_w = 12, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 5020, .adv_w = 156, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5063, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5109, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5158, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5200, .adv_w = 120, .box_w = 8, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5220, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5250, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5291, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5343, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5371, .adv_w = 240, .box_w = 16, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 5410, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5462, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5504, .adv_w = 192, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5552, .adv_w = 192, .box_w = 13, .box_h = 10, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5590, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5642, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5700, .adv_w = 192, .box_w = 13, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5749, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5805, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5854, .adv_w = 192, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 5907, .adv_w = 216, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5962, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6020, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6072, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6123, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_1[] = { + 0x0, 0x4, 0x6, 0xb, 0xc, 0x10, 0x11, 0x12, + 0x14, 0x1d, 0x22, 0x25, 0x27, 0x42, 0x47, 0x49, + 0x4a, 0x4b, 0x4c, 0x4d, 0x50, 0x52, 0x53, 0x54, + 0x55, 0x57, 0x58, 0x59, 0x5d, 0x5f, 0x60, 0x61, + 0x62, 0x66, 0x67, 0x6d, 0x6f, 0x76, 0x77, 0x7a, + 0x7f, 0x83, 0x84, 0x9b, 0xc1, 0xc8, 0xd6, 0xd7, + 0xd8, 0xd9, 0xe1, 0xe6, 0xe8, 0xea, 0xf2, 0xf3, + 0xfd, 0x107, 0x108, 0x127, 0x128, 0x12d, 0x12f, 0x143, + 0x145, 0x149, 0x184, 0x185, 0x1b8, 0x1dd, 0x1e5, 0x1ea, + 0x1f7, 0x1fd, 0x1ff, 0x200, 0x203, 0x204, 0x235, 0x23f, + 0x240, 0x241, 0x242, 0x243, 0x26b, 0x28a, 0x2c6, 0x2c7, + 0x2c8, 0x2c9, 0x2ca, 0x2cc, 0x2db, 0x2e6, 0x2f1, 0x2fd, + 0x3c0, 0x3cc, 0x3df, 0x3e4, 0x493, 0x529, 0x52a, 0x54b, + 0x559, 0x61e, 0x6a8, 0x6c2, 0x6c3, 0x72d, 0x73b, 0x73c, + 0x73f, 0x742, 0x75e, 0x768, 0x76a, 0x7d7 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 61441, .range_length = 2008, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 118, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = { + .glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 2, + .bpp = 3, + .kern_classes = 0, + .bitmap_format = 1 +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t robotocondensed_regular_12_nokern = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 14, /*The maximum line height required by the font*/ + .base_line = 3, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) + .underline_position = -1, + .underline_thickness = 1, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + + + +#endif /*#if ROBOTOCONDENSED_REGULAR_12_NOKERN*/ + diff --git a/main/config/font/robotocondensed_regular_16_nokern.c b/main/config/font/robotocondensed_regular_16_nokern.c new file mode 100644 index 0000000..cb19be9 --- /dev/null +++ b/main/config/font/robotocondensed_regular_16_nokern.c @@ -0,0 +1,1948 @@ +/******************************************************************************* + * Size: 16 px + * Bpp: 3 + * Opts: --no-kerning --bpp 3 --size 16 -o robotocondensed_regular_16_nokern.lvgl --format lvgl --font RobotoCondensed-Regular.ttf -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 0xf0d7,0xf0d9,0xf0da,0xf0d8,0xf078,0xf053,0xf054,0xf077,0xf01e,0xf3e5,0xf0e2,0xf04a,0xf04e,0xf130,0xf001,0xf04c,0xf28b,0xf04b,0xf144,0xf048,0xf051,0xf04d,0xf028,0xf6a9,0xf026,0xf028,0xf52a,0xf52b,0xF06E,0xF070,0xf023,0xf3c1,0xf204,0xf205,0xf09c,0xf244,0xf240,0xf242,0xf243,0xf241,0xf0f3,0xf108,0xf109,0xf0eb,0xf3cd,0xf1e6,0xf011,0xf012,0xf1de,0xf26c,0xf1eb,0xf2cd,0xf236,0xf1b9,0xf0f4,0xf015,0xf084,0xf2fe,0xf7d8,0xf1f8,0xf2e7,0xf494,0xf769,0xf76b,0xf2cb,0xf2c7,0xf2c9,0xf2ca,0xf2c8,0xf043,0xf0e7,0xf0c2,0xf6c3,0xf73c,0xf73d,0xf740,0xf6c4,0xf743,0xf186,0xf75f,0xf2dc,0xf185,0xf0e9,0xf72e,0xf060,0xf061,0xf062,0xf063,0xf55a,0xf05e,0xf0c9,0xf1fe,0xf080,0xf201,0xf200,0xf00c,0xf058,0xf14a,0xf013,0xf085,0xf07b,0xf129,0xf05a,0xf068,0xf056,0xf146,0xf067,0xf055,0xf0fe,0xf3e0,0xf12e,0xf128,0xf059,0xf61f,0xf54c,0xf005,0xf2f2,0xF00D,0xf007 + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + +#ifndef ROBOTOCONDENSED_REGULAR_16_NOKERN +#define ROBOTOCONDENSED_REGULAR_16_NOKERN 1 +#endif + +#if ROBOTOCONDENSED_REGULAR_16_NOKERN + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+20 " " */ + + /* U+21 "!" */ + 0xb4, 0x7, 0xff, 0x4, 0xfc, 0x91, 0xb7, 0xe0, + + /* U+22 "\"" */ + 0xe7, 0x20, 0x26, 0x8, 0x1c, 0x78, 0xc0, + + /* U+23 "#" */ + 0x0, 0x78, 0x90, 0x4, 0xd0, 0x38, 0xb, 0x10, + 0x98, 0x7d, 0xb7, 0x19, 0x3c, 0x2d, 0x1c, 0x81, + 0x8, 0x32, 0x0, 0x90, 0xc4, 0x7, 0xc7, 0xb6, + 0xc3, 0x36, 0xc6, 0xf0, 0x4b, 0x92, 0x44, 0x3, + 0x20, 0x78, 0xb2, 0x40, 0x40, + + /* U+24 "$" */ + 0x3, 0xfe, 0x74, 0xf, 0x70, 0x3d, 0x9a, 0xc0, + 0x50, 0xec, 0x30, 0x1, 0x44, 0x9a, 0x2, 0x60, + 0x2c, 0x1, 0xcc, 0x5, 0x0, 0x51, 0xf6, 0x6, + 0x7d, 0xc8, 0x3, 0xa3, 0x60, 0x1d, 0x0, 0xc0, + 0x47, 0x80, 0xe4, 0x4, 0x5f, 0x94, 0x0, 0xba, + 0x4e, 0x80, 0xc4, 0x80, 0x80, + + /* U+25 "%" */ + 0xf, 0xe2, 0x7, 0xa6, 0xb0, 0x2, 0x0, 0x4c, + 0x98, 0x84, 0x1, 0x32, 0x65, 0x30, 0x29, 0xac, + 0x8a, 0x6, 0x7f, 0x6, 0xc0, 0x7d, 0x2d, 0x78, + 0x6, 0x2c, 0xbe, 0xc8, 0x14, 0x8d, 0x42, 0x40, + 0x5, 0xa0, 0x3e, 0x70, 0x6a, 0x12, 0x0, 0x48, + 0x13, 0xec, 0x80, + + /* U+26 "&" */ + 0x0, 0xff, 0x30, 0x31, 0x93, 0x10, 0x24, 0x1b, + 0x6, 0x4, 0x41, 0x20, 0xc0, 0x91, 0xf9, 0x90, + 0x32, 0x2e, 0x1, 0x93, 0x4c, 0x18, 0x2, 0xba, + 0x2a, 0x40, 0x45, 0x15, 0x56, 0x8, 0x61, 0x21, + 0xe0, 0x15, 0x4d, 0xe, 0x2, 0xab, 0x1c, 0x48, + + /* U+27 "'" */ + 0x3c, 0xe, 0x20, + + /* U+28 "(" */ + 0x3, 0xd1, 0x84, 0xd8, 0x48, 0x4, 0x98, 0xa4, + 0x1, 0x40, 0x17, 0x3, 0xff, 0x84, 0x78, 0x4, + 0x40, 0x64, 0x1, 0x2, 0x1, 0xc0, 0x11, 0xa0, + 0x1c, 0x0, + + /* U+29 ")" */ + 0x3, 0x9c, 0x2, 0x69, 0x0, 0xac, 0x2, 0x64, + 0x80, 0x8d, 0x2, 0x48, 0x5, 0xc8, 0x1f, 0x88, + 0x18, 0x81, 0xc4, 0xb, 0x30, 0x27, 0x80, 0x12, + 0x60, 0x23, 0x0, 0x9c, 0x2, 0xe0, 0x40, + + /* U+2A "*" */ + 0x2, 0xe0, 0x7f, 0xa5, 0x61, 0x57, 0x4c, 0x14, + 0xa3, 0x8, 0x50, 0x88, 0x3a, 0x40, 0x1f, 0x84, + 0x20, + + /* U+2B "+" */ + 0x2, 0x6c, 0x7, 0xb6, 0x1, 0xff, 0xc7, 0x5f, + 0x92, 0x7e, 0x2a, 0xd1, 0x2b, 0x44, 0x24, 0x6c, + 0x90, 0xf, 0xfe, 0x28, + + /* U+2C "," */ + 0x1d, 0x81, 0x20, 0xb3, 0x32, 0x0, + + /* U+2D "-" */ + 0x3, 0x5f, 0xd2, 0x36, 0x40, + + /* U+2E "." */ + 0x90, 0x48, + + /* U+2F "/" */ + 0x3, 0x74, 0x4, 0x42, 0x2, 0xa8, 0xc, 0xb8, + 0x11, 0x24, 0x4, 0x90, 0xd, 0x70, 0x18, 0xb0, + 0x24, 0x40, 0xde, 0x81, 0x92, 0x1, 0x20, 0x40, + 0xb3, 0x3, 0x0, + + /* U+30 "0" */ + 0x1, 0x3f, 0x30, 0xd, 0xa4, 0x90, 0xad, 0xcb, + 0x83, 0x80, 0x64, 0x7, 0xff, 0x60, 0xe0, 0x19, + 0xa, 0xdc, 0xb8, 0x6d, 0x24, 0x80, + + /* U+31 "1" */ + 0x0, 0xf0, 0x7e, 0x11, 0xe4, 0x0, 0x8c, 0x81, + 0xff, 0xde, + + /* U+32 "2" */ + 0x1, 0x7f, 0x40, 0x2a, 0xec, 0x6c, 0x1, 0x44, + 0xd5, 0x5, 0x20, 0x2, 0x0, 0xd0, 0x24, 0x80, + 0x71, 0x2a, 0x7, 0x76, 0x40, 0xd0, 0xc0, 0x32, + 0x78, 0xe, 0xac, 0x81, 0xb0, 0xa4, 0xc0, 0x8, + 0xdb, 0x20, + + /* U+33 "3" */ + 0x1, 0x7f, 0x30, 0x15, 0xd9, 0x8, 0x28, 0x99, + 0xc3, 0xa0, 0xc, 0x81, 0x92, 0x70, 0xb, 0xd4, + 0x80, 0x16, 0x89, 0x0, 0x8b, 0x5c, 0x30, 0x22, + 0xc4, 0x40, 0xb, 0xa, 0x26, 0xb8, 0xae, 0xd4, + 0x40, + + /* U+34 "4" */ + 0x3, 0x4e, 0x40, 0xe6, 0x7, 0xa1, 0x3, 0xce, + 0x81, 0xd1, 0x20, 0x1c, 0xe0, 0x1d, 0x11, 0x3, + 0x17, 0xc0, 0xea, 0x2f, 0xc3, 0x39, 0xb5, 0x5, + 0x60, 0x99, 0x6, 0x7, 0xf0, + + /* U+35 "5" */ + 0x1f, 0xf0, 0x22, 0x4a, 0x81, 0x37, 0x20, 0xc0, + 0xf1, 0x1b, 0xe0, 0x35, 0x86, 0x87, 0xdb, 0x44, + 0x7, 0x20, 0x51, 0x3, 0xbc, 0x0, 0x81, 0xe9, + 0xa8, 0xc2, 0x91, 0x54, 0x0, + + /* U+36 "6" */ + 0x1, 0x35, 0x2, 0xae, 0xc0, 0x9, 0x33, 0x20, + 0x32, 0x20, 0x64, 0x37, 0xa0, 0xa, 0xb4, 0xa0, + 0x6, 0xc9, 0xb0, 0xe, 0x3, 0x1, 0x70, 0x39, + 0x20, 0x2, 0x2, 0x18, 0xa4, 0x3, 0x1d, 0x6c, + 0x0, + + /* U+37 "7" */ + 0x5f, 0xf8, 0xad, 0xb3, 0x4, 0x13, 0xcc, 0xf, + 0x2c, 0x7, 0x30, 0x80, 0xea, 0xc0, 0xe2, 0x54, + 0xe, 0xa4, 0x80, 0xe6, 0x80, 0xe4, 0x28, 0x1d, + 0xc9, 0x1, 0xca, 0x81, 0x80, + + /* U+38 "8" */ + 0x1, 0x3f, 0x40, 0x11, 0xc8, 0x6c, 0x13, 0x72, + 0xc0, 0x7e, 0x4c, 0x92, 0xc2, 0x1d, 0x89, 0x86, + 0x6c, 0x48, 0x24, 0x26, 0xd0, 0x1, 0x1, 0xc8, + 0x2, 0x3, 0x90, 0xe2, 0x6d, 0x44, 0x76, 0x36, + + /* U+39 "9" */ + 0x1, 0x7e, 0x40, 0x22, 0xae, 0x90, 0xe2, 0xa2, + 0x80, 0x40, 0x12, 0x10, 0x31, 0x4, 0x20, 0x4, + 0x2, 0xa5, 0x20, 0x8, 0x75, 0x2c, 0x1f, 0xb8, + 0x20, 0x44, 0xd4, 0x2, 0x79, 0x10, 0x12, 0xca, + 0x0, + + /* U+3A ":" */ + 0xb4, 0x4a, 0x40, 0x1f, 0xa4, 0x12, + + /* U+3B ";" */ + 0x1d, 0x84, 0x45, 0x40, 0x7f, 0xf0, 0x62, 0xf, + 0x0, 0xcc, 0x27, 0x80, + + /* U+3C "<" */ + 0x3, 0x1a, 0x5, 0x33, 0xf, 0xb9, 0x94, 0x7d, + 0x86, 0x5b, 0x0, 0x3a, 0x47, 0x60, 0x1f, 0x70, + 0xd, 0x30, + + /* U+3D "=" */ + 0x3, 0xdb, 0xfd, 0x7d, 0xba, 0x14, 0xb1, 0xdf, + 0xeb, 0xed, 0xd0, + + /* U+3E ">" */ + 0xa4, 0xc, 0xf5, 0x20, 0x35, 0x7a, 0x0, 0x5a, + 0xba, 0x1, 0xd1, 0xdf, 0x8f, 0xa8, 0xfc, 0x1, + 0xa0, 0x18, + + /* U+3F "?" */ + 0xb, 0x7a, 0x5, 0x5d, 0x74, 0x21, 0x55, 0x41, + 0x70, 0x4, 0xf, 0x72, 0x6, 0x6b, 0x81, 0xa4, + 0x10, 0x26, 0x18, 0x18, 0xb0, 0x39, 0x40, 0x39, + 0x40, 0x38, 0xa0, 0x20, + + /* U+40 "@" */ + 0x3, 0x4d, 0xf4, 0x3, 0xd8, 0xff, 0x1c, 0x6, + 0xaa, 0x90, 0x6a, 0x60, 0xb, 0x81, 0xfa, 0x64, + 0x0, 0xb4, 0x15, 0xc1, 0x4, 0x42, 0x41, 0xe9, + 0x2, 0x28, 0x12, 0x9, 0x86, 0x47, 0x3, 0x10, + 0x3f, 0xe6, 0x4, 0x58, 0xe4, 0x9, 0x81, 0xe2, + 0xc1, 0x30, 0x30, 0x34, 0xc8, 0x54, 0x3c, 0x2d, + 0x4e, 0x2, 0xb3, 0x3c, 0x5f, 0x10, 0x6, 0x64, + 0x1, 0x10, 0x39, 0xd9, 0xfc, 0x6, + + /* U+41 "A" */ + 0x2, 0x3d, 0x81, 0xe4, 0x30, 0x1e, 0xa5, 0x1, + 0xe3, 0x2, 0x3, 0x20, 0x8e, 0x3, 0x74, 0x2b, + 0x3, 0x2c, 0x10, 0x20, 0x10, 0x40, 0x8a, 0x3, + 0xd, 0xf8, 0x20, 0xd, 0x6d, 0x42, 0x61, 0xc9, + 0x98, 0x54, 0x20, 0x32, 0xa0, + + /* U+42 "B" */ + 0xdf, 0xd9, 0x80, 0x36, 0x9c, 0x21, 0xa4, 0xa2, + 0x81, 0xff, 0x31, 0x42, 0xfd, 0x19, 0xb, 0x64, + 0x68, 0x1, 0x26, 0x78, 0x1c, 0xd8, 0xe, 0x6c, + 0x1a, 0x48, 0x78, 0x36, 0x94, 0x40, + + /* U+43 "C" */ + 0x0, 0x77, 0xe8, 0x4, 0x70, 0xb1, 0xd0, 0x14, + 0x64, 0xe2, 0x0, 0xd8, 0x9, 0x4, 0x3, 0x81, + 0x1e, 0x80, 0xff, 0xe8, 0x1e, 0x4, 0x79, 0x9, + 0x0, 0x90, 0x22, 0x1a, 0x9c, 0x40, 0x59, 0xd8, + 0xe8, + + /* U+44 "D" */ + 0xdf, 0xd4, 0x81, 0x1b, 0x1e, 0x20, 0x1a, 0x78, + 0xc0, 0x3d, 0x50, 0x1e, 0x20, 0x7f, 0x10, 0x3f, + 0xf8, 0x64, 0xe, 0x20, 0x7d, 0x50, 0x6, 0x9e, + 0x30, 0x1, 0xb1, 0xe2, 0x0, + + /* U+45 "E" */ + 0xdf, 0xf2, 0x6, 0xdc, 0x83, 0x4b, 0x1, 0xff, + 0xc4, 0x5f, 0xd4, 0x2, 0xda, 0x80, 0x44, 0xe0, + 0x3f, 0xf8, 0x8d, 0x2c, 0x0, 0xdb, 0x90, + + /* U+46 "F" */ + 0xdf, 0xf1, 0x6, 0xdc, 0x43, 0x4b, 0x1, 0xff, + 0xcb, 0x5f, 0xd0, 0x2, 0xda, 0x80, 0x44, 0xc0, + 0x7f, 0xf2, 0xc0, + + /* U+47 "G" */ + 0x0, 0xb7, 0xe8, 0x4, 0x6b, 0xb1, 0xd0, 0x10, + 0xd4, 0xea, 0x21, 0x20, 0x12, 0x60, 0x5c, 0xd, + 0x8, 0x1f, 0xfc, 0x13, 0xfc, 0x80, 0xc7, 0x50, + 0x37, 0x0, 0x50, 0x12, 0x60, 0x7d, 0x6, 0x6a, + 0x86, 0xe, 0x72, 0xbc, 0x40, + + /* U+48 "H" */ + 0xd4, 0xd, 0xa8, 0x1f, 0xfd, 0x55, 0xfe, 0x20, + 0x16, 0xd8, 0x81, 0x13, 0x80, 0xff, 0xeb, 0x0, + + /* U+49 "I" */ + 0xb4, 0x7, 0xff, 0x28, + + /* U+4A "J" */ + 0x3, 0xb4, 0x3, 0xff, 0xca, 0x58, 0x1c, 0xa0, + 0x11, 0xec, 0x55, 0x43, 0x15, 0xd7, 0x80, + + /* U+4B "K" */ + 0xd4, 0xa, 0xf0, 0x39, 0x25, 0x3, 0xaa, 0x40, + 0x35, 0x14, 0xc, 0xd6, 0x3, 0x38, 0x48, 0xc, + 0x4c, 0xc0, 0xec, 0xa0, 0x19, 0xa, 0x20, 0x1e, + 0x8c, 0x81, 0xcc, 0x70, 0x3d, 0x4b, + + /* U+4C "L" */ + 0xd4, 0xf, 0xff, 0xcb, 0x4b, 0x0, 0x36, 0xe2, + + /* U+4D "M" */ + 0xdc, 0x81, 0x8f, 0xc0, 0x28, 0x19, 0x1, 0x90, + 0x1a, 0x81, 0x13, 0x1, 0x12, 0x0, 0x82, 0x0, + 0x82, 0x2, 0x74, 0x7, 0x40, 0x47, 0x10, 0xb, + 0x81, 0x90, 0x68, 0x20, 0x39, 0xec, 0x40, 0x7b, + 0x27, 0x80, 0xf2, 0x0, 0xc0, 0xf9, 0x10, 0x30, + + /* U+4E "N" */ + 0xdc, 0xd, 0xa8, 0x6, 0x7, 0xd0, 0xf, 0x20, + 0xc0, 0xf4, 0xa0, 0x79, 0x96, 0x7, 0xa5, 0x3, + 0xcc, 0xa0, 0x3c, 0xe0, 0x1e, 0x84, 0x80, 0xf3, + 0x3, 0xe8, 0x0, + + /* U+4F "O" */ + 0x0, 0x77, 0xe8, 0x4, 0x70, 0x90, 0xe8, 0x8, + 0x73, 0x6a, 0x88, 0x48, 0x4, 0x82, 0x1, 0xc0, + 0xc7, 0x81, 0xf8, 0x81, 0xff, 0xc5, 0x20, 0x38, + 0x18, 0xf0, 0x90, 0x9, 0x4, 0x21, 0xcd, 0xaa, + 0x20, 0xe1, 0x21, 0xd0, + + /* U+50 "P" */ + 0xdf, 0xe8, 0x4, 0x6d, 0x47, 0x40, 0x34, 0x8e, + 0x20, 0x3c, 0x81, 0x3, 0x98, 0x1e, 0x30, 0x90, + 0x5f, 0xb0, 0xe0, 0x16, 0xd8, 0x81, 0x13, 0x1, + 0xff, 0xcf, + + /* U+51 "Q" */ + 0x0, 0x77, 0xe8, 0x4, 0x70, 0x8d, 0xa8, 0x8, + 0x73, 0x95, 0x10, 0xa8, 0x12, 0x8, 0x1, 0x3, + 0xb8, 0x1f, 0x10, 0x3f, 0xf8, 0xa4, 0x8, 0x81, + 0xdc, 0x2a, 0x4, 0x82, 0x10, 0xe6, 0xd5, 0x10, + 0x68, 0x90, 0x38, 0x12, 0xdf, 0x95, 0x40, 0x7a, + 0xb6, + + /* U+52 "R" */ + 0xdf, 0xd9, 0x1, 0x1b, 0x4e, 0xa0, 0xd, 0x25, + 0x3c, 0xf, 0x36, 0x3, 0xcd, 0x80, 0xe6, 0x70, + 0x5, 0xfa, 0x36, 0x0, 0xb5, 0x18, 0xc, 0x51, + 0xe0, 0x7a, 0x22, 0x7, 0x21, 0x40, 0xf3, 0x60, + + /* U+53 "S" */ + 0x1, 0x37, 0xc4, 0x4, 0x76, 0x9e, 0x0, 0xdc, + 0xa8, 0x60, 0x38, 0x14, 0x21, 0x42, 0x1, 0xa1, + 0x4e, 0xa8, 0xd, 0xab, 0xb4, 0x6, 0x5a, 0x24, + 0x30, 0x9, 0x9c, 0x1a, 0x2, 0x20, 0xaa, 0xd5, + 0x14, 0x57, 0x2b, 0xa4, + + /* U+54 "T" */ + 0x9f, 0xfd, 0x6c, 0x85, 0xb1, 0x48, 0x42, 0x50, + 0x1f, 0xff, 0xc0, + + /* U+55 "U" */ + 0xec, 0x9, 0xf0, 0x3f, 0xfe, 0xa7, 0x1, 0x70, + 0x15, 0x45, 0x1c, 0xe, 0x2a, 0xa3, 0x0, + + /* U+56 "V" */ + 0x9c, 0xe, 0xf2, 0x84, 0x4, 0x85, 0x23, 0x1, + 0x60, 0x42, 0x40, 0x24, 0x80, 0x39, 0x2, 0x3c, + 0x2, 0x8, 0x30, 0x80, 0x97, 0x19, 0x1, 0xb2, + 0xb, 0x1, 0x90, 0x41, 0x1, 0x89, 0x42, 0x40, + 0x72, 0x28, 0xf, 0x61, 0x80, 0x80, + + /* U+57 "W" */ + 0x5c, 0xa, 0x70, 0x2b, 0x4c, 0x10, 0x4, 0xc, + 0xb1, 0x8, 0x2, 0x8, 0x8, 0x83, 0xc1, 0xb, + 0x4, 0x10, 0x48, 0x11, 0xc4, 0x10, 0x2e, 0x47, + 0x4a, 0x1d, 0x0, 0x40, 0x16, 0x20, 0xa2, 0x0, + 0x84, 0x58, 0x28, 0xe0, 0x23, 0xc1, 0xb, 0x6, + 0x4, 0xd2, 0x0, 0xc8, 0x10, 0x2c, 0x30, 0x4, + 0x8, 0x18, 0x84, 0x6, 0x40, 0x0, + + /* U+58 "X" */ + 0x3e, 0x1, 0x5e, 0xa, 0x60, 0xa, 0x60, 0x20, + 0x62, 0x88, 0x0, 0xa8, 0x1b, 0x1, 0xa0, 0xc2, + 0x1, 0x8a, 0x2c, 0xf, 0xfe, 0x11, 0x45, 0x81, + 0xd0, 0xe1, 0x0, 0x8a, 0xa1, 0xb0, 0x14, 0xc, + 0x41, 0x1, 0x50, 0x9, 0xb0, + + /* U+59 "Y" */ + 0x9c, 0xd, 0x78, 0xa1, 0x81, 0x28, 0xa, 0xa0, + 0x18, 0x60, 0x39, 0x21, 0x50, 0x12, 0x34, 0x94, + 0x3, 0x57, 0x9, 0x1, 0x98, 0x50, 0xf, 0x30, + 0x80, 0xff, 0xed, 0x80, + + /* U+5A "Z" */ + 0x3f, 0xfa, 0x1b, 0x73, 0x18, 0x25, 0xc5, 0x1, + 0x91, 0xe0, 0x74, 0x44, 0xc, 0xcc, 0x3, 0xa3, + 0x20, 0x66, 0x20, 0x1d, 0x18, 0x1d, 0x4, 0x3, + 0x9a, 0x5c, 0x50, 0x56, 0xe8, + + /* U+5B "[" */ + 0x2, 0xfd, 0x43, 0x83, 0x90, 0x3f, 0xfb, 0x32, + 0xec, 0x80, + + /* U+5C "\\" */ + 0x78, 0xc, 0x89, 0x1, 0x12, 0x40, 0x65, 0x40, + 0xd4, 0x81, 0x88, 0x60, 0x67, 0x80, 0xd9, 0x1, + 0x90, 0x40, 0x65, 0x80, 0xd9, 0x81, 0x98, 0x20, + 0x63, 0x40, + + /* U+5D "]" */ + 0x2, 0xdf, 0x74, 0x9, 0x1, 0xff, 0xd9, 0xcc, + 0x7d, 0xc0, + + /* U+5E "^" */ + 0x1, 0x60, 0x19, 0x30, 0x24, 0x42, 0x1, 0xd3, + 0xc0, 0x15, 0xcc, 0x20, 0x50, 0x20, + + /* U+5F "_" */ + 0x3, 0xed, 0xff, 0x2f, 0xb7, 0x20, + + /* U+60 "`" */ + 0x30, 0x82, 0x5c, 0x5, 0xc, + + /* U+61 "a" */ + 0x1, 0x7f, 0x40, 0x15, 0xd8, 0xd0, 0xfc, 0x99, + 0xc1, 0x5d, 0xc8, 0x8, 0xe6, 0x20, 0x1c, 0x44, + 0xc, 0x40, 0x10, 0x6, 0x2a, 0x5, 0xc5, 0x2c, + 0x80, + + /* U+62 "b" */ + 0xec, 0xf, 0xfe, 0x47, 0xde, 0x81, 0x3b, 0x15, + 0x1, 0x1b, 0x44, 0x7, 0x10, 0x40, 0xcc, 0xf, + 0x30, 0x3c, 0x41, 0x11, 0xb4, 0x40, 0x25, 0x8a, + 0x80, + + /* U+63 "c" */ + 0x1, 0x7f, 0x40, 0x15, 0xd8, 0xd8, 0x28, 0x9b, + 0x62, 0x18, 0x9, 0x0, 0x78, 0x81, 0xf1, 0xc, + 0x4, 0xa1, 0x44, 0x8f, 0xa, 0xed, 0x46, + + /* U+64 "d" */ + 0x3, 0xa6, 0x3, 0xff, 0x89, 0x7e, 0x20, 0x32, + 0x95, 0x0, 0x35, 0xb8, 0x10, 0xc0, 0xff, 0xe3, + 0x10, 0xc0, 0xe5, 0x53, 0x60, 0x15, 0x5a, 0x60, + + /* U+65 "e" */ + 0x1, 0x3f, 0x40, 0x15, 0xd8, 0xd0, 0x51, 0x35, + 0xc8, 0x40, 0xb, 0x1, 0xbf, 0x30, 0x2b, 0xb5, + 0xc8, 0x2, 0x70, 0x55, 0x25, 0x82, 0xbb, 0x42, + 0x80, + + /* U+66 "f" */ + 0x3, 0xe7, 0xf0, 0x8, 0xf8, 0x42, 0x10, 0x39, + 0xd1, 0xdb, 0x41, 0x98, 0x20, 0x81, 0xff, 0xd3, + + /* U+67 "g" */ + 0x1, 0x7e, 0x98, 0x65, 0x2b, 0x0, 0x63, 0x70, + 0x21, 0x1, 0xff, 0xc6, 0x21, 0x81, 0xca, 0xb7, + 0x0, 0xaa, 0x54, 0x5, 0x7e, 0x2c, 0x38, 0x9b, + 0x60, 0x8d, 0x8d, 0x80, + + /* U+68 "h" */ + 0xec, 0xf, 0xfe, 0x2f, 0xde, 0x80, 0x76, 0x26, + 0x1b, 0x8e, 0x1c, 0x3, 0x3, 0xff, 0xa6, + + /* U+69 "i" */ + 0xaf, 0x16, 0xb4, 0x3, 0xff, 0x88, + + /* U+6A "j" */ + 0x1, 0x90, 0x4, 0xc0, 0x42, 0x3, 0xb0, 0x3f, + 0xfb, 0x2c, 0x12, 0x89, 0x0, + + /* U+6B "k" */ + 0xec, 0xf, 0xfe, 0x52, 0xe8, 0xd, 0x52, 0x1, + 0x53, 0x40, 0xaa, 0xe0, 0x62, 0x10, 0x19, 0x48, + 0x3, 0x66, 0x20, 0x1d, 0x19, 0x3, 0x33, 0xc0, + + /* U+6C "l" */ + 0xd0, 0xf, 0xfe, 0x50, + + /* U+6D "m" */ + 0xf3, 0x7a, 0x6f, 0xc4, 0x2f, 0x56, 0xd0, 0x82, + 0x94, 0x85, 0x9a, 0x80, 0xe6, 0x7, 0xff, 0xa8, + + /* U+6E "n" */ + 0xf3, 0x7a, 0x1, 0xca, 0x98, 0x89, 0x58, 0xf, + 0xfe, 0xc0, + + /* U+6F "o" */ + 0x1, 0x3f, 0x40, 0x28, 0xe5, 0x70, 0x3, 0x8d, + 0x46, 0x8, 0x40, 0x10, 0x20, 0x71, 0xc, 0xe, + 0x21, 0x90, 0x80, 0x30, 0x43, 0x89, 0x2b, 0x1, + 0x1d, 0xa7, 0x0, + + /* U+70 "p" */ + 0xf3, 0x7a, 0x4, 0xbd, 0x54, 0x5, 0x2a, 0x20, + 0x38, 0x82, 0x6, 0x60, 0x79, 0x81, 0xe2, 0x8, + 0x89, 0x22, 0x0, 0xe5, 0x54, 0x7, 0xde, 0x81, + 0xff, 0xc4, + + /* U+71 "q" */ + 0x1, 0x7e, 0x98, 0x65, 0x69, 0x80, 0x31, 0x36, + 0x4, 0x20, 0x3f, 0xf8, 0xc4, 0x30, 0x38, 0xd4, + 0xd8, 0x6, 0x56, 0x90, 0x15, 0xf8, 0x81, 0xff, + 0xc3, + + /* U+72 "r" */ + 0x3, 0x7b, 0xe0, 0x52, 0x88, 0xc8, 0x1f, 0xfc, + 0xc0, + + /* U+73 "s" */ + 0x1, 0x7e, 0x40, 0x2b, 0xaa, 0x90, 0xaa, 0x88, + 0x2, 0x88, 0x52, 0x2b, 0xb9, 0x1, 0x4e, 0xa9, + 0x18, 0x88, 0x10, 0xe, 0x98, 0x23, 0xbb, 0x21, + 0x0, + + /* U+74 "t" */ + 0x13, 0x1, 0xf6, 0x67, 0x9e, 0xc6, 0x24, 0x9, + 0x1, 0xff, 0xca, 0xe5, 0x80, 0x66, 0x0, + + /* U+75 "u" */ + 0xec, 0x5, 0xa0, 0x3f, 0xfb, 0xa, 0x28, 0x84, + 0x34, 0xa0, + + /* U+76 "v" */ + 0x9c, 0xb, 0xaa, 0x8, 0x41, 0x10, 0x86, 0x20, + 0x16, 0xa, 0x80, 0xe8, 0x14, 0x1, 0x6, 0x8, + 0x11, 0xa8, 0xc, 0x8f, 0x3, 0x50, 0x80, 0x0, + + /* U+77 "w" */ + 0x78, 0x3, 0xc0, 0x1e, 0x24, 0x3, 0x10, 0x19, + 0xa0, 0x82, 0x8, 0x2c, 0xe, 0x21, 0xe0, 0x8, + 0x22, 0x93, 0x24, 0x4, 0x65, 0xb1, 0x1c, 0x80, + 0x20, 0x90, 0x17, 0x80, 0xe2, 0x10, 0x20, 0x49, + 0x0, 0x60, 0x80, + + /* U+78 "x" */ + 0x5d, 0x5, 0xd2, 0xb8, 0xe5, 0x8, 0x95, 0xc0, + 0x15, 0x51, 0x2, 0xe3, 0x81, 0xa0, 0x80, 0x48, + 0xd2, 0x80, 0x44, 0xa8, 0x11, 0x82, 0x14, + + /* U+79 "y" */ + 0x9c, 0x1, 0xe7, 0x2, 0x10, 0x28, 0x21, 0x90, + 0x5, 0x82, 0xe0, 0x32, 0x21, 0x0, 0x62, 0x10, + 0x31, 0x48, 0x6, 0x42, 0x81, 0xb0, 0x20, 0x6c, + 0x80, 0xcd, 0xb8, 0x12, 0x8d, 0x1, 0x0, + + /* U+7A "z" */ + 0x3f, 0xf1, 0x2b, 0x64, 0x8, 0x48, 0xd4, 0x3, + 0x42, 0xc0, 0x92, 0x70, 0x34, 0x44, 0x9, 0x9a, + 0x6, 0x88, 0x98, 0x20, 0xb6, 0x98, + + /* U+7B "{" */ + 0x3, 0x10, 0x7, 0xb0, 0x11, 0x20, 0x5, 0xc0, + 0xff, 0xe0, 0x10, 0x35, 0x8, 0x36, 0x80, 0x1a, + 0x80, 0x50, 0x10, 0x4, 0x30, 0x3f, 0xf8, 0x27, + 0x1, 0x46, 0x80, 0x2c, 0xc0, + + /* U+7C "|" */ + 0xb0, 0xf, 0xfe, 0x70, + + /* U+7D "}" */ + 0x20, 0x65, 0xc0, 0x99, 0x80, 0x55, 0x81, 0xff, + 0xc1, 0x20, 0x64, 0x18, 0x14, 0x84, 0x2, 0x34, + 0x10, 0x80, 0x8, 0x1f, 0xfc, 0x2c, 0x80, 0x24, + 0x80, 0x58, 0x80, + + /* U+7E "~" */ + 0x1, 0xbb, 0x1, 0x58, 0xaa, 0xc8, 0x29, 0x2, + 0xaa, 0xbc, 0x88, 0xe4, 0x2f, 0xa8, + + /* U+F001 "ï€" */ + 0x3, 0xff, 0xa0, 0xa6, 0xc0, 0x3f, 0x9d, 0xf5, + 0x92, 0x3, 0x8c, 0xde, 0x20, 0x3f, 0xb6, 0x32, + 0x7, 0xff, 0x0, 0x81, 0xf1, 0x80, 0x7f, 0xca, + 0xfc, 0xc0, 0xfc, 0xf7, 0xa8, 0xf, 0xfa, 0x10, + 0x3f, 0xfc, 0xc6, 0xfe, 0x3, 0xff, 0x81, 0xd0, + 0x18, 0xdf, 0xc0, 0x7f, 0xc7, 0xa0, 0x3f, 0x74, + 0x1, 0x70, 0x38, 0x81, 0x8d, 0xfd, 0x4f, 0x40, + 0x17, 0x3, 0xfc, + + /* U+F005 "" */ + 0x3, 0xf6, 0xc0, 0x3f, 0xf8, 0x68, 0x92, 0x3, + 0xff, 0x85, 0x0, 0x40, 0x3f, 0xf8, 0x28, 0x80, + 0x28, 0xf, 0xf8, 0xc0, 0x34, 0x20, 0x7a, 0x6f, + 0xd8, 0x81, 0x8e, 0xfd, 0xa0, 0x4c, 0x81, 0xff, + 0xc0, 0x2d, 0x23, 0x3, 0xff, 0x84, 0xd0, 0x8c, + 0xf, 0xfe, 0x3, 0x80, 0x51, 0x81, 0xfe, 0x70, + 0xe, 0x84, 0xf, 0xc6, 0x1, 0xf1, 0x3, 0xf1, + 0x3, 0xe2, 0x7, 0xf8, 0x81, 0xe6, 0x7, 0xf9, + 0x81, 0xe2, 0x4, 0xff, 0x30, 0x22, 0x7, 0x88, + 0x7e, 0x0, 0x9d, 0x82, 0x7, 0x97, 0x80, 0x7a, + 0x74, 0x4, + + /* U+F007 "" */ + 0x3, 0x1b, 0xfa, 0x90, 0x3e, 0x39, 0x0, 0x58, + 0x81, 0xe8, 0x7, 0xa0, 0x1e, 0x40, 0x79, 0x1, + 0xff, 0xc8, 0x40, 0x79, 0x1, 0xe8, 0x7, 0xa0, + 0x1e, 0x39, 0x0, 0x58, 0x81, 0xf1, 0xbf, 0xa9, + 0x3, 0xd3, 0xf5, 0x91, 0x7f, 0x40, 0x2e, 0xc0, + 0x26, 0xc8, 0x3, 0xe2, 0x1, 0xff, 0xc0, 0x8c, + 0xf, 0xfe, 0x3, 0x3, 0xff, 0xa0, 0xc0, 0xff, + 0xe0, 0x30, + + /* U+F00C "" */ + 0x3, 0xff, 0x83, 0x68, 0xf, 0xfe, 0xd, 0x49, + 0x80, 0xff, 0xaa, 0x0, 0xc0, 0xff, 0x54, 0x0, + 0xd1, 0x68, 0xf, 0x54, 0x0, 0xe1, 0x92, 0x50, + 0x35, 0x40, 0xe, 0x0, 0xc0, 0x2a, 0x2, 0xa0, + 0x7, 0x1, 0x52, 0x1, 0x5a, 0x40, 0xe, 0x3, + 0xb1, 0x0, 0x90, 0x2, 0xc0, 0x7d, 0x88, 0x19, + 0x50, 0x3f, 0xb2, 0x0, 0xa8, 0x1f, 0xf5, 0x49, + 0x40, 0xfc, + + /* U+F00D "ï€" */ + 0x4, 0xf, 0x88, 0x9b, 0x0, 0xed, 0x91, 0x83, + 0x80, 0xb1, 0xe, 0x80, 0x38, 0xe2, 0x2, 0xaa, + 0x0, 0xe2, 0x2, 0xa0, 0xa8, 0x1d, 0x50, 0x12, + 0x20, 0x45, 0x1, 0xb1, 0x2, 0x38, 0xb, 0x10, + 0xc, 0x1, 0xc3, 0x10, 0x16, 0x50, 0x7, 0x1, + 0x54, 0x15, 0x2, 0xca, 0xa0, 0x25, 0x56, + + /* U+F011 "" */ + 0x3, 0xcb, 0xf0, 0x1f, 0xe2, 0x0, 0x81, 0x88, + 0x1e, 0x5b, 0x0, 0xe3, 0xb0, 0xc, 0x68, 0x20, + 0x73, 0x7, 0x1, 0x70, 0x14, 0xe, 0x4c, 0x16, + 0x11, 0x11, 0x1, 0xe8, 0x44, 0x18, 0x3, 0x3, + 0xf4, 0x0, 0x48, 0x10, 0x3f, 0x98, 0x6, 0x7, + 0x88, 0x1c, 0x40, 0x10, 0x4, 0x9, 0x7e, 0x2, + 0x40, 0xe, 0x0, 0x80, 0xfd, 0xc0, 0x26, 0x2, + 0x81, 0xf2, 0x40, 0x80, 0x40, 0x18, 0x81, 0x9d, + 0x1, 0x0, 0x36, 0x7, 0x65, 0xaf, 0x0, 0x52, + 0x5, 0x20, 0x1, 0x48, 0x0, 0xe4, 0x7, 0x3f, + 0x11, 0x25, 0x71, 0x2, + + /* U+F012 "" */ + 0x3, 0xff, 0x8b, 0xf9, 0x1, 0xff, 0xc7, 0x20, + 0x7f, 0xf5, 0x7f, 0x20, 0x3f, 0xf8, 0xe4, 0xf, + 0xfe, 0xaf, 0xe4, 0x7, 0xff, 0x1c, 0x81, 0xff, + 0xd5, 0xfc, 0x80, 0xff, 0xe3, 0x90, 0x3f, 0xfa, + 0xbf, 0x90, 0x1f, 0xfc, 0x72, 0x7, 0xff, 0x6c, + 0x81, 0x10, 0x22, 0x4, 0x40, 0x88, + + /* U+F013 "" */ + 0x3, 0xd2, 0xd4, 0x3, 0xff, 0x80, 0xd2, 0x30, + 0x3f, 0x10, 0xc, 0xc, 0xc0, 0x10, 0x25, 0xb5, + 0x0, 0xd3, 0x7c, 0x80, 0x40, 0x48, 0xf, 0x10, + 0x10, 0x22, 0x7, 0x36, 0x3, 0x8a, 0x46, 0x6, + 0xd2, 0x30, 0x19, 0xa1, 0x0, 0x99, 0x0, 0x58, + 0x14, 0x3, 0xff, 0x8d, 0x0, 0x99, 0x0, 0x58, + 0x14, 0x9, 0x81, 0xb4, 0x8c, 0x6, 0x69, 0x8, + 0x1c, 0xd8, 0xe, 0x28, 0x40, 0x4, 0xf, 0x12, + 0x10, 0x2, 0xdf, 0x40, 0x34, 0xda, 0x40, 0x44, + 0x3, 0x3, 0x30, 0x4, 0xf, 0xcd, 0x23, 0x3, + 0xc0, + + /* U+F015 "" */ + 0x3, 0xe3, 0xb0, 0x83, 0xf8, 0x81, 0xf9, 0xe2, + 0x59, 0x30, 0xc, 0xf, 0xa4, 0x6, 0xc2, 0xf0, + 0x3f, 0xab, 0x12, 0xd4, 0x8, 0xf, 0x8e, 0x43, + 0x1d, 0x87, 0x1, 0xf2, 0xc4, 0xbd, 0xa0, 0x16, + 0xb1, 0x15, 0x7, 0x42, 0xd5, 0x81, 0x9c, 0xc8, + 0x57, 0x43, 0x99, 0x1, 0xe5, 0xa3, 0x17, 0x59, + 0x88, 0x1f, 0x8e, 0x97, 0x4, 0x7, 0xff, 0x9, + 0x1, 0xf9, 0xfe, 0x60, 0x7f, 0xf9, 0xb8, 0xe, + 0x7, 0xc0, + + /* U+F01E "" */ + 0x3, 0x9d, 0xd9, 0x50, 0x3, 0xf8, 0x9, 0x78, + 0x89, 0x2b, 0x90, 0x1c, 0xe8, 0x7, 0x21, 0x3, + 0x68, 0x9, 0x40, 0xbc, 0x6d, 0x71, 0xc, 0xa, + 0x85, 0x40, 0xc4, 0x72, 0x4, 0x80, 0x50, 0x3b, + 0x68, 0x81, 0x60, 0x80, 0xff, 0xe0, 0x90, 0x40, + 0xf7, 0xff, 0x1, 0xff, 0xc4, 0x20, 0x81, 0xff, + 0xc1, 0xc1, 0x1, 0xff, 0xc1, 0x40, 0x28, 0x1f, + 0xfc, 0x1a, 0x15, 0x3, 0xd5, 0x81, 0x93, 0xb, + 0xc6, 0xd7, 0xa8, 0x40, 0xd2, 0x80, 0x72, 0x10, + 0xa, 0x40, 0xe5, 0xe2, 0x24, 0xaf, 0x40, 0x40, + + /* U+F023 "" */ + 0x3, 0x2b, 0xfa, 0xa0, 0x3e, 0x75, 0x0, 0x55, + 0x81, 0xc6, 0x0, 0x6c, 0x2, 0x10, 0x35, 0x1, + 0xa4, 0x60, 0x14, 0xc, 0x41, 0x20, 0x4, 0x81, + 0x3, 0x30, 0x3f, 0x30, 0x3f, 0xf8, 0x93, 0x90, + 0x7f, 0xc4, 0x1f, 0x18, 0x1f, 0xfc, 0x6, 0x7, + 0xff, 0xfc, 0xf, 0xe6, 0x7, 0xff, 0x1, 0x80, + + /* U+F026 "" */ + 0x3, 0xff, 0x85, 0x30, 0x1d, 0x19, 0x3, 0x46, + 0x3, 0x7f, 0x30, 0x22, 0x7, 0xff, 0x4c, 0x81, + 0xf6, 0xfe, 0x60, 0x7d, 0x18, 0x1f, 0x46, 0x40, + 0xf4, 0xc0, + + /* U+F028 "" */ + 0x3, 0xff, 0x82, 0xc0, 0xff, 0xe2, 0xcc, 0x40, + 0xfd, 0x30, 0x1d, 0x8e, 0x3, 0xe8, 0xc8, 0x15, + 0xa3, 0x85, 0x3, 0xa3, 0x3, 0xba, 0xc6, 0x24, + 0xdf, 0xcc, 0xc, 0x52, 0x52, 0xd8, 0x62, 0x7, + 0xe5, 0x5a, 0x34, 0x24, 0x3, 0xf9, 0xa8, 0x11, + 0x4, 0x80, 0xff, 0xe7, 0xb5, 0x2, 0x20, 0x98, + 0xf, 0xca, 0xb4, 0x68, 0x49, 0xbf, 0x98, 0x18, + 0xa4, 0xa5, 0xb0, 0xc0, 0x68, 0xc0, 0xee, 0xb1, + 0x89, 0x0, 0xe8, 0xc8, 0x15, 0xa3, 0x85, 0x3, + 0xe9, 0x80, 0xec, 0x70, 0x1f, 0xfc, 0x39, 0x88, + 0x0, + + /* U+F043 "ïƒ" */ + 0x3, 0x2e, 0x80, 0xfd, 0xc7, 0x3, 0xf2, 0x8, + 0xf, 0xa0, 0x14, 0x3, 0x8b, 0x2, 0x64, 0xd, + 0xc0, 0xee, 0x4, 0xc8, 0x1c, 0x60, 0x30, 0xf, + 0x99, 0xa0, 0x7f, 0x56, 0x7, 0xf3, 0x1, 0x80, + 0xff, 0x90, 0x1f, 0x31, 0x2a, 0x3, 0x9d, 0xa, + 0xcc, 0x6, 0xa6, 0x85, 0xb0, 0xa, 0x90, 0xb3, + 0x2, 0x79, 0x0, + + /* U+F048 "ïˆ" */ + 0x3, 0xfd, 0xf8, 0x81, 0xdb, 0x0, 0x30, 0x23, + 0x89, 0x1, 0xc7, 0x10, 0x3c, 0x70, 0x1f, 0x2c, + 0x7, 0xda, 0x81, 0xf9, 0x81, 0xff, 0xc7, 0x40, + 0x7f, 0x7a, 0x7, 0xf2, 0xa0, 0x7f, 0x2c, 0x7, + 0xf1, 0xc0, 0x73, 0x2, 0x3c, 0x97, 0xe2, 0x7, + 0x6c, + + /* U+F04A "ïŠ" */ + 0x3, 0xff, 0x92, 0x76, 0x1, 0xc7, 0x60, 0x18, + 0xe2, 0x40, 0x63, 0x89, 0x1, 0x3c, 0x7, 0x9e, + 0x3, 0xa4, 0x1, 0xe9, 0x0, 0x75, 0x60, 0x7a, + 0xb0, 0x3b, 0x20, 0x3d, 0x90, 0x1f, 0xfc, 0xac, + 0x80, 0xf6, 0x40, 0x7d, 0x58, 0x1e, 0xac, 0xf, + 0xa4, 0x1, 0xe9, 0x0, 0x7c, 0xf0, 0x1e, 0x78, + 0xf, 0x8e, 0x24, 0x6, 0x38, 0x90, 0x1c, 0x76, + 0x1, 0xc7, 0x60, + + /* U+F04B "ï‹" */ + 0x3, 0xff, 0x85, 0x3c, 0x3, 0xfe, 0x61, 0xf6, + 0x7, 0xff, 0x6, 0x64, 0x7, 0xff, 0x0, 0xda, + 0x3, 0xff, 0x82, 0xbb, 0x3, 0xff, 0x83, 0x32, + 0x3, 0xff, 0x80, 0x6d, 0x10, 0x3f, 0xf8, 0xb, + 0x81, 0xff, 0xce, 0x5c, 0xf, 0xf1, 0xb4, 0x40, + 0xfe, 0x99, 0x1, 0xfc, 0xbb, 0x3, 0xf8, 0xda, + 0x3, 0xfd, 0x32, 0x3, 0xe6, 0x17, 0x60, 0x7f, + 0x4f, 0x40, 0xff, 0x80, + + /* U+F04C "ïŒ" */ + 0x3, 0xff, 0x85, 0x3f, 0xd0, 0x4, 0xff, 0x46, + 0x6, 0x60, 0x18, 0x19, 0x81, 0xff, 0xff, 0x3, + 0xff, 0xfe, 0x6, 0x80, 0x68, 0x2, 0x1, 0xa0, + + /* U+F04D "ï" */ + 0x9f, 0xff, 0xf0, 0x23, 0x3, 0xff, 0x80, 0xc0, + 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, 0x30, 0x3f, + 0xf8, 0xc, + + /* U+F04E "ïŽ" */ + 0x3, 0xff, 0x89, 0xb0, 0x81, 0xdb, 0x8, 0x1c, + 0x4b, 0x10, 0x31, 0x2c, 0x40, 0xfb, 0x30, 0x3d, + 0x98, 0x1f, 0x48, 0x3, 0xd2, 0x0, 0xf9, 0xd0, + 0x3c, 0xe8, 0x1f, 0x2c, 0x7, 0x96, 0x3, 0xff, + 0x94, 0xb0, 0x1e, 0x58, 0xe, 0x74, 0xf, 0x3a, + 0x7, 0x48, 0x3, 0xd2, 0x0, 0xec, 0xc0, 0xf6, + 0x60, 0x44, 0xb1, 0x3, 0x12, 0xc4, 0xd, 0xb0, + 0x81, 0xdb, 0x8, 0x1c, + + /* U+F051 "ï‘" */ + 0x3, 0xfd, 0xb0, 0xe, 0x3f, 0x89, 0x62, 0x4, + 0xc0, 0xc7, 0x10, 0x3f, 0xb2, 0x3, 0xfa, 0xa0, + 0x3f, 0xae, 0x3, 0xf9, 0x81, 0xff, 0xc7, 0x60, + 0x7e, 0xb8, 0xf, 0xb2, 0x3, 0xec, 0x40, 0xf1, + 0xc4, 0xe, 0x25, 0x88, 0x13, 0x1, 0xb0, 0xe, + 0x3f, 0x80, + + /* U+F053 "ï“" */ + 0x3, 0xea, 0x80, 0xfb, 0x2a, 0x7, 0xb1, 0x8, + 0xe, 0xc4, 0x2a, 0x6, 0xc4, 0x2a, 0x6, 0xc4, + 0x2a, 0x6, 0xc4, 0x2a, 0x7, 0xe2, 0x7, 0xb1, + 0xe, 0x1, 0xec, 0x43, 0x80, 0x7b, 0x10, 0xe0, + 0x1e, 0xc4, 0x38, 0x7, 0xb1, 0xc, 0xf, 0xb2, + 0xa0, + + /* U+F054 "ï”" */ + 0xa, 0x81, 0xfa, 0xac, 0x7, 0xc8, 0x1c, 0x7, + 0xaa, 0x7, 0x1, 0xea, 0x81, 0xc0, 0x7a, 0xa0, + 0x70, 0x1e, 0xa8, 0x1c, 0x7, 0x88, 0x1f, 0xa3, + 0x7, 0x1, 0xa3, 0x7, 0x1, 0xa3, 0x7, 0x1, + 0xa3, 0x7, 0x1, 0xcc, 0x1c, 0x7, 0xaa, 0xc0, + 0x78, + + /* U+F055 "ï•" */ + 0x3, 0x19, 0xbf, 0x56, 0x7, 0xe9, 0x99, 0x0, + 0xa6, 0x20, 0x75, 0x60, 0x7c, 0x71, 0x2, 0x88, + 0x9, 0x58, 0x6, 0xc0, 0xb, 0x3, 0x14, 0x80, + 0x74, 0x14, 0xf, 0xfe, 0xb, 0x8, 0x2, 0x6d, + 0x81, 0x6e, 0x2, 0x24, 0x3, 0xc8, 0x40, 0x24, + 0x80, 0x98, 0x1f, 0xfc, 0x42, 0x3, 0xc8, 0x40, + 0x24, 0x80, 0x9a, 0x0, 0x9b, 0x60, 0x5b, 0x80, + 0x8d, 0x3, 0xff, 0x82, 0xc1, 0x60, 0x62, 0x90, + 0xe, 0x80, 0x22, 0x2, 0x56, 0x1, 0xb0, 0x1a, + 0xb0, 0x3e, 0x38, 0x81, 0xd3, 0x32, 0x1, 0x4c, + 0x40, 0x80, + + /* U+F056 "ï–" */ + 0x3, 0x8b, 0x8d, 0x1, 0xfc, 0xb6, 0x47, 0x2f, + 0x80, 0x79, 0xd2, 0x7, 0x9e, 0x3, 0x28, 0x7, + 0xf1, 0xa0, 0x54, 0xf, 0xf9, 0x30, 0xc0, 0xff, + 0xe0, 0xd1, 0x80, 0xff, 0xe0, 0x92, 0x60, 0x2f, + 0xff, 0x80, 0x99, 0x3, 0xff, 0x86, 0x40, 0x79, + 0x3f, 0x1, 0x34, 0x1, 0x37, 0xf8, 0x8, 0xd0, + 0x3f, 0xf8, 0x28, 0x14, 0x7, 0xff, 0x2, 0x80, + 0xa4, 0xf, 0xf5, 0x3, 0x64, 0x7, 0xec, 0x80, + 0xeb, 0x99, 0x0, 0xa7, 0x20, 0x40, + + /* U+F058 "ï˜" */ + 0x3, 0x8b, 0x90, 0xc8, 0x1f, 0x8e, 0xc8, 0xda, + 0x6c, 0x20, 0x72, 0xc4, 0xf, 0x1c, 0x80, 0x8d, + 0x3, 0xfd, 0x48, 0xe, 0x7, 0xff, 0x3, 0x84, + 0x40, 0xfc, 0x7c, 0x5, 0x60, 0x3f, 0x1c, 0x8, + 0xc, 0x40, 0x16, 0x4, 0x70, 0x54, 0x1, 0x2, + 0xd1, 0x83, 0x82, 0xa0, 0x7d, 0x44, 0x8c, 0x15, + 0x3, 0x1c, 0x1, 0x50, 0xc2, 0xa0, 0x76, 0x60, + 0x4a, 0x85, 0x40, 0xf2, 0x10, 0x9, 0x6a, 0x7, + 0xa8, 0x6, 0xc0, 0x44, 0xf, 0x34, 0x5, 0x20, + 0xf, 0xd2, 0x0, 0xe7, 0xe2, 0x24, 0xa7, 0x60, + 0x40, + + /* U+F059 "ï™" */ + 0x3, 0x94, 0xb5, 0x10, 0x1f, 0x96, 0xad, 0x23, + 0xb8, 0x81, 0xce, 0x90, 0x3c, 0x72, 0x2, 0x50, + 0x1, 0xdf, 0xb2, 0x1, 0x48, 0x8, 0x0, 0xe2, + 0x0, 0xd4, 0x3, 0x84, 0x40, 0x30, 0x6d, 0x11, + 0xc0, 0x15, 0x80, 0x96, 0xc4, 0x8c, 0x30, 0x2c, + 0x40, 0xc4, 0x1c, 0x85, 0x2, 0x20, 0x7d, 0x88, + 0x8c, 0xc, 0x40, 0xe2, 0x2, 0xb0, 0x31, 0xc0, + 0x71, 0xfc, 0x80, 0xec, 0x80, 0xe3, 0xf8, 0x81, + 0xc8, 0x40, 0x33, 0x0, 0xc0, 0xd4, 0x3, 0x60, + 0x25, 0x21, 0x1, 0x34, 0x5, 0x20, 0x9, 0xb0, + 0x14, 0x80, 0x39, 0xf8, 0x89, 0x29, 0xd8, 0x10, + + /* U+F05A "ïš" */ + 0x3, 0x9d, 0xd9, 0x58, 0x1f, 0x9f, 0x88, 0x92, + 0x9d, 0x1, 0xd2, 0x0, 0xfd, 0x58, 0x12, 0x60, + 0x64, 0x40, 0xd1, 0x0, 0xa0, 0x63, 0x71, 0x3, + 0x50, 0x80, 0xff, 0xe1, 0x2c, 0x7, 0x1d, 0x84, + 0xe, 0xc4, 0xe, 0xbb, 0x0, 0xf1, 0x3, 0xc4, + 0xf, 0xe2, 0x7, 0x40, 0x3f, 0x1c, 0x7, 0x10, + 0x4, 0xe, 0xc8, 0xe, 0x80, 0x20, 0x18, 0xa1, + 0x40, 0xd7, 0xf5, 0x3, 0x40, 0xa, 0x1, 0xfe, + 0x88, 0x9, 0xd0, 0x3e, 0x35, 0x81, 0xcb, 0xd6, + 0x91, 0xdc, 0x80, 0x80, + + /* U+F05E "ïž" */ + 0x3, 0x8b, 0x90, 0xc8, 0x1f, 0x8e, 0xc8, 0xda, + 0x6c, 0x20, 0x72, 0xc4, 0x39, 0xc, 0x1c, 0x80, + 0x8d, 0x1, 0xe3, 0x69, 0xd8, 0xa4, 0x7, 0x2, + 0xa0, 0x74, 0x63, 0x84, 0x4b, 0x5, 0x40, 0xe8, + 0xa, 0xc2, 0x9c, 0x15, 0x3, 0x98, 0xc4, 0x10, + 0x70, 0x54, 0xd, 0x81, 0x3, 0x8e, 0xa, 0x81, + 0xf8, 0x81, 0x1c, 0x15, 0x0, 0x41, 0xc2, 0x81, + 0x8e, 0xa, 0x8a, 0x33, 0x5, 0x1, 0x8e, 0xb, + 0x10, 0x84, 0x15, 0x1, 0x8e, 0x4, 0x50, 0xd, + 0x85, 0xa4, 0x49, 0x40, 0xd, 0x1, 0x48, 0xa, + 0xec, 0xa8, 0x48, 0x3, 0x9f, 0x88, 0x92, 0x9d, + 0x81, 0x0, + + /* U+F060 "ï " */ + 0x3, 0xff, 0x8e, 0x74, 0x3, 0xfc, 0x71, 0x64, + 0xf, 0xc7, 0x0, 0x84, 0xf, 0x8e, 0x1, 0x18, + 0x1f, 0x1c, 0x2, 0x30, 0x3e, 0x38, 0x1, 0xd, + 0xfc, 0xb8, 0x11, 0x93, 0xf5, 0x40, 0x7f, 0xf0, + 0xc, 0x60, 0xf, 0xff, 0xb0, 0x8c, 0x1a, 0x7, + 0xfa, 0x30, 0xb0, 0x1f, 0xe8, 0xc1, 0xc0, 0x7f, + 0xa3, 0x4, 0x80, 0xff, 0x48, 0xc4, 0xe, + + /* U+F061 "ï¡" */ + 0x3, 0xff, 0x91, 0x31, 0x3, 0xfc, 0x59, 0xc4, + 0xf, 0xe3, 0x0, 0x62, 0x7, 0xf3, 0x80, 0x31, + 0x3, 0xf9, 0xc0, 0x18, 0x84, 0xdf, 0xc0, 0x80, + 0xc6, 0xc9, 0xf8, 0x81, 0x72, 0x7, 0xff, 0x1, + 0x6f, 0xff, 0x10, 0xe, 0x1, 0xfa, 0x90, 0xe0, + 0x1f, 0xb2, 0xe, 0x1, 0xfb, 0x10, 0xe0, 0x1f, + 0x89, 0x7, 0x0, 0xfe, 0x3a, 0x40, 0x1c, + + /* U+F062 "ï¢" */ + 0x3, 0xd3, 0x1, 0xff, 0x56, 0x70, 0x1f, 0xd5, + 0x0, 0x38, 0xf, 0xaa, 0x3, 0x1c, 0x7, 0x54, + 0x8, 0x2, 0xe, 0x2, 0xa8, 0x2c, 0x2, 0xc0, + 0x70, 0x68, 0x1a, 0x6, 0x70, 0x1c, 0x41, 0xc0, + 0x79, 0xc0, 0x93, 0x60, 0x1f, 0x9e, 0x80, 0x81, + 0xfe, 0x20, 0x7f, 0xf9, 0xc8, 0x1c, + + /* U+F063 "ï£" */ + 0x3, 0xdf, 0x90, 0x1f, 0xfc, 0x12, 0x7, 0xff, + 0x90, 0x81, 0xfe, 0x21, 0x6c, 0x3, 0xf3, 0xd0, + 0x83, 0x80, 0xf3, 0x81, 0x34, 0xd, 0x3, 0x38, + 0xe, 0x15, 0x5, 0x80, 0x58, 0xe, 0x2, 0xa8, + 0x10, 0x4, 0x1c, 0x7, 0x54, 0x6, 0x38, 0xf, + 0xaa, 0x0, 0x70, 0x1f, 0xd5, 0x9c, 0x7, 0x0, + + /* U+F067 "ï§" */ + 0x3, 0x97, 0xe4, 0x7, 0xfb, 0x0, 0xc0, 0x7f, + 0xf8, 0xd4, 0x99, 0x0, 0x52, 0x65, 0x5b, 0xc4, + 0x1, 0x6f, 0x50, 0x3f, 0xf8, 0x55, 0xbc, 0x40, + 0x16, 0xf5, 0x52, 0x64, 0x1, 0x49, 0x90, 0x1f, + 0xfe, 0x3c, 0x3, 0x1, 0xc0, + + /* U+F068 "ï¨" */ + 0x9, 0x7f, 0xf0, 0x7, 0xb7, 0xff, 0x81, 0xc0, + 0xff, 0xe1, 0x44, 0xbf, 0xf8, 0x10, + + /* U+F06E "ï®" */ + 0x3, 0x95, 0xdf, 0xb5, 0x40, 0x7e, 0x5a, 0xa0, + 0xd8, 0x2b, 0x90, 0x1c, 0xe9, 0x17, 0x48, 0xd4, + 0x1a, 0xc0, 0x9c, 0x1, 0x50, 0x9e, 0x2a, 0x2, + 0x30, 0xa0, 0x2, 0x80, 0x10, 0xe2, 0x20, 0x22, + 0x80, 0x48, 0x4a, 0x80, 0x30, 0x80, 0xa0, 0x1e, + 0x68, 0xf, 0xf4, 0x2, 0x41, 0x81, 0x98, 0x40, + 0x51, 0x40, 0x5, 0x46, 0x1, 0xc4, 0x40, 0x44, + 0x1c, 0x1, 0x54, 0xfd, 0x15, 0x0, 0xd8, 0x9, + 0xd2, 0x2e, 0x91, 0xa8, 0x36, 0x1, 0xcb, 0x54, + 0x1b, 0x5, 0x72, 0x2, + + /* U+F070 "ï°" */ + 0x98, 0x81, 0xff, 0xc5, 0x47, 0x20, 0x3f, 0xf8, + 0x99, 0xb, 0x2, 0x9b, 0xf6, 0xa8, 0xf, 0xac, + 0xf, 0xd6, 0x1b, 0x5, 0x72, 0x3, 0xce, 0x81, + 0x3d, 0x23, 0x50, 0x6b, 0x3, 0xcb, 0x90, 0xda, + 0x78, 0xa8, 0x8, 0xc0, 0x97, 0x23, 0x31, 0x18, + 0x71, 0x10, 0x11, 0x0, 0x83, 0x31, 0x28, 0x19, + 0x84, 0x5, 0x0, 0xe8, 0xc2, 0xc4, 0xf, 0xfa, + 0x1, 0x50, 0x7, 0x20, 0x11, 0x1, 0x70, 0xa, + 0x0, 0x28, 0xa, 0xc0, 0xc8, 0x8, 0x40, 0x9b, + 0x0, 0xa8, 0x9, 0xe0, 0x24, 0xc0, 0xe9, 0x48, + 0xba, 0x41, 0x2e, 0x82, 0x60, 0x79, 0x6a, 0x83, + 0x6e, 0x2, 0xb1, 0x28, 0x1f, 0x2b, 0xbf, 0x60, + 0x29, 0x42, 0xc0, 0x7f, 0xf1, 0x16, 0x28, + + /* U+F077 "ï·" */ + 0x3, 0xff, 0x91, 0xb0, 0xf, 0xfb, 0x12, 0xc0, + 0x7f, 0x62, 0x0, 0xe0, 0x3e, 0xc4, 0x36, 0x7, + 0x1, 0xd8, 0x87, 0x21, 0x83, 0x80, 0xb1, 0xe, + 0x0, 0x8c, 0x1c, 0x29, 0xe, 0x1, 0xa3, 0x6, + 0xf0, 0xe0, 0x1e, 0x8c, 0x75, 0xe0, 0x1f, 0xa7, + 0x40, + + /* U+F078 "ï¸" */ + 0x3, 0xff, 0x84, 0xbc, 0x3, 0xf4, 0xeb, 0x87, + 0x0, 0xf4, 0x63, 0xd2, 0x1c, 0x3, 0x46, 0xd, + 0x18, 0x87, 0x0, 0x46, 0xe, 0x2, 0xc4, 0x39, + 0xc, 0x1c, 0x7, 0x62, 0x1b, 0x3, 0x80, 0xfb, + 0x10, 0x7, 0x1, 0xfd, 0x89, 0x60, 0x3f, 0xed, + 0x80, 0x78, + + /* U+F07B "ï»" */ + 0x9f, 0xf8, 0x81, 0xf9, 0x81, 0xec, 0x40, 0xff, + 0xe1, 0xef, 0xfd, 0x0, 0xff, 0xe1, 0xb0, 0x3f, + 0xff, 0xe0, 0x7f, 0xf6, 0x58, 0x1f, 0xfc, 0x26, + + /* U+F080 "ï‚€" */ + 0xfc, 0x7, 0xfd, 0xf8, 0xf, 0xdf, 0x80, 0xff, + 0xea, 0xfe, 0x3, 0xff, 0x99, 0xf8, 0xf, 0xff, + 0x17, 0xe1, 0xf8, 0x7e, 0x1f, 0x80, 0xff, 0xe3, + 0xff, 0xff, 0xc2, 0x20, 0x7f, 0xf0, 0xc0, + + /* U+F084 "ï‚„" */ + 0x3, 0xe3, 0x37, 0xe8, 0x40, 0xfc, 0xb3, 0x20, + 0x1e, 0x40, 0x78, 0xd0, 0x32, 0x41, 0x48, 0x1d, + 0x40, 0xca, 0xd2, 0x14, 0xe, 0x40, 0x7f, 0x30, + 0x38, 0x81, 0x95, 0xa4, 0x7, 0xff, 0x5, 0x20, + 0x1f, 0x10, 0x3f, 0xcc, 0x8, 0xe0, 0x3f, 0xd4, + 0x1, 0xc0, 0x7f, 0xa9, 0x7, 0x1, 0xfc, 0xf2, + 0x7, 0x1, 0xe3, 0xfd, 0x8, 0xe, 0x7, 0xbe, + 0x3, 0xe2, 0x7, 0x10, 0x3f, 0xf8, 0x5f, 0x1, + 0xfc, 0x40, 0x88, 0x1f, 0xf0, + + /* U+F085 "ï‚…" */ + 0x3, 0xff, 0xb3, 0x3b, 0xf0, 0xf, 0xdf, 0xcc, + 0xe, 0x22, 0x2, 0x7, 0xfd, 0xc0, 0xd1, 0x26, + 0x49, 0x0, 0xa5, 0x7c, 0x9, 0xe7, 0x8b, 0x18, + 0xe0, 0xc0, 0x36, 0x50, 0xe, 0x30, 0xfc, 0x65, + 0x87, 0x80, 0x80, 0x72, 0x20, 0x62, 0x80, 0x20, + 0x3a, 0x1, 0xbd, 0xc8, 0x9, 0x27, 0x9e, 0x70, + 0x26, 0x80, 0x30, 0x2a, 0x5, 0x49, 0x30, 0xc8, + 0x1f, 0xfc, 0xd6, 0x80, 0x34, 0x2, 0x1, 0x62, + 0x4c, 0x32, 0x5, 0x40, 0xd7, 0x76, 0x4, 0x5f, + 0x9e, 0x70, 0x28, 0x7, 0x10, 0x38, 0xb0, 0xc, + 0xe, 0x4d, 0xa0, 0x1c, 0xaa, 0xf8, 0xc9, 0x1e, + 0x5, 0x21, 0xf0, 0x27, 0x55, 0x2c, 0x55, 0x43, + 0x3, 0xe2, 0x3, 0x81, 0xa2, 0x34, 0xa8, 0x7, + 0xdb, 0xf3, 0x3, 0x88, 0x80, 0x81, 0xff, 0xc5, + 0x9d, 0xf8, 0x0, + + /* U+F09C "ï‚œ" */ + 0x3, 0x2b, 0xfa, 0xa0, 0x3e, 0x75, 0x0, 0x55, + 0x81, 0xc6, 0x0, 0x6c, 0x2, 0x10, 0x35, 0x1, + 0xa4, 0x60, 0x14, 0xc, 0x41, 0x20, 0x4, 0x81, + 0x3, 0x30, 0x3c, 0x81, 0x3, 0xfe, 0x9e, 0x1, + 0xff, 0xc4, 0x9c, 0x83, 0xff, 0xe8, 0xc0, 0xff, + 0xe0, 0x30, 0x3f, 0xff, 0x4c, 0xf, 0xfe, 0x3, + + /* U+F0C2 "" */ + 0x3, 0x96, 0xfd, 0x50, 0x1f, 0xfc, 0x19, 0x48, + 0x5, 0x60, 0x1f, 0xf2, 0x60, 0x79, 0xdf, 0xd0, + 0xf, 0xa0, 0x1f, 0x90, 0x7, 0x0, 0xf1, 0x3, + 0xff, 0x80, 0xc0, 0xe6, 0x7, 0xff, 0x1b, 0x40, + 0x3f, 0xf8, 0x54, 0x86, 0x40, 0xff, 0xe1, 0xac, + 0x68, 0x1f, 0xfc, 0x68, 0x40, 0xff, 0xe3, 0x22, + 0x7, 0xff, 0x1d, 0x1, 0xff, 0xc6, 0x50, 0x81, + 0xff, 0xc5, 0x83, 0x32, 0x7, 0xff, 0x5, 0x62, + + /* U+F0C9 "" */ + 0x4, 0xff, 0xf0, 0x7, 0xdb, 0xff, 0x81, 0xc0, + 0xff, 0xe1, 0x7d, 0xbf, 0xf8, 0x1c, 0x13, 0xff, + 0xc0, 0x0, 0x4f, 0xff, 0x0, 0x7d, 0xbf, 0xf8, + 0x1c, 0xf, 0xfe, 0x17, 0xdb, 0xff, 0x81, 0xc1, + 0x3f, 0xfc, 0x0, 0x4, 0xff, 0xf0, 0x7, 0xdb, + 0xff, 0x81, 0xc0, 0xff, 0xe1, 0x7d, 0xbf, 0xf8, + 0x1c, + + /* U+F0D7 "" */ + 0x9f, 0xfe, 0x94, 0xf, 0xd4, 0xe0, 0x3d, 0x88, + 0x38, 0xd, 0x88, 0x11, 0xc0, 0x31, 0x3, 0x8f, + 0xe2, 0x4, + + /* U+F0D8 "" */ + 0x3, 0xff, 0x82, 0x7f, 0x10, 0x38, 0xe0, 0x18, + 0x81, 0x1c, 0x6, 0xc4, 0x1c, 0x7, 0xb1, 0xa0, + 0x7e, 0xa0, + + /* U+F0D9 "" */ + 0x3, 0x18, 0x4, 0x73, 0x0, 0x70, 0x11, 0xc0, + 0x6c, 0x7, 0xfd, 0x80, 0xe3, 0x80, 0xe3, 0x80, + 0xe3, 0x98, + + /* U+F0DA "" */ + 0x84, 0xc, 0xf1, 0x3, 0xb1, 0x3, 0xb1, 0x3, + 0xb0, 0x1f, 0xf6, 0x3, 0x62, 0x5, 0x88, 0x7, + 0x88, 0x10, + + /* U+F0E2 "" */ + 0xfc, 0x40, 0x3b, 0xb2, 0xb0, 0x3e, 0x6d, 0xe2, + 0x24, 0xa7, 0x60, 0x77, 0x80, 0x1c, 0x86, 0x2, + 0x40, 0x19, 0x5, 0xe3, 0x69, 0xd0, 0x6c, 0x7, + 0x74, 0x40, 0xd5, 0x8, 0x7, 0x5a, 0xc0, 0x75, + 0x0, 0xc0, 0xff, 0xe0, 0xa1, 0xbf, 0xf8, 0xf, + 0x10, 0x3f, 0xfa, 0x64, 0x10, 0x3f, 0xf8, 0x28, + 0x60, 0x3f, 0xf8, 0x14, 0x2, 0x2, 0x74, 0xf, + 0x54, 0x28, 0x11, 0x8b, 0xc6, 0xd3, 0xa0, 0xd0, + 0x11, 0xa0, 0x1c, 0x86, 0x2, 0x40, 0x1c, 0xbc, + 0x44, 0x94, 0xec, 0x8, + + /* U+F0E7 "" */ + 0x1, 0xbf, 0xd8, 0xf, 0x10, 0x3f, 0xc4, 0xe, + 0xa0, 0x72, 0x3, 0x90, 0x1d, 0xc0, 0xc4, 0x80, + 0xe2, 0x6, 0x3f, 0xd8, 0x3, 0x3, 0xf3, 0x0, + 0x40, 0xfd, 0x0, 0x10, 0x3e, 0x64, 0x6, 0xfe, + 0x40, 0x50, 0xf, 0x90, 0xa, 0x7, 0xc4, 0x1, + 0x40, 0x7c, 0xc0, 0x70, 0x3f, 0x60, 0x88, 0x1f, + 0x90, 0xa0, 0x7f, 0xa0, 0x1e, + + /* U+F0E9 "" */ + 0x3, 0xfb, 0x60, 0x1f, 0xfc, 0x42, 0x89, 0x22, + 0x7, 0xff, 0x1, 0x6c, 0xa0, 0x2e, 0xc4, 0x7, + 0xf5, 0xa2, 0x7, 0x8d, 0xa0, 0x3e, 0xc8, 0xf, + 0xf2, 0xc0, 0x74, 0x20, 0x7f, 0xf0, 0xc, 0x2, + 0x2c, 0xf, 0xfe, 0x13, 0x20, 0x28, 0x1f, 0xfc, + 0x4a, 0x1, 0xcf, 0x88, 0x7, 0xf9, 0x80, 0x3b, + 0xc4, 0x3, 0xb0, 0x70, 0x53, 0x64, 0x43, 0x10, + 0xf0, 0x1f, 0x6a, 0x9, 0xb, 0x80, 0xff, 0xe0, + 0x10, 0x3c, 0x40, 0xff, 0xea, 0x5c, 0x40, 0xff, + 0xe3, 0x1c, 0x10, 0x1f, 0xfc, 0x38, 0x42, 0xa0, + 0x7f, 0x0, + + /* U+F0EB "" */ + 0x0, 0x6f, 0xf4, 0x20, 0x4b, 0x20, 0x27, 0x90, + 0x34, 0x2d, 0x80, 0x54, 0xd0, 0xac, 0xc0, 0x6a, + 0xc4, 0xa8, 0xe, 0x60, 0x48, 0xf, 0xec, 0x7, + 0xe6, 0x7, 0xf3, 0xa0, 0x7f, 0x53, 0x40, 0xfa, + 0x90, 0x90, 0xe, 0x48, 0x5, 0x0, 0xe8, 0x6, + 0x3f, 0xf1, 0x3, 0xbf, 0xe0, 0x3f, 0xf8, 0xb4, + 0xa, 0x81, 0x0, + + /* U+F0F3 "" */ + 0x3, 0xdb, 0x0, 0xff, 0x89, 0xc0, 0x7f, 0x5c, + 0x3, 0x61, 0x3, 0xdd, 0x1, 0x8e, 0x3, 0xa0, + 0x1f, 0xa0, 0x19, 0x81, 0xf9, 0x1, 0xff, 0xc1, + 0x20, 0x7f, 0xf1, 0x48, 0x1f, 0xe2, 0x2, 0x81, + 0xfe, 0xa0, 0x18, 0x1f, 0xe6, 0x30, 0x1f, 0xfc, + 0xc, 0x7, 0xff, 0xb, 0x7f, 0xff, 0xc0, 0xc0, + 0x77, 0xf8, 0xf, 0xf5, 0x1, 0x40, 0xe0, + + /* U+F0F4 "" */ + 0x3, 0x6f, 0xff, 0xf8, 0x34, 0x81, 0xc4, 0xf, + 0xfe, 0xa, 0xc4, 0xf, 0xfe, 0x27, 0xe4, 0x20, + 0x1f, 0xfc, 0x6a, 0x10, 0x1f, 0xfd, 0xba, 0x10, + 0x1f, 0xfc, 0x4f, 0xc8, 0x40, 0x3f, 0xf8, 0xcb, + 0x10, 0x3f, 0xf8, 0x9f, 0xa9, 0x3, 0x98, 0x1f, + 0xe6, 0x7, 0xf4, 0x60, 0x7e, 0x70, 0xf, 0xf4, + 0xff, 0xf4, 0x3, 0xef, 0xff, 0xf8, 0xe0, 0x20, + 0x1f, 0xfc, 0x58, 0x0, + + /* U+F0FE "" */ + 0x9f, 0xff, 0xf0, 0x23, 0x3, 0xff, 0x80, 0xc0, + 0xf3, 0x60, 0x3f, 0xe3, 0x20, 0x81, 0xff, 0xca, + 0x24, 0x80, 0x22, 0x40, 0x73, 0xd9, 0x0, 0x4d, + 0x8c, 0xf, 0xfe, 0x33, 0xd9, 0x0, 0x4d, 0x8c, + 0xe, 0x24, 0x80, 0x22, 0x40, 0x7f, 0xf2, 0x8c, + 0x82, 0x7, 0xfc, 0xd8, 0xf, 0x30, 0x3f, 0xf8, + 0xc, + + /* U+F108 "" */ + 0x9f, 0xff, 0xf1, 0x23, 0x3, 0xff, 0x88, 0xc0, + 0x7f, 0xff, 0xc2, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0xf7, 0xff, 0xfe, 0x10, 0x6, 0x7, 0xff, 0x11, + 0xcf, 0xfc, 0x80, 0x2f, 0xfd, 0x0, 0xca, 0x42, + 0x0, 0xa4, 0x20, 0x3f, 0x46, 0xc0, 0x66, 0xd0, + 0xc, + + /* U+F109 "" */ + 0x1, 0x3f, 0xff, 0xe1, 0x40, 0x33, 0x3, 0xff, + 0x84, 0xc0, 0xf7, 0xff, 0xfc, 0x0, 0x3f, 0xff, + 0xe0, 0x7f, 0xff, 0x7f, 0xff, 0xe0, 0x1, 0xff, + 0xce, 0xff, 0xff, 0x88, 0x3, 0xff, 0xc4, 0x2, + 0xff, 0xf0, 0x1f, 0xb7, 0xea, 0x7, 0xea, 0x7, + 0xff, 0x1a, 0x80, + + /* U+F128 "" */ + 0x2, 0x57, 0xf6, 0x80, 0x75, 0xa4, 0x0, 0xbe, + 0x40, 0x54, 0x7, 0xd8, 0x84, 0x0, 0xda, 0x40, + 0x54, 0x62, 0xb2, 0x4a, 0x40, 0x20, 0x75, 0x2, + 0x24, 0x1, 0x81, 0xe9, 0x80, 0xb0, 0x1d, 0x98, + 0x12, 0x60, 0x6a, 0x40, 0xad, 0x1, 0xcc, 0xb, + 0xa0, 0x3d, 0x49, 0x40, 0x3f, 0x3f, 0xcc, 0xf, + 0xd7, 0x65, 0x3, 0xf2, 0x0, 0x80, 0xff, 0xe4, + 0x50, 0x14, 0xc, + + /* U+F129 "ï„©" */ + 0xb, 0xf2, 0x1, 0x40, 0x50, 0x40, 0xc4, 0xc0, + 0x9, 0xd, 0x23, 0x1, 0x36, 0x1, 0xfe, 0xa0, + 0x73, 0x8, 0xe, 0xa4, 0xf, 0xfe, 0x55, 0x20, + 0xd, 0x40, 0x64, 0x7, 0x80, + + /* U+F12E "ï„®" */ + 0x3, 0xaf, 0xc0, 0x7f, 0xf0, 0x9a, 0x5, 0x81, + 0xff, 0xc1, 0x20, 0x48, 0xf, 0xfe, 0xa, 0x21, + 0x10, 0x3f, 0xf8, 0x48, 0x60, 0x31, 0x20, 0x35, + 0x8d, 0xa3, 0x12, 0x1c, 0xd8, 0x7, 0x27, 0x21, + 0x81, 0x38, 0xc8, 0x20, 0x7f, 0xf1, 0x8, 0x1f, + 0xfd, 0x72, 0x16, 0xe8, 0xe, 0x50, 0x81, 0xde, + 0x91, 0x0, 0xce, 0xbc, 0x7, 0xf1, 0x3, 0x70, + 0x22, 0x4, 0xbe, 0x22, 0x1, 0xa8, 0x4, 0x40, + 0xb0, 0x3b, 0xb0, 0x31, 0x62, 0x1, 0xb8, 0x1c, + 0x80, 0x8a, 0x14, 0x1, 0x5c, 0xe, + + /* U+F130 "ï„°" */ + 0x2, 0x5b, 0xd0, 0x3c, 0xa9, 0xb, 0x1, 0xdc, + 0xc, 0x48, 0xf, 0xf3, 0x3, 0xff, 0x99, 0xd8, + 0x1f, 0x3e, 0x38, 0x1f, 0x70, 0x3f, 0x98, 0x4, + 0x9c, 0xc, 0x49, 0x1e, 0x4a, 0x90, 0xb3, 0x31, + 0x24, 0xdf, 0xa4, 0x92, 0xa, 0xdb, 0x7c, 0xda, + 0x81, 0x4c, 0x85, 0xf0, 0xc, 0xa8, 0xc, 0xc0, + 0xee, 0xd0, 0x70, 0x80, + + /* U+F144 "ï…„" */ + 0x3, 0x8b, 0x90, 0xc8, 0x1f, 0x8e, 0xc8, 0xda, + 0x6c, 0x20, 0x72, 0xc4, 0xf, 0x1c, 0x80, 0x8d, + 0x3, 0xfd, 0x48, 0xe, 0x5, 0xa8, 0x1f, 0x70, + 0x88, 0x11, 0x5d, 0x81, 0xc5, 0x60, 0x3e, 0x98, + 0x81, 0xb1, 0x3, 0xf1, 0xd0, 0x8, 0x81, 0xff, + 0x20, 0x31, 0x3, 0xfa, 0x60, 0x23, 0x80, 0xf9, + 0xf6, 0x6, 0xc8, 0xc, 0x56, 0x80, 0x79, 0xa, + 0x5, 0xa9, 0x3, 0xd4, 0x2, 0x60, 0x7f, 0x9a, + 0x2, 0x90, 0x7, 0xe9, 0x0, 0x73, 0xf1, 0x12, + 0x53, 0xb0, 0x20, + + /* U+F146 "ï…†" */ + 0x9f, 0xff, 0xf0, 0x23, 0x3, 0xff, 0x80, 0xc0, + 0xff, 0xf0, 0x93, 0xf8, 0xe, 0x7b, 0x7e, 0x60, + 0x7f, 0xf1, 0x9e, 0xdf, 0x98, 0x1c, 0x4f, 0xe0, + 0x3f, 0xfc, 0x2c, 0xf, 0xfe, 0x3, + + /* U+F14A "ï…Š" */ + 0x9f, 0xff, 0xf0, 0x23, 0x3, 0xff, 0x80, 0xc0, + 0xff, 0xe6, 0x10, 0x3f, 0xf8, 0xb, 0x60, 0x1f, + 0xe5, 0x42, 0x3, 0x3a, 0x4, 0xa8, 0x70, 0xd, + 0x55, 0xa, 0x87, 0x0, 0xee, 0x16, 0xa1, 0xc0, + 0x3c, 0x70, 0x21, 0xc0, 0x3f, 0x1c, 0x1c, 0x3, + 0xfc, 0x7c, 0x3, 0xff, 0x92, 0xc0, 0xff, 0xe0, + 0x30, + + /* U+F185 "" */ + 0x3, 0xe9, 0x0, 0x7f, 0xf0, 0x9b, 0x1, 0xfd, + 0x21, 0x8, 0x2, 0x5, 0x20, 0xe, 0x77, 0xb0, + 0xf, 0xd6, 0x7, 0x60, 0x6, 0xfe, 0xa4, 0x6, + 0x3, 0x20, 0x76, 0x7e, 0xd8, 0x42, 0x3, 0x41, + 0x21, 0x80, 0x72, 0x4, 0x1, 0x3b, 0x9, 0x81, + 0x9a, 0xf, 0xc0, 0x3f, 0xf8, 0x93, 0xb0, 0x98, + 0x19, 0xa0, 0xfc, 0x1, 0x4, 0x86, 0x1, 0xc8, + 0x10, 0xc, 0x81, 0xd9, 0xfb, 0x61, 0x8, 0xd, + 0x80, 0x1b, 0xfa, 0x90, 0x18, 0xe, 0x77, 0xb0, + 0xf, 0xd6, 0x7, 0x48, 0x42, 0x0, 0x81, 0x48, + 0x3, 0xf9, 0xb0, 0x1f, 0x0, + + /* U+F186 "" */ + 0x3, 0x95, 0xdf, 0x98, 0x1f, 0xd6, 0x91, 0xd, + 0x80, 0xfd, 0x90, 0x13, 0x80, 0x7e, 0xa4, 0xd, + 0x0, 0xfc, 0x90, 0xc, 0xc0, 0xfe, 0xe0, 0x76, + 0x3, 0xf9, 0x1, 0xff, 0xc9, 0x20, 0x7e, 0x20, + 0x7b, 0x1, 0xf8, 0x81, 0xe4, 0x40, 0xfc, 0x40, + 0xf7, 0x3, 0xf4, 0x3, 0xc7, 0x20, 0x3c, 0x90, + 0xf, 0x1b, 0xa3, 0x80, 0x54, 0x81, 0xf1, 0x70, + 0xe, 0xc8, 0xf, 0xd2, 0x0, 0xeb, 0x91, 0x0, + 0x5e, 0x60, 0x0, + + /* U+F1B9 "" */ + 0x3, 0xaf, 0xfe, 0x80, 0x7f, 0x64, 0x7, 0x9e, + 0x3, 0xe4, 0x4b, 0xfe, 0xc0, 0xa0, 0x33, 0x90, + 0x38, 0x1c, 0x58, 0x90, 0xc0, 0x56, 0x45, 0x93, + 0xc4, 0x17, 0x40, 0x70, 0x26, 0xfe, 0x40, 0x5c, + 0x2, 0x1a, 0x81, 0xf1, 0xd8, 0x10, 0xe, 0x1, + 0x10, 0x3d, 0x48, 0xe, 0x3, 0x8d, 0xc8, 0x1e, + 0x9f, 0xe, 0x1, 0x81, 0xff, 0xc2, 0x60, 0x71, + 0xff, 0xec, 0x7, 0xc4, 0x20, 0x3e, 0x24, 0x8, + 0x0, + + /* U+F1DE "" */ + 0x3, 0xef, 0xc0, 0x7d, 0xff, 0xc0, 0x3f, 0xf8, + 0xf, 0xfe, 0x27, 0xff, 0x0, 0xff, 0xe0, 0x3e, + 0xfc, 0x7, 0xff, 0x1b, 0xf0, 0x17, 0xff, 0xf0, + 0xf, 0xe0, 0x3f, 0xf8, 0x9f, 0xff, 0xc0, 0x3f, + 0x80, 0xff, 0xbf, 0x1, 0xef, 0xc0, 0x7f, 0xdf, + 0xc0, 0x3f, 0xff, 0x80, 0xff, 0xe2, 0x7f, 0x0, + 0xff, 0xfe, + + /* U+F1E6 "" */ + 0x1, 0xb0, 0xd, 0xb0, 0xc, 0x48, 0xc, 0x48, + 0xf, 0xfe, 0x83, 0x60, 0x33, 0x60, 0x1f, 0x9b, + 0x7f, 0x9b, 0x7e, 0x3, 0xff, 0x81, 0xc0, 0xff, + 0x70, 0x3f, 0xf8, 0x24, 0xf, 0xc4, 0x4, 0x3, + 0xf4, 0x0, 0x98, 0x1e, 0x68, 0xa, 0x52, 0x0, + 0xd8, 0x7, 0x2c, 0x3, 0x20, 0x3f, 0xf9, 0xe0, + + /* U+F1EB "" */ + 0x3, 0xff, 0x9a, 0xa6, 0xff, 0x68, 0x80, 0xfc, + 0xfd, 0x64, 0xc, 0x5d, 0xec, 0xc, 0xb4, 0x2, + 0x29, 0xb2, 0x20, 0x53, 0x20, 0xe9, 0x6, 0xfd, + 0x64, 0x5d, 0xe9, 0x6, 0xba, 0x2, 0x64, 0x7, + 0xe5, 0xa0, 0xb, 0x96, 0x60, 0x15, 0xdf, 0xb5, + 0x40, 0x1e, 0x58, 0x52, 0x16, 0xa8, 0x80, 0x2a, + 0xe4, 0xd, 0x3, 0x2a, 0x40, 0x26, 0xc8, 0x1, + 0xa8, 0xf, 0x22, 0x27, 0xb2, 0x2f, 0x80, 0xa0, + 0x3e, 0xd8, 0xc0, 0xf3, 0xd8, 0x7, 0xf1, 0x0, + 0xbf, 0x20, 0x4, 0xf, 0xfe, 0xd, 0x1, 0x40, + 0xff, 0xec, 0x50, 0x14, 0xf, 0xc0, + + /* U+F1F8 "" */ + 0x3, 0x3f, 0xf3, 0x3, 0x7f, 0xa0, 0x1a, 0x7f, + 0x80, 0xff, 0xe1, 0x7f, 0xff, 0xc2, 0x1f, 0xff, + 0xf0, 0x0, 0xff, 0xe2, 0x10, 0x3f, 0xc4, 0xf, + 0xfe, 0x23, 0x3, 0xfc, 0xc0, 0xff, 0xe2, 0x10, + 0x3f, 0xc4, 0xf, 0xfe, 0x27, 0x3, 0xfd, 0xc0, + 0xff, 0xe2, 0x10, 0x3f, 0xc4, 0x2, 0x20, 0x7e, + 0x28, 0x0, + + /* U+F1FE "" */ + 0xfc, 0x7, 0xff, 0x1d, 0xc0, 0x3f, 0xf8, 0x51, + 0xa0, 0x3f, 0xf8, 0x14, 0x5, 0x20, 0xe4, 0x7, + 0x92, 0x1, 0x79, 0x8c, 0x3, 0xd0, 0xc, 0x58, + 0x2, 0x80, 0xe2, 0x7, 0xf4, 0x3, 0xff, 0x86, + 0x50, 0x1f, 0xfc, 0x38, 0x6, 0xff, 0xfe, 0xc0, + 0x5f, 0xff, 0xf0, 0x80, 0xff, 0xe2, 0x0, + + /* U+F200 "" */ + 0x3, 0xff, 0xa0, 0xfe, 0x60, 0x7f, 0xca, 0xe0, + 0x23, 0x31, 0x3, 0xe3, 0xaa, 0x20, 0x71, 0xc4, + 0xe, 0x38, 0x81, 0xfe, 0xe0, 0x77, 0x3, 0xff, + 0x80, 0x58, 0x12, 0x20, 0x7f, 0xf0, 0x68, 0x17, + 0x3, 0xff, 0x84, 0x40, 0x90, 0x1f, 0x29, 0x3e, + 0x3, 0xfe, 0x2d, 0xfc, 0x7, 0xfa, 0x7, 0xff, + 0xc0, 0x10, 0x1e, 0x71, 0xc0, 0x38, 0x80, 0xe0, + 0x7c, 0xe3, 0x80, 0x6a, 0x1, 0x10, 0x3e, 0x71, + 0xc0, 0x5, 0x81, 0x60, 0x3f, 0x38, 0xe0, 0xe0, + 0x77, 0x20, 0x7c, 0x83, 0xe4, 0xf, 0x6a, 0x80, + 0x95, 0xc0, 0x7f, 0xca, 0xff, 0x54, 0x7, 0xc0, + + /* U+F201 "ïˆ" */ + 0xfc, 0x7, 0xff, 0x33, 0x7f, 0x80, 0xff, 0xa8, + 0x1f, 0xed, 0x80, 0x4c, 0xf, 0xec, 0x4b, 0x0, + 0xc0, 0x7e, 0xc4, 0xed, 0x84, 0xbc, 0x20, 0x6a, + 0x76, 0x13, 0xb0, 0x78, 0xc, 0xf0, 0xc, 0x4b, + 0x1, 0xff, 0xc1, 0xd8, 0x7, 0xff, 0x33, 0xff, + 0xfe, 0x11, 0x3, 0xff, 0x86, + + /* U+F204 "" */ + 0x2, 0x7b, 0xff, 0xd9, 0x81, 0xda, 0x10, 0x3f, + 0x19, 0x80, 0xb1, 0x2b, 0xfa, 0x90, 0x7f, 0x52, + 0x58, 0x32, 0x59, 0x0, 0x58, 0x93, 0xb, 0x12, + 0x74, 0x40, 0x3d, 0x5, 0x2, 0x82, 0x90, 0x80, + 0xf2, 0x4, 0x9, 0x2, 0x7, 0xff, 0x18, 0x84, + 0x7, 0x90, 0x20, 0x48, 0x1a, 0x20, 0x1e, 0x82, + 0x81, 0x41, 0x59, 0x2c, 0x80, 0x2c, 0x49, 0x85, + 0x89, 0x31, 0x89, 0x5f, 0xd4, 0x83, 0xfa, 0x92, + 0xc0, 0x5a, 0x10, 0x3f, 0x19, 0x80, 0x0, + + /* U+F205 "" */ + 0x2, 0x7b, 0xff, 0xd9, 0x81, 0xda, 0x10, 0x3f, + 0x19, 0x80, 0xb1, 0x3, 0xc6, 0xfe, 0xa4, 0xb0, + 0x64, 0xf, 0x1c, 0x80, 0x2c, 0x49, 0xd0, 0x3e, + 0x80, 0x7a, 0xa, 0x40, 0xf9, 0x1, 0xe4, 0x8, + 0x1f, 0xfc, 0x62, 0x7, 0xc8, 0xf, 0x20, 0x68, + 0x1f, 0x40, 0x3d, 0x5, 0x64, 0xf, 0x1c, 0x80, + 0x2c, 0x49, 0x8c, 0x40, 0xf1, 0xbf, 0xa9, 0x2c, + 0x5, 0xa1, 0x3, 0xf1, 0x98, 0x0, + + /* U+F236 "" */ + 0xfc, 0x7, 0xff, 0x2a, 0xfa, 0x7, 0xff, 0x12, + 0xa0, 0xa8, 0xff, 0xf6, 0x40, 0x64, 0x4, 0x80, + 0xfe, 0x35, 0x1, 0x20, 0x24, 0x7, 0xfd, 0x0, + 0xaa, 0xa, 0x81, 0xff, 0x10, 0x35, 0xf4, 0xf, + 0xfe, 0x1f, 0xff, 0x1, 0xff, 0xe9, 0xff, 0xff, + 0x88, 0x7, 0xff, 0x28, + + /* U+F240 "" */ + 0x9f, 0xff, 0xf1, 0x60, 0x60, 0x7f, 0xf1, 0x58, + 0x17, 0xff, 0xfc, 0x30, 0x18, 0xb, 0xff, 0xfe, + 0x8, 0x11, 0x3, 0xff, 0x8b, 0xc0, 0xff, 0xed, + 0xf0, 0x3b, 0xff, 0xfe, 0x8, 0x11, 0x1, 0xff, + 0xff, 0xc, 0x6, 0x60, 0x7f, 0xf1, 0x58, + + /* U+F241 "ï‰" */ + 0x9f, 0xff, 0xf1, 0x60, 0x60, 0x7f, 0xf1, 0x58, + 0x17, 0xff, 0xfc, 0x30, 0x18, 0xb, 0xff, 0xf0, + 0x1e, 0x20, 0x7f, 0xf1, 0x78, 0x1f, 0xfd, 0xbe, + 0x7, 0x7f, 0xfe, 0x3, 0xc4, 0x7, 0xff, 0xfc, + 0x30, 0x19, 0x81, 0xff, 0xc5, 0x60, + + /* U+F242 "" */ + 0x9f, 0xff, 0xf1, 0x60, 0x60, 0x7f, 0xf1, 0x58, + 0x17, 0xff, 0xfc, 0x30, 0x18, 0xb, 0xff, 0x80, + 0xfe, 0x20, 0x7f, 0xf1, 0x78, 0x1f, 0xfd, 0xbe, + 0x7, 0x7f, 0xf0, 0x1f, 0xc4, 0x7, 0xff, 0xfc, + 0x30, 0x19, 0x81, 0xff, 0xc5, 0x60, + + /* U+F243 "" */ + 0x9f, 0xff, 0xf1, 0x60, 0x60, 0x7f, 0xf1, 0x58, + 0x17, 0xff, 0xfc, 0x30, 0x18, 0xb, 0xfc, 0x7, + 0xff, 0x0, 0x81, 0xff, 0xc5, 0xe0, 0x7f, 0xf6, + 0xf8, 0x1d, 0xfe, 0x3, 0xff, 0x80, 0x40, 0x7f, + 0xff, 0xc3, 0x1, 0x98, 0x1f, 0xfc, 0x56, 0x0, + + /* U+F244 "" */ + 0x9f, 0xff, 0xf1, 0x60, 0x60, 0x7f, 0xf1, 0x58, + 0x17, 0xff, 0xfc, 0x30, 0x18, 0xf, 0xfe, 0x39, + 0x3, 0xff, 0x8b, 0xc0, 0xff, 0xed, 0xf0, 0x3f, + 0xf9, 0x24, 0x7, 0xff, 0xfc, 0x30, 0x19, 0x81, + 0xff, 0xc5, 0x60, + + /* U+F26C "" */ + 0x9f, 0xff, 0xf1, 0xa3, 0x3, 0xff, 0x8c, 0xc0, + 0x7f, 0xff, 0xc4, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0xfc, 0xf, 0xfe, 0x17, 0xff, 0xfc, 0x40, 0xc, + 0xf, 0xfe, 0x33, 0x9f, 0xfe, 0x23, 0x7f, 0xf4, + 0x2, 0x9f, 0xf1, 0x1b, 0xfd, 0x80, 0xff, 0xe5, + 0x80, + + /* U+F28B "" */ + 0x3, 0x94, 0xb5, 0x10, 0x1f, 0x96, 0xad, 0x23, + 0xb9, 0x1, 0xce, 0x90, 0x3c, 0x6b, 0x2, 0x50, + 0xf, 0xf4, 0x40, 0x28, 0x1f, 0xfc, 0x8, 0x10, + 0x1b, 0xf1, 0xbf, 0x80, 0x8a, 0xc0, 0x79, 0x81, + 0xf6, 0x20, 0x7f, 0xf0, 0x88, 0x1f, 0xfc, 0x42, + 0x7, 0xff, 0x8, 0xe0, 0x3c, 0xc0, 0xfb, 0x20, + 0x37, 0xe3, 0x7f, 0x1, 0x14, 0x28, 0x1f, 0xfc, + 0x8, 0x1, 0x40, 0x3f, 0xd1, 0x1, 0x3a, 0x7, + 0xc6, 0xb0, 0x39, 0x7a, 0xd2, 0x3b, 0x90, 0x10, + + /* U+F2C7 "" */ + 0x1, 0x3f, 0x40, 0x28, 0xd2, 0x38, 0x1, 0xa6, + 0xc9, 0x81, 0x13, 0x80, 0xff, 0xef, 0x11, 0xc0, + 0x70, 0x60, 0x18, 0x88, 0x9c, 0x1, 0x5a, 0x3, + 0xf2, 0x70, 0x4, 0x6a, 0x8, 0xda, 0x8, 0x72, + 0x6c, 0xb1, + + /* U+F2C8 "" */ + 0x1, 0x3f, 0x40, 0x28, 0xd2, 0x38, 0x1, 0xab, + 0x49, 0x81, 0x10, 0x4, 0xe, 0xd8, 0x7, 0x89, + 0x1, 0xff, 0xcf, 0x23, 0x80, 0xe0, 0xc0, 0x31, + 0x11, 0x38, 0x2, 0xb4, 0x7, 0xe4, 0xe0, 0x8, + 0xd4, 0x11, 0xb4, 0x10, 0xe4, 0xd9, 0x62, + + /* U+F2C9 "" */ + 0x1, 0x3f, 0x40, 0x28, 0xd2, 0x38, 0x1, 0xab, + 0x49, 0x81, 0x10, 0x4, 0xf, 0xfe, 0x4e, 0xc0, + 0x3c, 0x48, 0xf, 0xf8, 0x8e, 0x3, 0x83, 0x0, + 0xc4, 0x44, 0xe0, 0xa, 0xd0, 0x1f, 0x93, 0x80, + 0x23, 0x50, 0x46, 0xd0, 0x43, 0x93, 0x65, 0x88, + + /* U+F2CA "ï‹Š" */ + 0x1, 0x3f, 0x40, 0x28, 0xd2, 0x38, 0x1, 0xab, + 0x49, 0x81, 0x10, 0x4, 0xf, 0xfe, 0xce, 0xc0, + 0x22, 0x39, 0x2e, 0xc, 0x3, 0x11, 0x13, 0x80, + 0x2b, 0x40, 0x7e, 0x4e, 0x0, 0x8d, 0x41, 0x1b, + 0x41, 0xe, 0x4d, 0x96, 0x20, + + /* U+F2CB "ï‹‹" */ + 0x1, 0x3f, 0x40, 0x28, 0xd2, 0x38, 0x1, 0xab, + 0x49, 0x81, 0x10, 0x4, 0xf, 0xfe, 0xf1, 0x1c, + 0x7, 0x6, 0x0, 0xfc, 0x2, 0x27, 0x0, 0x46, + 0x80, 0xfc, 0x9c, 0x1, 0x1a, 0x82, 0x36, 0x82, + 0x1c, 0x9b, 0x2c, 0x40, + + /* U+F2CD "ï‹" */ + 0x1, 0x7e, 0x20, 0x7f, 0xd5, 0x33, 0xbc, 0x3, + 0xf9, 0x38, 0x40, 0x34, 0x7, 0xfc, 0x40, 0x44, + 0x7, 0xfc, 0xc4, 0x60, 0x7f, 0xf0, 0x25, 0x60, + 0x7f, 0xf0, 0x90, 0x1f, 0xec, 0x1f, 0xff, 0xfc, + 0xc, 0x7, 0xff, 0x13, 0x1, 0xff, 0xc2, 0xc0, + 0x7f, 0xf1, 0x58, 0x1f, 0xfc, 0x6, 0x2, 0x1, + 0xff, 0xc0, 0x80, 0x44, 0xbf, 0xfc, 0x48, 0x0, + + /* U+F2DC "ï‹œ" */ + 0x3, 0xef, 0xc0, 0x7f, 0xf0, 0x25, 0x1, 0x60, + 0x1f, 0x88, 0xe8, 0x2, 0xe0, 0x81, 0x8a, 0xd1, + 0xc0, 0x11, 0xcc, 0x88, 0xf, 0x42, 0xc, 0x3, + 0x8, 0x5e, 0x2, 0x0, 0x30, 0xd, 0x8, 0x8, + 0x2, 0x1, 0x3e, 0x3, 0xb0, 0x28, 0x2, 0x5f, + 0x90, 0x19, 0x6f, 0x60, 0x1f, 0xfc, 0x69, 0x7e, + 0x40, 0x65, 0xbd, 0x80, 0x20, 0x13, 0xe0, 0x3b, + 0x2, 0x80, 0x20, 0x3, 0x0, 0xd0, 0x80, 0x80, + 0x3d, 0x8, 0x30, 0xc, 0x21, 0x78, 0x2, 0xb4, + 0x50, 0x4, 0x53, 0x22, 0x6, 0x23, 0x20, 0xb, + 0x2, 0x7, 0xe9, 0x40, 0x58, 0x7, 0x0, + + /* U+F2E7 "" */ + 0x7c, 0xf3, 0xd8, 0x12, 0xda, 0xc, 0x31, 0x80, + 0x3a, 0x49, 0x81, 0xcc, 0x18, 0x4, 0x41, 0x4, + 0x11, 0x40, 0xff, 0xe0, 0x30, 0x31, 0x10, 0x40, + 0x40, 0xf5, 0x3, 0xa8, 0x20, 0x67, 0x0, 0xa3, + 0x14, 0xe, 0x60, 0x4c, 0x3, 0x40, 0x7f, 0xf0, + 0x29, 0x3, 0xff, 0x9a, 0x40, 0xff, 0xe2, 0x10, + 0x22, 0x7, 0xff, 0x10, 0x81, 0xff, 0xc3, 0x20, + + /* U+F2F2 "" */ + 0x3, 0x1f, 0xf1, 0x3, 0xff, 0x94, 0x78, 0xe, + 0x40, 0xfc, 0xf0, 0xc, 0xc0, 0x20, 0x23, 0xe1, + 0x0, 0x67, 0xd5, 0x3, 0x80, 0x9b, 0x1, 0x12, + 0x42, 0x1, 0xa4, 0x1, 0x98, 0x28, 0xf, 0xf2, + 0x28, 0xf, 0xfe, 0x2, 0x3, 0xff, 0xa0, 0x80, + 0xef, 0xc0, 0x72, 0x24, 0x7, 0xf9, 0x11, 0xc0, + 0xff, 0x40, 0x7, 0x1, 0xfb, 0x10, 0x23, 0xe1, + 0x0, 0x67, 0x20, 0x0, + + /* U+F2FE "" */ + 0x3, 0xe3, 0xe0, 0x1f, 0xfc, 0x12, 0x1c, 0x3, + 0xff, 0x80, 0x80, 0x30, 0x3f, 0xe5, 0x40, 0xff, + 0x97, 0xea, 0x6, 0xe8, 0xf, 0x50, 0x3f, 0x50, + 0x3f, 0xf9, 0x29, 0x0, 0xfc, 0x90, 0xa, 0x54, + 0x36, 0x0, 0xd8, 0x15, 0x80, 0x18, 0x1f, 0xfc, + 0x6, 0x0, 0x81, 0x6c, 0x1, 0xb0, 0x8, 0x80, + 0xa0, 0x7f, 0xf0, 0x28, 0x90, 0x5, 0xbf, 0xd8, + 0xa, 0x43, 0x3, 0x66, 0x1, 0xe0, 0x33, 0x20, + 0x74, 0xfd, 0x0, 0xe3, 0xc8, 0x1f, 0xfc, 0x3, + 0xc0, + + /* U+F3C1 "ï" */ + 0x3, 0xfc, 0x6f, 0xec, 0xc0, 0xff, 0x8e, 0x40, + 0xc, 0xa0, 0x7f, 0xb0, 0x4, 0xc0, 0x26, 0x7, + 0xe4, 0x2, 0x59, 0xc0, 0x50, 0x3f, 0x10, 0xc, + 0x9, 0x82, 0x7, 0xee, 0x7, 0xff, 0x3e, 0x7f, + 0xf3, 0x1, 0xfa, 0xc, 0xb, 0x3, 0xff, 0x80, + 0xc2, 0xf8, 0xf, 0xff, 0xf8, 0x1f, 0xfd, 0x56, + 0x7, 0xff, 0x1, 0x81, 0x80, + + /* U+F3CD "ï" */ + 0x9f, 0xfe, 0x8c, 0xb7, 0xe2, 0xc2, 0x93, 0xc8, + 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0x57, 0xff, 0x98, + 0x1d, 0xb0, 0xf, 0xfe, 0x13, 0x2, 0xd8, 0x4, + 0xc0, + + /* U+F3E0 "ï " */ + 0x9f, 0xff, 0xa3, 0x3, 0xfc, 0xc0, 0xff, 0xe8, + 0x2f, 0xc8, 0xf, 0xd4, 0x5, 0x3, 0xff, 0x91, + 0x40, 0x50, 0x3f, 0x2f, 0xc8, 0xf, 0xaf, 0xd9, + 0xe8, 0x1c, 0xd0, 0x24, 0x13, 0x3, 0xff, 0x88, + 0xff, 0xf3, 0x3, 0xff, 0x9c, 0xc0, 0xff, 0x30, + + /* U+F3E5 "ï¥" */ + 0x3, 0xff, 0x93, 0x78, 0x1f, 0xfc, 0x1c, 0x80, + 0xff, 0xe0, 0x1e, 0x40, 0xff, 0xe0, 0x2c, 0x6, + 0xd9, 0x62, 0x3, 0x3a, 0x7, 0x12, 0x4e, 0xfa, + 0x2, 0x1, 0xff, 0xc0, 0x58, 0x60, 0x3f, 0xf8, + 0x25, 0x9e, 0x40, 0xd2, 0x19, 0x3, 0x50, 0x19, + 0x1, 0x36, 0x9b, 0x0, 0x88, 0x15, 0x60, 0x78, + 0xd0, 0x3e, 0x90, 0x80, 0xe4, 0x1, 0x1, 0xce, + 0x81, 0xc4, 0x7, 0x3, 0xff, 0x80, 0xc2, 0x40, + 0x3f, 0xf8, 0x2e, 0x80, + + /* U+F494 "ï’”" */ + 0x3, 0xf3, 0xd8, 0xc0, 0xff, 0xe0, 0x9b, 0xe1, + 0x29, 0xe9, 0x3, 0xf3, 0xd8, 0x80, 0xf2, 0xd8, + 0xc0, 0xd3, 0xc2, 0x7, 0xf8, 0xcf, 0x6, 0x60, + 0x7f, 0xf1, 0x1e, 0x20, 0x7f, 0xf1, 0x88, 0x1f, + 0xfc, 0xbd, 0xff, 0xff, 0x3, 0x1, 0xe3, 0xff, + 0xff, 0x0, 0x81, 0xff, 0xcf, 0xff, 0xff, 0x80, + 0x7, 0xef, 0xff, 0xf8, 0x0, 0x7f, 0xf4, 0x3f, + 0xff, 0xe0, 0x1, 0xfb, 0xff, 0xfe, 0x0, 0x1f, + 0xfc, 0xc0, + + /* U+F52A "" */ + 0x3, 0x4f, 0xff, 0xd0, 0xf, 0xcc, 0xf, 0xf3, + 0x3, 0xff, 0xfe, 0x7, 0xff, 0x77, 0x60, 0x1f, + 0xfd, 0xad, 0x80, 0x7f, 0xff, 0xc0, 0xff, 0xbf, + 0xc0, 0x7f, 0xf0, 0x3f, 0xc0, 0x7f, 0xf2, 0x0, + + /* U+F52B "" */ + 0x3, 0xff, 0x9e, 0xef, 0xc0, 0x7f, 0xf0, 0xc, + 0xde, 0x20, 0x40, 0xff, 0xe0, 0x66, 0x40, 0xf7, + 0xfa, 0x1, 0xff, 0xc7, 0x60, 0x7f, 0xf0, 0xff, + 0x80, 0xff, 0xf4, 0x2c, 0x7, 0xff, 0x69, 0x60, + 0x3f, 0xff, 0xe0, 0x7f, 0xf1, 0x3f, 0x80, 0xff, + 0xe1, 0x7f, 0x1, 0xff, 0xc8, + + /* U+F54C "ï•Œ" */ + 0x3, 0x2b, 0xbf, 0x6a, 0x80, 0xf1, 0xd5, 0x10, + 0x5, 0x5c, 0x40, 0x8e, 0x20, 0x7e, 0x38, 0x80, + 0xe0, 0x7f, 0xf0, 0x38, 0x64, 0xf, 0xfe, 0x1, + 0x74, 0xf, 0xfe, 0x15, 0x20, 0x17, 0xe4, 0x1, + 0x7e, 0x40, 0x8, 0x15, 0x1, 0x40, 0x50, 0x14, + 0x8, 0x81, 0xff, 0xc2, 0x34, 0x5, 0x1, 0x40, + 0x50, 0x14, 0x5, 0x64, 0x2f, 0xc8, 0x2, 0xfc, + 0x81, 0x63, 0x81, 0xff, 0xc0, 0xe0, 0xe, 0x3, + 0xfd, 0x88, 0x11, 0x40, 0x7e, 0x44, 0xe, 0x60, + 0x38, 0xe, 0x1, 0x81, 0xff, 0xc7, + + /* U+F55A "ï•š" */ + 0x3, 0xaf, 0xff, 0xfc, 0x14, 0x6, 0xc8, 0xf, + 0xfe, 0xd, 0x2, 0xc4, 0xc, 0x80, 0xc8, 0xf, + 0xb1, 0x3, 0x2b, 0x80, 0x6a, 0x80, 0xec, 0x40, + 0xe4, 0x4b, 0x61, 0x24, 0x6, 0xc4, 0xf, 0xb1, + 0x3b, 0x1, 0xff, 0xcd, 0xc4, 0xf, 0xb1, 0x3b, + 0x1, 0xec, 0x40, 0xe4, 0x4b, 0x61, 0x24, 0x7, + 0xb1, 0x3, 0x2b, 0x80, 0x6a, 0x80, 0xfb, 0x10, + 0x32, 0x3, 0x20, 0x3f, 0xb2, 0x3, 0xff, 0x83, + 0x40, + + /* U+F61F "" */ + 0x3, 0xfe, 0xd8, 0x7, 0xff, 0xa, 0x12, 0x80, + 0x7f, 0xf0, 0xb, 0x0, 0xc8, 0x1f, 0xf4, 0x3, + 0x40, 0x3f, 0xc9, 0x0, 0xc9, 0x0, 0xfe, 0x80, + 0x7a, 0x1, 0xfc, 0xc0, 0xf3, 0x3, 0xfa, 0xff, + 0xea, 0x0, 0xdf, 0xd4, 0x81, 0xfe, 0x39, 0x0, + 0x58, 0x8d, 0xff, 0x61, 0x0, 0xf4, 0x4, 0xe, + 0x21, 0x1, 0xe4, 0x7, 0xff, 0x39, 0x1, 0xe4, + 0x7, 0xf4, 0x3, 0xd0, 0xf, 0xe3, 0x90, 0x5, + 0x88, 0x20, 0x71, 0x0, + + /* U+F6A9 "ïš©" */ + 0x3, 0xff, 0x97, 0x30, 0x1f, 0xfc, 0x28, 0xc8, + 0x1f, 0xfc, 0x18, 0xc0, 0xff, 0xb7, 0xf3, 0x3, + 0x9e, 0x1, 0x98, 0x20, 0x7f, 0x53, 0xb0, 0xd0, + 0x3f, 0xec, 0x4e, 0xc0, 0x7f, 0xf4, 0x31, 0x3b, + 0x2, 0x7, 0xf5, 0x3b, 0xd, 0x1b, 0xf9, 0x81, + 0xcf, 0x0, 0xcc, 0xe, 0x8c, 0xf, 0xfe, 0x24, + 0x64, 0xf, 0xfe, 0x1c, 0xc0, 0x7f, 0x0, + + /* U+F6C3 "" */ + 0x3, 0xfc, 0xaf, 0xe4, 0x7, 0xff, 0x6, 0x54, + 0x22, 0x3, 0xff, 0x81, 0x18, 0x4, 0xc0, 0xff, + 0xe0, 0x16, 0x5, 0xc0, 0xff, 0xe0, 0xd0, 0x33, + 0x3, 0xff, 0x82, 0x40, 0xff, 0xe5, 0xa0, 0x3f, + 0xa7, 0xe9, 0x7f, 0x41, 0x0, 0xfd, 0x18, 0x7, + 0x7f, 0x18, 0x31, 0x3, 0xcc, 0xc, 0x80, 0x56, + 0xe, 0xc9, 0x0, 0x20, 0x1f, 0xe4, 0x0, 0xbc, + 0x23, 0x3, 0xfa, 0xd2, 0x2f, 0xa0, 0xc0, 0xff, + 0x2b, 0x5a, 0x1, 0xff, 0xc3, 0x40, 0x79, 0x81, + 0xff, 0x20, 0x3d, 0x18, 0x1f, 0xca, 0x81, 0xe0, + + /* U+F6C4 "" */ + 0x3, 0xd2, 0x0, 0xff, 0xe3, 0x36, 0x3, 0xff, + 0x85, 0xeb, 0x80, 0x23, 0xbc, 0xf, 0xf2, 0x48, + 0x9b, 0x28, 0x90, 0xf, 0xf6, 0xf, 0x80, 0xec, + 0x60, 0x3f, 0xdc, 0xdc, 0xdb, 0x58, 0xc0, 0xfd, + 0x3b, 0x54, 0x9, 0x11, 0x68, 0x81, 0xff, 0xc1, + 0x37, 0x44, 0x99, 0x1, 0xd3, 0xb5, 0x40, 0x56, + 0x40, 0xd7, 0xf2, 0x3, 0x73, 0x74, 0x78, 0xf, + 0xd4, 0xd, 0x83, 0x49, 0x90, 0x1f, 0xd0, 0x9, + 0x24, 0x78, 0x81, 0xfe, 0x70, 0x7, 0xad, 0x80, + 0xff, 0xe0, 0xb0, 0x3f, 0xf9, 0xac, 0xf, 0xfe, + 0xb, 0x3, 0xd8, 0x81, 0xfe, 0x70, + + /* U+F72E "" */ + 0x3, 0xff, 0x9d, 0x3f, 0x40, 0x3f, 0xf8, 0x11, + 0x80, 0x70, 0xf, 0xf9, 0xd, 0x81, 0x81, 0xff, + 0x6e, 0x58, 0x1d, 0xff, 0xfd, 0x43, 0x3, 0xff, + 0x86, 0xe0, 0x17, 0xff, 0xfc, 0x8, 0x6, 0xff, + 0xd0, 0x6f, 0xf6, 0x40, 0x7e, 0x72, 0x0, 0xc6, + 0xa1, 0xff, 0x50, 0xd7, 0xfa, 0x8, 0x5, 0xb9, + 0x3, 0xf3, 0x4, 0x9, 0xd, 0x43, 0x17, 0xb0, + 0xc1, 0x2, 0x8c, 0x3, 0x83, 0x89, 0xe0, 0x80, + 0x69, 0xfa, 0x0, 0x54, 0x83, 0x50, 0x1f, 0xf2, + 0xdf, 0x20, 0x0, + + /* U+F73C "" */ + 0x3, 0xff, 0x81, 0x3f, 0x10, 0x3f, 0xf8, 0x59, + 0x8c, 0x40, 0xff, 0xe0, 0xc2, 0x11, 0x3, 0xff, + 0x84, 0xc0, 0x10, 0x3f, 0x4f, 0xd0, 0x9, 0x0, + 0x20, 0x7d, 0x18, 0x7, 0xbd, 0xa4, 0x11, 0x3, + 0xcc, 0xc, 0x42, 0xb4, 0x86, 0x60, 0x6a, 0x7, + 0xe5, 0x69, 0x9, 0xe8, 0xa8, 0xf, 0xe5, 0x60, + 0x32, 0x84, 0x7, 0xfc, 0x8f, 0xcc, 0x2, 0x3, + 0xfe, 0x40, 0x7a, 0xa0, 0x3f, 0x95, 0x3, 0xeb, + 0xff, 0xf5, 0x3, 0xf3, 0x81, 0xc0, 0xe0, 0x70, + 0xf, 0xd2, 0x89, 0x44, 0xa2, 0x50, 0x3e, 0x6c, + 0x5b, 0x16, 0xc5, 0xb1, 0x3, 0xe0, + + /* U+F73D "" */ + 0x2, 0x5b, 0xe4, 0x7, 0xf9, 0x52, 0xd, 0x77, + 0xd0, 0x3d, 0x0, 0xe8, 0x82, 0xa0, 0x71, 0x3, + 0xf9, 0x1, 0xa0, 0x1f, 0xf7, 0x82, 0x30, 0x3f, + 0xf8, 0xe, 0x30, 0x3f, 0xf8, 0x4c, 0xf, 0xfe, + 0x23, 0x3, 0xff, 0x84, 0xe3, 0x3, 0xff, 0x80, + 0xe0, 0x9f, 0xff, 0xf0, 0x20, 0x1f, 0xfc, 0x79, + 0x0, 0x52, 0x0, 0xac, 0x2, 0x2d, 0x88, 0x2d, + 0x88, 0x29, 0x90, 0x8, 0x2, 0x8, 0x2, 0x8, + 0x2, 0x0, 0x89, 0x20, 0x89, 0x30, 0x89, 0x20, + + /* U+F740 "ï€" */ + 0x3, 0x2d, 0xf2, 0x3, 0xfe, 0x54, 0x83, 0x5d, + 0xf4, 0xf, 0xa0, 0x1d, 0x10, 0x54, 0xf, 0x10, + 0x3f, 0x90, 0x1d, 0x0, 0xff, 0xbc, 0x1, 0x18, + 0x1f, 0xfc, 0x7, 0x3, 0x3, 0xff, 0x84, 0xc0, + 0xff, 0xe3, 0x30, 0x3f, 0xf8, 0x4c, 0x46, 0x7, + 0xff, 0x1, 0xc0, 0x13, 0xff, 0xfe, 0x4, 0x3, + 0x20, 0x8, 0x2, 0x0, 0x80, 0x20, 0x25, 0x2, + 0x81, 0x40, 0xa0, 0x50, 0xa, 0xf1, 0x78, 0xbc, + 0x5e, 0x2f, 0x1, 0x11, 0x88, 0xc4, 0x62, 0x31, + 0x10, 0xa, 0x85, 0x42, 0xa1, 0x50, 0xa8, 0x0, + + /* U+F743 "ïƒ" */ + 0x3, 0x9b, 0x1, 0xff, 0xc1, 0x20, 0x24, 0x0, + 0x20, 0x7f, 0x1d, 0xf0, 0xd, 0xf1, 0x3, 0xf1, + 0x1, 0x7f, 0x5a, 0xe4, 0xf, 0xe3, 0xf, 0xcf, + 0x7e, 0x80, 0x79, 0xf2, 0xe8, 0x90, 0xc0, 0x3d, + 0xe8, 0x1f, 0x92, 0x30, 0x31, 0xa, 0x80, 0x7c, + 0xbd, 0x28, 0x1f, 0x95, 0x2, 0x30, 0xf4, 0x7, + 0xf2, 0xa0, 0x81, 0x10, 0x3f, 0xe4, 0xe, 0xe1, + 0x1, 0xff, 0x20, 0x4, 0x5, 0x40, 0x7f, 0x2a, + 0x7, 0xaf, 0xff, 0xd4, 0xf, 0x9c, 0xe, 0x7, + 0x3, 0x80, 0x7d, 0x28, 0x94, 0x4a, 0x25, 0x3, + 0xcd, 0x8b, 0x62, 0xd8, 0xb6, 0x20, + + /* U+F75F "ïŸ" */ + 0x1, 0x37, 0xd0, 0x1b, 0xfa, 0x90, 0x3e, 0xcc, + 0x82, 0xf6, 0x20, 0xb, 0x20, 0x3a, 0x10, 0x38, + 0x81, 0xeb, 0xbe, 0x41, 0x1, 0xff, 0xc2, 0x20, + 0xd4, 0x40, 0xff, 0xe3, 0x42, 0x7, 0xff, 0x18, + 0xa0, 0x3f, 0xf8, 0xc6, 0x10, 0x3f, 0xf8, 0xb0, + 0x66, 0x40, 0xff, 0xe0, 0x9a, 0x80, 0x4d, 0xff, + 0x90, 0x5, 0xfd, 0x90, 0x1f, 0xf5, 0xfd, 0x40, + 0xfc, 0xe4, 0xff, 0xe2, 0x30, 0x11, 0xbf, 0xfe, + 0x24, 0x1, 0xff, 0xff, 0x19, 0xc9, 0x30, 0x64, + 0xff, 0x30, 0x11, 0xba, 0x4, 0xdf, 0xfa, 0x0, + + /* U+F769 "ï©" */ + 0x0, 0xb7, 0xc8, 0xd, 0x3f, 0x40, 0xa, 0x90, + 0x6a, 0x1, 0x18, 0x7, 0x4, 0x13, 0xc1, 0x0, + 0x31, 0xb0, 0x30, 0x43, 0xcc, 0x10, 0x3f, 0xf8, + 0x4, 0xe, 0x63, 0x60, 0x60, 0x7f, 0xa3, 0x0, + 0xe0, 0x1f, 0xf4, 0xfd, 0x0, 0xff, 0xea, 0xb0, + 0x3e, 0x60, 0x7d, 0x45, 0x61, 0xd1, 0x40, 0xf8, + 0x85, 0x4, 0x40, 0x81, 0xf1, 0x9, 0x86, 0x81, + 0x3, 0xe4, 0x2e, 0xfa, 0x84, 0x7, 0xd0, 0x8b, + 0xe8, 0x30, 0xf, 0xd9, 0x90, 0x5e, 0x3, 0xf0, + + /* U+F76B "ï«" */ + 0x0, 0xb7, 0xc8, 0xd, 0x3f, 0x40, 0xa, 0x90, + 0x6a, 0x1, 0x18, 0x7, 0x4, 0x13, 0xc1, 0x0, + 0x31, 0xb0, 0x30, 0x43, 0xc, 0x10, 0x3f, 0xf8, + 0xcc, 0x6c, 0xc, 0xf, 0xf4, 0x60, 0x1c, 0x3, + 0xfe, 0x9f, 0xa0, 0x1f, 0xfd, 0x56, 0x5, 0x80, + 0x98, 0x1f, 0x51, 0x59, 0x74, 0x50, 0x3e, 0x21, + 0x41, 0x10, 0x20, 0x7c, 0x42, 0x61, 0xa0, 0x40, + 0xf9, 0xb, 0xbe, 0xa1, 0x1, 0xf4, 0x22, 0xfa, + 0xc, 0x3, 0xf6, 0x64, 0x17, 0x80, 0xfc, + + /* U+F7D8 "" */ + 0xff, 0xff, 0x81, 0x0, 0xff, 0x46, 0x1f, 0x60, + 0x79, 0x80, 0x7d, 0x81, 0xff, 0xd3, 0x40, 0x13, + 0x79, 0x0, 0x34, 0xfb, 0x26, 0xbc, 0xe0, 0x7d, + 0x93, 0x5e, 0x43, 0x0, 0x9b, 0xc8, 0x3, 0xa0, + 0x7f, 0xa9, 0x80, 0x7e, 0x84, 0x38, 0x7, 0xa3, + 0x2, 0xe0, 0x7b, 0x81, 0x98, 0x1e, 0x60, 0x62, + 0x7, 0x88, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 59, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 63, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8, .adv_w = 82, .box_w = 4, .box_h = 5, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 15, .adv_w = 140, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 52, .adv_w = 126, .box_w = 8, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 97, .adv_w = 162, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 140, .adv_w = 139, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 180, .adv_w = 45, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 183, .adv_w = 80, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 209, .adv_w = 82, .box_w = 5, .box_h = 18, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 240, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 257, .adv_w = 127, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 277, .adv_w = 50, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 283, .adv_w = 64, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 4}, + {.bitmap_index = 288, .adv_w = 68, .box_w = 2, .box_h = 2, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 290, .adv_w = 95, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 317, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 339, .adv_w = 126, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 349, .adv_w = 126, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 383, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 416, .adv_w = 126, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 445, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 474, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 507, .adv_w = 126, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 536, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 568, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 601, .adv_w = 60, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 607, .adv_w = 52, .box_w = 3, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 619, .adv_w = 114, .box_w = 6, .box_h = 8, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 637, .adv_w = 123, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 648, .adv_w = 118, .box_w = 6, .box_h = 8, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 666, .adv_w = 108, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 694, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 756, .adv_w = 148, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 793, .adv_w = 140, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 823, .adv_w = 145, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 856, .adv_w = 146, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 885, .adv_w = 127, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 908, .adv_w = 123, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 927, .adv_w = 151, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 964, .adv_w = 159, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 980, .adv_w = 64, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 984, .adv_w = 124, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 999, .adv_w = 140, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1029, .adv_w = 122, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1037, .adv_w = 193, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1077, .adv_w = 159, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1104, .adv_w = 154, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1140, .adv_w = 142, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1166, .adv_w = 154, .box_w = 9, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1207, .adv_w = 136, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1239, .adv_w = 133, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1275, .adv_w = 133, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1286, .adv_w = 144, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1301, .adv_w = 144, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1339, .adv_w = 195, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1393, .adv_w = 141, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1430, .adv_w = 134, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1458, .adv_w = 134, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1487, .adv_w = 64, .box_w = 3, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1497, .adv_w = 95, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 1523, .adv_w = 64, .box_w = 3, .box_h = 18, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1533, .adv_w = 95, .box_w = 6, .box_h = 6, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 1547, .adv_w = 104, .box_w = 7, .box_h = 3, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 1553, .adv_w = 79, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 10}, + {.bitmap_index = 1558, .adv_w = 123, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1583, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1608, .adv_w = 118, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1631, .adv_w = 127, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1655, .adv_w = 120, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1680, .adv_w = 81, .box_w = 5, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1696, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1724, .adv_w = 124, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1739, .adv_w = 59, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1745, .adv_w = 57, .box_w = 4, .box_h = 15, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 1758, .adv_w = 115, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1782, .adv_w = 59, .box_w = 2, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1786, .adv_w = 193, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1802, .adv_w = 124, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1812, .adv_w = 129, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1839, .adv_w = 126, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1865, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1890, .adv_w = 78, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1899, .adv_w = 117, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1924, .adv_w = 76, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1939, .adv_w = 124, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1949, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1973, .adv_w = 166, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2008, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2031, .adv_w = 107, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2062, .adv_w = 112, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2084, .adv_w = 79, .box_w = 5, .box_h = 17, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2113, .adv_w = 63, .box_w = 2, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 2117, .adv_w = 79, .box_w = 5, .box_h = 17, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2144, .adv_w = 151, .box_w = 9, .box_h = 4, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 2158, .adv_w = 256, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2217, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2299, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2357, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2415, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2462, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2546, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2592, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2673, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2739, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2819, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2867, .adv_w = 128, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2893, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2974, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3025, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 3066, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3125, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3185, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3209, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3227, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3287, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 3329, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3370, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3411, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3493, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3563, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3644, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3732, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3808, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3898, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 3953, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4008, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4054, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4102, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4139, .adv_w = 224, .box_w = 14, .box_h = 4, .ofs_x = 0, .ofs_y = 4}, + {.bitmap_index = 4153, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4229, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4332, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 4373, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 4415, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4439, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4470, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4539, .adv_w = 320, .box_w = 22, .box_h = 18, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 4654, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4702, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4766, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4815, .adv_w = 160, .box_w = 10, .box_h = 6, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 4833, .adv_w = 160, .box_w = 10, .box_h = 6, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 4851, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 4869, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 4887, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4963, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 5016, .adv_w = 288, .box_w = 20, .box_h = 16, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 5098, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5149, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5204, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = -1, .ofs_y = -1}, + {.bitmap_index = 5264, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5313, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5354, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5397, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5456, .adv_w = 96, .box_w = 6, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5485, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5563, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5615, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5690, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5720, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5769, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5854, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5921, .adv_w = 256, .box_w = 18, .box_h = 12, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 5986, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 6036, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6084, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 6170, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6220, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6267, .adv_w = 272, .box_w = 19, .box_h = 18, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 6355, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6400, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6471, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6533, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6577, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 6616, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 6654, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 6692, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 6732, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 6767, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6808, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6880, .adv_w = 128, .box_w = 8, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6914, .adv_w = 128, .box_w = 8, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6953, .adv_w = 128, .box_w = 8, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6993, .adv_w = 128, .box_w = 8, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7030, .adv_w = 128, .box_w = 8, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7066, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7122, .adv_w = 224, .box_w = 16, .box_h = 16, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 7209, .adv_w = 208, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7265, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7325, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7398, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7451, .adv_w = 160, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7476, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7516, .adv_w = 256, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7584, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7650, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7682, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7727, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7805, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7870, .adv_w = 256, .box_w = 17, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7938, .adv_w = 256, .box_w = 17, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7993, .adv_w = 288, .box_w = 19, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8073, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8159, .adv_w = 256, .box_w = 17, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8234, .adv_w = 288, .box_w = 19, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8320, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8392, .adv_w = 256, .box_w = 17, .box_h = 16, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 8472, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8558, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8638, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8710, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8781, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_1[] = { + 0x0, 0x4, 0x6, 0xb, 0xc, 0x10, 0x11, 0x12, + 0x14, 0x1d, 0x22, 0x25, 0x27, 0x42, 0x47, 0x49, + 0x4a, 0x4b, 0x4c, 0x4d, 0x50, 0x52, 0x53, 0x54, + 0x55, 0x57, 0x58, 0x59, 0x5d, 0x5f, 0x60, 0x61, + 0x62, 0x66, 0x67, 0x6d, 0x6f, 0x76, 0x77, 0x7a, + 0x7f, 0x83, 0x84, 0x9b, 0xc1, 0xc8, 0xd6, 0xd7, + 0xd8, 0xd9, 0xe1, 0xe6, 0xe8, 0xea, 0xf2, 0xf3, + 0xfd, 0x107, 0x108, 0x127, 0x128, 0x12d, 0x12f, 0x143, + 0x145, 0x149, 0x184, 0x185, 0x1b8, 0x1dd, 0x1e5, 0x1ea, + 0x1f7, 0x1fd, 0x1ff, 0x200, 0x203, 0x204, 0x235, 0x23f, + 0x240, 0x241, 0x242, 0x243, 0x26b, 0x28a, 0x2c6, 0x2c7, + 0x2c8, 0x2c9, 0x2ca, 0x2cc, 0x2db, 0x2e6, 0x2f1, 0x2fd, + 0x3c0, 0x3cc, 0x3df, 0x3e4, 0x493, 0x529, 0x52a, 0x54b, + 0x559, 0x61e, 0x6a8, 0x6c2, 0x6c3, 0x72d, 0x73b, 0x73c, + 0x73f, 0x742, 0x75e, 0x768, 0x76a, 0x7d7 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 61441, .range_length = 2008, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 118, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = { + .glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 2, + .bpp = 3, + .kern_classes = 0, + .bitmap_format = 1 +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t robotocondensed_regular_16_nokern = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 19, /*The maximum line height required by the font*/ + .base_line = 4, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) + .underline_position = -1, + .underline_thickness = 1, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + + + +#endif /*#if ROBOTOCONDENSED_REGULAR_16_NOKERN*/ + diff --git a/main/config/font/robotocondensed_regular_22_nokern.c b/main/config/font/robotocondensed_regular_22_nokern.c new file mode 100644 index 0000000..1277895 --- /dev/null +++ b/main/config/font/robotocondensed_regular_22_nokern.c @@ -0,0 +1,2689 @@ +/******************************************************************************* + * Size: 22 px + * Bpp: 3 + * Opts: --no-kerning --bpp 3 --size 22 -o robotocondensed_regular_22_nokern.lvgl --format lvgl --font RobotoCondensed-Regular.ttf -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 0xf0d7,0xf0d9,0xf0da,0xf0d8,0xf078,0xf053,0xf054,0xf077,0xf01e,0xf3e5,0xf0e2,0xf04a,0xf04e,0xf130,0xf001,0xf04c,0xf28b,0xf04b,0xf144,0xf048,0xf051,0xf04d,0xf028,0xf6a9,0xf026,0xf028,0xf52a,0xf52b,0xF06E,0xF070,0xf023,0xf3c1,0xf204,0xf205,0xf09c,0xf244,0xf240,0xf242,0xf243,0xf241,0xf0f3,0xf108,0xf109,0xf0eb,0xf3cd,0xf1e6,0xf011,0xf012,0xf1de,0xf26c,0xf1eb,0xf2cd,0xf236,0xf1b9,0xf0f4,0xf015,0xf084,0xf2fe,0xf7d8,0xf1f8,0xf2e7,0xf494,0xf769,0xf76b,0xf2cb,0xf2c7,0xf2c9,0xf2ca,0xf2c8,0xf043,0xf0e7,0xf0c2,0xf6c3,0xf73c,0xf73d,0xf740,0xf6c4,0xf743,0xf186,0xf75f,0xf2dc,0xf185,0xf0e9,0xf72e,0xf060,0xf061,0xf062,0xf063,0xf55a,0xf05e,0xf0c9,0xf1fe,0xf080,0xf201,0xf200,0xf00c,0xf058,0xf14a,0xf013,0xf085,0xf07b,0xf129,0xf05a,0xf068,0xf056,0xf146,0xf067,0xf055,0xf0fe,0xf3e0,0xf12e,0xf128,0xf059,0xf61f,0xf54c,0xf005,0xf2f2,0xF00D,0xf007 + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + +#ifndef ROBOTOCONDENSED_REGULAR_22_NOKERN +#define ROBOTOCONDENSED_REGULAR_22_NOKERN 1 +#endif + +#if ROBOTOCONDENSED_REGULAR_22_NOKERN + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+20 " " */ + + /* U+21 "!" */ + 0x5e, 0x81, 0x30, 0x3f, 0xf8, 0x84, 0xf, 0xe3, + 0x28, 0x64, 0x10, 0x75, 0x0, 0x40, + + /* U+22 "\"" */ + 0x9c, 0x5e, 0x7, 0xf1, 0x4, 0x3, 0xc, 0xa, + 0xc1, 0x20, + + /* U+23 "#" */ + 0x3, 0x5a, 0x1, 0xd8, 0x1c, 0x88, 0x21, 0x1, + 0xec, 0x10, 0x20, 0x64, 0x18, 0xe4, 0xb, 0xf5, + 0x1b, 0xb3, 0xd8, 0x8c, 0x86, 0xc1, 0x34, 0x1c, + 0xa, 0x40, 0xf0, 0x81, 0x12, 0x4, 0x30, 0x3d, + 0xc2, 0x4, 0xc, 0x41, 0x1c, 0xd, 0x3e, 0x17, + 0xb1, 0xf0, 0xcc, 0x86, 0xc0, 0xba, 0x14, 0x66, + 0x40, 0xb1, 0x81, 0x36, 0x4, 0x10, 0x38, 0xe0, + 0xc3, 0x3, 0x10, 0x41, 0x4, 0x8, + + /* U+24 "$" */ + 0x3, 0x76, 0x7, 0xff, 0xe, 0xc, 0x40, 0x8f, + 0x61, 0x64, 0x3, 0x87, 0xa0, 0xa0, 0x9a, 0x16, + 0x82, 0x61, 0x81, 0x60, 0x58, 0x1c, 0x99, 0x20, + 0x90, 0x1, 0x88, 0x41, 0x60, 0x1c, 0xd8, 0x3f, + 0x0, 0xd3, 0x20, 0xe8, 0x18, 0xda, 0x9, 0x0, + 0xe5, 0x6, 0xce, 0x6, 0x20, 0xb0, 0x80, 0x88, + 0x38, 0x40, 0x2a, 0x33, 0x25, 0xf7, 0x29, 0x6, + 0x84, 0xd2, 0x81, 0x38, 0x3b, 0x3, 0xfe, + + /* U+25 "%" */ + 0x13, 0xe4, 0x7, 0xcd, 0xa2, 0xa4, 0xf, 0x64, + 0xe0, 0xa0, 0x2b, 0x0, 0xc8, 0x2, 0x1, 0x28, + 0xf, 0xe8, 0xc8, 0x4, 0xca, 0x39, 0x18, 0x5, + 0xe, 0xa9, 0x23, 0x3, 0xb6, 0xaa, 0x30, 0xf, + 0x12, 0x11, 0x81, 0xfc, 0xcc, 0x7f, 0xa8, 0x1d, + 0x20, 0xc7, 0x54, 0x2, 0x61, 0xa1, 0x13, 0x40, + 0x52, 0x7, 0x20, 0x39, 0x1, 0xb, 0x1c, 0x80, + 0xe4, 0x4, 0xe0, 0x10, 0xad, 0x90, 0x11, 0x0, + 0x6b, 0x8e, 0x0, + + /* U+26 "&" */ + 0x0, 0xb7, 0xc8, 0xe, 0x54, 0xa3, 0x48, 0x1b, + 0x8b, 0x58, 0x40, 0x33, 0x8, 0x10, 0x3c, 0xc1, + 0x8, 0x10, 0x36, 0x11, 0x51, 0x0, 0xcc, 0xaa, + 0x30, 0x1e, 0x40, 0x31, 0x3, 0xa3, 0x22, 0x0, + 0x6c, 0x13, 0x59, 0x23, 0x16, 0xe, 0x20, 0xa2, + 0x13, 0x6, 0x8, 0x8, 0x30, 0x40, 0x44, 0x3, + 0x40, 0x28, 0x42, 0x1, 0xfa, 0x15, 0xaf, 0x44, + 0x70, 0x19, 0x94, 0x66, 0x24, 0xc0, + + /* U+27 "'" */ + 0xf4, 0xe, 0x20, 0x34, + + /* U+28 "(" */ + 0x3, 0x30, 0x33, 0x84, 0x1, 0x8c, 0x80, 0x82, + 0x0, 0x2a, 0x1, 0x50, 0xc0, 0x99, 0x2, 0x21, + 0x1, 0x21, 0xc0, 0xfe, 0xe0, 0x81, 0xff, 0xc3, + 0xe0, 0x7c, 0x40, 0x90, 0xe0, 0x44, 0x20, 0x32, + 0x20, 0x6e, 0x10, 0x12, 0x30, 0xd, 0xa, 0x2, + 0x4e, 0x81, 0xa2, 0x20, 0x6a, 0x40, + + /* U+29 ")" */ + 0x2c, 0xe, 0x88, 0x8, 0xba, 0x6, 0x82, 0x81, + 0x9a, 0x3, 0x61, 0x0, 0x90, 0x40, 0x62, 0x40, + 0x64, 0x10, 0x17, 0x3, 0xe2, 0x7, 0xff, 0x27, + 0x82, 0x4, 0x42, 0x2, 0x60, 0x71, 0x60, 0x4c, + 0x50, 0x2a, 0x48, 0x3, 0x3c, 0x1, 0x8c, 0x81, + 0x28, 0x4, 0x68, 0x18, + + /* U+2A "*" */ + 0x3, 0x78, 0x7, 0xff, 0xc, 0x81, 0xe2, 0x1e, + 0xc6, 0xc, 0xf8, 0x26, 0x20, 0x4c, 0xc0, 0x66, + 0x40, 0x36, 0x30, 0x26, 0x98, 0xe0, 0x63, 0xc, + 0x82, 0xc0, 0xc7, 0x86, 0x78, 0x11, 0xc4, 0x6, + 0x80, 0x0, + + /* U+2B "+" */ + 0x3, 0x28, 0x40, 0xfb, 0x34, 0x7, 0xff, 0x5b, + 0xf9, 0x89, 0xfb, 0x1, 0xfc, 0x47, 0xf3, 0x13, + 0xf8, 0xf, 0xfe, 0xe0, + + /* U+2C "," */ + 0x17, 0xa0, 0x39, 0x86, 0x9, 0x98, 0x81, 0xd4, + 0x0, + + /* U+2D "-" */ + 0x56, 0xe2, 0x96, + + /* U+2E "." */ + 0x8, 0x85, 0x70, 0x61, 0x0, + + /* U+2F "/" */ + 0x3, 0x97, 0x40, 0x77, 0x8, 0xe, 0x4c, 0xe, + 0x43, 0x1, 0xdc, 0x20, 0x39, 0x20, 0x1c, 0x87, + 0x3, 0xb0, 0x40, 0x73, 0x40, 0x71, 0x1c, 0xe, + 0xa1, 0x1, 0xcd, 0x1, 0xc4, 0x60, 0x3a, 0x86, + 0x7, 0x24, 0x3, 0x89, 0x60, 0x39, 0x6, 0x7, + 0x0, + + /* U+30 "0" */ + 0x0, 0xf7, 0xcc, 0xa, 0x41, 0x46, 0x30, 0x59, + 0xf7, 0x88, 0x10, 0xa0, 0x4c, 0x2e, 0x8, 0x17, + 0x4, 0x83, 0x2, 0x23, 0xb0, 0x3f, 0xfa, 0xec, + 0xf, 0xc4, 0x30, 0x22, 0x3f, 0x2, 0x5, 0xc1, + 0x42, 0x0, 0x2c, 0x22, 0xc7, 0xb8, 0x40, 0x12, + 0xa, 0x31, 0x80, + + /* U+31 "1" */ + 0x3, 0x3c, 0xc, 0xf0, 0x96, 0x64, 0x3, 0x5b, + 0x0, 0x2a, 0x40, 0xff, 0xfc, 0x80, + + /* U+32 "2" */ + 0x1, 0x3f, 0x66, 0x5, 0x99, 0x46, 0x40, 0x65, + 0x6b, 0x83, 0x34, 0x40, 0x5, 0x6, 0x9, 0x1, + 0x10, 0x76, 0x1, 0x88, 0x40, 0x79, 0x2, 0x7, + 0x41, 0x0, 0xe2, 0xcb, 0x3, 0xb0, 0xe0, 0x75, + 0x10, 0x81, 0x9a, 0x46, 0x6, 0x30, 0xd0, 0x3b, + 0xe, 0x7, 0x50, 0x12, 0xde, 0x60, 0x12, 0xf0, + + /* U+33 "3" */ + 0x1, 0x7f, 0x64, 0x5, 0x91, 0x46, 0xb1, 0xb, + 0xd7, 0x8, 0x10, 0xa0, 0x9, 0x3, 0xe9, 0x2, + 0x60, 0xa, 0x3, 0x20, 0x40, 0xe8, 0x18, 0x12, + 0xfc, 0xd4, 0x2, 0x69, 0x2, 0x40, 0x23, 0x6b, + 0xa, 0x7, 0x8a, 0x9, 0x40, 0x62, 0xd, 0xa0, + 0x31, 0x5, 0x88, 0x0, 0xa0, 0xa8, 0x7a, 0xe1, + 0x1, 0xc8, 0xa3, 0x58, + + /* U+34 "4" */ + 0x3, 0xdb, 0xb0, 0x3e, 0x44, 0xf, 0xe8, 0x7, + 0xf2, 0x24, 0x7, 0xe8, 0x68, 0x1f, 0x23, 0x40, + 0xfd, 0x3, 0x3, 0xe4, 0x60, 0x1f, 0xa0, 0x60, + 0x7c, 0x8c, 0x3, 0xf4, 0xc, 0xf, 0x91, 0x1f, + 0xd0, 0x4e, 0x5a, 0x5c, 0x41, 0x40, 0xdb, 0xe1, + 0x68, 0x81, 0xff, 0xca, + + /* U+35 "5" */ + 0xb, 0xff, 0x40, 0x40, 0x13, 0xb8, 0xe2, 0xed, + 0x98, 0x13, 0x3, 0xc4, 0x10, 0x3c, 0xc3, 0xb9, + 0x81, 0xd1, 0x19, 0x40, 0x31, 0x7e, 0x9, 0x5, + 0xe8, 0x18, 0x38, 0x1e, 0x61, 0x1, 0xfc, 0x59, + 0x3, 0xce, 0x50, 0x22, 0x12, 0x6, 0x40, 0x41, + 0x84, 0x1a, 0xe4, 0x58, 0x74, 0xa2, 0xf0, + + /* U+36 "6" */ + 0x2, 0x37, 0x60, 0x19, 0xe4, 0x58, 0x11, 0x82, + 0xfa, 0x5, 0x5, 0x40, 0x72, 0x28, 0xe, 0x41, + 0x24, 0x84, 0x0, 0x85, 0x5b, 0x56, 0x4, 0x67, + 0xc2, 0x1e, 0x13, 0x5, 0x84, 0x3, 0x81, 0x51, + 0x80, 0x10, 0x22, 0x1f, 0x3, 0x88, 0x68, 0x50, + 0x24, 0x9, 0xc8, 0x5, 0x14, 0x41, 0x6b, 0x94, + 0x42, 0xa5, 0x7, 0x40, + + /* U+37 "7" */ + 0x1f, 0xff, 0x4, 0xbe, 0x4, 0x5b, 0xec, 0x28, + 0x1f, 0x50, 0xc0, 0xf1, 0x24, 0x7, 0xd4, 0x70, + 0x3e, 0x61, 0x1, 0xe4, 0x18, 0x1f, 0x71, 0x40, + 0xf9, 0x12, 0x3, 0xcc, 0x20, 0x3e, 0xa2, 0x81, + 0xe2, 0x70, 0x1e, 0xa2, 0x81, 0xf3, 0xc, 0xf, + 0x20, 0x80, 0xe0, + + /* U+38 "8" */ + 0x1, 0x3f, 0x66, 0x5, 0x58, 0x46, 0x30, 0x50, + 0xf7, 0x8, 0x10, 0x60, 0xa, 0x4, 0x7, 0x3, + 0x99, 0x18, 0x9, 0x84, 0x85, 0x20, 0x65, 0x0, + 0xe6, 0xf8, 0x68, 0x4, 0x42, 0x5, 0x3, 0xf, + 0xbc, 0x51, 0x44, 0x2, 0x81, 0x90, 0xc0, 0x88, + 0xe0, 0x18, 0x11, 0x1, 0x87, 0x2, 0xa3, 0x32, + 0xb5, 0xe5, 0x20, 0xcc, 0xa3, 0x28, + + /* U+39 "9" */ + 0x1, 0x3f, 0x52, 0x5, 0x99, 0x49, 0x88, 0x45, + 0x6b, 0x4, 0x1c, 0x70, 0xc, 0xa0, 0xc2, 0x2, + 0x41, 0x1, 0xee, 0x8, 0x1f, 0xc8, 0x30, 0x2a, + 0x2, 0x8a, 0x44, 0x20, 0x93, 0x3b, 0xb2, 0x5, + 0x2b, 0x6c, 0x83, 0x0, 0xa4, 0x14, 0x8, 0x1c, + 0x8a, 0x3, 0x8d, 0x10, 0xa, 0xec, 0x14, 0x81, + 0x22, 0xb2, 0x0, + + /* U+3A ":" */ + 0x5e, 0x90, 0xda, 0xf0, 0x88, 0x1f, 0xfc, 0x44, + 0x5d, 0xe4, 0x30, + + /* U+3B ";" */ + 0xf, 0xb1, 0x87, 0x16, 0xa0, 0x4, 0x7, 0xff, + 0x29, 0x44, 0xb, 0x23, 0x81, 0x10, 0x8a, 0x42, + 0xc, 0x0, + + /* U+3C "<" */ + 0x3, 0xe8, 0x40, 0xe7, 0xd8, 0x19, 0x68, 0x19, + 0x7, 0x52, 0xfc, 0x7, 0x17, 0xe0, 0x11, 0x0, + 0x48, 0xe, 0xc9, 0x34, 0x20, 0x46, 0xe2, 0xf4, + 0x3, 0x1d, 0x43, 0x20, 0x72, 0xf0, 0x0, + + /* U+3D "=" */ + 0x7f, 0xfc, 0x4f, 0xf9, 0x6d, 0xf0, 0x1f, 0xe5, + 0xb7, 0xc0, 0x9f, 0xe0, + + /* U+3E ">" */ + 0x6c, 0x7, 0xde, 0x64, 0x7, 0x56, 0x6e, 0x40, + 0x46, 0x76, 0x6e, 0x20, 0x69, 0xd9, 0xc4, 0xc, + 0x48, 0xe, 0x37, 0x24, 0xc4, 0xae, 0x49, 0xa9, + 0x15, 0x1d, 0x48, 0x17, 0xb8, 0x81, 0xc0, + + /* U+3F "?" */ + 0x0, 0xb7, 0xe8, 0x4, 0xe9, 0x20, 0xe0, 0x8, + 0x2e, 0xe1, 0x81, 0x24, 0x0, 0xc2, 0x1e, 0x81, + 0xff, 0xc0, 0x41, 0x1, 0xcc, 0xa0, 0x38, 0xc1, + 0x40, 0xee, 0x30, 0x1c, 0x8a, 0x20, 0x76, 0x18, + 0xf, 0x68, 0x80, 0xf2, 0x64, 0xf, 0x88, 0x1f, + 0x4c, 0xc0, 0xf7, 0x4, 0x8, + + /* U+40 "@" */ + 0x3, 0xa6, 0xfd, 0x98, 0x1f, 0x1e, 0xd4, 0x87, + 0x31, 0x3, 0x1c, 0xbc, 0x6d, 0x78, 0xe0, 0x6e, + 0x68, 0x1e, 0xc2, 0x0, 0x67, 0x81, 0xfa, 0xb0, + 0x15, 0x10, 0xf, 0xf6, 0x21, 0x84, 0xf, 0x0, + 0xe3, 0x86, 0x0, 0x59, 0x84, 0x2, 0x38, 0xc1, + 0x0, 0x4b, 0x81, 0x31, 0x40, 0xb8, 0x13, 0x24, + 0x3, 0x2, 0x7, 0xb8, 0x6c, 0x1, 0x90, 0x4, + 0x10, 0x1c, 0xf, 0x30, 0x3f, 0x36, 0x3, 0x30, + 0xc, 0x30, 0xb, 0x6, 0x1, 0x90, 0x10, 0x8, + 0x92, 0xc4, 0x6, 0x1b, 0x18, 0x8b, 0xa2, 0x82, + 0xd, 0x17, 0x69, 0x55, 0x41, 0x1c, 0x5, 0xf4, + 0x2f, 0xd0, 0xa, 0x22, 0x7, 0xff, 0x1, 0x9c, + 0x40, 0xff, 0xe0, 0x63, 0xab, 0x69, 0xd8, 0x1f, + 0x68, 0xe4, 0x26, 0xc0, 0x60, + + /* U+41 "A" */ + 0x3, 0xaf, 0x40, 0x7f, 0x90, 0xe0, 0x7f, 0x20, + 0x8, 0xf, 0xec, 0x18, 0x40, 0x7e, 0x66, 0x8c, + 0x7, 0xc4, 0x22, 0x4c, 0xf, 0xa8, 0xc1, 0x2, + 0x7, 0x90, 0x43, 0xa, 0x7, 0x12, 0x40, 0x10, + 0x40, 0x72, 0x1c, 0x9, 0x12, 0x3, 0x51, 0x7f, + 0x90, 0xa0, 0x62, 0x12, 0xe0, 0x80, 0x98, 0x96, + 0xf1, 0x30, 0xc, 0x10, 0x1c, 0x82, 0x0, 0x81, + 0x3, 0xa8, 0xa1, 0x84, 0x7, 0x88, 0x20, + + /* U+42 "B" */ + 0x5f, 0xf6, 0x60, 0x71, 0x3a, 0x50, 0x25, 0xb6, + 0x8, 0x81, 0xe2, 0x83, 0x3, 0xe2, 0x8, 0x1f, + 0x20, 0x80, 0xf4, 0x26, 0x0, 0xbf, 0x99, 0xc0, + 0x64, 0xa0, 0x60, 0x12, 0xb6, 0xe5, 0xa0, 0x3e, + 0x83, 0x81, 0xff, 0xc5, 0x20, 0x7f, 0x51, 0x80, + 0x2b, 0x6e, 0x49, 0x81, 0x25, 0x17, 0x80, + + /* U+43 "C" */ + 0x2, 0x9b, 0xf5, 0x20, 0x6c, 0xc9, 0x96, 0x40, + 0x29, 0x7f, 0x64, 0x10, 0x14, 0x20, 0x13, 0x26, + 0x41, 0x81, 0xc8, 0x2e, 0x38, 0x1d, 0x33, 0x20, + 0x81, 0xe2, 0x7, 0xff, 0x58, 0x82, 0x7, 0x88, + 0xe3, 0x81, 0xd3, 0x34, 0x18, 0x1c, 0x82, 0x28, + 0x40, 0x26, 0x4c, 0x28, 0x7a, 0xe8, 0x38, 0x17, + 0x65, 0x15, 0x88, + + /* U+44 "D" */ + 0x5f, 0xf5, 0x20, 0x79, 0x21, 0x59, 0x81, 0x95, + 0xad, 0x44, 0x20, 0x7c, 0xa0, 0x80, 0x7e, 0x61, + 0x1, 0xfc, 0x40, 0xff, 0xe0, 0x10, 0x3f, 0xfb, + 0xe4, 0xf, 0xc4, 0xf, 0xe6, 0x10, 0x1f, 0x28, + 0x20, 0x12, 0xb5, 0xa8, 0x84, 0xc, 0x90, 0xac, + 0xc0, 0x0, + + /* U+45 "E" */ + 0x5f, 0xfe, 0x3, 0x25, 0xe0, 0x25, 0x6f, 0x80, + 0xff, 0xef, 0xaf, 0xf8, 0x81, 0x92, 0xe0, 0x32, + 0xb7, 0x88, 0x1f, 0xfd, 0xf5, 0x6f, 0x80, 0xc9, + 0x78, 0x0, + + /* U+46 "F" */ + 0x5f, 0xfd, 0x80, 0x92, 0xf0, 0x5, 0x6f, 0x40, + 0x3f, 0xfb, 0x4a, 0xde, 0x3, 0x25, 0xc0, 0x4b, + 0xfe, 0x3, 0xff, 0xd6, + + /* U+47 "G" */ + 0x0, 0x6f, 0xf5, 0x20, 0x47, 0x20, 0x82, 0xc8, + 0x7, 0x13, 0xdf, 0x5, 0x8, 0x93, 0x2, 0x64, + 0x22, 0x28, 0x1d, 0x48, 0xe0, 0x81, 0xcf, 0x22, + 0x7, 0xff, 0x39, 0x7f, 0x98, 0x1c, 0xd2, 0x10, + 0x4, 0x10, 0x6, 0xd8, 0x7, 0x1c, 0xf, 0xc8, + 0x30, 0x3f, 0x12, 0x14, 0xd, 0x80, 0xb1, 0x5e, + 0xee, 0x8b, 0x1, 0x99, 0x44, 0xa6, 0x0, + + /* U+48 "H" */ + 0x5e, 0x81, 0xef, 0xc0, 0x7f, 0xfe, 0x17, 0xfe, + 0x3, 0x92, 0xf0, 0x19, 0x5b, 0xe0, 0x3f, 0xff, + 0x0, + + /* U+49 "I" */ + 0x3f, 0x1, 0xff, 0xe1, + + /* U+4A "J" */ + 0x3, 0xef, 0xc0, 0x7f, 0xff, 0xc0, 0xff, 0xe7, + 0x18, 0xc0, 0xf9, 0xb5, 0x3, 0xe4, 0xa, 0x1, + 0x42, 0x1, 0x5, 0xd8, 0x84, 0x0, 0xe9, 0x32, + 0xc4, 0x0, + + /* U+4B "K" */ + 0x5e, 0x81, 0x8f, 0xe2, 0x7, 0xdc, 0x42, 0x7, + 0xa1, 0x4c, 0xf, 0x26, 0x28, 0x1f, 0x51, 0x40, + 0xfa, 0x86, 0x80, 0xf3, 0x46, 0x1, 0xe7, 0x3, + 0x3, 0xe2, 0x1, 0x20, 0x1f, 0x4a, 0x28, 0x1e, + 0x2d, 0x20, 0x80, 0x73, 0x1, 0x3, 0x20, 0x7c, + 0x58, 0xe0, 0x7e, 0x80, 0xb0, 0x3f, 0x51, 0x0, + 0xfc, 0x90, 0x40, + + /* U+4C "L" */ + 0x5e, 0x81, 0xff, 0xff, 0x3, 0xff, 0xcc, 0xad, + 0xe8, 0x4, 0x97, 0x80, + + /* U+4D "M" */ + 0x5f, 0x98, 0x1f, 0x6f, 0xc0, 0x58, 0xf, 0x88, + 0x1c, 0x80, 0xf3, 0x3, 0xe4, 0x7, 0x60, 0x39, + 0xe, 0x7, 0x22, 0x6, 0x21, 0x1, 0x90, 0x40, + 0x73, 0x8, 0xb, 0x8a, 0x7, 0x51, 0x80, 0x91, + 0x20, 0x38, 0x86, 0x1, 0x4, 0x7, 0x10, 0xc1, + 0x18, 0x50, 0x3e, 0xc2, 0x86, 0x48, 0xf, 0x90, + 0x44, 0x20, 0x3f, 0x99, 0x82, 0x81, 0xfd, 0x82, + 0x4, 0xf, 0xe4, 0x1, 0x81, 0xff, 0x31, 0x40, + 0xe0, + + /* U+4E "N" */ + 0x5f, 0x80, 0xf7, 0xe0, 0x26, 0x7, 0xfa, 0x1, + 0xff, 0x30, 0x3f, 0x21, 0x0, 0xfe, 0x81, 0x81, + 0xf9, 0x88, 0x7, 0xf4, 0xc, 0xf, 0xcc, 0xc0, + 0x3f, 0xa8, 0x60, 0x7e, 0x66, 0x1, 0xfd, 0x4, + 0x3, 0xf2, 0x2c, 0xf, 0xe8, 0x7, 0xf9, 0x10, + 0x3f, 0xd0, 0x0, + + /* U+4F "O" */ + 0x2, 0x9b, 0xf5, 0x20, 0x6c, 0xc9, 0x5, 0x90, + 0xa, 0x57, 0xde, 0xa, 0xa, 0x34, 0x9, 0xa0, + 0xd0, 0x40, 0x77, 0x1b, 0x8e, 0x7, 0x30, 0xc8, + 0x20, 0x71, 0x3, 0xff, 0xae, 0x41, 0x3, 0x88, + 0xe, 0x38, 0x1c, 0xc3, 0x41, 0x1, 0xdc, 0x62, + 0x8d, 0x2, 0x68, 0x31, 0x4a, 0xfb, 0xc1, 0x40, + 0xb3, 0x24, 0x16, 0x40, + + /* U+50 "P" */ + 0x5f, 0xfa, 0x90, 0x39, 0x28, 0x2c, 0x40, 0x95, + 0xb7, 0x63, 0x81, 0xfa, 0x2, 0x40, 0x7e, 0x41, + 0x81, 0xff, 0xc7, 0x41, 0x81, 0xe3, 0x41, 0x20, + 0xb, 0xfb, 0x21, 0xc0, 0xc9, 0x69, 0xc8, 0x12, + 0xb7, 0x30, 0x3f, 0xfd, 0xc0, + + /* U+51 "Q" */ + 0x2, 0x9f, 0xd4, 0x81, 0x1e, 0xc1, 0xb, 0x10, + 0x1c, 0x3f, 0xbb, 0x1c, 0x22, 0x50, 0xa, 0x12, + 0x58, 0x50, 0x3a, 0x8c, 0x41, 0x3, 0x88, 0x20, + 0x18, 0x1c, 0xc3, 0x60, 0x3f, 0xf9, 0x2c, 0xf, + 0xfe, 0x3, 0x3, 0xe6, 0x41, 0x3, 0x90, 0x38, + 0x50, 0x3b, 0xc, 0x89, 0x40, 0x26, 0x8a, 0x1c, + 0x3f, 0xbc, 0x1c, 0x1, 0xec, 0x10, 0x3f, 0x4f, + 0xe8, 0x32, 0x3, 0xe7, 0x6, 0x3, 0xf3, 0xd0, + + /* U+52 "R" */ + 0x5f, 0xf6, 0x60, 0x79, 0x21, 0x29, 0x40, 0xca, + 0xd6, 0xc0, 0x90, 0xf, 0x8c, 0x18, 0xf, 0xc4, + 0x10, 0x3f, 0xf8, 0xfc, 0x10, 0x3e, 0x68, 0x50, + 0x25, 0xfd, 0x5, 0x20, 0x64, 0x84, 0x44, 0x6, + 0x56, 0xb8, 0xa0, 0x7e, 0x26, 0x40, 0x7e, 0x83, + 0x81, 0xf9, 0x4, 0x40, 0xfd, 0x4, 0x3, 0xf3, + 0x8, 0x0, + + /* U+53 "S" */ + 0x2, 0x7b, 0xf5, 0x20, 0x6b, 0x9, 0x96, 0x40, + 0x12, 0x1f, 0xb2, 0x8a, 0x3, 0xa, 0x4, 0x90, + 0x20, 0x41, 0x3, 0x74, 0x3, 0xe, 0x6, 0x55, + 0x6, 0x16, 0x40, 0x7d, 0x89, 0x5c, 0xc0, 0xe3, + 0xa9, 0x29, 0x88, 0x1c, 0xb6, 0x23, 0xc0, 0xf8, + 0xd2, 0x48, 0x6a, 0x7, 0x20, 0x41, 0x40, 0x7f, + 0x31, 0x40, 0x8b, 0x8, 0x44, 0x9f, 0x68, 0x32, + 0x2, 0xc2, 0x74, 0x80, + + /* U+54 "T" */ + 0x5f, 0xff, 0x66, 0x94, 0x40, 0x25, 0x8d, 0xb7, + 0xa, 0xda, 0x1, 0xff, 0xff, 0x3, 0xff, 0xf0, + + /* U+55 "U" */ + 0x9d, 0x1, 0xdf, 0x80, 0xff, 0xff, 0x81, 0xff, + 0xda, 0x20, 0x7e, 0xe3, 0x81, 0x88, 0x21, 0x6, + 0x40, 0xa0, 0x40, 0xb1, 0xb5, 0xd1, 0x80, 0x25, + 0x27, 0x4c, 0x0, + + /* U+56 "V" */ + 0x7e, 0x81, 0xe7, 0xeb, 0x8, 0xf, 0x61, 0x81, + 0x8, 0xe, 0x41, 0xa, 0x30, 0x18, 0x82, 0x41, + 0x4, 0x6, 0x41, 0x0, 0x26, 0x3, 0x51, 0x40, + 0x90, 0x60, 0x44, 0x10, 0x2c, 0x30, 0x4, 0x18, + 0x19, 0x4, 0x3, 0xc, 0x7, 0x20, 0x43, 0x8, + 0xe, 0xe1, 0x10, 0x80, 0xf2, 0x15, 0xc, 0x7, + 0xc8, 0xd0, 0xc0, 0xfb, 0x2, 0x40, 0x7e, 0x40, + 0x28, 0x1f, 0x89, 0x4, 0x6, + + /* U+57 "W" */ + 0x3f, 0x1, 0x9f, 0x60, 0x6d, 0xc1, 0x4, 0xd, + 0x86, 0x3, 0x10, 0x22, 0x8, 0x13, 0xc, 0x8, + 0x84, 0x1, 0x6, 0x4, 0x41, 0x2, 0x43, 0x0, + 0xc3, 0x0, 0x41, 0x84, 0x3, 0x82, 0x1, 0x82, + 0x3, 0xa, 0x30, 0x2, 0x10, 0x2, 0x10, 0x4, + 0x4e, 0x0, 0x80, 0xe2, 0x4, 0x58, 0x48, 0x4, + 0x80, 0xc8, 0x12, 0x18, 0x70, 0x50, 0x20, 0x6e, + 0x12, 0x4, 0x10, 0x44, 0x60, 0x32, 0x1f, 0x2, + 0x8, 0xf8, 0x30, 0x31, 0x5, 0xa0, 0x24, 0x8c, + 0x10, 0x38, 0xa3, 0x80, 0xb1, 0x30, 0x1e, 0x40, + 0x10, 0x11, 0x0, 0x80, 0xf7, 0x0, 0x40, 0x90, + 0xc, 0x7, 0x90, 0x20, 0x71, 0xc, 0x8, + + /* U+58 "X" */ + 0x1f, 0x90, 0x18, 0xfe, 0x1, 0x4, 0x3, 0x40, + 0xc0, 0x32, 0x48, 0x1, 0x42, 0x1, 0x41, 0x0, + 0x40, 0xc0, 0xc8, 0x92, 0x28, 0x40, 0x3a, 0x9, + 0x43, 0x3, 0xc8, 0x93, 0x10, 0xf, 0xa0, 0x8, + 0x7, 0xe2, 0x3, 0x81, 0xfa, 0x0, 0x60, 0x7c, + 0xc2, 0x62, 0x1, 0xe8, 0x24, 0x6, 0x40, 0xcc, + 0x12, 0xc, 0x50, 0x34, 0x10, 0x5, 0xc, 0x80, + 0x60, 0xa0, 0x5, 0x8, 0x2, 0x8, 0x6, 0x81, + 0x10, + + /* U+59 "Y" */ + 0x7f, 0x1, 0xc7, 0xf0, 0x60, 0x90, 0x1a, 0x6, + 0x1, 0x8a, 0x6, 0x42, 0x0, 0xa1, 0x81, 0x30, + 0x80, 0x8a, 0x8, 0x5, 0x10, 0xd, 0x4, 0x4, + 0x91, 0x3, 0x13, 0xa0, 0xe0, 0x7a, 0xa, 0x8a, + 0x3, 0xc8, 0x31, 0x40, 0xfd, 0x0, 0x30, 0x3f, + 0x20, 0x40, 0xff, 0xfa, 0x80, + + /* U+5A "Z" */ + 0x1f, 0xff, 0x20, 0x97, 0xc0, 0x18, 0xb7, 0xdc, + 0x22, 0x7, 0xd0, 0x40, 0x3e, 0x65, 0x10, 0x3e, + 0x82, 0x81, 0xf4, 0xc, 0xf, 0x8b, 0x10, 0xf, + 0xa0, 0x80, 0x7c, 0x90, 0xb0, 0x3e, 0x82, 0x1, + 0xf3, 0x29, 0x0, 0xfa, 0x8, 0x7, 0xcc, 0x32, + 0x7, 0xd0, 0x2b, 0x7c, 0xc0, 0x8a, 0x5e, 0xe0, + + /* U+5B "[" */ + 0x56, 0xc3, 0x25, 0x1, 0x4e, 0x7, 0xff, 0xfc, + 0xf, 0xfe, 0xd, 0xa0, 0x22, 0x80, + + /* U+5C "\\" */ + 0x5e, 0x1, 0xc8, 0x20, 0x3c, 0x89, 0x1, 0xdc, + 0x20, 0x39, 0xa, 0x7, 0x91, 0x3, 0xdc, 0x30, + 0x39, 0xa, 0x7, 0x91, 0x3, 0xd8, 0x30, 0x39, + 0x8c, 0x7, 0x92, 0x1, 0xec, 0x18, 0x1c, 0xc6, + 0x3, 0xc5, 0x1, 0xea, 0x10, 0x1c, 0x87, + + /* U+5D "]" */ + 0x76, 0xa6, 0x48, 0xef, 0x3, 0xff, 0xf4, 0xe8, + 0xc, 0x80, 0x0, + + /* U+5E "^" */ + 0x2, 0xbc, 0xf, 0x20, 0x40, 0xcc, 0x5, 0x3, + 0x62, 0x98, 0x19, 0x26, 0x4, 0x3, 0x15, 0x8a, + 0x2, 0x82, 0xb, 0x0, 0x50, 0xa, 0x8, + + /* U+5F "_" */ + 0x76, 0xfc, 0xf2, 0x5f, 0x60, + + /* U+60 "`" */ + 0x1b, 0xa0, 0x2c, 0x28, 0x1b, 0xa, 0x0, + + /* U+61 "a" */ + 0x1, 0x3f, 0x66, 0x5, 0x99, 0x46, 0x40, 0x65, + 0x6b, 0x83, 0x5, 0xc0, 0x4, 0x9, 0x42, 0x7, + 0xc6, 0xff, 0x1, 0x1c, 0x9d, 0xa0, 0x2a, 0x24, + 0x24, 0x2, 0x41, 0x1, 0xe6, 0x10, 0x6, 0x5, + 0xc4, 0xd9, 0x0, 0x15, 0x49, 0xc, 0xc8, + + /* U+62 "b" */ + 0x9d, 0x1, 0xff, 0xd8, 0x9f, 0xa9, 0x2, 0xad, + 0x5, 0x80, 0x8f, 0xbd, 0x6, 0x2, 0x1, 0x71, + 0x80, 0xf3, 0xc, 0xf, 0x10, 0x3f, 0xf8, 0xa4, + 0xf, 0xcc, 0x30, 0x10, 0xa, 0xc, 0x5, 0xef, + 0x24, 0xc0, 0x76, 0x82, 0xe0, + + /* U+63 "c" */ + 0x1, 0x3f, 0x66, 0x5, 0x99, 0x46, 0x40, 0x65, + 0xeb, 0xcb, 0x14, 0x50, 0x24, 0x11, 0x4, 0xa, + 0x64, 0x7, 0xc4, 0xf, 0xfe, 0x39, 0x4, 0x9, + 0xf5, 0x45, 0x2, 0xa1, 0x32, 0xf5, 0xe5, 0x80, + 0xcc, 0xa3, 0x20, 0x0, + + /* U+64 "d" */ + 0x3, 0xcf, 0xb0, 0x3f, 0xfa, 0x6, 0xfe, 0x9c, + 0xb, 0x20, 0x9b, 0x0, 0x81, 0x7b, 0xc8, 0x4, + 0x20, 0x15, 0x0, 0x41, 0x3, 0xff, 0xaa, 0x41, + 0x3, 0xc8, 0x40, 0x2a, 0x2, 0x5, 0xef, 0x20, + 0x59, 0x4, 0xe8, 0x0, + + /* U+65 "e" */ + 0x1, 0x3f, 0x66, 0x5, 0x99, 0x46, 0x30, 0xca, + 0xd7, 0x88, 0x30, 0x80, 0x48, 0x24, 0x4, 0xb, + 0x2, 0x3, 0xfd, 0x0, 0xc9, 0x78, 0x80, 0xb7, + 0xc8, 0x82, 0x7, 0xa8, 0x80, 0x46, 0x86, 0x57, + 0xb5, 0x91, 0x19, 0x84, 0xac, 0x40, + + /* U+66 "f" */ + 0x2, 0x5b, 0xd0, 0x6, 0x93, 0x0, 0xa2, 0x68, + 0x0, 0x84, 0x7, 0xf2, 0xe8, 0x6e, 0x5b, 0x0, + 0x6c, 0x4a, 0x21, 0x60, 0x1f, 0xff, 0x40, + + /* U+67 "g" */ + 0x6, 0xfe, 0x8b, 0xb1, 0x90, 0x4e, 0x80, 0x81, + 0x7b, 0xc8, 0x4, 0x20, 0x15, 0x0, 0x41, 0x3, + 0xff, 0xaa, 0x41, 0x3, 0xc8, 0x40, 0x2a, 0x2, + 0x5, 0xef, 0x20, 0x59, 0x4, 0xe0, 0x11, 0xbf, + 0xa0, 0x1f, 0xdc, 0x11, 0x48, 0x2, 0xc2, 0xb, + 0x5a, 0xc1, 0x80, 0xc9, 0x46, 0x40, + + /* U+68 "h" */ + 0x9d, 0x1, 0xff, 0xd8, 0x9f, 0xa8, 0x1a, 0xb2, + 0x15, 0x2, 0x3f, 0x70, 0x80, 0xa8, 0x12, 0x4, + 0x1, 0x3, 0xff, 0xf2, + + /* U+69 "i" */ + 0x5d, 0x91, 0xdd, 0x81, 0x7, 0xd8, 0x1f, 0xfd, + 0x50, + + /* U+6A "j" */ + 0x0, 0xf9, 0x1, 0xc3, 0x1, 0x32, 0x2, 0x20, + 0x53, 0xa0, 0x3f, 0xfe, 0xe4, 0x1, 0xc8, 0x20, + 0x4a, 0x80, + + /* U+6B "k" */ + 0x9d, 0x1, 0xff, 0xda, 0x7f, 0x1, 0xc6, 0xe, + 0x7, 0x71, 0x8, 0x1a, 0x14, 0xc0, 0xd9, 0x9a, + 0x7, 0x30, 0x3f, 0x89, 0x30, 0x39, 0xe1, 0x0, + 0xec, 0x18, 0xa0, 0x7a, 0x4, 0x40, 0xf5, 0x1c, + 0xf, 0x22, 0x4c, + + /* U+6C "l" */ + 0x7d, 0x81, 0xff, 0xe1, + + /* U+6D "m" */ + 0x9d, 0xdf, 0xd4, 0x1d, 0xfa, 0x1, 0xa0, 0x65, + 0x6c, 0x6c, 0x5c, 0x2, 0x76, 0x60, 0x55, 0x98, + 0x30, 0x2c, 0x4, 0x87, 0x2, 0x20, 0x7f, 0x98, + 0x1f, 0xfc, 0x82, 0x7, 0xff, 0xfc, 0xf, 0xfe, + 0x18, + + /* U+6E "n" */ + 0x9d, 0x5f, 0xd4, 0xd, 0x5b, 0x15, 0x40, 0x8e, + 0x98, 0x20, 0x28, 0x4, 0x81, 0x3, 0xff, 0xf8, + + /* U+6F "o" */ + 0x0, 0xf7, 0xd0, 0xd, 0x61, 0x45, 0xd0, 0xd, + 0x1f, 0x79, 0x4c, 0x61, 0x0, 0xb8, 0xa1, 0x4, + 0x4, 0x41, 0x3, 0xff, 0xa6, 0x82, 0x2, 0x20, + 0x8c, 0x20, 0x14, 0x14, 0x34, 0x7d, 0xc8, 0xb0, + 0x16, 0x14, 0x5e, 0x0, + + /* U+70 "p" */ + 0x9d, 0x5f, 0xd4, 0x81, 0x50, 0xca, 0xc0, 0x4e, + 0xcc, 0x83, 0x1, 0x80, 0xb8, 0xc0, 0x79, 0x86, + 0x7, 0x88, 0x1f, 0xfc, 0x52, 0x7, 0xe6, 0x18, + 0xe, 0x5, 0x6, 0x0, 0xb5, 0xe4, 0x98, 0x8, + 0xd0, 0x58, 0x8, 0xdf, 0xd4, 0xf, 0xfe, 0xd0, + + /* U+71 "q" */ + 0x6, 0xfe, 0x8f, 0xb1, 0x90, 0x4e, 0x0, 0x81, + 0x7b, 0xc8, 0x4, 0x20, 0x15, 0x0, 0x41, 0x3, + 0xff, 0xaa, 0x41, 0x3, 0xc8, 0x40, 0x2a, 0x2, + 0x5, 0xaf, 0x20, 0x59, 0x14, 0xd8, 0x8, 0xdf, + 0xd3, 0x81, 0xff, 0xda, + + /* U+72 "r" */ + 0x3, 0xd3, 0xbd, 0xc8, 0x8, 0x48, 0x8, 0xfc, + 0x40, 0x40, 0x3f, 0xfc, 0xe0, + + /* U+73 "s" */ + 0x6, 0xfe, 0xc8, 0x6, 0x45, 0x1a, 0x58, 0x7a, + 0xc1, 0x38, 0xe0, 0x1b, 0x6c, 0x11, 0x0, 0x8d, + 0x41, 0x72, 0x2, 0x79, 0x9b, 0x80, 0x8c, 0xe8, + 0xdb, 0x1, 0x50, 0x82, 0x60, 0x8, 0x30, 0x4d, + 0x70, 0xa7, 0x22, 0x8d, 0x60, + + /* U+74 "t" */ + 0x1, 0xf8, 0xf, 0xfe, 0x16, 0xe0, 0x3d, 0xa6, + 0x1, 0xf7, 0x0, 0x44, 0x7, 0xff, 0x81, 0xf, + 0x0, 0x42, 0x0, + + /* U+75 "u" */ + 0x9d, 0x1, 0x5e, 0x40, 0xff, 0xfe, 0x71, 0xc0, + 0x24, 0x0, 0xc2, 0xd9, 0x40, 0xd8, 0x9a, 0x30, + 0x0, + + /* U+76 "v" */ + 0x5e, 0x1, 0x1f, 0x50, 0x40, 0x48, 0x60, 0x48, + 0xb, 0x4, 0x28, 0x40, 0x11, 0x20, 0x86, 0x4, + 0x20, 0x4, 0x20, 0x86, 0x2, 0x64, 0x60, 0x80, + 0xb0, 0x4a, 0x3, 0x21, 0x6, 0x3, 0x91, 0x8, + 0xe, 0xc0, 0x90, 0x1c, 0x82, 0x2, + + /* U+77 "w" */ + 0x5e, 0x1, 0x6e, 0x4, 0x7c, 0x40, 0x81, 0x10, + 0x80, 0x21, 0xc0, 0x20, 0x8, 0x6, 0x1, 0x82, + 0x8, 0x11, 0x80, 0x20, 0xc, 0x11, 0x82, 0x8, + 0xb2, 0x0, 0xa0, 0x8, 0x70, 0x56, 0x9, 0x6, + 0x0, 0x42, 0x41, 0x90, 0xc4, 0x20, 0x24, 0x70, + 0x40, 0xac, 0x8, 0x16, 0xc, 0x80, 0x45, 0x20, + 0x19, 0x0, 0x40, 0x30, 0xc, 0x6, 0x20, 0x30, + 0x4, 0x1, 0x1, 0xc8, 0x20, 0x22, 0x8, 0x0, + + /* U+78 "x" */ + 0x1f, 0x80, 0x9f, 0xa0, 0x18, 0x60, 0x20, 0x80, + 0x20, 0x81, 0x4, 0x40, 0xa0, 0x70, 0x40, 0x33, + 0x10, 0xb2, 0x7, 0x40, 0x10, 0xf, 0x70, 0x4, + 0xf, 0x30, 0x10, 0xe, 0x82, 0xa4, 0x20, 0x45, + 0x85, 0xc4, 0x2, 0x82, 0x4, 0x52, 0x2, 0x83, + 0x1, 0x4, 0x0, + + /* U+79 "y" */ + 0x7e, 0x1, 0x3f, 0x10, 0x40, 0x58, 0x62, 0x8, + 0x12, 0x8, 0x20, 0x80, 0x88, 0xe, 0x30, 0x41, + 0x0, 0x41, 0xc, 0x28, 0x11, 0x20, 0x81, 0x2, + 0xa1, 0x14, 0x6, 0x42, 0xc, 0x6, 0x20, 0x84, + 0x7, 0x20, 0x48, 0xe, 0xe1, 0x1, 0xfb, 0x1, + 0xee, 0x10, 0x1c, 0x52, 0x1, 0xdb, 0x4, 0x3, + 0x88, 0xa4, 0xc, + + /* U+7A "z" */ + 0xff, 0xe8, 0x97, 0x0, 0xf6, 0xe8, 0x1, 0x81, + 0xb8, 0xa0, 0x64, 0x52, 0x1, 0xa8, 0x80, 0x68, + 0x19, 0x2, 0x2c, 0x40, 0x37, 0x14, 0xc, 0xca, + 0x40, 0x34, 0xe, 0xdd, 0x0, 0x14, 0xb8, + + /* U+7B "{" */ + 0x3, 0x90, 0x1d, 0xa9, 0x2, 0xa6, 0x90, 0x24, + 0x50, 0x12, 0x8, 0xf, 0xf8, 0x81, 0xff, 0xc3, + 0xe0, 0x6c, 0x10, 0x3, 0x92, 0x10, 0x22, 0x38, + 0x11, 0xc2, 0x81, 0x8b, 0xc, 0xd, 0xc0, 0xfd, + 0xc0, 0xc4, 0xf, 0xfe, 0xb, 0x4, 0xc, 0x49, + 0x1, 0xd0, 0x60, 0x32, 0xcc, 0x0, + + /* U+7C "|" */ + 0x1d, 0x81, 0xff, 0xea, + + /* U+7D "}" */ + 0x4, 0xc, 0xf4, 0x2, 0x69, 0xa0, 0x28, 0x38, + 0x11, 0x8, 0xc, 0x40, 0xff, 0xe2, 0xb0, 0x40, + 0x88, 0x40, 0x50, 0xca, 0x4, 0x82, 0x0, 0x9a, + 0xe0, 0x38, 0x80, 0x4c, 0x10, 0x3f, 0xf9, 0x24, + 0x80, 0x90, 0x40, 0x15, 0x10, 0x9, 0xf0, 0x20, + + /* U+7E "~" */ + 0xb, 0x7a, 0x40, 0xab, 0x14, 0x92, 0xc8, 0x24, + 0xc, 0x5d, 0x45, 0xd4, 0x30, 0x90, 0x2c, 0x4d, + 0x80, + + /* U+F001 "ï€" */ + 0x3, 0xff, 0xba, 0xa7, 0xe8, 0x7, 0xff, 0x8, + 0xbb, 0xeb, 0x0, 0x80, 0xff, 0x94, 0xd9, 0x10, + 0x1f, 0xfc, 0x25, 0x7d, 0x64, 0xf, 0xfe, 0x1a, + 0xf5, 0x1, 0xff, 0xc7, 0xe0, 0x7f, 0xf5, 0xb, + 0xbc, 0xf, 0xfe, 0x21, 0x9b, 0x22, 0x3, 0xff, + 0x84, 0xaf, 0xcc, 0x81, 0xff, 0xc4, 0xf5, 0x1, + 0xff, 0xff, 0x3, 0xff, 0x94, 0x52, 0x1, 0xff, + 0xc6, 0x5f, 0x5a, 0x3, 0xff, 0x8a, 0x68, 0x1f, + 0xe7, 0x21, 0x81, 0xf2, 0x3, 0xf9, 0xf8, 0xd8, + 0x81, 0xf3, 0x3, 0xea, 0x20, 0x1f, 0xfc, 0x1c, + 0x80, 0x8d, 0x60, 0x7f, 0xf0, 0xcd, 0xfe, 0xc8, + 0x3, 0x3, 0xd0, 0xf, 0xfe, 0x1c, 0xa8, 0x92, + 0xcc, 0xf, 0xfe, 0x10, + + /* U+F005 "" */ + 0x3, 0xff, 0x80, 0x40, 0xff, 0xe5, 0xec, 0x80, + 0x7f, 0xf2, 0x51, 0xc, 0x81, 0xff, 0xc8, 0x80, + 0x54, 0xf, 0xfe, 0x3a, 0x20, 0x4c, 0xf, 0xfe, + 0x3c, 0x3, 0xa0, 0x1f, 0xfc, 0x54, 0x40, 0xe6, + 0x7, 0xff, 0x4, 0xb9, 0x68, 0xf, 0xb5, 0x68, + 0x81, 0xd3, 0xf6, 0x8d, 0x1, 0xf8, 0xa9, 0x77, + 0xe4, 0x1, 0x81, 0xff, 0xc9, 0x80, 0x18, 0x1f, + 0xfc, 0x9a, 0x2, 0x30, 0x3f, 0xf8, 0xf1, 0x81, + 0x46, 0x7, 0xff, 0x16, 0xb0, 0x3a, 0x30, 0x3f, + 0xf8, 0x75, 0x1, 0xf4, 0x60, 0x7f, 0xf0, 0x6a, + 0x3, 0xfb, 0x1, 0xff, 0xc1, 0x40, 0x7f, 0x88, + 0x1f, 0xfc, 0x12, 0x7, 0xfb, 0x81, 0xff, 0xc1, + 0x60, 0x7f, 0x90, 0x1f, 0xfc, 0x1c, 0x7, 0xf8, + 0x81, 0xe2, 0x7, 0x88, 0x1f, 0xc4, 0xe, 0x5b, + 0x44, 0xc, 0xc0, 0xff, 0xe0, 0xad, 0x48, 0x3a, + 0x90, 0x4, 0xf, 0xe2, 0xd6, 0xa4, 0xe, 0x5a, + 0xaa, 0x7, 0xfa, 0x52, 0x7, 0xf2, 0xa8, 0xe, + + /* U+F007 "" */ + 0x3, 0xff, 0x9c, 0x6f, 0xf6, 0x40, 0x7f, 0xf0, + 0x16, 0x40, 0x46, 0xb0, 0x3f, 0xea, 0x7, 0xd1, + 0x1, 0xfd, 0x0, 0xfe, 0x80, 0x7f, 0x20, 0x3f, + 0x88, 0x1f, 0xfd, 0x16, 0x7, 0xff, 0x1f, 0x1, + 0xfc, 0x80, 0xfe, 0x64, 0xf, 0xd0, 0xf, 0xf6, + 0x20, 0x7a, 0x90, 0x3f, 0xed, 0x11, 0x27, 0xd0, + 0x1f, 0xfc, 0x17, 0x76, 0x40, 0x3f, 0xe5, 0x2d, + 0x32, 0xa, 0xb5, 0x10, 0x1e, 0xb4, 0xd2, 0x4d, + 0xf5, 0x48, 0xee, 0x20, 0x55, 0x1, 0xff, 0xc1, + 0x38, 0x3, 0x40, 0x7f, 0xf1, 0x28, 0xa0, 0x7f, + 0xf1, 0x50, 0x20, 0x7f, 0xf1, 0x88, 0x1f, 0xfd, + 0xc2, 0x7, 0xff, 0x18, 0xf2, 0x7, 0xff, 0xc, + 0xd0, + + /* U+F00C "" */ + 0x3, 0xff, 0x8e, 0xc0, 0xff, 0xe3, 0x9f, 0x28, + 0x1f, 0xfc, 0x53, 0x80, 0x2a, 0x7, 0xff, 0xc, + 0xe0, 0x32, 0x3, 0xff, 0x84, 0x70, 0x1d, 0x80, + 0xff, 0xe0, 0x9c, 0x7, 0x62, 0x17, 0x80, 0x7e, + 0x38, 0xe, 0xc4, 0x2a, 0x1c, 0x3, 0xc7, 0x1, + 0xd8, 0x80, 0xa0, 0x4e, 0x1, 0x8e, 0x3, 0xb1, + 0x2, 0x40, 0x67, 0x0, 0x1c, 0x7, 0x62, 0x6, + 0xa8, 0xc, 0xe1, 0xc0, 0x76, 0x20, 0x7a, 0xa0, + 0x33, 0xc0, 0x76, 0x20, 0x7e, 0xa8, 0xf, 0xec, + 0x40, 0xff, 0x54, 0x7, 0xd8, 0x81, 0xff, 0xc0, + 0xa8, 0xe, 0xc4, 0xf, 0xfe, 0x15, 0x40, 0x58, + 0x81, 0xff, 0xc4, 0xac, 0xe2, 0x7, 0xfc, + + /* U+F00D "ï€" */ + 0x13, 0x20, 0x3e, 0x3a, 0x0, 0x8c, 0xd4, 0x7, + 0x1c, 0x5d, 0xc, 0xa, 0xa0, 0x23, 0x80, 0x90, + 0x80, 0x6a, 0x81, 0xc0, 0x66, 0x1b, 0x1, 0xab, + 0xc0, 0x65, 0x0, 0x46, 0x6, 0x80, 0x65, 0x40, + 0xd1, 0x81, 0xf2, 0xa0, 0x7a, 0x30, 0x39, 0x50, + 0x3e, 0x2c, 0xe, 0x48, 0x7, 0x8e, 0x3, 0xea, + 0x80, 0xc7, 0x1, 0x88, 0x1a, 0xa0, 0x7, 0x1, + 0x96, 0x60, 0x6a, 0x87, 0x3, 0x2a, 0x23, 0x3, + 0x50, 0x39, 0x50, 0x28, 0xc0, 0xee, 0x1, 0x50, + 0x3a, 0x30, 0x18, 0x1f, 0xa8, 0x1f, 0x4d, 0xc8, + + /* U+F011 "" */ + 0x3, 0xfc, 0x48, 0xf, 0xfe, 0x3e, 0xd3, 0x3, + 0xff, 0x8c, 0x40, 0x70, 0x3f, 0xf8, 0x37, 0xa0, + 0x3f, 0x5e, 0x80, 0xfa, 0xa1, 0x40, 0xf9, 0x20, + 0xa8, 0xe, 0x88, 0xf, 0xfe, 0x15, 0x20, 0x45, + 0x81, 0x60, 0x3e, 0x4c, 0xb, 0x81, 0x40, 0x2c, + 0x40, 0xfd, 0x10, 0x2, 0x80, 0x20, 0xc, 0x81, + 0xfe, 0xa0, 0x5c, 0x30, 0x2a, 0x7, 0xff, 0x1, + 0x80, 0x43, 0x81, 0x10, 0x3f, 0xf8, 0x18, 0x8, + 0x90, 0x2, 0x7, 0xff, 0x5, 0x81, 0x88, 0x1f, + 0x88, 0xc, 0x6, 0x60, 0x7c, 0x40, 0xed, 0xf9, + 0x1, 0x88, 0x11, 0xc0, 0x48, 0xf, 0xfe, 0x6, + 0x3, 0x20, 0x28, 0x7, 0xfc, 0x50, 0x6, 0x1, + 0x80, 0x30, 0xf, 0xf6, 0x2, 0xa0, 0x20, 0x13, + 0x80, 0x7c, 0x70, 0x13, 0x20, 0x54, 0x9, 0xe6, + 0x40, 0x29, 0x88, 0x3, 0x0, 0xca, 0x1, 0x19, + 0xbf, 0x56, 0x4, 0x70, 0x1e, 0x74, 0xf, 0xf9, + 0x60, 0x3f, 0x2f, 0x8, 0x1e, 0x56, 0x80, 0xff, + 0x9e, 0xcb, 0x2e, 0xf5, 0x1, 0xe0, + + /* U+F012 "" */ + 0x3, 0xff, 0x94, 0x52, 0x1, 0xff, 0xcb, 0xd6, + 0x98, 0x1f, 0xff, 0x92, 0x40, 0x7f, 0xf2, 0xde, + 0xce, 0x7, 0xff, 0xfc, 0xf, 0xfe, 0x47, 0xf3, + 0x3, 0xff, 0xfe, 0x7, 0xff, 0x1d, 0x7e, 0xc0, + 0x7f, 0xf2, 0x88, 0x2, 0x7, 0xff, 0xe6, 0xec, + 0x40, 0x7f, 0xf2, 0x91, 0x30, 0x1f, 0xff, 0xf0, + 0x3f, 0xf9, 0xad, 0x28, 0x25, 0x30, 0xd, 0x28, + 0x25, 0x30, 0xd, 0x28, + + /* U+F013 "" */ + 0x3, 0xff, 0xa4, 0xf7, 0xec, 0xc0, 0xff, 0xe2, + 0x62, 0x0, 0xd0, 0x3f, 0xfa, 0xb0, 0x83, 0x50, + 0x18, 0xd2, 0xc, 0x3, 0xa3, 0xd7, 0x20, 0x3c, + 0xb5, 0xce, 0x1, 0x16, 0x1, 0x1, 0xfe, 0x40, + 0x1a, 0x1, 0x0, 0xff, 0xe3, 0x70, 0x8, 0xf, + 0x95, 0xa4, 0x7, 0xc8, 0x88, 0x7, 0xa5, 0x49, + 0x60, 0x1e, 0x84, 0x3c, 0x6, 0x2c, 0xc, 0xc8, + 0x1b, 0x30, 0x3f, 0x30, 0x3c, 0x80, 0xff, 0xe4, + 0x90, 0x3f, 0xa8, 0x19, 0x10, 0x39, 0x1, 0xa8, + 0x17, 0x60, 0x77, 0x20, 0xe, 0x3, 0x9f, 0x3, + 0xf8, 0xef, 0xd8, 0x81, 0xfd, 0x0, 0xff, 0xe3, + 0x30, 0xc, 0x81, 0xff, 0xc4, 0x30, 0xb, 0x85, + 0x98, 0x1f, 0x96, 0x43, 0x81, 0x8f, 0xa6, 0x62, + 0x7, 0x6a, 0x6f, 0x20, 0x7f, 0x16, 0x6, 0x24, + 0x7, 0xff, 0x21, 0x81, 0xff, 0xc4, 0xb5, 0x22, + 0xd0, 0x1f, 0x80, + + /* U+F015 "" */ + 0x3, 0xfe, 0xbe, 0x1, 0x2f, 0xd8, 0xf, 0xfe, + 0x9, 0xe8, 0x3c, 0x0, 0x80, 0x20, 0x7f, 0xf0, + 0x1e, 0x3, 0x1e, 0x40, 0xff, 0xe1, 0xc8, 0x0, + 0xa9, 0x1, 0xb0, 0xf, 0xfe, 0xd, 0x60, 0x1d, + 0x59, 0x0, 0x40, 0x7f, 0xc7, 0x20, 0x16, 0x47, + 0x55, 0x81, 0xff, 0xc0, 0x58, 0x80, 0xca, 0xb1, + 0x5c, 0x80, 0x3f, 0xce, 0x80, 0x3c, 0x64, 0x5, + 0x2b, 0xc0, 0x5c, 0x81, 0x58, 0x1, 0x63, 0x88, + 0x1c, 0xb1, 0xc4, 0x6, 0x63, 0x20, 0x12, 0xbc, + 0x7, 0xe3, 0xc6, 0x40, 0x24, 0x20, 0x15, 0xc8, + 0x3, 0xfe, 0xca, 0xb0, 0x1a, 0x3c, 0xab, 0x3, + 0xff, 0x83, 0x5c, 0xb1, 0x8, 0x42, 0x3, 0xff, + 0x87, 0x82, 0x60, 0x7f, 0xf0, 0x9, 0x80, 0xff, + 0xe4, 0xdd, 0xa6, 0x7, 0xff, 0xfc, 0xf, 0xfe, + 0x11, 0x3, 0xff, 0x86, 0x40, 0xfd, 0xed, 0xe4, + 0x5, 0x2d, 0xe8, 0x6, + + /* U+F01E "" */ + 0x3, 0xff, 0x8e, 0xd9, 0x1, 0xf2, 0x9b, 0x55, + 0x90, 0x23, 0x22, 0x81, 0xcf, 0xd6, 0x4c, 0xa6, + 0xa4, 0x10, 0x3e, 0xb0, 0xf, 0xe5, 0xa0, 0x1f, + 0x64, 0x4, 0xee, 0xb0, 0x81, 0x3a, 0x7, 0x52, + 0x1, 0xf8, 0x8a, 0x7b, 0x8, 0x4, 0x6, 0x48, + 0x2, 0x40, 0x1f, 0x1c, 0x80, 0xf5, 0x0, 0xd8, + 0xf, 0x4d, 0xa0, 0x3c, 0x40, 0xa0, 0x1f, 0x13, + 0x90, 0x1d, 0x40, 0x20, 0x3f, 0xf8, 0xa4, 0x80, + 0x60, 0x3f, 0x5d, 0xbf, 0x80, 0x88, 0x1f, 0xc4, + 0xfe, 0x3, 0x10, 0x3f, 0xf8, 0xc4, 0x7, 0x3, + 0xff, 0x8d, 0xc0, 0x30, 0x3f, 0xf8, 0xcc, 0x9, + 0x81, 0xff, 0xc6, 0x60, 0x21, 0x3, 0xff, 0x8b, + 0x0, 0xb2, 0x3, 0xf4, 0xa0, 0x7d, 0x40, 0xad, + 0x20, 0x33, 0xcd, 0x60, 0x3c, 0xa8, 0x12, 0xbf, + 0xe8, 0x40, 0xff, 0x2c, 0x40, 0xff, 0x3c, 0x7, + 0xe3, 0xaa, 0x3, 0x8c, 0xf0, 0xf, 0xf9, 0x5f, + 0xb5, 0xf3, 0x3, 0xe0, + + /* U+F023 "" */ + 0x3, 0xf1, 0x30, 0x1f, 0xfc, 0x37, 0xb6, 0xf0, + 0xf, 0xfe, 0x5, 0x84, 0xc, 0xf1, 0x3, 0xfa, + 0xa0, 0x3e, 0x3c, 0xf, 0xc5, 0x1, 0x4d, 0x48, + 0x2, 0xc0, 0xfa, 0x81, 0x66, 0x56, 0x2, 0xa0, + 0x7c, 0x80, 0x22, 0x6, 0x80, 0x8, 0x1f, 0x10, + 0x4, 0xe, 0x20, 0x44, 0xf, 0xff, 0x2, 0x60, + 0x45, 0xbe, 0xc0, 0x55, 0x0, 0x96, 0x1, 0x29, + 0x39, 0x81, 0x3b, 0x83, 0x3, 0xff, 0x8a, 0x48, + 0xf, 0xfe, 0x3b, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0xd1, 0x90, 0x3f, 0xf8, 0xc7, 0x90, 0x3f, 0xf8, + 0x90, 0x0, + + /* U+F026 "" */ + 0x3, 0xf8, 0x90, 0x1f, 0x9e, 0xc0, 0x3e, 0x70, + 0xf, 0xce, 0x1, 0x14, 0xb3, 0x80, 0x6d, 0x6e, + 0x80, 0x7f, 0xfe, 0xd0, 0x1f, 0xeb, 0xfe, 0xc0, + 0x7f, 0x8e, 0x3, 0xfc, 0x70, 0x1f, 0xe3, 0x81, + 0x3, 0xf1, 0xf8, + + /* U+F028 "" */ + 0x3, 0xff, 0x8c, 0xc8, 0x1f, 0xfc, 0xa5, 0x33, + 0x3, 0xff, 0x82, 0x48, 0xf, 0x26, 0x23, 0x3, + 0xfe, 0x7b, 0x0, 0xfa, 0x40, 0x88, 0xf, 0xe7, + 0x0, 0xf2, 0xf0, 0x36, 0x14, 0xf, 0xce, 0x1, + 0xfc, 0xe8, 0x84, 0x40, 0x52, 0xce, 0x1, 0xf9, + 0x60, 0x98, 0x81, 0x8d, 0x6e, 0x80, 0x7d, 0x18, + 0x34, 0x40, 0x88, 0x40, 0x7f, 0xf0, 0xb, 0x8c, + 0x22, 0x18, 0x43, 0x1, 0xff, 0xc0, 0x30, 0x40, + 0x14, 0x71, 0xc1, 0x3, 0xff, 0x82, 0xc8, 0x40, + 0x82, 0x8, 0x1f, 0xfc, 0x42, 0x18, 0x1f, 0xfc, + 0x9c, 0x9, 0xc, 0x8, 0x20, 0x81, 0xff, 0xc1, + 0x25, 0xc0, 0x31, 0x46, 0x1d, 0x1, 0xff, 0xc0, + 0xf8, 0x8a, 0x9, 0x4, 0x15, 0xff, 0x60, 0x3f, + 0xd5, 0xe, 0x20, 0x24, 0x7, 0x1c, 0x7, 0xe6, + 0x85, 0x24, 0xc4, 0x3, 0xe3, 0x80, 0xf9, 0xb6, + 0x43, 0x84, 0x80, 0x7e, 0x38, 0x10, 0x3a, 0x12, + 0xc4, 0xa8, 0x1f, 0xe3, 0xf0, 0x1e, 0x38, 0x97, + 0x3, 0xff, 0x94, 0xb1, 0x3, 0xff, 0x90, 0x7d, + 0x3, 0x80, + + /* U+F043 "ïƒ" */ + 0x3, 0xff, 0x94, 0xfc, 0x3, 0xff, 0x83, 0x3, + 0x3, 0xff, 0x80, 0x80, 0x98, 0x1f, 0xf4, 0x2, + 0xa0, 0x7f, 0x91, 0x2, 0x2c, 0xf, 0xe8, 0x7, + 0x40, 0x3f, 0x32, 0x7, 0xa0, 0x1e, 0x30, 0xf, + 0x99, 0x3, 0xb8, 0x1f, 0xdc, 0xc, 0xc8, 0x1f, + 0xc6, 0x1, 0x40, 0x3f, 0xe6, 0x43, 0x3, 0xff, + 0x83, 0x45, 0x3, 0xff, 0x82, 0xc1, 0x0, 0x80, + 0xff, 0xe1, 0x1a, 0x40, 0xff, 0x88, 0x21, 0x1, + 0xff, 0x20, 0xa, 0x1, 0xfc, 0x85, 0x1, 0x4f, + 0x68, 0xf, 0x70, 0x50, 0xc, 0xed, 0x10, 0x32, + 0x40, 0x15, 0x0, 0x9b, 0x90, 0x23, 0x40, 0xd5, + 0x81, 0xf2, 0xc0, 0x7a, 0x78, 0x95, 0x35, 0x3, + 0x0, + + /* U+F048 "ïˆ" */ + 0x3, 0xff, 0x89, 0xfb, 0x1, 0xfa, 0xe2, 0x40, + 0x8, 0x1f, 0x64, 0x68, 0x1f, 0xc7, 0x10, 0x3f, + 0xe3, 0x88, 0x1f, 0xf1, 0xc0, 0x7f, 0xf0, 0x16, + 0x3, 0xff, 0x80, 0xa8, 0x1f, 0xfc, 0x7, 0x40, + 0xff, 0xe0, 0xc0, 0x3f, 0xfc, 0x4, 0xf, 0xfe, + 0x16, 0x40, 0x7f, 0xf0, 0xaa, 0x3, 0xff, 0x85, + 0x58, 0x1f, 0xfc, 0x29, 0x0, 0x7f, 0xf0, 0x9c, + 0x3, 0xff, 0x84, 0xe8, 0x1f, 0xfc, 0x25, 0x40, + 0x63, 0x6b, 0x1, 0xf2, 0xf9, 0x0, + + /* U+F04A "ïŠ" */ + 0x3, 0xf9, 0x90, 0x3f, 0x99, 0x3, 0xe3, 0xe6, + 0x3, 0xe3, 0xe6, 0x3, 0xcb, 0x1, 0xfc, 0xb0, + 0x1f, 0x9d, 0x3, 0xf9, 0xd0, 0x3f, 0x58, 0x7, + 0xf5, 0x80, 0x7e, 0xc8, 0xf, 0xec, 0x80, 0xf8, + 0xf2, 0x7, 0xe3, 0xc8, 0x1f, 0x2c, 0x7, 0xf2, + 0xc0, 0x7f, 0x50, 0x3f, 0xd4, 0xf, 0xf2, 0x3, + 0xfc, 0x80, 0xff, 0x54, 0x7, 0xf5, 0x40, 0x7f, + 0xac, 0x3, 0xfa, 0xc0, 0x3f, 0xce, 0x81, 0xfc, + 0xe8, 0x1f, 0xe5, 0x80, 0xfe, 0x58, 0xf, 0xf1, + 0xe4, 0xf, 0xc7, 0x90, 0x3f, 0xd9, 0x1, 0xfd, + 0x90, 0x1f, 0xeb, 0x3, 0x3, 0xeb, 0x3, 0x3, + 0xf3, 0xf0, 0xf, 0xcf, 0xc0, + + /* U+F04B "ï‹" */ + 0x4, 0x80, 0xff, 0xe2, 0xcd, 0x94, 0x81, 0xff, + 0xc3, 0x60, 0x16, 0x80, 0x7f, 0xf1, 0xdf, 0x40, + 0x7f, 0xf1, 0xee, 0x20, 0x7f, 0xf1, 0x8e, 0x80, + 0x7f, 0xf1, 0xdf, 0x60, 0x7f, 0xf1, 0xe6, 0x20, + 0x7f, 0xf1, 0x8e, 0x80, 0x7f, 0xf1, 0xdf, 0x60, + 0x7f, 0xf1, 0xe6, 0x3, 0xff, 0x8e, 0x48, 0xf, + 0xfe, 0x39, 0x3, 0xff, 0x8d, 0x40, 0xff, 0xe2, + 0xbe, 0x80, 0xff, 0xe1, 0xad, 0x0, 0xff, 0xe1, + 0x9b, 0x44, 0xf, 0xfe, 0x1c, 0xc8, 0xf, 0xfe, + 0x1a, 0xec, 0xf, 0xfe, 0x19, 0xb4, 0x7, 0xff, + 0x12, 0x64, 0x7, 0xfc, 0x40, 0x9f, 0x60, 0x7f, + 0xf0, 0x7a, 0x4d, 0x0, 0xff, 0xe1, 0x9b, 0x44, + 0xf, 0xfe, 0x20, + + /* U+F04C "ïŒ" */ + 0x3b, 0xfe, 0x60, 0x47, 0x7f, 0xcc, 0x72, 0x7, + 0x40, 0x2e, 0x40, 0xe8, 0x8, 0x1f, 0x10, 0x4, + 0xf, 0x88, 0x1f, 0x98, 0x1f, 0xe6, 0x7, 0xff, + 0xfc, 0xf, 0xff, 0xf8, 0x1f, 0xff, 0xf0, 0x3f, + 0xfb, 0xec, 0xf, 0xf3, 0x60, 0x3c, 0x88, 0x6, + 0x7, 0x91, 0x9a, 0xdd, 0xa8, 0x14, 0xd6, 0xed, + 0x40, + + /* U+F04D "ï" */ + 0x3b, 0xff, 0xfe, 0x23, 0x1c, 0x81, 0xff, 0xc4, + 0x80, 0x81, 0xff, 0xc6, 0x20, 0x7f, 0xf1, 0xd8, + 0x1f, 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x7f, 0xff, + 0xc0, 0xff, 0xf5, 0x36, 0x3, 0xff, 0x8a, 0x8c, + 0xd6, 0xff, 0xf0, 0xf5, 0x0, + + /* U+F04E "ïŽ" */ + 0x2c, 0xf, 0xe2, 0xc0, 0xfe, 0xd3, 0x90, 0x3e, + 0xd3, 0x90, 0x3f, 0xd9, 0x1, 0xfd, 0x90, 0x1f, + 0xea, 0xc0, 0xfe, 0xac, 0xf, 0xf4, 0xa0, 0x7f, + 0x4a, 0x7, 0xf9, 0x60, 0x3f, 0x96, 0x3, 0xfc, + 0x79, 0x3, 0xf1, 0xe4, 0xf, 0xf6, 0x40, 0x7f, + 0x64, 0x7, 0xfa, 0x81, 0xfe, 0xa0, 0x7f, 0x90, + 0x1f, 0xe4, 0x7, 0xf2, 0xa0, 0x7f, 0x2a, 0x7, + 0xe9, 0x40, 0xfe, 0x94, 0xf, 0xd5, 0x81, 0xfd, + 0x58, 0x1f, 0xb2, 0x3, 0xfb, 0x20, 0x3e, 0x3c, + 0x81, 0xf8, 0xf2, 0x7, 0xcb, 0x1, 0xfc, 0xb0, + 0x1e, 0x62, 0x50, 0x3e, 0x62, 0x50, 0x3e, 0x9d, + 0x81, 0xfa, 0x76, 0x7, 0xe0, + + /* U+F051 "ï‘" */ + 0x3, 0xff, 0x86, 0x76, 0x1, 0xfa, 0xfe, 0x28, + 0x96, 0x20, 0x79, 0x80, 0x60, 0x47, 0x10, 0x3f, + 0xf8, 0x59, 0x1, 0xff, 0xc2, 0xa8, 0xf, 0xfe, + 0x15, 0x60, 0x7f, 0xf0, 0xa3, 0x3, 0xff, 0x85, + 0x20, 0xf, 0xfe, 0x13, 0x20, 0x7f, 0xf7, 0xc9, + 0x1, 0xff, 0xc0, 0x58, 0xf, 0xfe, 0x2, 0xa0, + 0x7f, 0xf0, 0x1d, 0x3, 0xff, 0x80, 0xe0, 0x1f, + 0xfc, 0x9, 0x0, 0x7f, 0xf0, 0x23, 0x3, 0xf8, + 0x80, 0xac, 0xf, 0xf2, 0xd8, 0x80, 0xfb, 0xda, + 0x40, + + /* U+F053 "ï“" */ + 0x3, 0xfa, 0x10, 0x3f, 0xb3, 0xc4, 0xf, 0xb1, + 0x1, 0x40, 0xf6, 0x20, 0xc, 0x3, 0xb1, 0x0, + 0x70, 0x1d, 0x88, 0x3, 0x80, 0xec, 0x40, 0x1c, + 0x7, 0x62, 0x0, 0xe0, 0x3b, 0x10, 0x7, 0x1, + 0xd4, 0x80, 0x38, 0xf, 0x60, 0x22, 0xc0, 0xf3, + 0x80, 0x51, 0x81, 0xe7, 0x0, 0xa3, 0x3, 0xce, + 0x1, 0x46, 0x7, 0x9c, 0x2, 0x8c, 0xf, 0x38, + 0x5, 0x18, 0x1e, 0x70, 0xa, 0x20, 0x3c, 0xe0, + 0x11, 0x3, 0xe7, 0x3, 0x60, 0x3f, 0x3f, 0x0, + + /* U+F054 "ï”" */ + 0xa, 0x1, 0xfc, 0xab, 0xa0, 0x7e, 0x80, 0x15, + 0x3, 0xee, 0x4, 0xa8, 0x1e, 0x38, 0x9, 0x50, + 0x3c, 0x70, 0x12, 0xa0, 0x78, 0xe0, 0x25, 0x40, + 0xf1, 0xc0, 0x4a, 0x81, 0xe3, 0x80, 0x95, 0x3, + 0xc7, 0x1, 0x26, 0x7, 0xa8, 0x19, 0x1, 0xd1, + 0x81, 0x52, 0x6, 0x8c, 0xa, 0xa0, 0x34, 0x60, + 0x55, 0x1, 0xa3, 0x2, 0xa8, 0xd, 0x18, 0x15, + 0x40, 0x68, 0xc0, 0xaa, 0x3, 0x88, 0x15, 0x40, + 0x7a, 0x91, 0x50, 0x1f, 0xb7, 0x40, 0x7e, + + /* U+F055 "ï•" */ + 0x3, 0xe5, 0x37, 0xed, 0x58, 0x1f, 0xfc, 0x5, + 0xab, 0x20, 0xa, 0x9e, 0x1, 0xfd, 0x29, 0x3, + 0xf9, 0xe2, 0x7, 0xab, 0x3, 0xff, 0x80, 0x71, + 0x3, 0x44, 0x7, 0x16, 0xe0, 0x3d, 0xc0, 0x8b, + 0x3, 0xd6, 0x48, 0xf, 0x18, 0x2, 0x1, 0xff, + 0xc6, 0x60, 0x10, 0x1f, 0xfc, 0x76, 0x80, 0xff, + 0xe4, 0x62, 0x6, 0xff, 0x30, 0x2f, 0xf3, 0x2, + 0x7c, 0xf, 0xfe, 0x41, 0xe0, 0x7f, 0xf2, 0x8, + 0x1d, 0x26, 0x20, 0x52, 0x64, 0x6, 0x40, 0x66, + 0xf2, 0x2, 0x6f, 0x10, 0x24, 0x48, 0xf, 0xfe, + 0x3d, 0x14, 0xf, 0xfe, 0x31, 0x20, 0xc8, 0x1f, + 0xc4, 0xf, 0xb8, 0x17, 0x3, 0xd3, 0xf6, 0x3, + 0xd0, 0x81, 0x1c, 0x7, 0xff, 0x9, 0xb0, 0x1c, + 0x79, 0x3, 0xfe, 0xb0, 0xf, 0xda, 0x90, 0x3c, + 0x5f, 0x40, 0x7f, 0x96, 0xf6, 0xa5, 0xd9, 0x0, + 0xf0, + + /* U+F056 "ï–" */ + 0x3, 0xe5, 0x36, 0xd5, 0x1, 0xff, 0xc0, 0x5a, + 0xb2, 0x72, 0xbd, 0x81, 0xfd, 0x29, 0x3, 0xfa, + 0x60, 0x3e, 0xac, 0xf, 0xfe, 0x1, 0xe4, 0xd, + 0x10, 0x1f, 0xfc, 0x3e, 0x4, 0x58, 0x1f, 0xfc, + 0x43, 0x0, 0x40, 0x3f, 0xf8, 0xcc, 0x2, 0x3, + 0xff, 0x8e, 0xd0, 0x1f, 0xfc, 0x8c, 0x40, 0xdf, + 0xff, 0xf0, 0x18, 0x13, 0xe0, 0x7f, 0xf2, 0xf, + 0x3, 0xff, 0x90, 0x48, 0xd, 0xb7, 0xff, 0x1, + 0x81, 0x36, 0x3, 0x13, 0xff, 0xc0, 0x3, 0x62, + 0x40, 0x7f, 0xf1, 0xd0, 0x80, 0x7f, 0xf1, 0x91, + 0x9, 0x0, 0xff, 0xe2, 0xc0, 0x2a, 0x40, 0xff, + 0xe1, 0xd2, 0x6, 0xc4, 0xf, 0xfe, 0xd, 0x40, + 0x7b, 0x30, 0x3f, 0xc7, 0x20, 0x3f, 0x4c, 0xc8, + 0x1c, 0xae, 0x20, 0x7f, 0x8c, 0xdf, 0x67, 0xea, + 0x80, 0xf0, + + /* U+F058 "ï˜" */ + 0x3, 0xe5, 0x76, 0xd1, 0x1, 0xff, 0xc0, 0x7e, + 0xa2, 0x73, 0xb9, 0x1, 0xfd, 0x60, 0x1f, 0xc6, + 0xc0, 0x3e, 0xc8, 0xf, 0xfe, 0x3, 0xa0, 0x75, + 0x20, 0x7f, 0xf0, 0x93, 0x2, 0x48, 0x7, 0xff, + 0x12, 0x10, 0x14, 0xf, 0xfe, 0xa, 0x60, 0x50, + 0x10, 0x3f, 0xf8, 0x2a, 0xc6, 0x1, 0xa, 0x7, + 0xff, 0x1, 0x50, 0x3c, 0x88, 0x18, 0x81, 0xe5, + 0x40, 0x36, 0x2, 0x20, 0x65, 0xa8, 0x19, 0x50, + 0xe, 0x1, 0xb8, 0x1a, 0x85, 0x40, 0x2a, 0x1, + 0xc0, 0x3b, 0x90, 0x2c, 0x1, 0x55, 0x40, 0x38, + 0x7, 0xdc, 0x8, 0xe0, 0xa, 0x80, 0x70, 0xf, + 0x93, 0x3, 0x1c, 0x6, 0x70, 0xf, 0x89, 0x4, + 0x6, 0x38, 0x3, 0x80, 0x7e, 0xa0, 0x20, 0x1c, + 0x74, 0x80, 0x3f, 0x16, 0x0, 0xd0, 0x38, 0xb0, + 0x3f, 0xb8, 0x19, 0x40, 0x3f, 0xf8, 0x58, 0x81, + 0xce, 0x81, 0xff, 0x1c, 0x40, 0xf9, 0x78, 0x40, + 0xf1, 0xb8, 0x81, 0xfe, 0x7b, 0x2d, 0xdf, 0x20, + 0x3c, + + /* U+F059 "ï™" */ + 0x3, 0xe5, 0x36, 0xd1, 0x1, 0xff, 0xc0, 0x7e, + 0xb2, 0x73, 0xb9, 0x1, 0xfd, 0x60, 0x1f, 0xc6, + 0xc0, 0x3e, 0xc8, 0xc, 0x52, 0x10, 0x33, 0xa0, + 0x75, 0x20, 0x46, 0xeb, 0x5b, 0x8, 0x12, 0x80, + 0x49, 0x0, 0x8e, 0x40, 0x63, 0x90, 0x13, 0x20, + 0x20, 0x1a, 0x1, 0x36, 0x2, 0xa0, 0x68, 0x9, + 0x1, 0xa9, 0x2f, 0x23, 0x1, 0x10, 0x24, 0x10, + 0x1e, 0xd8, 0x4, 0xc0, 0xfc, 0xb8, 0x1f, 0xeb, + 0x40, 0x9, 0x1, 0x89, 0x1, 0xfd, 0xd0, 0x17, + 0x3, 0xb8, 0x1f, 0xd0, 0x9, 0xf2, 0x7, 0x88, + 0x1f, 0x88, 0x5, 0x0, 0xfb, 0xe0, 0x3f, 0x5f, + 0xd4, 0xf, 0xc9, 0x0, 0xfc, 0x6d, 0x10, 0x3f, + 0x10, 0xc0, 0xfb, 0xa4, 0xe0, 0x7d, 0x0, 0x40, + 0x3e, 0x20, 0x7f, 0x16, 0x5, 0x80, 0xf4, 0x1, + 0x0, 0xf7, 0x3, 0x1a, 0x7, 0x3f, 0xc8, 0xe, + 0xc4, 0xe, 0x58, 0x81, 0xfe, 0x3c, 0x81, 0xf1, + 0xd5, 0x1, 0xe5, 0x70, 0x1f, 0xf2, 0xbf, 0x5a, + 0xde, 0xa0, 0x3c, + + /* U+F05A "ïš" */ + 0x3, 0xe5, 0x76, 0xac, 0x20, 0x7f, 0xf0, 0x1f, + 0xa8, 0x99, 0x3d, 0x84, 0xf, 0xed, 0x0, 0xfe, + 0x39, 0x81, 0xf6, 0x20, 0x7f, 0xf0, 0x24, 0x1, + 0xd8, 0x81, 0xff, 0xc2, 0x68, 0x9, 0x90, 0x3c, + 0xff, 0x10, 0x3d, 0x40, 0xa0, 0x1f, 0x50, 0x8, + 0xf, 0xa0, 0x40, 0x7e, 0x40, 0x10, 0x1f, 0x21, + 0x80, 0xfd, 0x37, 0x20, 0x7c, 0x4c, 0x7, 0xcb, + 0x7c, 0x7, 0xf3, 0x3, 0xf6, 0x26, 0x3, 0xff, + 0x8d, 0x50, 0x1f, 0xfc, 0x2, 0x7, 0xc7, 0x1, + 0xff, 0x3c, 0x7, 0xff, 0x20, 0xa0, 0x3e, 0x70, + 0x6, 0x3, 0xe4, 0x1, 0x81, 0xfe, 0x20, 0x7d, + 0x0, 0x40, 0x3c, 0xff, 0xc0, 0x79, 0x90, 0x2c, + 0x7, 0xff, 0xc, 0xc0, 0x31, 0xa0, 0x7f, 0xf0, + 0x56, 0x3, 0xcb, 0x10, 0x3f, 0xce, 0x81, 0xf8, + 0xea, 0x80, 0xe2, 0xfc, 0x3, 0xfe, 0x57, 0xf6, + 0xcf, 0xa0, 0x1f, 0x0, + + /* U+F05E "ïž" */ + 0x3, 0xe5, 0x76, 0xd1, 0x1, 0xff, 0xc0, 0x7e, + 0xa2, 0x73, 0xb9, 0x1, 0xfd, 0x60, 0x18, 0x81, + 0x8d, 0x80, 0x7d, 0x90, 0x7, 0xbe, 0xfd, 0x50, + 0x7, 0x40, 0xea, 0x40, 0x28, 0x40, 0xca, 0xd0, + 0x4, 0xc0, 0x92, 0x1, 0x28, 0x7, 0xca, 0x80, + 0x84, 0x5, 0x1, 0x0, 0x38, 0x7, 0xca, 0x0, + 0x80, 0x80, 0x4e, 0x80, 0x70, 0xf, 0x98, 0x4, + 0x28, 0xe, 0x15, 0x0, 0xe0, 0x1f, 0x30, 0x8, + 0x80, 0x40, 0x15, 0x0, 0xe0, 0x1e, 0xc0, 0x8, + 0x1f, 0x2a, 0x1, 0xc0, 0x39, 0x80, 0xe0, 0x7e, + 0x54, 0x3, 0x80, 0x7d, 0xc8, 0x2, 0x7, 0x2a, + 0x1, 0xc0, 0x24, 0x5, 0xc0, 0x50, 0x3c, 0xa8, + 0x7, 0x0, 0x60, 0x9, 0x80, 0x60, 0x7c, 0xa8, + 0x7, 0xa, 0x4, 0x82, 0x1, 0x0, 0xf9, 0x50, + 0xf, 0x0, 0xa0, 0x20, 0x7, 0x0, 0xf9, 0x50, + 0x31, 0x60, 0xd, 0x0, 0xe9, 0x3, 0xcc, 0x81, + 0x70, 0x32, 0x80, 0x16, 0xad, 0x23, 0xd8, 0x40, + 0x62, 0x7, 0x3a, 0x4, 0xa5, 0xa8, 0x40, 0x1c, + 0x40, 0xf9, 0x78, 0x40, 0xf1, 0xb8, 0x81, 0xfe, + 0x7b, 0x2d, 0xdf, 0x20, 0x3c, + + /* U+F060 "ï " */ + 0x3, 0xf1, 0x80, 0x7f, 0xf1, 0x4e, 0x78, 0xf, + 0xfe, 0x19, 0xc0, 0xa, 0x3, 0xff, 0x82, 0x70, + 0x13, 0x40, 0x7f, 0xf0, 0xe, 0x2, 0x70, 0xf, + 0xfe, 0x1, 0xc0, 0x4e, 0x1, 0xff, 0xc0, 0x38, + 0xa, 0x40, 0x1f, 0xfc, 0x3, 0x80, 0xa3, 0x3, + 0xff, 0x80, 0x70, 0x1a, 0x7f, 0xff, 0xc0, 0x18, + 0xf, 0xfe, 0x31, 0x40, 0x7f, 0xf1, 0xea, 0x3, + 0x39, 0x3f, 0xf8, 0x4, 0x54, 0x4, 0x9b, 0xff, + 0xe0, 0x1, 0x54, 0x0, 0xe2, 0x7, 0xff, 0xa, + 0xa0, 0x7, 0x10, 0x3f, 0xf8, 0x55, 0x1, 0x62, + 0x7, 0xff, 0xa, 0xa0, 0x2c, 0x40, 0xff, 0xe1, + 0x54, 0x4, 0xc0, 0xff, 0xe1, 0xd4, 0x22, 0x3, + 0xff, 0x89, 0x7b, 0x3, 0xf8, + + /* U+F061 "ï¡" */ + 0x3, 0xf9, 0xa0, 0x3f, 0xf8, 0xb6, 0x56, 0x7, + 0xff, 0x11, 0x0, 0x8c, 0xf, 0xfe, 0x1c, 0x2, + 0x8c, 0xf, 0xfe, 0x13, 0xa0, 0x51, 0x81, 0xff, + 0xc2, 0x54, 0xa, 0x30, 0x3f, 0xf8, 0x4a, 0x81, + 0x46, 0x7, 0xff, 0x9, 0x60, 0x28, 0xc0, 0x5f, + 0xff, 0xec, 0x6, 0x8c, 0x20, 0x3f, 0xf8, 0xb0, + 0x81, 0xff, 0xc6, 0x25, 0x64, 0xff, 0xe0, 0x1, + 0x8e, 0x9, 0xbf, 0xfb, 0x1, 0x1c, 0x7, 0xff, + 0x6, 0xa0, 0x7, 0x1, 0xff, 0xc1, 0xc8, 0x1, + 0xc0, 0x7f, 0xf0, 0x71, 0x0, 0x70, 0x1f, 0xfc, + 0x1c, 0x40, 0x1c, 0x7, 0xff, 0x8, 0x80, 0x38, + 0xf, 0xfe, 0x1e, 0x7, 0x1, 0xff, 0xc4, 0x3f, + 0x1, 0xfc, + + /* U+F062 "ï¢" */ + 0x3, 0xf1, 0xcc, 0xf, 0xfe, 0x19, 0xc6, 0x30, + 0x3f, 0xf8, 0x27, 0x1, 0x46, 0x7, 0xfc, 0x70, + 0x1d, 0x18, 0x1f, 0xc7, 0x1, 0xf4, 0x60, 0x7c, + 0x70, 0x1f, 0xd1, 0x81, 0xc7, 0x1, 0x30, 0x26, + 0x5, 0x18, 0x11, 0xc0, 0x52, 0x0, 0xb5, 0x2, + 0x8c, 0x1c, 0x4, 0xd8, 0xe, 0x54, 0xa, 0x38, + 0x4, 0xe0, 0x1f, 0x2a, 0x5, 0x20, 0x3, 0x80, + 0x7f, 0x2a, 0x2, 0x1d, 0x20, 0xf, 0xf9, 0x5a, + 0x60, 0xb0, 0x3f, 0xf8, 0x29, 0x0, 0xff, 0xff, + 0x81, 0xff, 0xe4, 0xd2, 0xa0, 0x3e, + + /* U+F063 "ï£" */ + 0x3, 0xf5, 0xf8, 0xf, 0xfe, 0x22, 0x5, 0x1, + 0xff, 0xff, 0x3, 0xff, 0xc7, 0x79, 0x3, 0xff, + 0x81, 0xb0, 0x44, 0x31, 0x3, 0xfd, 0x89, 0x60, + 0x36, 0x20, 0x7e, 0xc4, 0xa, 0x20, 0x2c, 0x7, + 0xd4, 0x80, 0x38, 0x54, 0x5, 0x88, 0x1a, 0xa0, + 0x7, 0x1, 0x54, 0x0, 0xe0, 0x2a, 0x80, 0x1c, + 0x7, 0x54, 0x7, 0xf1, 0xc0, 0x7d, 0x50, 0x1f, + 0x1c, 0x7, 0xf5, 0x40, 0x71, 0xc0, 0x7f, 0xd5, + 0x1, 0x1c, 0x7, 0xff, 0x6, 0xa0, 0x70, 0x1f, + 0xfc, 0x3b, 0x58, 0xf, 0xc0, + + /* U+F067 "ï§" */ + 0x3, 0xf5, 0xf8, 0x81, 0xff, 0xc3, 0x68, 0x18, + 0x7, 0xff, 0xfc, 0xf, 0xfe, 0xb2, 0x5e, 0xe0, + 0x4d, 0x2f, 0x11, 0xad, 0xf3, 0x2, 0x36, 0xfb, + 0x2, 0x7, 0xff, 0x18, 0x81, 0xff, 0xc8, 0x84, + 0xf8, 0xe, 0x27, 0xcc, 0xbd, 0xbd, 0x0, 0x96, + 0xde, 0x80, 0x7f, 0xff, 0xc0, 0xff, 0xea, 0x90, + 0x22, 0x7, 0xff, 0xd, 0x69, 0x60, 0x1f, 0x80, + + /* U+F068 "ï¨" */ + 0x4, 0xff, 0xf1, 0x40, 0x5d, 0xbf, 0xf8, 0xbc, + 0x20, 0x3f, 0xf8, 0xc4, 0xf, 0xfe, 0x43, 0x3, + 0xff, 0x8a, 0x88, + + /* U+F06E "ï®" */ + 0x3, 0xfc, 0x49, 0x10, 0x3f, 0xf8, 0xca, 0xfd, + 0x97, 0x7e, 0xa8, 0xf, 0xfe, 0x2, 0xf5, 0x0, + 0x24, 0x4, 0xae, 0x20, 0x7f, 0x5a, 0x2, 0x9f, + 0x67, 0xcc, 0x1, 0xd0, 0xf, 0x1c, 0x80, 0xb3, + 0x5, 0x12, 0x94, 0x9, 0xd0, 0x3b, 0x10, 0x2c, + 0x40, 0x2b, 0xb0, 0x28, 0x4, 0xa8, 0x16, 0x3, + 0x22, 0x7, 0x8e, 0xc, 0xc, 0xa0, 0x64, 0xd, + 0xc0, 0x8c, 0x2, 0x28, 0x30, 0x33, 0x30, 0xe, + 0x62, 0xfc, 0x7, 0x11, 0xc0, 0xe8, 0x40, 0xff, + 0xe5, 0x9e, 0x7, 0x21, 0xc0, 0xf9, 0x8c, 0x7, + 0x42, 0xc0, 0xd4, 0x24, 0x3, 0xa0, 0x4, 0x6, + 0xa0, 0x22, 0x2, 0x2c, 0x58, 0x49, 0x56, 0x28, + 0x1a, 0x20, 0x2a, 0x80, 0xa3, 0xf, 0x65, 0x42, + 0x20, 0x28, 0xc0, 0xeb, 0x0, 0xa6, 0x44, 0x17, + 0x98, 0x15, 0x60, 0x7c, 0xfb, 0x0, 0x6e, 0xfa, + 0x10, 0xf, 0xa0, 0x3f, 0xd3, 0xd4, 0x40, 0x8b, + 0xbe, 0x1, 0xe0, + + /* U+F070 "ï°" */ + 0x3, 0xff, 0xa0, 0xbb, 0x3, 0xff, 0x9b, 0x44, + 0xa0, 0x7f, 0xf3, 0x20, 0x5, 0x88, 0x1e, 0x28, + 0x90, 0x1f, 0xfc, 0x7, 0x80, 0x1c, 0xc1, 0x9b, + 0xeb, 0xb3, 0xd6, 0x7, 0xf8, 0xf4, 0x2, 0x6c, + 0x64, 0x1, 0x20, 0xa, 0x76, 0x7, 0xfa, 0xb0, + 0x4, 0x2, 0xdf, 0x67, 0x80, 0x53, 0x10, 0x3f, + 0xa5, 0x3, 0x62, 0x12, 0x7, 0xc8, 0x3, 0x88, + 0x1f, 0xcb, 0x90, 0x12, 0x8b, 0x5d, 0xe, 0x6, + 0xc4, 0xe, 0x7c, 0x80, 0xcc, 0x2, 0xe0, 0x54, + 0x93, 0x3, 0x70, 0x31, 0x83, 0x30, 0x12, 0x81, + 0xf4, 0x14, 0xc, 0x60, 0x15, 0x2, 0x94, 0x2, + 0xc4, 0xe, 0x60, 0x81, 0xcc, 0xb, 0x81, 0x95, + 0x0, 0x72, 0x3, 0x30, 0x40, 0xfe, 0x64, 0xc, + 0xc0, 0xd6, 0x1, 0x24, 0x60, 0x75, 0x3, 0x70, + 0x31, 0x40, 0x67, 0x88, 0xb, 0x40, 0x66, 0x80, + 0xc6, 0x81, 0xa0, 0x1c, 0x72, 0x3, 0xca, 0x1, + 0xe5, 0x40, 0x8d, 0x3, 0xd6, 0x1, 0x8d, 0x3, + 0xf2, 0xc4, 0x2, 0xf0, 0x82, 0x1, 0xe0, 0x22, + 0xc0, 0xfe, 0x3a, 0x1, 0x3d, 0xf5, 0x0, 0x7a, + 0x1, 0x28, 0x1f, 0xe7, 0xeb, 0x20, 0x4e, 0x1, + 0x56, 0x1, 0x62, 0x7, 0xf9, 0x4d, 0xfd, 0xa0, + 0x1a, 0x50, 0x7, 0x10, 0x3f, 0xf9, 0x4b, 0x90, + 0xc, 0xf, 0xfe, 0x66, 0x71, 0x0, + + /* U+F077 "ï·" */ + 0x3, 0xf2, 0xec, 0xf, 0xfe, 0x1a, 0xa2, 0x30, + 0x3f, 0xf8, 0x2a, 0x81, 0x46, 0x7, 0xfc, 0xa8, + 0x1d, 0x18, 0x1f, 0xca, 0x81, 0x10, 0x28, 0xc0, + 0xf9, 0x50, 0x25, 0xa8, 0x14, 0x60, 0x72, 0xa0, + 0x4a, 0x85, 0x40, 0xa3, 0x2, 0x54, 0x9, 0xd0, + 0x25, 0x0, 0xa3, 0x6, 0x81, 0x38, 0x7, 0x38, + 0x5, 0x1c, 0x2, 0x70, 0xf, 0x9c, 0x2, 0x90, + 0x1, 0xc0, 0x3f, 0x9c, 0x1, 0x4e, 0xb0, 0xf, + 0xf9, 0xda, 0x40, + + /* U+F078 "ï¸" */ + 0x13, 0x10, 0x3f, 0xf8, 0x1a, 0x88, 0xce, 0x20, + 0x7f, 0xb1, 0x58, 0xd, 0x88, 0x1f, 0xb1, 0x2, + 0x88, 0xb, 0x10, 0x3d, 0x88, 0x3, 0x85, 0x40, + 0x58, 0x81, 0xb1, 0x0, 0x70, 0x15, 0x40, 0x58, + 0x80, 0xc4, 0x1, 0xc0, 0x75, 0x40, 0x59, 0x62, + 0x0, 0xe0, 0x3e, 0xa8, 0xa, 0x90, 0x7, 0x1, + 0xfd, 0x50, 0x1c, 0x70, 0x1f, 0xf5, 0x40, 0x47, + 0x1, 0xff, 0xc1, 0xa8, 0x1c, 0x7, 0xff, 0xe, + 0xcc, 0x7, 0xe0, + + /* U+F07B "ï»" */ + 0x9, 0xc9, 0xcc, 0xf, 0xfe, 0xd, 0xa8, 0xdf, + 0x4c, 0x7, 0xff, 0x1, 0x1, 0xf8, 0xe0, 0x3f, + 0xf9, 0x27, 0xed, 0xf5, 0x80, 0x7f, 0xf0, 0x49, + 0xf9, 0x3c, 0x7, 0xff, 0x24, 0x81, 0xff, 0xff, + 0x3, 0xff, 0xfe, 0x7, 0xff, 0xe4, 0xd0, 0x3f, + 0xf9, 0x10, + + /* U+F080 "ï‚€" */ + 0x28, 0xf, 0xfe, 0x21, 0x40, 0x35, 0xa0, 0x3f, + 0xf8, 0x7a, 0xd0, 0x13, 0x3, 0xed, 0xd8, 0x1f, + 0xfc, 0x62, 0x43, 0x81, 0xff, 0xcc, 0x20, 0x7f, + 0xf2, 0x3e, 0xa0, 0x7f, 0xf5, 0xb, 0x40, 0x7f, + 0xf1, 0xe4, 0x50, 0x3f, 0xfe, 0x79, 0x20, 0x29, + 0x30, 0x49, 0x82, 0x4c, 0x7, 0x9d, 0xa0, 0x16, + 0x90, 0xb4, 0xc5, 0xa6, 0x7, 0xff, 0x34, 0xed, + 0xff, 0xc6, 0x80, 0x44, 0xff, 0xf1, 0x9b, 0x1, + 0xff, 0xc8, 0x20, + + /* U+F084 "ï‚„" */ + 0x3, 0xff, 0x82, 0x4c, 0x7, 0xff, 0x10, 0xdf, + 0xb5, 0xe0, 0x1f, 0xfc, 0x15, 0x90, 0x1c, 0xfa, + 0x3, 0xfc, 0xa8, 0x1f, 0xd4, 0x81, 0xfd, 0x40, + 0xf3, 0xcc, 0x6, 0x3, 0xf4, 0x3, 0xca, 0x18, + 0x80, 0x30, 0x3e, 0x60, 0x7b, 0x1, 0x60, 0x14, + 0xf, 0xfe, 0x15, 0x2, 0xa0, 0x8, 0x1f, 0xfc, + 0x23, 0xef, 0x20, 0x7f, 0xf1, 0xd0, 0x1f, 0xfc, + 0x2, 0x7, 0xff, 0x5, 0x1, 0xe8, 0x40, 0xff, + 0xe0, 0xf0, 0x3a, 0x30, 0x3f, 0xf8, 0x29, 0x0, + 0xd1, 0x81, 0xff, 0xc1, 0x34, 0xd, 0x18, 0x1f, + 0xfc, 0x15, 0x80, 0xd1, 0x81, 0xfc, 0x4c, 0xf5, + 0x3, 0x46, 0x7, 0xf5, 0xda, 0x84, 0xd, 0x18, + 0x1f, 0x2b, 0x90, 0x1f, 0xcc, 0xf, 0xc5, 0x10, + 0x3f, 0xf8, 0xfc, 0xf, 0xfe, 0x3f, 0xe6, 0x7, + 0xff, 0x18, 0x81, 0xff, 0xc3, 0x68, 0x99, 0x50, + 0x3f, 0xf8, 0x60, + + /* U+F085 "ï‚…" */ + 0x3, 0xff, 0xca, 0x77, 0x77, 0xc0, 0x3f, 0xd7, + 0x7c, 0xc0, 0xf9, 0x91, 0x10, 0x20, 0x7f, 0x14, + 0x41, 0xa0, 0x7d, 0x80, 0x10, 0xc, 0xf, 0xe6, + 0x7, 0xfd, 0xd8, 0x9b, 0x83, 0xd0, 0x3, 0xa1, + 0xb4, 0x6, 0x3d, 0x9b, 0x0, 0xc8, 0x1, 0x0, + 0x40, 0x72, 0xf2, 0x3, 0xe9, 0x93, 0x68, 0x44, + 0x2c, 0x86, 0x83, 0x20, 0x7f, 0xf0, 0xe3, 0x81, + 0x68, 0x14, 0x22, 0x1, 0xf2, 0x64, 0xf, 0x99, + 0x3, 0x98, 0x13, 0x3, 0xda, 0xcc, 0xc0, 0xe2, + 0x9b, 0xbd, 0x5c, 0xa, 0x60, 0x34, 0x20, 0x50, + 0xc, 0xb1, 0x12, 0x2, 0xa4, 0xf, 0xe4, 0x7, + 0x20, 0x3f, 0xf8, 0xa4, 0xc, 0xc0, 0xe6, 0x7, + 0xff, 0x10, 0xd0, 0x34, 0x3, 0x12, 0x2, 0x50, + 0x1, 0x20, 0x8, 0xd, 0x90, 0x18, 0xe4, 0x5e, + 0x3, 0x9c, 0x5b, 0x25, 0xb0, 0x12, 0x3, 0xc6, + 0xe8, 0x7, 0xd8, 0x9, 0xa0, 0x3a, 0x1, 0xff, + 0xc4, 0x49, 0x80, 0x22, 0x11, 0x0, 0x68, 0x2c, + 0xf, 0xc9, 0x83, 0x7b, 0x16, 0xb0, 0xc, 0xc0, + 0x2d, 0x93, 0xb0, 0x3a, 0xd4, 0xf8, 0xf, 0x88, + 0x1e, 0x20, 0x54, 0xc, 0x50, 0x1d, 0x48, 0x8e, + 0x11, 0x18, 0x1f, 0x10, 0x33, 0x3, 0xca, 0x3, + 0x18, 0x4c, 0xf, 0xef, 0xae, 0xa0, 0x7c, 0x40, + 0x10, 0xc, 0xf, 0xf8, 0xa2, 0x7, 0xe7, 0x66, + 0xc7, 0x80, 0x0, + + /* U+F09C "ï‚œ" */ + 0x3, 0xf1, 0x30, 0x1f, 0xfc, 0x37, 0xb6, 0xf0, + 0xf, 0xfe, 0x5, 0x84, 0xc, 0xf0, 0x1f, 0xe8, + 0x80, 0xf8, 0xe0, 0x3f, 0x16, 0x5, 0x34, 0x20, + 0xb, 0x3, 0xea, 0x5, 0x99, 0x78, 0xa, 0x81, + 0xf2, 0x0, 0x88, 0x1a, 0x0, 0x20, 0x7c, 0x40, + 0x10, 0x38, 0x81, 0x10, 0x3f, 0xf8, 0x6c, 0x8, + 0x81, 0xff, 0xc3, 0x3f, 0x70, 0x3f, 0xf8, 0xc4, + 0xf, 0xfe, 0x6a, 0xfc, 0x4, 0xff, 0xff, 0x98, + 0xa0, 0x7f, 0xf1, 0x61, 0x3, 0xff, 0xb6, 0xc0, + 0xff, 0xff, 0x81, 0xff, 0xcc, 0x64, 0xf, 0xfe, + 0x31, 0xe4, 0xf, 0xfe, 0x24, 0x0, + + /* U+F0C2 "" */ + 0x3, 0xf2, 0x96, 0xa2, 0x3, 0xff, 0x90, 0x75, + 0x69, 0x1d, 0xc4, 0xf, 0xfe, 0x29, 0xc4, 0xf, + 0x1c, 0x40, 0xff, 0xe2, 0x70, 0x3f, 0xde, 0x7e, + 0xc8, 0xf, 0xf2, 0x20, 0x7f, 0x8b, 0x0, 0x6b, + 0x3, 0xfb, 0x81, 0xff, 0xc5, 0x80, 0x7f, 0x30, + 0x3f, 0xf8, 0xc8, 0xf, 0x89, 0x1, 0xff, 0xcd, + 0xb8, 0xf, 0xfe, 0x39, 0x3, 0xaa, 0x3, 0xff, + 0x91, 0x3a, 0x0, 0x90, 0xf, 0xfe, 0x5d, 0x43, + 0x81, 0xff, 0xcd, 0x81, 0x1, 0xff, 0xcd, 0x28, + 0xf, 0xfe, 0x79, 0x20, 0x3f, 0xf9, 0xe8, 0xf, + 0xfe, 0x71, 0xa0, 0x7f, 0xf3, 0x4a, 0x34, 0xf, + 0xfe, 0x67, 0x0, 0xb1, 0x3, 0xff, 0x90, 0x71, + 0x2, 0x3b, 0x24, 0xff, 0xe3, 0x6c, 0x20, 0x0, + + /* U+F0C9 "" */ + 0xdf, 0xff, 0xf1, 0x70, 0x20, 0x7f, 0xf1, 0x4a, + 0x3, 0xff, 0x8e, 0xfe, 0xdf, 0xfc, 0x62, 0x9, + 0xff, 0xe3, 0x1, 0xff, 0xdd, 0xdf, 0xff, 0xf1, + 0x89, 0x1, 0xff, 0xc6, 0x60, 0x7f, 0xf1, 0xdf, + 0xdb, 0xff, 0x8b, 0xc8, 0x27, 0xff, 0x8a, 0x7, + 0xff, 0x7b, 0x7f, 0xff, 0xc6, 0x24, 0x7, 0xff, + 0x19, 0x81, 0xff, 0xc7, 0x7f, 0x6f, 0xfe, 0x2f, + 0x20, + + /* U+F0D7 "" */ + 0x5f, 0xff, 0xf0, 0x3, 0x3, 0xfe, 0x20, 0xd0, + 0x3f, 0x8e, 0x0, 0xa8, 0x1f, 0x1c, 0x6, 0x54, + 0xe, 0x38, 0xf, 0x2a, 0x4, 0x70, 0x1f, 0x95, + 0x7, 0x1, 0xfe, 0x5b, 0x0, 0xf0, + + /* U+F0D8 "" */ + 0x3, 0xc4, 0xf, 0xfe, 0x2, 0xdc, 0x81, 0xfc, + 0xa8, 0xc, 0x40, 0xf9, 0x50, 0x36, 0x20, 0x72, + 0xa0, 0x7b, 0x10, 0x25, 0x40, 0xfd, 0x88, 0x34, + 0xf, 0xf6, 0xc, 0xf, 0xfe, 0x8, + + /* U+F0D9 "" */ + 0x3, 0xc6, 0x1, 0xe3, 0x99, 0x3, 0x1c, 0x1, + 0x81, 0x1c, 0x7, 0x8e, 0x3, 0xc7, 0x1, 0xf6, + 0x3, 0xf3, 0x3, 0xf4, 0x60, 0x7e, 0x8c, 0xf, + 0xd1, 0x81, 0xfa, 0x30, 0x3f, 0x46, 0x18, 0x1e, + 0x9c, 0x80, + + /* U+F0DA "" */ + 0x68, 0xf, 0x4a, 0x80, 0xfa, 0xa0, 0x3e, 0xa8, + 0xf, 0xaa, 0x3, 0xea, 0x80, 0xfa, 0x90, 0x3c, + 0x48, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, + 0x38, 0xe, 0x38, 0xe, 0xf8, 0xf, 0x0, + + /* U+F0E2 "" */ + 0x6e, 0x3, 0xff, 0x8f, 0x24, 0x6, 0x32, 0xed, + 0x44, 0x7, 0xff, 0x1, 0x6c, 0x68, 0x99, 0xde, + 0xc0, 0xfe, 0xb4, 0x40, 0xfe, 0x94, 0xf, 0xb2, + 0x2, 0x56, 0xb5, 0x60, 0x4b, 0x1, 0xe2, 0x1, + 0x7a, 0x90, 0xa9, 0xd8, 0x3, 0x40, 0xfa, 0x50, + 0x3f, 0x48, 0x0, 0x98, 0x1e, 0x9f, 0xd0, 0xf, + 0x34, 0x2, 0x1, 0xfe, 0x20, 0x7d, 0x40, 0x90, + 0x1f, 0xc4, 0xf, 0xc8, 0x6, 0xfb, 0x7e, 0x80, + 0x7e, 0xc0, 0x8, 0x27, 0xf0, 0x1f, 0xc4, 0x3, + 0x3, 0xff, 0x8c, 0x40, 0x30, 0x3f, 0xf8, 0xdc, + 0x1, 0x3, 0xff, 0x8c, 0xc0, 0x60, 0x3f, 0xf8, + 0xac, 0x9, 0x1, 0xff, 0xc4, 0x30, 0x3, 0x3, + 0xd5, 0x81, 0xf9, 0x60, 0x28, 0x7, 0x65, 0x32, + 0x3, 0x2b, 0x40, 0x58, 0xf, 0xe3, 0x7f, 0xd5, + 0x1, 0x52, 0x7, 0xb3, 0x3, 0xfc, 0x72, 0x3, + 0xf4, 0xcc, 0xf, 0x2b, 0x88, 0x1f, 0xe3, 0x3f, + 0x6c, 0xfd, 0x50, 0x1e, + + /* U+F0E7 "" */ + 0x2, 0x29, 0x71, 0x3, 0xe9, 0xad, 0xed, 0x0, + 0xf1, 0x3, 0xee, 0x7, 0x98, 0x1f, 0x30, 0x3c, + 0x40, 0xf1, 0x3, 0xc4, 0xf, 0xa8, 0x1e, 0x60, + 0x7c, 0x80, 0xf1, 0x3, 0xe4, 0xdc, 0x80, 0x70, + 0x3e, 0x93, 0x5a, 0x4, 0xf, 0xfe, 0x6, 0xc, + 0xf, 0xf8, 0xb0, 0x40, 0xff, 0xa0, 0x2, 0x7, + 0xf9, 0x20, 0xd, 0xf6, 0xc0, 0x74, 0x3, 0x89, + 0x80, 0xe6, 0x40, 0xfc, 0x80, 0xd0, 0xf, 0xec, + 0x5, 0x0, 0xff, 0x20, 0x5, 0x81, 0xfc, 0x40, + 0xb8, 0x1f, 0xe6, 0x1, 0x10, 0x3f, 0xd8, 0x5, + 0x3, 0xfe, 0x42, 0x1, 0xff, 0xc0, 0xad, 0x80, + 0xf8, + + /* U+F0E9 "" */ + 0x3, 0xff, 0xb5, 0x7b, 0x3, 0xff, 0x96, 0x86, + 0x3, 0xff, 0x90, 0xef, 0x0, 0xb5, 0x40, 0x7f, + 0xf0, 0xe7, 0x88, 0xc, 0x55, 0xec, 0xf, 0xf9, + 0x76, 0x7, 0xfd, 0x31, 0x3, 0xf3, 0xa0, 0x7f, + 0xf0, 0x8e, 0x40, 0x79, 0xc0, 0x3f, 0xf8, 0xb4, + 0x81, 0x8c, 0x3, 0xff, 0x8f, 0xc0, 0xdc, 0xf, + 0xfe, 0x41, 0x80, 0x11, 0x3, 0xff, 0x92, 0xc0, + 0x60, 0x4, 0xf, 0xfe, 0x21, 0x20, 0x8, 0x35, + 0xf7, 0x80, 0x69, 0xfc, 0x80, 0xd7, 0x68, 0xf1, + 0x68, 0x9, 0xd0, 0x11, 0xcc, 0xea, 0x1, 0x90, + 0x3, 0xb8, 0x40, 0x72, 0x69, 0x86, 0x68, 0xa2, + 0x90, 0x39, 0x1, 0xfa, 0x50, 0x3e, 0xe8, 0xf, + 0xff, 0xc2, 0x3, 0xff, 0x99, 0xad, 0x10, 0xc, + 0xf, 0xfe, 0x4a, 0xc0, 0x8, 0x1f, 0xfc, 0x78, + 0x6, 0x30, 0xf, 0xfe, 0x3a, 0xcd, 0x4c, 0x7, + 0xff, 0x0, + + /* U+F0EB "" */ + 0x3, 0xff, 0x91, 0x37, 0xf6, 0x80, 0x7c, 0x7b, + 0x20, 0x45, 0xf4, 0x6, 0x38, 0x9, 0x20, 0x1a, + 0xa0, 0x2e, 0x1, 0x7b, 0x0, 0xea, 0x1, 0x90, + 0xab, 0xf8, 0xf, 0x41, 0x80, 0x45, 0x0, 0xfc, + 0x82, 0x4, 0xb8, 0x1f, 0xc4, 0xe, 0x40, 0x7f, + 0xf0, 0x4f, 0x3, 0xff, 0x80, 0x80, 0xff, 0xe0, + 0x91, 0xc0, 0xff, 0xe0, 0xd0, 0x90, 0xf, 0xf8, + 0xb0, 0x14, 0xf, 0xfb, 0x81, 0xa8, 0x1f, 0xd0, + 0x81, 0x92, 0x1, 0xf1, 0x60, 0x7a, 0x1, 0xf4, + 0x3, 0xe3, 0xad, 0xf2, 0x3, 0xf9, 0xbf, 0x1, + 0xfd, 0xb7, 0xc0, 0x7f, 0x10, 0x3f, 0xf8, 0x74, + 0xe, 0x60, 0x7f, 0x34, 0x4, 0x60, 0x1c, + + /* U+F0F3 "" */ + 0x3, 0xff, 0xa0, 0xfd, 0x3, 0xff, 0x8b, 0x82, + 0x3, 0xff, 0x86, 0x62, 0x1, 0x10, 0x1f, 0xfc, + 0x9, 0x98, 0x13, 0xb4, 0x7, 0xfa, 0xb0, 0x3e, + 0x58, 0xf, 0xc9, 0x0, 0xfe, 0x30, 0xf, 0xa0, + 0x1f, 0xf3, 0x3, 0xe2, 0x7, 0xff, 0x1, 0x1, + 0xc4, 0xf, 0xfe, 0x9, 0x3, 0x98, 0x1f, 0xfc, + 0x1e, 0x7, 0xff, 0x37, 0x1, 0xff, 0xc1, 0x40, + 0x72, 0x3, 0xff, 0x82, 0x40, 0xc4, 0x80, 0xff, + 0xe1, 0x30, 0x28, 0x7, 0xff, 0xe, 0x0, 0x88, + 0xf, 0xfe, 0x26, 0xc, 0xf, 0xfe, 0x29, 0x28, + 0x4f, 0xff, 0x15, 0x97, 0xb7, 0xff, 0x16, 0x1, + 0xfb, 0xfe, 0x40, 0x7f, 0xf0, 0x98, 0x11, 0x40, + 0x7f, 0xf0, 0xa4, 0x27, 0x80, 0xfc, + + /* U+F0F4 "" */ + 0x3, 0x9e, 0xdf, 0xfc, 0x68, 0x40, 0xfd, 0x9, + 0xff, 0xe3, 0x3d, 0x0, 0xff, 0xe8, 0x36, 0x3, + 0xff, 0x94, 0xff, 0x40, 0x10, 0xf, 0xfe, 0x6b, + 0x60, 0x8, 0xf, 0xfe, 0x6e, 0x0, 0x40, 0xff, + 0xe6, 0x90, 0x3f, 0xf9, 0xe6, 0x0, 0x40, 0x7f, + 0xf2, 0x55, 0xac, 0x1, 0x10, 0x3f, 0xf9, 0x25, + 0x20, 0x3, 0x40, 0xff, 0xe7, 0x3c, 0x7, 0xff, + 0x2d, 0xef, 0xd0, 0xf, 0xc8, 0xf, 0xfe, 0x1e, + 0x20, 0x7f, 0xd0, 0xf, 0xfe, 0x11, 0x40, 0x7f, + 0xf0, 0xd, 0x3, 0xff, 0x80, 0x70, 0x1f, 0xfc, + 0x25, 0xed, 0xff, 0x6c, 0x3, 0xfd, 0x27, 0xdb, + 0x7f, 0xac, 0x9f, 0x80, 0x9b, 0xff, 0xe7, 0x1, + 0x40, 0x3f, 0xf9, 0x90, 0x9, 0xfd, 0xbf, 0xf9, + 0x5d, 0x80, + + /* U+F0FE "" */ + 0x3b, 0xff, 0xfe, 0x23, 0x1c, 0x81, 0xff, 0xc4, + 0x80, 0x81, 0xff, 0xc6, 0x20, 0x7e, 0x72, 0x0, + 0xfc, 0xc0, 0xfd, 0x1b, 0x20, 0x3f, 0xfd, 0x64, + 0xf, 0xfe, 0x1c, 0xfe, 0xc0, 0x57, 0xfb, 0x1, + 0xff, 0xe3, 0xb2, 0x4c, 0x9, 0x49, 0x80, 0xf8, + 0xb7, 0x40, 0x2e, 0xdc, 0x80, 0xff, 0xfe, 0x7f, + 0x20, 0x3f, 0xf9, 0xed, 0x80, 0xff, 0xe2, 0x92, + 0x96, 0xa4, 0xff, 0xe1, 0x5c, 0x0, + + /* U+F108 "" */ + 0x3, 0xff, 0x9a, 0xbf, 0xff, 0xe5, 0x63, 0x40, + 0xff, 0xe5, 0x18, 0x4, 0x97, 0xff, 0x1c, 0x3, + 0x0, 0x6d, 0xff, 0xe3, 0x81, 0xff, 0xff, 0x3, + 0xff, 0xfe, 0x7, 0xff, 0xfc, 0xf, 0xff, 0x59, + 0xff, 0xff, 0x8e, 0x1, 0x90, 0x3f, 0xf9, 0x67, + 0x34, 0xbf, 0x1, 0x8a, 0x5f, 0xa4, 0x9, 0x6f, + 0xe0, 0x33, 0xb7, 0xf3, 0x3, 0xfc, 0x80, 0xc8, + 0x81, 0xff, 0xc2, 0x5f, 0xd4, 0xe, 0xdf, 0xc0, + 0x7f, 0xf3, 0x8, 0x1e, + + /* U+F109 "" */ + 0x3, 0xff, 0xa6, 0xbf, 0xff, 0xe4, 0x20, 0x3d, + 0x40, 0xff, 0xe4, 0x50, 0x3f, 0x92, 0xff, 0xe2, + 0x1, 0xff, 0x2b, 0x7f, 0xf8, 0x88, 0xf, 0xff, + 0xf8, 0x1f, 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x7f, + 0xf6, 0x55, 0xbf, 0xfc, 0x44, 0x7, 0xfc, 0x97, + 0xff, 0x10, 0xf, 0xfe, 0xcf, 0xff, 0xfc, 0xa0, + 0x22, 0xdf, 0xf8, 0xe, 0x2d, 0xff, 0x8f, 0x93, + 0xfe, 0x3, 0x49, 0xff, 0xc0, 0x60, 0x7f, 0x9f, + 0xf9, 0x1, 0xff, 0x70, 0x3f, 0xf9, 0xdd, 0x54, + 0x4f, 0xff, 0x29, 0x54, + + /* U+F128 "" */ + 0x3, 0xe2, 0x40, 0x7f, 0x8d, 0xfd, 0xb3, 0xd2, + 0x7, 0xa6, 0x40, 0x72, 0xd0, 0xd, 0x58, 0x1f, + 0xce, 0x80, 0x88, 0xf, 0xf9, 0x30, 0x80, 0xca, + 0xe8, 0x40, 0xd0, 0x72, 0x2, 0x54, 0x5e, 0x3, + 0x89, 0x67, 0x18, 0x1c, 0x40, 0xfa, 0x30, 0x39, + 0x10, 0x31, 0x3, 0xf5, 0xa0, 0x31, 0x3, 0xe7, + 0xd0, 0x1d, 0xc0, 0xf3, 0x80, 0x7a, 0x90, 0x3d, + 0x0, 0xe7, 0xd0, 0x1e, 0x40, 0x75, 0x80, 0x7f, + 0xf0, 0x4a, 0x3, 0xf9, 0x46, 0xee, 0x7, 0xfc, + 0xe4, 0x88, 0x1f, 0xf4, 0xfd, 0x88, 0x1f, 0xe4, + 0xc0, 0x1e, 0x7, 0xfb, 0x81, 0x89, 0x1, 0xfc, + 0x40, 0xe2, 0x7, 0xf5, 0x3, 0x20, 0x3f, 0xc7, + 0x22, 0xe8, 0x1e, + + /* U+F129 "ï„©" */ + 0x2, 0x24, 0x7, 0xae, 0xd1, 0x2, 0x88, 0x1, + 0xe0, 0x4c, 0xc, 0x48, 0x1, 0x3, 0x88, 0xa, + 0x6, 0x40, 0x4e, 0x12, 0x74, 0xc, 0xf6, 0x40, + 0x3f, 0xf8, 0x1b, 0xfe, 0x40, 0x8, 0x1d, 0x80, + 0xff, 0x99, 0x3, 0xe9, 0x0, 0x7f, 0xfa, 0x35, + 0x3, 0x3e, 0x48, 0xf, 0x98, 0x1f, 0x9b, 0x13, + 0xe4, 0x40, + + /* U+F12E "ï„®" */ + 0x3, 0xf1, 0x20, 0x3f, 0xf9, 0x27, 0x6c, 0x7, + 0xff, 0x22, 0x10, 0x6, 0x1, 0xff, 0xe0, 0xc0, + 0x6a, 0x7, 0xff, 0x1d, 0x81, 0x32, 0x7, 0xff, + 0x21, 0x80, 0xa0, 0x7f, 0xf2, 0x48, 0x6, 0x7, + 0x3a, 0xc0, 0xf7, 0xd6, 0x45, 0xe8, 0x5, 0xbb, + 0x78, 0x90, 0xf, 0x8a, 0x6c, 0x80, 0xe4, 0xa2, + 0x4, 0x40, 0xff, 0xe5, 0xa0, 0x3f, 0xf9, 0x84, + 0xf, 0xff, 0x29, 0x0, 0xae, 0x80, 0x7f, 0xf1, + 0x95, 0xd5, 0x16, 0xc0, 0x78, 0xdf, 0x90, 0x1f, + 0x22, 0x6, 0xc0, 0x7b, 0xa0, 0x69, 0x3, 0xff, + 0x8e, 0x40, 0xcc, 0xe, 0x5e, 0x90, 0x2e, 0x7, + 0x88, 0x19, 0x1, 0xd0, 0x2d, 0x5d, 0x40, 0x7b, + 0x81, 0x40, 0x3f, 0xca, 0x20, 0x3e, 0x30, 0x3, + 0x3, 0xcc, 0xf, 0xfe, 0x61, 0x3, 0xeb, 0x1a, + 0x54, 0x80, 0x19, 0xa7, 0x22, 0xb0, 0x3e, + + /* U+F130 "ï„°" */ + 0x3, 0xe2, 0x40, 0x7f, 0xf0, 0x2f, 0xda, 0x20, + 0x7f, 0x54, 0x4, 0x70, 0x1f, 0x8a, 0x3, 0xd0, + 0xf, 0x90, 0x1f, 0x10, 0x3f, 0xf8, 0x6c, 0xf, + 0xff, 0x46, 0xe0, 0x7f, 0xdb, 0x82, 0x7, 0xff, + 0x0, 0x82, 0x7, 0xff, 0xc, 0x80, 0x20, 0x7e, + 0x60, 0x64, 0x13, 0x3, 0xee, 0x40, 0xb0, 0xa2, + 0x1, 0xc9, 0x20, 0x41, 0x83, 0x5d, 0x44, 0xa5, + 0x68, 0x40, 0x14, 0x2a, 0xee, 0xc7, 0x60, 0x64, + 0x2, 0xa1, 0x6f, 0xb3, 0xa0, 0xe0, 0x19, 0x64, + 0x0, 0x90, 0x36, 0x1, 0xe3, 0x7b, 0x7, 0x62, + 0x3, 0xfd, 0xc3, 0x20, 0x7f, 0x3f, 0xd0, 0x2f, + 0xd4, 0xf, 0x88, 0x1f, 0x10, 0x30, + + /* U+F144 "ï…„" */ + 0x3, 0xe5, 0x36, 0xd1, 0x1, 0xff, 0xc0, 0x5a, + 0xb2, 0x73, 0xbd, 0x81, 0xfd, 0x29, 0x3, 0xfa, + 0x50, 0x3e, 0xac, 0xf, 0xfe, 0x2, 0xc0, 0x74, + 0x40, 0x7f, 0xf0, 0x8d, 0x2, 0x2c, 0xd, 0x20, + 0xf, 0xf2, 0x40, 0x10, 0xe, 0x6d, 0xd8, 0x1f, + 0xd0, 0x2, 0x3, 0xf4, 0xc4, 0xf, 0x89, 0x20, + 0x3f, 0xc7, 0x40, 0x3e, 0xa4, 0xf, 0xfe, 0x3, + 0xec, 0xe, 0x3c, 0xf, 0xfe, 0x14, 0x60, 0x7f, + 0xf2, 0x48, 0x1d, 0xc0, 0xff, 0xe0, 0xac, 0x80, + 0xc5, 0x1, 0xff, 0x1b, 0x44, 0xe, 0xe4, 0xf, + 0xf4, 0xc8, 0xf, 0x98, 0x80, 0x7c, 0xfb, 0x3, + 0xf2, 0x0, 0xc0, 0xef, 0xd0, 0xf, 0xf5, 0x2, + 0xc0, 0x7f, 0xf1, 0x28, 0x18, 0xd0, 0x3f, 0xf8, + 0x51, 0x1, 0xcb, 0x10, 0x3f, 0xea, 0xc0, 0xf8, + 0xe8, 0x40, 0xf1, 0x9d, 0x1, 0xfe, 0x7b, 0xdb, + 0xb6, 0x30, 0x3c, + + /* U+F146 "ï…†" */ + 0x3b, 0x3f, 0xff, 0xe1, 0x64, 0x39, 0x20, 0x3f, + 0xf8, 0x46, 0x82, 0x7, 0xff, 0x18, 0x81, 0xff, + 0xc7, 0x60, 0x7f, 0xff, 0xc0, 0xfc, 0xff, 0xff, + 0xa8, 0x1f, 0x70, 0x3f, 0xe6, 0x7, 0xff, 0x3e, + 0x6d, 0xff, 0x70, 0x3f, 0x13, 0xff, 0xc0, 0x3, + 0xff, 0xfe, 0x7, 0xff, 0x41, 0xc0, 0x3f, 0xf8, + 0xac, 0xbf, 0xb7, 0xff, 0xf, 0xc0, + + /* U+F14A "ï…Š" */ + 0x3b, 0xff, 0xfe, 0x23, 0x1c, 0x81, 0xff, 0xc4, + 0x80, 0x81, 0xff, 0xc6, 0x20, 0x7f, 0xf1, 0xd8, + 0x1f, 0xfd, 0x6d, 0x0, 0xff, 0xe2, 0xe2, 0xd8, + 0xf, 0xfe, 0x1e, 0x20, 0xb0, 0x3e, 0x60, 0x7b, + 0x10, 0x70, 0x1f, 0x69, 0x40, 0xd8, 0x83, 0x80, + 0xf8, 0x90, 0x54, 0x6, 0x20, 0xe0, 0x3f, 0x1c, + 0x1, 0x5c, 0x41, 0xc0, 0x7f, 0x8e, 0x0, 0x88, + 0x38, 0xf, 0xfe, 0x1, 0xc0, 0x47, 0x1, 0xff, + 0xc2, 0x38, 0x1c, 0x7, 0xff, 0x10, 0xfc, 0x7, + 0xff, 0x99, 0xb0, 0x1f, 0xfc, 0x54, 0x66, 0xb7, + 0xff, 0x87, 0xa8, + + /* U+F185 "" */ + 0x3, 0xfc, 0x48, 0xf, 0xfe, 0x46, 0xc0, 0x3f, + 0xf8, 0xec, 0x3, 0x3, 0xff, 0x80, 0x48, 0xd, + 0x0, 0x40, 0x31, 0x20, 0x3d, 0xb4, 0xcb, 0x3, + 0x32, 0xf6, 0x80, 0xf2, 0x6, 0x68, 0x6, 0x9a, + 0x10, 0x80, 0xf7, 0x3, 0x1b, 0xb2, 0x90, 0x37, + 0x3, 0xc8, 0xa, 0x64, 0xd9, 0x68, 0x4, 0x80, + 0xf9, 0x6, 0xd3, 0xda, 0xf1, 0xb0, 0x40, 0x7c, + 0xd0, 0x8d, 0x80, 0xcd, 0xa0, 0x4c, 0xc, 0xfc, + 0x8, 0x40, 0x3d, 0x2, 0x13, 0xb1, 0xa0, 0x11, + 0x3, 0xfc, 0x40, 0xa6, 0xa0, 0x7f, 0xf2, 0x2b, + 0xf0, 0x2, 0x8, 0xf, 0x20, 0x80, 0x4e, 0xc0, + 0x3e, 0x89, 0x40, 0x3d, 0x9, 0x2e, 0xc0, 0xf3, + 0x1c, 0xf6, 0x49, 0xf3, 0xc3, 0x3, 0xe2, 0x40, + 0xe5, 0x36, 0x45, 0x88, 0x24, 0x7, 0xa8, 0x11, + 0xba, 0xd6, 0xa4, 0xa, 0x81, 0xe4, 0x4, 0x90, + 0xa4, 0x29, 0x0, 0x90, 0x1e, 0x6a, 0xfb, 0x0, + 0xd2, 0xfa, 0x98, 0x1e, 0xb4, 0x80, 0x14, 0x1, + 0x10, 0xa, 0xd0, 0x1f, 0xfc, 0x8, 0x2, 0x1, + 0xff, 0xc6, 0x2d, 0x88, 0x1f, 0xc0, + + /* U+F186 "" */ + 0x3, 0xff, 0x9c, 0x66, 0xff, 0x30, 0x3f, 0xe9, + 0x99, 0x2, 0x4c, 0xf, 0xf6, 0x60, 0x74, 0xa0, + 0x7f, 0xb9, 0x3, 0x93, 0x3, 0xfd, 0x80, 0xfa, + 0x81, 0xfe, 0x64, 0xf, 0x30, 0x3f, 0xe8, 0x7, + 0xd4, 0xf, 0xf2, 0x3, 0xf1, 0x3, 0xfd, 0x80, + 0xff, 0xe3, 0x90, 0x3f, 0xf8, 0xec, 0xf, 0xc4, + 0xf, 0xfe, 0x3d, 0x3, 0xfc, 0xc0, 0xfc, 0xc0, + 0xff, 0x10, 0x3f, 0xa0, 0x1f, 0xd4, 0xf, 0xe6, + 0xc0, 0x7e, 0x24, 0x7, 0xf4, 0x80, 0x3f, 0x40, + 0x3f, 0xcf, 0xb2, 0x7, 0x26, 0x7, 0xfd, 0x37, + 0xf5, 0x1, 0x10, 0x1f, 0xfc, 0x38, 0x5, 0x58, + 0x1f, 0xfc, 0x3, 0x88, 0x1a, 0x52, 0x7, 0xf4, + 0xc4, 0xf, 0x2d, 0x8d, 0x13, 0x3b, 0xd8, 0x10, + + /* U+F1B9 "" */ + 0x3, 0xca, 0x5b, 0xe8, 0x80, 0xff, 0xad, 0x34, + 0xbc, 0xee, 0x3, 0xfa, 0x20, 0x3f, 0xc6, 0x81, + 0xf9, 0x80, 0xbf, 0xfb, 0x10, 0x88, 0x1e, 0x80, + 0x22, 0x3, 0xc7, 0x80, 0x80, 0x57, 0xf3, 0x0, + 0xc0, 0xfc, 0x48, 0x2f, 0xd8, 0x81, 0xd2, 0x7f, + 0x80, 0xf4, 0x60, 0x66, 0xff, 0xc4, 0x9, 0x60, + 0xc1, 0x40, 0x7f, 0xf0, 0x9, 0x4, 0x8, 0xd, + 0x68, 0xf, 0xf3, 0xd8, 0x1, 0x1, 0xc9, 0x0, + 0xfe, 0x80, 0x71, 0x1, 0xa4, 0x20, 0x3f, 0xac, + 0xa0, 0x18, 0x11, 0x6c, 0x7, 0xf9, 0x34, 0x0, + 0x88, 0x7, 0xff, 0x19, 0x81, 0xe3, 0x6f, 0xf9, + 0x81, 0xfe, 0x69, 0x7f, 0xb0, 0x1e, 0x40, 0x5c, + 0xf, 0xf2, 0x20, 0x28, + + /* U+F1DE "" */ + 0x3, 0xff, 0xa6, 0xbf, 0x20, 0x3f, 0xa5, 0xbf, + 0xa0, 0x9, 0x6f, 0xe8, 0xd2, 0xfc, 0x40, 0x14, + 0xbf, 0x30, 0x3f, 0xf9, 0x5f, 0xff, 0x40, 0x13, + 0xff, 0xe0, 0x3f, 0x9c, 0x86, 0x7, 0xff, 0x1d, + 0xb0, 0x1f, 0xfc, 0xdd, 0xf0, 0x1a, 0x5b, 0xff, + 0xc2, 0x20, 0xdb, 0x46, 0x97, 0xff, 0x8, 0x9, + 0x29, 0x81, 0xff, 0xca, 0xff, 0xff, 0x86, 0x41, + 0xff, 0x1, 0xff, 0xc3, 0x91, 0xc0, 0xfe, 0x20, + 0x7f, 0x26, 0x40, 0xfd, 0xb4, 0x7, 0xff, 0xe, + 0x6d, 0x10, 0x76, 0xff, 0xe1, 0x46, 0x4c, 0x4, + 0x4f, 0xff, 0x9, 0x90, 0x3f, 0xf9, 0x7, 0x7f, + 0x10, 0x7f, 0xff, 0xe1, 0x60, 0x37, 0x9c, 0xf, + 0xfe, 0x18, + + /* U+F1E6 "" */ + 0x2, 0x48, 0x7, 0x8b, 0x3, 0xc6, 0xd3, 0x3, + 0xb4, 0xa0, 0x73, 0x1, 0xc0, 0xf9, 0x81, 0xff, + 0xec, 0x69, 0x30, 0x1c, 0x94, 0x4, 0xe5, 0x25, + 0xa4, 0xe2, 0x42, 0x41, 0x8d, 0xff, 0xf0, 0xd0, + 0x1f, 0xfc, 0x5e, 0x80, 0xff, 0xe0, 0xd6, 0x8, + 0x1f, 0xfc, 0x14, 0x7, 0xff, 0x1f, 0x1, 0xff, + 0xc0, 0x20, 0x48, 0xf, 0xfe, 0x5, 0x3, 0x50, + 0x3f, 0xc5, 0x81, 0x94, 0x3, 0xf1, 0xc0, 0x79, + 0xd2, 0x7, 0x3c, 0x7, 0xe5, 0xa8, 0x5, 0xe0, + 0x1f, 0xf3, 0x3, 0xff, 0xcc, 0x5b, 0x70, 0x3e, + + /* U+F1EB "" */ + 0x3, 0xff, 0xb0, 0x5c, 0xd9, 0xf6, 0x58, 0x80, + 0xff, 0xe1, 0xcd, 0x91, 0x92, 0x4, 0x93, 0xbe, + 0xa0, 0x3f, 0xd7, 0xb2, 0x7, 0xff, 0x1, 0x5c, + 0x80, 0xf3, 0xe8, 0xe, 0x29, 0xb9, 0x10, 0x38, + 0xda, 0x3, 0x58, 0x6, 0x33, 0xeb, 0x25, 0x77, + 0xcc, 0xc, 0xba, 0x19, 0x1, 0x2d, 0x8c, 0xf, + 0xe3, 0x3c, 0x3, 0x54, 0xc0, 0xa5, 0x20, 0x7f, + 0xf0, 0x9f, 0x40, 0x4e, 0xa3, 0x98, 0x19, 0x4d, + 0xfd, 0xab, 0x20, 0x6a, 0xc6, 0x22, 0xe2, 0x4, + 0xfd, 0x64, 0x8, 0xa9, 0xa9, 0x2, 0x9c, 0x81, + 0xe3, 0xa0, 0x1f, 0xf2, 0xcc, 0xf, 0xfb, 0x10, + 0x32, 0x71, 0xb1, 0x3, 0x48, 0x3, 0xfc, 0x80, + 0xa7, 0xb1, 0xc8, 0xd8, 0x80, 0xb0, 0x1f, 0xea, + 0x93, 0xb0, 0x3e, 0x36, 0x8d, 0x40, 0x7f, 0xd6, + 0x80, 0xff, 0x96, 0x40, 0x7f, 0xf1, 0xb7, 0xe6, + 0x7, 0xff, 0x2e, 0x90, 0x10, 0x81, 0xff, 0xca, + 0x40, 0x64, 0x7, 0xff, 0x28, 0x81, 0x88, 0x1f, + 0xfc, 0xae, 0x4, 0x90, 0xf, 0xfe, 0x51, 0xf7, + 0x50, 0x3f, 0xf8, 0x0, + + /* U+F1F8 "" */ + 0x3, 0xe2, 0x78, 0xf, 0xfe, 0x16, 0xde, 0xe0, + 0x7d, 0x76, 0xe2, 0x7, 0xb6, 0xf0, 0x44, 0xf0, + 0x1f, 0x13, 0xe4, 0x40, 0xff, 0xe3, 0x3d, 0xff, + 0xff, 0x18, 0x85, 0x27, 0xff, 0xd, 0x81, 0x66, + 0xff, 0xf8, 0x74, 0xf, 0xfe, 0x3b, 0x2, 0xe0, + 0x7f, 0xf5, 0xc8, 0x11, 0x3, 0xff, 0xaf, 0xc0, + 0x98, 0x1f, 0xfd, 0x72, 0x4, 0x40, 0xff, 0xeb, + 0xb0, 0x3f, 0xfc, 0x4, 0xf, 0xfe, 0x11, 0x3, + 0xff, 0x98, 0x80, 0xff, 0xe0, 0x90, 0x3a, 0x20, + 0x3f, 0xe3, 0xc0, 0x80, + + /* U+F1FE "" */ + 0x71, 0x1, 0xff, 0xc7, 0x8f, 0x81, 0xff, 0xc9, + 0x60, 0x65, 0xc0, 0xff, 0xe4, 0x51, 0x40, 0xff, + 0xe3, 0x40, 0x9, 0x81, 0xc8, 0xf, 0xf1, 0x60, + 0x50, 0x80, 0x5e, 0x81, 0xfe, 0x80, 0x76, 0x36, + 0x80, 0x40, 0x3f, 0x24, 0x3, 0xd9, 0x1, 0x30, + 0x3f, 0x40, 0x3f, 0xf8, 0x30, 0xf, 0x88, 0x1f, + 0xfc, 0x16, 0x7, 0xff, 0x29, 0x81, 0xff, 0xc9, + 0x80, 0x78, 0x81, 0xff, 0xc3, 0x40, 0x76, 0xff, + 0xff, 0x86, 0x80, 0x8e, 0xdf, 0xfc, 0x6a, 0x4, + 0x4f, 0xff, 0x19, 0x1, 0xff, 0xca, + + /* U+F200 "" */ + 0x3, 0xff, 0x82, 0x40, 0xff, 0xe5, 0x9d, 0xfa, + 0x10, 0x3f, 0xf8, 0x46, 0x56, 0x18, 0x13, 0xd0, + 0xf, 0xf8, 0xec, 0x6b, 0x1, 0xf3, 0xa0, 0x7f, + 0x2c, 0x40, 0xff, 0xe0, 0x2a, 0x7, 0xca, 0x81, + 0xff, 0xc3, 0x4c, 0xe, 0x34, 0xf, 0xfe, 0x2c, + 0x3, 0xb8, 0x1f, 0xfc, 0x76, 0x4, 0x48, 0xf, + 0xfe, 0x3e, 0x2, 0xa0, 0x7f, 0xf2, 0x10, 0x12, + 0x3, 0xff, 0x98, 0x40, 0xff, 0x2f, 0xff, 0xc0, + 0x7f, 0xf6, 0x51, 0x1, 0xbf, 0xfe, 0x40, 0x81, + 0xfd, 0x88, 0xe0, 0x7f, 0xd4, 0xf, 0xf6, 0x25, + 0x80, 0xfc, 0x82, 0x3, 0xfe, 0xc4, 0xb0, 0x1e, + 0x40, 0xb, 0x3, 0xfe, 0xc4, 0xb0, 0x1d, 0x0, + 0xa1, 0x3, 0xfe, 0xc4, 0xb1, 0x1, 0x8, 0x1b, + 0x81, 0xff, 0xc0, 0xc4, 0xb1, 0x6c, 0x7, 0x1e, + 0x40, 0xff, 0x90, 0xd, 0x0, 0xfd, 0xa0, 0x1f, + 0x8d, 0x60, 0x7f, 0xf0, 0x5f, 0xd1, 0xa7, 0x36, + 0x20, 0x3f, 0x0, + + /* U+F201 "ïˆ" */ + 0x50, 0x81, 0xff, 0xc7, 0xae, 0x1, 0xff, 0xc0, + 0x27, 0x1, 0xcc, 0xf, 0xfb, 0xed, 0xbc, 0x3, + 0xff, 0x86, 0x40, 0xe2, 0x7, 0xe2, 0x80, 0xee, + 0x7, 0xff, 0x5, 0x6b, 0x40, 0x62, 0x40, 0x7f, + 0xc6, 0x80, 0x54, 0xb, 0x10, 0x3f, 0xc7, 0x1, + 0x95, 0x18, 0x83, 0x80, 0x10, 0x3b, 0x80, 0x54, + 0x2, 0xe4, 0x1c, 0x7b, 0xa0, 0x77, 0xa, 0xac, + 0x6, 0x38, 0xa, 0x10, 0x38, 0xfa, 0x0, 0xd0, + 0x7, 0x1, 0xff, 0xc5, 0x5a, 0x60, 0x3f, 0xf8, + 0xe5, 0x81, 0xff, 0xd5, 0x3b, 0x7f, 0xf1, 0xa0, + 0x11, 0x3f, 0xfc, 0x66, 0xc0, 0x7f, 0xf2, 0x8, + + /* U+F204 "" */ + 0x3, 0x8c, 0xb7, 0xfd, 0x19, 0x3, 0xf1, 0xd8, + 0xd2, 0xff, 0x39, 0xa8, 0x1e, 0x58, 0x81, 0xff, + 0xc3, 0x5c, 0x81, 0x1a, 0x0, 0xdf, 0xd9, 0x81, + 0x1f, 0xda, 0x1, 0x60, 0x2c, 0x1, 0xe4, 0x0, + 0xcc, 0x0, 0xb0, 0x5f, 0x20, 0x28, 0x60, 0x14, + 0x3, 0xc7, 0x0, 0x80, 0x6c, 0x1, 0x1c, 0x2, + 0x1, 0xf8, 0xa0, 0x4, 0xd, 0x0, 0x24, 0x0, + 0x40, 0xfe, 0xe0, 0x10, 0x19, 0x0, 0xc0, 0x8, + 0x1f, 0xfc, 0x62, 0x7, 0xff, 0x40, 0x82, 0x7, + 0xfb, 0x0, 0x20, 0x64, 0x0, 0xa0, 0x10, 0xf, + 0xe6, 0x1, 0x1, 0xa0, 0xd, 0x0, 0x34, 0x7, + 0xd4, 0x3, 0x3, 0x42, 0xa, 0x10, 0x5, 0x80, + 0x63, 0x90, 0x8, 0x0, 0xd6, 0x3, 0x80, 0x6c, + 0x1, 0xfd, 0x9f, 0x10, 0x7, 0x6c, 0x80, 0x52, + 0x5, 0x20, 0x8, 0x90, 0x1c, 0x4e, 0x2, 0xa8, + 0xe, 0x7d, 0x90, 0x3f, 0xe5, 0x3a, 0x2, + + /* U+F205 "" */ + 0x3, 0x8c, 0xb7, 0xfd, 0x19, 0x3, 0xf1, 0xd8, + 0xd2, 0xff, 0x39, 0xa8, 0x1e, 0x58, 0x81, 0xff, + 0xc3, 0x5c, 0x81, 0x1a, 0x7, 0xfd, 0x37, 0xd0, + 0xb, 0x1, 0x60, 0x3f, 0xc7, 0xb2, 0xb, 0xe4, + 0x5, 0xc, 0xf, 0xfb, 0x1, 0xf6, 0x0, 0x8e, + 0x3, 0xfd, 0x0, 0xfe, 0x80, 0x12, 0x1, 0xfe, + 0x40, 0x7f, 0x20, 0x18, 0xf, 0xf8, 0x81, 0xfc, + 0x40, 0xff, 0xe8, 0x10, 0x3f, 0xc8, 0xf, 0xe4, + 0x0, 0xa0, 0x3f, 0xd0, 0xf, 0xe8, 0x3, 0x40, + 0x3f, 0xc6, 0x1, 0xf4, 0x20, 0xa1, 0x0, 0xff, + 0x3a, 0x40, 0x8d, 0x60, 0x38, 0x6, 0xc0, 0x7f, + 0x96, 0xdc, 0x80, 0x52, 0x5, 0x20, 0xf, 0xf8, + 0x98, 0xa, 0xa0, 0x39, 0xf6, 0x40, 0xff, 0x94, + 0xe8, 0x8, + + /* U+F236 "" */ + 0x50, 0x81, 0xff, 0xcd, 0xae, 0x1, 0xff, 0xcf, + 0x60, 0x1f, 0xf3, 0x3, 0xff, 0x94, 0xa0, 0x14, + 0x60, 0xdd, 0xbf, 0x5a, 0x60, 0x7d, 0xc0, 0xe8, + 0x12, 0x13, 0xf9, 0x24, 0xc4, 0xe, 0x60, 0x7f, + 0xf2, 0xf, 0x3, 0x90, 0x1c, 0x40, 0xff, 0xe1, + 0x96, 0x6, 0x80, 0x77, 0x3, 0xff, 0x89, 0xc0, + 0xee, 0xd3, 0xc4, 0xf, 0xfe, 0x21, 0x3, 0xd2, + 0xc2, 0x7, 0xff, 0x20, 0xff, 0xfd, 0x0, 0xff, + 0xff, 0x81, 0xff, 0xce, 0x36, 0xff, 0xf2, 0x80, + 0xf2, 0x5f, 0xfc, 0xa0, 0x22, 0x10, 0x1f, 0xfc, + 0xc2, + + /* U+F240 "" */ + 0x3, 0xff, 0xa0, 0xbf, 0xff, 0xe6, 0x30, 0x14, + 0xf, 0xfe, 0x64, 0x3, 0x92, 0xff, 0xe4, 0x10, + 0x8, 0x8, 0xdb, 0xff, 0xc9, 0x1, 0x60, 0x1b, + 0xff, 0xfe, 0x30, 0x1c, 0x40, 0xff, 0xe5, 0xa8, + 0x7, 0xff, 0x38, 0xb0, 0x3f, 0xfd, 0x4b, 0x1, + 0xf4, 0x6f, 0xff, 0x8a, 0x9, 0x1, 0xf3, 0x93, + 0xff, 0x8a, 0x7, 0x60, 0x7, 0xff, 0xfe, 0x44, + 0x1, 0xd9, 0x3, 0xff, 0x98, 0x40, 0x66, 0x97, + 0xff, 0x29, 0xf0, 0x0, + + /* U+F241 "ï‰" */ + 0x3, 0xff, 0xa0, 0xbf, 0xff, 0xe6, 0x30, 0x14, + 0xf, 0xfe, 0x64, 0x3, 0x92, 0xff, 0xe4, 0x10, + 0x8, 0x8, 0xdb, 0xff, 0xc9, 0x1, 0x60, 0x1b, + 0xff, 0xfe, 0xe, 0x3, 0xf8, 0x81, 0xff, 0xcb, + 0x50, 0xf, 0xfe, 0x71, 0x60, 0x7f, 0xfa, 0x96, + 0x3, 0xe8, 0xdf, 0xff, 0x2, 0x81, 0xc4, 0x80, + 0xf9, 0xc9, 0xff, 0xc0, 0x60, 0x7f, 0x60, 0x7, + 0xff, 0xfe, 0x44, 0x1, 0xd9, 0x3, 0xff, 0x98, + 0x40, 0x66, 0x97, 0xff, 0x29, 0xf0, 0x0, + + /* U+F242 "" */ + 0x3, 0xff, 0xa0, 0xbf, 0xff, 0xe6, 0x30, 0x14, + 0xf, 0xfe, 0x64, 0x3, 0x92, 0xff, 0xe4, 0x10, + 0x8, 0x8, 0xdb, 0xff, 0xc9, 0x1, 0x60, 0x1b, + 0xff, 0xea, 0x7, 0xff, 0x4, 0x81, 0xff, 0xcb, + 0x50, 0xf, 0xfe, 0x71, 0x60, 0x7f, 0xfa, 0x96, + 0x3, 0xe8, 0xdf, 0xee, 0x7, 0xf1, 0x20, 0x3e, + 0x72, 0x7e, 0x40, 0x7f, 0xf0, 0x70, 0x3, 0xff, + 0xff, 0x22, 0x0, 0xec, 0x81, 0xff, 0xcc, 0x20, + 0x33, 0x4b, 0xff, 0x94, 0xf8, 0x0, + + /* U+F243 "" */ + 0x3, 0xff, 0xa0, 0xbf, 0xff, 0xe6, 0x30, 0x14, + 0xf, 0xfe, 0x64, 0x3, 0x92, 0xff, 0xe4, 0x10, + 0x8, 0x8, 0xdb, 0xff, 0xc9, 0x1, 0x60, 0x1b, + 0xfe, 0x80, 0x7f, 0xf1, 0x48, 0x1f, 0xfc, 0xb5, + 0x0, 0xff, 0xe7, 0x16, 0x7, 0xff, 0xa9, 0x60, + 0x3e, 0x8d, 0xec, 0x7, 0xff, 0x4, 0x90, 0x1f, + 0x39, 0x32, 0x3, 0xff, 0x8b, 0x80, 0x1f, 0xff, + 0xf9, 0x10, 0x7, 0x64, 0xf, 0xfe, 0x61, 0x1, + 0x9a, 0x5f, 0xfc, 0xa7, 0xc0, 0x0, + + /* U+F244 "" */ + 0x3, 0xff, 0xa0, 0xbf, 0xff, 0xe6, 0x30, 0x14, + 0xf, 0xfe, 0x64, 0x3, 0x92, 0xff, 0xe4, 0x10, + 0x8, 0x8, 0xdb, 0xff, 0xc9, 0x1, 0x60, 0x1f, + 0xfc, 0xf2, 0x7, 0xff, 0x2d, 0x40, 0x3f, 0xf9, + 0xc5, 0x81, 0xff, 0xea, 0x58, 0xf, 0xfe, 0x71, + 0x20, 0x3f, 0xfa, 0x58, 0x1, 0xff, 0xff, 0x91, + 0x0, 0x76, 0x40, 0xff, 0xe6, 0x10, 0x19, 0xa5, + 0xff, 0xca, 0x7c, 0x0, + + /* U+F26C "" */ + 0x3, 0xff, 0xa0, 0xbf, 0xff, 0xe6, 0xe1, 0x40, + 0xff, 0xe6, 0x98, 0x4, 0x97, 0xff, 0x28, 0x1, + 0x0, 0x6d, 0xff, 0xe5, 0x1, 0xff, 0xff, 0x3, + 0xff, 0xfe, 0x7, 0xff, 0xfc, 0xf, 0xff, 0xf8, + 0x1f, 0xfc, 0x13, 0xff, 0xff, 0x28, 0x8, 0x81, + 0xff, 0xce, 0xd8, 0xd2, 0xff, 0x10, 0x5, 0x2f, + 0xf4, 0x62, 0x5b, 0xfe, 0x40, 0x3d, 0xbf, 0xe6, + 0x7, 0x2f, 0xfe, 0x60, 0x37, 0xff, 0x10, 0x3f, + 0x70, 0x3f, 0xf8, 0xc8, 0xf, 0xd1, 0x13, 0xff, + 0xc4, 0x4c, 0xc, + + /* U+F28B "" */ + 0x3, 0xe5, 0x77, 0xed, 0x50, 0x1f, 0xfc, 0x7, + 0xea, 0x20, 0xa, 0xbd, 0x81, 0xfd, 0x60, 0x1f, + 0xe9, 0x40, 0xfa, 0xa0, 0x3f, 0xf8, 0xa, 0x81, + 0xd1, 0x1, 0xff, 0xc2, 0x50, 0x8, 0xb0, 0x3f, + 0xf8, 0x8c, 0x80, 0x80, 0x72, 0x6c, 0x1, 0x34, + 0x7, 0x40, 0x8, 0xe, 0xb2, 0x42, 0xca, 0x7, + 0x20, 0x80, 0xff, 0xe4, 0x22, 0x7, 0xff, 0x20, + 0xf0, 0x3f, 0xf9, 0x1c, 0xf, 0xfe, 0x57, 0x3, + 0xff, 0x91, 0xd0, 0x1f, 0xfc, 0x84, 0x40, 0xf1, + 0x1, 0xc0, 0xff, 0x10, 0xc0, 0xed, 0xf9, 0x8f, + 0xe0, 0x39, 0x80, 0x80, 0x7f, 0xf1, 0xa0, 0x16, + 0x3, 0xff, 0x89, 0x80, 0xc6, 0x81, 0xff, 0xc2, + 0xa4, 0xe, 0x58, 0xf, 0xfe, 0x6, 0x40, 0x7c, + 0x7c, 0x3, 0xf4, 0xe4, 0xf, 0xf3, 0xfa, 0xc8, + 0xbb, 0xb0, 0x3c, + + /* U+F2C7 "" */ + 0x3, 0x88, 0x1f, 0xaf, 0xde, 0x81, 0xd9, 0x1, + 0x2c, 0x4, 0x88, 0xb2, 0x82, 0x80, 0x61, 0x25, + 0xd8, 0xc0, 0x8, 0x2, 0x1f, 0x4, 0xf, 0xff, + 0xf8, 0x1f, 0xfc, 0x22, 0x81, 0x2, 0x21, 0x18, + 0x1e, 0x0, 0x49, 0x8, 0x86, 0x60, 0x53, 0x84, + 0x7, 0xe6, 0x0, 0x81, 0xf3, 0x5, 0x9, 0x40, + 0x1b, 0x2, 0x80, 0xc8, 0xb5, 0x8, 0x83, 0x3, + 0x2c, 0x23, 0x0, 0x3e, 0x13, 0x4e, 0x40, + + /* U+F2C8 "" */ + 0x3, 0x88, 0x1f, 0xd7, 0xef, 0x88, 0x1d, 0x90, + 0x11, 0xc0, 0x64, 0x46, 0xfc, 0x44, 0x2, 0xc1, + 0x90, 0x10, 0x20, 0x22, 0x7, 0x30, 0x3f, 0x1a, + 0x80, 0xfe, 0x8a, 0x81, 0xfc, 0xc0, 0x30, 0x3f, + 0xfe, 0x24, 0x1, 0x43, 0x1, 0x30, 0xc, 0x40, + 0x89, 0x0, 0x90, 0x20, 0x43, 0xc0, 0x24, 0x40, + 0x10, 0x3f, 0x12, 0x0, 0x40, 0xf8, 0x90, 0x28, + 0x4a, 0x40, 0x4e, 0x8, 0x80, 0xcb, 0x72, 0x1c, + 0x6, 0x6, 0x5a, 0x22, 0x90, 0x7, 0xc4, 0x49, + 0xf4, 0x0, + + /* U+F2C9 "" */ + 0x3, 0x88, 0x1f, 0xd7, 0xef, 0x88, 0x1d, 0x90, + 0x11, 0xc0, 0x64, 0x46, 0xfc, 0x44, 0x2, 0xc1, + 0x90, 0x10, 0x20, 0x22, 0x7, 0x30, 0x3f, 0xfc, + 0xb, 0xc0, 0x3f, 0xa0, 0x6c, 0x7, 0xff, 0x64, + 0x80, 0x28, 0x60, 0x26, 0x1, 0x88, 0x11, 0x20, + 0x12, 0x4, 0x8, 0x78, 0x4, 0x88, 0x2, 0x7, + 0xe2, 0x40, 0x8, 0x1f, 0x12, 0x5, 0x9, 0x48, + 0x9, 0xc1, 0x10, 0x19, 0x6e, 0x43, 0x80, 0xc0, + 0xcb, 0x44, 0x52, 0x0, 0xf8, 0x89, 0x3e, 0x80, + 0x0, + + /* U+F2CA "ï‹Š" */ + 0x3, 0x88, 0x1f, 0xd7, 0xef, 0x88, 0x1d, 0x90, + 0x11, 0xc0, 0x64, 0x46, 0xfc, 0x44, 0x2, 0xc1, + 0x90, 0x10, 0x20, 0x22, 0x7, 0x30, 0x3f, 0xff, + 0xe0, 0x74, 0xf8, 0xf, 0xe4, 0xb, 0x4, 0x1, + 0x43, 0x1, 0x30, 0xc, 0x40, 0x89, 0x0, 0x90, + 0x20, 0x43, 0xc0, 0x24, 0x40, 0x10, 0x3f, 0x12, + 0x0, 0x40, 0xf8, 0x90, 0x28, 0x4a, 0x40, 0x4e, + 0x8, 0x80, 0xcb, 0x72, 0x1c, 0x6, 0x6, 0x5a, + 0x22, 0x90, 0x7, 0xc4, 0x49, 0xf4, 0x0, + + /* U+F2CB "ï‹‹" */ + 0x3, 0x88, 0x1f, 0xd7, 0xef, 0x88, 0x1d, 0x90, + 0x11, 0xc0, 0x64, 0x46, 0xfc, 0x44, 0x2, 0xc1, + 0x90, 0x10, 0x20, 0x22, 0x7, 0x30, 0x3f, 0xff, + 0xe0, 0x7f, 0xf2, 0x88, 0x2, 0x86, 0x28, 0x81, + 0x31, 0x2, 0x3a, 0xe9, 0x2, 0x4, 0x3c, 0x2, + 0x44, 0x1, 0x3, 0xf1, 0x20, 0x4, 0xf, 0x89, + 0x2, 0x84, 0xa4, 0x4, 0xe0, 0x88, 0xc, 0xb7, + 0x21, 0xc0, 0x60, 0x65, 0xa2, 0x29, 0x0, 0x7c, + 0x44, 0x9f, 0x40, 0x0, + + /* U+F2CD "ï‹" */ + 0x2, 0x9b, 0x18, 0x1f, 0xfc, 0x5c, 0xc9, 0x4b, + 0x10, 0x1f, 0xfc, 0x16, 0x45, 0x81, 0x3b, 0x90, + 0x1f, 0xf7, 0x11, 0x10, 0x31, 0xc0, 0x7f, 0xc4, + 0x8, 0x81, 0x94, 0x3, 0xff, 0x86, 0x40, 0x95, + 0x3, 0xff, 0x88, 0x88, 0x54, 0xf, 0xfe, 0x34, + 0x74, 0xf, 0xfe, 0x3a, 0x80, 0x7f, 0xf1, 0x79, + 0x3f, 0xfc, 0x51, 0x90, 0x7b, 0x7f, 0xf1, 0x88, + 0x1f, 0xfc, 0x83, 0x8, 0x1f, 0xfc, 0x63, 0x1b, + 0x1, 0xff, 0xc6, 0x4c, 0x10, 0x3f, 0xf9, 0x38, + 0xf, 0xfe, 0x36, 0x0, 0x90, 0xf, 0xfe, 0x22, + 0x40, 0x2e, 0x7, 0xff, 0x13, 0x81, 0x98, 0x7, + 0xff, 0xf9, 0x80, 0x60, 0x63, 0x24, 0x7, 0xfa, + 0x48, 0x80, + + /* U+F2DC "ï‹œ" */ + 0x3, 0xfc, 0x40, 0xff, 0xe3, 0xdd, 0xc0, 0xff, + 0xe2, 0x46, 0xc0, 0xd, 0x3, 0xff, 0x82, 0x5c, + 0x20, 0x32, 0x60, 0x7f, 0x9a, 0x30, 0xe, 0x4c, + 0xb0, 0x3c, 0x8c, 0xa1, 0xc0, 0x25, 0x45, 0x88, + 0x81, 0x4b, 0xc0, 0x10, 0xc8, 0xa, 0x1, 0x89, + 0xb0, 0x3, 0x4, 0x2, 0x3, 0xe2, 0x0, 0x82, + 0x43, 0x20, 0x28, 0xc0, 0xe5, 0xc0, 0x8d, 0x22, + 0xa0, 0x34, 0xc4, 0x6, 0xa4, 0x8, 0xc0, 0x32, + 0x90, 0x0, 0x81, 0x10, 0xe, 0x20, 0x34, 0xf5, + 0xb7, 0x60, 0x71, 0xd1, 0xdf, 0x80, 0x14, 0x4, + 0x90, 0xe, 0x28, 0x8, 0x90, 0x9, 0x7d, 0xb1, + 0x3, 0xd3, 0x5f, 0xb0, 0x7, 0x21, 0x20, 0x6, + 0x40, 0x40, 0x5, 0x0, 0x60, 0x44, 0x8, 0xe8, + 0x4, 0xfa, 0x3, 0xea, 0x6, 0x84, 0xf, 0x50, + 0x33, 0x22, 0x86, 0x1, 0x1, 0xf8, 0x86, 0x19, + 0xb, 0xd0, 0x40, 0x52, 0x3, 0x0, 0x43, 0x78, + 0x6, 0x3b, 0x5, 0x40, 0x47, 0x9, 0x90, 0x1f, + 0x10, 0x50, 0x18, 0x92, 0x4, 0xf, 0xf1, 0xb8, + 0x80, 0xd5, 0x1, 0xff, 0xc1, 0x45, 0x14, 0x10, + 0x1f, 0x0, + + /* U+F2E7 "" */ + 0x3, 0xff, 0x8c, 0x7c, 0x1f, 0xd, 0xc0, 0xe3, + 0x7e, 0x41, 0x10, 0x41, 0x4, 0x9, 0x64, 0xf, + 0x0, 0xc0, 0xe6, 0x0, 0xd0, 0x32, 0x3, 0x88, + 0x2, 0x2, 0x1, 0xc4, 0x1, 0x3, 0xb8, 0x48, + 0x7, 0xff, 0x8, 0x8c, 0x7, 0xf7, 0x0, 0x80, + 0xc8, 0xf, 0x10, 0x58, 0x8, 0x0, 0x82, 0x7, + 0xa8, 0x1f, 0xa8, 0x20, 0x79, 0xa0, 0x3d, 0x8, + 0xa0, 0x7d, 0x60, 0x1b, 0x30, 0xc, 0xf, 0xcc, + 0x8, 0x90, 0x1a, 0x81, 0xf1, 0x3, 0xf9, 0x50, + 0x3f, 0xc4, 0xf, 0x20, 0x3f, 0xf9, 0x8c, 0xf, + 0xfe, 0x81, 0x3, 0xc4, 0xc, 0x40, 0xff, 0xe5, + 0xb0, 0x3d, 0xc0, 0xff, 0x10, 0x3f, 0xe6, 0x7, + 0xff, 0x3, 0x1, 0x98, 0x1c, 0x40, 0x90, + + /* U+F2F2 "" */ + 0x3, 0xff, 0x9b, 0x3f, 0xe8, 0x7, 0xff, 0x0, + 0x81, 0xc4, 0xf, 0xfe, 0x6, 0x40, 0x4b, 0x1, + 0xff, 0xc0, 0x74, 0xa, 0xb0, 0x3f, 0xf8, 0xe, + 0x81, 0x56, 0x7, 0xf9, 0xf8, 0x80, 0x94, 0xec, + 0xfa, 0x6, 0x90, 0x7, 0xf4, 0xc1, 0x20, 0x8, + 0xc0, 0xc9, 0xa0, 0x3c, 0x90, 0x26, 0x7, 0x59, + 0x40, 0xf4, 0x1, 0x0, 0xff, 0xe1, 0xc0, 0x4, + 0xf, 0xfe, 0x1a, 0x8, 0xf, 0xfe, 0x2a, 0x20, + 0x7f, 0xf1, 0x48, 0x1f, 0xfc, 0x72, 0x7, 0xc4, + 0x10, 0x3e, 0x28, 0xf, 0xb7, 0xc0, 0x7c, 0x82, + 0x3, 0xff, 0x86, 0x80, 0x40, 0x3f, 0xf8, 0x70, + 0x1, 0x80, 0x7f, 0xf0, 0x61, 0x2, 0x70, 0xf, + 0xf9, 0xb0, 0x1c, 0xe9, 0x3, 0xe3, 0x60, 0x1f, + 0x2d, 0x5a, 0x29, 0xdc, 0x80, 0xc0, + + /* U+F2FE "" */ + 0x3, 0xfc, 0x59, 0x3, 0xff, 0x91, 0x34, 0x3, + 0xff, 0x8c, 0x40, 0x36, 0x3, 0xff, 0x93, 0x0, + 0xff, 0xe2, 0xb0, 0x3f, 0xf9, 0xa, 0x1, 0xff, + 0xc4, 0x32, 0xea, 0x7, 0x42, 0x7, 0xf2, 0xcd, + 0x10, 0x3c, 0xf2, 0x3, 0xf4, 0x3, 0xff, 0x81, + 0x0, 0xff, 0xe9, 0x40, 0x3f, 0xf8, 0x10, 0xf, + 0x1b, 0x40, 0x7f, 0xf0, 0x2d, 0x10, 0x23, 0x90, + 0x16, 0xec, 0x3, 0xf8, 0x9, 0x62, 0x2, 0x81, + 0xc4, 0xf, 0x10, 0x39, 0x1, 0xfb, 0xe6, 0x1, + 0xee, 0x7, 0x70, 0x14, 0xf, 0x10, 0x31, 0x3, + 0xd8, 0x8, 0x81, 0xff, 0xc4, 0x28, 0x1c, 0x40, + 0xdf, 0xfe, 0x3, 0x1e, 0x78, 0x1e, 0x80, 0x7a, + 0x1, 0xe8, 0x40, 0xf3, 0xc8, 0x2, 0xcc, 0xf, + 0x22, 0x7, 0xc6, 0xfe, 0xa4, 0xf, 0x8c, 0x3, + 0xff, 0x91, 0x16, 0x48, 0x4f, 0xff, 0x9, 0x25, + 0x40, + + /* U+F3C1 "ï" */ + 0x3, 0xff, 0x8a, 0x48, 0xf, 0xfe, 0x4c, 0xfb, + 0x3e, 0x60, 0x7f, 0xf1, 0xf, 0x60, 0x63, 0x28, + 0x1f, 0xfc, 0x3c, 0x7, 0xe5, 0x0, 0xff, 0xe0, + 0xc0, 0x23, 0x74, 0x2, 0x64, 0xf, 0xfe, 0x3, + 0x0, 0x72, 0x2f, 0x1, 0x50, 0x3f, 0xe2, 0x5, + 0x0, 0xc5, 0x0, 0x40, 0x7f, 0xcc, 0x9, 0x81, + 0xc4, 0x1, 0x3, 0xff, 0xce, 0x9b, 0xfe, 0xc0, + 0x49, 0xa0, 0x3e, 0x96, 0x4f, 0xe6, 0x5, 0x22, + 0xe0, 0x18, 0x2, 0x60, 0x7f, 0xf1, 0x49, 0x5, + 0xfa, 0x81, 0xff, 0xc7, 0x60, 0x7f, 0xff, 0xc0, + 0xff, 0xff, 0x81, 0xff, 0xcc, 0x60, 0x71, 0x3, + 0xff, 0x8c, 0x40, 0xee, 0x40, 0xff, 0xe2, 0x40, + 0x3c, + + /* U+F3CD "ï" */ + 0x3, 0xff, 0x84, 0xbf, 0xff, 0xe0, 0x2a, 0x7, + 0xff, 0x2, 0x0, 0xff, 0xfb, 0x2, 0x7, 0xff, + 0xfc, 0xf, 0xff, 0xf8, 0x1f, 0xfd, 0x6f, 0xff, + 0xb0, 0x1f, 0x9b, 0x1, 0xff, 0x39, 0x8, 0xf, + 0xfe, 0x39, 0x3, 0x39, 0x8, 0xc, 0x79, 0x3, + 0x36, 0x3, 0x1e, + + /* U+F3E0 "ï " */ + 0x9, 0xbf, 0xfe, 0x9, 0x12, 0xc9, 0xff, 0xc1, + 0xc5, 0x81, 0xff, 0xc3, 0x40, 0x7f, 0xf1, 0x38, + 0x1f, 0xfd, 0xc3, 0xbc, 0x3, 0xff, 0x83, 0x88, + 0x70, 0xf, 0xf9, 0x81, 0x98, 0x1f, 0xfd, 0x6, + 0x6, 0x60, 0x7f, 0xf0, 0x32, 0x32, 0x0, 0xff, + 0xe0, 0x1b, 0x98, 0x1f, 0xf3, 0xfd, 0x1e, 0xf4, + 0xf, 0xc6, 0x0, 0x70, 0x85, 0x40, 0xfa, 0x81, + 0xf9, 0x1, 0xff, 0xcc, 0x93, 0xfa, 0x81, 0xf9, + 0xbf, 0xc8, 0xf, 0xfe, 0xcf, 0x20, 0x7f, 0xf0, + 0xcf, 0x20, 0x7f, 0xf0, 0x5a, + + /* U+F3E5 "ï¥" */ + 0x3, 0xe3, 0x8, 0x1f, 0xfc, 0x63, 0x9d, 0x3, + 0xff, 0x8a, 0xb0, 0x2, 0x7, 0xff, 0x11, 0xd0, + 0x3f, 0xf8, 0xf2, 0x0, 0xe2, 0x7, 0xff, 0x6, + 0xb0, 0x39, 0x6f, 0xed, 0x10, 0x1e, 0xc8, 0xf, + 0xf8, 0xbb, 0xe0, 0x16, 0x20, 0x7f, 0xf1, 0x1e, + 0x0, 0xc0, 0xff, 0xe3, 0x1c, 0x2a, 0x3, 0xff, + 0x8c, 0x50, 0xac, 0xf, 0x14, 0x48, 0xf, 0xdc, + 0x4, 0x80, 0x39, 0xdd, 0x9f, 0x30, 0x39, 0x1, + 0x3a, 0x7, 0xf1, 0x94, 0xf, 0xe5, 0x80, 0xff, + 0x26, 0x7, 0xf1, 0xe4, 0x10, 0x3e, 0xc0, 0x44, + 0xf, 0xb4, 0x80, 0x3e, 0x60, 0x54, 0xf, 0xcc, + 0xf, 0xcc, 0x9, 0x81, 0xff, 0xc5, 0x20, 0x28, + 0x1f, 0xfc, 0x6c, 0x22, 0x3, 0xff, 0x8d, 0xeb, + 0x0, + + /* U+F494 "ï’”" */ + 0x3, 0xff, 0xb6, 0xaf, 0xcc, 0xf, 0xfe, 0x4b, + 0xf5, 0x3, 0x3c, 0x20, 0x7f, 0xf0, 0xcd, 0xf0, + 0xf, 0x9e, 0xc4, 0x7, 0xfc, 0xf6, 0x20, 0x3f, + 0xe3, 0x7c, 0x3, 0xc6, 0x78, 0x40, 0xff, 0xe2, + 0x3f, 0x50, 0x7, 0x98, 0x1f, 0xfc, 0x95, 0x68, + 0x40, 0x3f, 0xf9, 0xa8, 0x81, 0xff, 0xcf, 0x60, + 0x7f, 0xf5, 0x5b, 0xff, 0xe2, 0x90, 0x3f, 0xb4, + 0x9f, 0xfc, 0x5c, 0x7, 0xf9, 0xff, 0xff, 0xc4, + 0x4, 0xf, 0xfe, 0xc9, 0x4b, 0xff, 0x88, 0x7, + 0xfc, 0xad, 0xff, 0xe2, 0x1, 0xff, 0x3f, 0xff, + 0xf8, 0x80, 0x7f, 0xdc, 0xf, 0xfe, 0x7e, 0x4b, + 0xff, 0x88, 0x7, 0xfc, 0xad, 0xff, 0xe2, 0x1, + 0xff, 0x3f, 0xff, 0xf8, 0x80, 0x7f, 0xdc, 0xf, + 0xfe, 0x52, 0x24, 0x8e, 0x27, 0xff, 0x86, 0x82, + 0x24, 0x98, + + /* U+F52A "" */ + 0x3, 0xff, 0xad, 0x7f, 0xff, 0xe1, 0x20, 0x3f, + 0xe4, 0x80, 0x7f, 0xf0, 0xa0, 0x1f, 0xf1, 0x3, + 0xff, 0x86, 0x40, 0xff, 0xb8, 0x1f, 0xff, 0xf0, + 0x3f, 0xff, 0xe0, 0x7f, 0xf4, 0x51, 0x3, 0xff, + 0x9a, 0xee, 0x20, 0x7f, 0xf3, 0x8, 0x2, 0x7, + 0xff, 0x31, 0x7e, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0xfc, 0xf, 0xfe, 0x7e, 0xff, 0x30, 0x3f, 0xf8, + 0x9f, 0xf2, 0x20, 0x7f, 0xf3, 0xb3, 0x27, 0xff, + 0x9a, 0xa8, + + /* U+F52B "" */ + 0x3, 0xff, 0x84, 0x40, 0xff, 0xe6, 0x17, 0x7e, + 0xc0, 0x3f, 0xf8, 0xe5, 0xdf, 0xa2, 0x0, 0x40, + 0xff, 0xe3, 0x4d, 0x10, 0x1f, 0xa5, 0xba, 0x1, + 0xff, 0x30, 0x3f, 0xe4, 0xb9, 0xe0, 0x3f, 0xfa, + 0x4, 0xf, 0xfe, 0x56, 0xfe, 0x40, 0x7f, 0xff, + 0xc0, 0xff, 0xe9, 0x18, 0x7, 0xff, 0x3e, 0x34, + 0x7, 0xff, 0x38, 0x86, 0x7, 0xff, 0x3a, 0x72, + 0x7, 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, 0xfd, + 0xcf, 0xf0, 0x1f, 0xfc, 0x7f, 0xf1, 0x3, 0xff, + 0xa4, 0x89, 0xff, 0xe1, 0x1, 0xd8, 0x9e, 0x44, + + /* U+F54C "ï•Œ" */ + 0x3, 0xf8, 0x9c, 0x7, 0xff, 0xd, 0xdf, 0xb6, + 0xf5, 0x81, 0xfe, 0x5e, 0x20, 0x3c, 0xa7, 0x40, + 0x7d, 0x28, 0x1f, 0xfc, 0xb, 0x0, 0xea, 0xc0, + 0xff, 0xe1, 0x3a, 0x4, 0xd0, 0x1f, 0xfc, 0x44, + 0xc0, 0x40, 0x3f, 0xf8, 0xd0, 0x30, 0x3f, 0xf9, + 0xe, 0x81, 0xff, 0xc8, 0xa4, 0xd, 0x3f, 0x30, + 0x32, 0xde, 0x1, 0x88, 0x19, 0xb0, 0x8, 0x80, + 0x1a, 0x43, 0x60, 0x3f, 0x50, 0x37, 0x0, 0x80, + 0xd4, 0xc, 0x80, 0x98, 0x1f, 0x10, 0x3f, 0x2c, + 0x5, 0xc0, 0xd0, 0x2, 0x20, 0x50, 0xb, 0x30, + 0x25, 0x9b, 0x62, 0x5, 0x9a, 0xa8, 0x9, 0x8a, + 0x4, 0x64, 0x10, 0x3a, 0x54, 0x5, 0x40, 0x26, + 0x7, 0xff, 0x11, 0xa0, 0x29, 0x0, 0x7f, 0xf0, + 0x9c, 0x3, 0x9b, 0x1, 0xff, 0xc0, 0x70, 0xf, + 0xb0, 0x1f, 0xfc, 0xe, 0x7, 0xe2, 0x5, 0x28, + 0x7, 0x80, 0xb8, 0x1f, 0xb8, 0x11, 0x60, 0x7c, + 0x40, 0xff, 0xe2, 0x70, 0x31, 0x3, 0x0, + + /* U+F55A "ï•š" */ + 0x3, 0xe2, 0xe4, 0xff, 0xe1, 0xb4, 0x7, 0xe5, + 0xa3, 0x7f, 0xfc, 0x39, 0x70, 0x1e, 0x54, 0xf, + 0xfe, 0x39, 0x40, 0x65, 0x40, 0xff, 0xe4, 0x90, + 0x25, 0x40, 0xf9, 0xf2, 0x4, 0x7b, 0x3, 0xdc, + 0x2, 0xa0, 0x7c, 0x60, 0xc4, 0x1c, 0x21, 0x3, + 0xe5, 0x40, 0xfc, 0x50, 0xc, 0xf0, 0x4, 0x40, + 0xf2, 0xa0, 0x7f, 0xaa, 0x1, 0x0, 0x2a, 0x7, + 0xd4, 0xf, 0xfe, 0x5, 0x40, 0x4a, 0x81, 0xf9, + 0x1, 0xff, 0xc0, 0x28, 0x9, 0x10, 0x3f, 0x52, + 0x7, 0xf8, 0xe0, 0x3b, 0x10, 0x3f, 0x62, 0x7, + 0xe3, 0x80, 0x2e, 0x80, 0x62, 0x7, 0xec, 0x40, + 0xf8, 0x90, 0x54, 0x54, 0x9, 0x1, 0xfd, 0x88, + 0x1f, 0x69, 0x40, 0xac, 0xc0, 0x7f, 0xd8, 0x81, + 0xf3, 0x3, 0x98, 0x1f, 0x70, 0x3b, 0x10, 0x3f, + 0xf9, 0x8, 0xf, 0x66, 0x7, 0xff, 0x14, 0xd2, + + /* U+F61F "" */ + 0x3, 0xff, 0xb5, 0x3c, 0x3, 0xff, 0x8e, 0x98, + 0x68, 0xf, 0xfe, 0x34, 0x2, 0x80, 0x7f, 0xf1, + 0x59, 0x2, 0x2c, 0xf, 0xfe, 0x24, 0x3, 0xa0, + 0x1f, 0xfc, 0x3a, 0x7, 0xd4, 0xf, 0xfe, 0x9, + 0x40, 0x7c, 0x88, 0x1f, 0xfc, 0xe, 0x7, 0xf7, + 0x3, 0xff, 0x80, 0x40, 0xfe, 0x20, 0x7f, 0xf0, + 0x33, 0x7f, 0xd8, 0xf, 0x10, 0x38, 0xc9, 0xfc, + 0x40, 0x96, 0xfb, 0xe4, 0x7, 0xff, 0xd, 0xd2, + 0x4, 0x6b, 0x0, 0x7f, 0xfd, 0x1, 0x80, 0x7d, + 0x8, 0xa0, 0x7e, 0x62, 0x1, 0xfd, 0x1, 0x3, + 0xfc, 0x80, 0xfe, 0x40, 0x7f, 0xf5, 0xc8, 0x1f, + 0xc4, 0xf, 0xfe, 0x5, 0x3, 0xfa, 0x81, 0xff, + 0xc0, 0x64, 0xf, 0x8b, 0x3, 0xff, 0x83, 0x88, + 0x1c, 0x70, 0x2, 0x7, 0xff, 0x3, 0x56, 0x9d, + 0xc0, 0x51, 0xa5, 0xf5, 0x0, + + /* U+F6A9 "ïš©" */ + 0x3, 0xf8, 0x90, 0x1f, 0xfc, 0x87, 0xb0, 0xf, + 0xfe, 0x3b, 0x80, 0x7f, 0xf2, 0x1c, 0x3, 0xff, + 0x86, 0x52, 0xce, 0x1, 0xf8, 0x81, 0x88, 0xd, + 0x6e, 0x80, 0x7e, 0x99, 0x80, 0xb9, 0x81, 0xff, + 0xc2, 0x2c, 0x48, 0xa8, 0x40, 0x3f, 0xf8, 0x46, + 0x0, 0x68, 0x6, 0x3, 0xff, 0x86, 0xe0, 0x1b, + 0x10, 0x3f, 0xf8, 0x98, 0xd, 0x40, 0xff, 0xe2, + 0x54, 0x6, 0x6c, 0x7, 0xff, 0x8, 0xa0, 0x1a, + 0x0, 0x81, 0x1, 0xff, 0xc0, 0x34, 0x62, 0xe1, + 0xc2, 0xff, 0xb0, 0x1f, 0x97, 0x20, 0x1e, 0x20, + 0x78, 0xe0, 0x3f, 0xf9, 0x47, 0x1, 0xff, 0xca, + 0x38, 0x10, 0x3f, 0xf9, 0x7, 0xe0, 0x3f, 0xf8, + 0x0, + + /* U+F6C3 "" */ + 0x3, 0xff, 0x8a, 0x4c, 0x7, 0xff, 0x1d, 0x6f, + 0xb3, 0x81, 0xff, 0xc6, 0xb4, 0x40, 0x2c, 0x7, + 0xff, 0x17, 0x20, 0x23, 0x40, 0xff, 0xe2, 0xd2, + 0x6, 0x80, 0x7f, 0xf1, 0x4a, 0x3, 0x90, 0x1f, + 0xfc, 0x5a, 0x7, 0x20, 0x3f, 0xf8, 0xc8, 0xf, + 0xfe, 0x61, 0x3, 0x98, 0x1f, 0xfc, 0xc2, 0x7, + 0xff, 0x5, 0xc8, 0x42, 0x49, 0x81, 0x40, 0x3f, + 0xed, 0x1b, 0x58, 0xd9, 0x4e, 0x43, 0x40, 0x7f, + 0x52, 0x6, 0x77, 0xee, 0x70, 0xa, 0xc0, 0xfc, + 0x80, 0xf2, 0x2, 0xc1, 0x0, 0x9a, 0x26, 0x80, + 0x20, 0x3f, 0xf8, 0x24, 0x8, 0xbb, 0x0, 0x3a, + 0x7, 0xff, 0x6, 0x20, 0x3a, 0xa4, 0x80, 0x7f, + 0xf0, 0x7a, 0xa8, 0x3, 0xe8, 0x40, 0x3f, 0xf8, + 0x75, 0x5f, 0xd0, 0x8, 0x81, 0xff, 0xc4, 0xe0, + 0x7f, 0xf3, 0x18, 0x1f, 0x30, 0x3f, 0xf8, 0x8c, + 0xf, 0xa1, 0x3, 0xff, 0x87, 0x0, 0xfd, 0xa2, + 0x42, 0x7f, 0x93, 0xe4, 0xf, 0x80, + + /* U+F6C4 "" */ + 0x3, 0xff, 0xb3, 0xe0, 0x1f, 0xfc, 0xd6, 0x18, + 0x1f, 0xfc, 0x86, 0x40, 0xa0, 0x8, 0x4, 0x90, + 0xf, 0xfe, 0xa, 0x9b, 0x24, 0x1, 0x36, 0xbe, + 0xf0, 0x3f, 0xf8, 0x28, 0x1, 0x6c, 0x51, 0x11, + 0x0, 0xc0, 0x7f, 0xf0, 0x90, 0x3, 0xb2, 0xee, + 0xc0, 0x98, 0x1f, 0xfc, 0x2e, 0xe, 0x1b, 0xf4, + 0x90, 0x40, 0x7f, 0xf0, 0xf0, 0x87, 0x10, 0xe, + 0xb9, 0x0, 0x7f, 0xf0, 0xc, 0xec, 0x28, 0x7, + 0x10, 0xdc, 0x80, 0xff, 0x66, 0x0, 0x86, 0x6, + 0x71, 0xfb, 0x2f, 0x20, 0x7e, 0xc8, 0x1, 0xc, + 0x8, 0xc7, 0x0, 0xec, 0x40, 0xf8, 0xdc, 0x82, + 0xe0, 0x54, 0x40, 0x3e, 0xfe, 0xa0, 0x78, 0xf1, + 0x15, 0x21, 0x20, 0x1f, 0x88, 0x5, 0x0, 0xf6, + 0x7, 0x3d, 0xce, 0x3, 0xff, 0x80, 0xc0, 0xf3, + 0x0, 0x68, 0x7d, 0x81, 0xff, 0xc1, 0xa0, 0x62, + 0x4, 0xe3, 0x80, 0x7f, 0xf0, 0xd6, 0x2, 0x33, + 0x78, 0x20, 0x1f, 0xfc, 0x52, 0xc0, 0x99, 0x0, + 0x40, 0xff, 0xe3, 0xe0, 0x3f, 0xfa, 0xe4, 0x80, + 0xff, 0xe3, 0x70, 0x3f, 0x40, 0x3f, 0xf8, 0xa9, + 0x0, 0xfc, 0xb2, 0x3, 0xff, 0x82, 0x65, 0x0, + + /* U+F72E "" */ + 0x3, 0xff, 0xae, 0x6f, 0xec, 0x80, 0xff, 0xe2, + 0x1c, 0x80, 0x1a, 0x80, 0xff, 0xe1, 0xc0, 0x4, + 0x80, 0x50, 0x3f, 0xf8, 0x6c, 0x1d, 0x88, 0x1, + 0x3, 0xff, 0x85, 0xbe, 0x3, 0xf9, 0xc9, 0xff, + 0xc2, 0xa8, 0x1, 0x2, 0x8d, 0xff, 0xf0, 0x90, + 0xa, 0x7, 0xff, 0x26, 0xa0, 0x37, 0xdb, 0xff, + 0x85, 0xf9, 0x1, 0xe2, 0x7f, 0xf8, 0x40, 0x7e, + 0xff, 0xf5, 0x25, 0xff, 0xd9, 0x81, 0xff, 0x2c, + 0x28, 0x1e, 0x32, 0x80, 0x69, 0x78, 0xa, 0x25, + 0xe2, 0x1, 0x31, 0x2d, 0xf7, 0x21, 0xb, 0x7b, + 0x50, 0x10, 0xd, 0xfa, 0x80, 0x20, 0x7f, 0x22, + 0x7, 0x88, 0x5b, 0x80, 0x40, 0xda, 0x40, 0x44, + 0xf, 0x40, 0x4, 0xa, 0x0, 0x49, 0x63, 0xc0, + 0x18, 0x19, 0x64, 0x1, 0x62, 0xb, 0x0, 0xe1, + 0x1, 0x0, 0xe3, 0x7f, 0x52, 0x5, 0x20, 0xc, + 0xb8, 0x1f, 0xfc, 0x47, 0xed, 0x6a, 0x4, + + /* U+F73C "" */ + 0x3, 0xff, 0x8c, 0x9b, 0x1, 0xff, 0xc8, 0x7e, + 0xce, 0x7, 0xff, 0x1e, 0xc0, 0xa, 0x1, 0xff, + 0xc6, 0x68, 0xa, 0x81, 0xff, 0xc7, 0x80, 0x48, + 0xf, 0xfe, 0x39, 0x3, 0xff, 0x86, 0x6f, 0xe8, + 0x7, 0xf3, 0x3, 0xf9, 0x64, 0x1, 0xf5, 0x19, + 0xe4, 0x1, 0x3, 0xfa, 0x81, 0xea, 0xe7, 0x3c, + 0xa, 0x81, 0xf1, 0x3, 0xfe, 0xe6, 0x80, 0x58, + 0x81, 0x8c, 0x3, 0xfe, 0x31, 0xf0, 0x7, 0x69, + 0x9c, 0x80, 0xff, 0xe0, 0x3c, 0x68, 0x11, 0x6d, + 0xc0, 0xff, 0xe2, 0x44, 0x49, 0x5a, 0x4, 0xf, + 0xfe, 0x23, 0x1b, 0x2a, 0x0, 0x40, 0xff, 0xe2, + 0x30, 0x3e, 0x80, 0x7f, 0xf1, 0x38, 0x1f, 0x28, + 0x40, 0xff, 0xe0, 0x1a, 0x80, 0xfc, 0xf7, 0xff, + 0xfc, 0xc, 0x80, 0xff, 0x22, 0x0, 0xa0, 0x5, + 0x81, 0x30, 0x3f, 0xea, 0x80, 0x6c, 0x1, 0xf0, + 0xb, 0x40, 0x7f, 0xa8, 0x62, 0x8, 0x19, 0x81, + 0x24, 0x3, 0xf8, 0xa8, 0x1, 0xb0, 0x8, 0x88, + 0x85, 0x1, 0xfc, 0x63, 0x1, 0x20, 0x4, 0xa0, + 0x2f, 0x3, 0xfc, + + /* U+F73D "" */ + 0x3, 0xc9, 0xa0, 0x3f, 0xf8, 0xab, 0xd9, 0x7b, + 0x3, 0xff, 0x84, 0xa8, 0x1d, 0x13, 0xfe, 0x40, + 0x7e, 0x80, 0x7d, 0x60, 0x15, 0x40, 0x78, 0x90, + 0x1f, 0xfc, 0x1e, 0x7, 0xff, 0x25, 0x81, 0xea, + 0x7, 0xff, 0x8, 0xf8, 0x5, 0x98, 0x1f, 0xfc, + 0x47, 0xc4, 0x20, 0x7f, 0xf1, 0xeb, 0x3, 0xff, + 0x90, 0x80, 0xff, 0xe5, 0x10, 0x3f, 0xf9, 0x6, + 0x1, 0xff, 0xc8, 0x8a, 0x81, 0xff, 0xc6, 0xa8, + 0x2f, 0xad, 0xff, 0xe1, 0x6e, 0x80, 0xc5, 0x2f, + 0xfe, 0x11, 0x3, 0xff, 0xa0, 0xe8, 0x1d, 0x20, + 0xe, 0xac, 0xf, 0x44, 0x40, 0xcd, 0x80, 0xc5, + 0x40, 0x3a, 0x0, 0xe0, 0x54, 0x5, 0x2, 0xe0, + 0x20, 0x19, 0x0, 0x20, 0x48, 0x2, 0x0, 0x48, + 0x2, 0x3, 0x30, 0x3c, 0x40, 0xe2, 0x4, 0xc0, + 0xd1, 0x1a, 0x5, 0xc9, 0x60, 0x2a, 0x54, 0x0, + + /* U+F740 "ï€" */ + 0x3, 0xe4, 0xd0, 0x1f, 0xfc, 0x65, 0xec, 0xbd, + 0x81, 0xff, 0xc3, 0x54, 0xe, 0x89, 0xff, 0x20, + 0x3f, 0xa0, 0x1f, 0x58, 0x5, 0x50, 0x1f, 0x12, + 0x3, 0xff, 0x83, 0xc0, 0xff, 0xe5, 0x30, 0x3e, + 0xa0, 0x7f, 0xf0, 0x8f, 0x80, 0x6c, 0xc0, 0xff, + 0xe2, 0x3e, 0x2, 0x10, 0x3f, 0xf8, 0xf4, 0x30, + 0x3f, 0xf9, 0x8, 0xf, 0xfe, 0x61, 0x3, 0xff, + 0x90, 0x44, 0x3, 0xff, 0x91, 0x2, 0xa0, 0x7f, + 0xf1, 0xaa, 0x0, 0xbe, 0xb7, 0xff, 0x85, 0xba, + 0x3, 0x8a, 0x5f, 0xfc, 0x22, 0x7, 0xd0, 0xa, + 0x1, 0x42, 0x1, 0x90, 0x9, 0x0, 0xd1, 0x80, + 0x6c, 0x1, 0x30, 0x6, 0x30, 0x69, 0x2, 0x2e, + 0x0, 0x8c, 0x5, 0x44, 0x72, 0x84, 0xc, 0xb, + 0x96, 0x28, 0x82, 0xa, 0x19, 0xe1, 0x25, 0x2, + 0x46, 0x2, 0xa0, 0x6, 0xc0, 0x22, 0x22, 0x14, + 0x5, 0x12, 0x8, 0x58, 0x82, 0x6, 0x28, 0x47, + 0x81, 0xad, 0x0, 0xfc, 0x3, 0x60, 0x5, 0x40, + 0x3a, 0x40, 0x80, + + /* U+F743 "ïƒ" */ + 0x3, 0xf1, 0x3, 0xff, 0x96, 0xf0, 0x1f, 0xfc, + 0xb8, 0x18, 0x1f, 0xfc, 0x5b, 0x99, 0x60, 0x20, + 0x57, 0x90, 0x3f, 0xf8, 0x18, 0xcd, 0x0, 0xbd, + 0x44, 0x80, 0xff, 0xe0, 0x30, 0x6, 0xff, 0x4b, + 0xf0, 0x1f, 0xfc, 0x22, 0x30, 0xdd, 0xb0, 0xbf, + 0x40, 0x3f, 0xcb, 0x18, 0x69, 0xd, 0x54, 0xb, + 0xce, 0x30, 0x3b, 0x52, 0x12, 0x0, 0x62, 0x81, + 0xc6, 0x39, 0xc8, 0x15, 0x3, 0x10, 0xa2, 0x3, + 0xfe, 0x80, 0x4f, 0xc0, 0x91, 0xd5, 0x0, 0xff, + 0x94, 0x3, 0x33, 0xc, 0x54, 0x81, 0xff, 0xc0, + 0x78, 0x8, 0x90, 0x82, 0x81, 0xff, 0xc3, 0x30, + 0x5, 0x0, 0x40, 0xff, 0xe3, 0x10, 0x1d, 0xd8, + 0x7, 0xff, 0x18, 0x80, 0x71, 0x0, 0x80, 0x7f, + 0xf1, 0x28, 0x1f, 0x38, 0x7, 0xff, 0x4, 0xe2, + 0x7, 0xe7, 0xff, 0xff, 0x7, 0x10, 0x3f, 0xc8, + 0x80, 0x44, 0x1, 0x40, 0xb, 0x3, 0xfc, 0x6b, + 0x1, 0x50, 0xd, 0x80, 0x3e, 0x3, 0xfd, 0xca, + 0x14, 0x31, 0x4, 0xc, 0xc0, 0x3f, 0x91, 0x80, + 0xa8, 0x1, 0xb0, 0x8, 0x88, 0x1f, 0xce, 0x20, + 0x63, 0x1, 0x20, 0x4, 0xa0, 0x40, + + /* U+F75F "ïŸ" */ + 0x3, 0xff, 0xa7, 0x3f, 0xd4, 0x80, 0x9f, 0xe8, + 0x7, 0xfc, 0x73, 0x3, 0x2c, 0xf3, 0x3, 0x3e, + 0x80, 0xfe, 0xe4, 0xf, 0xa1, 0x3, 0xea, 0x49, + 0x20, 0x19, 0x90, 0x3f, 0xf8, 0xdb, 0x2d, 0x76, + 0x2, 0x81, 0xff, 0xcc, 0x8c, 0x10, 0x3f, 0xf9, + 0xb0, 0xf, 0xfe, 0x83, 0x20, 0x7f, 0xf3, 0xe8, + 0x1f, 0xfc, 0xe2, 0xc0, 0xff, 0xe7, 0x21, 0x80, + 0xff, 0xe6, 0x50, 0x7, 0xb0, 0x3f, 0xf9, 0x6, + 0xa0, 0x34, 0xfb, 0x7e, 0x40, 0x72, 0xdb, 0x90, + 0x1f, 0x13, 0xfa, 0xe8, 0xe6, 0xa4, 0xe0, 0x3f, + 0xf8, 0xc5, 0xc6, 0x40, 0xff, 0xe0, 0x13, 0xff, + 0xcc, 0x2, 0x3b, 0x7f, 0xf3, 0x18, 0x2, 0x7f, + 0xf9, 0xc0, 0x5b, 0x7f, 0xf3, 0x10, 0x1f, 0xfd, + 0xf, 0xfd, 0x80, 0x7f, 0xff, 0xc3, 0xa0, 0x44, + 0xe, 0x60, 0x8, 0x1f, 0xfc, 0x22, 0x4, + + /* U+F769 "ï©" */ + 0x3, 0xff, 0x9a, 0xb7, 0xf4, 0x3, 0xcb, 0xfb, + 0x10, 0x27, 0x48, 0x13, 0xa0, 0x67, 0x40, 0x8e, + 0x20, 0xc0, 0x5, 0x0, 0x4c, 0xa, 0x0, 0x44, + 0x4, 0x8, 0x3, 0xd7, 0x0, 0xa0, 0x8, 0x5, + 0x71, 0x8, 0x70, 0x15, 0xe2, 0x40, 0x81, 0xf8, + 0x81, 0x10, 0x31, 0x3, 0xc4, 0x2, 0xdc, 0x2, + 0x3, 0xff, 0x85, 0x40, 0x10, 0x28, 0x7, 0xff, + 0x9, 0x62, 0x1, 0x62, 0x7, 0xff, 0xc, 0xef, + 0xd4, 0x81, 0xff, 0xf7, 0x28, 0xf, 0x30, 0x10, + 0xf, 0xf5, 0x1, 0xf, 0x1, 0x0, 0x30, 0x3f, + 0xcc, 0x3, 0x70, 0xe5, 0x80, 0x40, 0x7f, 0xc4, + 0x50, 0x25, 0xc0, 0xff, 0xe1, 0x10, 0x80, 0x97, + 0x3, 0xff, 0x80, 0x80, 0x39, 0xf, 0x6, 0x1, + 0x1, 0xfd, 0xc0, 0x48, 0x51, 0xe0, 0x8, 0xf, + 0xf2, 0x60, 0x1e, 0xf4, 0x83, 0x40, 0xff, 0xa3, + 0x3, 0xc7, 0x1, 0xff, 0xc1, 0x99, 0xa4, 0x77, + 0x1, 0xff, 0xc0, + + /* U+F76B "ï«" */ + 0x3, 0xff, 0x9a, 0xb7, 0xf4, 0x3, 0xcb, 0xfb, + 0x10, 0x27, 0x48, 0x13, 0xc0, 0x67, 0x40, 0x8e, + 0x20, 0x20, 0x2, 0x80, 0x18, 0x5, 0x0, 0x22, + 0x2, 0x6, 0x1, 0xeb, 0x80, 0x30, 0x4, 0x2, + 0xb8, 0x84, 0x38, 0xa, 0x0, 0x90, 0x1f, 0xe2, + 0x4, 0x40, 0xfe, 0x20, 0x80, 0x5b, 0x80, 0x40, + 0x7f, 0xf0, 0xa8, 0x2, 0x5, 0x0, 0xff, 0xe1, + 0x2c, 0x40, 0x2c, 0x40, 0xff, 0xe1, 0x9d, 0xfa, + 0x90, 0x3f, 0xfe, 0xe5, 0x0, 0x2a, 0x6, 0x2, + 0x1, 0xfe, 0xa0, 0x20, 0xcc, 0x50, 0x8, 0x81, + 0xfc, 0xc0, 0x38, 0xc6, 0x10, 0x2, 0x3, 0xfe, + 0x21, 0x0, 0x26, 0x3, 0xff, 0x84, 0x42, 0x2, + 0x24, 0x7, 0xff, 0x1, 0x0, 0x72, 0x1e, 0x14, + 0x2, 0x3, 0xfa, 0x0, 0x90, 0xa3, 0xc4, 0x12, + 0x3, 0xf8, 0xb0, 0xf, 0x7a, 0x40, 0x70, 0x3f, + 0xe9, 0x0, 0x78, 0xe2, 0x7, 0xff, 0x1, 0xe8, + 0x91, 0xdc, 0x40, 0xff, 0x80, + + /* U+F7D8 "" */ + 0x3, 0xff, 0x8b, 0xff, 0xff, 0x11, 0x10, 0x3f, + 0xf8, 0x99, 0x2, 0x90, 0xf, 0xee, 0x80, 0xad, + 0x80, 0xff, 0xe1, 0x4f, 0xc0, 0x7f, 0xfe, 0x9, + 0xc0, 0x71, 0x15, 0x1b, 0xfb, 0x6d, 0xfb, 0x31, + 0x8a, 0x15, 0x1, 0xf8, 0xd0, 0x8, 0x89, 0xec, + 0x6c, 0x9b, 0x4d, 0x80, 0xb, 0x2, 0x4e, 0x45, + 0x90, 0xc8, 0x12, 0xe0, 0x7f, 0xf0, 0x90, 0x44, + 0xf, 0xfe, 0xc, 0x1, 0x80, 0xff, 0xe0, 0x42, + 0x5, 0x88, 0x1f, 0xd1, 0x81, 0x8d, 0x3, 0xf1, + 0x60, 0x7b, 0x1, 0xf8, 0x90, 0x1e, 0x40, 0x7f, + 0x20, 0x38, 0x81, 0xfe, 0xc0, 0x71, 0x40, 0x7f, + 0x70, 0x20 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 81, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 87, .box_w = 3, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 14, .adv_w = 113, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 24, .adv_w = 193, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 86, .adv_w = 174, .box_w = 9, .box_h = 21, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 149, .adv_w = 223, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 216, .adv_w = 191, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 278, .adv_w = 62, .box_w = 2, .box_h = 6, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 282, .adv_w = 111, .box_w = 6, .box_h = 24, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 328, .adv_w = 112, .box_w = 6, .box_h = 24, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 372, .adv_w = 152, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 406, .adv_w = 175, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 426, .adv_w = 69, .box_w = 4, .box_h = 6, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 435, .adv_w = 87, .box_w = 5, .box_h = 2, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 438, .adv_w = 93, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 443, .adv_w = 131, .box_w = 8, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 484, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 527, .adv_w = 174, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 541, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 589, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 641, .adv_w = 174, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 685, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 732, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 784, .adv_w = 174, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 827, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 881, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 932, .adv_w = 82, .box_w = 3, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 943, .adv_w = 71, .box_w = 4, .box_h = 15, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 961, .adv_w = 157, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 992, .adv_w = 169, .box_w = 9, .box_h = 6, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 1004, .adv_w = 162, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1035, .adv_w = 149, .box_w = 9, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1080, .adv_w = 271, .box_w = 15, .box_h = 21, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 1189, .adv_w = 203, .box_w = 13, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1252, .adv_w = 192, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1299, .adv_w = 200, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1350, .adv_w = 201, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1392, .adv_w = 175, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1418, .adv_w = 169, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1438, .adv_w = 208, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1493, .adv_w = 218, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1510, .adv_w = 88, .box_w = 3, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1514, .adv_w = 170, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1540, .adv_w = 192, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1591, .adv_w = 167, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1603, .adv_w = 266, .box_w = 14, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1668, .adv_w = 218, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1711, .adv_w = 212, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1763, .adv_w = 195, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1800, .adv_w = 212, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1864, .adv_w = 187, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1914, .adv_w = 183, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1974, .adv_w = 183, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1990, .adv_w = 198, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2017, .adv_w = 197, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2078, .adv_w = 268, .box_w = 17, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2173, .adv_w = 194, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2238, .adv_w = 185, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2283, .adv_w = 184, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2331, .adv_w = 88, .box_w = 5, .box_h = 22, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2345, .adv_w = 130, .box_w = 8, .box_h = 17, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2384, .adv_w = 88, .box_w = 4, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2395, .adv_w = 131, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 2418, .adv_w = 142, .box_w = 9, .box_h = 2, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2423, .adv_w = 109, .box_w = 6, .box_h = 3, .ofs_x = 0, .ofs_y = 14}, + {.bitmap_index = 2430, .adv_w = 169, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2469, .adv_w = 174, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2506, .adv_w = 163, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2542, .adv_w = 175, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2578, .adv_w = 165, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2616, .adv_w = 111, .box_w = 7, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2639, .adv_w = 174, .box_w = 9, .box_h = 17, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 2685, .adv_w = 170, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2705, .adv_w = 81, .box_w = 3, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2714, .adv_w = 79, .box_w = 5, .box_h = 21, .ofs_x = -1, .ofs_y = -5}, + {.bitmap_index = 2732, .adv_w = 159, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2767, .adv_w = 81, .box_w = 3, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2771, .adv_w = 265, .box_w = 15, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2804, .adv_w = 171, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2820, .adv_w = 177, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2856, .adv_w = 174, .box_w = 9, .box_h = 17, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 2896, .adv_w = 176, .box_w = 9, .box_h = 17, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 2932, .adv_w = 107, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2945, .adv_w = 161, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2982, .adv_w = 104, .box_w = 6, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3001, .adv_w = 170, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3018, .adv_w = 151, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3056, .adv_w = 229, .box_w = 14, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3120, .adv_w = 155, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3163, .adv_w = 147, .box_w = 9, .box_h = 17, .ofs_x = 0, .ofs_y = -5}, + {.bitmap_index = 3214, .adv_w = 155, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3245, .adv_w = 108, .box_w = 7, .box_h = 22, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 3291, .adv_w = 86, .box_w = 3, .box_h = 19, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 3295, .adv_w = 108, .box_w = 6, .box_h = 22, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 3335, .adv_w = 207, .box_w = 11, .box_h = 4, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 3352, .adv_w = 352, .box_w = 23, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 3452, .adv_w = 396, .box_w = 25, .box_h = 24, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 3588, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 3685, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3780, .adv_w = 242, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3860, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4002, .adv_w = 440, .box_w = 26, .box_h = 23, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 4062, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4185, .adv_w = 396, .box_w = 25, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 4309, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4441, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4523, .adv_w = 176, .box_w = 11, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4558, .adv_w = 396, .box_w = 25, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4704, .adv_w = 242, .box_w = 16, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4801, .adv_w = 308, .box_w = 15, .box_h = 21, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 4871, .adv_w = 352, .box_w = 22, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4964, .adv_w = 308, .box_w = 20, .box_h = 24, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5063, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5112, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5149, .adv_w = 352, .box_w = 22, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 5242, .adv_w = 308, .box_w = 15, .box_h = 21, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 5315, .adv_w = 220, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 5387, .adv_w = 220, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 5458, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 5579, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 5693, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 5830, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 5969, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 6093, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 6250, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6351, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6449, .adv_w = 308, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6527, .adv_w = 308, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6604, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6660, .adv_w = 308, .box_w = 20, .box_h = 5, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 6679, .adv_w = 396, .box_w = 25, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6810, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 6992, .adv_w = 308, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 7059, .adv_w = 308, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 7126, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7168, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7235, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 7358, .adv_w = 440, .box_w = 29, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 7545, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 7631, .adv_w = 440, .box_w = 28, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7735, .adv_w = 308, .box_w = 20, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7792, .adv_w = 220, .box_w = 14, .box_h = 8, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 7822, .adv_w = 220, .box_w = 14, .box_h = 8, .ofs_x = 0, .ofs_y = 4}, + {.bitmap_index = 7852, .adv_w = 132, .box_w = 9, .box_h = 14, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 7886, .adv_w = 132, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 7917, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8049, .adv_w = 220, .box_w = 15, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 8138, .adv_w = 396, .box_w = 26, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 8260, .adv_w = 242, .box_w = 16, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8355, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8457, .adv_w = 440, .box_w = 29, .box_h = 20, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 8563, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8625, .adv_w = 396, .box_w = 25, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8693, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8769, .adv_w = 264, .box_w = 16, .box_h = 23, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 8868, .adv_w = 132, .box_w = 9, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8918, .adv_w = 396, .box_w = 25, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 9037, .adv_w = 242, .box_w = 16, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 9131, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 9254, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9308, .adv_w = 308, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9391, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 9541, .adv_w = 352, .box_w = 20, .box_h = 23, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 9645, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9745, .adv_w = 352, .box_w = 22, .box_h = 21, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9843, .adv_w = 264, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 9923, .adv_w = 440, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 10071, .adv_w = 308, .box_w = 20, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 10147, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10225, .adv_w = 374, .box_w = 25, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 10356, .adv_w = 352, .box_w = 22, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10444, .adv_w = 396, .box_w = 25, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10571, .adv_w = 396, .box_w = 25, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10677, .adv_w = 440, .box_w = 28, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10758, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 10826, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 10897, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 10967, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 11037, .adv_w = 440, .box_w = 28, .box_h = 15, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 11097, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11172, .adv_w = 352, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11287, .adv_w = 176, .box_w = 11, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11350, .adv_w = 176, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11424, .adv_w = 176, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11497, .adv_w = 176, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11568, .adv_w = 176, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11636, .adv_w = 352, .box_w = 22, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 11734, .adv_w = 308, .box_w = 21, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 11888, .adv_w = 286, .box_w = 18, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 11991, .adv_w = 308, .box_w = 19, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12101, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12222, .adv_w = 396, .box_w = 25, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12319, .adv_w = 220, .box_w = 14, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12362, .adv_w = 264, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12439, .adv_w = 352, .box_w = 22, .box_h = 20, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 12544, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12658, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12724, .adv_w = 440, .box_w = 29, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 12804, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 12939, .adv_w = 440, .box_w = 28, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 13059, .adv_w = 352, .box_w = 23, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 13176, .adv_w = 352, .box_w = 23, .box_h = 18, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 13273, .adv_w = 396, .box_w = 25, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 13407, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 13567, .adv_w = 352, .box_w = 23, .box_h = 21, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 13694, .adv_w = 396, .box_w = 25, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 13841, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 13961, .adv_w = 352, .box_w = 23, .box_h = 23, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 14100, .adv_w = 396, .box_w = 25, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 14258, .adv_w = 440, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 14377, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 14508, .adv_w = 352, .box_w = 22, .box_h = 23, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 14641, .adv_w = 264, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = -3} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_1[] = { + 0x0, 0x4, 0x6, 0xb, 0xc, 0x10, 0x11, 0x12, + 0x14, 0x1d, 0x22, 0x25, 0x27, 0x42, 0x47, 0x49, + 0x4a, 0x4b, 0x4c, 0x4d, 0x50, 0x52, 0x53, 0x54, + 0x55, 0x57, 0x58, 0x59, 0x5d, 0x5f, 0x60, 0x61, + 0x62, 0x66, 0x67, 0x6d, 0x6f, 0x76, 0x77, 0x7a, + 0x7f, 0x83, 0x84, 0x9b, 0xc1, 0xc8, 0xd6, 0xd7, + 0xd8, 0xd9, 0xe1, 0xe6, 0xe8, 0xea, 0xf2, 0xf3, + 0xfd, 0x107, 0x108, 0x127, 0x128, 0x12d, 0x12f, 0x143, + 0x145, 0x149, 0x184, 0x185, 0x1b8, 0x1dd, 0x1e5, 0x1ea, + 0x1f7, 0x1fd, 0x1ff, 0x200, 0x203, 0x204, 0x235, 0x23f, + 0x240, 0x241, 0x242, 0x243, 0x26b, 0x28a, 0x2c6, 0x2c7, + 0x2c8, 0x2c9, 0x2ca, 0x2cc, 0x2db, 0x2e6, 0x2f1, 0x2fd, + 0x3c0, 0x3cc, 0x3df, 0x3e4, 0x493, 0x529, 0x52a, 0x54b, + 0x559, 0x61e, 0x6a8, 0x6c2, 0x6c3, 0x72d, 0x73b, 0x73c, + 0x73f, 0x742, 0x75e, 0x768, 0x76a, 0x7d7 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 61441, .range_length = 2008, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 118, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = { + .glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 2, + .bpp = 3, + .kern_classes = 0, + .bitmap_format = 1 +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t robotocondensed_regular_22_nokern = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 26, /*The maximum line height required by the font*/ + .base_line = 6, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) + .underline_position = -2, + .underline_thickness = 1, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + + + +#endif /*#if ROBOTOCONDENSED_REGULAR_22_NOKERN*/ + diff --git a/main/config/font/robotocondensed_regular_28_nokern.c b/main/config/font/robotocondensed_regular_28_nokern.c new file mode 100644 index 0000000..6809dcf --- /dev/null +++ b/main/config/font/robotocondensed_regular_28_nokern.c @@ -0,0 +1,3432 @@ +/******************************************************************************* + * Size: 28 px + * Bpp: 3 + * Opts: --no-kerning --bpp 3 --size 28 -o robotocondensed_regular_28_nokern.lvgl --format lvgl --font RobotoCondensed-Regular.ttf -r 0x20-0x7F --font FontAwesome5-Solid+Brands+Regular.woff -r 0xf0d7,0xf0d9,0xf0da,0xf0d8,0xf078,0xf053,0xf054,0xf077,0xf01e,0xf3e5,0xf0e2,0xf04a,0xf04e,0xf130,0xf001,0xf04c,0xf28b,0xf04b,0xf144,0xf048,0xf051,0xf04d,0xf028,0xf6a9,0xf026,0xf028,0xf52a,0xf52b,0xF06E,0xF070,0xf023,0xf3c1,0xf204,0xf205,0xf09c,0xf244,0xf240,0xf242,0xf243,0xf241,0xf0f3,0xf108,0xf109,0xf0eb,0xf3cd,0xf1e6,0xf011,0xf012,0xf1de,0xf26c,0xf1eb,0xf2cd,0xf236,0xf1b9,0xf0f4,0xf015,0xf084,0xf2fe,0xf7d8,0xf1f8,0xf2e7,0xf494,0xf769,0xf76b,0xf2cb,0xf2c7,0xf2c9,0xf2ca,0xf2c8,0xf043,0xf0e7,0xf0c2,0xf6c3,0xf73c,0xf73d,0xf740,0xf6c4,0xf743,0xf186,0xf75f,0xf2dc,0xf185,0xf0e9,0xf72e,0xf060,0xf061,0xf062,0xf063,0xf55a,0xf05e,0xf0c9,0xf1fe,0xf080,0xf201,0xf200,0xf00c,0xf058,0xf14a,0xf013,0xf085,0xf07b,0xf129,0xf05a,0xf068,0xf056,0xf146,0xf067,0xf055,0xf0fe,0xf3e0,0xf12e,0xf128,0xf059,0xf61f,0xf54c,0xf005,0xf2f2,0xF00D,0xf007 + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + +#ifndef ROBOTOCONDENSED_REGULAR_28_NOKERN +#define ROBOTOCONDENSED_REGULAR_28_NOKERN 1 +#endif + +#if ROBOTOCONDENSED_REGULAR_28_NOKERN + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+20 " " */ + + /* U+21 "!" */ + 0xde, 0x81, 0xff, 0xc0, 0x60, 0x7f, 0x88, 0x1f, + 0xfc, 0x39, 0xa9, 0x30, 0x13, 0xce, 0x9b, 0x41, + 0x0, + + /* U+22 "\"" */ + 0x3f, 0x7, 0xe0, 0x1e, 0xe0, 0x18, 0x1f, 0xe2, + 0x0, 0x81, 0xee, 0x4, 0xca, 0x20, 0xa2, + + /* U+23 "#" */ + 0x3, 0x8f, 0x80, 0x27, 0x40, 0x79, 0xe, 0x0, + 0x84, 0x7, 0xb8, 0x20, 0x10, 0x1f, 0x88, 0x60, + 0x44, 0xf, 0x98, 0x20, 0x86, 0x7, 0xc4, 0x80, + 0x31, 0x80, 0x97, 0xf0, 0x3f, 0xa8, 0x9e, 0x1, + 0xff, 0xc3, 0x5f, 0x98, 0xbf, 0x80, 0x7e, 0x80, + 0x62, 0x10, 0x11, 0x3, 0xe4, 0x4, 0x82, 0x3, + 0xf2, 0x0, 0x47, 0x2, 0x3f, 0xc1, 0x7e, 0x82, + 0x7a, 0x7, 0xff, 0x5, 0x83, 0xf9, 0x8d, 0xf8, + 0x7, 0xec, 0x6, 0x40, 0x81, 0x20, 0x3e, 0x20, + 0x48, 0x10, 0x3f, 0x10, 0x4, 0x70, 0x3c, 0x42, + 0x1, 0xc1, 0x3, 0xc8, 0x70, 0x4, 0x20, 0x30, + + /* U+24 "$" */ + 0x3, 0xb7, 0x20, 0x7f, 0xf4, 0xd6, 0x23, 0x40, + 0x3a, 0x52, 0x4, 0xe8, 0x11, 0x60, 0xdc, 0x82, + 0x60, 0x28, 0xc, 0x8d, 0x22, 0x80, 0x41, 0x1, + 0xa8, 0x20, 0x7f, 0x10, 0x4, 0x30, 0xc0, 0xca, + 0xd1, 0x4, 0x14, 0x6, 0x48, 0x2, 0x0, 0xb0, + 0xf, 0xd8, 0x3, 0xf0, 0xf, 0x1c, 0x80, 0x3e, + 0x80, 0xe3, 0x72, 0x1, 0x50, 0x1e, 0x36, 0x80, + 0x40, 0x3f, 0x28, 0x9, 0x2b, 0x40, 0x72, 0x0, + 0xca, 0x40, 0x3f, 0x90, 0x4, 0x6, 0x40, 0x19, + 0x1, 0x8, 0x3, 0x1, 0x21, 0x41, 0xdb, 0x0, + 0x80, 0x15, 0x0, 0x48, 0x5, 0x40, 0x4b, 0xd0, + 0x17, 0xa0, 0x3c, 0x80, 0x20, 0x3f, 0xf8, 0x80, + + /* U+25 "%" */ + 0x1, 0x7f, 0x50, 0x3f, 0xec, 0x89, 0x2a, 0x7, + 0xf2, 0x2b, 0x62, 0x42, 0x5, 0x0, 0xc4, 0x70, + 0x18, 0x30, 0xd, 0xc0, 0x5c, 0x30, 0x4, 0x10, + 0x10, 0xb0, 0x2e, 0x18, 0x2, 0x8, 0x62, 0x1, + 0x88, 0xe0, 0x30, 0x62, 0x14, 0x6, 0x45, 0x6c, + 0x48, 0x60, 0xe0, 0x7b, 0x22, 0x4a, 0x96, 0x88, + 0x1f, 0x5f, 0xd4, 0x41, 0x0, 0xff, 0xe0, 0x14, + 0x84, 0xf, 0xfe, 0x4, 0x14, 0x5f, 0xd4, 0xf, + 0x92, 0x31, 0x51, 0x25, 0x40, 0xf4, 0x10, 0xa4, + 0xd8, 0x90, 0x81, 0x91, 0x81, 0xe, 0x3, 0x84, + 0x6, 0x81, 0x8e, 0x7, 0xf9, 0x98, 0x3, 0x81, + 0xfe, 0xe5, 0x80, 0x43, 0x80, 0xe1, 0x1, 0x4c, + 0x4, 0x52, 0x6c, 0x48, 0x40, 0xfe, 0xa8, 0x92, + 0xa0, + + /* U+26 "&" */ + 0x2, 0x37, 0xf6, 0x20, 0x7c, 0xb2, 0x0, 0x72, + 0x3, 0xd0, 0x1d, 0x84, 0x40, 0x38, 0x90, 0x84, + 0xb8, 0x20, 0x73, 0x0, 0xc0, 0x10, 0x4, 0xc, + 0xc0, 0x30, 0x8, 0x1, 0x3, 0x10, 0x1c, 0x1a, + 0x18, 0x1e, 0x81, 0x3c, 0xc, 0x3, 0xcc, 0x88, + 0x16, 0x3, 0xf2, 0x0, 0x68, 0x1f, 0xa3, 0x0, + 0x58, 0x11, 0x20, 0x11, 0x8a, 0x84, 0x21, 0x6c, + 0x5, 0x88, 0xa8, 0xe, 0x8, 0x21, 0x0, 0x60, + 0x28, 0x33, 0x86, 0x38, 0x20, 0x49, 0x86, 0xc3, + 0x1, 0x10, 0x34, 0x20, 0x4c, 0x60, 0x8, 0xd, + 0x40, 0x20, 0x8, 0x8a, 0xc9, 0x38, 0x1, 0x20, + 0xe, 0x2, 0x6c, 0x80, 0x90, 0xa0, 0xf, 0x64, + 0x2, 0x9b, 0x80, 0xa0, + + /* U+27 "'" */ + 0x9d, 0x81, 0xf8, 0x81, 0xcf, 0x32, + + /* U+28 "(" */ + 0x3, 0xff, 0x82, 0xf0, 0x1c, 0xa0, 0x1e, 0xa3, + 0x81, 0xa8, 0x84, 0x8, 0xa0, 0xc0, 0xd0, 0x30, + 0x39, 0xa, 0x6, 0x40, 0x8, 0x1b, 0x4, 0x7, + 0x20, 0x40, 0xe2, 0x38, 0x1f, 0x10, 0x3f, 0xf8, + 0x4, 0x3, 0x3, 0xff, 0x90, 0x40, 0x30, 0x3e, + 0x20, 0x71, 0x3, 0xe6, 0x30, 0x1d, 0xc2, 0x3, + 0x90, 0x2, 0x7, 0x21, 0x40, 0xe8, 0x18, 0x1c, + 0x50, 0x60, 0x74, 0x10, 0xe, 0x34, 0x50, 0x39, + 0x46, 0x7, 0x9f, 0x0, + + /* U+29 ")" */ + 0x3, 0xfb, 0x90, 0x3e, 0xc4, 0xe, 0xa3, 0x81, + 0xc9, 0xb, 0x3, 0xa0, 0x80, 0x71, 0x20, 0xc0, + 0xea, 0x28, 0x1c, 0x81, 0x20, 0x31, 0x0, 0x80, + 0xe2, 0x38, 0x1c, 0x82, 0x3, 0xe2, 0x7, 0x70, + 0x3f, 0xfb, 0x7c, 0x10, 0x38, 0x84, 0x7, 0x31, + 0xc0, 0xe2, 0x10, 0x19, 0x2, 0x40, 0x6e, 0x28, + 0x18, 0xa0, 0xc0, 0xd4, 0x40, 0x31, 0x65, 0x81, + 0xb8, 0xe0, 0x71, 0xa4, 0xe, 0xc8, 0xe, + + /* U+2A "*" */ + 0x3, 0xbf, 0x1, 0xff, 0xd2, 0xa8, 0xf, 0x18, + 0x1a, 0xbe, 0x0, 0x7b, 0x1b, 0x26, 0x43, 0x1, + 0x8, 0x44, 0xa6, 0xc2, 0x0, 0xdf, 0x50, 0x13, + 0x20, 0xb, 0x3, 0xd4, 0x48, 0x1c, 0xe, 0xa1, + 0x36, 0x25, 0x0, 0xf5, 0x1, 0xc2, 0x3, 0x5c, + 0x4, 0x6e, 0x0, + + /* U+2B "+" */ + 0x3, 0x9b, 0x1, 0xfc, 0xa4, 0x10, 0x3f, 0xfd, + 0x9, 0xbb, 0x0, 0x4d, 0xc6, 0x4c, 0xc0, 0x49, + 0xc0, 0x7f, 0xf0, 0x37, 0xf5, 0x1, 0xbf, 0xa8, + 0x1f, 0xff, 0x0, + + /* U+2C "," */ + 0xb, 0xf1, 0x3, 0xfe, 0x20, 0x8, 0xa1, 0x4, + 0x44, 0x9, 0x29, 0x0, + + /* U+2D "-" */ + 0x3, 0xe5, 0xff, 0x20, 0x3e, + + /* U+2E "." */ + 0x3, 0xd3, 0xd0, 0xc, 0x20, 0xc, 0x20, + + /* U+2F "/" */ + 0x3, 0xeb, 0xd0, 0x1f, 0x20, 0x80, 0xf3, 0x8, + 0xf, 0xb0, 0xe0, 0x7c, 0x82, 0x3, 0xc8, 0x20, + 0x3e, 0xe3, 0x81, 0xf2, 0x8, 0xf, 0x20, 0x80, + 0xfb, 0x8e, 0x7, 0xc8, 0x20, 0x3c, 0x82, 0x3, + 0xee, 0x30, 0x1f, 0x20, 0xc0, 0xf2, 0x8, 0xf, + 0xb0, 0xc0, 0x7c, 0xc3, 0x3, 0xc8, 0x10, 0x3e, + 0xc2, 0x81, 0xf3, 0xc, 0xf, 0x10, 0x40, 0xfc, + 0xe0, 0x1f, 0x0, + + /* U+30 "0" */ + 0x2, 0x5b, 0xf5, 0x40, 0x74, 0xa4, 0x2, 0xac, + 0x9, 0x30, 0xfe, 0x42, 0x10, 0x10, 0x28, 0xd, + 0x1, 0x40, 0x11, 0xc0, 0xcc, 0x20, 0x40, 0x30, + 0x36, 0x4, 0x30, 0x4, 0xc, 0xc0, 0x12, 0x3, + 0xff, 0xf6, 0x40, 0xff, 0x98, 0x2, 0x6, 0x60, + 0x9, 0x0, 0x40, 0x6c, 0x8, 0x4, 0x28, 0x19, + 0x84, 0x3, 0x83, 0x9, 0x50, 0x14, 0x2, 0x61, + 0xec, 0x42, 0x10, 0x29, 0x48, 0x5, 0x58, 0x0, + + /* U+31 "1" */ + 0x3, 0x19, 0x80, 0x2b, 0x98, 0x5a, 0xa0, 0x28, + 0x43, 0x40, 0x1c, 0xf0, 0x80, 0xac, 0xf, 0xff, + 0xf8, 0x1f, 0xfd, 0x0, + + /* U+32 "2" */ + 0x2, 0x9b, 0xf6, 0x60, 0x76, 0x64, 0x1, 0x94, + 0xb, 0x11, 0x7e, 0x41, 0x20, 0x24, 0x2a, 0x6, + 0x80, 0xe2, 0x80, 0x40, 0x66, 0x10, 0x20, 0x81, + 0xdc, 0xa, 0xfc, 0x7, 0x70, 0x40, 0xfe, 0x41, + 0x1, 0xf9, 0x11, 0x40, 0xfd, 0x2, 0x20, 0x7d, + 0x8, 0x80, 0x7c, 0x98, 0x84, 0xf, 0x1a, 0x13, + 0x3, 0xee, 0xd, 0x3, 0xe8, 0x47, 0x3, 0xe4, + 0xc5, 0x20, 0x78, 0xd0, 0xd0, 0x1f, 0x70, 0x60, + 0x1f, 0x32, 0xf, 0xff, 0x50, 0x3f, 0xf8, 0x0, + + /* U+33 "3" */ + 0x2, 0x9b, 0xf5, 0x20, 0x47, 0xb2, 0x1, 0x66, + 0x3, 0x80, 0xbf, 0x11, 0x1, 0x21, 0x50, 0x38, + 0x3, 0x40, 0x10, 0x18, 0x8c, 0xa4, 0x1, 0xcc, + 0x1, 0x6c, 0x7, 0x30, 0x3f, 0x89, 0xe, 0x7, + 0x96, 0x9, 0x0, 0x97, 0xea, 0x15, 0x3, 0xf9, + 0x20, 0x19, 0x7e, 0xc8, 0x52, 0x7, 0x8d, 0x22, + 0x1, 0xf9, 0x4, 0x52, 0x1, 0xdc, 0x5, 0xb0, + 0x1d, 0xc0, 0x70, 0x4, 0xc, 0xc2, 0x60, 0x32, + 0x6, 0x80, 0x83, 0x0, 0xbf, 0x21, 0x8, 0x39, + 0x81, 0x2c, 0xc0, + + /* U+34 "4" */ + 0x3, 0xf7, 0xec, 0x7, 0xf4, 0x3, 0xfe, 0x2c, + 0xf, 0xfa, 0x1, 0xff, 0x14, 0x10, 0x1f, 0xdc, + 0x40, 0x3f, 0x91, 0x26, 0x7, 0xf4, 0x10, 0xf, + 0xe6, 0x49, 0x1, 0xfd, 0x4, 0x3, 0xf9, 0x82, + 0x80, 0xfe, 0x82, 0x1, 0xfd, 0x1, 0x40, 0x7f, + 0x30, 0x7f, 0xc8, 0x1f, 0xc4, 0xf, 0xfe, 0x1, + 0xff, 0xe4, 0xf, 0xe0, 0x3f, 0xfd, 0x0, + + /* U+35 "5" */ + 0x1, 0x3f, 0xfc, 0x4, 0x40, 0xff, 0x98, 0x56, + 0xf8, 0xe, 0xc9, 0x78, 0x8, 0x82, 0x7, 0xfc, + 0xc0, 0xff, 0x88, 0x24, 0x7, 0x10, 0x17, 0xec, + 0xe8, 0x9, 0x80, 0x40, 0x6a, 0x80, 0xe9, 0xfa, + 0x0, 0x80, 0x17, 0xcc, 0x3, 0x60, 0x50, 0x11, + 0x3, 0x40, 0x4, 0xf, 0xfb, 0x81, 0xfc, 0x41, + 0xe, 0x10, 0x38, 0x82, 0x2b, 0x40, 0x7d, 0xc2, + 0x14, 0xc, 0xc0, 0x21, 0x41, 0xa4, 0x38, 0x11, + 0x6, 0x5, 0xbc, 0x6, 0x81, 0x3c, 0x80, 0x17, + 0x80, 0x0, + + /* U+36 "6" */ + 0x3, 0x9d, 0xfc, 0x7, 0x8e, 0x88, 0xf, 0xd8, + 0x87, 0x70, 0x1d, 0x40, 0x68, 0x88, 0x18, 0xa1, + 0x48, 0x1f, 0x50, 0x8, 0xf, 0xc4, 0x30, 0x3f, + 0x90, 0xef, 0xfa, 0x81, 0xeb, 0x0, 0x96, 0x3, + 0x8a, 0xde, 0x3, 0x1, 0x0, 0x69, 0xd, 0x83, + 0x3, 0x40, 0x35, 0x0, 0x80, 0x98, 0x18, 0x80, + 0x24, 0x1, 0x81, 0xff, 0x10, 0x3e, 0x21, 0xc, + 0x6, 0x20, 0x18, 0xc1, 0x10, 0x28, 0x0, 0x86, + 0x3, 0xa0, 0xd0, 0x80, 0x58, 0x1b, 0xe0, 0x4c, + 0x8, 0xe4, 0x0, 0xca, 0x0, + + /* U+37 "7" */ + 0xdf, 0xff, 0xa0, 0x1f, 0xfc, 0xd, 0xff, 0xd8, + 0x5, 0x3, 0xf2, 0x4, 0x80, 0xfd, 0x45, 0x3, + 0xf2, 0x21, 0x81, 0xfb, 0x84, 0x7, 0xf2, 0x1c, + 0xf, 0xcc, 0x2, 0x3, 0xf5, 0xc, 0xf, 0xc4, + 0x85, 0x3, 0xf5, 0x4, 0x80, 0xfc, 0xc2, 0x3, + 0xf2, 0x1, 0x40, 0xfd, 0xc1, 0x20, 0x3f, 0x21, + 0x40, 0xfc, 0xc0, 0x30, 0x3f, 0x50, 0x80, 0xfc, + 0x48, 0x70, 0x3f, 0x50, 0x8, 0xf, 0x0, + + /* U+38 "8" */ + 0x2, 0x7b, 0xf5, 0x40, 0x75, 0x84, 0x2, 0xac, + 0x9, 0xa0, 0xb6, 0x11, 0x8, 0xa, 0xd, 0x25, + 0x80, 0x50, 0x4, 0x20, 0x32, 0x8, 0xd, 0xc0, + 0xc4, 0xf, 0x70, 0x31, 0xc, 0x2, 0x8, 0xc, + 0x86, 0x1, 0x1, 0x84, 0xa8, 0x2c, 0x1, 0xa1, + 0xec, 0x47, 0x81, 0x88, 0x1c, 0x58, 0x13, 0x82, + 0x7c, 0xc5, 0x20, 0x20, 0x6c, 0xc, 0x43, 0x84, + 0x2, 0x81, 0xb8, 0x20, 0x80, 0x20, 0x66, 0x0, + 0x90, 0x2, 0x6, 0x60, 0x4c, 0x2, 0x3, 0x70, + 0x4, 0x90, 0x8c, 0x94, 0x41, 0x80, 0xa4, 0x4d, + 0x8c, 0x28, 0x5, 0xa1, 0x0, 0x65, 0x0, + + /* U+39 "9" */ + 0x2, 0x9b, 0xf5, 0x20, 0x6c, 0xc8, 0x5, 0x80, + 0xa1, 0x13, 0xd0, 0x18, 0x3, 0x11, 0x85, 0x41, + 0x24, 0x1, 0x81, 0x22, 0x2e, 0x3, 0xe4, 0x10, + 0x2, 0x7, 0x70, 0x40, 0x10, 0x3f, 0x70, 0x3f, + 0xc8, 0x3, 0x3, 0x40, 0x5, 0x8, 0x81, 0xc0, + 0x68, 0x2, 0xfc, 0x48, 0x10, 0x71, 0x0, 0x6a, + 0x3, 0x1d, 0xfb, 0x22, 0x10, 0x1f, 0x90, 0xe0, + 0x7c, 0xc0, 0x30, 0x3c, 0x60, 0x60, 0x62, 0xa6, + 0x1, 0x0, 0x8e, 0xac, 0x1e, 0x7, 0xca, 0x60, + 0x20, + + /* U+3A ":" */ + 0x17, 0xc0, 0x8, 0x30, 0x8, 0x30, 0x17, 0xc0, + 0x3f, 0xfb, 0xd7, 0xc0, 0x8, 0x30, 0x8, 0x30, + + /* U+3B ";" */ + 0x1, 0xba, 0xc, 0x8e, 0x11, 0x1c, 0x1d, 0xd0, + 0x1f, 0xfd, 0xef, 0xcc, 0xf, 0xe2, 0x8, 0x6, + 0x28, 0x26, 0x62, 0x2, 0xe2, 0x0, + + /* U+3C "<" */ + 0x3, 0xf3, 0x40, 0x79, 0x68, 0x40, 0xc7, 0x52, + 0x8, 0x3, 0x71, 0xb, 0x21, 0x32, 0xb, 0x52, + 0x3b, 0xb, 0x52, 0x7, 0x1e, 0x40, 0xe8, 0xd, + 0xc8, 0xc, 0xfb, 0x6, 0xe4, 0x6, 0x9d, 0x83, + 0x71, 0x3, 0x4c, 0x81, 0x40, 0x71, 0xb4, 0x40, + 0xfc, 0xb3, + + /* U+3D "=" */ + 0xff, 0xfa, 0x1, 0xfe, 0xdb, 0xfa, 0x13, 0xfc, + 0x7, 0xfc, 0x4f, 0xf0, 0xdb, 0xfa, 0x1, 0xfe, + + /* U+3E ">" */ + 0x34, 0x81, 0xfc, 0xb4, 0x3, 0xe2, 0x1, 0xf8, + 0x7, 0xbc, 0x21, 0xf8, 0x7, 0x3d, 0x48, 0x7d, + 0x81, 0xcb, 0x52, 0x25, 0x3, 0xca, 0x81, 0xfa, + 0x78, 0xc, 0x2, 0x9d, 0x83, 0x71, 0x13, 0xb0, + 0x6e, 0x40, 0xb, 0x1, 0x32, 0x3, 0xd3, 0xb0, + 0x3c, 0x7b, 0x3, 0xf0, + + /* U+3F "?" */ + 0x0, 0xf7, 0xec, 0x80, 0xac, 0x20, 0xd, 0x61, + 0x20, 0x56, 0x88, 0x87, 0x83, 0x52, 0x70, 0x8, + 0x14, 0x4, 0x48, 0x7b, 0xa0, 0x1f, 0xfc, 0x22, + 0x38, 0x1e, 0x60, 0x18, 0x1c, 0x60, 0x60, 0x7b, + 0x3, 0x0, 0xea, 0x3, 0x1, 0xc5, 0xa, 0x7, + 0xa8, 0x4, 0x7, 0x88, 0x20, 0x7d, 0x2f, 0x3, + 0xe2, 0x88, 0x1f, 0xfc, 0x55, 0x98, 0x1f, 0x73, + 0x0, 0xfb, 0x6, 0x6, + + /* U+40 "@" */ + 0x3, 0xe9, 0xbf, 0x6a, 0x80, 0xff, 0x9f, 0x64, + 0xe5, 0x71, 0x3, 0xf4, 0x81, 0x3e, 0xcf, 0xd0, + 0xe2, 0x7, 0x9b, 0x1e, 0xc0, 0xe7, 0x86, 0x3, + 0x8c, 0x18, 0xf, 0xc6, 0x88, 0x6, 0x82, 0x81, + 0xfe, 0x48, 0xc0, 0xc8, 0xa0, 0x34, 0xb4, 0x80, + 0xb8, 0x40, 0x18, 0xa0, 0x47, 0xb4, 0x96, 0x0, + 0x43, 0x80, 0xa1, 0x81, 0x70, 0xfe, 0x8, 0x8, + 0xb0, 0x4, 0x80, 0x99, 0x50, 0x9, 0x81, 0x32, + 0x8, 0x60, 0x54, 0x40, 0x3f, 0x10, 0xc, 0x10, + 0x22, 0x8, 0x6, 0x8, 0x1e, 0x23, 0x80, 0x40, + 0x81, 0x11, 0xc0, 0xff, 0x88, 0x60, 0x7f, 0xf1, + 0x78, 0x20, 0x5c, 0x10, 0x22, 0x7, 0xff, 0x4, + 0x81, 0xc9, 0x1, 0x1c, 0x7, 0x8, 0x9, 0x1, + 0x88, 0xc1, 0x82, 0x1, 0x2, 0x42, 0x80, 0x20, + 0x38, 0x60, 0x84, 0x0, 0x90, 0xdd, 0x51, 0x2e, + 0x34, 0x9, 0x2, 0x3, 0x20, 0x72, 0xa5, 0xa, + 0x80, 0xb8, 0x80, 0x57, 0xe2, 0x16, 0xf9, 0x1, + 0x91, 0x48, 0x7, 0xff, 0x16, 0xa, 0x40, 0xff, + 0xe2, 0x28, 0x33, 0x3, 0x92, 0x1, 0xfc, 0xe8, + 0x9f, 0x5d, 0xef, 0x3, 0xfc, 0xbc, 0x24, 0x89, + 0x4a, 0x7, 0x80, + + /* U+41 "A" */ + 0x3, 0xc7, 0xf2, 0x3, 0xff, 0x80, 0x80, 0x70, + 0x3f, 0xf8, 0x14, 0x2, 0x3, 0xff, 0x80, 0x40, + 0x90, 0x1f, 0xe6, 0xa, 0x18, 0xf, 0xf5, 0xb, + 0x86, 0x7, 0xf8, 0x8a, 0x80, 0x10, 0x3f, 0x30, + 0x4, 0x11, 0x40, 0xfd, 0x82, 0x1, 0x43, 0x3, + 0xf2, 0x1c, 0x2, 0x0, 0x40, 0xf2, 0x0, 0x80, + 0x10, 0x14, 0xf, 0x70, 0x40, 0xcc, 0x20, 0x3c, + 0x82, 0x27, 0x70, 0x48, 0xc, 0x80, 0x3d, 0xb4, + 0x0, 0x80, 0xdc, 0xf, 0xf5, 0x3, 0x20, 0xff, + 0xf4, 0x4, 0x80, 0x20, 0x18, 0xf, 0x30, 0x8, + 0x6, 0x0, 0x80, 0xf8, 0x8a, 0x1, 0x84, 0x7, + 0xea, 0x8, 0x20, 0x38, 0x1f, 0x90, 0x6, + + /* U+42 "B" */ + 0xdf, 0xfb, 0x40, 0x3f, 0xc5, 0xe0, 0x32, 0xda, + 0xa8, 0x1a, 0x6, 0x26, 0x55, 0x4, 0x7, 0xf7, + 0x0, 0x40, 0xff, 0x98, 0x1f, 0x88, 0x6, 0x7, + 0xea, 0x9, 0x1, 0x13, 0x2a, 0x47, 0x2, 0x5b, + 0x55, 0xc, 0x40, 0xff, 0x72, 0x4, 0xbf, 0xd4, + 0x97, 0x3, 0xf2, 0xe0, 0xa0, 0x3f, 0x10, 0x18, + 0xf, 0xf8, 0x81, 0xff, 0x10, 0x3f, 0x30, 0x18, + 0x8, 0x9d, 0x20, 0x2, 0x0, 0xb6, 0xcc, 0x6, + 0x3, 0xf1, 0x7c, 0x80, + + /* U+43 "C" */ + 0x3, 0x2b, 0xfd, 0x50, 0x1e, 0xb4, 0x80, 0x95, + 0xa0, 0x35, 0x41, 0x5d, 0x50, 0x50, 0x2, 0x41, + 0x2a, 0x2a, 0xa0, 0xc0, 0x70, 0xc, 0xe, 0x80, + 0x10, 0x41, 0x81, 0xe2, 0x3, 0x10, 0x18, 0xf, + 0xa3, 0xcc, 0xf, 0xf3, 0x88, 0x9, 0x81, 0xff, + 0xeb, 0x60, 0x7f, 0x98, 0x2, 0x7, 0xcd, 0x91, + 0x1, 0xc0, 0xfa, 0x46, 0x8, 0x30, 0x3c, 0x80, + 0x61, 0xc0, 0x30, 0x3b, 0x80, 0x41, 0x20, 0x90, + 0x49, 0x54, 0x20, 0x15, 0x21, 0xec, 0xa8, 0x36, + 0x3, 0x68, 0x40, 0x95, 0x80, 0x0, + + /* U+44 "D" */ + 0xdf, 0xf6, 0x84, 0xf, 0xf1, 0x7a, 0x1, 0xcb, + 0x6a, 0x10, 0xe0, 0x1c, 0x4c, 0xf3, 0xc, 0x81, + 0xfd, 0x0, 0x40, 0x3f, 0xcc, 0x20, 0x3f, 0xd8, + 0xf, 0xfe, 0x19, 0x3, 0xf9, 0x81, 0xff, 0xc3, + 0x60, 0x7f, 0xf3, 0x58, 0x1f, 0xcc, 0xf, 0xfe, + 0x1, 0x0, 0x40, 0xfe, 0xe0, 0x7f, 0xf0, 0x18, + 0x40, 0x7f, 0x50, 0x10, 0xc, 0x4c, 0xf2, 0xc, + 0x81, 0x2d, 0xa8, 0x43, 0x80, 0x7e, 0x2f, 0x40, + 0x20, + + /* U+45 "E" */ + 0xdf, 0xff, 0x50, 0x3f, 0xf8, 0x2b, 0x6f, 0xa8, + 0x11, 0x3f, 0x1, 0xff, 0xe4, 0x27, 0xc0, 0x65, + 0xb7, 0xa8, 0x1f, 0xfc, 0x25, 0xff, 0xa8, 0x1f, + 0xfe, 0xf2, 0x7e, 0x2, 0x5b, 0x7e, 0x3, 0xfe, + + /* U+46 "F" */ + 0xdf, 0xff, 0x40, 0x3f, 0xf8, 0x2b, 0x6f, 0xa0, + 0x11, 0x3f, 0x1, 0xff, 0xee, 0x5f, 0xf9, 0x81, + 0xff, 0xc2, 0x5b, 0x79, 0x81, 0x89, 0xf0, 0x1f, + 0xff, 0xf0, 0x30, + + /* U+47 "G" */ + 0x3, 0x3d, 0xfd, 0x50, 0x1c, 0x7c, 0x20, 0x4a, + 0xd0, 0x1b, 0x80, 0x7b, 0x29, 0xa, 0x0, 0x64, + 0x58, 0x49, 0x64, 0x18, 0xa, 0xa, 0x3, 0xa0, + 0x6, 0x8, 0xa0, 0x78, 0x90, 0x2, 0x0, 0x81, + 0xf6, 0xed, 0x80, 0x30, 0x3f, 0xfa, 0x84, 0xf0, + 0x1f, 0xa6, 0xdd, 0x0, 0xff, 0xe2, 0xb0, 0x29, + 0xfc, 0x4, 0xc0, 0xff, 0xe0, 0x90, 0x18, 0xf, + 0xf8, 0x86, 0x7, 0xfd, 0x0, 0x40, 0x3f, 0xc9, + 0x3, 0xa8, 0x92, 0xe0, 0x38, 0xa, 0x82, 0xbb, + 0x28, 0x8, 0xc0, 0xad, 0x20, 0x22, 0xf3, 0x0, + + /* U+48 "H" */ + 0xde, 0x81, 0xf2, 0xfc, 0x40, 0xff, 0xff, 0x81, + 0xff, 0xce, 0x27, 0xf0, 0x1c, 0xb6, 0xfa, 0x1, + 0xff, 0xc7, 0x5f, 0xfd, 0x40, 0xff, 0xff, 0x81, + 0xff, 0xdc, + + /* U+49 "I" */ + 0xdf, 0x1, 0xff, 0xed, + + /* U+4A "J" */ + 0x3, 0xfb, 0xf4, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0xfc, 0xf, 0xad, 0x20, 0x3e, 0xe1, 0x21, 0x3, + 0x10, 0x3d, 0x40, 0xd4, 0x2, 0x10, 0x1a, 0x8c, + 0x61, 0x10, 0xd0, 0x57, 0x30, 0x68, 0x15, 0x84, + 0x1, 0x78, 0x0, + + /* U+4B "K" */ + 0xde, 0x81, 0xeb, 0xf9, 0x1, 0xfc, 0xd0, 0x68, + 0xf, 0xc6, 0x3, 0x0, 0xfe, 0xe0, 0x38, 0x1f, + 0xd0, 0x8a, 0x40, 0xfc, 0x98, 0x48, 0x7, 0xf5, + 0x6, 0x81, 0xfd, 0x40, 0x70, 0x3f, 0x9a, 0x10, + 0x81, 0xf9, 0xc0, 0x18, 0xf, 0xe2, 0x4, 0x90, + 0xf, 0xf6, 0x1, 0x0, 0xfe, 0xc6, 0x82, 0xc0, + 0xf9, 0x10, 0x90, 0x42, 0x7, 0xfa, 0x0, 0x80, + 0x7f, 0x8b, 0x9, 0x0, 0xff, 0x40, 0x14, 0xf, + 0xfa, 0x80, 0x80, 0x7f, 0x92, 0x6, 0x40, 0xff, + 0x40, 0x1c, 0x0, + + /* U+4C "L" */ + 0xde, 0x81, 0xff, 0xff, 0x3, 0xff, 0xfe, 0x7, + 0xff, 0x64, 0x9f, 0x80, 0x96, 0xdf, 0x30, 0x3f, + 0xe0, + + /* U+4D "M" */ + 0xdf, 0xa0, 0x1f, 0xcf, 0xf8, 0x9, 0x1, 0xfd, + 0x80, 0xf1, 0x20, 0x3f, 0x20, 0x3e, 0xa0, 0x7c, + 0x80, 0xfc, 0x80, 0xfb, 0x81, 0xe4, 0x9, 0x1, + 0xe4, 0x10, 0x1b, 0x0, 0x40, 0x72, 0x1, 0x80, + 0xdd, 0x8a, 0x7, 0x70, 0x80, 0xf5, 0x4, 0xe, + 0x43, 0x81, 0xe2, 0x1, 0x81, 0x20, 0x8, 0xf, + 0x98, 0xa0, 0x58, 0x20, 0x3c, 0x45, 0x4, 0x9, + 0x8e, 0x7, 0xe2, 0x1, 0x82, 0x1, 0xe, 0x7, + 0xcc, 0x61, 0x42, 0x3, 0xfd, 0x42, 0xc, 0x70, + 0x3f, 0xc4, 0x4, 0x0, 0x80, 0xff, 0x98, 0x61, + 0x1, 0xff, 0xc0, 0xa0, 0x5c, 0xf, 0xfe, 0x1, + 0x2, 0x40, 0x7f, 0xf0, 0x58, 0x40, 0x7c, + + /* U+4E "N" */ + 0xdf, 0x80, 0xf9, 0x7e, 0x20, 0x4c, 0xf, 0xfe, + 0xc, 0x3, 0xff, 0x84, 0xc0, 0xff, 0xe0, 0xc0, + 0x3f, 0xe4, 0x44, 0x3, 0xfe, 0x81, 0x81, 0xff, + 0x22, 0x20, 0x1f, 0xf4, 0xc, 0xf, 0xf9, 0x11, + 0x0, 0xff, 0xa0, 0x60, 0x7f, 0xc8, 0x88, 0x7, + 0xfd, 0xc3, 0x20, 0x7f, 0x8a, 0x10, 0xf, 0xfa, + 0x5, 0x80, 0xff, 0x14, 0x18, 0x1f, 0xf4, 0x3, + 0xff, 0x82, 0x50, 0x1f, 0xfc, 0x18, 0x7, 0xff, + 0x4, 0xb0, 0x20, + + /* U+4F "O" */ + 0x3, 0x2b, 0xfd, 0x50, 0x1f, 0x5a, 0x40, 0x4a, + 0xc0, 0x3a, 0xa0, 0xad, 0x42, 0x1c, 0x2, 0x48, + 0x1d, 0x48, 0xf2, 0xc, 0x80, 0xe0, 0xc0, 0x3a, + 0x80, 0xa0, 0x10, 0x40, 0x7c, 0x82, 0x4, 0x6, + 0x3, 0xe2, 0x8, 0x1f, 0xfc, 0xe, 0x4, 0xc0, + 0x30, 0x3f, 0xfd, 0x8c, 0x3, 0x3, 0xff, 0x95, + 0xc0, 0x88, 0xc, 0x7, 0xc4, 0x10, 0x8, 0x20, + 0x3e, 0x41, 0x0, 0xe0, 0xc0, 0x3a, 0x0, 0xa0, + 0x12, 0x7, 0x51, 0x59, 0x86, 0x40, 0xaa, 0xa, + 0xea, 0x42, 0x80, 0x75, 0xa4, 0x4, 0xad, 0x1, + 0x0, + + /* U+50 "P" */ + 0xdf, 0xfd, 0x50, 0x1f, 0xf2, 0xb4, 0x6, 0x5b, + 0x6a, 0x82, 0x60, 0x62, 0x72, 0xa4, 0x40, 0x3f, + 0xd0, 0x2, 0x3, 0xf9, 0x80, 0x20, 0x7f, 0x10, + 0x3f, 0xf8, 0x8, 0x1, 0x3, 0xfb, 0x80, 0x40, + 0x7e, 0x88, 0x20, 0x25, 0xff, 0x30, 0x68, 0x1f, + 0xe7, 0x80, 0xcb, 0x6b, 0xfa, 0x1, 0xe2, 0x60, + 0x3f, 0xff, 0xe0, 0x7f, 0x80, + + /* U+51 "Q" */ + 0x3, 0x3d, 0xfd, 0x48, 0x1f, 0x68, 0x40, 0x96, + 0x80, 0x76, 0x21, 0x5a, 0x84, 0x36, 0x2, 0x64, + 0x4a, 0x91, 0xe2, 0x20, 0x15, 0x5, 0x81, 0xdc, + 0x3, 0x0, 0x45, 0x3, 0xc4, 0x86, 0x8, 0x2, + 0x3, 0xe4, 0x18, 0x1f, 0xfc, 0x22, 0x8, 0x2, + 0x7, 0xff, 0xb0, 0x80, 0x20, 0x7f, 0xf3, 0x8, + 0x40, 0x10, 0x1f, 0x20, 0xc0, 0x11, 0x40, 0xf1, + 0x21, 0x80, 0x50, 0x58, 0x1d, 0x0, 0x30, 0xc, + 0x89, 0x51, 0x79, 0x8, 0x6, 0xc4, 0x2b, 0xa1, + 0xd, 0x80, 0xed, 0x8, 0x1c, 0xc8, 0x1e, 0x7b, + 0xfa, 0x80, 0xc8, 0xf, 0xf2, 0xc0, 0x28, 0x1f, + 0xf1, 0xc7, 0x1, 0xff, 0xc0, 0x38, 0x80, + + /* U+52 "R" */ + 0xdf, 0xfb, 0x40, 0x3f, 0xe2, 0xf9, 0x3, 0x2d, + 0xb3, 0x1, 0xc0, 0xe2, 0x74, 0x60, 0xa0, 0x3f, + 0xa0, 0xc, 0x7, 0xff, 0x6b, 0x81, 0xfd, 0x0, + 0x20, 0x31, 0x3a, 0x30, 0x88, 0x12, 0xdb, 0x30, + 0x68, 0x1f, 0xe5, 0x80, 0xe5, 0xfc, 0xc2, 0x3, + 0xfd, 0x40, 0x30, 0x3f, 0x8a, 0x10, 0xf, 0xf7, + 0x0, 0xc0, 0xfe, 0x44, 0x50, 0x3f, 0xd4, 0x14, + 0x7, 0xf3, 0x1, 0xc0, 0xff, 0x30, 0x88, + + /* U+53 "S" */ + 0x2, 0x57, 0xfa, 0xa0, 0x3a, 0xd2, 0x2, 0x56, + 0x1, 0x44, 0x15, 0xd5, 0x6, 0x80, 0x30, 0xaa, + 0x2a, 0x91, 0x1, 0x1, 0xc0, 0xe8, 0x9, 0x30, + 0x3f, 0x30, 0xd, 0x80, 0x60, 0x38, 0xfe, 0x44, + 0x83, 0x60, 0x3f, 0xb8, 0x9, 0x90, 0x1f, 0x1c, + 0x41, 0xbe, 0x1, 0xe3, 0xa9, 0x0, 0xfb, 0x3, + 0xcb, 0x63, 0x1, 0x10, 0x1f, 0x19, 0x80, 0x50, + 0x3f, 0x8c, 0x0, 0x6f, 0xa0, 0x79, 0x0, 0x60, + 0x10, 0x1e, 0x60, 0x5c, 0x3, 0x3, 0xb8, 0x4, + 0xa1, 0x2a, 0x2a, 0xa0, 0x80, 0x54, 0x15, 0xd5, + 0x3, 0x40, 0xad, 0x20, 0x23, 0x30, 0x0, + + /* U+54 "T" */ + 0x3f, 0xff, 0xf0, 0x30, 0x1f, 0xfc, 0x23, 0xb7, + 0x0, 0x7b, 0x70, 0x27, 0x80, 0x89, 0xc0, 0x7f, + 0xff, 0xc0, 0xff, 0xff, 0x81, 0xff, 0xff, + + /* U+55 "U" */ + 0x3f, 0x90, 0x1e, 0x7f, 0x80, 0xff, 0xff, 0x81, + 0xff, 0xff, 0x3, 0xff, 0xbf, 0xc0, 0x88, 0x2, + 0x7, 0x88, 0x18, 0x8a, 0x7, 0x90, 0x60, 0x28, + 0x39, 0x12, 0x7c, 0x5, 0x0, 0xd8, 0x1b, 0xb2, + 0x0, 0xa4, 0xa, 0x64, 0x40, 0x17, 0xd0, 0x0, + + /* U+56 "V" */ + 0x5f, 0x98, 0x1f, 0xaf, 0xe0, 0x80, 0x60, 0x3f, + 0x20, 0x80, 0x20, 0x80, 0xf9, 0x0, 0xe0, 0x38, + 0x4, 0x7, 0xb0, 0x4, 0x1, 0x0, 0xc0, 0x79, + 0x4, 0x6, 0x41, 0x1, 0xc4, 0x86, 0x3, 0x60, + 0x48, 0xc, 0x80, 0x20, 0x33, 0x0, 0x80, 0xd8, + 0x12, 0x3, 0x88, 0xc0, 0x64, 0x10, 0x1e, 0xa1, + 0x1, 0x20, 0x14, 0xf, 0x20, 0x8, 0x6, 0x0, + 0x40, 0xf1, 0x21, 0x80, 0x20, 0xc0, 0xfc, 0x82, + 0x0, 0x46, 0x3, 0xf5, 0x4, 0x30, 0x8, 0xf, + 0xc4, 0x3, 0xc1, 0x1, 0xfe, 0x63, 0x21, 0xc0, + 0xff, 0x60, 0x80, 0x20, 0x3f, 0xc8, 0x9, 0x1, + 0xff, 0xc0, 0x40, 0x30, 0x1f, 0xfc, 0xc, 0x1, + 0x81, 0xe0, + + /* U+57 "W" */ + 0x1f, 0xa0, 0x1c, 0xbf, 0x1, 0xef, 0xcc, 0x20, + 0x40, 0xec, 0x0, 0x81, 0x88, 0x2, 0x8, 0x40, + 0x72, 0x0, 0x80, 0xcc, 0x2, 0x18, 0xf, 0x88, + 0xc, 0x6, 0xc0, 0x66, 0x1, 0x1, 0x10, 0x26, + 0x6, 0x21, 0x0, 0x20, 0x8, 0x12, 0x8, 0x10, + 0x32, 0x4, 0x9, 0xc, 0x5, 0x86, 0x41, 0x1, + 0xd8, 0x8, 0x86, 0x4, 0x82, 0xc3, 0x0, 0x20, + 0x10, 0x16, 0x4, 0x1, 0x0, 0x50, 0x40, 0x10, + 0x1e, 0x60, 0x8, 0x61, 0x2, 0x8, 0xe, 0x10, + 0x18, 0x80, 0x43, 0xc, 0x0, 0x82, 0x10, 0x20, + 0x71, 0x1c, 0x20, 0x80, 0x20, 0x81, 0x18, 0xe, + 0x41, 0x2, 0x8, 0xc, 0x31, 0x0, 0x80, 0xec, + 0xa, 0x8, 0x9, 0x6, 0xc0, 0x7e, 0x60, 0x30, + 0xc0, 0x71, 0xc1, 0x1, 0xe2, 0x1, 0x2, 0x6, + 0x41, 0x2, 0x7, 0xc4, 0x10, 0x80, 0xd8, 0x11, + 0x80, 0xf9, 0x0, 0x20, 0x72, 0x2, 0x60, 0x7d, + 0x80, 0x20, 0x38, 0x81, 0x10, 0x3e, 0x60, 0x30, + 0x1e, 0x41, 0x1, 0x80, + + /* U+58 "X" */ + 0x17, 0xf1, 0x3, 0xd7, 0xf1, 0x10, 0x4, 0x3, + 0x8a, 0x8, 0x82, 0x82, 0x20, 0x68, 0x2, 0x1, + 0x40, 0x10, 0x8, 0xa0, 0xc8, 0x11, 0x61, 0x10, + 0x10, 0x4, 0x3, 0xa0, 0x8, 0xa, 0xc, 0xf, + 0x98, 0x46, 0x0, 0x80, 0x7d, 0x0, 0x74, 0x18, + 0x1f, 0xd0, 0x10, 0x10, 0xf, 0xe6, 0x5, 0x0, + 0xff, 0xe1, 0x70, 0x3f, 0xd0, 0x9, 0x81, 0xfc, + 0x58, 0x40, 0x20, 0x1f, 0xa0, 0xa, 0xc3, 0x20, + 0x78, 0xa0, 0xc5, 0x1, 0x0, 0xf4, 0x1, 0x41, + 0x41, 0x10, 0x31, 0x41, 0x10, 0x10, 0x4, 0x3, + 0x40, 0x10, 0x8, 0xa0, 0x88, 0x4, 0x81, 0x10, + 0x34, 0x1, 0x0, 0x40, 0x10, 0xe, 0x28, 0x24, + + /* U+59 "Y" */ + 0x5f, 0x98, 0x1f, 0x6f, 0xc1, 0x0, 0xa0, 0x78, + 0x90, 0x60, 0x20, 0x28, 0xe, 0xa0, 0x28, 0x6, + 0x3, 0x81, 0xcc, 0x22, 0x4, 0xc2, 0x3, 0x30, + 0x10, 0xd, 0x0, 0x30, 0x2a, 0x9, 0x1, 0xc8, + 0x40, 0x4, 0x84, 0x3, 0xd0, 0x2, 0x10, 0x14, + 0x7, 0x89, 0xe, 0x10, 0xa0, 0x7e, 0x81, 0x40, + 0xc, 0xf, 0xc8, 0x86, 0x18, 0x1f, 0xea, 0x5, + 0x0, 0xff, 0x30, 0x8, 0xf, 0xfe, 0x11, 0x3, + 0xff, 0xfe, 0x7, 0xff, 0x24, + + /* U+5A "Z" */ + 0xbf, 0xff, 0xc0, 0x7f, 0xf0, 0xae, 0xdf, 0x80, + 0x10, 0x4, 0xfc, 0x80, 0x70, 0x3f, 0xa0, 0x44, + 0xf, 0xd0, 0x5, 0x3, 0xf1, 0x62, 0x1, 0xfd, + 0x0, 0x30, 0x3f, 0x24, 0x14, 0xf, 0xe8, 0xa, + 0x3, 0xf3, 0x23, 0x81, 0xfd, 0x2, 0x20, 0x7e, + 0x80, 0x28, 0x1f, 0x8b, 0xc, 0xf, 0xe8, 0x2, + 0x1, 0xf9, 0x20, 0xa0, 0x7f, 0x40, 0x50, 0x1f, + 0x99, 0x14, 0x9f, 0xc3, 0x0, 0x9b, 0x7e, 0x60, + 0x7f, 0xf0, 0x40, + + /* U+5B "[" */ + 0x1f, 0xe6, 0x7, 0xf5, 0xec, 0xf, 0xff, 0xf8, + 0x1f, 0xff, 0xb, 0xd8, 0x1e, + + /* U+5C "\\" */ + 0x1f, 0x88, 0x1f, 0x10, 0x80, 0xfa, 0x8a, 0x7, + 0xc8, 0x10, 0x3e, 0x24, 0x18, 0x1f, 0x21, 0x40, + 0xfa, 0x82, 0x7, 0xc4, 0x83, 0x3, 0xe4, 0x30, + 0x1f, 0x50, 0x80, 0xf8, 0x80, 0x60, 0x7c, 0xc6, + 0x3, 0xea, 0x10, 0x1f, 0x10, 0x8, 0xf, 0x98, + 0xe0, 0x7d, 0x82, 0x3, 0xe4, 0x1, 0x1, 0xf3, + 0x1c, 0xf, 0xb0, 0x40, 0x7c, 0x80, 0x20, 0x3e, + 0x43, 0x81, 0xf4, 0x78, + + /* U+5D "]" */ + 0x9f, 0xe0, 0x3a, 0x78, 0x7, 0xff, 0xfc, 0xf, + 0xfe, 0xcc, 0xf0, 0xf, 0x80, + + /* U+5E "^" */ + 0x3, 0x6e, 0x40, 0xf1, 0x21, 0x40, 0xf2, 0x0, + 0x80, 0xf5, 0x0, 0x48, 0xc, 0x4d, 0x5, 0x3, + 0x50, 0x90, 0x30, 0x32, 0x14, 0x90, 0x20, 0x9, + 0x2, 0x10, 0xa0, 0x28, 0x40, 0x28, 0x60, 0x18, + 0xe0, 0x8, 0x4, + + /* U+5F "_" */ + 0x3, 0xfe, 0xbf, 0xff, 0x80, 0xff, 0x80, + + /* U+60 "`" */ + 0x1b, 0xf1, 0x2, 0xc4, 0x70, 0x36, 0x5, 0x81, + 0xb0, 0x84, + + /* U+61 "a" */ + 0x2, 0x9b, 0xf6, 0x40, 0x6c, 0xc8, 0x3, 0x60, + 0xa, 0x45, 0xf9, 0x6, 0x42, 0x11, 0x3, 0x40, + 0x21, 0x69, 0x81, 0xf9, 0x20, 0x1f, 0xf4, 0xdf, + 0xc0, 0x63, 0xd9, 0x4, 0x80, 0xdc, 0x1b, 0xf6, + 0x1, 0x12, 0x1d, 0x1, 0xe4, 0x0, 0x81, 0xfe, + 0x20, 0x44, 0x9, 0x0, 0xe8, 0xbc, 0x3, 0x94, + 0xd, 0xd0, 0x90, 0x22, 0xc2, 0x1, 0xea, 0x80, + + /* U+62 "b" */ + 0x3f, 0x88, 0x1f, 0xff, 0xc7, 0xbf, 0x52, 0x7, + 0x48, 0x20, 0x16, 0x20, 0x64, 0xf6, 0x40, 0x1c, + 0xc, 0xe1, 0x27, 0x1, 0x20, 0x2a, 0x6, 0x60, + 0x18, 0x1f, 0xf1, 0x3, 0xfe, 0xe0, 0x7f, 0xf5, + 0xf8, 0x1f, 0xf1, 0x2, 0xa0, 0x66, 0x1, 0x1, + 0x38, 0x49, 0xc0, 0x80, 0xcd, 0xb6, 0x40, 0x10, + 0xd, 0x20, 0x80, 0x58, 0x80, + + /* U+63 "c" */ + 0x2, 0x9b, 0xf6, 0x40, 0x47, 0xb2, 0x0, 0xd8, + 0x2, 0x0, 0xbf, 0x30, 0xd1, 0x42, 0xa0, 0x61, + 0x1d, 0x0, 0x40, 0x6a, 0x1f, 0x4, 0xe, 0x77, + 0x90, 0x3f, 0x22, 0x7, 0xff, 0x28, 0x81, 0xfe, + 0xe0, 0x81, 0xcb, 0x62, 0x0, 0x80, 0xdc, 0xb2, + 0x42, 0xa0, 0x62, 0x1c, 0x70, 0x17, 0xe6, 0x1a, + 0x7, 0xb2, 0x0, 0xd8, 0x0, + + /* U+64 "d" */ + 0x3, 0xf3, 0xfc, 0x7, 0xff, 0xb4, 0xdf, 0xd9, + 0x1, 0x8e, 0x40, 0xd, 0xa0, 0x2e, 0x2, 0x6c, + 0x44, 0x2, 0x22, 0xb2, 0x55, 0x0, 0xc0, 0x10, + 0x1b, 0x0, 0x20, 0x81, 0xfe, 0x60, 0x7f, 0xf5, + 0x18, 0x1f, 0xb0, 0x20, 0x7e, 0x40, 0x10, 0x1b, + 0x0, 0x24, 0x2b, 0x25, 0x50, 0x17, 0x1, 0x36, + 0x24, 0x2, 0x39, 0x0, 0x37, 0x80, + + /* U+65 "e" */ + 0x2, 0x7b, 0xf6, 0x60, 0x76, 0x84, 0x1, 0x90, + 0x5, 0x48, 0x9b, 0x18, 0x64, 0x14, 0x2b, 0x25, + 0x0, 0x50, 0x80, 0x20, 0x33, 0x8, 0x70, 0x40, + 0xee, 0x8, 0x11, 0xff, 0xa0, 0x11, 0x3, 0xff, + 0x82, 0x7f, 0xfc, 0x8, 0x1f, 0xf7, 0x4, 0xf, + 0xe4, 0x1, 0x81, 0xcc, 0x1, 0x21, 0x19, 0x6, + 0xca, 0x3, 0x11, 0x37, 0xc8, 0x70, 0x2d, 0x8, + 0x2, 0xf2, 0x0, + + /* U+66 "f" */ + 0x3, 0xff, 0x82, 0xb7, 0xe8, 0x4, 0xa9, 0x3, + 0xd0, 0x6, 0xf0, 0x8, 0x88, 0x40, 0xf8, 0x81, + 0xff, 0xc1, 0xfc, 0x2, 0xfc, 0x7, 0xfd, 0xf8, + 0x5, 0xf8, 0xf, 0xff, 0xf8, 0x1f, 0xfd, 0x60, + + /* U+67 "g" */ + 0x0, 0x6f, 0xec, 0x8f, 0xe0, 0x72, 0x0, 0x6c, + 0x2, 0xe0, 0x26, 0xc4, 0x80, 0x9, 0x8, 0xc9, + 0x54, 0x1, 0x0, 0x60, 0x6c, 0x3, 0x82, 0x7, + 0xe2, 0x7, 0xff, 0x50, 0x81, 0xfe, 0xe0, 0x81, + 0xf9, 0x0, 0x40, 0x6c, 0x0, 0x90, 0xac, 0x95, + 0x40, 0x5c, 0x4, 0xd8, 0x88, 0x11, 0xc8, 0x1, + 0xb4, 0x6, 0x37, 0xf6, 0x40, 0x7f, 0xdc, 0xc, + 0x80, 0xe4, 0x10, 0x76, 0x88, 0x38, 0x8e, 0x4, + 0xb7, 0xc4, 0x34, 0x1e, 0x64, 0x2, 0xb0, 0x0, + + /* U+68 "h" */ + 0x3f, 0x88, 0x1f, 0xff, 0x65, 0xbf, 0x40, 0x3a, + 0x52, 0x1, 0xe0, 0x32, 0x4d, 0x88, 0x14, 0x4, + 0xa9, 0x2a, 0x3, 0x1, 0x70, 0x31, 0x4, 0x9, + 0x81, 0x98, 0x1f, 0xfc, 0x6, 0x7, 0xff, 0xfc, + 0xf, 0xfe, 0x8, + + /* U+69 "i" */ + 0x17, 0xa0, 0x86, 0xc, 0xd1, 0x31, 0x3, 0xbf, + 0x30, 0x3f, 0xfd, 0x80, + + /* U+6A "j" */ + 0x2, 0xd8, 0x4, 0x89, 0x20, 0x9, 0xa, 0x2, + 0xb8, 0xf, 0xe3, 0xf9, 0x1, 0xff, 0xff, 0x3, + 0xff, 0x9c, 0xc1, 0x80, 0xa, 0xc8, 0x20, 0xc0, + 0x2a, 0x0, + + /* U+6B "k" */ + 0x3f, 0x90, 0x1f, 0xff, 0xf9, 0xf9, 0x81, 0xf1, + 0x61, 0x30, 0x3e, 0xc0, 0xd0, 0x3e, 0xa0, 0x38, + 0x1f, 0x34, 0x21, 0x3, 0xc6, 0x4, 0xc0, 0xfa, + 0x0, 0xe0, 0x7f, 0xd0, 0xf, 0xe8, 0xb, 0x3, + 0xe8, 0xd0, 0x80, 0x7c, 0x45, 0x1, 0x40, 0xfe, + 0x81, 0x10, 0x3f, 0x30, 0x1c, 0xf, 0xea, 0xb, + 0x3, 0xf2, 0x41, 0x0, + + /* U+6C "l" */ + 0xfc, 0xc0, 0xff, 0xf8, 0x0, + + /* U+6D "m" */ + 0x3f, 0x8b, 0xdf, 0xa0, 0x3, 0x7f, 0x64, 0x7, + 0x78, 0x40, 0x3a, 0xb2, 0x0, 0x6a, 0x3, 0x19, + 0xa9, 0xa, 0x8b, 0xa0, 0x8, 0x6, 0x8c, 0xac, + 0x5, 0x91, 0x70, 0x10, 0x32, 0x3, 0x10, 0x4, + 0x9, 0x0, 0x20, 0x7e, 0x60, 0x81, 0xff, 0xce, + 0x60, 0x7f, 0xff, 0xc0, 0xff, 0xff, 0x80, + + /* U+6E "n" */ + 0x3f, 0x8a, 0xdf, 0xa0, 0x1d, 0x29, 0x0, 0xf0, + 0x19, 0x26, 0xc4, 0xa, 0x2, 0x54, 0x95, 0x1, + 0x80, 0xb8, 0x18, 0x82, 0x4, 0xc0, 0xcc, 0xf, + 0xfe, 0x3, 0x3, 0xff, 0xfe, 0x7, 0xff, 0x4, + + /* U+6F "o" */ + 0x2, 0x7b, 0xf6, 0x60, 0x75, 0x84, 0x1, 0x98, + 0xa, 0x20, 0xf6, 0x30, 0x68, 0x2c, 0x38, 0x4a, + 0x40, 0x45, 0x0, 0x80, 0x66, 0x1, 0x70, 0x40, + 0xf1, 0x18, 0x81, 0xf9, 0x81, 0x98, 0x1f, 0x98, + 0x6, 0x7, 0xe6, 0x40, 0xff, 0xb8, 0x20, 0x79, + 0xc, 0x80, 0x40, 0x32, 0x0, 0x8b, 0xe, 0x0, + 0x74, 0x22, 0x22, 0xf, 0xf4, 0x6, 0x81, 0x58, + 0x40, 0x19, 0x80, 0x0, + + /* U+70 "p" */ + 0x3f, 0x83, 0xdf, 0xa9, 0x3, 0xac, 0x20, 0x16, + 0x20, 0x64, 0xf6, 0x30, 0x10, 0xd, 0x20, 0x94, + 0x41, 0x1, 0x90, 0x1a, 0x0, 0x40, 0x7e, 0x20, + 0x8, 0x1f, 0xf7, 0x3, 0xff, 0x97, 0xc0, 0xff, + 0xe4, 0x10, 0x4, 0x9, 0x1, 0xa8, 0x4, 0x5, + 0x18, 0x6, 0xc1, 0x1, 0x8c, 0xfd, 0x0, 0x40, + 0x37, 0x84, 0x2, 0xc4, 0xe, 0x7b, 0xf5, 0x20, + 0x7f, 0xfc, 0x80, + + /* U+71 "q" */ + 0x0, 0x6f, 0xec, 0xd7, 0xe0, 0x72, 0x0, 0x64, + 0x1, 0x70, 0x13, 0xe6, 0x40, 0x22, 0x23, 0x6, + 0x30, 0x18, 0x3, 0x3, 0x70, 0x4, 0x10, 0x3f, + 0xcc, 0xf, 0xfe, 0xa3, 0x3, 0xf1, 0x4, 0xf, + 0xd8, 0x3, 0x3, 0x70, 0x8, 0x88, 0xc1, 0x8c, + 0xb, 0x80, 0x9f, 0x32, 0x4, 0x72, 0x0, 0x6d, + 0x1, 0x8d, 0xfd, 0x90, 0x1f, 0xfe, 0xe0, + + /* U+72 "r" */ + 0x3f, 0x8c, 0xfc, 0x5, 0xd8, 0x1c, 0x4a, 0x40, + 0x11, 0xcd, 0x80, 0xa0, 0x1e, 0x60, 0x7f, 0xfd, + 0x80, + + /* U+73 "s" */ + 0x0, 0x6f, 0xf5, 0x20, 0x47, 0x20, 0x25, 0x88, + 0xe, 0xd, 0xf4, 0x7, 0x4, 0x84, 0x41, 0x40, + 0x48, 0xf, 0x9c, 0x82, 0x40, 0x2a, 0x2, 0x6c, + 0x2, 0x80, 0xb9, 0x1, 0xcb, 0xa0, 0x6e, 0x40, + 0x75, 0xcc, 0x1b, 0x0, 0xe3, 0x39, 0xc, 0xa8, + 0xc0, 0xdc, 0x2, 0x2e, 0x1, 0x88, 0x2, 0xc0, + 0x64, 0xd, 0x0, 0x85, 0x6, 0xfc, 0x84, 0x0, + 0xb2, 0x2, 0x55, 0x80, + + /* U+74 "t" */ + 0x0, 0x63, 0x3, 0x93, 0x80, 0x7f, 0xf1, 0xef, + 0x80, 0x3f, 0x10, 0x3f, 0x5f, 0x0, 0x7e, 0x20, + 0x7f, 0xff, 0x88, 0x6, 0x40, 0x90, 0x9, 0x88, + 0x16, 0x20, 0x40, + + /* U+75 "u" */ + 0x3f, 0x88, 0x1a, 0xfa, 0x7, 0xff, 0xfc, 0xf, + 0xfe, 0xb9, 0x0, 0x80, 0xc8, 0x8, 0x88, 0x8a, + 0xc0, 0x68, 0x2, 0xea, 0x40, 0xca, 0x90, 0xa, + 0xb0, 0x0, + + /* U+76 "v" */ + 0x3f, 0x88, 0x19, 0x7e, 0x24, 0x1, 0x1, 0xb0, + 0x24, 0x10, 0xc0, 0x64, 0x10, 0xe, 0x10, 0x18, + 0x8c, 0x1, 0x0, 0x40, 0x10, 0x4, 0x4, 0x86, + 0x1, 0x82, 0x3, 0x60, 0x80, 0x21, 0x80, 0xc8, + 0x10, 0x4, 0x30, 0x31, 0x20, 0x90, 0x10, 0x3c, + 0x86, 0xc1, 0x40, 0xf6, 0x9, 0x2, 0x3, 0xc8, + 0x12, 0x4, 0xf, 0x90, 0x6, 0x7, 0xee, 0x3, + 0x1, 0xf9, 0x0, 0x40, 0x60, + + /* U+77 "w" */ + 0x3f, 0x88, 0x1b, 0xf1, 0x3, 0x7e, 0x44, 0x2, + 0x2, 0x40, 0x10, 0x11, 0x0, 0x82, 0x18, 0xb, + 0x0, 0xc0, 0x48, 0x10, 0x18, 0x30, 0x24, 0x1, + 0x1, 0x60, 0xc0, 0x20, 0x40, 0x88, 0x11, 0x0, + 0xc6, 0x0, 0x40, 0x20, 0x82, 0x40, 0x80, 0x10, + 0x80, 0x88, 0xc3, 0xd, 0xc6, 0x8, 0x1, 0x2, + 0x40, 0x84, 0x12, 0x4, 0x8, 0x40, 0x6c, 0x11, + 0x20, 0x41, 0xb, 0xc, 0x6, 0x40, 0x28, 0x40, + 0x10, 0xc8, 0x20, 0x38, 0x86, 0x30, 0xc, 0x18, + 0x2, 0x7, 0x20, 0x24, 0x1, 0x1, 0x20, 0x3d, + 0x80, 0x88, 0x12, 0x1, 0x80, 0xf2, 0x0, 0xc0, + 0xd8, 0x2, 0x3, 0xe2, 0x30, 0x19, 0x0, 0x20, + 0x40, + + /* U+78 "x" */ + 0x1f, 0xb0, 0x1a, 0x7e, 0x22, 0x82, 0x80, 0x98, + 0x64, 0x22, 0x38, 0x8, 0x2, 0x1, 0x40, 0x88, + 0x61, 0x81, 0x92, 0x8, 0xc0, 0x40, 0x3a, 0x5, + 0x4, 0x3, 0xc5, 0x0, 0x2c, 0xf, 0xb8, 0x4, + 0x7, 0xe8, 0x1, 0x81, 0xf2, 0x20, 0x88, 0x7, + 0xa0, 0x70, 0x30, 0x39, 0x91, 0x51, 0x14, 0xd, + 0x2, 0x22, 0x84, 0x40, 0x30, 0x10, 0x3, 0x1, + 0x0, 0x40, 0x88, 0x14, 0x9, 0x0, + + /* U+79 "y" */ + 0x5f, 0x90, 0x1a, 0x7e, 0x8, 0x6, 0x3, 0x20, + 0x80, 0x10, 0x80, 0xc4, 0x60, 0x14, 0x10, 0x24, + 0x1, 0x80, 0x40, 0x10, 0xc, 0x8, 0x11, 0x1, + 0x80, 0x20, 0x80, 0xcc, 0x20, 0x4, 0x60, 0x36, + 0x4, 0x20, 0x8, 0xc, 0x80, 0x2c, 0x10, 0x1e, + 0x43, 0x21, 0x80, 0xf6, 0x8, 0x84, 0x7, 0x90, + 0x20, 0x90, 0x1e, 0x24, 0x1, 0x1, 0xf9, 0x0, + 0xc0, 0x7e, 0xc0, 0x10, 0x1f, 0xe4, 0x7, 0xf7, + 0x18, 0xf, 0xe4, 0x10, 0x1e, 0x2b, 0x4, 0x40, + 0xf7, 0xa4, 0x40, 0x3e, 0x60, 0xe2, 0x7, 0x80, + + /* U+7A "z" */ + 0xbf, 0xff, 0x1, 0xff, 0xc0, 0xbf, 0xf5, 0x1, + 0x0, 0xfa, 0x2, 0xc0, 0xf3, 0x23, 0x81, 0xf4, + 0x8, 0x81, 0xea, 0x2, 0x81, 0xe4, 0x82, 0x1, + 0xf4, 0x5, 0x81, 0xe6, 0x47, 0x3, 0xe8, 0x19, + 0x3, 0xd4, 0x4, 0x3, 0xc9, 0x4, 0x3, 0xee, + 0x2, 0x7f, 0xe2, 0x7, 0xfc, + + /* U+7B "{" */ + 0x3, 0xe2, 0x7, 0x2f, 0xc0, 0x65, 0x42, 0x3, + 0x50, 0xe0, 0x12, 0x1, 0x0, 0xc4, 0x10, 0x3b, + 0x81, 0xf1, 0x3, 0xff, 0x8a, 0xc0, 0xff, 0xe0, + 0xa0, 0x40, 0xd0, 0x5, 0x2, 0xec, 0x52, 0x7, + 0xfd, 0xd8, 0xa4, 0xd, 0x0, 0x20, 0x39, 0xc, + 0x7, 0xff, 0xd, 0x81, 0xff, 0xc1, 0x20, 0x7f, + 0xf0, 0xf0, 0x20, 0x72, 0x1, 0x0, 0xea, 0x1c, + 0x3, 0x2a, 0x10, 0x1c, 0xbf, 0x0, + + /* U+7C "|" */ + 0x9d, 0x81, 0xff, 0xf6, 0xcd, 0x0, + + /* U+7D "}" */ + 0x4, 0xf, 0x1d, 0x40, 0xf1, 0x58, 0xc, 0x70, + 0x2c, 0xe, 0x62, 0x81, 0xd8, 0x10, 0x39, 0x80, + 0x20, 0x7f, 0xf4, 0xd8, 0x18, 0x80, 0x20, 0x73, + 0x11, 0x1, 0xa2, 0x16, 0x1, 0xff, 0x44, 0x2c, + 0x2, 0x61, 0xa0, 0x22, 0x3, 0x1, 0xf3, 0x3, + 0xff, 0xa0, 0xc0, 0x10, 0x36, 0x4, 0xe, 0x62, + 0x81, 0x1c, 0xb, 0x3, 0x15, 0x80, 0xc7, 0x50, + 0x38, + + /* U+7E "~" */ + 0x3, 0x10, 0x3f, 0xe9, 0xf7, 0x80, 0x63, 0xa8, + 0x6c, 0x4, 0xf0, 0x12, 0x20, 0x20, 0x9e, 0x83, + 0x92, 0x41, 0xc8, 0x6, 0x16, 0x6, 0xd0, 0x48, + 0x1c, 0x2, 0x3d, 0x0, 0x74, 0x0, + + /* U+F001 "ï€" */ + 0x3, 0xff, 0x9c, 0x40, 0xff, 0xe5, 0x99, 0xbe, + 0x80, 0x7f, 0xf1, 0xd5, 0xf9, 0x90, 0xc, 0xf, + 0xfe, 0x19, 0x7b, 0xd4, 0x7, 0xff, 0x1d, 0x4f, + 0xa1, 0x3, 0xff, 0x8e, 0xef, 0xac, 0xf, 0xfe, + 0x4c, 0xf1, 0x1, 0xff, 0xcc, 0x60, 0x7f, 0xf7, + 0xda, 0x3, 0xff, 0x94, 0x66, 0xf0, 0x81, 0xff, + 0xc7, 0x57, 0xe6, 0x40, 0xff, 0xe3, 0x17, 0xbd, + 0x40, 0x7f, 0xf2, 0x16, 0xc8, 0x40, 0xff, 0xe5, + 0x92, 0x3, 0xff, 0xfe, 0x7, 0xff, 0xf5, 0xdd, + 0x50, 0x1f, 0xfc, 0x95, 0xe2, 0x28, 0x81, 0xff, + 0xc8, 0x34, 0xf, 0xfe, 0x9, 0x30, 0x1f, 0xe4, + 0x7, 0xfc, 0x77, 0xda, 0x3, 0xfc, 0x40, 0xfe, + 0x2b, 0x10, 0x3f, 0xf8, 0x49, 0x0, 0xfd, 0x20, + 0xf, 0xfe, 0x2d, 0x80, 0x72, 0xc8, 0x81, 0xfd, + 0xc0, 0xfc, 0xff, 0x6c, 0xf4, 0x84, 0x7, 0xf2, + 0x3, 0xfe, 0x24, 0x6, 0xa8, 0xf, 0xa9, 0x3, + 0xff, 0x8d, 0x74, 0x48, 0xef, 0x40, 0x7f, 0xf1, + 0x80, + + /* U+F005 "" */ + 0x3, 0xff, 0x86, 0xd0, 0x1f, 0xfd, 0xd, 0x2a, + 0x3, 0xff, 0x9c, 0x88, 0x8, 0x7, 0xff, 0x3a, + 0x1, 0x14, 0x7, 0xff, 0x31, 0x10, 0x34, 0x3, + 0xff, 0x99, 0x0, 0xe2, 0x80, 0xff, 0xe5, 0x22, + 0x7, 0xa0, 0x1f, 0xfc, 0xa8, 0x7, 0xc5, 0x1, + 0xff, 0xc7, 0x2c, 0x81, 0xfa, 0x10, 0x3f, 0xf8, + 0x5, 0xcb, 0xbe, 0x80, 0x7f, 0x1d, 0xfb, 0x46, + 0x88, 0x13, 0xfa, 0x34, 0x40, 0xff, 0xe2, 0x17, + 0x2e, 0xc0, 0x14, 0xf, 0xfe, 0x79, 0x41, 0x1, + 0xff, 0xd0, 0x62, 0x20, 0x3f, 0xf9, 0xd8, 0x80, + 0xa8, 0xf, 0xfe, 0x66, 0x20, 0x6a, 0x80, 0xff, + 0xe5, 0x62, 0x7, 0xab, 0x3, 0xff, 0x91, 0x88, + 0x1f, 0xa3, 0x3, 0xff, 0x8d, 0x88, 0x1f, 0xe8, + 0x80, 0xff, 0xe2, 0x62, 0x7, 0xff, 0x7d, 0x1, + 0xff, 0xc4, 0x40, 0x7f, 0xf4, 0xb8, 0x1f, 0xfc, + 0x2, 0x7, 0xff, 0x15, 0x1, 0xff, 0xc0, 0x40, + 0x7f, 0xf1, 0x48, 0x1f, 0xfc, 0xe, 0x7, 0xe4, + 0x7, 0xff, 0x25, 0x1, 0xe5, 0xaf, 0x80, 0x7c, + 0x80, 0xff, 0x88, 0x18, 0xda, 0x20, 0x1f, 0x60, + 0x71, 0x3, 0xfe, 0x40, 0xd, 0xc8, 0xf, 0x4e, + 0xc0, 0x88, 0x1f, 0xf5, 0x97, 0x20, 0x3f, 0xd3, + 0xca, 0x80, 0xe0, + + /* U+F007 "" */ + 0x3, 0xfe, 0x28, 0x81, 0xff, 0xc7, 0x37, 0xeb, + 0xbb, 0x3, 0xff, 0x88, 0xf2, 0x3, 0xa6, 0x3, + 0xff, 0x84, 0xa0, 0x1f, 0x8e, 0x3, 0xff, 0x83, + 0x40, 0xff, 0x16, 0x7, 0xfc, 0xc0, 0xff, 0xe0, + 0x40, 0x3f, 0xec, 0x7, 0xff, 0x4, 0x81, 0xff, + 0xf0, 0x20, 0x7f, 0xf0, 0x48, 0x1f, 0xea, 0x7, + 0xff, 0x1, 0x1, 0xff, 0x14, 0x7, 0xfd, 0x0, + 0xff, 0xe0, 0x52, 0x7, 0xf5, 0x20, 0x7f, 0xf0, + 0x73, 0x3, 0xea, 0x80, 0xff, 0xe1, 0xcd, 0x12, + 0x3b, 0xd0, 0x1f, 0xfc, 0x52, 0xed, 0x44, 0x7, + 0xff, 0x8, 0xcb, 0xab, 0x20, 0x4a, 0x6c, 0xac, + 0xf, 0xd7, 0x34, 0x54, 0xdf, 0xd5, 0x92, 0x53, + 0xa0, 0x3b, 0x20, 0x3f, 0xf8, 0xb5, 0x81, 0x62, + 0x7, 0xff, 0x1e, 0x20, 0x88, 0x1f, 0xfc, 0x98, + 0x38, 0x1f, 0xfc, 0xa2, 0x48, 0xf, 0xfe, 0x5a, + 0x3, 0xff, 0xcb, 0xc0, 0xff, 0xe6, 0x72, 0x7, + 0xff, 0x2c, 0xc0, 0x3f, 0xf9, 0x45, 0x26, 0x93, + 0xff, 0x91, 0x70, + + /* U+F00C "" */ + 0x3, 0xff, 0x96, 0xbc, 0x3, 0xff, 0x98, 0xe8, + 0x74, 0xf, 0xfe, 0x53, 0x80, 0x4a, 0x1, 0xff, + 0xc8, 0x70, 0xe, 0x60, 0x7f, 0xf1, 0xdc, 0x3, + 0xcc, 0xf, 0xfe, 0x33, 0x80, 0x79, 0xc0, 0x3f, + 0xf8, 0xae, 0x1, 0xe7, 0x0, 0xa7, 0x40, 0x7f, + 0xce, 0x1, 0xe7, 0x0, 0xab, 0x15, 0x81, 0xfc, + 0xe0, 0x1e, 0x70, 0xa, 0x20, 0x28, 0xc0, 0xf9, + 0xc0, 0x3c, 0xe0, 0x19, 0x81, 0xd1, 0x81, 0xce, + 0x1, 0xe7, 0x0, 0xe6, 0x7, 0xa3, 0x2, 0x70, + 0xf, 0x38, 0x7, 0xa3, 0x3, 0xd1, 0x87, 0x0, + 0xf3, 0x80, 0x7e, 0x8c, 0xf, 0x4b, 0x0, 0xf3, + 0x80, 0x7f, 0xa3, 0x3, 0xc8, 0xf, 0x38, 0x7, + 0xff, 0x2, 0x30, 0x3f, 0xe7, 0x0, 0xff, 0xe1, + 0x46, 0x7, 0xf3, 0x80, 0x7f, 0xf1, 0x23, 0x3, + 0xe9, 0x0, 0x7f, 0xf1, 0xa4, 0x1, 0xd1, 0x81, + 0xff, 0xc8, 0x70, 0xa, 0x30, 0x3f, 0xf9, 0x4e, + 0x8, 0xc0, 0xff, 0xe1, 0x80, + + /* U+F00D "ï€" */ + 0x3, 0xff, 0x92, 0xff, 0x20, 0x3f, 0x8e, 0xf4, + 0x3, 0x80, 0x2a, 0x3, 0xe3, 0x88, 0x54, 0x40, + 0x35, 0x40, 0x71, 0xc0, 0x64, 0x48, 0xe, 0xa8, + 0x8, 0xe0, 0x3c, 0x78, 0x1e, 0xa8, 0x1c, 0x7, + 0xa8, 0x38, 0xf, 0x57, 0x80, 0xf5, 0x40, 0xe, + 0x3, 0xd0, 0xf, 0x54, 0x6, 0x38, 0xf, 0xfa, + 0xa0, 0x3c, 0x70, 0x1f, 0xd5, 0x1, 0xf8, 0xd0, + 0x3e, 0x68, 0xf, 0xe3, 0x40, 0xf9, 0xa0, 0x3f, + 0x1c, 0x7, 0xf5, 0x40, 0x78, 0xe0, 0x3f, 0xea, + 0x80, 0xc7, 0x1, 0xe8, 0x7, 0xaa, 0x0, 0x70, + 0x1e, 0xaf, 0x1, 0xea, 0x87, 0x3, 0xd5, 0x3, + 0x80, 0xf5, 0x4, 0xe, 0xa8, 0x8, 0xe0, 0x3c, + 0x60, 0x1a, 0xa0, 0x38, 0xe0, 0x32, 0x2e, 0x0, + 0xa8, 0xf, 0x8e, 0x21, 0x50, 0xf, 0xf2, 0x3, + 0xf8, 0xef, 0x40, 0x0, + + /* U+F011 "" */ + 0x3, 0xff, 0x80, 0xe4, 0x30, 0x3f, 0xf9, 0x66, + 0x36, 0x84, 0xf, 0xff, 0xd, 0x80, 0x7f, 0xf0, + 0x25, 0x3, 0xfc, 0x7a, 0x6c, 0x7, 0xf9, 0xb2, + 0xe4, 0xf, 0x8e, 0x2, 0x80, 0x7f, 0xa0, 0x16, + 0x20, 0x7b, 0x81, 0xff, 0xc8, 0xe0, 0x74, 0x20, + 0x6c, 0x7, 0xfb, 0x1, 0x8c, 0x2, 0x2c, 0xd, + 0x88, 0x1f, 0xe3, 0x80, 0xcc, 0x80, 0xa0, 0x6a, + 0x40, 0xff, 0xe0, 0x1a, 0x6, 0xa0, 0x18, 0x11, + 0x40, 0x7f, 0xf0, 0x91, 0x2, 0x60, 0x81, 0xa0, + 0x1f, 0xfc, 0x4a, 0x6, 0x28, 0xc, 0x80, 0xff, + 0xe2, 0x30, 0x32, 0x3, 0xff, 0x9f, 0xf8, 0x8, + 0x81, 0xff, 0xc6, 0x20, 0x7e, 0x20, 0x78, 0x81, + 0x88, 0x1e, 0x20, 0x5f, 0x80, 0xff, 0xbe, 0xce, + 0x7, 0xff, 0x1, 0x1, 0x90, 0x1f, 0x12, 0x3, + 0xe4, 0x6, 0x44, 0xd, 0xc0, 0xff, 0xe2, 0x70, + 0x31, 0xc, 0x9, 0x20, 0x1f, 0xfc, 0x24, 0x80, + 0x4c, 0x5, 0x3, 0x52, 0x7, 0xff, 0x0, 0xd0, + 0x35, 0x0, 0x58, 0x1b, 0x10, 0x3f, 0xc7, 0x1, + 0x99, 0x2, 0x80, 0x76, 0x80, 0x7e, 0x98, 0xc, + 0x60, 0x1d, 0x80, 0xe7, 0xeb, 0x48, 0xef, 0x60, + 0x77, 0x3, 0xc7, 0x1, 0xe5, 0x2d, 0x44, 0x7, + 0xb1, 0x3, 0xe3, 0x88, 0x1f, 0xfc, 0x23, 0xc8, + 0x1f, 0xc7, 0x40, 0x3f, 0xf8, 0x13, 0x1, 0xff, + 0xc1, 0x7e, 0xb2, 0x6, 0x2e, 0xf6, 0x7, 0xff, + 0x11, 0x4d, 0xfe, 0xd1, 0x1, 0xfc, + + /* U+F012 "" */ + 0x3, 0xff, 0xa0, 0xed, 0x88, 0x1f, 0xfd, 0x8, + 0x96, 0x3, 0xff, 0xfe, 0x7, 0xff, 0x84, 0xb7, + 0x1, 0xff, 0xd1, 0xd2, 0x4c, 0xf, 0xff, 0xf8, + 0x1f, 0xfe, 0x22, 0x60, 0x3f, 0xfa, 0x3b, 0x64, + 0x7, 0xff, 0x40, 0x81, 0x10, 0x3f, 0xff, 0xe0, + 0x7f, 0xf8, 0x6f, 0xf1, 0x3, 0xff, 0xa0, 0x80, + 0x90, 0x1f, 0xff, 0xf0, 0x3f, 0xfc, 0x2e, 0xd8, + 0x81, 0xff, 0xd0, 0x89, 0x60, 0x3f, 0xff, 0xe0, + 0x7f, 0xff, 0xc0, 0xff, 0x10, 0x3c, 0x40, 0xf1, + 0x3, 0xc4, 0xf, 0x10, 0x36, 0xb6, 0x60, 0x3d, + 0xb3, 0x1, 0xed, 0x98, 0xf, 0x6c, 0xc0, 0x7b, + 0x66, + + /* U+F013 "" */ + 0x3, 0xff, 0xb0, 0x77, 0xfb, 0x30, 0x3f, 0xf8, + 0xec, 0x81, 0x8e, 0x3, 0xff, 0xc5, 0x80, 0xf3, + 0x3, 0xff, 0x83, 0xa0, 0x5, 0x98, 0x1e, 0x3e, + 0x0, 0x79, 0x1, 0xd8, 0xbf, 0x68, 0x81, 0xfc, + 0xf6, 0x43, 0x48, 0x13, 0x20, 0x48, 0xf, 0xfe, + 0x1, 0x20, 0x28, 0x5, 0x0, 0xff, 0xe5, 0x24, + 0xc, 0xf, 0xfe, 0x67, 0x14, 0xf, 0xf4, 0xd9, + 0x48, 0x1f, 0xc8, 0x72, 0x7, 0xee, 0xc9, 0x2c, + 0x80, 0xfd, 0x1, 0xd0, 0xf, 0x50, 0x3d, 0x40, + 0xf2, 0xec, 0x8, 0x81, 0xe4, 0x7, 0xcc, 0xe, + 0x20, 0x7f, 0xc4, 0xf, 0xfe, 0x11, 0x3, 0xfe, + 0x20, 0x7f, 0xf0, 0x88, 0x1c, 0x40, 0xf2, 0x3, + 0xe6, 0x7, 0x10, 0x23, 0xa0, 0x1e, 0xa0, 0x7a, + 0x81, 0xe5, 0xd8, 0xe4, 0xf, 0xdd, 0x92, 0x59, + 0x1, 0xfa, 0xa, 0x7, 0xfa, 0x6c, 0xa4, 0xf, + 0xe4, 0x18, 0x1f, 0xfc, 0xce, 0x2, 0x1, 0xff, + 0xca, 0x48, 0x1, 0x90, 0x24, 0x7, 0xff, 0x0, + 0x90, 0x15, 0x3, 0x62, 0xfd, 0xa2, 0x7, 0xf3, + 0xd9, 0x4d, 0x3, 0xda, 0x0, 0x59, 0x81, 0xe3, + 0xe0, 0x5, 0x90, 0x1f, 0xfc, 0xc, 0x7, 0x98, + 0x1f, 0xfe, 0x26, 0x40, 0xc7, 0x1, 0xff, 0xc7, + 0x3b, 0xfd, 0x98, 0x1f, 0xe0, + + /* U+F015 "" */ + 0x3, 0xff, 0x84, 0x5b, 0x1, 0xca, 0x49, 0x1, + 0xff, 0xc6, 0x7a, 0x46, 0x3, 0x76, 0xee, 0x7, + 0xff, 0x16, 0xc0, 0x23, 0xc8, 0x1f, 0xfc, 0xbc, + 0x80, 0xf6, 0x60, 0x7f, 0xf2, 0xf, 0x20, 0x4c, + 0x81, 0x48, 0x3, 0xff, 0x8c, 0xf0, 0x1b, 0x4c, + 0x80, 0x9a, 0x3, 0xff, 0x89, 0x20, 0x8, 0xe2, + 0x42, 0xc0, 0x3f, 0xf8, 0xf5, 0x81, 0x2c, 0x66, + 0xc2, 0xe8, 0x1f, 0xfc, 0x43, 0x90, 0x13, 0xa2, + 0xb0, 0x72, 0x4c, 0x40, 0xff, 0xe0, 0xac, 0x40, + 0xac, 0x39, 0x1, 0xab, 0x39, 0x1, 0x2a, 0x7, + 0x9d, 0x3, 0x64, 0x71, 0x3, 0xd2, 0x8a, 0xc0, + 0x96, 0x3, 0x58, 0x4, 0x79, 0x78, 0xf, 0xe5, + 0x84, 0x80, 0x23, 0xc8, 0xa8, 0x9, 0x61, 0x20, + 0xf, 0xf8, 0xf2, 0xe8, 0x1b, 0x20, 0x34, 0xa2, + 0xb0, 0x3f, 0xf8, 0x59, 0x26, 0x20, 0x4e, 0x91, + 0x59, 0xc8, 0xf, 0xfe, 0x25, 0x87, 0x21, 0x8, + 0xd8, 0x84, 0x20, 0x7f, 0xf1, 0x99, 0x17, 0x30, + 0x22, 0x1, 0x81, 0xff, 0xc8, 0x60, 0x8, 0x1f, + 0xfe, 0x3b, 0xfe, 0x20, 0x7f, 0xf3, 0x98, 0x19, + 0x81, 0xff, 0xff, 0x3, 0xff, 0xf6, 0x80, 0xf1, + 0x20, 0x36, 0x3, 0xe4, 0x7, 0x0, + + /* U+F01E "" */ + 0x3, 0xff, 0x98, 0xe4, 0x20, 0x3f, 0x94, 0xdf, + 0xea, 0xc0, 0xf4, 0x6d, 0x0, 0xf9, 0xfa, 0xc8, + 0x19, 0x4f, 0x48, 0x1f, 0xfc, 0x3, 0xa0, 0x1f, + 0xf2, 0xd0, 0xf, 0xf2, 0xc4, 0xf, 0xfe, 0x13, + 0xc0, 0x81, 0xe3, 0x40, 0xe9, 0xbf, 0xd4, 0x81, + 0x8e, 0x20, 0x7b, 0x1, 0x9f, 0x64, 0xc, 0xb5, + 0x20, 0x44, 0xf, 0x50, 0x35, 0x80, 0x7f, 0x2c, + 0x80, 0xfc, 0x90, 0xa, 0xa0, 0x3f, 0xf8, 0x15, + 0x1, 0xf7, 0x2, 0x48, 0x7, 0xe5, 0xff, 0x20, + 0x3e, 0x40, 0x50, 0xf, 0xe2, 0x7, 0xff, 0x1, + 0x1, 0x22, 0x7, 0xff, 0x2b, 0x1, 0x60, 0x3f, + 0xc9, 0x9, 0xff, 0x20, 0x31, 0x3, 0xfc, 0x6e, + 0xdf, 0xe8, 0x40, 0xff, 0xf5, 0x90, 0x22, 0x7, + 0xff, 0x2f, 0x1, 0x60, 0x3f, 0xf9, 0x68, 0x9, + 0x10, 0x3f, 0xf9, 0x64, 0xa, 0x1, 0xff, 0xcb, + 0x80, 0x49, 0x0, 0xff, 0xe5, 0x22, 0x5, 0x50, + 0x1f, 0xfc, 0x4, 0x7, 0xf7, 0x3, 0x58, 0x7, + 0xf1, 0xd7, 0x1, 0xf8, 0xd0, 0x33, 0xec, 0x81, + 0x95, 0xc4, 0x1c, 0x7, 0xe5, 0x40, 0xe9, 0xbf, + 0xd5, 0x1, 0xff, 0xc2, 0x58, 0x81, 0xff, 0xc2, + 0x58, 0xf, 0xf1, 0xd0, 0xf, 0xf9, 0x6a, 0x7, + 0xff, 0x5, 0xfa, 0x88, 0x19, 0x4f, 0x48, 0x1f, + 0xfc, 0x45, 0x77, 0xfa, 0xb0, 0x3f, 0xc0, + + /* U+F023 "" */ + 0x3, 0xfc, 0x9b, 0x88, 0x1f, 0xfc, 0x69, 0xec, + 0x96, 0xc4, 0x7, 0xff, 0x8, 0xf6, 0x7, 0x8d, + 0x80, 0x7f, 0xf0, 0xe, 0x3, 0xfc, 0xe0, 0x1f, + 0xf7, 0x3, 0xff, 0x80, 0xd0, 0x1f, 0xc8, 0x81, + 0xaf, 0xf2, 0x3, 0x40, 0x3f, 0xb8, 0x1b, 0x20, + 0x2a, 0x80, 0x89, 0x1, 0xf9, 0x1, 0x32, 0x7, + 0x50, 0x32, 0x3, 0xff, 0x81, 0x80, 0xf8, 0x81, + 0x70, 0x3f, 0xff, 0xe0, 0x7f, 0xf4, 0xaf, 0xe0, + 0x35, 0xff, 0xe2, 0x4, 0xff, 0x31, 0x50, 0x1f, + 0xfc, 0x98, 0x50, 0x1f, 0xfc, 0xb4, 0x7, 0xff, + 0x33, 0x81, 0xff, 0xff, 0x3, 0xff, 0xfe, 0x7, + 0xff, 0xfc, 0xf, 0xfe, 0x67, 0x60, 0x7f, 0xf2, + 0xdc, 0x84, 0xbf, 0xf9, 0xf, 0x0, + + /* U+F026 "" */ + 0x3, 0xff, 0x9a, 0x6b, 0x3, 0xfc, 0x72, 0x80, + 0x7f, 0x1c, 0x7, 0xfc, 0x70, 0x1f, 0xf1, 0xc0, + 0x71, 0x93, 0xd8, 0xf, 0x66, 0xfc, 0x7, 0xff, + 0xfc, 0xf, 0xff, 0x3, 0x3, 0xff, 0x83, 0x3f, + 0xf3, 0x3, 0xff, 0x83, 0x18, 0x1f, 0xfc, 0x18, + 0xc0, 0xff, 0xe0, 0xc6, 0x7, 0xff, 0x6, 0x30, + 0x40, 0xff, 0xa7, 0xc0, + + /* U+F028 "" */ + 0x3, 0xff, 0x97, 0x10, 0x1f, 0xfd, 0x16, 0xd6, + 0x80, 0xff, 0xe8, 0x20, 0xb, 0x1, 0xff, 0xc4, + 0x35, 0x81, 0xf8, 0xe2, 0xe, 0x3, 0xff, 0x84, + 0x72, 0x80, 0x78, 0x80, 0x38, 0x83, 0x0, 0xff, + 0xe0, 0x1c, 0x7, 0xe5, 0xba, 0x1, 0x80, 0x32, + 0x7, 0xf8, 0xe0, 0x3f, 0xf8, 0x15, 0x80, 0xa0, + 0x38, 0x1f, 0xc7, 0x1, 0xfe, 0x50, 0x4, 0x41, + 0x20, 0x28, 0x19, 0x3d, 0x80, 0xff, 0xe0, 0x3a, + 0x2, 0x80, 0x80, 0x38, 0xcd, 0xf8, 0xf, 0xf6, + 0xa0, 0x13, 0x0, 0xc1, 0x20, 0x80, 0xff, 0xe2, + 0xb2, 0xb0, 0x8, 0x2, 0x80, 0x40, 0x8, 0x1f, + 0xfc, 0x46, 0x41, 0x80, 0x10, 0x20, 0x30, 0x6, + 0x7, 0xff, 0x17, 0x10, 0x80, 0x60, 0x4, 0x30, + 0x4, 0xf, 0xfe, 0x33, 0x4, 0xf, 0xfe, 0x8b, + 0x4, 0xf, 0xfe, 0x86, 0x21, 0x0, 0xc0, 0x8, + 0x60, 0x8, 0x1f, 0xfc, 0x46, 0x41, 0x80, 0x10, + 0x20, 0x30, 0x6, 0x7, 0xff, 0x11, 0x95, 0x80, + 0x40, 0x14, 0x2, 0x0, 0x58, 0x1f, 0xfc, 0x4d, + 0x40, 0x26, 0x1, 0x82, 0x41, 0x9, 0xff, 0x98, + 0x1f, 0xfc, 0x7, 0x40, 0x50, 0x10, 0x7, 0x3, + 0xf4, 0x60, 0x7f, 0x94, 0x1, 0x10, 0x48, 0xa, + 0x3, 0xfa, 0x30, 0x3f, 0xf8, 0x15, 0x80, 0xa0, + 0x38, 0x1f, 0xf4, 0x60, 0x7e, 0x5b, 0xa0, 0x18, + 0x3, 0x20, 0x7f, 0xf0, 0x23, 0x4, 0xf, 0x10, + 0x7, 0x10, 0x60, 0x1f, 0xfc, 0x29, 0xf0, 0x1f, + 0x8e, 0x20, 0xe0, 0x3f, 0xf9, 0xc8, 0x2, 0xc0, + 0x7f, 0xf3, 0xdb, 0x5a, 0x3, 0xc0, + + /* U+F043 "ïƒ" */ + 0x3, 0xf1, 0x88, 0xf, 0xfe, 0x2e, 0x74, 0x81, + 0xff, 0xc3, 0x40, 0x54, 0xf, 0xfe, 0x1f, 0x2, + 0x60, 0x7f, 0xf0, 0xd0, 0x19, 0x1, 0xff, 0xc1, + 0x80, 0x74, 0x3, 0xff, 0x82, 0xc0, 0xe2, 0x80, + 0xff, 0xa0, 0x1f, 0x40, 0x3f, 0xc5, 0x81, 0xf1, + 0x60, 0x7f, 0x70, 0x3f, 0xa0, 0x1f, 0x99, 0x3, + 0xfd, 0x40, 0xf1, 0x80, 0x7f, 0xc9, 0x81, 0xdc, + 0xf, 0xfe, 0xc, 0x20, 0x4c, 0x81, 0xff, 0xc2, + 0x80, 0x50, 0xf, 0xfe, 0x1a, 0x21, 0x81, 0xff, + 0xc5, 0xa3, 0x1, 0xff, 0xc5, 0x61, 0x81, 0xff, + 0xc7, 0x20, 0x17, 0x20, 0x7f, 0xf0, 0x48, 0x11, + 0xc, 0xf, 0xfe, 0x11, 0x0, 0x86, 0x3, 0xff, + 0x82, 0x50, 0x2, 0x4c, 0x81, 0xff, 0x11, 0x80, + 0xa0, 0xcc, 0xf, 0xf5, 0x8, 0x80, 0x54, 0x4f, + 0x88, 0x1f, 0x30, 0x1c, 0x9, 0x66, 0xb, 0x3, + 0xd4, 0x8, 0xd0, 0x23, 0x3f, 0x20, 0x39, 0xa0, + 0x32, 0xa0, 0x7f, 0xd2, 0x0, 0xf2, 0xec, 0xf, + 0x96, 0x60, 0x7f, 0x4f, 0x64, 0xaf, 0xa4, 0xe, + + /* U+F048 "ïˆ" */ + 0x52, 0x40, 0x7f, 0xcd, 0x87, 0x6e, 0x20, 0x7f, + 0x59, 0x20, 0x3f, 0xf8, 0x39, 0x0, 0x40, 0x7f, + 0xf0, 0x31, 0x3, 0xff, 0x84, 0x79, 0x3, 0xff, + 0x84, 0x70, 0x1f, 0xfc, 0x35, 0x80, 0xff, 0xe1, + 0xaa, 0x7, 0xff, 0xd, 0xd0, 0x3f, 0xf8, 0x6e, + 0x1, 0xff, 0xc3, 0x90, 0x7, 0xff, 0x11, 0x1, + 0xff, 0xfb, 0xa4, 0xf, 0xfe, 0x23, 0xc4, 0xf, + 0xfe, 0x2e, 0x40, 0x7f, 0xf1, 0x6a, 0x3, 0xff, + 0x8b, 0x58, 0x1f, 0xfc, 0x58, 0xc0, 0xff, 0xe2, + 0xc8, 0x3, 0xff, 0x8a, 0xe8, 0x1f, 0xfc, 0x55, + 0x40, 0x99, 0x3, 0xff, 0x80, 0xb1, 0x29, 0x1f, + 0xc4, 0xf, 0xe3, 0xb0, 0x80, + + /* U+F04A "ïŠ" */ + 0x3, 0xff, 0xb4, 0x77, 0x60, 0x7f, 0x8e, 0xec, + 0xf, 0xe5, 0x88, 0x80, 0x7f, 0x2c, 0x44, 0x3, + 0xf3, 0xa0, 0x7f, 0xf0, 0x1d, 0x3, 0xfe, 0x90, + 0x7, 0xff, 0x2, 0x40, 0x1f, 0xf5, 0x60, 0x7f, + 0xf0, 0x2b, 0x3, 0xfc, 0x72, 0x3, 0xfe, 0x39, + 0x1, 0xfe, 0x58, 0x81, 0xff, 0x2c, 0x40, 0xff, + 0x3a, 0x7, 0xff, 0x1, 0xd0, 0x3f, 0xe9, 0x0, + 0x7f, 0xf0, 0x24, 0x1, 0xff, 0x46, 0x7, 0xff, + 0x2, 0x30, 0x3f, 0xf8, 0xc, 0xf, 0xfe, 0xb, + 0x3, 0xff, 0x82, 0xc0, 0xff, 0xe0, 0xb0, 0x3f, + 0xf8, 0x31, 0x81, 0xff, 0xc0, 0x8c, 0xf, 0xfe, + 0xc, 0x80, 0x3f, 0xf8, 0x12, 0x0, 0xff, 0xe0, + 0xba, 0x7, 0xff, 0x1, 0xd0, 0x3f, 0xf8, 0x2b, + 0x10, 0x3f, 0xe5, 0x88, 0x1f, 0xfc, 0x3, 0x90, + 0x1f, 0xf1, 0xc8, 0xf, 0xfe, 0xd, 0x60, 0x7f, + 0xf0, 0x2b, 0x3, 0xff, 0x83, 0x20, 0xf, 0xfe, + 0x4, 0x80, 0x3f, 0xf8, 0x2e, 0x81, 0xff, 0xc0, + 0x74, 0xf, 0xfe, 0xa, 0xc4, 0x40, 0x3f, 0x96, + 0x22, 0x1, 0xfe, 0x3b, 0xb0, 0x3f, 0xc7, 0x76, + + /* U+F04B "ï‹" */ + 0x5, 0xa0, 0x3f, 0xf9, 0x2f, 0x4b, 0x88, 0x1f, + 0xfc, 0x78, 0x4, 0x74, 0x3, 0xff, 0x98, 0xfb, + 0x3, 0xff, 0x99, 0x31, 0x3, 0xff, 0x96, 0x75, + 0x3, 0xff, 0x98, 0xbb, 0x3, 0xff, 0x99, 0x32, + 0x3, 0xff, 0x96, 0x6d, 0x10, 0x3f, 0xf9, 0x6b, + 0x40, 0x3f, 0xf9, 0x8f, 0xa0, 0x3f, 0xf9, 0x96, + 0x88, 0x1f, 0xfc, 0xb5, 0x98, 0x1f, 0xfc, 0xc8, + 0x80, 0xff, 0xe6, 0x10, 0x3f, 0xf9, 0x84, 0xf, + 0xfe, 0x5c, 0x40, 0x7f, 0xf2, 0x56, 0x60, 0x7f, + 0xf2, 0x6d, 0x10, 0x3f, 0xf9, 0xf, 0xa0, 0x3f, + 0xf9, 0xb, 0x40, 0x3f, 0xf9, 0x6, 0xd1, 0x3, + 0xff, 0x91, 0x32, 0x3, 0xff, 0x90, 0xbb, 0x3, + 0xff, 0x90, 0x75, 0x3, 0xff, 0x93, 0x31, 0x3, + 0xff, 0x90, 0xfb, 0x3, 0xff, 0x89, 0x0, 0x8e, + 0x80, 0x7f, 0xf1, 0x9e, 0x97, 0x10, 0x3f, 0xf8, + 0xe0, + + /* U+F04C "ïŒ" */ + 0x17, 0xff, 0x64, 0x7, 0x5f, 0xfd, 0x90, 0xa8, + 0xf, 0x1a, 0x40, 0xaa, 0x3, 0xc6, 0x94, 0x7, + 0xf2, 0x2, 0x40, 0x7f, 0x20, 0x3f, 0xdc, 0xf, + 0xfe, 0xf, 0x3, 0xff, 0xfe, 0x7, 0xff, 0xfc, + 0xf, 0xff, 0xf8, 0x1f, 0xff, 0xf0, 0x3f, 0xff, + 0xe0, 0x7f, 0xfc, 0x38, 0x1f, 0xfc, 0x1e, 0x7, + 0xff, 0x36, 0x1, 0xf8, 0xb0, 0x28, 0x7, 0xe2, + 0xda, 0xb7, 0xe9, 0x80, 0xce, 0xb7, 0xe9, 0x80, + + /* U+F04D "ï" */ + 0x6, 0x4f, 0xfe, 0x43, 0x0, 0xf3, 0x7f, 0xfc, + 0x89, 0x84, 0x3, 0xff, 0x94, 0x58, 0x1f, 0xfe, + 0x5e, 0x7, 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, + 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xc0, + 0xff, 0xff, 0x74, 0x7, 0xff, 0x2d, 0x54, 0x7, + 0xff, 0x20, 0xd2, + + /* U+F04E "ïŽ" */ + 0x3, 0xff, 0xa0, 0xfe, 0x20, 0x7f, 0x9f, 0xc4, + 0xf, 0xf4, 0x7, 0x20, 0x3f, 0xa0, 0x39, 0x1, + 0xff, 0xc1, 0xac, 0xf, 0xfe, 0x5, 0x60, 0x7f, + 0xf0, 0x64, 0x1, 0xff, 0xc0, 0x90, 0x7, 0xff, + 0x5, 0xd0, 0x3f, 0xf8, 0xe, 0x81, 0xff, 0xc1, + 0x58, 0x81, 0xff, 0x2c, 0x40, 0xff, 0xe0, 0x1c, + 0x80, 0xff, 0x8e, 0x40, 0x7f, 0xf0, 0x6b, 0x3, + 0xff, 0x81, 0x58, 0x1f, 0xfc, 0x19, 0x0, 0x7f, + 0xf0, 0x24, 0x1, 0xff, 0xc1, 0x70, 0xf, 0xfe, + 0x3, 0x80, 0x7f, 0xf0, 0x58, 0x1f, 0xfc, 0x16, + 0x7, 0xff, 0x5, 0x81, 0xff, 0xc1, 0x60, 0x7f, + 0xf0, 0x1c, 0x3, 0xff, 0x80, 0xe0, 0x1f, 0xf4, + 0x80, 0x3f, 0xf8, 0x12, 0x0, 0xff, 0xab, 0x3, + 0xff, 0x81, 0x58, 0x1f, 0xe3, 0x90, 0x1f, 0xf1, + 0xc8, 0xf, 0xf2, 0xc4, 0xf, 0xf9, 0x62, 0x7, + 0xf9, 0xd0, 0x3f, 0xf8, 0xe, 0x81, 0xff, 0x48, + 0x3, 0xff, 0x81, 0x20, 0xf, 0xfa, 0xb0, 0x3f, + 0xf8, 0x15, 0x81, 0xfa, 0x3, 0x90, 0x1f, 0xd0, + 0x1c, 0x80, 0xfe, 0x7f, 0x10, 0x3f, 0xcf, 0xe2, + 0x7, 0xf8, + + /* U+F051 "ï‘" */ + 0xa, 0x1, 0xff, 0x39, 0xd, 0x57, 0xc8, 0x1f, + 0xd1, 0xb4, 0x20, 0x58, 0x81, 0xff, 0xc0, 0xe0, + 0x6c, 0x80, 0xff, 0xe2, 0xd4, 0x7, 0xff, 0x16, + 0xb0, 0x3f, 0xf8, 0xb2, 0x0, 0xff, 0xe2, 0xb8, + 0x7, 0xff, 0x15, 0xd0, 0x3f, 0xf8, 0xaa, 0x81, + 0xff, 0xc5, 0x58, 0xf, 0xfe, 0x29, 0x3, 0xff, + 0xf7, 0x80, 0xff, 0xe2, 0x62, 0x7, 0xff, 0x8, + 0xe2, 0x7, 0xff, 0x8, 0xe2, 0x7, 0xff, 0x8, + 0xe0, 0x3f, 0xf8, 0x6b, 0x1, 0xff, 0xc3, 0x54, + 0xf, 0xfe, 0x1b, 0xa0, 0x7f, 0xdc, 0x9, 0xc0, + 0x3f, 0xf8, 0xc, 0x89, 0x0, 0x7f, 0x10, 0x4, + 0x6e, 0xc0, 0xff, 0x6f, 0xd8, + + /* U+F053 "ï“" */ + 0x3, 0xfe, 0x30, 0x81, 0xff, 0xc0, 0x59, 0xe2, + 0x7, 0xf9, 0x50, 0x2c, 0x7, 0xf2, 0xa0, 0x62, + 0x7, 0xe5, 0x40, 0xc7, 0x1, 0xf2, 0xa0, 0x63, + 0x80, 0xf9, 0x50, 0x31, 0xc0, 0x7c, 0xa8, 0x18, + 0xe0, 0x3e, 0x54, 0xc, 0x70, 0x1f, 0x2a, 0x6, + 0x38, 0xf, 0x95, 0x3, 0x1c, 0x7, 0xc6, 0x81, + 0x8e, 0x3, 0xf2, 0x3, 0xa8, 0x1f, 0xcd, 0x1, + 0xa3, 0x3, 0xfa, 0xa0, 0x34, 0x60, 0x7f, 0x54, + 0x6, 0x8c, 0xf, 0xea, 0x80, 0xd1, 0x81, 0xfd, + 0x50, 0x1a, 0x30, 0x3f, 0xa9, 0x3, 0x46, 0x7, + 0xf6, 0x20, 0x68, 0xc0, 0xfe, 0xc4, 0xd, 0x18, + 0x1f, 0xd8, 0x81, 0xa0, 0x1f, 0xec, 0x40, 0x90, + 0x1f, 0xf6, 0x41, 0x50, 0x3f, 0xf8, 0x17, 0x50, + 0x0, + + /* U+F054 "ï”" */ + 0x0, 0xe0, 0x1f, 0xfc, 0x1b, 0x1d, 0x3, 0xfe, + 0x68, 0x2, 0xa0, 0x7f, 0x88, 0x19, 0x50, 0x3f, + 0x94, 0x3, 0x2a, 0x7, 0xf3, 0x80, 0x65, 0x40, + 0xfe, 0x70, 0xc, 0xa8, 0x1f, 0xce, 0x1, 0x95, + 0x3, 0xf9, 0xc0, 0x32, 0xa0, 0x7f, 0x38, 0x6, + 0x54, 0xf, 0xe7, 0x0, 0xca, 0x81, 0xfc, 0xe0, + 0x19, 0x50, 0x3f, 0x98, 0x1c, 0x80, 0xfe, 0xc0, + 0x75, 0x3, 0xf6, 0x20, 0x6a, 0x80, 0xfb, 0x10, + 0x35, 0x40, 0x7d, 0x88, 0x1a, 0xa0, 0x3e, 0xc4, + 0xd, 0x50, 0x1f, 0x62, 0x6, 0xa8, 0xf, 0xb1, + 0x3, 0x54, 0x7, 0xd8, 0x81, 0xaa, 0x3, 0xe6, + 0x40, 0xd5, 0x1, 0xf9, 0x1, 0xaa, 0x3, 0xf8, + 0xe0, 0x15, 0x1, 0xff, 0x1f, 0xc8, 0xf, 0xf8, + + /* U+F055 "ï•" */ + 0x3, 0xff, 0xb2, 0xa6, 0xff, 0x68, 0x80, 0xff, + 0xe2, 0x2f, 0x59, 0x3, 0x17, 0x7b, 0x3, 0xff, + 0x83, 0xa8, 0x1f, 0xfc, 0x9, 0x80, 0xff, 0x1e, + 0x40, 0xff, 0xe1, 0x1e, 0x40, 0xf8, 0xe0, 0x3f, + 0xf8, 0xd8, 0x81, 0xec, 0x7, 0xe4, 0xb0, 0x1f, + 0xb8, 0x1d, 0x40, 0xfc, 0x6d, 0xc4, 0xf, 0x8d, + 0x2, 0x28, 0xf, 0xfe, 0x52, 0x20, 0x20, 0x1f, + 0xfc, 0xc8, 0x1, 0x1, 0xff, 0xcc, 0x41, 0x1, + 0xff, 0xce, 0x44, 0xe, 0x96, 0xe8, 0x6, 0x96, + 0xe8, 0x7, 0x1e, 0x7, 0x34, 0xb8, 0xc, 0x97, + 0x30, 0x3b, 0x81, 0xff, 0xec, 0xe0, 0x73, 0x4b, + 0x80, 0xc9, 0x73, 0x3, 0xb9, 0x3, 0xa5, 0xba, + 0x1, 0xa5, 0xba, 0x1, 0xc5, 0x1, 0xff, 0xce, + 0x41, 0x1, 0xff, 0xcc, 0x40, 0x20, 0x1f, 0xfc, + 0xc8, 0x0, 0xa0, 0x3f, 0xf9, 0x48, 0x81, 0x50, + 0x3f, 0x1b, 0x71, 0x3, 0xe3, 0x40, 0xec, 0x7, + 0xe4, 0xb0, 0x1f, 0xb8, 0x1e, 0x38, 0xf, 0xfe, + 0x36, 0x20, 0x7c, 0x79, 0x3, 0xff, 0x84, 0x79, + 0x3, 0xfd, 0xa0, 0x1f, 0xfc, 0x9, 0x80, 0xff, + 0xe0, 0xbf, 0x59, 0x3, 0x17, 0x7b, 0x3, 0xff, + 0x88, 0xa6, 0xff, 0x68, 0x80, 0xfe, + + /* U+F056 "ï–" */ + 0x3, 0xff, 0xb2, 0xa6, 0xff, 0x68, 0x80, 0xff, + 0xe2, 0x3f, 0x59, 0x3, 0x17, 0x7b, 0x3, 0xff, + 0x83, 0xa0, 0x1f, 0xfc, 0x9, 0x80, 0xff, 0x1e, + 0x40, 0xff, 0xe1, 0x1e, 0x40, 0xf8, 0xe0, 0x3f, + 0xf8, 0xd8, 0x81, 0xec, 0x7, 0xff, 0x23, 0x81, + 0xd4, 0xf, 0xfe, 0x49, 0xa0, 0x45, 0x1, 0xff, + 0xca, 0x44, 0x4, 0x3, 0xff, 0x99, 0x0, 0x20, + 0x3f, 0xf9, 0x88, 0x20, 0x3f, 0xf9, 0xc8, 0x81, + 0xd2, 0xdf, 0xfe, 0x14, 0x3, 0x8f, 0x3, 0x9a, + 0x5f, 0xfc, 0x26, 0x7, 0x70, 0x3f, 0xfd, 0x9c, + 0xe, 0x69, 0x7f, 0xf0, 0x98, 0x1d, 0xc8, 0x1d, + 0x2d, 0xff, 0xe1, 0x40, 0x38, 0xa0, 0x3f, 0xf9, + 0xc8, 0x20, 0x3f, 0xf9, 0x88, 0x4, 0x3, 0xff, + 0x99, 0x0, 0x14, 0x7, 0xff, 0x29, 0x10, 0x2a, + 0x7, 0xff, 0x24, 0xd0, 0x3b, 0x1, 0xff, 0xc8, + 0xe0, 0x78, 0xe0, 0x3f, 0xf8, 0xd8, 0x81, 0xf1, + 0xe4, 0xf, 0xfe, 0x11, 0xe4, 0xf, 0xf6, 0x80, + 0x7f, 0xf0, 0x26, 0x3, 0xff, 0x82, 0xfd, 0x64, + 0xc, 0x5d, 0xec, 0xf, 0xfe, 0x22, 0x9b, 0xfd, + 0xa2, 0x3, 0xf8, + + /* U+F058 "ï˜" */ + 0x3, 0xff, 0xb2, 0xae, 0xff, 0x68, 0x40, 0xff, + 0xe2, 0x3f, 0x51, 0x3, 0x17, 0xb1, 0x1, 0xff, + 0xc0, 0x3e, 0x1, 0xff, 0x1b, 0x40, 0x7f, 0x96, + 0x3, 0xff, 0x86, 0xb0, 0x1f, 0x95, 0x3, 0xff, + 0x8a, 0x70, 0x1e, 0x34, 0xf, 0xfe, 0x39, 0xa0, + 0x77, 0x3, 0xff, 0x92, 0x98, 0x12, 0x20, 0x7f, + 0xf2, 0xa0, 0x14, 0x3, 0xff, 0x8b, 0x3b, 0x3, + 0x30, 0x48, 0xf, 0xfe, 0x24, 0x62, 0x20, 0x2c, + 0x10, 0x1f, 0xfc, 0x48, 0xc0, 0xf9, 0xe, 0x7, + 0xff, 0xe, 0x30, 0x28, 0x80, 0xc4, 0x80, 0xe7, + 0x40, 0xfa, 0x30, 0x28, 0xc0, 0xe6, 0x7, 0x38, + 0xa8, 0x1d, 0x18, 0x14, 0x60, 0x7f, 0xf0, 0x20, + 0x5, 0x40, 0xa3, 0x2, 0x8c, 0xf, 0xc4, 0xd, + 0x80, 0x95, 0x11, 0x81, 0x46, 0x7, 0xe7, 0xc0, + 0xc7, 0x1, 0x2e, 0xc0, 0xa3, 0x3, 0xf8, 0xa0, + 0x38, 0xe0, 0x3e, 0x8c, 0xf, 0xe4, 0x9, 0x1, + 0xc7, 0x1, 0xd1, 0x81, 0xfe, 0xc0, 0x20, 0x1e, + 0x38, 0xa, 0x30, 0x3f, 0xe6, 0x1, 0x10, 0x3c, + 0x70, 0x8c, 0xf, 0xfa, 0x1, 0xb8, 0x1f, 0x1e, + 0xc0, 0xff, 0x93, 0x3, 0x1a, 0x7, 0xff, 0x1c, + 0xd0, 0x3c, 0xa8, 0x1f, 0xfc, 0x53, 0x80, 0xfc, + 0xb0, 0x1f, 0xfc, 0x35, 0x80, 0xff, 0x1f, 0x0, + 0xff, 0x8d, 0xa0, 0x3f, 0xf8, 0x2f, 0xd4, 0x40, + 0xc5, 0xec, 0x40, 0x7f, 0xf1, 0x15, 0xdf, 0xed, + 0x8, 0x1f, 0xc0, + + /* U+F059 "ï™" */ + 0x3, 0xff, 0xb2, 0xa6, 0xff, 0x68, 0x80, 0xff, + 0xe2, 0x2f, 0x59, 0x3, 0x17, 0x7b, 0x3, 0xff, + 0x83, 0xa8, 0x1f, 0xfc, 0x9, 0x80, 0xff, 0x1e, + 0x40, 0xff, 0xe1, 0x1e, 0x40, 0xf8, 0xe0, 0x3e, + 0x4e, 0x32, 0x7, 0xb1, 0x3, 0xdc, 0xf, 0x3f, + 0x63, 0x9b, 0x8, 0x1d, 0xc0, 0xe8, 0x40, 0xeb, + 0x0, 0xf1, 0xc8, 0xc, 0x68, 0x11, 0x60, 0x75, + 0x40, 0x7f, 0x50, 0x39, 0x10, 0x10, 0xf, 0x20, + 0x25, 0xb1, 0x81, 0x98, 0x1d, 0x0, 0x20, 0x3d, + 0xc8, 0x94, 0x94, 0x60, 0x58, 0xe, 0x40, 0x81, + 0xfb, 0x56, 0x7, 0xff, 0xd, 0x20, 0x1f, 0xc8, + 0xd, 0x58, 0x16, 0x3, 0xc4, 0xf, 0xfe, 0xb, + 0xe8, 0xc, 0xc0, 0xf7, 0xe0, 0x3f, 0xe7, 0x0, + 0xc7, 0x1, 0xfb, 0x81, 0xff, 0x40, 0x33, 0xc4, + 0xf, 0xb8, 0x1f, 0xf1, 0x3, 0x48, 0x3, 0xfc, + 0x80, 0xff, 0x16, 0xf8, 0xf, 0xf2, 0x20, 0x7f, + 0xd2, 0x60, 0x3f, 0xe2, 0x18, 0x1f, 0xe7, 0xf9, + 0x81, 0xfe, 0x40, 0x28, 0x1f, 0xca, 0x0, 0x88, + 0xf, 0xe8, 0x0, 0xb0, 0x3f, 0x10, 0x31, 0x3, + 0xf3, 0x20, 0x50, 0x81, 0xf2, 0x3, 0x10, 0x3e, + 0x30, 0xe, 0xe0, 0x7c, 0x60, 0x8, 0x80, 0xfb, + 0x81, 0xe3, 0x80, 0xf9, 0xfe, 0x60, 0x7d, 0x88, + 0x1f, 0x1e, 0x40, 0xff, 0xe1, 0x1e, 0x40, 0xff, + 0x6a, 0x40, 0xff, 0xa6, 0x3, 0xff, 0x82, 0xb5, + 0x64, 0xc, 0x5d, 0xec, 0xf, 0xfe, 0x22, 0x9b, + 0xfd, 0xa2, 0x3, 0xf8, + + /* U+F05A "ïš" */ + 0x3, 0xff, 0xb2, 0xa6, 0xff, 0x68, 0x80, 0xff, + 0xe2, 0x2d, 0x59, 0x3, 0x17, 0x7b, 0x3, 0xff, + 0x83, 0xa9, 0x3, 0xfe, 0x98, 0x81, 0xfc, 0x79, + 0x3, 0xff, 0x84, 0x72, 0x3, 0xe3, 0x80, 0xff, + 0xe3, 0x54, 0x7, 0xb8, 0x1f, 0xfc, 0x8a, 0x40, + 0xd0, 0x81, 0xf9, 0x7e, 0x60, 0x7f, 0x70, 0x22, + 0xc0, 0xfe, 0xa0, 0x22, 0x3, 0xf1, 0x40, 0x28, + 0x1f, 0xc4, 0xc, 0x40, 0xfe, 0x80, 0x18, 0x1f, + 0xc4, 0xc, 0x80, 0xfe, 0x20, 0x81, 0xff, 0x66, + 0xb1, 0x3, 0xfc, 0xd0, 0x1f, 0xf1, 0x94, 0x81, + 0xff, 0x70, 0x3f, 0xef, 0xf6, 0x3, 0xfe, 0x3c, + 0xf, 0xfe, 0x11, 0x3, 0xff, 0x81, 0xc0, 0xff, + 0x52, 0x7, 0xff, 0x39, 0x30, 0x3f, 0xf8, 0x45, + 0x1, 0xff, 0xce, 0xe4, 0xf, 0xf9, 0x81, 0xff, + 0xc2, 0x61, 0x81, 0xfd, 0xc8, 0x17, 0x20, 0x7e, + 0x20, 0x28, 0x1f, 0xfc, 0xc8, 0x0, 0xb0, 0x3f, + 0x49, 0xe2, 0x7, 0xc5, 0x1, 0x42, 0x7, 0xcd, + 0xf8, 0xf, 0xdc, 0xe, 0xe0, 0x7f, 0xf2, 0x29, + 0x3, 0x8e, 0x3, 0xff, 0x8d, 0x50, 0x1f, 0x1e, + 0x40, 0xff, 0xe1, 0x1c, 0x80, 0xff, 0x6a, 0x40, + 0xff, 0xa6, 0x20, 0x7f, 0xf0, 0x16, 0xac, 0x81, + 0x8b, 0xbd, 0x81, 0xff, 0xc4, 0x53, 0x7f, 0xb4, + 0x40, 0x7f, 0x0, + + /* U+F05E "ïž" */ + 0x3, 0xff, 0xb2, 0xae, 0xff, 0x68, 0x40, 0xff, + 0xe2, 0x3f, 0x51, 0x3, 0x17, 0xb1, 0x1, 0xff, + 0xc0, 0x3e, 0x1, 0xff, 0x1b, 0x40, 0x7f, 0x96, + 0x3, 0x93, 0x90, 0x88, 0x19, 0x60, 0x3f, 0x2a, + 0x6, 0xbe, 0xc6, 0xd7, 0x62, 0x2, 0x38, 0xf, + 0x1a, 0x6, 0xa8, 0xf, 0x8d, 0xc0, 0x46, 0x81, + 0xdc, 0xe, 0xa8, 0xf, 0xe3, 0x80, 0x93, 0x2, + 0x44, 0xf, 0x54, 0x7, 0xf1, 0xc0, 0x50, 0xa, + 0x1, 0x74, 0x5, 0x50, 0x1f, 0xc5, 0x81, 0x30, + 0x48, 0x3, 0x15, 0x1, 0x54, 0x7, 0xf4, 0x2, + 0xc1, 0x1, 0x50, 0x15, 0x1, 0x54, 0x7, 0xf2, + 0x0, 0x87, 0x2, 0x20, 0x55, 0x1, 0x54, 0x7, + 0xec, 0x4, 0x48, 0x1, 0x3, 0xaa, 0x2, 0xa8, + 0xf, 0x90, 0x13, 0x3, 0xfd, 0x50, 0x15, 0x40, + 0x7f, 0xf2, 0xaa, 0x2, 0xa8, 0xf, 0xf1, 0x0, + 0x40, 0xfd, 0x50, 0x15, 0x40, 0x66, 0x4, 0xf8, + 0x11, 0x3, 0xf5, 0x40, 0x55, 0x1, 0x60, 0x22, + 0x80, 0xa8, 0x1f, 0xd5, 0x1, 0x54, 0x1, 0x80, + 0x40, 0x90, 0x6, 0x40, 0xfe, 0xa8, 0xa, 0xa6, + 0x5, 0x80, 0x40, 0x28, 0x7, 0xfa, 0xa0, 0x2b, + 0x0, 0x98, 0x4, 0x40, 0x28, 0x7, 0xfa, 0xa0, + 0x3d, 0x0, 0xdc, 0x9, 0xd0, 0x3f, 0xd5, 0x1, + 0x93, 0x3, 0x1a, 0x4, 0xbb, 0x3, 0xe3, 0x10, + 0x11, 0xa0, 0x79, 0x50, 0x34, 0xf6, 0x36, 0x9b, + 0x18, 0x11, 0xc0, 0x7e, 0x58, 0xe, 0x4e, 0x43, + 0x20, 0x65, 0x80, 0xff, 0x1f, 0x0, 0xff, 0x8d, + 0xa0, 0x3f, 0xf8, 0x2f, 0xd4, 0x40, 0xc5, 0xec, + 0x40, 0x7f, 0xf1, 0x15, 0xdf, 0xed, 0x8, 0x1f, + 0xc0, + + /* U+F060 "ï " */ + 0x3, 0xff, 0xae, 0xbf, 0x10, 0x3f, 0xf9, 0xa, + 0x80, 0xc4, 0xf, 0xfe, 0x32, 0xa0, 0x64, 0x7, + 0xff, 0x15, 0x50, 0x32, 0x60, 0x7f, 0xf1, 0x15, + 0x3, 0x2a, 0x7, 0xff, 0x11, 0x50, 0x32, 0xa0, + 0x7f, 0xf1, 0x15, 0x3, 0x2a, 0x7, 0xff, 0x11, + 0x50, 0x33, 0xa0, 0x7f, 0xf1, 0x15, 0x3, 0x38, + 0x7, 0xff, 0x11, 0x50, 0x3b, 0xb7, 0xff, 0xc3, + 0xa, 0x81, 0xe9, 0x3f, 0xf8, 0x8e, 0x81, 0xff, + 0xcb, 0xe8, 0xf, 0xfe, 0x5f, 0xa8, 0xf, 0xfe, + 0x49, 0x42, 0xa0, 0x3b, 0x7f, 0xff, 0xc2, 0xc4, + 0x5, 0x40, 0x6c, 0x40, 0xff, 0xe3, 0x54, 0x6, + 0xc8, 0xf, 0xfe, 0x35, 0x40, 0x6a, 0x80, 0xff, + 0xe3, 0x54, 0x6, 0xa8, 0xf, 0xfe, 0x35, 0x40, + 0x6a, 0x80, 0xff, 0xe3, 0x54, 0x6, 0xa4, 0xf, + 0xfe, 0x35, 0x40, 0x66, 0x7, 0xff, 0x1e, 0xa0, + 0x9, 0x0, 0xff, 0xe4, 0x57, 0x28, 0x1f, 0xf0, + + /* U+F061 "ï¡" */ + 0x3, 0xff, 0x80, 0x40, 0xff, 0xe5, 0xdd, 0x80, + 0x7f, 0xf2, 0x6a, 0x7, 0x1, 0xff, 0xc8, 0x40, + 0x47, 0x1, 0xff, 0xc7, 0xa0, 0x63, 0x80, 0xff, + 0xe3, 0x2a, 0x6, 0x38, 0xf, 0xfe, 0x32, 0xc0, + 0x63, 0x80, 0xff, 0xe3, 0x1c, 0x6, 0x38, 0xf, + 0xfe, 0x31, 0xc0, 0x63, 0x80, 0xff, 0xe3, 0x1c, + 0x6, 0x38, 0x8, 0xb7, 0xff, 0xc2, 0x4c, 0xc, + 0x70, 0xd, 0x27, 0xff, 0xd, 0x81, 0xc7, 0x1, + 0xff, 0xcc, 0x2c, 0xf, 0xfe, 0x62, 0x60, 0x7f, + 0xf2, 0xa9, 0x9f, 0xff, 0xf0, 0xd8, 0x1d, 0x50, + 0x1f, 0xfc, 0x4a, 0xc0, 0xd5, 0x1, 0xff, 0xc4, + 0xa8, 0xd, 0x50, 0x1f, 0xfc, 0x4a, 0x80, 0xd5, + 0x1, 0xff, 0xc4, 0xa8, 0xd, 0x50, 0x1f, 0xfc, + 0x4c, 0x80, 0xd5, 0x1, 0xff, 0xc4, 0xa4, 0xd, + 0x50, 0x1f, 0xfc, 0x56, 0x6, 0xa8, 0xf, 0xfe, + 0x37, 0x2, 0xa8, 0xf, 0xfe, 0x39, 0xce, 0xa0, + 0x3f, 0xc0, + + /* U+F062 "ï¢" */ + 0x3, 0xfe, 0x50, 0xf, 0xfe, 0x53, 0xaf, 0x1, + 0xff, 0xc8, 0x70, 0x1, 0xc0, 0x7f, 0xf1, 0x9c, + 0x3, 0x1c, 0x7, 0xff, 0x11, 0xc0, 0x3c, 0x70, + 0x1f, 0xfc, 0x27, 0x0, 0xfc, 0x70, 0x1f, 0xfc, + 0x7, 0x0, 0xff, 0x1c, 0x7, 0xf9, 0xc0, 0x3f, + 0xf8, 0x7, 0x1, 0xf9, 0xc0, 0x34, 0x3, 0x32, + 0x4, 0x70, 0x1e, 0x70, 0xd, 0x18, 0x1b, 0xe2, + 0x4, 0x70, 0x19, 0xc0, 0x33, 0x60, 0x3e, 0xe0, + 0x63, 0x80, 0x28, 0x6, 0x70, 0xf, 0xc7, 0x1, + 0x8e, 0x18, 0xc, 0xe0, 0x1f, 0xe3, 0x80, 0xc4, + 0x40, 0x25, 0x0, 0xff, 0xe0, 0x1c, 0x5, 0x0, + 0x64, 0xe8, 0x1f, 0xfc, 0x23, 0x8c, 0x60, 0xd, + 0x80, 0x7f, 0xf1, 0xe, 0x60, 0x7f, 0xff, 0xc0, + 0xff, 0xff, 0x81, 0xff, 0xf2, 0x84, 0xcc, 0xf, + 0xf0, + + /* U+F063 "ï£" */ + 0x3, 0xfc, 0xad, 0x40, 0x3f, 0xf9, 0x35, 0x23, + 0x60, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xc0, 0xff, + 0xf9, 0x44, 0x7, 0xff, 0x16, 0x20, 0x2c, 0xeb, + 0x3, 0xff, 0x87, 0x9d, 0x42, 0x10, 0x11, 0x81, + 0xff, 0xc1, 0xc4, 0x5, 0x1c, 0xd, 0x10, 0x1f, + 0xf6, 0x20, 0x73, 0x40, 0x6a, 0x80, 0xfe, 0xc4, + 0xd, 0x80, 0x54, 0x6, 0xa8, 0xf, 0xa9, 0x3, + 0x62, 0x5, 0x50, 0x1a, 0xa0, 0x3a, 0xa0, 0x36, + 0x20, 0x75, 0x40, 0x6a, 0x6, 0x88, 0xd, 0x88, + 0x1f, 0x54, 0x7, 0xff, 0x7, 0x10, 0x3f, 0xaa, + 0x3, 0xfe, 0xc4, 0xf, 0xfa, 0xa0, 0x3f, 0xb1, + 0x3, 0xff, 0x83, 0x50, 0x1f, 0x62, 0x7, 0xff, + 0xe, 0xa0, 0x3b, 0x10, 0x3f, 0xf8, 0xb5, 0x1, + 0x62, 0x7, 0xff, 0x1e, 0xb3, 0x88, 0x1f, 0xe0, + + /* U+F067 "ï§" */ + 0x3, 0xfc, 0xad, 0x40, 0x3f, 0xf9, 0x6, 0xa4, + 0x74, 0xf, 0xfe, 0x3b, 0x3, 0x30, 0x3f, 0xf8, + 0xe4, 0xc, 0x40, 0xff, 0xff, 0x81, 0xff, 0xff, + 0x3, 0xfc, 0xff, 0xfd, 0x0, 0xef, 0xff, 0x61, + 0x0, 0xff, 0xe5, 0x16, 0x7, 0xff, 0x33, 0x81, + 0xff, 0xcc, 0xec, 0xf, 0xfe, 0x5a, 0x9b, 0x7e, + 0x60, 0x76, 0xdf, 0xb9, 0x4, 0xfe, 0xe0, 0x71, + 0x3f, 0x80, 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, + 0xfe, 0x20, 0x62, 0x7, 0xff, 0x1d, 0x32, 0x6e, + 0x7, 0xf8, + + /* U+F068 "ï¨" */ + 0x0, 0x4f, 0xff, 0x20, 0xa, 0x7d, 0xbf, 0xf9, + 0x1f, 0x83, 0x3, 0xff, 0x96, 0xc0, 0xff, 0xe6, + 0x70, 0x3f, 0xf9, 0x9e, 0x1, 0xff, 0xcb, 0x6d, + 0xf6, 0xff, 0xe4, 0x7e, 0x0, + + /* U+F06E "ï®" */ + 0x3, 0xfc, 0x5d, 0xdf, 0xed, 0x10, 0x1f, 0xfc, + 0x75, 0xb2, 0x22, 0x6, 0x2e, 0xfa, 0x40, 0xff, + 0xe1, 0x1d, 0x48, 0x19, 0x28, 0x81, 0x96, 0x80, + 0x7f, 0xf0, 0x26, 0x20, 0x46, 0xfb, 0x6d, 0xd8, + 0x19, 0xf4, 0x7, 0xf5, 0x60, 0x65, 0x90, 0x1e, + 0x98, 0xe, 0xac, 0xf, 0xb2, 0x3, 0x2a, 0x4, + 0x64, 0x20, 0x7, 0x1, 0xd1, 0x81, 0xd4, 0x81, + 0xd4, 0xe, 0x6d, 0x71, 0x6, 0x81, 0xd1, 0x1, + 0x34, 0x7, 0x40, 0x3f, 0x8e, 0x0, 0x88, 0x1d, + 0x48, 0x30, 0xf, 0x20, 0x3a, 0x1, 0xd0, 0x2, + 0x3, 0xdc, 0x40, 0x3e, 0x21, 0x47, 0x50, 0x1c, + 0x80, 0x60, 0x3c, 0x52, 0x1, 0xfc, 0x5c, 0x40, + 0x78, 0x81, 0xfe, 0xc8, 0xf, 0xfe, 0x96, 0xa0, + 0x7c, 0x43, 0x3, 0xf9, 0x80, 0xc0, 0x78, 0xa1, + 0x0, 0xf2, 0x0, 0xc0, 0xfd, 0x40, 0x20, 0x3d, + 0xc0, 0x34, 0x7, 0x40, 0x11, 0x1, 0xea, 0x42, + 0x20, 0x75, 0x20, 0x55, 0x1, 0xd4, 0x5, 0xa4, + 0x49, 0xf4, 0xd, 0x3, 0xa2, 0x3, 0xaa, 0x3, + 0x2a, 0x1, 0x5d, 0x90, 0x1, 0xc0, 0x74, 0x60, + 0x7d, 0x60, 0x19, 0x64, 0x7, 0xa6, 0x3, 0xab, + 0x3, 0xf9, 0xe2, 0x4, 0x6f, 0xb6, 0xdd, 0x81, + 0x9f, 0x40, 0x7f, 0xc7, 0x52, 0x6, 0x4a, 0x20, + 0x65, 0xa0, 0x1f, 0xfc, 0x35, 0xb2, 0x22, 0x6, + 0x2e, 0xfa, 0x40, 0xfc, + + /* U+F070 "ï°" */ + 0x9, 0x0, 0xff, 0xea, 0x2b, 0x50, 0xf, 0xfe, + 0x9d, 0x0, 0xf0, 0x1f, 0xfd, 0x26, 0x4, 0x79, + 0x3, 0xff, 0xa1, 0x28, 0x1b, 0x30, 0x31, 0x77, + 0x7f, 0x6a, 0xc8, 0x1f, 0xfc, 0x15, 0x88, 0x14, + 0xa1, 0xec, 0x88, 0x81, 0x15, 0x36, 0x30, 0x3f, + 0xf8, 0x7, 0x20, 0x25, 0xe1, 0x3, 0x25, 0x1, + 0x8c, 0xec, 0xf, 0xfe, 0x5, 0x80, 0x7c, 0x6f, + 0xb6, 0xf9, 0x1, 0xa5, 0x3, 0xff, 0x80, 0xf0, + 0x1c, 0x72, 0x3, 0x8d, 0x80, 0x65, 0xc8, 0x1f, + 0xf1, 0xe8, 0x8, 0xe0, 0xe, 0xd2, 0x0, 0xe0, + 0x1d, 0x88, 0x1f, 0xfc, 0xa, 0xc0, 0x8f, 0x41, + 0x25, 0xc0, 0x1a, 0x3, 0xb8, 0x1f, 0x5c, 0x40, + 0xa5, 0x3, 0x5a, 0x2, 0x38, 0x4, 0x3, 0x8d, + 0x3, 0x92, 0x1c, 0x80, 0x96, 0x20, 0x44, 0xc, + 0x50, 0x20, 0x79, 0x20, 0x1a, 0x81, 0x58, 0x4, + 0x72, 0x3, 0xf7, 0x0, 0x80, 0xf5, 0x2, 0x20, + 0x73, 0xc4, 0xa, 0xc0, 0x3f, 0xf8, 0xc4, 0x1, + 0x3, 0xc7, 0x81, 0x9e, 0x3, 0xf9, 0x81, 0xf1, + 0x2, 0xa0, 0x78, 0x81, 0xc7, 0xa0, 0x33, 0x20, + 0x81, 0xea, 0x6, 0x48, 0x7, 0x90, 0x1e, 0xb0, + 0x8, 0xe8, 0x7, 0x9a, 0x3, 0xa9, 0x3, 0xa0, + 0x1f, 0x3a, 0x6, 0x60, 0x71, 0x80, 0x7d, 0xc0, + 0xe3, 0x0, 0xf9, 0x72, 0x7, 0xec, 0x7, 0xe3, + 0x88, 0x19, 0xb0, 0x1f, 0xb3, 0x3, 0xd8, 0xf, + 0xf1, 0xc8, 0xd, 0x32, 0x3, 0xe9, 0x40, 0xe4, + 0x7, 0xff, 0x2, 0xc0, 0x31, 0xbe, 0xd9, 0x1, + 0x2c, 0x40, 0xa5, 0x3, 0xff, 0x80, 0xfc, 0x20, + 0x64, 0xab, 0x0, 0x8e, 0x40, 0x4b, 0x10, 0x3f, + 0xf8, 0xf, 0x64, 0x44, 0x8, 0x92, 0x3, 0x58, + 0x4, 0x72, 0x3, 0xff, 0x82, 0x5d, 0xdf, 0xda, + 0xa0, 0x39, 0xe0, 0x35, 0x80, 0x7f, 0xf4, 0xf, + 0x20, 0x4c, 0xf, 0xfe, 0x96, 0x60, 0x28, 0x1f, + 0xfd, 0x39, 0x69, 0x0, + + /* U+F077 "ï·" */ + 0x3, 0xfe, 0x74, 0x81, 0xff, 0xc9, 0x90, 0xb1, + 0x3, 0xff, 0x8f, 0x18, 0x16, 0x20, 0x7f, 0xf1, + 0x63, 0x3, 0xb1, 0x3, 0xff, 0x87, 0x18, 0x1f, + 0x62, 0x7, 0xff, 0x6, 0x30, 0x3f, 0xb1, 0x3, + 0xfe, 0x8c, 0xc, 0xb0, 0x1d, 0x88, 0x1f, 0xd1, + 0x81, 0x95, 0x38, 0xe, 0xc4, 0xf, 0xa3, 0x3, + 0x2a, 0x0, 0xe0, 0x3b, 0x10, 0x3a, 0x30, 0x32, + 0xa0, 0x63, 0x80, 0xec, 0x40, 0xa3, 0x3, 0x2a, + 0x7, 0x8e, 0x3, 0xb1, 0xd, 0x80, 0xca, 0x81, + 0xf8, 0xe0, 0x3b, 0xe, 0x6, 0x54, 0xf, 0xf1, + 0xc0, 0x7a, 0x10, 0xa, 0x81, 0xff, 0xc0, 0x38, + 0xa, 0x0, 0xc9, 0xd0, 0x3f, 0xf8, 0x47, 0x2a, + 0xc0, + + /* U+F078 "ï¸" */ + 0x1, 0x60, 0x1f, 0xfc, 0x43, 0x58, 0x16, 0x4e, + 0x81, 0xff, 0xc2, 0x39, 0x46, 0x21, 0x0, 0xa8, + 0x1f, 0xfc, 0x3, 0x80, 0xa0, 0xe0, 0x65, 0x40, + 0xff, 0x1c, 0x6, 0x21, 0xb0, 0x19, 0x50, 0x3f, + 0x1c, 0x7, 0x70, 0x11, 0x81, 0x95, 0x3, 0xc7, + 0x1, 0xd8, 0x81, 0x46, 0x6, 0x54, 0xc, 0x70, + 0x1d, 0x88, 0x1d, 0x18, 0x19, 0x50, 0x7, 0x1, + 0xd8, 0x81, 0xf4, 0x60, 0x65, 0x4e, 0x3, 0xb1, + 0x3, 0xfa, 0x30, 0x32, 0xc0, 0x76, 0x20, 0x7f, + 0xd1, 0x81, 0xfd, 0x88, 0x1f, 0xfc, 0x18, 0xc0, + 0xfb, 0x10, 0x3f, 0xf8, 0x71, 0x81, 0xd8, 0x81, + 0xff, 0xc5, 0x8c, 0xb, 0x10, 0x3f, 0xf8, 0xf2, + 0x16, 0x20, 0x7f, 0x80, + + /* U+F07B "ï»" */ + 0x17, 0xff, 0xec, 0x7, 0xff, 0x12, 0xa0, 0x3f, + 0x8e, 0x3, 0xff, 0x86, 0x80, 0xff, 0x8e, 0x3, + 0xff, 0x9e, 0x74, 0x9f, 0xe6, 0x40, 0xff, 0xe1, + 0x96, 0xff, 0xd3, 0x20, 0x3f, 0xf9, 0xf4, 0xf, + 0xff, 0xf8, 0x1f, 0xff, 0xf0, 0x3f, 0xff, 0xe0, + 0x7f, 0xff, 0xc0, 0xff, 0xfa, 0x20, 0x3f, 0xf9, + 0xca, 0xa0, 0x3f, 0xf9, 0x8a, 0x80, + + /* U+F080 "ï‚€" */ + 0xdf, 0x90, 0x1f, 0xfc, 0x7f, 0xe4, 0x0, 0x80, + 0xc0, 0x7f, 0x22, 0x7, 0xfc, 0x40, 0xff, 0xe1, + 0x7b, 0xa0, 0x1f, 0xff, 0xf0, 0x3f, 0xf8, 0x26, + 0xe8, 0x7, 0xff, 0x36, 0xa2, 0xc0, 0xff, 0xf0, + 0x14, 0x40, 0xff, 0xe7, 0x6b, 0x98, 0x1f, 0xfd, + 0xe, 0x7, 0xff, 0xfc, 0xf, 0xc4, 0x6, 0x4, + 0x7, 0x18, 0x1, 0x3, 0x88, 0x1f, 0xdb, 0xf2, + 0x1b, 0xf3, 0xb, 0xf6, 0x1, 0xfc, 0x80, 0xff, + 0xf9, 0xa9, 0x3f, 0xf9, 0x6c, 0xc, 0x5b, 0xff, + 0xe5, 0xc2, 0x7, 0xff, 0x46, 0x1, 0xff, 0xcf, + 0x20, + + /* U+F084 "ï‚„" */ + 0x3, 0xff, 0x88, 0x9b, 0x90, 0x1f, 0xfc, 0x83, + 0x7d, 0x92, 0xbe, 0x1, 0xff, 0xc5, 0x79, 0x1, + 0xf3, 0xe8, 0xf, 0xfe, 0x14, 0x80, 0x3f, 0xea, + 0x80, 0xff, 0xe0, 0x26, 0x7, 0xff, 0x6, 0x90, + 0x3f, 0xea, 0x7, 0xe9, 0xfa, 0x1, 0x70, 0x3f, + 0xd0, 0xf, 0xcd, 0x80, 0x36, 0x0, 0x50, 0x1f, + 0xcc, 0xf, 0xdc, 0xd, 0xc0, 0xb0, 0x1f, 0xfc, + 0x6e, 0x6, 0xe0, 0x48, 0xf, 0xc4, 0xf, 0xe6, + 0xc0, 0x1b, 0x1, 0x10, 0x3f, 0xf8, 0xf3, 0xf4, + 0x3, 0xff, 0xa8, 0x40, 0xfc, 0x40, 0xff, 0xe3, + 0x30, 0x3f, 0x10, 0x3f, 0xf8, 0xd8, 0xf, 0x8e, + 0x3, 0xff, 0x8c, 0xc0, 0xf1, 0xc0, 0x7f, 0xf1, + 0xa8, 0x1e, 0x38, 0xf, 0xfe, 0x33, 0x40, 0x71, + 0xc0, 0x7f, 0xf1, 0x9c, 0x3, 0x8e, 0x3, 0xff, + 0x8a, 0x6c, 0x3, 0x8e, 0x3, 0xff, 0x80, 0x52, + 0x9e, 0xc4, 0x7, 0x1c, 0x7, 0xff, 0x1, 0x6b, + 0x68, 0x40, 0xf1, 0xc0, 0x7f, 0x93, 0x94, 0xf, + 0xfe, 0x6, 0x3, 0xfe, 0xf1, 0x81, 0xff, 0xcd, + 0x60, 0x7f, 0xf3, 0x89, 0x1, 0xff, 0xcb, 0x3f, + 0xb0, 0x1f, 0xfe, 0x86, 0x7, 0xff, 0x1f, 0x46, + 0xfa, 0x50, 0x3f, 0xf8, 0xe0, + + /* U+F085 "ï‚…" */ + 0x3, 0xff, 0x9e, 0x88, 0x4, 0x40, 0xff, 0xe9, + 0x6b, 0x9b, 0x5d, 0x0, 0xff, 0xe0, 0xcb, 0xb2, + 0xa0, 0x3f, 0xc4, 0x4, 0x80, 0x8, 0xf, 0xfe, + 0x2, 0x68, 0x92, 0xa0, 0x7f, 0xf1, 0x58, 0x1f, + 0xfc, 0xf5, 0x0, 0x1b, 0x0, 0x26, 0x40, 0xff, + 0x60, 0x3c, 0x80, 0xf1, 0xac, 0x6, 0x4e, 0x0, + 0x98, 0xc, 0xf3, 0xf, 0xb0, 0x3d, 0x71, 0x2b, + 0xc8, 0x1f, 0x90, 0x1f, 0x28, 0x67, 0x80, 0x7f, + 0x1d, 0x88, 0x60, 0x40, 0x98, 0x8, 0x4, 0x80, + 0xa8, 0x1f, 0xfc, 0x89, 0xb0, 0x4, 0xdd, 0x0, + 0xf4, 0x4, 0x3, 0xff, 0x92, 0x89, 0x1, 0x10, + 0x24, 0x6, 0x60, 0x7f, 0x26, 0xc4, 0xf, 0xea, + 0x40, 0xf9, 0x1, 0x98, 0x1f, 0xb5, 0x91, 0x98, + 0x1f, 0xb1, 0xa1, 0x7e, 0x25, 0x80, 0xd3, 0x10, + 0x3a, 0x90, 0x34, 0x20, 0x73, 0xe8, 0x2f, 0x40, + 0x6c, 0x20, 0x71, 0x40, 0x72, 0x3, 0xd4, 0xe, + 0xa0, 0x7f, 0xf1, 0x48, 0x1f, 0xfc, 0x2, 0x7, + 0xff, 0x2c, 0x81, 0xff, 0xc0, 0x20, 0x7f, 0xf2, + 0x93, 0x3, 0xa0, 0x1e, 0xa0, 0x74, 0x20, 0x7f, + 0xf0, 0xad, 0x1, 0xe6, 0xc0, 0x68, 0x40, 0xe5, + 0x98, 0x7e, 0x80, 0xf9, 0x1, 0x90, 0x1f, 0xa6, + 0xb5, 0xd8, 0x1f, 0xb9, 0x81, 0x7e, 0x6, 0x81, + 0xa0, 0x1f, 0xc5, 0x20, 0x1f, 0xea, 0x40, 0xf9, + 0x1, 0x99, 0x3, 0xff, 0x90, 0xca, 0x2, 0x44, + 0x2, 0x3, 0xb8, 0x11, 0x3, 0xfe, 0x20, 0x46, + 0x7a, 0x2, 0xd6, 0x60, 0x3d, 0x2, 0x35, 0x5d, + 0x84, 0xf, 0xcf, 0x78, 0xb1, 0x3, 0x20, 0x14, + 0x9, 0x1, 0x95, 0x40, 0xe8, 0x7, 0xb4, 0x0, + 0xe8, 0x1e, 0x20, 0x10, 0x1f, 0xfc, 0x22, 0x7, + 0x88, 0x1e, 0x39, 0x80, 0xee, 0x40, 0xb, 0x80, + 0xff, 0xe6, 0x98, 0x0, 0xc6, 0x1, 0x21, 0x3, + 0xfc, 0xa3, 0x4d, 0xb0, 0x1f, 0xc4, 0xf, 0x90, + 0x1f, 0xfc, 0x17, 0x2c, 0x82, 0x7, 0xf1, 0x40, + 0xd8, 0x1, 0x81, 0xff, 0xd1, 0xb5, 0xd3, 0xba, + 0x1, 0x0, + + /* U+F09C "ï‚œ" */ + 0x3, 0xfc, 0x9b, 0x88, 0x1f, 0xfc, 0x69, 0xec, + 0x96, 0xc4, 0x7, 0xff, 0x8, 0xe6, 0x7, 0x8d, + 0x80, 0x7f, 0xf0, 0x71, 0x3, 0xf9, 0xc0, 0x3f, + 0xec, 0x7, 0xff, 0x1, 0xa0, 0x3f, 0x91, 0x3, + 0x5f, 0xe4, 0x6, 0x80, 0x7f, 0x70, 0x36, 0x40, + 0x55, 0x1, 0x12, 0x3, 0xf2, 0x2, 0x64, 0xe, + 0xa0, 0x64, 0x7, 0xff, 0x3, 0x1, 0xf1, 0x2, + 0xe0, 0x7f, 0xf8, 0x50, 0x16, 0x3, 0xff, 0x91, + 0x3e, 0xe8, 0xf, 0xfe, 0x51, 0x3, 0xff, 0xaa, + 0x50, 0x1b, 0x25, 0xff, 0xc1, 0x20, 0xf, 0xd4, + 0xc, 0xed, 0xff, 0xe0, 0xea, 0x38, 0x1f, 0xfc, + 0xa4, 0x84, 0xf, 0xfe, 0x59, 0x3, 0xff, 0x99, + 0xc0, 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, 0xff, + 0xcb, 0xd8, 0x1f, 0xfc, 0xb7, 0x21, 0x2f, 0xfe, + 0x43, 0xc0, + + /* U+F0C2 "" */ + 0x3, 0xfe, 0x2d, 0xa3, 0x20, 0x7f, 0xf3, 0xd6, + 0xc9, 0xe, 0x6c, 0x40, 0x7f, 0xf3, 0x25, 0x20, + 0x78, 0xd8, 0x7, 0xff, 0x2a, 0x30, 0x3f, 0xce, + 0x1, 0xff, 0xc8, 0x4c, 0xf, 0xfe, 0x3, 0x69, + 0xfd, 0x48, 0x1f, 0xfc, 0x1a, 0x7, 0xff, 0xa, + 0x30, 0x25, 0x88, 0x1f, 0xf2, 0x3, 0xff, 0x95, + 0x80, 0xff, 0xb0, 0x1f, 0xfc, 0xb6, 0x7, 0xf8, + 0x81, 0xff, 0xcb, 0xc0, 0x7f, 0x98, 0x1f, 0xfd, + 0x47, 0xc8, 0x1f, 0xfc, 0xb2, 0x7, 0xd6, 0x1, + 0xff, 0xcd, 0x70, 0x81, 0xa2, 0x3, 0xff, 0x9e, + 0xf3, 0x0, 0x58, 0x1f, 0xfd, 0x28, 0x85, 0x3, + 0xff, 0xa9, 0x42, 0x3, 0xff, 0xab, 0x8, 0x1f, + 0xfd, 0x54, 0x7, 0xff, 0x58, 0x90, 0x1f, 0xfd, + 0x64, 0x7, 0xff, 0x54, 0xd0, 0x3f, 0xfa, 0xa8, + 0xa0, 0x3f, 0xfa, 0x90, 0x52, 0x7, 0xff, 0x4a, + 0x81, 0x64, 0x7, 0xff, 0x42, 0xa0, 0x35, 0xcc, + 0x81, 0xff, 0xca, 0x33, 0xa0, 0x0, + + /* U+F0C9 "" */ + 0x3, 0xff, 0x9b, 0xbf, 0xff, 0xe5, 0xa2, 0x7, + 0xff, 0x2f, 0x1, 0xff, 0xcd, 0x40, 0x7f, 0xf2, + 0x8e, 0xbf, 0xff, 0xf2, 0xb2, 0x3, 0xff, 0xfe, + 0xed, 0xff, 0xe5, 0x98, 0x97, 0xff, 0x30, 0xf, + 0xfe, 0x67, 0x3, 0xff, 0x99, 0xfa, 0xdf, 0xfe, + 0x56, 0x61, 0x2f, 0xfe, 0x51, 0x3, 0xff, 0xfe, + 0x2f, 0xff, 0xfc, 0xac, 0x90, 0xf, 0xfe, 0x51, + 0xc0, 0x7f, 0xf3, 0x48, 0x1f, 0xfc, 0xbd, 0x9f, + 0xff, 0xf2, 0xd0, + + /* U+F0D7 "" */ + 0x3f, 0xff, 0xf0, 0xe0, 0x1f, 0xfc, 0x52, 0xc, + 0x3, 0xff, 0x82, 0x68, 0x7, 0x0, 0xff, 0x8e, + 0x3, 0x38, 0x7, 0xf1, 0xc0, 0x79, 0xc0, 0x3e, + 0x38, 0xf, 0xce, 0x1, 0xc7, 0x1, 0xfe, 0x70, + 0x8, 0xe0, 0x3f, 0xf8, 0xe, 0x3, 0x80, 0xff, + 0xe1, 0x3d, 0x80, 0x7e, + + /* U+F0D8 "" */ + 0x3, 0xf1, 0x3, 0xff, 0x88, 0xf6, 0x1, 0xff, + 0xc2, 0x70, 0x1c, 0x7, 0xff, 0x1, 0xc0, 0x23, + 0x80, 0xff, 0x38, 0x7, 0x1c, 0x7, 0xe7, 0x0, + 0xf8, 0xe0, 0x3c, 0xe0, 0x1f, 0xc7, 0x1, 0x9c, + 0x3, 0xfe, 0x38, 0x1, 0x80, 0x7f, 0xf0, 0x4e, + 0x3, 0xff, 0x8a, 0x80, + + /* U+F0D9 "" */ + 0x3, 0xe5, 0x0, 0xf9, 0xd6, 0x80, 0xe7, 0x0, + 0xf9, 0xc0, 0x3e, 0x70, 0xf, 0x94, 0x3, 0xe5, + 0x40, 0xf9, 0x50, 0x3f, 0x40, 0x3f, 0xa0, 0x1f, + 0xca, 0x81, 0xfc, 0xa8, 0x1f, 0xca, 0x81, 0xfc, + 0xa8, 0x1f, 0xca, 0x81, 0xfc, 0xa8, 0x1f, 0xca, + 0xb4, + + /* U+F0DA "" */ + 0x4c, 0xf, 0xd6, 0x50, 0x3f, 0x95, 0x3, 0xf9, + 0x50, 0x3f, 0x95, 0x3, 0xf9, 0x50, 0x3f, 0x95, + 0x3, 0xf9, 0x50, 0x3f, 0x91, 0x3, 0xf2, 0x20, + 0x7c, 0xa8, 0x1f, 0x2a, 0x7, 0xca, 0x81, 0xf2, + 0xa0, 0x7c, 0xa8, 0x1f, 0x2a, 0x7, 0xac, 0xa0, + 0x7c, + + /* U+F0E2 "" */ + 0x4a, 0x20, 0x7f, 0xf3, 0x2d, 0xb0, 0x1c, 0x66, + 0xff, 0x68, 0x80, 0xff, 0xe2, 0x2d, 0x8c, 0x81, + 0x8b, 0xbd, 0x81, 0xff, 0xc1, 0xb4, 0x40, 0xff, + 0xa6, 0x20, 0x7f, 0x1c, 0x80, 0xff, 0xe1, 0x1c, + 0x80, 0xfd, 0x88, 0x19, 0xef, 0xf6, 0x80, 0x75, + 0x40, 0x7f, 0xc7, 0x42, 0x6, 0x2f, 0xb0, 0x35, + 0x20, 0x7f, 0x3c, 0x40, 0xfe, 0x94, 0xd, 0xc0, + 0xfc, 0xa0, 0x1f, 0xfc, 0x5, 0x0, 0x8a, 0x3, + 0xe5, 0xff, 0x10, 0x3f, 0x34, 0x5, 0x0, 0xff, + 0xe0, 0xb0, 0x3f, 0xa0, 0x11, 0x3, 0xff, 0x96, + 0x50, 0x13, 0x20, 0x7f, 0x8b, 0x3, 0xfd, 0x80, + 0xbe, 0xff, 0xfd, 0x88, 0x1f, 0xe2, 0x4, 0x40, + 0xff, 0xff, 0x81, 0x88, 0x11, 0x3, 0xff, 0x97, + 0x80, 0xb8, 0x1f, 0xfc, 0xa2, 0x80, 0x98, 0x1f, + 0xfc, 0xa8, 0x4, 0x40, 0xff, 0xe5, 0x24, 0x2, + 0x80, 0x7e, 0x40, 0x7f, 0xf0, 0x15, 0x2, 0x48, + 0x7, 0xda, 0xd0, 0x1f, 0xe9, 0x40, 0xd0, 0xf, + 0xb1, 0xb, 0xc4, 0x6, 0x2f, 0xb0, 0x35, 0x20, + 0x7f, 0xf0, 0x1d, 0xff, 0x68, 0x7, 0x54, 0x7, + 0xec, 0x80, 0xff, 0xe1, 0x1c, 0x80, 0xff, 0x5a, + 0x20, 0x7f, 0xd3, 0x10, 0x3f, 0xf8, 0xb, 0x63, + 0x20, 0x62, 0xaf, 0x60, 0x7f, 0xf1, 0xc, 0xdf, + 0xed, 0x50, 0x1f, 0xc0, + + /* U+F0E7 "" */ + 0x2, 0x96, 0xfe, 0x80, 0x7e, 0x2d, 0x2f, 0xcc, + 0x81, 0xf2, 0x3, 0xfc, 0x40, 0xfb, 0x81, 0xfc, + 0x80, 0xfc, 0x40, 0xfe, 0xe0, 0x7e, 0x60, 0x7f, + 0x20, 0x3f, 0x10, 0x3f, 0x20, 0x3f, 0xf8, 0xd8, + 0xf, 0xc4, 0xf, 0xe6, 0x7, 0xe6, 0x7, 0xf7, + 0xfe, 0xc4, 0x10, 0x3f, 0xf8, 0x65, 0xe, 0x7, + 0xff, 0x11, 0x82, 0x7, 0xff, 0xe, 0x0, 0x60, + 0x7f, 0xf0, 0x8b, 0x0, 0x40, 0xff, 0xe1, 0x40, + 0x24, 0x7, 0xff, 0x5, 0x20, 0x15, 0xff, 0xd4, + 0xf, 0x40, 0x3f, 0xec, 0x7, 0x32, 0x7, 0xfc, + 0x80, 0xe8, 0x7, 0xff, 0x0, 0x81, 0xa0, 0x1f, + 0xfc, 0x2, 0x6, 0x2c, 0xf, 0xfe, 0x2, 0x3, + 0x40, 0x3f, 0xf8, 0x38, 0x9, 0x20, 0x1f, 0xfc, + 0x14, 0x5, 0x0, 0xff, 0xe0, 0x90, 0x26, 0x40, + 0xff, 0xe0, 0xa0, 0x28, 0x7, 0xff, 0xb, 0x0, + 0x80, 0x7f, 0xf0, 0xc8, 0x2c, 0xf, 0xfe, 0x1c, + 0xd8, 0x7, 0xf8, + + /* U+F0E9 "" */ + 0x3, 0xff, 0x88, 0x40, 0xff, 0xe9, 0xdd, 0xc8, + 0x1f, 0xfd, 0x14, 0x1, 0x1, 0xff, 0xcf, 0x4c, + 0xa, 0xa2, 0x7, 0xff, 0x29, 0xdf, 0x60, 0x11, + 0xbb, 0xc2, 0x7, 0xff, 0x15, 0xf8, 0x80, 0xff, + 0x3d, 0x48, 0x1f, 0xfc, 0x2b, 0x0, 0xff, 0xe1, + 0xac, 0xc0, 0xff, 0x8f, 0x40, 0x7f, 0xf1, 0xa4, + 0x1, 0xfc, 0x70, 0x1f, 0xfc, 0x97, 0x40, 0xfd, + 0x80, 0xff, 0xe5, 0xa8, 0x7, 0xa8, 0x1f, 0xfc, + 0xd6, 0x80, 0xc9, 0x0, 0xff, 0xe7, 0x40, 0x34, + 0x3, 0xff, 0x9e, 0x50, 0x4, 0x40, 0xff, 0xe8, + 0x40, 0x18, 0x1, 0x68, 0xf, 0xe4, 0x40, 0xfc, + 0x5a, 0x0, 0x40, 0x31, 0x74, 0xbd, 0x1, 0xd7, + 0xdd, 0x88, 0xe, 0xba, 0x5e, 0x83, 0xf, 0x20, + 0x35, 0x40, 0x55, 0x25, 0x86, 0xa0, 0x2c, 0x80, + 0xd6, 0x11, 0x8, 0x1e, 0xa4, 0x44, 0x2a, 0x6c, + 0x29, 0x10, 0x81, 0xe6, 0x80, 0xff, 0x74, 0xc0, + 0xee, 0x2, 0x26, 0x7, 0xff, 0x1c, 0xd0, 0x3f, + 0x95, 0x3, 0xff, 0xfe, 0x7, 0xff, 0x81, 0x56, + 0x7, 0xff, 0x4a, 0xa8, 0xc8, 0x17, 0x3, 0xff, + 0x9f, 0x30, 0x11, 0x3, 0xff, 0x99, 0x0, 0xf1, + 0x40, 0x7f, 0xf3, 0x1b, 0x1, 0x8e, 0x3, 0xff, + 0x9d, 0x34, 0x8b, 0x80, 0xff, 0xe2, 0x0, + + /* U+F0EB "" */ + 0x3, 0xe4, 0xdc, 0x80, 0xff, 0xe0, 0xcf, 0x64, + 0xaf, 0xa4, 0xf, 0xcb, 0xb0, 0x3e, 0x59, 0x81, + 0xe5, 0x40, 0xff, 0xa4, 0x1, 0x8d, 0x2, 0x33, + 0x74, 0x7, 0x36, 0x2, 0xe0, 0x4b, 0x32, 0x7, + 0xe8, 0x1, 0x10, 0x6, 0x87, 0xf9, 0x1, 0xf4, + 0x18, 0xb, 0x8b, 0x0, 0xff, 0x20, 0x80, 0x12, + 0x48, 0x7, 0xfc, 0x41, 0x0, 0x87, 0x3, 0xff, + 0x82, 0x40, 0xe6, 0x7, 0xff, 0x15, 0xf2, 0x7, + 0xff, 0x9, 0x1, 0xff, 0xc6, 0x38, 0xf, 0xfe, + 0x2a, 0xc, 0xf, 0xfe, 0x2c, 0x1, 0x0, 0xff, + 0xe1, 0xa2, 0x1, 0xa0, 0x3f, 0xf8, 0x26, 0x81, + 0xa9, 0x3, 0xff, 0x81, 0xc0, 0xf7, 0x3, 0xfe, + 0x84, 0xf, 0x14, 0x7, 0xf9, 0x81, 0xfa, 0x1, + 0xfd, 0x0, 0xfe, 0x2d, 0x2f, 0xcc, 0xf, 0xf4, + 0xb7, 0xf0, 0x1f, 0xf5, 0xff, 0xf0, 0x1f, 0xf3, + 0x3, 0xff, 0x8e, 0xc0, 0xff, 0xe3, 0xc0, 0x3e, + 0x80, 0x7f, 0xc6, 0x1, 0xc5, 0x81, 0xff, 0xc0, + 0x7a, 0xdb, 0x60, 0x1f, 0x0, + + /* U+F0F3 "" */ + 0x3, 0xfe, 0x74, 0x81, 0xff, 0xc9, 0x51, 0x70, + 0x3f, 0xf9, 0x24, 0x1, 0x3, 0xff, 0x8e, 0x65, + 0x2, 0xa8, 0xf, 0xfe, 0x24, 0xcc, 0x81, 0x2b, + 0x90, 0x1f, 0xfc, 0x1c, 0xc0, 0xfc, 0x6a, 0x3, + 0xfe, 0xc4, 0xf, 0xfa, 0xa0, 0x3f, 0x99, 0x3, + 0xff, 0x83, 0x0, 0xfe, 0x80, 0x7f, 0xf0, 0x8a, + 0x3, 0xe2, 0x7, 0xff, 0x13, 0x81, 0xf2, 0x3, + 0xff, 0x88, 0xc0, 0xff, 0xe6, 0x10, 0x3e, 0xe0, + 0x7f, 0xf9, 0x50, 0x1f, 0xfc, 0x54, 0x7, 0x88, + 0x1f, 0xfc, 0x52, 0x7, 0x10, 0x3f, 0xf8, 0xd8, + 0xe, 0xa0, 0x7f, 0xf1, 0x90, 0x18, 0xb0, 0x3f, + 0xf8, 0xf4, 0xb, 0x1, 0xff, 0xc8, 0x4c, 0x50, + 0x3f, 0xf9, 0x50, 0xa0, 0x3f, 0xf9, 0x6a, 0x1, + 0xff, 0xca, 0x2d, 0xbf, 0xff, 0xe5, 0x60, 0x3f, + 0xfa, 0xc7, 0xff, 0x50, 0x3f, 0xf8, 0xa4, 0xf, + 0x60, 0x3f, 0xf8, 0xd8, 0xc, 0xd8, 0xf, 0xfe, + 0x31, 0xf6, 0x68, 0x7, 0xf8, + + /* U+F0F4 "" */ + 0x3, 0xc6, 0x4f, 0xfe, 0x53, 0x40, 0x7f, 0xdd, + 0xbf, 0xfe, 0x54, 0xbe, 0x1, 0xfc, 0x40, 0xff, + 0xe6, 0xba, 0x7, 0xff, 0x5d, 0x50, 0x3f, 0xfa, + 0x1f, 0xd0, 0x9, 0x10, 0x3f, 0xfa, 0x4e, 0x81, + 0x50, 0x3f, 0xfa, 0x68, 0x80, 0x40, 0x7f, 0xf5, + 0x18, 0x1f, 0xfd, 0x74, 0x1, 0x81, 0xff, 0xd3, + 0x80, 0x58, 0xf, 0xfe, 0x7b, 0x4f, 0x30, 0x26, + 0x7, 0xff, 0x3e, 0x58, 0x40, 0xa8, 0x1f, 0xfd, + 0x6a, 0x80, 0xff, 0xea, 0x3c, 0x80, 0xff, 0xe8, + 0xec, 0xfd, 0x8, 0x1f, 0xc4, 0xf, 0xfe, 0x41, + 0x20, 0x3f, 0xf8, 0x34, 0xf, 0xfe, 0x3b, 0x3, + 0xff, 0x86, 0xc8, 0x1f, 0xfc, 0x68, 0x7, 0xff, + 0x13, 0x10, 0x3f, 0xf8, 0x67, 0x1, 0xff, 0xc6, + 0xd5, 0xb2, 0x5f, 0xcd, 0xae, 0x20, 0x7f, 0xf1, + 0xd4, 0x8b, 0x7f, 0xa4, 0x20, 0x3f, 0xf8, 0x32, + 0x7f, 0xf5, 0x18, 0x2, 0xdf, 0xff, 0x52, 0x0, + 0x24, 0x7, 0xff, 0x4d, 0x1, 0x72, 0x7, 0xff, + 0x45, 0x50, 0x0, + + /* U+F0FE "" */ + 0x17, 0xff, 0xfe, 0x46, 0x42, 0xa0, 0x3f, 0xf9, + 0x6, 0x94, 0x7, 0xff, 0x2d, 0x1, 0xff, 0xd7, + 0x72, 0x44, 0xf, 0xfe, 0x44, 0x6e, 0x40, 0x7f, + 0xff, 0xc0, 0xff, 0xed, 0xbf, 0xf8, 0xd, 0x3f, + 0xd8, 0xf, 0xee, 0x7, 0xff, 0x8, 0x81, 0xff, + 0xef, 0xe0, 0x7f, 0xf0, 0x88, 0x1f, 0xcf, 0xfe, + 0x3, 0x4f, 0xf6, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0x72, 0x37, 0x20, 0x3f, 0xf9, 0xe, 0x48, 0x81, + 0xff, 0xd7, 0x40, 0x7f, 0xf2, 0xd5, 0x40, 0x7f, + 0xf2, 0xd, 0x20, + + /* U+F108 "" */ + 0x5, 0xc9, 0xff, 0xcd, 0x6c, 0x1, 0xe8, 0xdf, + 0xff, 0x36, 0x46, 0x10, 0xf, 0xfe, 0x89, 0x60, + 0x7f, 0xf5, 0xdf, 0xff, 0xfc, 0xc0, 0x2e, 0x7, + 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, 0xff, 0xf0, + 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xc0, 0xff, 0xff, + 0x82, 0xdf, 0xff, 0x30, 0xf, 0x94, 0x9f, 0xfc, + 0xc0, 0x2e, 0x80, 0xff, 0xe9, 0x2a, 0x80, 0xff, + 0xe8, 0x42, 0x2f, 0xff, 0xf0, 0x1c, 0xff, 0xff, + 0x98, 0x1f, 0xfc, 0x14, 0x7, 0x20, 0x3f, 0xf9, + 0xbc, 0xe, 0x24, 0x7, 0xff, 0x1e, 0xff, 0x90, + 0x1e, 0xdf, 0xe2, 0x7, 0xff, 0x9, 0x1, 0xff, + 0xc4, 0x40, 0x7f, 0xf0, 0xab, 0x7f, 0xfc, 0x38, + 0xc0, 0xf8, + + /* U+F109 "" */ + 0x3, 0x9b, 0x49, 0xff, 0xc9, 0x6c, 0x7, 0xf6, + 0x90, 0xdf, 0xff, 0x26, 0x46, 0x3, 0xe6, 0x40, + 0xff, 0xe6, 0x96, 0x7, 0xff, 0x77, 0x81, 0x7f, + 0xff, 0xc9, 0x2, 0xe0, 0x7f, 0xff, 0xc0, 0xff, + 0xff, 0x81, 0xff, 0xff, 0x3, 0xff, 0xfe, 0x7, + 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0x3f, + 0xff, 0xf9, 0x20, 0x7f, 0xff, 0xc0, 0xec, 0xdf, + 0xff, 0x3f, 0x1, 0xe5, 0x27, 0xff, 0x3d, 0x1, + 0x4d, 0xbf, 0xf8, 0x14, 0xf, 0x1d, 0xbf, 0xf8, + 0x31, 0x93, 0xff, 0xc0, 0x54, 0xe, 0x84, 0xff, + 0xf0, 0x58, 0x1f, 0xfc, 0x25, 0xff, 0x20, 0x3f, + 0xf8, 0x48, 0xf, 0xfe, 0xaa, 0xa4, 0xf, 0xfe, + 0x99, 0xa3, 0x58, 0xdf, 0xff, 0x3e, 0x5c, 0x0, + + /* U+F128 "" */ + 0x3, 0xe2, 0xdc, 0x88, 0x1f, 0xf1, 0x9f, 0x49, + 0x5d, 0x8c, 0xf, 0xcf, 0x30, 0x3e, 0x33, 0x10, + 0x3a, 0x40, 0x1f, 0xf1, 0xc8, 0xa, 0x30, 0x3f, + 0xf8, 0x54, 0x84, 0xc0, 0xff, 0xe2, 0x71, 0x80, + 0xf2, 0xba, 0xb0, 0x3c, 0x4a, 0x20, 0x34, 0xa8, + 0xa9, 0x80, 0xf5, 0x16, 0x0, 0x8c, 0xe, 0x28, + 0xe, 0x20, 0x1e, 0xc6, 0x7, 0xff, 0x14, 0x90, + 0x1f, 0x44, 0x7, 0x10, 0x3f, 0xc7, 0x30, 0x3d, + 0x40, 0xfe, 0x98, 0x81, 0xe4, 0x40, 0xf8, 0xe6, + 0x7, 0xc6, 0x81, 0xfb, 0x90, 0x3e, 0x78, 0xf, + 0xcc, 0x81, 0xe3, 0xa0, 0x1f, 0xd8, 0xf, 0x3c, + 0x40, 0xff, 0xe2, 0xc0, 0x3f, 0xf8, 0x4, 0xe, + 0x40, 0x7f, 0xf0, 0x65, 0xbe, 0x3, 0xff, 0x84, + 0x97, 0x1, 0xff, 0xc3, 0x7f, 0xd0, 0xf, 0xfe, + 0x14, 0x80, 0x27, 0x0, 0xff, 0xe0, 0xb0, 0x39, + 0x81, 0xff, 0xc0, 0x20, 0x7c, 0x80, 0xff, 0xe3, + 0xb0, 0x3f, 0xe2, 0x40, 0x71, 0x20, 0x3f, 0xf8, + 0x1c, 0x81, 0xb8, 0x1f, 0xfc, 0x13, 0xac, 0xbc, + 0x81, 0xf0, + + /* U+F129 "ï„©" */ + 0x2, 0x56, 0xa0, 0x1e, 0x95, 0x23, 0xe4, 0x9, + 0x30, 0x3b, 0x81, 0x60, 0x3c, 0x40, 0x88, 0x1f, + 0x10, 0x18, 0xf, 0x88, 0x6, 0x7, 0xa0, 0x1b, + 0x20, 0x28, 0xc0, 0xc6, 0xfd, 0xd8, 0x1f, 0x88, + 0x1f, 0xfc, 0x4b, 0xff, 0xc0, 0x48, 0xf, 0x90, + 0x1f, 0xfc, 0xc6, 0x40, 0xfe, 0x98, 0x81, 0xff, + 0xff, 0x3, 0xe2, 0x3, 0x72, 0x7, 0x4e, 0x88, + 0x1f, 0xd8, 0xf, 0xfe, 0x4f, 0x89, 0x7f, 0x80, + + /* U+F12E "ï„®" */ + 0x3, 0xfc, 0xe3, 0x3, 0xff, 0x9e, 0xbc, 0x73, + 0x90, 0x3f, 0xf9, 0xb4, 0xe, 0x80, 0x7f, 0xf4, + 0xd8, 0x1f, 0xfd, 0x34, 0x7, 0xff, 0x35, 0x81, + 0xd0, 0xf, 0xfe, 0x6c, 0x3, 0x40, 0x3f, 0xf9, + 0xec, 0x9, 0x81, 0xff, 0xcf, 0xe0, 0x7f, 0xf0, + 0x12, 0x1, 0xf9, 0x90, 0x3c, 0xa0, 0x14, 0x3, + 0x17, 0x7d, 0x3, 0xfa, 0x6f, 0xdb, 0x5e, 0x81, + 0x9f, 0xfb, 0x44, 0x1, 0x1, 0xff, 0xc0, 0x26, + 0x3, 0xff, 0x86, 0x40, 0xff, 0xe9, 0xb0, 0x3f, + 0xfa, 0x78, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0x8e, + 0x4, 0xae, 0x80, 0x7f, 0xf3, 0x19, 0x5a, 0xa2, + 0xf0, 0x1f, 0xf2, 0x40, 0x3f, 0xed, 0x48, 0x18, + 0xa0, 0x3f, 0x3f, 0x6b, 0xb0, 0x3f, 0xf8, 0xa4, + 0xf, 0x8c, 0x3, 0x42, 0x7, 0xff, 0x31, 0x81, + 0xe4, 0x7, 0xcb, 0x52, 0x7, 0x30, 0x3f, 0xf8, + 0x44, 0xf, 0xa9, 0x5a, 0x1, 0x50, 0x3f, 0x22, + 0x6, 0x28, 0xf, 0x10, 0x33, 0xfe, 0x40, 0x7f, + 0x70, 0x37, 0x3, 0xe2, 0x7, 0xff, 0x18, 0xc0, + 0x8, 0x81, 0xff, 0xcf, 0x20, 0x8, 0x1f, 0xfd, + 0xe, 0x1, 0x1, 0xfc, 0x40, 0xfe, 0xfa, 0xc9, + 0xaf, 0x40, 0xf, 0xb2, 0xd6, 0xfe, 0x20, 0x7f, + 0x0, + + /* U+F130 "ï„°" */ + 0x3, 0xf2, 0x50, 0x1f, 0xfc, 0x35, 0xed, 0xbc, + 0x3, 0xff, 0x80, 0xe8, 0x1c, 0xe8, 0x1f, 0xf4, + 0x3, 0xe4, 0x80, 0x7f, 0x30, 0x3f, 0xb8, 0x1f, + 0xdc, 0xf, 0xe6, 0x7, 0xf1, 0x3, 0xf8, 0x81, + 0xff, 0xff, 0x3, 0xfd, 0x7a, 0x3, 0xff, 0x82, + 0xb5, 0x8, 0x70, 0x3f, 0xf8, 0x38, 0xa0, 0x3f, + 0xf9, 0xa4, 0xf, 0xe2, 0x7, 0xff, 0x24, 0x81, + 0x20, 0x86, 0x3, 0xf9, 0x6, 0x5, 0x80, 0x25, + 0x1, 0xfa, 0x12, 0xc, 0x30, 0x10, 0x52, 0x7, + 0xb0, 0x80, 0x28, 0x8, 0xd, 0x1a, 0x22, 0x4f, + 0x98, 0x82, 0x20, 0x19, 0xb, 0x17, 0x76, 0x41, + 0x58, 0xa, 0x6, 0xc4, 0x1d, 0x63, 0x6b, 0xd0, + 0xc, 0x7, 0xb2, 0x0, 0x9c, 0x84, 0x0, 0xe2, + 0x7, 0xd7, 0x20, 0x39, 0x5c, 0x40, 0xfe, 0x37, + 0xa0, 0x1e, 0xa0, 0x3f, 0xfa, 0x4f, 0xf9, 0x0, + 0xfe, 0xa0, 0x7f, 0x70, 0x3f, 0x98, 0x1f, 0xd5, + 0xbf, 0xe8, 0x7, 0x0, + + /* U+F144 "ï…„" */ + 0x3, 0xff, 0xb2, 0x66, 0xff, 0x6a, 0x80, 0xff, + 0xe2, 0x2d, 0x8c, 0x81, 0x8a, 0xbd, 0x81, 0xff, + 0xc1, 0xb4, 0x40, 0xff, 0xa7, 0x20, 0x7f, 0xb2, + 0x3, 0xff, 0x87, 0x90, 0x1f, 0xb1, 0x3, 0xff, + 0x8b, 0x50, 0x1e, 0xa4, 0xf, 0xfe, 0x3d, 0x20, + 0x66, 0x80, 0xe2, 0xc0, 0xff, 0xe1, 0x70, 0x34, + 0x3, 0xda, 0x74, 0x7, 0xff, 0x0, 0xa0, 0xc, + 0xf, 0xf5, 0xc4, 0xf, 0xfa, 0x0, 0xa0, 0x7f, + 0xc7, 0x40, 0x3f, 0xc4, 0x1, 0x3, 0xff, 0x82, + 0xfa, 0x3, 0xf9, 0x90, 0x3f, 0xf8, 0x96, 0x88, + 0x1f, 0x76, 0x7, 0xff, 0x15, 0x66, 0x7, 0x88, + 0x1f, 0xfc, 0x88, 0x7, 0xff, 0x3c, 0x81, 0xf3, + 0x3, 0xff, 0x8d, 0x30, 0x1e, 0x24, 0x7, 0xff, + 0x11, 0xf6, 0x7, 0xdc, 0x10, 0x3f, 0xf8, 0x2b, + 0x40, 0x3f, 0x98, 0xa0, 0x7f, 0xc6, 0xd1, 0x3, + 0xf8, 0x80, 0x60, 0x7f, 0xa6, 0x40, 0x7f, 0xd0, + 0xa, 0x1, 0xed, 0x3b, 0x3, 0xff, 0x80, 0x50, + 0x13, 0x40, 0x71, 0x60, 0x7f, 0xf0, 0xb8, 0x1d, + 0x48, 0x1f, 0xfc, 0x7a, 0x40, 0xf6, 0x20, 0x7f, + 0xf1, 0x6a, 0x3, 0xf6, 0x40, 0x7f, 0xf0, 0xf2, + 0x3, 0xfd, 0x68, 0x81, 0xff, 0x4e, 0x40, 0xff, + 0xe0, 0x2d, 0x8c, 0x81, 0x8a, 0xbd, 0x81, 0xff, + 0xc4, 0x33, 0x7f, 0xb5, 0x40, 0x7f, 0x0, + + /* U+F146 "ï…†" */ + 0x17, 0xff, 0xfe, 0x46, 0x42, 0xa0, 0x3f, 0xf9, + 0x6, 0x94, 0x7, 0xff, 0x2d, 0x1, 0xff, 0xff, + 0x3, 0xff, 0xfe, 0x7, 0xff, 0x45, 0xff, 0xff, + 0xc2, 0xc0, 0x7f, 0x70, 0x3f, 0xf8, 0x44, 0xf, + 0xff, 0x7f, 0x3, 0xff, 0x84, 0x40, 0xfe, 0x7f, + 0xff, 0xf0, 0xb0, 0x1f, 0xff, 0xf0, 0x3f, 0xff, + 0xe0, 0x7f, 0xf4, 0x90, 0x1f, 0xfc, 0xb5, 0x50, + 0x1f, 0xfc, 0x83, 0x48, + + /* U+F14A "ï…Š" */ + 0x6, 0x4f, 0xfe, 0x43, 0x0, 0xf3, 0x7f, 0xfc, + 0x89, 0x84, 0x3, 0xff, 0x94, 0x58, 0x1f, 0xfe, + 0x5e, 0x7, 0xff, 0xdc, 0xfc, 0x7, 0xff, 0x24, + 0xe0, 0x70, 0x1f, 0xfc, 0x73, 0x80, 0x98, 0x1f, + 0xfc, 0x63, 0x80, 0x95, 0x3, 0xf1, 0xc8, 0xf, + 0x1c, 0x4, 0xa8, 0x1f, 0x8e, 0x35, 0x1, 0x8e, + 0x2, 0x54, 0xf, 0xe4, 0x5, 0x50, 0x3, 0x80, + 0x95, 0x3, 0xfc, 0xd8, 0xa, 0xa3, 0x80, 0x95, + 0x3, 0xff, 0x81, 0x18, 0x15, 0xc0, 0x4a, 0x81, + 0xff, 0xc2, 0x8c, 0xf, 0x2a, 0x7, 0xff, 0x12, + 0x30, 0x32, 0xa0, 0x7f, 0xf1, 0xa3, 0x0, 0xa8, + 0x1f, 0xfc, 0x88, 0xd5, 0x3, 0xff, 0x95, 0x28, + 0x1f, 0xff, 0x3e, 0x80, 0xff, 0xe5, 0xaa, 0x80, + 0xff, 0xe4, 0x1a, 0x40, + + /* U+F185 "" */ + 0x3, 0xff, 0xbb, 0xf8, 0xf, 0xfe, 0x6b, 0x1, + 0x0, 0xff, 0xe6, 0x40, 0xc, 0xf, 0xfe, 0x22, + 0x40, 0x39, 0x81, 0xa0, 0x1c, 0x90, 0xf, 0xd6, + 0xbc, 0x40, 0x20, 0x19, 0x80, 0x53, 0xda, 0x3, + 0xf1, 0x0, 0xef, 0xc0, 0x7b, 0x7a, 0xc0, 0xff, + 0x90, 0x1c, 0x40, 0x12, 0x0, 0x40, 0xe6, 0x7, + 0xea, 0x7, 0x2d, 0xf6, 0x7c, 0x80, 0xea, 0x7, + 0xe2, 0x40, 0x52, 0x97, 0x21, 0x9b, 0x0, 0x89, + 0x1, 0xfc, 0x80, 0x46, 0xbc, 0x6d, 0x3a, 0x70, + 0x2, 0x3, 0xf8, 0xa0, 0x59, 0xa0, 0x7a, 0x96, + 0x42, 0x20, 0x78, 0xdc, 0x44, 0x1c, 0xf, 0xdc, + 0x40, 0x75, 0x20, 0xd, 0xc8, 0x9, 0x2, 0x7, + 0xe2, 0x48, 0x9, 0x6a, 0x72, 0x3, 0xc4, 0xf, + 0xfe, 0x2a, 0xd0, 0xf, 0xfe, 0x74, 0x7e, 0x1, + 0x89, 0x80, 0xfe, 0x24, 0x6, 0x9d, 0x80, 0x7e, + 0x0, 0xa2, 0x1, 0xfa, 0xa, 0x2, 0x76, 0x7, + 0x9c, 0xc, 0xa8, 0x7, 0x9b, 0x16, 0x23, 0x3, + 0xfa, 0x80, 0xe1, 0xe4, 0x49, 0x68, 0x38, 0xa, + 0x7, 0xf8, 0x80, 0x38, 0x95, 0xd9, 0x49, 0x62, + 0x0, 0x81, 0xfc, 0xc0, 0xc7, 0x56, 0x91, 0xdc, + 0x40, 0xcc, 0xf, 0xd8, 0xf, 0x29, 0x6a, 0x20, + 0x3d, 0x40, 0xfc, 0x80, 0x94, 0xa0, 0x7a, 0xd2, + 0x2, 0x20, 0x7e, 0x2a, 0xfa, 0xd2, 0x1, 0x92, + 0xaf, 0xa8, 0x81, 0xfb, 0x54, 0x6, 0x80, 0x68, + 0x6, 0x57, 0x1, 0xff, 0xc3, 0x28, 0x2, 0x20, + 0x7f, 0xf2, 0xe0, 0x8, 0x7, 0xff, 0x30, 0xc8, + 0x20, 0x7f, 0xf0, 0x0, + + /* U+F186 "" */ + 0x3, 0xff, 0x80, 0x49, 0x10, 0x3f, 0xf8, 0xea, + 0xfd, 0x97, 0x78, 0x7, 0xff, 0xd, 0xfa, 0x80, + 0xe5, 0x0, 0xff, 0xe1, 0x58, 0x7, 0xce, 0x81, + 0xff, 0xc1, 0x39, 0x1, 0xf3, 0x80, 0x7f, 0xf0, + 0xb9, 0x3, 0xe5, 0x0, 0xff, 0xe1, 0x62, 0x7, + 0xe8, 0x7, 0xff, 0x9, 0x90, 0x3f, 0x22, 0x7, + 0xff, 0xa, 0x1, 0xfd, 0xc0, 0xff, 0xe1, 0x30, + 0x3f, 0xc8, 0xf, 0xfe, 0x15, 0x3, 0xf8, 0x81, + 0xff, 0xc3, 0x20, 0x7f, 0xf3, 0x10, 0x1f, 0xfc, + 0xd2, 0x7, 0xf8, 0x81, 0xff, 0xce, 0x20, 0x7f, + 0xf3, 0x50, 0x1f, 0xfc, 0x12, 0x7, 0xfd, 0x40, + 0xff, 0xe0, 0xb0, 0x3f, 0xe2, 0xc0, 0xff, 0xe0, + 0x10, 0x3f, 0xf8, 0x10, 0x81, 0xff, 0xc0, 0x60, + 0x7f, 0xf0, 0x31, 0x3, 0xfe, 0xa0, 0x7f, 0xf0, + 0x72, 0x3, 0xfc, 0x50, 0x1f, 0xfc, 0x1b, 0x44, + 0xf, 0xea, 0x7, 0xff, 0x9, 0x6c, 0x89, 0x4c, + 0x81, 0x50, 0x3f, 0xf8, 0x65, 0xdb, 0x44, 0x4, + 0xa0, 0x1f, 0xfc, 0x76, 0xc0, 0x67, 0x40, 0xff, + 0xe2, 0xc8, 0x3, 0xcb, 0x10, 0x3f, 0xf8, 0x27, + 0x30, 0x3f, 0x1d, 0x48, 0x1f, 0xc6, 0x62, 0x7, + 0xfc, 0xb7, 0xad, 0x29, 0xdd, 0x8c, 0xe, + + /* U+F1B9 "" */ + 0x3, 0xf1, 0x9f, 0xff, 0xa9, 0x3, 0xff, 0x86, + 0xf3, 0x3, 0xfc, 0xb3, 0x3, 0xff, 0x82, 0xa0, + 0x1f, 0xfc, 0x28, 0x80, 0xff, 0xe0, 0x50, 0x22, + 0xdf, 0xe4, 0x5, 0x40, 0xff, 0x98, 0x13, 0xd2, + 0x7e, 0xb0, 0x9, 0x81, 0xfe, 0xa0, 0x50, 0xf, + 0xf3, 0x2, 0xa0, 0x7b, 0x7f, 0x10, 0xc, 0xf, + 0xfe, 0x3, 0x0, 0x7f, 0xb0, 0x1f, 0xd8, 0x9f, + 0xfe, 0x6, 0x3, 0xfa, 0x20, 0x3a, 0xed, 0xff, + 0xc0, 0xa0, 0x72, 0x80, 0x11, 0x3, 0xff, 0x98, + 0x50, 0x13, 0x0, 0x98, 0x1f, 0xfc, 0x46, 0x80, + 0x30, 0x3c, 0xac, 0xe4, 0xf, 0xfe, 0xe, 0x95, + 0x1, 0xf8, 0x81, 0x40, 0x3f, 0xf8, 0x14, 0x80, + 0x20, 0x7e, 0x64, 0xf, 0xfe, 0x19, 0x0, 0x58, + 0x1f, 0xdb, 0xf5, 0x3, 0xff, 0x81, 0x3f, 0x60, + 0x3e, 0x40, 0x7f, 0xf3, 0x10, 0x1a, 0x1, 0xff, + 0xcc, 0x80, 0x7f, 0x9b, 0xff, 0xe1, 0x1, 0xff, + 0xc4, 0x93, 0xff, 0x84, 0x7, 0xff, 0x70, 0xb0, + 0x28, 0x7, 0xff, 0xa, 0x81, 0x32, 0x0, + + /* U+F1DE "" */ + 0x3, 0xff, 0x80, 0xf6, 0x30, 0x3f, 0xf9, 0x94, + 0x95, 0x3, 0xff, 0x81, 0xbf, 0xff, 0x88, 0x3, + 0xff, 0xfd, 0x88, 0x1f, 0xfc, 0xe2, 0x7, 0xff, + 0x43, 0x49, 0xff, 0x10, 0x6, 0x4f, 0xfb, 0x16, + 0xff, 0xf8, 0x0, 0x1b, 0xff, 0xe0, 0x10, 0x3f, + 0xf8, 0x17, 0x65, 0x3, 0xff, 0x9a, 0x48, 0xf, + 0xfe, 0xa4, 0xfd, 0x0, 0xf2, 0x5f, 0xfc, 0x70, + 0x9, 0x70, 0xf6, 0xff, 0xf1, 0x88, 0x3, 0x6e, + 0xe0, 0x7f, 0xfb, 0x3d, 0xbf, 0xfc, 0x62, 0x0, + 0xdb, 0xb8, 0x4b, 0xff, 0x8e, 0x1, 0x2e, 0x3, + 0xff, 0x91, 0x3f, 0x40, 0x3f, 0xe2, 0x40, 0x7f, + 0xf3, 0x6e, 0xca, 0x7, 0xff, 0x1c, 0xb7, 0xc0, + 0x1b, 0xff, 0xe3, 0x9d, 0x26, 0x20, 0xc, 0x9f, + 0xfc, 0x6c, 0x7, 0xff, 0x40, 0x81, 0xff, 0xce, + 0x3b, 0xfc, 0x40, 0x1f, 0xff, 0xf8, 0xd8, 0xe, + 0xa4, 0xa8, 0x1f, 0xfc, 0x70, + + /* U+F1E6 "" */ + 0x3, 0x3a, 0x40, 0xf8, 0xd6, 0x7, 0xca, 0x2e, + 0x7, 0xdd, 0x44, 0x7, 0x88, 0x2, 0x7, 0xc4, + 0x1, 0x3, 0xdc, 0xf, 0xfe, 0xf, 0x3, 0xff, + 0xfe, 0x7, 0xff, 0xe, 0x6d, 0x1, 0xf6, 0xd4, + 0x2, 0x52, 0x56, 0xd2, 0x7d, 0x6d, 0x24, 0xab, + 0x7f, 0xfc, 0x7a, 0x7, 0xff, 0x25, 0x1, 0xff, + 0xc7, 0x56, 0x80, 0xff, 0xe2, 0xda, 0xc, 0xf, + 0xfe, 0x2b, 0x3, 0xff, 0x96, 0x40, 0xff, 0xe2, + 0x90, 0x22, 0x7, 0xff, 0xc, 0x81, 0xa0, 0x1f, + 0xfc, 0x38, 0x6, 0x44, 0xf, 0xfe, 0x9, 0x40, + 0x77, 0x3, 0xff, 0x83, 0xc0, 0xf1, 0xc4, 0xf, + 0xe3, 0x88, 0x1f, 0x1d, 0x0, 0xfa, 0x62, 0x7, + 0xf9, 0xf8, 0x5, 0x3b, 0x3, 0xff, 0x84, 0x40, + 0x88, 0x1f, 0xff, 0xf0, 0x33, 0x4a, 0x60, 0x7e, + + /* U+F1EB "" */ + 0x3, 0xff, 0xc6, 0x5c, 0xb5, 0xad, 0x46, 0x40, + 0xff, 0xe4, 0x17, 0xbe, 0x8d, 0x21, 0x48, 0xe6, + 0xf9, 0x90, 0x3f, 0xf8, 0x46, 0xe8, 0x40, 0xff, + 0xe0, 0x99, 0xa9, 0x3, 0xfc, 0x76, 0x20, 0x3f, + 0xf8, 0xeb, 0x61, 0x3, 0xe9, 0x88, 0x1f, 0x8a, + 0x5c, 0x40, 0xfc, 0x74, 0x3, 0xb3, 0x3, 0xc6, + 0x6f, 0xad, 0xed, 0xf4, 0x20, 0x79, 0xe0, 0x7, + 0x90, 0x39, 0xec, 0x64, 0xf, 0xe2, 0xf6, 0x30, + 0x38, 0xf3, 0x80, 0xe5, 0xa1, 0x3, 0xff, 0x86, + 0x66, 0x40, 0x76, 0x80, 0x69, 0x48, 0x1f, 0xfc, + 0x73, 0x60, 0x1a, 0x38, 0x3, 0x30, 0x3c, 0xa5, + 0xff, 0x6b, 0x10, 0x1e, 0x78, 0x88, 0xc3, 0xbc, + 0x81, 0xd3, 0xd6, 0x80, 0xc5, 0x3b, 0xe0, 0x1c, + 0x75, 0x60, 0x48, 0xe, 0x7d, 0x81, 0xff, 0xc1, + 0x7d, 0x81, 0xc8, 0xf, 0xeb, 0x0, 0xff, 0xe2, + 0xca, 0x7, 0xff, 0x6, 0xa0, 0x3c, 0x5c, 0x93, + 0x20, 0x79, 0x60, 0x3f, 0xf8, 0x4, 0xe, 0x9f, + 0x46, 0xe9, 0xbc, 0x3, 0x90, 0x1f, 0xfc, 0x8, + 0xc0, 0x3e, 0xc0, 0xfe, 0x7d, 0x80, 0x70, 0xf, + 0xfe, 0xc, 0x8b, 0x0, 0xff, 0xe0, 0xcb, 0x20, + 0xf, 0xfe, 0x1b, 0x40, 0x7f, 0xf0, 0xd3, 0x3, + 0xff, 0x96, 0xff, 0x98, 0x1f, 0xfd, 0x17, 0x0, + 0xa3, 0x3, 0xff, 0xa1, 0x0, 0xe8, 0x7, 0xff, + 0xcc, 0x81, 0xc4, 0xf, 0xfe, 0x84, 0x3, 0xa0, + 0x1f, 0xfd, 0x5, 0x91, 0x59, 0x1, 0xff, 0xc2, + + /* U+F1F8 "" */ + 0x3, 0xf9, 0x2f, 0x80, 0xff, 0xe2, 0xfb, 0x7e, + 0x80, 0x7e, 0x52, 0x7a, 0x81, 0xf9, 0xc9, 0xf0, + 0xad, 0xf9, 0x1, 0xfc, 0xdf, 0xe0, 0x3f, 0xf9, + 0x9d, 0x1, 0xff, 0xcb, 0xd7, 0xff, 0xfe, 0x5a, + 0x0, 0x97, 0xff, 0x20, 0x81, 0x1b, 0x7f, 0xf9, + 0x10, 0xf, 0xfe, 0x81, 0x3, 0xff, 0x90, 0x40, + 0xff, 0xf2, 0xf0, 0x3f, 0xfa, 0x24, 0xf, 0xfe, + 0x39, 0x3, 0xff, 0xa2, 0xc0, 0xff, 0xe3, 0xb0, + 0x3f, 0xfa, 0x24, 0xf, 0xfe, 0x39, 0x3, 0xff, + 0xa3, 0xc0, 0xff, 0xf2, 0x90, 0x3f, 0xf8, 0xc4, + 0xf, 0xfe, 0x93, 0x3, 0xff, 0x8c, 0xc0, 0xff, + 0xe9, 0x10, 0x3f, 0xf8, 0xc4, 0xf, 0x20, 0x3f, + 0xf8, 0xb4, 0xf, 0x58, 0x97, 0xff, 0xf, 0x10, + 0x20, + + /* U+F1FE "" */ + 0xfe, 0x60, 0x7f, 0xf3, 0xf8, 0x1f, 0xfd, 0x53, + 0xd8, 0x1f, 0xfc, 0xde, 0x21, 0x3, 0xff, 0x96, + 0xc8, 0xe, 0x7, 0xff, 0x2e, 0x1, 0x1a, 0x7, + 0x1c, 0x80, 0xff, 0xe0, 0xc0, 0x39, 0x30, 0x27, + 0x8c, 0x3, 0xff, 0x80, 0x58, 0x1e, 0x84, 0xb4, + 0x0, 0x50, 0x1f, 0xf7, 0x3, 0xf6, 0xc2, 0x6, + 0x80, 0x7f, 0x99, 0x3, 0xff, 0x86, 0x50, 0x1f, + 0xd8, 0xf, 0xfe, 0x2f, 0x3, 0xf9, 0x81, 0xff, + 0xc5, 0x44, 0xf, 0xfe, 0x7c, 0x3, 0xff, 0x9e, + 0x88, 0x1f, 0xfc, 0xf8, 0x7, 0xc8, 0x9f, 0xfe, + 0x38, 0x1f, 0xa6, 0xdf, 0xfc, 0x7a, 0x7, 0x29, + 0x3f, 0xf9, 0x6c, 0x8, 0xb7, 0xff, 0xcb, 0x80, + 0x7f, 0xfb, 0x0, + + /* U+F200 "" */ + 0x3, 0xff, 0x88, 0x48, 0xf, 0xfe, 0x8e, 0xcf, + 0x98, 0x1f, 0xfc, 0x87, 0x28, 0x1e, 0x33, 0xc0, + 0x3f, 0xf8, 0x66, 0xf8, 0xd1, 0x3, 0xf3, 0xc4, + 0xf, 0xfe, 0x3, 0xc8, 0xc, 0xc0, 0xfe, 0x38, + 0x81, 0xfe, 0xb0, 0xf, 0xfe, 0x36, 0x3, 0xfa, + 0xa0, 0x3f, 0xf9, 0x18, 0xf, 0x9a, 0x3, 0xff, + 0x92, 0x58, 0x1c, 0x60, 0x1f, 0xfc, 0xb8, 0x7, + 0x40, 0x3f, 0xf9, 0xa8, 0x8, 0xa0, 0x3f, 0xf9, + 0xbc, 0x9, 0x1, 0xff, 0xce, 0x60, 0x58, 0xf, + 0xfe, 0x71, 0x2, 0x40, 0x7f, 0xf0, 0x89, 0xff, + 0xe0, 0x20, 0x3f, 0xf8, 0xdb, 0x7f, 0xf0, 0x28, + 0x1f, 0xfe, 0x2e, 0x5, 0x3f, 0xff, 0xe0, 0x40, + 0x40, 0xff, 0x95, 0x1, 0x18, 0x1f, 0xf1, 0x8, + 0xf, 0xfe, 0x2, 0xa0, 0x23, 0x3, 0xfd, 0x85, + 0x3, 0xff, 0x82, 0xa8, 0x8, 0xc0, 0xfe, 0x40, + 0x90, 0x1f, 0xfc, 0x15, 0x40, 0x46, 0x7, 0xc4, + 0x80, 0x40, 0x3f, 0xf8, 0x4a, 0x80, 0x8c, 0xf, + 0x40, 0x24, 0x80, 0x7f, 0xf0, 0x95, 0x1, 0x18, + 0x19, 0x20, 0x1a, 0x90, 0x3f, 0xf8, 0x4a, 0x80, + 0x8c, 0x1, 0xa0, 0x7b, 0x10, 0x3f, 0xf8, 0x4a, + 0x80, 0x8c, 0xe0, 0x3f, 0x64, 0x7, 0xff, 0x9, + 0x1, 0x4c, 0x7, 0xfa, 0xc0, 0x3f, 0xf8, 0xb, + 0x81, 0xff, 0xc4, 0x7e, 0x20, 0x3c, 0x5e, 0xa0, + 0x7f, 0xf1, 0xdd, 0xfb, 0x2e, 0xfa, 0x10, 0x3f, + 0xe0, + + /* U+F201 "ïˆ" */ + 0xdf, 0x90, 0x1f, 0xfc, 0xc2, 0x3, 0x1, 0xff, + 0xc2, 0x29, 0x78, 0x81, 0xff, 0xc7, 0x3a, 0xdf, + 0x62, 0x7, 0xff, 0x3d, 0x81, 0xff, 0xc6, 0x30, + 0xf, 0xfe, 0x33, 0xac, 0xf, 0x36, 0x3, 0xff, + 0x89, 0x21, 0x48, 0x3, 0x8b, 0x3, 0xff, 0x86, + 0xd8, 0x9, 0xc0, 0x36, 0x3, 0xff, 0x86, 0xe0, + 0x1c, 0xd8, 0x6, 0x3, 0x30, 0x3f, 0xce, 0x1, + 0x20, 0x29, 0x18, 0x81, 0x69, 0x0, 0x18, 0x1e, + 0xe0, 0x52, 0xc0, 0x26, 0x40, 0xb1, 0xf, 0x61, + 0x3, 0xd1, 0x8, 0xc3, 0x80, 0x7b, 0x10, 0x22, + 0x40, 0x7e, 0xb9, 0x81, 0x38, 0x6, 0xc4, 0xf, + 0xfe, 0x19, 0x3, 0x9c, 0x7, 0x10, 0x3f, 0xf9, + 0x6f, 0xe2, 0x7, 0xff, 0xe5, 0x49, 0xff, 0xcb, + 0x40, 0x45, 0xbf, 0xfe, 0x5d, 0x3, 0xff, 0xa1, + 0x0, 0xff, 0xe7, 0x10, + + /* U+F204 "" */ + 0x3, 0xc6, 0x6f, 0xff, 0xf8, 0x3a, 0xb0, 0x3f, + 0xe3, 0x73, 0x20, 0x7f, 0xf0, 0x4a, 0x9d, 0x81, + 0xf9, 0x64, 0x7, 0xff, 0x22, 0x50, 0x3c, 0xa8, + 0x18, 0xb7, 0x10, 0x38, 0xb7, 0x20, 0x32, 0xc0, + 0x63, 0x40, 0x8e, 0xc9, 0x2d, 0x84, 0x8, 0xd9, + 0x17, 0xc0, 0x23, 0x0, 0xa0, 0x13, 0xc4, 0xe, + 0x39, 0x81, 0x40, 0x33, 0xc0, 0x4c, 0x82, 0x80, + 0x18, 0x7, 0xf4, 0x20, 0x11, 0x3, 0x1a, 0x5, + 0x5, 0x2, 0xe0, 0x7f, 0xdc, 0xa, 0x81, 0xc9, + 0x0, 0x20, 0x80, 0x12, 0x3, 0xfe, 0x24, 0x1, + 0x1, 0xee, 0x4, 0x88, 0x4, 0x7, 0xff, 0x5, + 0x0, 0x20, 0x79, 0x1, 0x10, 0x3f, 0xfe, 0x84, + 0x2, 0x3, 0xff, 0x82, 0x80, 0x10, 0x3c, 0x80, + 0x8a, 0x0, 0x48, 0xf, 0xf8, 0x90, 0x4, 0x7, + 0xb8, 0x12, 0xa0, 0x5c, 0xf, 0xfb, 0x81, 0x50, + 0x39, 0x20, 0x4, 0xa, 0x0, 0x60, 0x1f, 0xd0, + 0x80, 0x44, 0xc, 0x68, 0x14, 0x1, 0x0, 0x9e, + 0x20, 0x71, 0xcc, 0xa, 0x1, 0x9e, 0x2, 0x64, + 0x1, 0xa0, 0x47, 0x64, 0x96, 0xc2, 0x4, 0x6c, + 0x8b, 0xe0, 0x11, 0x80, 0x65, 0x40, 0xc5, 0xb8, + 0x81, 0xc5, 0xb9, 0x1, 0x96, 0x3, 0xcb, 0x20, + 0x3f, 0xf9, 0x12, 0x81, 0xf8, 0xdc, 0xc8, 0x1f, + 0xfc, 0x12, 0xa7, 0x60, 0x70, + + /* U+F205 "" */ + 0x3, 0xc6, 0x6f, 0xff, 0xf8, 0x3a, 0xb0, 0x3f, + 0xe3, 0x73, 0x20, 0x7f, 0xf0, 0x4a, 0x9d, 0x81, + 0xf9, 0x64, 0x7, 0xff, 0x22, 0x50, 0x3c, 0xa8, + 0x1f, 0xfc, 0x34, 0xd9, 0x1, 0x96, 0x3, 0x1a, + 0x7, 0xff, 0xa, 0x7b, 0x22, 0xf8, 0x4, 0x60, + 0x14, 0x3, 0xff, 0x85, 0x98, 0x1e, 0x78, 0x9, + 0x90, 0x50, 0x1f, 0xfc, 0x1a, 0x40, 0xfc, 0x68, + 0x14, 0x14, 0xf, 0xfe, 0xa, 0x40, 0x3f, 0xc9, + 0x0, 0x20, 0x80, 0xff, 0xe0, 0xf0, 0x3f, 0xf8, + 0x1c, 0x9, 0x10, 0x3f, 0xf8, 0x28, 0xf, 0xfe, + 0x2, 0x2, 0x20, 0x7f, 0xfd, 0x8, 0x1f, 0xfc, + 0x14, 0x7, 0xff, 0x1, 0x1, 0x14, 0x7, 0xff, + 0x7, 0x81, 0xff, 0xc0, 0xe0, 0x4a, 0x81, 0xff, + 0xc1, 0x48, 0x7, 0xf9, 0x20, 0x4, 0xa, 0x3, + 0xff, 0x83, 0x48, 0x1f, 0x8d, 0x2, 0x80, 0x20, + 0x1f, 0xfc, 0x2c, 0xc0, 0xf3, 0xc0, 0x4c, 0x80, + 0x34, 0xf, 0xfe, 0x14, 0xf6, 0x45, 0xf0, 0x8, + 0xc0, 0x32, 0xa0, 0x7f, 0xf0, 0xd3, 0x64, 0x6, + 0x58, 0xf, 0x2c, 0x80, 0xff, 0xe4, 0x4a, 0x7, + 0xe3, 0x73, 0x20, 0x7f, 0xf0, 0x4a, 0x9d, 0x81, + 0xc0, + + /* U+F236 "" */ + 0xdf, 0x90, 0x1f, 0xfd, 0x32, 0x3, 0x1, 0xc4, + 0x80, 0xff, 0xe9, 0xdf, 0xb4, 0x40, 0xff, 0xe8, + 0x64, 0x4, 0x71, 0x0, 0xe4, 0xff, 0x9b, 0x20, + 0x3f, 0x99, 0x3, 0xd0, 0x18, 0xdf, 0xfd, 0x22, + 0xe4, 0x7, 0xd8, 0xf, 0x90, 0x60, 0x7f, 0xf0, + 0xcd, 0x40, 0x7f, 0xf5, 0xa9, 0x3, 0x88, 0x1f, + 0x10, 0x3f, 0xf9, 0x14, 0xe, 0x80, 0x7d, 0x0, + 0xff, 0xe4, 0x30, 0x3d, 0x80, 0xe8, 0x80, 0xff, + 0xe7, 0x9f, 0x64, 0x76, 0x7, 0xff, 0x49, 0x36, + 0x3, 0xff, 0x9e, 0xf6, 0xff, 0xa0, 0x1f, 0xfc, + 0xb2, 0x7f, 0xf8, 0x0, 0x7f, 0xff, 0xc0, 0xff, + 0xf4, 0x16, 0xff, 0xf9, 0xe4, 0xf, 0x29, 0x3f, + 0xf9, 0xe8, 0xf, 0xfe, 0xd1, 0x1, 0x80, 0xff, + 0xe7, 0xe0, 0x4, + + /* U+F240 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdb, 0xff, 0xfe, + 0x50, 0x1f, 0xfd, 0x86, 0xc4, 0xf, 0xfe, 0xa1, + 0x88, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0xf3, 0xd8, + 0x1f, 0xfd, 0x46, 0x7, 0xfb, 0x7f, 0xff, 0xca, + 0x3, 0xfc, 0x5b, 0xff, 0xe6, 0xe0, 0x25, 0x80, + 0x94, 0x9f, 0xfc, 0xd6, 0x5, 0xa, 0x3, 0xff, + 0xa8, 0x45, 0x40, 0x7f, 0xf4, 0x4e, 0x2, 0xbf, + 0xff, 0xf4, 0x71, 0x0, + + /* U+F241 "ï‰" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdf, 0xff, 0xf1, + 0x60, 0x1f, 0xfd, 0xd6, 0xc4, 0xf, 0xfe, 0xa1, + 0x88, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0xf3, 0xd8, + 0x1f, 0xfd, 0x46, 0x7, 0xfb, 0xff, 0xfe, 0x2c, + 0x3, 0xff, 0x86, 0x5b, 0xff, 0xe6, 0xe0, 0x25, + 0x80, 0x94, 0x9f, 0xfc, 0xd6, 0x5, 0xa, 0x3, + 0xff, 0xa8, 0x45, 0x40, 0x7f, 0xf4, 0x4e, 0x2, + 0xbf, 0xff, 0xf4, 0x71, 0x0, + + /* U+F242 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdf, 0xff, 0xf0, + 0x10, 0x1f, 0xfe, 0x26, 0xc4, 0xf, 0xfe, 0xa1, + 0x88, 0xf, 0xff, 0xf8, 0x1f, 0xfc, 0xf3, 0xd8, + 0x1f, 0xfd, 0x46, 0x7, 0xfb, 0xff, 0xfe, 0x2, + 0x3, 0xff, 0x90, 0x5b, 0xff, 0xe6, 0xe0, 0x25, + 0x80, 0x94, 0x9f, 0xfc, 0xd6, 0x5, 0xa, 0x3, + 0xff, 0xa8, 0x45, 0x40, 0x7f, 0xf4, 0x4e, 0x2, + 0xbf, 0xff, 0xf4, 0x71, 0x0, + + /* U+F243 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xdf, 0xfc, 0x7, + 0xff, 0xa1, 0xb1, 0x3, 0xff, 0xa8, 0x62, 0x3, + 0xff, 0xfe, 0x7, 0xff, 0x3c, 0xf6, 0x7, 0xff, + 0x51, 0x81, 0xfe, 0xff, 0xe0, 0x3f, 0xf9, 0xc5, + 0xbf, 0xfe, 0x6e, 0x2, 0x58, 0x9, 0x49, 0xff, + 0xcd, 0x60, 0x50, 0xa0, 0x3f, 0xfa, 0x84, 0x54, + 0x7, 0xff, 0x44, 0xe0, 0x2b, 0xff, 0xff, 0x47, + 0x10, 0x0, + + /* U+F244 "" */ + 0x5, 0xbf, 0xfe, 0x8a, 0x2, 0x5a, 0x4f, 0xfe, + 0x8d, 0x80, 0x20, 0x1f, 0xfd, 0x36, 0x0, 0x81, + 0xff, 0xd4, 0x20, 0x67, 0xff, 0xff, 0x36, 0x81, + 0x68, 0x7, 0xff, 0x59, 0x81, 0xff, 0xf4, 0x6c, + 0x40, 0xff, 0xea, 0x18, 0x80, 0xff, 0xff, 0x81, + 0xff, 0xcf, 0x3d, 0x81, 0xff, 0xd4, 0x60, 0x7f, + 0xf7, 0xcb, 0x7f, 0xfc, 0xdc, 0x4, 0xb0, 0x12, + 0x93, 0xff, 0x9a, 0xc0, 0xa1, 0x40, 0x7f, 0xf5, + 0x8, 0xa8, 0xf, 0xfe, 0x89, 0xc0, 0x57, 0xff, + 0xfe, 0x8e, 0x20, 0x0, + + /* U+F26C "" */ + 0x5, 0xc9, 0xff, 0xd1, 0x64, 0x3d, 0x1b, 0xff, + 0xe8, 0xcc, 0xe0, 0x1f, 0xfd, 0x58, 0x7, 0xff, + 0x69, 0xff, 0xff, 0xcf, 0x60, 0x7f, 0xff, 0xc0, + 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, 0xff, 0xfe, + 0x7, 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, 0xfe, + 0x22, 0xdf, 0xff, 0x3c, 0x81, 0xe5, 0x27, 0xff, + 0x3d, 0x1, 0x20, 0x3f, 0xfa, 0xaa, 0xa0, 0x3f, + 0xfa, 0x6a, 0x8b, 0xff, 0xff, 0x8, 0x9, 0xff, + 0xff, 0xc1, 0xa0, 0x7f, 0xf7, 0xaf, 0xff, 0xc0, + 0x4f, 0xff, 0xe6, 0x7, 0xf9, 0xa0, 0x3f, 0xf9, + 0x50, 0xf, 0xf2, 0x3, 0xff, 0x96, 0x40, 0xff, + 0x1b, 0x1b, 0xff, 0xe4, 0x4c, 0x7, 0x0, + + /* U+F28B "" */ + 0x3, 0xff, 0xb2, 0x66, 0xff, 0x6a, 0x80, 0xff, + 0xe2, 0x2d, 0x8c, 0x81, 0x8a, 0xbe, 0x1, 0xff, + 0xc1, 0xb4, 0x40, 0xff, 0x9f, 0x40, 0x7f, 0xb2, + 0x3, 0xff, 0x87, 0x58, 0x1f, 0xb1, 0x3, 0xff, + 0x8b, 0x18, 0x1e, 0xa4, 0xf, 0xfe, 0x3c, 0x40, + 0x66, 0x80, 0xff, 0xe4, 0xd0, 0x34, 0x3, 0xff, + 0x96, 0xc0, 0x30, 0x3e, 0x96, 0xc0, 0x1d, 0xb2, + 0x3, 0xd0, 0x5, 0x3, 0xe6, 0x96, 0x11, 0x2b, + 0x1, 0xf2, 0x4, 0xf, 0xfe, 0x6e, 0x20, 0x7f, + 0xf3, 0x8b, 0x3, 0xff, 0x9c, 0xc0, 0xff, 0xe7, + 0x90, 0x3f, 0xf9, 0xe5, 0x81, 0xff, 0xce, 0x64, + 0xf, 0xfe, 0x71, 0x4, 0xf, 0xfe, 0x6e, 0x14, + 0xf, 0x9a, 0x58, 0x44, 0xac, 0x7, 0xc8, 0x30, + 0x3e, 0x96, 0xc0, 0x1d, 0xb2, 0x3, 0xd0, 0xa, + 0x1, 0xff, 0xcb, 0x60, 0x4d, 0x1, 0xff, 0xc9, + 0xa0, 0x75, 0x20, 0x7f, 0xf1, 0xe2, 0x3, 0xd8, + 0x81, 0xff, 0xc5, 0x8c, 0xf, 0xd9, 0x1, 0xff, + 0xc3, 0xac, 0xf, 0xf5, 0xa2, 0x7, 0xfc, 0xfa, + 0x3, 0xff, 0x80, 0xb6, 0x32, 0x6, 0x2a, 0xf8, + 0x7, 0xff, 0x10, 0xcd, 0xfe, 0xd5, 0x1, 0xfc, + + /* U+F2C7 "" */ + 0x3, 0x93, 0x62, 0x7, 0xe3, 0xac, 0x8d, 0x80, + 0x78, 0xe2, 0x6, 0x38, 0xe, 0x80, 0x1e, 0xa4, + 0x18, 0x6, 0x41, 0x6c, 0x9c, 0x3, 0x2, 0x20, + 0x3c, 0x6, 0xb0, 0x39, 0x81, 0x10, 0x3f, 0xff, + 0xe0, 0x7f, 0xff, 0xb8, 0x1f, 0xe8, 0x12, 0x4, + 0xc0, 0x8c, 0x0, 0xcf, 0x1, 0x30, 0x12, 0xb4, + 0x2, 0xa0, 0x90, 0xe, 0x4c, 0x1, 0x2, 0xe0, + 0x79, 0x90, 0xc0, 0x3c, 0x7, 0x99, 0xd, 0x2, + 0xc8, 0x19, 0x30, 0x7, 0x80, 0xfc, 0x80, 0x39, + 0x40, 0x54, 0x80, 0xfd, 0xaf, 0x80, 0x32, 0x29, + 0x6, 0x6c, 0x80, 0x14, 0x2, 0xcc, 0xf, 0x4a, + 0x7, 0x4f, 0x64, 0x5e, 0xc0, 0x80, + + /* U+F2C8 "" */ + 0x3, 0x93, 0x62, 0x7, 0xe3, 0xac, 0x8d, 0x80, + 0x78, 0xe2, 0x6, 0x38, 0xe, 0x80, 0x1e, 0xa4, + 0x18, 0x6, 0x41, 0x42, 0xb0, 0x6, 0x4, 0x40, + 0x70, 0x33, 0x3, 0x98, 0x1f, 0xfc, 0x66, 0x80, + 0xff, 0xac, 0xa8, 0xf, 0xf2, 0x1, 0x80, 0xff, + 0xff, 0x81, 0xff, 0xd1, 0xe0, 0x7f, 0xa0, 0x48, + 0x13, 0x2, 0x30, 0x3, 0x3c, 0x4, 0xc0, 0x4a, + 0xd0, 0xa, 0x82, 0x40, 0x39, 0x30, 0x4, 0xb, + 0x81, 0xe6, 0x43, 0x0, 0xf0, 0x1e, 0x64, 0x34, + 0xb, 0x20, 0x64, 0xc0, 0x1e, 0x3, 0xf2, 0x0, + 0xe5, 0x1, 0x52, 0x3, 0xf6, 0xbe, 0x0, 0xc8, + 0xa4, 0x19, 0xb2, 0x0, 0x50, 0xb, 0x30, 0x3d, + 0x28, 0x1d, 0x3d, 0x91, 0x7b, 0x2, + + /* U+F2C9 "" */ + 0x3, 0x93, 0x62, 0x7, 0xe3, 0xac, 0x8d, 0x80, + 0x78, 0xe2, 0x6, 0x38, 0xe, 0x80, 0x1e, 0xa4, + 0x18, 0x6, 0x41, 0x42, 0xb0, 0x6, 0x4, 0x40, + 0x70, 0x33, 0x3, 0x98, 0x1f, 0xff, 0xd5, 0xf0, + 0x1f, 0xf4, 0x6, 0x1, 0xfe, 0x20, 0x7f, 0xf9, + 0xf8, 0x1f, 0xe8, 0x12, 0x4, 0xc0, 0x8c, 0x0, + 0xcf, 0x1, 0x30, 0x12, 0xb4, 0x2, 0xa0, 0x90, + 0xe, 0x4c, 0x1, 0x2, 0xe0, 0x79, 0x90, 0xc0, + 0x3c, 0x7, 0x99, 0xd, 0x2, 0xc8, 0x19, 0x30, + 0x7, 0x80, 0xfc, 0x80, 0x39, 0x40, 0x54, 0x80, + 0xfd, 0xaf, 0x80, 0x32, 0x29, 0x6, 0x6c, 0x80, + 0x14, 0x2, 0xcc, 0xf, 0x4a, 0x7, 0x4f, 0x64, + 0x5e, 0xc0, 0x80, + + /* U+F2CA "ï‹Š" */ + 0x3, 0x93, 0x62, 0x7, 0xe3, 0xac, 0x8d, 0x80, + 0x78, 0xe2, 0x6, 0x38, 0xe, 0x80, 0x1e, 0xa4, + 0x18, 0x6, 0x41, 0x42, 0xb0, 0x6, 0x4, 0x40, + 0x70, 0x33, 0x3, 0x98, 0x1f, 0xff, 0xf0, 0x3f, + 0xfb, 0xad, 0x1, 0xff, 0x59, 0x50, 0x1f, 0xe4, + 0x3, 0x1, 0xee, 0x7, 0xfa, 0x4, 0x81, 0x30, + 0x23, 0x0, 0x33, 0xc0, 0x4c, 0x4, 0xad, 0x0, + 0xa8, 0x24, 0x3, 0x93, 0x0, 0x40, 0xb8, 0x1e, + 0x64, 0x30, 0xf, 0x1, 0xe6, 0x43, 0x40, 0xb2, + 0x6, 0x4c, 0x1, 0xe0, 0x3f, 0x20, 0xe, 0x50, + 0x15, 0x20, 0x3f, 0x6b, 0xe0, 0xc, 0x8a, 0x41, + 0x9b, 0x20, 0x5, 0x0, 0xb3, 0x3, 0xd2, 0x81, + 0xd3, 0xd9, 0x17, 0xb0, 0x20, + + /* U+F2CB "ï‹‹" */ + 0x3, 0x93, 0x62, 0x7, 0xe3, 0xac, 0x8d, 0x80, + 0x78, 0xe2, 0x6, 0x38, 0xe, 0x80, 0x1e, 0xc4, + 0xc, 0x3, 0x20, 0xa1, 0x2a, 0x43, 0x2, 0x20, + 0x30, 0x19, 0x1, 0xcc, 0x1, 0x3, 0xff, 0xfe, + 0x7, 0xff, 0xff, 0x81, 0xfe, 0x81, 0x20, 0x2e, + 0xfe, 0x94, 0x3, 0x3c, 0x7, 0xe4, 0x1, 0xca, + 0x2, 0xa0, 0x99, 0x3, 0x26, 0x0, 0x81, 0x10, + 0x3c, 0xc8, 0x60, 0x19, 0x3, 0xcc, 0x86, 0x81, + 0x64, 0xc, 0x98, 0x3, 0xc0, 0x7e, 0x40, 0x1c, + 0xa0, 0x2a, 0x40, 0x7e, 0xd7, 0xc0, 0x19, 0x14, + 0x83, 0x36, 0x40, 0xa, 0x1, 0x66, 0x7, 0xa5, + 0x3, 0xa7, 0xb2, 0x2f, 0x60, 0x40, + + /* U+F2CD "ï‹" */ + 0x3, 0x3b, 0x50, 0xf, 0xfe, 0x5e, 0x89, 0x1f, + 0x20, 0x7f, 0xf2, 0x29, 0x3, 0xb7, 0xe8, 0x40, + 0xff, 0xe2, 0x20, 0x7f, 0x20, 0x33, 0xd0, 0xf, + 0xfe, 0x11, 0x1, 0x40, 0x30, 0x3c, 0x40, 0xff, + 0xe1, 0x30, 0x38, 0x81, 0xc6, 0x81, 0xff, 0xcd, + 0x38, 0xf, 0xfe, 0x4c, 0x2, 0x38, 0xf, 0xfe, + 0x52, 0x0, 0x70, 0x1f, 0xfc, 0xb2, 0xd6, 0x3, + 0xff, 0x9b, 0x28, 0x1f, 0xfe, 0x23, 0x80, 0x69, + 0x3f, 0xf9, 0x2c, 0xe6, 0x1, 0x37, 0xff, 0xc9, + 0x98, 0xf, 0xfe, 0x82, 0x3, 0xff, 0x9c, 0xed, + 0x1, 0xff, 0xcc, 0xb0, 0x30, 0x3f, 0xf9, 0x8c, + 0xf, 0xfe, 0x91, 0x3, 0xff, 0x98, 0x40, 0xa0, + 0x1f, 0xfc, 0xa8, 0x6, 0x68, 0xf, 0xfe, 0x42, + 0x60, 0x71, 0x3, 0xff, 0x90, 0x40, 0xf7, 0x2, + 0xff, 0xff, 0x84, 0x5, 0xc0, 0xf3, 0x49, 0x0, + 0xff, 0xe1, 0x44, 0x8c, 0x8, + + /* U+F2DC "ï‹œ" */ + 0x3, 0xff, 0x80, 0x90, 0x81, 0xff, 0xca, 0x76, + 0xb0, 0x1f, 0xfc, 0x86, 0x78, 0x19, 0x90, 0x3f, + 0xf8, 0x8e, 0x62, 0x5, 0x66, 0x3, 0xff, 0x8e, + 0x80, 0x90, 0x1f, 0xfc, 0x39, 0x1, 0xb0, 0x1f, + 0x60, 0x6a, 0x3, 0xc4, 0x37, 0x11, 0x18, 0x1d, + 0x88, 0x8a, 0x2, 0x4, 0x76, 0x1, 0x20, 0x11, + 0x1, 0x62, 0x1, 0x7, 0x35, 0x1, 0xc1, 0x80, + 0x30, 0x11, 0x2, 0x20, 0x8, 0x4, 0xc2, 0x40, + 0x3e, 0x40, 0x7f, 0x90, 0x1f, 0xb4, 0x3, 0xbb, + 0x3, 0xeb, 0x0, 0xc7, 0x20, 0xe0, 0x1e, 0x98, + 0x81, 0x4e, 0x80, 0xe3, 0x0, 0x60, 0x31, 0x2, + 0x28, 0x9, 0x81, 0x88, 0x12, 0x22, 0x29, 0xbe, + 0xa0, 0x7f, 0x97, 0xde, 0xb6, 0x20, 0xd6, 0x40, + 0x2e, 0xc0, 0xfb, 0x50, 0x25, 0x20, 0x9, 0x1, + 0xcd, 0x80, 0xfb, 0x90, 0x31, 0x20, 0x12, 0xfc, + 0xdb, 0xc0, 0x3f, 0x1d, 0x55, 0xfb, 0x0, 0x10, + 0x6, 0x40, 0x1f, 0xfc, 0x5, 0x50, 0x11, 0x16, + 0x1, 0xe3, 0x98, 0x17, 0x60, 0x79, 0x62, 0x1c, + 0x3, 0xa6, 0x20, 0x74, 0xc4, 0xc, 0xa0, 0x8, + 0x7, 0x16, 0x7, 0xe3, 0x0, 0xe4, 0xc4, 0x0, + 0x40, 0x20, 0x3f, 0xc8, 0x1, 0x2, 0x61, 0xb5, + 0x80, 0x30, 0x2, 0xc0, 0xa0, 0x11, 0x1, 0xdd, + 0x2, 0x88, 0x9, 0x3, 0x80, 0xce, 0x0, 0xa1, + 0x88, 0x80, 0xe5, 0xf8, 0x1c, 0x7, 0x9c, 0xf, + 0xd0, 0x3f, 0xf8, 0x10, 0xf, 0xcc, 0xf, 0xfe, + 0x24, 0x2d, 0x80, 0xb0, 0x80, 0x7f, 0xf1, 0xe, + 0x9c, 0x8, 0xf6, 0x7, 0xff, 0x1d, 0x29, 0x81, + 0xff, 0x0, + + /* U+F2E7 "" */ + 0x4, 0x80, 0x12, 0x0, 0x48, 0xf, 0xe2, 0x40, + 0x36, 0x31, 0xb1, 0x8d, 0x8c, 0xf, 0x1d, 0xa8, + 0x80, 0x70, 0x2e, 0x40, 0x70, 0x39, 0xe2, 0x0, + 0x90, 0x11, 0x0, 0x40, 0x90, 0x19, 0x40, 0x33, + 0xe0, 0x7f, 0x88, 0x11, 0xa0, 0x78, 0x81, 0x30, + 0xc, 0xf, 0xa0, 0x1f, 0x30, 0x3f, 0xe2, 0xa, + 0x3, 0xe2, 0x4, 0x40, 0x10, 0x33, 0x14, 0xf, + 0xfe, 0x52, 0x3, 0xfe, 0x54, 0xa, 0x1, 0x30, + 0x40, 0xfc, 0x80, 0x12, 0x2, 0x40, 0x44, 0xf, + 0xf7, 0x3, 0xfc, 0x80, 0x10, 0x3f, 0x24, 0x3, + 0xfa, 0x80, 0x40, 0x7f, 0x54, 0x7, 0x8e, 0x2, + 0xa0, 0x7f, 0xad, 0x1, 0x96, 0x20, 0x45, 0x81, + 0xff, 0xca, 0x84, 0xf, 0xfe, 0x56, 0x20, 0x7e, + 0x20, 0x7f, 0xf0, 0x78, 0x1f, 0xfc, 0x16, 0x7, + 0xff, 0x17, 0x81, 0xff, 0xc1, 0x60, 0x7f, 0xf0, + 0x48, 0x1f, 0x88, 0x1f, 0xfd, 0x32, 0x7, 0xff, + 0x7, 0x81, 0xff, 0xca, 0x20, 0x7e, 0x60, 0x71, + 0x3, 0xff, 0xa4, 0xc0, 0xfc, 0x40, 0xff, 0xec, + 0x10, 0x33, 0x2, 0xa9, 0x66, 0x40, 0xfa, 0xa5, + 0xa0, + + /* U+F2F2 "" */ + 0x3, 0xf1, 0x72, 0x73, 0x3, 0xff, 0x89, 0x21, + 0xbe, 0x84, 0xf, 0xfe, 0xd9, 0x3, 0xff, 0x97, + 0x3c, 0x2, 0xfc, 0x40, 0xff, 0xed, 0x19, 0xe0, + 0x17, 0xcc, 0xc, 0x80, 0xfd, 0x73, 0x3, 0xc6, + 0x76, 0x2d, 0x40, 0x38, 0xf4, 0x7, 0xfd, 0x3a, + 0xd, 0x80, 0x8e, 0x3, 0xff, 0x8c, 0x40, 0xb8, + 0x1e, 0x5b, 0x40, 0x7e, 0xa8, 0x4, 0x20, 0x78, + 0x9c, 0x7, 0xe6, 0x4, 0xc0, 0xff, 0xe3, 0xc0, + 0xc, 0xf, 0xfe, 0x42, 0x1, 0x80, 0xff, 0xe4, + 0xa0, 0x80, 0xff, 0xe4, 0xe0, 0x3f, 0xfc, 0x64, + 0xf, 0xfe, 0x59, 0x4, 0xf, 0xc4, 0x1, 0x3, + 0xfb, 0x84, 0x7, 0xe5, 0xfb, 0x1, 0xfc, 0x86, + 0x3, 0xff, 0x90, 0x48, 0x22, 0x7, 0xff, 0x1e, + 0x1, 0x70, 0x3f, 0xf8, 0xc5, 0x1, 0x18, 0x7, + 0xff, 0x17, 0x1, 0xcd, 0x80, 0xff, 0xe1, 0xe0, + 0x3e, 0x90, 0x7, 0xff, 0x0, 0xf2, 0x7, 0xe7, + 0xd0, 0x1f, 0xd3, 0x1, 0xff, 0xc0, 0xbe, 0xb4, + 0x8e, 0x6e, 0xc0, 0xf0, + + /* U+F2FE "" */ + 0x3, 0xff, 0x82, 0x48, 0xf, 0xfe, 0x72, 0xde, + 0x81, 0xff, 0xcc, 0x40, 0x16, 0x3, 0xff, 0x96, + 0x40, 0x8c, 0x3, 0xff, 0x94, 0x40, 0xcc, 0xf, + 0xfe, 0x55, 0x3, 0x88, 0x1f, 0xfc, 0x86, 0xc0, + 0x7f, 0xf2, 0x92, 0x3b, 0x0, 0xf3, 0x3, 0xff, + 0x84, 0xfd, 0xa8, 0x80, 0xfa, 0xf6, 0x7, 0xfc, + 0xa0, 0x1f, 0xfc, 0x28, 0x80, 0xff, 0x70, 0x3f, + 0xf8, 0x9c, 0xf, 0xfe, 0xd6, 0x3, 0xff, 0x89, + 0x80, 0xff, 0x20, 0x3f, 0xf8, 0x88, 0xf, 0xcf, + 0xe0, 0x31, 0x3, 0xc4, 0xd, 0xbb, 0x3, 0xa4, + 0x1, 0xdb, 0x40, 0x6d, 0xa0, 0x3a, 0x40, 0x19, + 0x81, 0xc4, 0x81, 0x20, 0x4, 0x81, 0x20, 0x39, + 0x81, 0x10, 0x3c, 0x50, 0x44, 0x1, 0x41, 0x10, + 0x3c, 0x40, 0xff, 0x5f, 0x40, 0xd7, 0xd0, 0x3f, + 0xc5, 0x1, 0xff, 0xca, 0x24, 0x5, 0x0, 0xff, + 0xe5, 0x70, 0x27, 0x80, 0xf3, 0x7f, 0xe0, 0x3d, + 0x90, 0x50, 0xf, 0xa4, 0xff, 0x1, 0xf5, 0x50, + 0xf, 0xd8, 0xf, 0xd8, 0xf, 0xd0, 0x81, 0xf8, + 0xf8, 0x40, 0x19, 0xc8, 0x1f, 0x88, 0x1f, 0xf3, + 0xdf, 0xb3, 0x3, 0xfe, 0x80, 0x7f, 0xf3, 0xa3, + 0x40, 0x7f, 0xf3, 0x13, 0x17, 0x46, 0xff, 0xf9, + 0x13, 0x50, + + /* U+F3C1 "ï" */ + 0x3, 0xff, 0x92, 0x9b, 0x22, 0x7, 0xff, 0x36, + 0x7b, 0x22, 0xec, 0x20, 0x7f, 0xf2, 0x4f, 0x60, + 0x78, 0xe6, 0x7, 0xff, 0x1c, 0xe0, 0x3f, 0xd1, + 0x81, 0xff, 0xc6, 0xe0, 0x7f, 0xf0, 0x21, 0x3, + 0xff, 0x88, 0xc8, 0x1a, 0xfe, 0xc8, 0xd, 0x0, + 0xff, 0xe2, 0x60, 0x36, 0x40, 0xd, 0x40, 0x48, + 0xf, 0xfe, 0x22, 0x2, 0x64, 0xe, 0x80, 0x64, + 0x7, 0xff, 0x1f, 0x1, 0xe2, 0x6, 0x20, 0x7f, + 0xf8, 0x88, 0x1f, 0xff, 0xf0, 0x3e, 0xbf, 0xff, + 0xf0, 0x30, 0x1a, 0xff, 0x30, 0x3f, 0x54, 0x7, + 0xff, 0x26, 0x10, 0x15, 0x23, 0x64, 0x7, 0xff, + 0x2d, 0x0, 0x56, 0xa0, 0x1f, 0xfc, 0xde, 0x7, + 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, 0xff, 0xf0, + 0x3f, 0xff, 0xe0, 0x7f, 0xf1, 0xf8, 0x1f, 0x30, + 0x3f, 0xf9, 0x6c, 0xf, 0xa4, 0x25, 0xff, 0xc8, + 0x78, 0xf, 0xc0, + + /* U+F3CD "ï" */ + 0xa, 0x4f, 0xfe, 0xb, 0x0, 0xeb, 0x7f, 0xfc, + 0x19, 0xc4, 0x3, 0xff, 0x88, 0xc0, 0x2f, 0xff, + 0xec, 0x3, 0x81, 0xff, 0xc2, 0x20, 0x7f, 0xff, + 0xc0, 0xff, 0xff, 0x81, 0xff, 0xff, 0x3, 0xff, + 0xf0, 0xad, 0xff, 0xb0, 0x1e, 0x4b, 0xfe, 0x20, + 0x7f, 0x97, 0xa0, 0x7f, 0xf0, 0xe8, 0x4c, 0xf, + 0xfe, 0xa5, 0x9, 0x81, 0xee, 0xc0, 0xf2, 0xf4, + 0xf, 0x9c, 0x84, 0xbf, 0xf8, 0x2f, 0x0, + + /* U+F3E0 "ï " */ + 0x0, 0x52, 0xff, 0xe1, 0x90, 0x7, 0xeb, 0x7f, + 0xf8, 0x7b, 0x9e, 0x7, 0xff, 0x1f, 0x90, 0x3f, + 0xf8, 0xe4, 0xf, 0xff, 0xea, 0x3, 0xff, 0x8d, + 0x3d, 0xf0, 0xf, 0xfe, 0x1c, 0x60, 0x4e, 0x1, + 0xff, 0xc2, 0x60, 0x73, 0x3, 0xff, 0xae, 0x80, + 0xe4, 0x7, 0xff, 0xa, 0x1, 0xd0, 0xf, 0xfe, + 0x11, 0xed, 0x3e, 0x40, 0xff, 0xe2, 0x4b, 0x0, + 0xff, 0xe1, 0x96, 0xc4, 0xcd, 0x88, 0x1f, 0xf4, + 0xd2, 0x36, 0xa4, 0x68, 0x7, 0xf2, 0x60, 0x7f, + 0x34, 0x7, 0xec, 0x7, 0xfd, 0x80, 0xff, 0xe8, + 0xd4, 0xbf, 0xea, 0x7, 0xe3, 0x6f, 0xfc, 0x40, + 0xff, 0xff, 0x81, 0xff, 0xc1, 0x60, 0x7f, 0xf1, + 0xdc, 0x84, 0xbf, 0xf8, 0xb2, 0x0, + + /* U+F3E5 "ï¥" */ + 0x3, 0xfd, 0x20, 0xf, 0xfe, 0x61, 0xcd, 0x88, + 0x1f, 0xfc, 0xa3, 0x88, 0x6, 0x7, 0xff, 0x25, + 0x60, 0x3f, 0xf9, 0xae, 0x81, 0xff, 0xcd, 0x90, + 0x7, 0xff, 0x36, 0xb0, 0x3e, 0xbf, 0xda, 0xc6, + 0x7, 0xfb, 0x20, 0x3f, 0xf8, 0x5, 0x39, 0xf3, + 0x3, 0x8f, 0x20, 0x7f, 0xf1, 0x8c, 0xe8, 0xb, + 0x1, 0xff, 0xcb, 0xac, 0x1, 0x3, 0xff, 0x99, + 0x10, 0xc4, 0xf, 0xfe, 0x65, 0x1, 0x90, 0x1f, + 0xfc, 0xc4, 0x2, 0xb0, 0x3f, 0x39, 0xd, 0x1, + 0xfe, 0xe0, 0x52, 0x81, 0xf6, 0x6d, 0x2f, 0xd0, + 0xf, 0x98, 0x19, 0x50, 0x3f, 0xf8, 0x5, 0xf2, + 0x7, 0x10, 0x39, 0x62, 0x7, 0xff, 0x7, 0x1, + 0xff, 0xc0, 0x38, 0x81, 0xff, 0xc1, 0x60, 0x62, + 0x7, 0xec, 0x80, 0x30, 0x3f, 0xb8, 0x19, 0x81, + 0xfd, 0x6c, 0x40, 0xfe, 0x20, 0x6e, 0x7, 0xf9, + 0x20, 0x1f, 0xe2, 0x4, 0x50, 0x1f, 0xfc, 0xae, + 0x5, 0xc0, 0xff, 0xe5, 0xa0, 0xc, 0x81, 0xff, + 0xcb, 0x21, 0xc0, 0x3f, 0xf9, 0x8e, 0x40, 0x10, + + /* U+F494 "ï’”" */ + 0x3, 0xff, 0x8a, 0x40, 0xff, 0xe9, 0x9b, 0xf7, + 0xa4, 0xf, 0xfe, 0x73, 0xd8, 0x80, 0x96, 0xc6, + 0x7, 0xff, 0x24, 0xcf, 0x8, 0x1f, 0x19, 0xe1, + 0x3, 0xff, 0x88, 0xb6, 0x30, 0x3f, 0xf8, 0x2f, + 0x62, 0x3, 0xfe, 0x33, 0xd2, 0x7, 0xff, 0x14, + 0xdf, 0x8, 0x1e, 0x57, 0x30, 0x3f, 0xf9, 0x6f, + 0x54, 0x0, 0xea, 0x80, 0xff, 0xe7, 0xab, 0x8f, + 0x20, 0x7f, 0xf4, 0xcf, 0x20, 0x7f, 0xf5, 0x48, + 0x1f, 0xff, 0xf0, 0x3f, 0xfa, 0xe7, 0xff, 0xfe, + 0x59, 0x3, 0xfd, 0x3, 0x93, 0xff, 0x8e, 0xc4, + 0x3, 0xff, 0x81, 0x1b, 0xff, 0xe3, 0xc0, 0x3f, + 0xff, 0xe0, 0x7f, 0x7f, 0xff, 0xc9, 0x3, 0xff, + 0x84, 0xdf, 0xff, 0x24, 0xf, 0xfe, 0x14, 0x9f, + 0xfc, 0x90, 0x3f, 0xff, 0xe0, 0x7f, 0x7f, 0xff, + 0xc9, 0x3, 0xff, 0xcb, 0xff, 0xff, 0x24, 0xf, + 0xff, 0xf8, 0x8, 0xdd, 0x10, 0x8d, 0xff, 0xf1, + 0xe0, 0x51, 0xba, 0x0, + + /* U+F52A "" */ + 0x3, 0xf9, 0x2f, 0xfe, 0x28, 0x1f, 0xfc, 0x43, + 0xed, 0xff, 0xe2, 0xf2, 0x7, 0xff, 0xb, 0x81, + 0xff, 0xc7, 0xe0, 0x7f, 0xf0, 0x88, 0x1f, 0xfc, + 0x72, 0x7, 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, + 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x7f, 0xf7, 0xdf, + 0xc0, 0x7f, 0xf5, 0x20, 0x2c, 0xf, 0xfe, 0x9a, + 0x0, 0x80, 0xff, 0xe9, 0xdd, 0xc8, 0x1f, 0xfd, + 0x42, 0x7, 0xff, 0xfc, 0xf, 0xff, 0xf8, 0x1f, + 0xff, 0xf0, 0x3f, 0xfa, 0x9b, 0xff, 0x1, 0xff, + 0xc9, 0xff, 0xd8, 0x81, 0xff, 0xd5, 0x20, 0x7f, + 0xf5, 0xeb, 0x7f, 0xfd, 0x5a, + + /* U+F52B "" */ + 0x3, 0xff, 0x8a, 0x98, 0x1f, 0xfd, 0x25, 0x37, + 0xb3, 0x1, 0xff, 0xcd, 0x33, 0x7a, 0xc8, 0x11, + 0x3, 0xff, 0x97, 0x7e, 0x64, 0xf, 0xfe, 0x95, + 0x40, 0x7f, 0xf0, 0x4f, 0xff, 0x30, 0x3f, 0xf8, + 0xc, 0xf, 0xfe, 0x54, 0x40, 0x7f, 0xf5, 0xf0, + 0x1f, 0xfc, 0xe2, 0xdf, 0x1, 0xff, 0xd3, 0x93, + 0x80, 0xff, 0xff, 0x81, 0xff, 0xed, 0x20, 0x7f, + 0xf5, 0xae, 0x40, 0x7f, 0xf5, 0x50, 0xc0, 0x7f, + 0xf5, 0x50, 0xc0, 0x7f, 0xf5, 0x6e, 0x40, 0x7f, + 0xf5, 0x88, 0x1f, 0xff, 0xf0, 0x3f, 0xff, 0xe0, + 0x7f, 0xff, 0xc0, 0xff, 0xf2, 0x6f, 0xf1, 0x3, + 0xff, 0x96, 0xff, 0xd0, 0x10, 0x3f, 0xfa, 0xa8, + 0xf, 0xfe, 0xcd, 0x6f, 0xff, 0x8c, 0x7, 0xd1, + 0xbf, 0x4e, + + /* U+F54C "ï•Œ" */ + 0x3, 0xfe, 0x4d, 0xe4, 0x7, 0xff, 0x1e, 0x6f, + 0x64, 0xd7, 0xe8, 0x7, 0xff, 0xa, 0x76, 0x40, + 0xfc, 0x5f, 0x80, 0x7f, 0x8f, 0x60, 0x7f, 0xf0, + 0x9e, 0x20, 0x7c, 0xb0, 0x1f, 0xfc, 0x53, 0x90, + 0x1c, 0xa8, 0x1f, 0xfc, 0x8a, 0x80, 0x8d, 0x3, + 0xff, 0x95, 0x40, 0xa0, 0x1f, 0xfc, 0xca, 0xa, + 0x3, 0xff, 0x98, 0x8d, 0x3, 0xff, 0x9d, 0x50, + 0x1f, 0xfc, 0xe4, 0x40, 0xe3, 0x7f, 0x30, 0x3c, + 0xff, 0x52, 0x7, 0x10, 0x38, 0xe4, 0x2, 0x40, + 0x1a, 0x40, 0x5, 0x88, 0x1f, 0xea, 0x7, 0x30, + 0x33, 0x3, 0xa8, 0x1c, 0x40, 0xc4, 0xf, 0x10, + 0x4, 0xf, 0x10, 0x31, 0x60, 0x62, 0x7, 0x88, + 0x2, 0x7, 0x88, 0x19, 0x70, 0x35, 0x3, 0x98, + 0x19, 0x81, 0xd4, 0xd, 0x90, 0x18, 0xe4, 0x2, + 0x40, 0x1a, 0x30, 0xb, 0x10, 0x22, 0x85, 0x3, + 0x1b, 0xf9, 0x81, 0xe9, 0xfa, 0x90, 0x34, 0x0, + 0x90, 0xf, 0xfe, 0x52, 0x40, 0x2a, 0x40, 0xff, + 0xe4, 0x1a, 0x7, 0x64, 0x7, 0xff, 0x19, 0x60, + 0x3e, 0xac, 0xf, 0xfe, 0x23, 0xa0, 0x7f, 0x40, + 0x3f, 0xf8, 0x90, 0xf, 0xf1, 0x3, 0xff, 0x88, + 0x40, 0xff, 0x30, 0x33, 0xe4, 0x1, 0xec, 0xc, + 0xc0, 0xff, 0x10, 0x37, 0x3, 0x30, 0x3c, 0x40, + 0xff, 0x70, 0x3f, 0xf8, 0x9c, 0xf, 0xf5, 0x8d, + 0xc8, 0x56, 0xdc, 0x66, 0xe9, 0x40, 0xe0, + + /* U+F55A "ï•š" */ + 0x3, 0xfa, 0x7f, 0xff, 0xca, 0xc8, 0xf, 0xea, + 0xc0, 0xff, 0xe5, 0x1a, 0x80, 0xfa, 0xa0, 0x3f, + 0xf9, 0xb0, 0xf, 0x54, 0x7, 0xff, 0x38, 0x81, + 0xd5, 0x1, 0xfc, 0xd8, 0xf, 0x36, 0x3, 0xff, + 0x83, 0x50, 0x1f, 0xce, 0x43, 0x3, 0x39, 0x20, + 0x3f, 0xea, 0x80, 0xff, 0x40, 0x11, 0x80, 0x70, + 0x3, 0x3, 0xfd, 0x50, 0x1f, 0xf4, 0x2, 0x8d, + 0xa0, 0x14, 0x3, 0xfa, 0xa0, 0x3f, 0xf8, 0xe, + 0x1, 0x48, 0x2, 0x8c, 0xf, 0xd5, 0x1, 0xff, + 0xc2, 0x70, 0xf, 0x46, 0x7, 0xf2, 0x3, 0xff, + 0x88, 0xd0, 0x19, 0x30, 0x3f, 0xc8, 0xf, 0xfe, + 0x23, 0x40, 0x64, 0xc0, 0xff, 0x54, 0x7, 0xff, + 0x9, 0xc0, 0x3d, 0x18, 0x1f, 0xea, 0x80, 0xff, + 0xe0, 0x38, 0x5, 0x20, 0xa, 0x30, 0x3f, 0xd5, + 0x1, 0xff, 0x40, 0x28, 0xda, 0x1, 0x40, 0x3f, + 0xea, 0x80, 0xff, 0x40, 0x11, 0x80, 0x70, 0x4, + 0x3, 0xff, 0x81, 0x50, 0x1f, 0xce, 0x43, 0x3, + 0x39, 0xc, 0xf, 0xfe, 0xd, 0x40, 0x7f, 0x36, + 0x3, 0xcd, 0x80, 0xff, 0xe1, 0xd4, 0x7, 0xff, + 0x38, 0x81, 0xf5, 0x40, 0x7f, 0xf3, 0x60, 0x1f, + 0xab, 0x3, 0xff, 0x94, 0x6a, + + /* U+F61F "" */ + 0x3, 0xff, 0x90, 0x48, 0xf, 0xfe, 0x73, 0xd8, + 0xc0, 0xff, 0xe6, 0x18, 0x2, 0x10, 0x3f, 0xf9, + 0x70, 0xd, 0x0, 0xff, 0xe5, 0x24, 0x3, 0x24, + 0x3, 0xff, 0x93, 0x0, 0xf5, 0x3, 0xff, 0x91, + 0x8, 0x1f, 0x40, 0x3f, 0xf8, 0xc5, 0x81, 0xf9, + 0x90, 0x3f, 0xf8, 0xb0, 0xf, 0xf4, 0x3, 0xff, + 0x88, 0x90, 0xf, 0xf2, 0x40, 0x3f, 0xf8, 0x70, + 0xf, 0xfe, 0x4, 0x3, 0xff, 0x86, 0x40, 0xff, + 0xe0, 0x10, 0x3f, 0xf8, 0x74, 0xf, 0xfe, 0x5, + 0x3, 0xff, 0x86, 0xbf, 0xff, 0xe0, 0x20, 0x3c, + 0x9b, 0x20, 0x3f, 0xf9, 0x73, 0xd9, 0x17, 0xc0, + 0x3f, 0xf9, 0x19, 0x81, 0xe7, 0x80, 0xd3, 0xff, + 0xf2, 0x1, 0x88, 0x1f, 0x8d, 0x0, 0x58, 0x1f, + 0xea, 0x11, 0x3, 0xfc, 0x90, 0x30, 0x3f, 0xf8, + 0x3c, 0xf, 0xfe, 0x7, 0x3, 0xff, 0x86, 0x80, + 0xff, 0xe0, 0x20, 0x3f, 0xff, 0xa8, 0xf, 0xfe, + 0x2, 0x3, 0xff, 0x87, 0x0, 0xff, 0xe0, 0x40, + 0x3f, 0xf8, 0x65, 0x81, 0xfe, 0x64, 0xf, 0xfe, + 0x24, 0x40, 0x7e, 0x50, 0x3, 0x3, 0xff, 0x87, + 0x68, 0x81, 0x8d, 0xa0, 0x22, 0x40, 0x7f, 0x90, + 0x19, 0x6c, 0xb5, 0xb1, 0x1, 0xda, 0xdf, 0xed, + 0x40, + + /* U+F6A9 "ïš©" */ + 0x3, 0xff, 0xb8, 0x6b, 0x3, 0xff, 0x9a, 0x72, + 0x80, 0x7f, 0xf3, 0xe, 0x3, 0xff, 0x9c, 0x70, + 0x1f, 0xfc, 0xe3, 0x80, 0xff, 0xe4, 0x19, 0x3d, + 0x80, 0xff, 0xa1, 0x3, 0x34, 0x3, 0x37, 0xe0, + 0x3f, 0xea, 0xf1, 0x1, 0x22, 0xa0, 0x3f, 0xf8, + 0xcd, 0x0, 0xc6, 0x30, 0x14, 0xf, 0xfe, 0x33, + 0x20, 0x59, 0x81, 0x40, 0x3f, 0xf8, 0xf8, 0x81, + 0xe8, 0xc0, 0xff, 0xe4, 0x60, 0x39, 0xb0, 0x1f, + 0xfc, 0x98, 0x7, 0x32, 0x7, 0xff, 0x22, 0x30, + 0x3d, 0x88, 0x1f, 0xfc, 0x64, 0xc0, 0x99, 0x2, + 0xe0, 0x7f, 0xf1, 0x98, 0x14, 0x8c, 0x40, 0x30, + 0xc0, 0xff, 0xe2, 0x1c, 0x23, 0x1, 0x8b, 0xa2, + 0x7f, 0xe6, 0x7, 0xf8, 0xf6, 0x6, 0xd0, 0xf, + 0xe8, 0xc0, 0xff, 0xe8, 0x46, 0x7, 0xff, 0x42, + 0x30, 0x3f, 0xfa, 0x11, 0x82, 0x7, 0xff, 0x3a, + 0x7c, 0x7, 0xff, 0xc, + + /* U+F6C3 "" */ + 0x3, 0xff, 0x92, 0x53, 0x40, 0x7f, 0xf3, 0x4d, + 0xfa, 0xca, 0x80, 0xff, 0xe5, 0xdc, 0x80, 0xd5, + 0x1, 0xff, 0xca, 0xc8, 0xe, 0xc8, 0xf, 0xfe, + 0x56, 0x20, 0x74, 0x20, 0x7f, 0xf2, 0xa9, 0x3, + 0x8b, 0x3, 0xff, 0x94, 0x50, 0x1e, 0x40, 0x7f, + 0xf2, 0xe8, 0x1f, 0x60, 0x3f, 0xf9, 0x6c, 0xf, + 0x98, 0x1f, 0xfe, 0xa2, 0x7, 0xe6, 0x7, 0xff, + 0x4f, 0x81, 0xff, 0xc6, 0x20, 0x44, 0x1, 0x3, + 0x90, 0x1f, 0xfc, 0x4b, 0xf7, 0xc8, 0x7e, 0xdf, + 0x20, 0x2a, 0x7, 0xff, 0x4, 0xf4, 0x4, 0x6c, + 0x5, 0x21, 0xb0, 0x2, 0x60, 0x7f, 0xf0, 0x38, + 0x1f, 0x3b, 0xad, 0x62, 0xd0, 0x9, 0x0, 0x7f, + 0x89, 0x1, 0xf9, 0x1, 0x1e, 0x38, 0x13, 0xec, + 0x81, 0xf2, 0x3, 0xff, 0x84, 0x49, 0x1, 0xd3, + 0x7f, 0x30, 0x2c, 0x7, 0xff, 0x39, 0xb0, 0x3d, + 0x1, 0xff, 0xc3, 0x23, 0xa0, 0x3d, 0x20, 0x1c, + 0x7, 0xff, 0x17, 0xc1, 0x50, 0x12, 0xcc, 0x5, + 0x3, 0xff, 0x8e, 0xe8, 0x91, 0x7d, 0x20, 0x48, + 0xf, 0xfe, 0x42, 0x65, 0xa0, 0x3c, 0x40, 0xff, + 0xe4, 0xe0, 0x3f, 0x88, 0x1f, 0xfd, 0x34, 0x7, + 0xff, 0x24, 0x81, 0xfd, 0x8, 0x1f, 0xfc, 0x8a, + 0x7, 0xfb, 0x10, 0x3f, 0xf8, 0xd4, 0x81, 0xff, + 0x6a, 0xdf, 0xff, 0xe, 0x74, 0x7, 0xf8, + + /* U+F6C4 "" */ + 0x3, 0xff, 0x80, 0x40, 0xff, 0xea, 0xdc, 0x40, + 0xff, 0xe9, 0x94, 0x20, 0x1f, 0xfd, 0x38, 0x1, + 0x10, 0x3f, 0xf9, 0x6f, 0x42, 0x0, 0xa0, 0x28, + 0x4, 0xae, 0x3, 0xff, 0x8c, 0x5e, 0xf2, 0x0, + 0xc9, 0xdf, 0x51, 0x3, 0xff, 0x8a, 0x80, 0xcd, + 0x0, 0x20, 0x22, 0x2, 0x40, 0x7f, 0xf1, 0x49, + 0x1, 0x9f, 0xed, 0xe9, 0x3, 0x70, 0x3f, 0xf8, + 0xd4, 0xb, 0x45, 0x21, 0xac, 0xc0, 0x90, 0x1f, + 0xfc, 0x64, 0x3, 0x1b, 0x4d, 0xa7, 0x31, 0x4, + 0x7, 0xff, 0x19, 0x70, 0x8c, 0x40, 0x76, 0x12, + 0xd0, 0x1f, 0xfc, 0x45, 0xa9, 0x1c, 0x30, 0x3c, + 0x41, 0x45, 0x10, 0x3f, 0xf8, 0x3a, 0x90, 0x26, + 0x80, 0xf2, 0xc1, 0xfd, 0x77, 0x80, 0x7f, 0xcc, + 0xf, 0xfe, 0xd, 0x16, 0x1, 0xcf, 0x1, 0xfe, + 0xb4, 0x40, 0x9a, 0x3, 0xa0, 0x88, 0xf, 0x8d, + 0x4, 0x80, 0xf9, 0x6c, 0x43, 0x86, 0x6, 0x61, + 0x81, 0xfc, 0xbe, 0xce, 0x40, 0xf8, 0xc0, 0x92, + 0x30, 0x4, 0x30, 0x3f, 0xf8, 0x78, 0xf, 0xd4, + 0x5, 0x53, 0x5c, 0x38, 0x1f, 0xfc, 0x46, 0x7, + 0xc8, 0xa, 0xc2, 0x8c, 0x40, 0x7f, 0xf1, 0x30, + 0x1e, 0x24, 0x6, 0xa1, 0xe6, 0x40, 0xff, 0xe2, + 0x2e, 0x40, 0xd4, 0x8, 0xc2, 0xe0, 0x1f, 0xfc, + 0x9c, 0x6, 0xe6, 0x6c, 0x62, 0x1, 0xff, 0xcb, + 0x80, 0x4f, 0x32, 0x1, 0x1, 0xff, 0xcc, 0x40, + 0x7f, 0xf5, 0x88, 0x1f, 0xfe, 0x4, 0x7, 0xff, + 0x31, 0x81, 0xfe, 0x80, 0x7f, 0xf2, 0xe0, 0x1f, + 0xe7, 0x0, 0xff, 0xe4, 0xe0, 0x3f, 0xf8, 0xf, + 0x34, 0xbf, 0xf8, 0xb3, 0x90, + + /* U+F72E "" */ + 0x3, 0xff, 0x8a, 0x5b, 0x20, 0x3f, 0xf9, 0x97, + 0x48, 0xbd, 0x1, 0xff, 0xc9, 0xc8, 0xe, 0xa8, + 0xf, 0xfe, 0x3b, 0x20, 0x7d, 0x40, 0xff, 0xe3, + 0xd0, 0x2d, 0xd8, 0x12, 0x3, 0xff, 0x8d, 0x52, + 0x52, 0x20, 0x11, 0x3, 0xff, 0x8c, 0xed, 0x20, + 0x4, 0xf, 0xca, 0x4f, 0xfe, 0x3e, 0x2, 0x40, + 0x6a, 0xdf, 0xff, 0x1c, 0x9, 0x10, 0x3f, 0xf9, + 0xc6, 0x81, 0xc8, 0xf, 0xfe, 0x39, 0x98, 0xf, + 0x5f, 0xff, 0xf8, 0xf9, 0x81, 0xf2, 0x93, 0xe6, + 0xc4, 0x1, 0x93, 0xe6, 0xc8, 0xe, 0xad, 0xfd, + 0x23, 0x50, 0x53, 0x7e, 0x91, 0x7a, 0x3, 0xff, + 0x84, 0xb0, 0xe0, 0x7f, 0xab, 0x0, 0x40, 0xff, + 0x8c, 0x28, 0xf, 0xf4, 0x23, 0x7f, 0xfb, 0x1, + 0x21, 0x7f, 0xf9, 0x1, 0x40, 0x38, 0xa2, 0x0, + 0xb0, 0x4, 0xf, 0xea, 0x40, 0x20, 0x32, 0xd7, + 0x10, 0x4, 0xf, 0xfe, 0xa, 0x3, 0xe6, 0x5, + 0xa5, 0x40, 0x10, 0x5, 0x19, 0x3, 0x10, 0x3e, + 0x28, 0x9, 0xa0, 0x28, 0x2, 0x39, 0x88, 0x6, + 0x80, 0x20, 0x3a, 0x90, 0x3d, 0x8, 0xa, 0x5, + 0xb5, 0x0, 0xb8, 0x1e, 0xd0, 0x80, 0x59, 0x81, + 0x32, 0x4, 0x48, 0x9, 0xa0, 0x3e, 0x7b, 0xf5, + 0x20, 0x76, 0x40, 0x79, 0xc0, 0x3f, 0xf9, 0x16, + 0x9a, 0x49, 0xa0, 0x1f, 0xfc, 0xa5, 0x2d, 0x32, + 0x6, + + /* U+F73C "" */ + 0x3, 0xff, 0x98, 0x51, 0x3, 0xff, 0x9c, 0xb7, + 0xd6, 0x1, 0xff, 0xcd, 0xb4, 0x40, 0x3a, 0x7, + 0xff, 0x32, 0xa0, 0x23, 0x0, 0xff, 0xe6, 0x34, + 0x6, 0xe0, 0x7f, 0xf3, 0x60, 0x1c, 0x40, 0xff, + 0xe6, 0x20, 0x39, 0x1, 0xff, 0xc4, 0x44, 0xf, + 0xb0, 0x1c, 0xc0, 0xff, 0xe0, 0x9d, 0xee, 0xec, + 0xe, 0xc0, 0x71, 0x3, 0xff, 0x80, 0x71, 0x3, + 0x4a, 0x9b, 0x15, 0xc8, 0x19, 0x1, 0xff, 0x70, + 0x3e, 0x56, 0x46, 0x83, 0x1, 0xa0, 0x1f, 0xe4, + 0x40, 0xff, 0xe0, 0x36, 0x10, 0x8, 0xd0, 0x3f, + 0x88, 0x1f, 0xfc, 0x28, 0x1e, 0x20, 0x17, 0x60, + 0x7a, 0x40, 0x1f, 0xfc, 0x3c, 0xce, 0x20, 0x53, + 0xf9, 0xc, 0xc0, 0xff, 0xe2, 0x19, 0x47, 0x3, + 0xd1, 0x42, 0x7, 0xff, 0x1d, 0x21, 0x20, 0x23, + 0x98, 0x60, 0x7f, 0xf2, 0x78, 0x91, 0x76, 0x10, + 0x3f, 0xf9, 0xc9, 0xa2, 0x6, 0x20, 0x7f, 0xf2, + 0x48, 0x1f, 0xd4, 0xf, 0xfe, 0x4d, 0x3, 0xf9, + 0xb0, 0x1f, 0xfc, 0x78, 0x40, 0xff, 0x4a, 0xd2, + 0xff, 0xe1, 0xbc, 0xc0, 0xff, 0xe0, 0x29, 0x6f, + 0xff, 0xe, 0x10, 0x3f, 0xf8, 0x4c, 0x81, 0x24, + 0x2, 0x2c, 0xc, 0xc0, 0xff, 0xe1, 0x29, 0x40, + 0xac, 0x2, 0xf0, 0xa, 0x42, 0x3, 0xff, 0x83, + 0x44, 0x1, 0x44, 0x0, 0xcb, 0x0, 0x59, 0x40, + 0x7f, 0xf0, 0x18, 0x60, 0xa, 0x28, 0x4, 0x10, + 0x4, 0x10, 0xf, 0xfe, 0xc, 0x10, 0x7, 0x1c, + 0x4, 0x10, 0x2, 0x58, 0xf, 0xfe, 0xb, 0xa0, + 0x56, 0x10, 0x19, 0xb0, 0x6, 0xa0, 0x1f, 0xfc, + 0x10, + + /* U+F73D "" */ + 0x3, 0xf3, 0x71, 0x3, 0xff, 0x95, 0x3c, 0x96, + 0xa0, 0x7f, 0xf2, 0x33, 0x3, 0x97, 0x21, 0x5a, + 0x84, 0xf, 0xfa, 0x10, 0x3f, 0x79, 0x52, 0x3c, + 0xc0, 0xff, 0x30, 0x3f, 0x8b, 0x3, 0xa1, 0x3, + 0xf3, 0x3, 0xff, 0x8d, 0x40, 0xff, 0xe7, 0x90, + 0x3f, 0xf9, 0xed, 0x88, 0x1d, 0x60, 0x1f, 0xfc, + 0x63, 0x35, 0x2, 0xc8, 0xf, 0xfe, 0x52, 0xc1, + 0x90, 0x3f, 0xf9, 0x85, 0xd0, 0x3f, 0xf9, 0xd4, + 0x81, 0xff, 0xce, 0x20, 0x7f, 0xf4, 0x10, 0x1f, + 0xfc, 0xe5, 0x0, 0xff, 0xe7, 0x43, 0x0, 0xff, + 0xe6, 0x42, 0x1e, 0x40, 0x7f, 0xf2, 0x16, 0x60, + 0x46, 0xff, 0xff, 0xc8, 0xa4, 0xf, 0xff, 0x92, + 0xc0, 0x7d, 0x20, 0xf, 0xb2, 0x3, 0xf4, 0x28, + 0xf, 0x36, 0x3, 0xc4, 0xa0, 0x1f, 0x22, 0x20, + 0x1d, 0x0, 0x40, 0x3b, 0x82, 0x80, 0xf4, 0x0, + 0x58, 0x11, 0x60, 0x19, 0x2, 0x64, 0x4, 0x3, + 0x91, 0x2, 0xa0, 0x54, 0xd, 0x40, 0xa8, 0x11, + 0x40, 0x7f, 0xf5, 0x11, 0x2, 0xa0, 0x54, 0xd, + 0x40, 0xa8, 0x11, 0x40, 0x76, 0x6a, 0xb0, 0x23, + 0x9a, 0xc4, 0x9, 0xd4, 0xf0, 0x10, + + /* U+F740 "ï€" */ + 0x3, 0xf9, 0xb8, 0x81, 0xff, 0xcb, 0x9e, 0x4b, + 0x50, 0x3f, 0xf9, 0x39, 0x81, 0xcb, 0x90, 0xad, + 0x42, 0x7, 0xff, 0x2, 0x10, 0x3f, 0x79, 0x52, + 0x3c, 0xc0, 0xff, 0x98, 0x1f, 0xc5, 0x81, 0xd0, + 0x81, 0xfc, 0xc0, 0xff, 0xe3, 0x50, 0x3f, 0xfa, + 0x4, 0xf, 0xfe, 0x83, 0x62, 0x7, 0xac, 0x3, + 0xff, 0x8c, 0x66, 0xa0, 0x6c, 0x80, 0xff, 0xe5, + 0x2c, 0x1, 0x90, 0x3f, 0xf9, 0x85, 0x8a, 0x7, + 0xff, 0x3a, 0x82, 0x7, 0xff, 0x38, 0x81, 0xff, + 0xd2, 0x40, 0x7f, 0xf3, 0x90, 0x80, 0x7f, 0xf3, + 0xa0, 0x30, 0xf, 0xfe, 0x64, 0x20, 0x1e, 0x40, + 0x7f, 0xf2, 0x16, 0x60, 0x63, 0x7f, 0xff, 0xe4, + 0x52, 0x7, 0xff, 0x61, 0x1, 0x90, 0x18, 0x90, + 0x18, 0x81, 0x90, 0x1e, 0xb4, 0x40, 0x3a, 0xc0, + 0x1d, 0x0, 0xb6, 0x1, 0x5a, 0x20, 0x62, 0x89, + 0x0, 0x81, 0x80, 0x83, 0x80, 0x65, 0x80, 0x28, + 0x90, 0x1b, 0x8e, 0x2, 0x8, 0x1, 0x2c, 0x2, + 0x8, 0x3, 0x8e, 0x6, 0x45, 0x10, 0x58, 0x60, + 0x20, 0x80, 0x20, 0x80, 0x11, 0x44, 0xd, 0x44, + 0x1, 0x5, 0x0, 0xcb, 0x20, 0xb2, 0xc0, 0x51, + 0x0, 0xd0, 0x32, 0x12, 0x14, 0x2, 0x8, 0x2, + 0x8, 0x2, 0x6, 0x40, 0xcc, 0x40, 0x1c, 0x70, + 0xc, 0x40, 0x5, 0x28, 0x3, 0x10, 0xe, 0xb8, + 0xa, 0x52, 0x1, 0xc6, 0x0, 0xca, 0x5, 0x70, + 0x1c, + + /* U+F743 "ïƒ" */ + 0x3, 0xfc, 0x80, 0xff, 0xe9, 0x3a, 0xc0, 0xff, + 0xe8, 0xd1, 0x0, 0xff, 0xe5, 0xb4, 0x4, 0xc8, + 0x6, 0x4, 0x98, 0x1f, 0xfc, 0x59, 0x7c, 0x54, + 0xa, 0x29, 0xec, 0x3, 0xff, 0x8a, 0x40, 0x3a, + 0x40, 0xd5, 0x80, 0x40, 0x7f, 0xf1, 0x68, 0x11, + 0xbf, 0xd4, 0xad, 0xe8, 0x1f, 0xfc, 0x56, 0x1, + 0x64, 0x10, 0x5a, 0x92, 0x44, 0xf, 0xfe, 0x3d, + 0x13, 0xde, 0x1, 0x6c, 0xbb, 0xa0, 0x3f, 0xf8, + 0x2f, 0x86, 0x1b, 0x0, 0x81, 0xd2, 0x6, 0xad, + 0x36, 0x3, 0xe7, 0xe0, 0xc, 0x20, 0x13, 0x30, + 0xf, 0xa5, 0x91, 0xd8, 0x1d, 0x40, 0xfe, 0x42, + 0x81, 0xff, 0xc1, 0x88, 0xd, 0xa0, 0x11, 0x8, + 0x4a, 0x8, 0x1f, 0xfc, 0x2e, 0x7, 0x3f, 0x5, + 0x12, 0x19, 0xa8, 0xf, 0xfe, 0x12, 0xa8, 0xe, + 0x60, 0xb2, 0xce, 0x40, 0x7f, 0xf1, 0x15, 0x60, + 0x64, 0x2, 0x11, 0xc0, 0xff, 0xe4, 0x40, 0x37, + 0x2, 0x20, 0x81, 0xff, 0xc9, 0x60, 0x48, 0xc, + 0x40, 0xff, 0xe7, 0x17, 0x78, 0x20, 0x7f, 0xf2, + 0x88, 0x16, 0x88, 0x9, 0x1, 0xff, 0xc9, 0x40, + 0x7f, 0x52, 0x7, 0xff, 0x1f, 0x1, 0xff, 0x68, + 0x97, 0xff, 0x12, 0x72, 0x7, 0xff, 0x1, 0xdb, + 0xff, 0xc4, 0x60, 0x7f, 0xf0, 0xd8, 0x19, 0x90, + 0x24, 0x80, 0x45, 0x81, 0xff, 0xc2, 0x90, 0x80, + 0x29, 0x40, 0xac, 0x2, 0xf0, 0xf, 0xfe, 0x9, + 0x65, 0x0, 0x82, 0x80, 0xa2, 0x0, 0x65, 0x81, + 0xff, 0xc1, 0x82, 0x0, 0x65, 0x90, 0x51, 0x40, + 0x20, 0x80, 0x7f, 0xf0, 0x12, 0xc0, 0x20, 0x80, + 0x38, 0xe0, 0x20, 0x80, 0x7f, 0xf0, 0x5a, 0x80, + 0x4e, 0x81, 0x58, 0x40, 0x66, 0xc0, 0x60, + + /* U+F75F "ïŸ" */ + 0x3, 0x8a, 0x6c, 0x80, 0xf9, 0x36, 0x40, 0x7f, + 0xf1, 0x4e, 0xcb, 0x22, 0xf8, 0x5, 0x3d, 0x91, + 0x7d, 0x20, 0x7f, 0xf0, 0x5e, 0x20, 0x79, 0xe5, + 0xd8, 0x1e, 0x59, 0x1, 0xff, 0x28, 0x7, 0xf1, + 0xa0, 0x7f, 0xa9, 0x3, 0xfd, 0x40, 0xff, 0xe5, + 0xf9, 0xbf, 0x54, 0x4, 0xc0, 0xff, 0xe6, 0x16, + 0x40, 0x2b, 0x40, 0x28, 0x1f, 0xfd, 0x35, 0x1, + 0x3, 0xff, 0xa8, 0xc8, 0x1f, 0xfd, 0x6a, 0x7, + 0xff, 0x59, 0x20, 0x1f, 0xfd, 0x6e, 0x7, 0xff, + 0x55, 0xa2, 0x7, 0xff, 0x53, 0x8e, 0x7, 0xff, + 0x4c, 0xa0, 0x70, 0x1f, 0xfd, 0x13, 0x80, 0x8f, + 0x60, 0x7f, 0xf3, 0x9e, 0x3, 0xd3, 0xec, 0xb7, + 0xf4, 0x3, 0xf5, 0xb6, 0xcf, 0x0, 0xfe, 0x24, + 0x97, 0xe7, 0x99, 0x0, 0x67, 0x4a, 0x24, 0x7, + 0xff, 0x28, 0xcd, 0xfb, 0x30, 0x3f, 0xfc, 0xd2, + 0x7f, 0xf4, 0x90, 0x13, 0x7f, 0xfd, 0x38, 0x4, + 0x40, 0xff, 0xe9, 0x30, 0x25, 0xff, 0xff, 0x4a, + 0x81, 0xff, 0xfa, 0xdf, 0xfd, 0x0, 0x4f, 0xff, + 0xf8, 0xe4, 0x8, 0x81, 0xf1, 0x0, 0x40, 0xff, + 0xe3, 0xb0, 0x28, 0xdf, 0xd0, 0x7, 0x6f, 0xff, + 0x8e, 0x80, 0x80, + + /* U+F769 "ï©" */ + 0x3, 0xc9, 0xb2, 0x3, 0xfe, 0x4d, 0x88, 0x1f, + 0x3f, 0x64, 0x5c, 0x80, 0xf9, 0x7b, 0x23, 0x50, + 0x3a, 0x40, 0x1c, 0x6a, 0x3, 0x95, 0x3, 0x96, + 0x2, 0x6c, 0x7, 0xea, 0x40, 0xd4, 0xf, 0x8b, + 0x1, 0x40, 0xa7, 0xe4, 0x5, 0x40, 0x90, 0x13, + 0xf8, 0xa, 0x82, 0x40, 0x1b, 0x11, 0x48, 0x6, + 0x4, 0x40, 0xa0, 0x2c, 0x1, 0x3, 0xb0, 0xd4, + 0x20, 0x3f, 0xc8, 0x2, 0x3, 0x30, 0x3c, 0xc0, + 0xfc, 0x80, 0xad, 0x62, 0x1, 0x1, 0xff, 0xc5, + 0x28, 0x9, 0x10, 0x28, 0x7, 0xff, 0x1a, 0xa0, + 0x3d, 0x48, 0x1f, 0xfc, 0x7b, 0x11, 0x27, 0x90, + 0x1f, 0xfc, 0x97, 0x76, 0x42, 0x7, 0xff, 0xfc, + 0xf, 0xfe, 0xe4, 0x3, 0xff, 0x81, 0x0, 0xff, + 0xe0, 0xa2, 0x1, 0x20, 0x1a, 0x90, 0xc, 0x81, + 0xff, 0xc0, 0xe0, 0x54, 0x50, 0x59, 0x80, 0x48, + 0xf, 0xfe, 0x2, 0x0, 0x83, 0x40, 0x21, 0x40, + 0x58, 0xf, 0xfe, 0x19, 0x18, 0xc, 0x81, 0x3, + 0xff, 0x90, 0x40, 0xc4, 0xf, 0xfe, 0x29, 0x0, + 0xc4, 0x40, 0x1a, 0x24, 0x0, 0x81, 0xff, 0xc0, + 0xa0, 0x50, 0x5f, 0xd0, 0x70, 0x2a, 0x7, 0xff, + 0x1, 0x81, 0x3a, 0x40, 0x2c, 0x40, 0x22, 0x7, + 0xff, 0x6, 0x81, 0x2d, 0xfa, 0x90, 0x2a, 0x7, + 0xff, 0x9, 0x50, 0x3f, 0xd8, 0xf, 0xfe, 0x22, + 0xc8, 0xf, 0x3e, 0x40, 0xff, 0xe2, 0x9b, 0xec, + 0x8b, 0xe0, 0x1f, 0xfc, 0x40, + + /* U+F76B "ï«" */ + 0x3, 0xc9, 0xb2, 0x3, 0xfe, 0x4d, 0x88, 0x1f, + 0x3f, 0x64, 0x5c, 0x80, 0xf9, 0x7b, 0x23, 0x50, + 0x3a, 0x40, 0x1c, 0x6a, 0x3, 0x95, 0x3, 0x96, + 0x2, 0x4c, 0xf, 0xd4, 0x81, 0xa8, 0x1f, 0x16, + 0x2, 0x1, 0x4f, 0x90, 0x15, 0x2, 0x40, 0x4f, + 0xe0, 0x2a, 0x9, 0x0, 0x6c, 0xd, 0x20, 0x10, + 0x11, 0x2, 0x80, 0xb0, 0x4, 0xe, 0xc0, 0x64, + 0x0, 0x81, 0xf1, 0x0, 0x40, 0xcc, 0x9, 0x81, + 0xff, 0x20, 0x2d, 0x2a, 0x0, 0x80, 0xff, 0xe2, + 0x94, 0x4, 0xd0, 0x14, 0x3, 0xff, 0x8d, 0x48, + 0x1e, 0x84, 0xf, 0xfe, 0x3e, 0x84, 0x2, 0xcc, + 0xf, 0xfe, 0x4b, 0xdf, 0xa9, 0x3, 0xff, 0xfe, + 0x7, 0xff, 0x72, 0x1, 0xd5, 0x81, 0xd0, 0xf, + 0xfe, 0xa, 0x20, 0x11, 0xb, 0xa, 0x4, 0xc0, + 0xff, 0xe0, 0xf0, 0x2a, 0x28, 0x4c, 0xd0, 0x26, + 0x7, 0xff, 0x1, 0x0, 0x42, 0x20, 0x10, 0xa0, + 0x2c, 0x7, 0xff, 0xc, 0x82, 0x6, 0x40, 0x81, + 0xff, 0xc8, 0x20, 0x64, 0x8, 0x1f, 0xfc, 0x32, + 0x1, 0x88, 0x80, 0x42, 0x40, 0x58, 0xf, 0xfe, + 0x5, 0x2, 0x82, 0xfe, 0x63, 0x81, 0x20, 0x3f, + 0xf8, 0xc, 0x9, 0xd2, 0x1, 0x62, 0x1, 0x10, + 0x3f, 0xf8, 0x34, 0x9, 0x6f, 0xd4, 0x81, 0x50, + 0x3f, 0xf8, 0x4a, 0x81, 0xfe, 0xc0, 0x7f, 0xf1, + 0x16, 0x40, 0x79, 0xf2, 0x7, 0xff, 0x14, 0xdf, + 0x64, 0x5f, 0x0, 0xff, 0xe2, 0x0, + + /* U+F7D8 "" */ + 0x72, 0x7f, 0xf1, 0xdc, 0x6f, 0xff, 0x8f, 0x8, + 0x1f, 0xfc, 0x73, 0xa8, 0x1f, 0xfc, 0x5b, 0x80, + 0xd3, 0xf6, 0x3, 0xff, 0x8b, 0xc9, 0x30, 0x3f, + 0xf8, 0xaf, 0x65, 0x3, 0xff, 0xfe, 0x7, 0xff, + 0x7d, 0x50, 0xe, 0xef, 0xfe, 0xd5, 0x80, 0xaa, + 0x80, 0xf1, 0x10, 0x3e, 0x2a, 0x70, 0x14, 0xb, + 0x34, 0x7, 0xf2, 0x78, 0x8, 0x80, 0x32, 0xff, + 0xb7, 0xfa, 0xc2, 0x0, 0xa0, 0x3f, 0x88, 0x1f, + 0xca, 0x81, 0xff, 0xc7, 0xa5, 0x1, 0xff, 0xc5, + 0x44, 0x50, 0x3f, 0xf8, 0xb4, 0xa, 0x81, 0xff, + 0xc3, 0xa0, 0x65, 0x88, 0x1f, 0xf1, 0xc8, 0xe, + 0x30, 0xf, 0xfa, 0x10, 0x3e, 0xe0, 0x7f, 0xdc, + 0xf, 0xc8, 0xf, 0xf9, 0x1, 0xf2, 0x3, 0xff, + 0x82, 0x80, 0xf1, 0x3, 0xff, 0x82, 0x40, 0xf2, + 0x3, 0xff, 0x82, 0x80, 0xf1, 0xf6, 0xff, 0xdc, + 0x81, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 103, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 110, .box_w = 3, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 17, .adv_w = 144, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 14}, + {.bitmap_index = 32, .adv_w = 245, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 120, .adv_w = 221, .box_w = 12, .box_h = 26, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 216, .adv_w = 284, .box_w = 16, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 321, .adv_w = 244, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 421, .adv_w = 78, .box_w = 3, .box_h = 7, .ofs_x = 1, .ofs_y = 14}, + {.bitmap_index = 427, .adv_w = 141, .box_w = 8, .box_h = 30, .ofs_x = 1, .ofs_y = -7}, + {.bitmap_index = 495, .adv_w = 143, .box_w = 8, .box_h = 30, .ofs_x = 0, .ofs_y = -7}, + {.bitmap_index = 558, .adv_w = 193, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 8}, + {.bitmap_index = 601, .adv_w = 223, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 628, .adv_w = 88, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 640, .adv_w = 111, .box_w = 7, .box_h = 3, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 645, .adv_w = 118, .box_w = 5, .box_h = 4, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 652, .adv_w = 166, .box_w = 10, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 711, .adv_w = 221, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 775, .adv_w = 221, .box_w = 7, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 795, .adv_w = 221, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 867, .adv_w = 221, .box_w = 11, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 942, .adv_w = 221, .box_w = 13, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 997, .adv_w = 221, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1071, .adv_w = 221, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1148, .adv_w = 221, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1211, .adv_w = 221, .box_w = 12, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1298, .adv_w = 221, .box_w = 11, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1371, .adv_w = 105, .box_w = 5, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1387, .adv_w = 91, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 1409, .adv_w = 200, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1451, .adv_w = 215, .box_w = 10, .box_h = 8, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 1467, .adv_w = 206, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1511, .adv_w = 189, .box_w = 10, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1571, .adv_w = 345, .box_w = 20, .box_h = 26, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 1734, .adv_w = 258, .box_w = 16, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1829, .adv_w = 245, .box_w = 12, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1897, .adv_w = 254, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1975, .adv_w = 256, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2040, .adv_w = 223, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2072, .adv_w = 215, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2099, .adv_w = 265, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2179, .adv_w = 278, .box_w = 14, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2205, .adv_w = 112, .box_w = 3, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2209, .adv_w = 217, .box_w = 12, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2244, .adv_w = 244, .box_w = 14, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2319, .adv_w = 213, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2336, .adv_w = 338, .box_w = 17, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2431, .adv_w = 278, .box_w = 14, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2498, .adv_w = 269, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2579, .adv_w = 248, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2632, .adv_w = 269, .box_w = 15, .box_h = 24, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 2727, .adv_w = 238, .box_w = 13, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2790, .adv_w = 232, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2877, .adv_w = 233, .box_w = 14, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2900, .adv_w = 252, .box_w = 14, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2940, .adv_w = 251, .box_w = 16, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3038, .adv_w = 341, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3178, .adv_w = 247, .box_w = 15, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3274, .adv_w = 235, .box_w = 15, .box_h = 20, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3343, .adv_w = 234, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3410, .adv_w = 112, .box_w = 6, .box_h = 27, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 3423, .adv_w = 166, .box_w = 10, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3483, .adv_w = 112, .box_w = 5, .box_h = 27, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 3496, .adv_w = 166, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 10}, + {.bitmap_index = 3531, .adv_w = 181, .box_w = 11, .box_h = 3, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 3538, .adv_w = 138, .box_w = 7, .box_h = 4, .ofs_x = 0, .ofs_y = 17}, + {.bitmap_index = 3548, .adv_w = 215, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3604, .adv_w = 221, .box_w = 12, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3657, .adv_w = 207, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3710, .adv_w = 222, .box_w = 11, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3764, .adv_w = 210, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3823, .adv_w = 142, .box_w = 9, .box_h = 22, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3855, .adv_w = 221, .box_w = 11, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 3927, .adv_w = 216, .box_w = 11, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3962, .adv_w = 103, .box_w = 4, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3974, .adv_w = 100, .box_w = 6, .box_h = 26, .ofs_x = -1, .ofs_y = -6}, + {.bitmap_index = 4000, .adv_w = 202, .box_w = 12, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4052, .adv_w = 103, .box_w = 3, .box_h = 21, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4057, .adv_w = 337, .box_w = 19, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4104, .adv_w = 217, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4136, .adv_w = 225, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4196, .adv_w = 221, .box_w = 12, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 4255, .adv_w = 224, .box_w = 11, .box_h = 21, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 4310, .adv_w = 137, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4327, .adv_w = 204, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4387, .adv_w = 133, .box_w = 8, .box_h = 19, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4414, .adv_w = 217, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4440, .adv_w = 192, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4501, .adv_w = 291, .box_w = 18, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4598, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4660, .adv_w = 187, .box_w = 12, .box_h = 21, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 4740, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4785, .adv_w = 137, .box_w = 8, .box_h = 28, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 4847, .adv_w = 109, .box_w = 3, .box_h = 24, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 4853, .adv_w = 137, .box_w = 8, .box_h = 28, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 4910, .adv_w = 264, .box_w = 14, .box_h = 6, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 4940, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5077, .adv_w = 504, .box_w = 31, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5248, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5387, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5520, .adv_w = 308, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5636, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5834, .adv_w = 560, .box_w = 33, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 5923, .adv_w = 448, .box_w = 27, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 6096, .adv_w = 504, .box_w = 32, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 6262, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6445, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6547, .adv_w = 224, .box_w = 14, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 6599, .adv_w = 504, .box_w = 32, .box_h = 27, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 6813, .adv_w = 308, .box_w = 20, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6957, .adv_w = 392, .box_w = 18, .box_h = 26, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 7050, .adv_w = 448, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7202, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 7323, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7387, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 7430, .adv_w = 448, .box_w = 28, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7584, .adv_w = 392, .box_w = 18, .box_h = 26, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 7677, .adv_w = 280, .box_w = 16, .box_h = 25, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 7782, .adv_w = 280, .box_w = 16, .box_h = 25, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 7886, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 8052, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 8207, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 8402, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 8606, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 8785, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 9010, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9138, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9268, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9381, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9493, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 9567, .adv_w = 392, .box_w = 25, .box_h = 7, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 9596, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9784, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 10044, .adv_w = 392, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 10141, .adv_w = 392, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 10241, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10295, .adv_w = 448, .box_w = 29, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10376, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 10541, .adv_w = 560, .box_w = 37, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 10815, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 10929, .adv_w = 560, .box_w = 35, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 11063, .adv_w = 392, .box_w = 25, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 11130, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 4}, + {.bitmap_index = 11174, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 11218, .adv_w = 168, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 11259, .adv_w = 168, .box_w = 10, .box_h = 17, .ofs_x = 0, .ofs_y = 2}, + {.bitmap_index = 11300, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 11480, .adv_w = 280, .box_w = 19, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 11611, .adv_w = 504, .box_w = 33, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 11786, .adv_w = 308, .box_w = 20, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 11927, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12060, .adv_w = 560, .box_w = 36, .box_h = 25, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 12199, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 12274, .adv_w = 504, .box_w = 32, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12372, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12476, .adv_w = 336, .box_w = 20, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 12622, .adv_w = 168, .box_w = 11, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12686, .adv_w = 504, .box_w = 32, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12855, .adv_w = 308, .box_w = 20, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 12987, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 13170, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 13230, .adv_w = 392, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 13338, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 13550, .adv_w = 448, .box_w = 26, .box_h = 29, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 13717, .adv_w = 448, .box_w = 30, .box_h = 21, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 13860, .adv_w = 448, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 13985, .adv_w = 336, .box_w = 21, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 14097, .adv_w = 560, .box_w = 35, .box_h = 26, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 14297, .adv_w = 392, .box_w = 25, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 14402, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 14501, .adv_w = 476, .box_w = 31, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 14694, .adv_w = 448, .box_w = 28, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 14810, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 14991, .adv_w = 504, .box_w = 32, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 15152, .adv_w = 560, .box_w = 35, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 15259, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 15343, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 15428, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 15513, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 15595, .adv_w = 560, .box_w = 35, .box_h = 19, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 15671, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 15766, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 15926, .adv_w = 224, .box_w = 14, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 16020, .adv_w = 224, .box_w = 14, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 16122, .adv_w = 224, .box_w = 14, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 16221, .adv_w = 224, .box_w = 14, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 16322, .adv_w = 224, .box_w = 14, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 16416, .adv_w = 448, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 16541, .adv_w = 392, .box_w = 26, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 16759, .adv_w = 364, .box_w = 23, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 16912, .adv_w = 392, .box_w = 24, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 17052, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 17222, .adv_w = 504, .box_w = 32, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 17345, .adv_w = 280, .box_w = 18, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 17408, .adv_w = 336, .box_w = 21, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 17510, .adv_w = 448, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 17654, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 17786, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 17871, .adv_w = 560, .box_w = 36, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 17977, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 18168, .adv_w = 560, .box_w = 35, .box_h = 21, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 18333, .adv_w = 448, .box_w = 29, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 18502, .adv_w = 448, .box_w = 29, .box_h = 23, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 18626, .adv_w = 504, .box_w = 32, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 18809, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 19030, .adv_w = 448, .box_w = 29, .box_h = 26, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 19215, .adv_w = 504, .box_w = 32, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 19432, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 19590, .adv_w = 448, .box_w = 29, .box_h = 29, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 19783, .adv_w = 504, .box_w = 32, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 20014, .adv_w = 560, .box_w = 35, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 20177, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 20374, .adv_w = 448, .box_w = 28, .box_h = 29, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 20572, .adv_w = 336, .box_w = 21, .box_h = 29, .ofs_x = 0, .ofs_y = -4} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_1[] = { + 0x0, 0x4, 0x6, 0xb, 0xc, 0x10, 0x11, 0x12, + 0x14, 0x1d, 0x22, 0x25, 0x27, 0x42, 0x47, 0x49, + 0x4a, 0x4b, 0x4c, 0x4d, 0x50, 0x52, 0x53, 0x54, + 0x55, 0x57, 0x58, 0x59, 0x5d, 0x5f, 0x60, 0x61, + 0x62, 0x66, 0x67, 0x6d, 0x6f, 0x76, 0x77, 0x7a, + 0x7f, 0x83, 0x84, 0x9b, 0xc1, 0xc8, 0xd6, 0xd7, + 0xd8, 0xd9, 0xe1, 0xe6, 0xe8, 0xea, 0xf2, 0xf3, + 0xfd, 0x107, 0x108, 0x127, 0x128, 0x12d, 0x12f, 0x143, + 0x145, 0x149, 0x184, 0x185, 0x1b8, 0x1dd, 0x1e5, 0x1ea, + 0x1f7, 0x1fd, 0x1ff, 0x200, 0x203, 0x204, 0x235, 0x23f, + 0x240, 0x241, 0x242, 0x243, 0x26b, 0x28a, 0x2c6, 0x2c7, + 0x2c8, 0x2c9, 0x2ca, 0x2cc, 0x2db, 0x2e6, 0x2f1, 0x2fd, + 0x3c0, 0x3cc, 0x3df, 0x3e4, 0x493, 0x529, 0x52a, 0x54b, + 0x559, 0x61e, 0x6a8, 0x6c2, 0x6c3, 0x72d, 0x73b, 0x73c, + 0x73f, 0x742, 0x75e, 0x768, 0x76a, 0x7d7 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 61441, .range_length = 2008, .glyph_id_start = 96, + .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 118, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = { + .glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 2, + .bpp = 3, + .kern_classes = 0, + .bitmap_format = 1 +}; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t robotocondensed_regular_28_nokern = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 32, /*The maximum line height required by the font*/ + .base_line = 7, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) + .underline_position = -2, + .underline_thickness = 1, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + + + +#endif /*#if ROBOTOCONDENSED_REGULAR_28_NOKERN*/ + diff --git a/main/config/font/unscii_8_icon.c b/main/config/font/unscii_8_icon.c new file mode 100644 index 0000000..424550d --- /dev/null +++ b/main/config/font/unscii_8_icon.c @@ -0,0 +1,512 @@ +#include "lvgl.h" + +/******************************************************************************* + * Size: 16 px + * Bpp: 1 + * Opts: + ******************************************************************************/ + +#ifndef UNSCII_8_ICON +#define UNSCII_8_ICON 1 +#endif + +#if UNSCII_8_ICON + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = { + /* U+20 " " */ + 0x0, + + /* U+21 "!" */ + 0xf2, + + /* U+22 "\"" */ + 0x99, 0x90, + + /* U+23 "#" */ + 0x49, 0x2f, 0xd2, 0xfd, 0x24, 0x80, + + /* U+24 "$" */ + 0x23, 0xe8, 0xe2, 0xf8, 0x80, + + /* U+25 "%" */ + 0xc7, 0x21, 0x8, 0x4e, 0x30, + + /* U+26 "&" */ + 0x62, 0x49, 0x18, 0x96, 0x27, 0x40, + + /* U+27 "'" */ + 0x2a, 0x0, + + /* U+28 "(" */ + 0x2a, 0x48, 0x88, + + /* U+29 ")" */ + 0x88, 0x92, 0xa0, + + /* U+2A "*" */ + 0x25, 0x5c, 0x47, 0x54, 0x80, + + /* U+2B "+" */ + 0x21, 0x3e, 0x42, 0x0, + + /* U+2C "," */ + 0x58, + + /* U+2D "-" */ + 0xf8, + + /* U+2E "." */ + 0x80, + + /* U+2F "/" */ + 0x2, 0x8, 0x20, 0x82, 0x8, 0x20, 0x0, + + /* U+30 "0" */ + 0x74, 0x67, 0x5c, 0xc5, 0xc0, + + /* U+31 "1" */ + 0x23, 0x28, 0x42, 0x13, 0xe0, + + /* U+32 "2" */ + 0x74, 0x42, 0x26, 0x43, 0xe0, + + /* U+33 "3" */ + 0x74, 0x42, 0x60, 0xc5, 0xc0, + + /* U+34 "4" */ + 0x11, 0x95, 0x2f, 0x88, 0x40, + + /* U+35 "5" */ + 0xfc, 0x3c, 0x10, 0xc5, 0xc0, + + /* U+36 "6" */ + 0x3a, 0x21, 0xe8, 0xc5, 0xc0, + + /* U+37 "7" */ + 0xf8, 0x44, 0x44, 0x21, 0x0, + + /* U+38 "8" */ + 0x74, 0x62, 0xe8, 0xc5, 0xc0, + + /* U+39 "9" */ + 0x74, 0x62, 0xf0, 0x8b, 0x80, + + /* U+3A ":" */ + 0x90, + + /* U+3B ";" */ + 0x41, 0x60, + + /* U+3C "<" */ + 0x12, 0x48, 0x42, 0x10, + + /* U+3D "=" */ + 0xf8, 0x3e, + + /* U+3E ">" */ + 0x84, 0x21, 0x24, 0x80, + + /* U+3F "?" */ + 0x7a, 0x10, 0x84, 0x10, 0x1, 0x0, + + /* U+40 "@" */ + 0x7a, 0x19, 0x6b, 0x9a, 0x7, 0x80, + + /* U+41 "A" */ + 0x31, 0x28, 0x7f, 0x86, 0x18, 0x40, + + /* U+42 "B" */ + 0xfa, 0x18, 0x7e, 0x86, 0x1f, 0x80, + + /* U+43 "C" */ + 0x7a, 0x18, 0x20, 0x82, 0x17, 0x80, + + /* U+44 "D" */ + 0xf2, 0x28, 0x61, 0x86, 0x2f, 0x0, + + /* U+45 "E" */ + 0xfe, 0x8, 0x3c, 0x82, 0xf, 0xc0, + + /* U+46 "F" */ + 0xfe, 0x8, 0x3c, 0x82, 0x8, 0x0, + + /* U+47 "G" */ + 0x7a, 0x18, 0x27, 0x86, 0x17, 0x80, + + /* U+48 "H" */ + 0x86, 0x18, 0x7f, 0x86, 0x18, 0x40, + + /* U+49 "I" */ + 0xe9, 0x24, 0xb8, + + /* U+4A "J" */ + 0x8, 0x42, 0x10, 0xc5, 0xc0, + + /* U+4B "K" */ + 0x86, 0x29, 0x38, 0x92, 0x28, 0x40, + + /* U+4C "L" */ + 0x82, 0x8, 0x20, 0x82, 0xf, 0xc0, + + /* U+4D "M" */ + 0x87, 0x3b, 0x61, 0x86, 0x18, 0x40, + + /* U+4E "N" */ + 0x87, 0x1a, 0x65, 0x8e, 0x18, 0x40, + + /* U+4F "O" */ + 0x7a, 0x18, 0x61, 0x86, 0x17, 0x80, + + /* U+50 "P" */ + 0xfa, 0x18, 0x7e, 0x82, 0x8, 0x0, + + /* U+51 "Q" */ + 0x7a, 0x18, 0x61, 0x96, 0x27, 0x40, + + /* U+52 "R" */ + 0xfa, 0x18, 0x7e, 0x92, 0x28, 0x40, + + /* U+53 "S" */ + 0x7a, 0x18, 0x1e, 0x6, 0x17, 0x80, + + /* U+54 "T" */ + 0xf9, 0x8, 0x42, 0x10, 0x80, + + /* U+55 "U" */ + 0x86, 0x18, 0x61, 0x86, 0x17, 0x80, + + /* U+56 "V" */ + 0x86, 0x18, 0x61, 0x85, 0x23, 0x0, + + /* U+57 "W" */ + 0x86, 0x18, 0x61, 0xb7, 0x38, 0x40, + + /* U+58 "X" */ + 0x86, 0x14, 0x8c, 0x4a, 0x18, 0x40, + + /* U+59 "Y" */ + 0x8c, 0x62, 0xe2, 0x10, 0x80, + + /* U+5A "Z" */ + 0xf8, 0x44, 0x44, 0x43, 0xe0, + + /* U+5B "[" */ + 0xf2, 0x49, 0x38, + + /* U+5C "\\" */ + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + + /* U+5D "]" */ + 0xe4, 0x92, 0x78, + + /* U+5E "^" */ + 0x22, 0xa2, + + /* U+5F "_" */ + 0xf8, + + /* U+60 "`" */ + 0x88, 0x80, + + /* U+61 "a" */ + 0x70, 0x5f, 0x17, 0x80, + + /* U+62 "b" */ + 0x84, 0x3d, 0x18, 0xc7, 0xc0, + + /* U+63 "c" */ + 0x74, 0x61, 0x17, 0x0, + + /* U+64 "d" */ + 0x8, 0x5f, 0x18, 0xc5, 0xe0, + + /* U+65 "e" */ + 0x74, 0x7f, 0x7, 0x0, + + /* U+66 "f" */ + 0x18, 0x92, 0x3e, 0x20, 0x82, 0x0, + + /* U+67 "g" */ + 0x7c, 0x62, 0xf0, 0xb8, + + /* U+68 "h" */ + 0x84, 0x3d, 0x18, 0xc6, 0x20, + + /* U+69 "i" */ + 0x43, 0x24, 0xb8, + + /* U+6A "j" */ + 0x10, 0x31, 0x11, 0x96, + + /* U+6B "k" */ + 0x84, 0x23, 0x2e, 0x4a, 0x20, + + /* U+6C "l" */ + 0xc9, 0x24, 0xb8, + + /* U+6D "m" */ + 0xd5, 0x6b, 0x5a, 0x80, + + /* U+6E "n" */ + 0xf4, 0x63, 0x18, 0x80, + + /* U+6F "o" */ + 0x74, 0x63, 0x17, 0x0, + + /* U+70 "p" */ + 0xf4, 0x63, 0xe8, 0x40, + + /* U+71 "q" */ + 0x7c, 0x62, 0xf0, 0x84, + + /* U+72 "r" */ + 0xbe, 0x21, 0x8, 0x0, + + /* U+73 "s" */ + 0x7c, 0x1c, 0x1f, 0x0, + + /* U+74 "t" */ + 0x42, 0x3c, 0x84, 0x24, 0xc0, + + /* U+75 "u" */ + 0x8c, 0x63, 0x17, 0x0, + + /* U+76 "v" */ + 0x8c, 0x62, 0xa2, 0x0, + + /* U+77 "w" */ + 0x8d, 0x6b, 0x55, 0x0, + + /* U+78 "x" */ + 0x8a, 0x88, 0xa8, 0x80, + + /* U+79 "y" */ + 0x8c, 0x62, 0xf0, 0xb8, + + /* U+7A "z" */ + 0xf8, 0x88, 0x8f, 0x80, + + /* U+7B "{" */ + 0x34, 0x48, 0x44, 0x30, + + /* U+7C "|" */ + 0xff, + + /* U+7D "}" */ + 0xc2, 0x21, 0x22, 0xc0, + + /* U+7E "~" */ + 0x45, 0x44, + + /* U+7F "" */ + 0xc1, 0x42, 0xbd, 0x2c, 0x40, 0x81, 0x0, + + /* U+F002 "" */ + 0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, + 0x70, 0x78, 0xf0, 0x3f, 0xf8, 0xf, 0xbc, 0x0, 0x1e, 0x0, 0xf, 0x0, 0x6, + + /* U+F00C "" */ + 0x0, 0x6, 0x0, 0xf, 0x0, 0x1f, 0x0, 0x3e, 0x60, 0x7c, 0xf0, 0xf8, 0xf9, 0xf0, 0x7f, 0xe0, 0x3f, 0xc0, 0x1f, 0x80, + 0xf, 0x0, 0x6, 0x0, + + /* U+F00D "ï€" */ + 0x60, 0xde, 0x3f, 0xef, 0xbf, 0xe3, 0xf8, 0x3e, 0xf, 0xe3, 0xfe, 0xfb, 0xfe, 0x3d, 0x83, 0x0, + + /* U+F023 "" */ + 0x7, 0x80, 0x3f, 0x1, 0xce, 0xe, 0x1c, 0x38, 0x70, 0xe1, 0xc3, 0x87, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + /* U+F053 "ï“" */ + 0x3, 0x7, 0xe, 0x1c, 0x38, 0x70, 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, + + /* U+F054 "ï”" */ + 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0xe, 0x1c, 0x38, 0x70, 0xe0, 0xc0, + + /* U+F0C1 "ïƒ" */ + 0x0, 0x78, 0x1, 0xfe, 0x3, 0xce, 0x7, 0x87, 0xf, 0x7, 0xe, 0x7, 0xe, 0xef, 0x2f, 0xee, 0x77, 0xfc, 0xf7, 0x70, 0xe0, + 0x70, 0xe0, 0xf0, 0xe1, 0xe0, 0x73, 0xc0, 0x7f, 0x80, 0x1e, 0x0, + + /* U+F1EB "" */ + 0x3, 0xfc, 0x0, 0xff, 0xf0, 0x3f, 0xff, 0xc7, 0x80, 0x1e, 0xe0, 0x0, 0x74, 0x1f, 0x82, 0xf, 0xff, 0x0, 0xe0, 0x70, + 0x4, 0x2, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0xf, 0x0, 0x0, 0xf0, 0x0, 0x6, 0x0, + + /* U+F55A "ï•š" */ + 0x7, 0xff, 0xe0, 0xff, 0xff, 0x1f, 0xff, 0xf3, 0xf9, 0x9f, 0x7f, 0x81, 0xff, 0xfc, 0x3f, 0xff, 0xc3, 0xf7, 0xf8, + 0x1f, 0x3f, 0x99, 0xf1, 0xff, 0xff, 0xf, 0xff, 0xf0, 0x7f, 0xfe, + + /* U+F8A2 "" */ + 0x0, 0x0, 0x80, 0x0, 0xc2, 0x0, 0xe3, 0x80, 0x73, 0xc0, 0x3b, 0xff, 0xfd, 0xff, 0xfe, 0x78, 0x0, 0x1c, 0x0, 0x4, + 0x0, 0x0}; + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 128, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 13}, + {.bitmap_index = 1, .adv_w = 128, .box_w = 1, .box_h = 7, .ofs_x = 3, .ofs_y = 6}, + {.bitmap_index = 2, .adv_w = 128, .box_w = 4, .box_h = 3, .ofs_x = 2, .ofs_y = 10}, + {.bitmap_index = 4, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 10, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 15, .adv_w = 128, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 20, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 26, .adv_w = 128, .box_w = 3, .box_h = 3, .ofs_x = 2, .ofs_y = 10}, + {.bitmap_index = 28, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 31, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 34, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 39, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 43, .adv_w = 128, .box_w = 2, .box_h = 3, .ofs_x = 3, .ofs_y = 5}, + {.bitmap_index = 44, .adv_w = 128, .box_w = 5, .box_h = 1, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 45, .adv_w = 128, .box_w = 1, .box_h = 1, .ofs_x = 3, .ofs_y = 6}, + {.bitmap_index = 46, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 53, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 58, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 63, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 68, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 73, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 78, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 83, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 88, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 93, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 98, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 103, .adv_w = 128, .box_w = 1, .box_h = 4, .ofs_x = 3, .ofs_y = 7}, + {.bitmap_index = 104, .adv_w = 128, .box_w = 2, .box_h = 6, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 106, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 110, .adv_w = 128, .box_w = 5, .box_h = 3, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 112, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 116, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 122, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 128, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 134, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 140, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 146, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 152, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 158, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 164, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 170, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 176, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 179, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 184, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 190, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 196, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 202, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 208, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 214, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 220, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 226, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 232, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 238, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 243, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 249, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 255, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 261, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 267, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 272, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 277, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 280, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 287, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 290, .adv_w = 128, .box_w = 5, .box_h = 3, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 292, .adv_w = 128, .box_w = 5, .box_h = 1, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 293, .adv_w = 128, .box_w = 3, .box_h = 3, .ofs_x = 2, .ofs_y = 10}, + {.bitmap_index = 295, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 299, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 304, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 308, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 313, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 317, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 323, .adv_w = 128, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 327, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 332, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 335, .adv_w = 128, .box_w = 4, .box_h = 8, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 339, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 344, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 347, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 351, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 355, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 359, .adv_w = 128, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 363, .adv_w = 128, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 367, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 371, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 375, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 380, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 384, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 388, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 392, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 396, .adv_w = 128, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 400, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 404, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 408, .adv_w = 128, .box_w = 1, .box_h = 8, .ofs_x = 3, .ofs_y = 5}, + {.bitmap_index = 409, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 413, .adv_w = 128, .box_w = 5, .box_h = 3, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 415, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 422, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 454, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 478, .adv_w = 176, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 494, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 522, .adv_w = 160, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 535, .adv_w = 160, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 548, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 580, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 615, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 645, .adv_w = 258, .box_w = 17, .box_h = 10, .ofs_x = -1, .ofs_y = 1}}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_1[] = {0x0, 0xa, 0xb, 0x21, 0x51, 0x52, 0xbf, 0x1e9, 0x558, 0x8a0}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = {{.range_start = 32, + .range_length = 96, + .glyph_id_start = 1, + .unicode_list = NULL, + .glyph_id_ofs_list = NULL, + .list_length = 0, + .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}, + {.range_start = 61442, + .range_length = 2209, + .glyph_id_start = 97, + .unicode_list = unicode_list_1, + .glyph_id_ofs_list = NULL, + .list_length = 10, + .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY}}; + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_dsc_t font_dsc = {.glyph_bitmap = gylph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 2, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0}; + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +lv_font_t unscii_8_icon = { + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 16, /*The maximum line height required by the font*/ + .base_line = 0, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + +#endif /*#if UNSCII_8_ICON*/ diff --git a/main/config/lv_conf.h b/main/config/lv_conf.h new file mode 100644 index 0000000..d56ae55 --- /dev/null +++ b/main/config/lv_conf.h @@ -0,0 +1,716 @@ +/** + * @file lv_conf.h + * + */ + +#if 1 /*Set it to "1" to enable content*/ + + #ifndef LV_CONF_H + #define LV_CONF_H + /* clang-format off */ + +#include + +#if defined(ARDUINO_ARCH_ESP8266) +#define LV_HIGH_RESOURCE_MCU 0 +#endif + +#ifndef LV_HIGH_RESOURCE_MCU +#define LV_HIGH_RESOURCE_MCU 1 +#endif + +/*==================== + Graphical settings + *====================*/ + + /* Maximal horizontal and vertical resolution to support by the library.*/ +#define LV_HOR_RES_MAX (TFT_WIDTH) +#define LV_VER_RES_MAX (TFT_HEIGHT) + +/* Color depth: + * - 1: 1 byte per pixel + * - 8: RGB233 + * - 16: RGB565 + * - 32: ARGB8888 + */ +#define LV_COLOR_DEPTH 16 + + /* Swap the 2 bytes of RGB565 color. + * Useful if the display has a 8 bit interface (e.g. SPI)*/ +#define LV_COLOR_16_SWAP 0 + + /* 1: Enable screen transparency. + * Useful for OSD or other overlapping GUIs. + * Requires `LV_COLOR_DEPTH = 32` colors and the screen's style should be modified: `style.body.opa = ...`*/ +#define LV_COLOR_SCREEN_TRANSP 0 + + /*Images pixels with this color will not be drawn (with chroma keying)*/ +#define LV_COLOR_TRANSP LV_COLOR_BLACK /*LV_COLOR_LIME: pure green*/ + +/* Enable chroma keying for indexed images. */ +#define LV_INDEXED_CHROMA 1 + +/* Enable anti-aliasing (lines, and radiuses will be smoothed) */ +#define LV_ANTIALIAS 1 + +/* Default display refresh period. + * Can be changed in the display driver (`lv_disp_drv_t`).*/ +#define LV_DISP_DEF_REFR_PERIOD 30 /*[ms]*/ + + /* Dot Per Inch: used to initialize default sizes. + * E.g. a button with width = LV_DPI / 2 -> half inch wide + * (Not so important, you can adjust it to modify default sizes and spaces)*/ +#define LV_DPI 100 /*[px]*/ + + /* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */ +typedef int16_t lv_coord_t; + +/*========================= + Memory manager settings + *=========================*/ + + /* LittelvGL's internal memory manager's settings. + * The graphical objects and other related data are stored here. */ + + /* 1: use custom malloc/free, 0: use the built-in `lv_mem_alloc` and `lv_mem_free` */ +#define LV_MEM_CUSTOM 0 +#if LV_MEM_CUSTOM == 0 +/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/ + +#ifndef LV_MEM_SIZE + +#if defined(ARDUINO_ARCH_ESP8266) +# define LV_MEM_SIZE (10 * 1024U) // Minimum 10 Kb +#else +# define LV_MEM_SIZE (20 * 1024U) // 20Kb is much better +#endif +#endif + +/* Complier prefix for a big array declaration */ +# define LV_MEM_ATTR + +/* Set an address for the memory pool instead of allocating it as an array. + * Can be in external SRAM too. */ +# define LV_MEM_ADR 0 + +# define LV_MEM_ADD_JUNK 0 + + /* Automatically defrag. on free. Defrag. means joining the adjacent free cells. */ +# define LV_MEM_AUTO_DEFRAG 1 +#else /*LV_MEM_CUSTOM*/ +# define LV_MEM_CUSTOM_INCLUDE /*Header for the dynamic memory function*/ +# define LV_MEM_CUSTOM_ALLOC malloc /*Wrapper to malloc*/ +# define LV_MEM_CUSTOM_FREE free /*Wrapper to free*/ +#endif /*LV_MEM_CUSTOM*/ + +/* Garbage Collector settings + * Used if lvgl is binded to higher level language and the memory is managed by that language */ +#define LV_ENABLE_GC 0 +#if LV_ENABLE_GC != 0 +# define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/ +# define LV_MEM_CUSTOM_REALLOC your_realloc /*Wrapper to realloc*/ +# define LV_MEM_CUSTOM_GET_SIZE your_mem_get_size /*Wrapper to lv_mem_get_size*/ +#endif /* LV_ENABLE_GC */ + + /*======================= + Input device settings + *=======================*/ + + /* Input device default settings. + * Can be changed in the Input device driver (`lv_indev_drv_t`)*/ + + /* Input device read period in milliseconds */ +#define LV_INDEV_DEF_READ_PERIOD 30 + +/* Drag threshold in pixels */ +#define LV_INDEV_DEF_DRAG_LIMIT 10 + +/* Drag throw slow-down in [%]. Greater value -> faster slow-down */ +#define LV_INDEV_DEF_DRAG_THROW 20 + +/* Long press time in milliseconds. + * Time to send `LV_EVENT_LONG_PRESSSED`) */ +#define LV_INDEV_DEF_LONG_PRESS_TIME 400 + + /* Repeated trigger period in long press [ms] + * Time between `LV_EVENT_LONG_PRESSED_REPEAT */ +#define LV_INDEV_DEF_LONG_PRESS_REP_TIME 100 + + + /* Gesture threshold in pixels */ +#define LV_INDEV_DEF_GESTURE_LIMIT 50 + +/* Gesture min velocity at release before swipe (pixels)*/ +#define LV_INDEV_DEF_GESTURE_MIN_VELOCITY 3 + +/*================== + * Feature usage + *==================*/ + + /*1: Enable the Animations */ +#define LV_USE_ANIMATION 1 // Needed for scroll mode +#if LV_USE_ANIMATION + +/*Declare the type of the user data of animations (can be e.g. `void *`, `int`, `struct`)*/ +typedef void* lv_anim_user_data_t; + +#endif + +/* 1: Enable shadow drawing*/ +#define LV_USE_SHADOW (LV_HIGH_RESOURCE_MCU) + +/* 1: Use other blend modes than normal (`LV_BLEND_MODE_...`)*/ +#define LV_USE_BLEND_MODES 0 + +/* 1: Use the `opa_scale` style property to set the opacity of an object and its children at once*/ +#define LV_USE_OPA_SCALE 1 + +/* 1: Enable object groups (for keyboard/encoder navigation) */ +#define LV_USE_GROUP 0 +#if LV_USE_GROUP +typedef void* lv_group_user_data_t; +#endif /*LV_USE_GROUP*/ + +/* 1: Enable GPU interface*/ +#define LV_USE_GPU 0 + +/* 1: Enable file system (might be required for images */ +#define LV_USE_FILESYSTEM 1 +#if LV_USE_FILESYSTEM +/*Declare the type of the user data of file system drivers (can be e.g. `void *`, `int`, `struct`)*/ +typedef void* lv_fs_drv_user_data_t; + +/*File system interface*/ +#define LV_USE_FS_IF 1 +#if LV_USE_FS_IF +# define LV_FS_IF_FATFS '\0' +#if defined(ESP32) // || defined(ARDUINO_ARCH_ESP8266) +# define LV_FS_IF_PC 'S' +# define LV_FS_IF_SPIFFS '\0' // internal esp Flash +#else +# define LV_FS_IF_PC '\0' +# define LV_FS_IF_SPIFFS '\0' // no internal esp Flash +#endif +#endif /*LV_USE_FS_IF*/ + +#endif + +/*1: Add a `user_data` to drivers and objects*/ +#define LV_USE_USER_DATA 1 + +/*======================== + * Image decoder and cache + *========================*/ + + /* 1: Enable indexed (palette) images */ +#define LV_IMG_CF_INDEXED 1 + +/* 1: Enable alpha indexed images */ +#define LV_IMG_CF_ALPHA 1 + +/* Default image cache size. Image caching keeps the images opened. + * If only the built-in image formats are used there is no real advantage of caching. + * (I.e. no new image decoder is added) + * With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images. + * However the opened images might consume additional RAM. + * LV_IMG_CACHE_DEF_SIZE must be >= 1 */ +#define LV_IMG_CACHE_DEF_SIZE 10 + + /*Declare the type of the user data of image decoder (can be e.g. `void *`, `int`, `struct`)*/ +typedef void* lv_img_decoder_user_data_t; + +/*===================== + * Compiler settings + *====================*/ + /* Define a custom attribute to `lv_tick_inc` function */ +#define LV_ATTRIBUTE_TICK_INC + +/* Define a custom attribute to `lv_task_handler` function */ +#define LV_ATTRIBUTE_TASK_HANDLER + +/* With size optimization (-Os) the compiler might not align data to + * 4 or 8 byte boundary. This alignment will be explicitly applied where needed. + * E.g. __attribute__((aligned(4))) */ +#define LV_ATTRIBUTE_MEM_ALIGN + + /* Attribute to mark large constant arrays for example + * font's bitmaps */ +#define LV_ATTRIBUTE_LARGE_CONST + + /* Export integer constant to binding. + * This macro is used with constants in the form of LV_ that + * should also appear on lvgl binding API such as Micropython + * + * The default value just prevents a GCC warning. + */ +#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning + + /*=================== + * HAL settings + *==================*/ + + /* 1: use a custom tick source. + * It removes the need to manually update the tick with `lv_tick_inc`) */ +#define LV_TICK_CUSTOM 1 +#if LV_TICK_CUSTOM == 1 +#define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the sys time function*/ +#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current systime in ms*/ +#endif /*LV_TICK_CUSTOM*/ + +typedef void* lv_disp_drv_user_data_t; /*Type of user data in the display driver*/ +typedef void* lv_indev_drv_user_data_t; /*Type of user data in the input device driver*/ + +/*================ + * Log settings + *===============*/ + +#define LV_USE_PERF_MONITOR 0 + + /*1: Enable the log module*/ +#define LV_USE_LOG 1 // set back to 0 before release !! +#if LV_USE_LOG +/* How important log should be added: + * LV_LOG_LEVEL_TRACE A lot of logs to give detailed information + * LV_LOG_LEVEL_INFO Log important events + * LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem + * LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail + * LV_LOG_LEVEL_NONE Do not log anything + */ +# define LV_LOG_LEVEL LV_LOG_LEVEL_WARN + + /* 1: Print the log with 'printf'; + * 0: user need to register a callback with `lv_log_register_print_cb`*/ +# define LV_LOG_PRINTF 0 +#endif /*LV_USE_LOG*/ + + /*================= + * Debug settings + *================*/ + + /* If Debug is enabled LittelvGL validates the parameters of the functions. + * If an invalid parameter is found an error log message is printed and + * the MCU halts at the error. (`LV_USE_LOG` should be enabled) + * If you are debugging the MCU you can pause + * the debugger to see exactly where the issue is. + * + * The behavior of asserts can be overwritten by redefining them here. + * E.g. #define LV_ASSERT_MEM(p) + */ +#define LV_USE_DEBUG 1 +#if LV_USE_DEBUG + + /*Check if the parameter is NULL. (Quite fast) */ +#define LV_USE_ASSERT_NULL 1 + +/*Checks is the memory is successfully allocated or no. (Quite fast)*/ +#define LV_USE_ASSERT_MEM 1 + +/*Check the integrity of `lv_mem` after critical operations. (Slow)*/ +#ifndef LV_USE_ASSERT_MEM_INTEGRITY +#define LV_USE_ASSERT_MEM_INTEGRITY 0 +#endif + +/* Check the strings. + * Search for NULL, very long strings, invalid characters, and unnatural repetitions. (Slow) + * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ +#define LV_USE_ASSERT_STR 0 + + /* Check NULL, the object's type and existence (e.g. not deleted). (Quite slow) + * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */ +#define LV_USE_ASSERT_OBJ 0 + + /*Check if the styles are properly initialized. (Fast)*/ +#define LV_USE_ASSERT_STYLE 1 + +#endif /*LV_USE_DEBUG*/ + +/*================== + * FONT USAGE + *===================*/ + +/* The built-in fonts contains the ASCII range and some Symbols with 4 bit-per-pixel. + * The symbols are available via `LV_SYMBOL_...` defines + * More info about fonts: https://docs.lvgl.io/v7/en/html/overview/font.html + * To create a new font go to: https://lvgl.com/ttf-font-to-c-array + */ + +/* Montserrat fonts with bpp = 4 + * https://fonts.google.com/specimen/Montserrat */ +#define LV_FONT_MONTSERRAT_8 0 +#define LV_FONT_MONTSERRAT_10 0 +#define LV_FONT_MONTSERRAT_12 0 +#define LV_FONT_MONTSERRAT_14 0 +#define LV_FONT_MONTSERRAT_16 0 +#define LV_FONT_MONTSERRAT_18 0 +#define LV_FONT_MONTSERRAT_20 0 +#define LV_FONT_MONTSERRAT_22 0 +#define LV_FONT_MONTSERRAT_24 0 +#define LV_FONT_MONTSERRAT_26 0 +#define LV_FONT_MONTSERRAT_28 0 +#define LV_FONT_MONTSERRAT_30 0 +#define LV_FONT_MONTSERRAT_32 0 +#define LV_FONT_MONTSERRAT_34 0 +#define LV_FONT_MONTSERRAT_36 0 +#define LV_FONT_MONTSERRAT_38 0 +#define LV_FONT_MONTSERRAT_40 0 +#define LV_FONT_MONTSERRAT_42 0 +#define LV_FONT_MONTSERRAT_44 0 +#define LV_FONT_MONTSERRAT_46 0 +#define LV_FONT_MONTSERRAT_48 0 + +/* Demonstrate special features */ +#define LV_FONT_MONTSERRAT_12_SUBPX 0 +#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/ +#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, PErisan letters and all their forms*/ +#define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/ + +/*Pixel perfect monospace font + * http://pelulamu.net/unscii/ */ +#define LV_FONT_UNSCII_8 0 +#define LV_FONT_UNSCII_16 0 + +/*Custom font*/ +#define UNSCII_8_ICON 1 +/* Optionally declare your custom fonts here. + * You can use these fonts as default font too + * and they will be available globally. E.g. + * #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) \ + * LV_FONT_DECLARE(my_font_2) + */ +//#define LV_FONT_CUSTOM_DECLARE + +/* Enable it if you have fonts with a lot of characters. + * The limit depends on the font size, font face and bpp + * but with > 10,000 characters if you see issues probably you need to enable it.*/ +#define LV_FONT_FMT_TXT_LARGE 0 + +/* Enables/disables support for compressed fonts. If it's disabled, compressed + * glyphs cannot be processed by the library and won't be rendered. + */ +#define LV_USE_FONT_COMPRESSED 1 + +/* Enable subpixel rendering */ +#define LV_USE_FONT_SUBPX 0 +#if LV_USE_FONT_SUBPX +/* Set the pixel order of the display. + * Important only if "subpx fonts" are used. + * With "normal" font it doesn't matter. + */ +#define LV_FONT_SUBPX_BGR 0 +#endif + + /*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/ +typedef void* lv_font_user_data_t; + + +/*Always set a default font from the built-in fonts*/ +#if LV_HIGH_RESOURCE_MCU>0 +// #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(lv_font_montserrat_16); + +#define LV_FONT_CUSTOM_12 LV_FONT_DECLARE(robotocondensed_regular_12_nokern) +#define LV_FONT_CUSTOM_16 LV_FONT_DECLARE(robotocondensed_regular_16_nokern) +#define LV_FONT_CUSTOM_22 LV_FONT_DECLARE(robotocondensed_regular_22_nokern) +#define LV_FONT_CUSTOM_28 LV_FONT_DECLARE(robotocondensed_regular_28_nokern) + +#define LV_FONT_CUSTOM_DECLARE LV_FONT_CUSTOM_12 \ + LV_FONT_CUSTOM_16 \ + LV_FONT_CUSTOM_22 \ + LV_FONT_CUSTOM_28 \ + +#define LV_FONT_DEFAULT LV_FONT_DECLARE(robotocondensed_regular_12_nokern) //&lv_font_montserrat_16 +#else +#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(unscii_8_icon); +#define LV_FONT_DEFAULT &unscii_8_icon //&lv_font_unscii_8 +//#define LV_FONT_DEFAULT my_font +#endif + +/*================ + * THEME USAGE + *================*/ + + /*Always enable at least on theme*/ +#define LV_USE_THEME_MATERIAL 1 /*A fast and impressive theme*/ + +#define LV_USE_THEME_EMPTY 0 +#define LV_USE_THEME_NIGHT 1 +#define LV_USE_THEME_MONO 1 +#define LV_USE_THEME_TEMPLATE 0 + +#define LV_THEME_DEFAULT_INIT lv_theme_mono_init // We init the theme ourselves +#define LV_THEME_DEFAULT_COLOR_PRIMARY LV_COLOR_RED +#define LV_THEME_DEFAULT_COLOR_SECONDARY LV_COLOR_BLUE +#define LV_THEME_DEFAULT_FLAG 0 //LV_THEME_MATERIAL_FLAG_NONE +#if LV_HIGH_RESOURCE_MCU +// #define LV_THEME_DEFAULT_FONT_SMALL &robotocondensed_regular_12_nokern //&lv_font_montserrat_12 +// #define LV_THEME_DEFAULT_FONT_NORMAL &robotocondensed_regular_16_nokern //&lv_font_montserrat_16 +// #define LV_THEME_DEFAULT_FONT_SUBTITLE &robotocondensed_regular_22_nokern //&lv_font_montserrat_22 +// #define LV_THEME_DEFAULT_FONT_TITLE &robotocondensed_regular_28_nokern //&lv_font_montserrat_22 //&lv_font_montserrat_28_compressed +#else +#define LV_THEME_DEFAULT_FONT_SMALL LV_FONT_DEFAULT // &lv_font_montserrat_12 +#define LV_THEME_DEFAULT_FONT_NORMAL LV_FONT_DEFAULT // &lv_font_montserrat_16 +#define LV_THEME_DEFAULT_FONT_SUBTITLE LV_FONT_DEFAULT // &lv_font_montserrat_22 +#define LV_THEME_DEFAULT_FONT_TITLE LV_FONT_DEFAULT // &lv_font_montserrat_28_compressed +#endif + + +/*================= + * Text settings + *=================*/ + + /* Select a character encoding for strings. + * Your IDE or editor should have the same character encoding + * - LV_TXT_ENC_UTF8 + * - LV_TXT_ENC_ASCII + * */ +#define LV_TXT_ENC LV_TXT_ENC_UTF8 + + /*Can break (wrap) texts on these chars*/ +#define LV_TXT_BREAK_CHARS " ,.;:-_" + +/* If a word is at least this long, will break wherever "prettiest" + * To disable, set to a value <= 0 */ +#define LV_TXT_LINE_BREAK_LONG_LEN 0 + + /* Minimum number of characters in a long word to put on a line before a break. + * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ +#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 + + /* Minimum number of characters in a long word to put on a line after a break. + * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */ +#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 + + /* The control character to use for signalling text recoloring. */ +#define LV_TXT_COLOR_CMD "#" + +/* Support bidirectional texts. + * Allows mixing Left-to-Right and Right-to-Left texts. + * The direction will be processed according to the Unicode Bidirectioanl Algorithm: + * https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ +#define LV_USE_BIDI 0 +#if LV_USE_BIDI + /* Set the default direction. Supported values: + * `LV_BIDI_DIR_LTR` Left-to-Right + * `LV_BIDI_DIR_RTL` Right-to-Left + * `LV_BIDI_DIR_AUTO` detect texts base direction */ +#define LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_AUTO +#endif + + /*Change the built in (v)snprintf functions*/ +#define LV_SPRINTF_CUSTOM 0 +#if LV_SPRINTF_CUSTOM +# define LV_SPRINTF_INCLUDE +# define lv_snprintf snprintf +# define lv_vsnprintf vsnprintf +#endif /*LV_SPRINTF_CUSTOM*/ + + +/*=================== + * LV_OBJ SETTINGS + *==================*/ + + /*Declare the type of the user data of object (can be e.g. `void *`, `int`, `struct`)*/ + #if LV_USE_USER_DATA +// typedef struct { +// uint8_t objid:8; +// uint8_t groupid:8; +// uint8_t id; +// } lv_obj_user_data_t; +#endif + +/*1: enable `lv_obj_realaign()` based on `lv_obj_align()` parameters*/ +#define LV_USE_OBJ_REALIGN 1 + +/* Enable to make the object clickable on a larger area. + * LV_EXT_CLICK_AREA_OFF or 0: Disable this feature + * LV_EXT_CLICK_AREA_TINY: The extra area can be adjusted horizontally and vertically (0..255 px) + * LV_EXT_CLICK_AREA_FULL: The extra area can be adjusted in all 4 directions (-32k..+32k px) + */ +#define LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_TINY + + /*================== + * LV OBJ X USAGE + *================*/ + /* + * Documentation of the object types: https://docs.littlevgl.com/#Object-types + */ + + /*Arc (dependencies: -)*/ +#define LV_USE_ARC 1 + +/*Bar (dependencies: -)*/ +#define LV_USE_BAR 1 + +/*Button (dependencies: lv_cont*/ +#define LV_USE_BTN 1 +#if LV_USE_BTN != 0 +/*Enable button-state animations - draw a circle on click (dependencies: LV_USE_ANIMATION)*/ +# define LV_BTN_INK_EFFECT 0 +#endif + +/*Button matrix (dependencies: -)*/ +#define LV_USE_BTNMATRIX 1 + +/*Calendar (dependencies: -)*/ +#define LV_USE_CALENDAR (LV_HIGH_RESOURCE_MCU) + +/*Canvas (dependencies: lv_img)*/ +#define LV_USE_CANVAS 1 + +/*Check box (dependencies: lv_btn, lv_label)*/ +#define LV_USE_CHECKBOX 1 + +/*Chart (dependencies: -)*/ +#define LV_USE_CHART 1 +#if LV_USE_CHART +# define LV_CHART_AXIS_TICK_LABEL_MAX_LEN 20 +#endif + +/*Container (dependencies: -*/ +#define LV_USE_CONT 1 + +/*Color picker (dependencies: -*/ +#define LV_USE_CPICKER 1 + +/*Drop down list (dependencies: lv_page, lv_label, lv_symbol_def.h)*/ +#define LV_USE_DROPDOWN 1 +#if LV_USE_DROPDOWN != 0 +/*Open and close default animation time [ms] (0: no animation)*/ +# define LV_DROPDOWN_DEF_ANIM_TIME 200 +#endif + +/*Gauge (dependencies:lv_bar, lv_linemeter)*/ +#define LV_USE_GAUGE 1 + +/*Image (dependencies: lv_label*/ +#define LV_USE_IMG 1 + +/*Image Button (dependencies: lv_btn*/ +#define LV_USE_IMGBTN 1 +#if LV_USE_IMGBTN +/*1: The imgbtn requires left, mid and right parts and the width can be set freely*/ +# define LV_IMGBTN_TILED 0 +#endif + +/*Keyboard (dependencies: lv_btnm)*/ +#define LV_USE_KEYBOARD 1 + +/*Label (dependencies: -*/ +#define LV_USE_LABEL 1 +#if LV_USE_LABEL != 0 +/*Hor, or ver. scroll speed [px/sec] in 'LV_LABEL_LONG_ROLL/ROLL_CIRC' mode*/ +# define LV_LABEL_DEF_SCROLL_SPEED 20 // default 25 + +/* Waiting period at beginning/end of animation cycle */ +# define LV_LABEL_WAIT_CHAR_COUNT 5 // default 3 + +/*Enable selecting text of the label */ +# define LV_LABEL_TEXT_SEL 0 + +/*Store extra some info in labels (12 bytes) to speed up drawing of very long texts*/ +# define LV_LABEL_LONG_TXT_HINT 0 +#endif + +/*LED (dependencies: -)*/ +#define LV_USE_LED 1 + +/*Line (dependencies: -*/ +#define LV_USE_LINE 1 + +/*List (dependencies: lv_page, lv_btn, lv_label, (lv_img optionally for icons ))*/ +#define LV_USE_LIST 1 +#if LV_USE_LIST != 0 +/*Default animation time of focusing to a list element [ms] (0: no animation) */ +# define LV_LIST_DEF_ANIM_TIME 100 +#endif + +/*Line meter (dependencies: *;)*/ +#define LV_USE_LMETER 1 + +/*Mask (dependencies: -)*/ +#define LV_USE_OBJMASK 1 + +/*Message box (dependencies: lv_rect, lv_btnm, lv_label)*/ +#define LV_USE_MSGBOX 1 + +/*Page (dependencies: lv_cont)*/ +#define LV_USE_PAGE 1 +#if LV_USE_PAGE != 0 +/*Focus default animation time [ms] (0: no animation)*/ +# define LV_PAGE_DEF_ANIM_TIME 400 +#endif + +/*Preload (dependencies: lv_arc, lv_anim)*/ +#define LV_USE_SPINNER 0 +#if LV_USE_SPINNER != 0 +# define LV_SPINNER_DEF_ARC_LENGTH 60 /*[deg]*/ +# define LV_SPINNER_DEF_SPIN_TIME 1000 /*[ms]*/ +# define LV_SPINNER_DEF_ANIM LV_SPINNER_TYPE_SPINNING_ARC +#endif + +/*Roller (dependencies: lv_ddlist)*/ +#define LV_USE_ROLLER 1 +#if LV_USE_ROLLER != 0 +/*Focus animation time [ms] (0: no animation)*/ +# define LV_ROLLER_DEF_ANIM_TIME 200 + +/*Number of extra "pages" when the roller is infinite*/ +# define LV_ROLLER_INF_PAGES 7 +#endif + +/*Slider (dependencies: lv_bar)*/ +#define LV_USE_SLIDER 1 + +/*Spinbox (dependencies: lv_ta)*/ +#define LV_USE_SPINBOX 1 + +/*Switch (dependencies: lv_slider)*/ +#define LV_USE_SWITCH 1 + +/*Text area (dependencies: lv_label, lv_page)*/ +#define LV_USE_TEXTAREA 1 +#if LV_USE_TEXTAREA != 0 +# define LV_TEXTAREA_DEF_CURSOR_BLINK_TIME 400 /*ms*/ +# define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/ +#endif + +/*Table (dependencies: lv_label)*/ +#define LV_USE_TABLE 1 //(LV_HIGH_RESOURCE_MCU) +#if LV_USE_TABLE +# define LV_TABLE_COL_MAX 12 +#endif + +/*Tab (dependencies: lv_page, lv_btnm)*/ +#define LV_USE_TABVIEW 1 +# if LV_USE_TABVIEW != 0 +/*Time of slide animation [ms] (0: no animation)*/ +# define LV_TABVIEW_DEF_ANIM_TIME 300 +#endif + +/*Tileview (dependencies: lv_page) */ +#define LV_USE_TILEVIEW 1 +#if LV_USE_TILEVIEW +/*Time of slide animation [ms] (0: no animation)*/ +# define LV_TILEVIEW_DEF_ANIM_TIME 300 +#endif + +/*Window (dependencies: lv_cont, lv_btn, lv_label, lv_img, lv_page)*/ +#define LV_USE_WIN 1 + +#define LV_PNG_USE_LV_FILESYSTEM 1 + +/*================== + * Non-user section + *==================*/ + +#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) /* Disable warnings for Visual Studio*/ +# define _CRT_SECURE_NO_WARNINGS +#endif + + /*--END OF LV_CONF_H--*/ + +#endif /*LV_CONF_H*/ + +/*Be sure every define has a default value*/ +#include "src/lv_conf_internal.h" + +#endif /*End of "Content enable"*/ diff --git a/main/fs/ConfigReader.cpp b/main/fs/ConfigReader.cpp index 5187400..032de62 100644 --- a/main/fs/ConfigReader.cpp +++ b/main/fs/ConfigReader.cpp @@ -179,7 +179,7 @@ namespace fs if (sensorDevice.dataType == MQTTSensorDataType::JSON) { std::vector vals; - if (sensorDevice.sensorType == MQTTSensorType::MQTTCombinedValues) + if (sensorDevice.sensorType == MQTTSensorType::MQTTCombinedJSONValues) { ValueTuple firstValueTuple; read(device, MQTTFirstKey.c_str(), [&](std::string temp) { diff --git a/main/fs/spiffs_drv.c b/main/fs/spiffs_drv.c new file mode 100644 index 0000000..e4c8ea0 --- /dev/null +++ b/main/fs/spiffs_drv.c @@ -0,0 +1,142 @@ +#include "spiffs_drv.h" + +#include "esp_spi_flash.h" +#include "esp_log.h" +#include "esp_spiffs.h" + +#include "Arduino.h" +static const char *TAG = "SPIFFS-DRIVER"; + +static lv_fs_drv_t drv; +typedef FILE * file_t; + +static lv_fs_res_t my_open_cb(lv_fs_drv_t *drv, void *file_p, const char *fn, lv_fs_mode_t mode) +{ + (void) drv; /*Unused*/ + + const char * flags = ""; + + if(mode == LV_FS_MODE_WR) flags = "w"; + else if(mode == LV_FS_MODE_RD) flags = "r"; + else if(mode == (LV_FS_MODE_WR | LV_FS_MODE_RD)) flags = "rb+"; + + /*Make the path relative to the current directory (the projects root folder)*/ + + char complete_path[strlen(fn) + 1]; + complete_path[0] = '/'; + complete_path[1] = '\0'; + strcat(complete_path, fn); + + file_t f = fopen(complete_path, flags); + if(f == NULL) return LV_FS_RES_UNKNOWN; + + /*Be sure we are the beginning of the file*/ + fseek(f, 0, SEEK_SET); + + /* 'file_p' is pointer to a file descriptor and + * we need to store our file descriptor here*/ + file_t * fp = file_p; /*Just avoid the confusing casings*/ + *fp = f; + // ESP_LOGI(TAG, "Open eof file_p %d", feof(file_p)); + return LV_FS_RES_OK; +} + +static lv_fs_res_t my_close_cb(lv_fs_drv_t *drv, void *file_p) +{ + (void) drv; /*Unused*/ + file_t * fp = file_p; /*Just avoid the confusing casings*/ + fclose(*fp); + return LV_FS_RES_OK; +} + +static lv_fs_res_t my_read_cb(lv_fs_drv_t *drv, void *file_p, + void *buf, uint32_t btr, uint32_t *br) +{ + // ESP_LOGI(TAG, "Read eof %d", feof(file_p)); + (void) drv; /*Unused*/ + file_t * fp = file_p; /*Just avoid the confusing casings*/ + *br = fread(buf, 1, btr, *fp); + return LV_FS_RES_OK; +} + +static lv_fs_res_t my_seek_cb(lv_fs_drv_t *drv, void *file_p, uint32_t pos) +{ + (void) drv; /*Unused*/ + file_t * fp = file_p; /*Just avoid the confusing casings*/ + fseek(*fp, pos, SEEK_SET); + return LV_FS_RES_OK; +} + +static lv_fs_res_t my_tell_cb(lv_fs_drv_t *drv, void *file_p, uint32_t *pos_p) +{ + (void) drv; /*Unused*/ + file_t * fp = file_p; /*Just avoid the confusing casings*/ + *pos_p = ftell(*fp); + return LV_FS_RES_OK; +} + +static lv_fs_res_t my_size_cb(lv_fs_drv_t* drv, void* file_p, uint32_t* size_p) +{ + (void) drv; /*Unused*/ + file_t * fp = file_p; /*Just avoid the confusing casings*/ + fseek(*fp, 0L, SEEK_END); + *size_p = ftell(*fp); + fseek(*fp, 0L, SEEK_SET); + return LV_FS_RES_OK; +} + +void spiffs_drv_init() +{ + esp_vfs_spiffs_conf_t conf = { + .base_path = "/spiffs", + .partition_label = "spiffs", + .max_files = 20, + .format_if_mount_failed = false}; + + esp_err_t ret = esp_vfs_spiffs_register(&conf); + + if (ret != ESP_OK) + { + if (ret == ESP_FAIL) + { + ESP_LOGE(TAG, "Failed to mount or format filesystem"); + } + else if (ret == ESP_ERR_NOT_FOUND) + { + ESP_LOGE(TAG, "Failed to find SPIFFS partition"); + } + else + { + ESP_LOGE(TAG, "Failed to initialize SPIFFS (%s)", esp_err_to_name(ret)); + } + return ESP_FAIL; + } + + size_t total = 0, used = 0; + ret = esp_spiffs_info(conf.partition_label, &total, &used); + if (ret != ESP_OK) + { + ESP_LOGE(TAG, "Failed to get SPIFFS partition information (%s)", esp_err_to_name(ret)); + } + else + { + ESP_LOGI(TAG, "Partition size: total: %d, used: %d", total, used); + } + + ESP_LOGE(TAG, "Spiffs init"); + lv_fs_drv_init(&drv); /*Basic initialization*/ + + drv.letter = 'D'; /*An uppercase letter to identify the drive */ + drv.file_size = sizeof(file_t); /*Size required to store a file object*/ + drv.open_cb = my_open_cb; /*Callback to open a file */ + drv.close_cb = my_close_cb; /*Callback to close a file */ + // drv.remove_cb = my_remove_cb; /*Callback to remove a file */ + drv.read_cb = my_read_cb; /*Callback to read a file */ + //drv.write_cb = my_write_cb; /*Callback to write a file */ + drv.seek_cb = my_seek_cb; /*Callback to seek in a file (Move cursor) */ + drv.tell_cb = my_tell_cb; /*Callback to tell the cursor position */ + drv.size_cb = my_size_cb; + ESP_LOGE(TAG, "FS init"); + lv_fs_drv_register(&drv); /*Finally register the drive*/ + ESP_LOGE(TAG, "FS done"); +} diff --git a/main/fs/spiffs_drv.h b/main/fs/spiffs_drv.h new file mode 100644 index 0000000..c541e4b --- /dev/null +++ b/main/fs/spiffs_drv.h @@ -0,0 +1,3 @@ +#include + +void spiffs_drv_init(); \ No newline at end of file diff --git a/main/libraries/.DS_Store b/main/libraries/.DS_Store index 4f59b0c..ca4e678 100644 Binary files a/main/libraries/.DS_Store and b/main/libraries/.DS_Store differ diff --git a/main/libraries/Adafruit_ILI9341/Adafruit_ILI9341.cpp b/main/libraries/Adafruit_ILI9341/Adafruit_ILI9341.cpp deleted file mode 100644 index a784701..0000000 --- a/main/libraries/Adafruit_ILI9341/Adafruit_ILI9341.cpp +++ /dev/null @@ -1,314 +0,0 @@ -/*! -* @file Adafruit_ILI9341.cpp -* -* @mainpage Adafruit ILI9341 TFT Displays -* -* @section intro_sec Introduction -* -* This is the documentation for Adafruit's ILI9341 driver for the -* Arduino platform. -* -* This library works with the Adafruit 2.8" Touch Shield V2 (SPI) -* http://www.adafruit.com/products/1651 -* -* Adafruit 2.4" TFT LCD with Touchscreen Breakout w/MicroSD Socket - ILI9341 -* https://www.adafruit.com/product/2478 -* -* 2.8" TFT LCD with Touchscreen Breakout Board w/MicroSD Socket - ILI9341 -* https://www.adafruit.com/product/1770 -* -* 2.2" 18-bit color TFT LCD display with microSD card breakout - ILI9340 -* https://www.adafruit.com/product/1770 -* -* TFT FeatherWing - 2.4" 320x240 Touchscreen For All Feathers -* https://www.adafruit.com/product/3315 -* -* These displays use SPI to communicate, 4 or 5 pins are required -* to interface (RST is optional). -* -* Adafruit invests time and resources providing this open source code, -* please support Adafruit and open-source hardware by purchasing -* products from Adafruit! -* -* @section dependencies Dependencies -* -* This library depends on -* Adafruit_GFX being present on your system. Please make sure you have -* installed the latest version before using this library. -* -* @section author Author -* -* Written by Limor "ladyada" Fried for Adafruit Industries. -* -* @section license License -* -* BSD license, all text here must be included in any redistribution. -* -*/ - -#include "Adafruit_ILI9341.h" -#ifndef ARDUINO_STM32_FEATHER - #include "pins_arduino.h" - #ifndef RASPI - #include "wiring_private.h" - #endif -#endif -#include - -#if defined (ARDUINO_ARCH_ARC32) || defined (ARDUINO_MAXIM) - #define SPI_DEFAULT_FREQ 16000000 -#elif defined (__AVR__) || defined(TEENSYDUINO) - #define SPI_DEFAULT_FREQ 8000000 -#elif defined(ESP8266) || defined(ESP32) - #define SPI_DEFAULT_FREQ 40000000 -#elif defined(RASPI) - #define SPI_DEFAULT_FREQ 80000000 -#elif defined(ARDUINO_ARCH_STM32F1) - #define SPI_DEFAULT_FREQ 36000000 -#else - #define SPI_DEFAULT_FREQ 24000000 ///< Default SPI data clock frequency -#endif - -#define MADCTL_MY 0x80 ///< Bottom to top -#define MADCTL_MX 0x40 ///< Right to left -#define MADCTL_MV 0x20 ///< Reverse Mode -#define MADCTL_ML 0x10 ///< LCD refresh Bottom to top -#define MADCTL_RGB 0x00 ///< Red-Green-Blue pixel order -#define MADCTL_BGR 0x08 ///< Blue-Green-Red pixel order -#define MADCTL_MH 0x04 ///< LCD refresh right to left - -/**************************************************************************/ -/*! - @brief Instantiate Adafruit ILI9341 driver with software SPI - @param cs Chip select pin # - @param dc Data/Command pin # - @param mosi SPI MOSI pin # - @param sclk SPI Clock pin # - @param rst Reset pin # (optional, pass -1 if unused) - @param miso SPI MISO pin # (optional, pass -1 if unused) -*/ -/**************************************************************************/ -Adafruit_ILI9341::Adafruit_ILI9341(int8_t cs, int8_t dc, int8_t mosi, - int8_t sclk, int8_t rst, int8_t miso) : Adafruit_SPITFT(ILI9341_TFTWIDTH, ILI9341_TFTHEIGHT, cs, dc, mosi, sclk, rst, miso) { -} - -/**************************************************************************/ -/*! - @brief Instantiate Adafruit ILI9341 driver with hardware SPI using the - default SPI peripheral. - @param cs Chip select pin # (OK to pass -1 if CS tied to GND). - @param dc Data/Command pin # (required). - @param rst Reset pin # (optional, pass -1 if unused). -*/ -/**************************************************************************/ -Adafruit_ILI9341::Adafruit_ILI9341(int8_t cs, int8_t dc, int8_t rst) : - Adafruit_SPITFT(ILI9341_TFTWIDTH, ILI9341_TFTHEIGHT, cs, dc, rst) { -} - -#if !defined(ESP8266) -/**************************************************************************/ -/*! - @brief Instantiate Adafruit ILI9341 driver with hardware SPI using - a specific SPI peripheral (not necessarily default). - @param spiClass Pointer to SPI peripheral (e.g. &SPI or &SPI1). - @param dc Data/Command pin # (required). - @param cs Chip select pin # (optional, pass -1 if unused and - CS is tied to GND). - @param rst Reset pin # (optional, pass -1 if unused). -*/ -/**************************************************************************/ -Adafruit_ILI9341::Adafruit_ILI9341( - SPIClass *spiClass, int8_t dc, int8_t cs, int8_t rst) : - Adafruit_SPITFT(ILI9341_TFTWIDTH, ILI9341_TFTHEIGHT, spiClass, cs, dc, rst) { -} -#endif // end !ESP8266 - -/**************************************************************************/ -/*! - @brief Instantiate Adafruit ILI9341 driver using parallel interface. - @param busWidth If tft16 (enumeration in Adafruit_SPITFT.h), is a - 16-bit interface, else 8-bit. - @param d0 Data pin 0 (MUST be a byte- or word-aligned LSB of a - PORT register -- pins 1-n are extrapolated from this). - @param wr Write strobe pin # (required). - @param dc Data/Command pin # (required). - @param cs Chip select pin # (optional, pass -1 if unused and CS - is tied to GND). - @param rst Reset pin # (optional, pass -1 if unused). - @param rd Read strobe pin # (optional, pass -1 if unused). -*/ -/**************************************************************************/ -Adafruit_ILI9341::Adafruit_ILI9341(tftBusWidth busWidth, - int8_t d0, int8_t wr, int8_t dc, int8_t cs, int8_t rst, int8_t rd) : - Adafruit_SPITFT(ILI9341_TFTWIDTH, ILI9341_TFTHEIGHT, busWidth, - d0, wr, dc, cs, rst, rd) { -} - - -static const uint8_t PROGMEM initcmd[] = { - 0xEF, 3, 0x03, 0x80, 0x02, - 0xCF, 3, 0x00, 0xC1, 0x30, - 0xED, 4, 0x64, 0x03, 0x12, 0x81, - 0xE8, 3, 0x85, 0x00, 0x78, - 0xCB, 5, 0x39, 0x2C, 0x00, 0x34, 0x02, - 0xF7, 1, 0x20, - 0xEA, 2, 0x00, 0x00, - ILI9341_PWCTR1 , 1, 0x23, // Power control VRH[5:0] - ILI9341_PWCTR2 , 1, 0x10, // Power control SAP[2:0];BT[3:0] - ILI9341_VMCTR1 , 2, 0x3e, 0x28, // VCM control - ILI9341_VMCTR2 , 1, 0x86, // VCM control2 - ILI9341_MADCTL , 1, 0x48, // Memory Access Control - ILI9341_VSCRSADD, 1, 0x00, // Vertical scroll zero - ILI9341_PIXFMT , 1, 0x55, - ILI9341_FRMCTR1 , 2, 0x00, 0x18, - ILI9341_DFUNCTR , 3, 0x08, 0x82, 0x27, // Display Function Control - 0xF2, 1, 0x00, // 3Gamma Function Disable - ILI9341_GAMMASET , 1, 0x01, // Gamma curve selected - ILI9341_GMCTRP1 , 15, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, // Set Gamma - 0x4E, 0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00, - ILI9341_GMCTRN1 , 15, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, // Set Gamma - 0x31, 0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F, - ILI9341_SLPOUT , 0x80, // Exit Sleep - ILI9341_DISPON , 0x80, // Display on - 0x00 // End of list -}; - -/**************************************************************************/ -/*! - @brief Initialize ILI9341 chip - Connects to the ILI9341 over SPI and sends initialization procedure commands - @param freq Desired SPI clock frequency -*/ -/**************************************************************************/ -void Adafruit_ILI9341::begin(uint32_t freq) { - - if(!freq) freq = SPI_DEFAULT_FREQ; - initSPI(freq); - - startWrite(); - - if(_rst < 0) { // If no hardware reset pin... - writeCommand(ILI9341_SWRESET); // Engage software reset - delay(150); - } - - uint8_t cmd, x, numArgs; - const uint8_t *addr = initcmd; - while((cmd = pgm_read_byte(addr++)) > 0) { - writeCommand(cmd); - x = pgm_read_byte(addr++); - numArgs = x & 0x7F; - while(numArgs--) spiWrite(pgm_read_byte(addr++)); - if(x & 0x80) delay(150); - } - - endWrite(); - - _width = ILI9341_TFTWIDTH; - _height = ILI9341_TFTHEIGHT; -} - - -/**************************************************************************/ -/*! - @brief Set origin of (0,0) and orientation of TFT display - @param m The index for rotation, from 0-3 inclusive -*/ -/**************************************************************************/ -void Adafruit_ILI9341::setRotation(uint8_t m) { - rotation = m % 4; // can't be higher than 3 - switch (rotation) { - case 0: - m = (MADCTL_MX | MADCTL_BGR); - _width = ILI9341_TFTWIDTH; - _height = ILI9341_TFTHEIGHT; - break; - case 1: - m = (MADCTL_MV | MADCTL_BGR); - _width = ILI9341_TFTHEIGHT; - _height = ILI9341_TFTWIDTH; - break; - case 2: - m = (MADCTL_MY | MADCTL_BGR); - _width = ILI9341_TFTWIDTH; - _height = ILI9341_TFTHEIGHT; - break; - case 3: - m = (MADCTL_MX | MADCTL_MY | MADCTL_MV | MADCTL_BGR); - _width = ILI9341_TFTHEIGHT; - _height = ILI9341_TFTWIDTH; - break; - } - - startWrite(); - writeCommand(ILI9341_MADCTL); - spiWrite(m); - endWrite(); -} - -/**************************************************************************/ -/*! - @brief Enable/Disable display color inversion - @param invert True to invert, False to have normal color -*/ -/**************************************************************************/ -void Adafruit_ILI9341::invertDisplay(bool invert) { - startWrite(); - writeCommand(invert ? ILI9341_INVON : ILI9341_INVOFF); - endWrite(); -} - -/**************************************************************************/ -/*! - @brief Scroll display memory - @param y How many pixels to scroll display by -*/ -/**************************************************************************/ -void Adafruit_ILI9341::scrollTo(uint16_t y) { - startWrite(); - writeCommand(ILI9341_VSCRSADD); - SPI_WRITE16(y); - endWrite(); -} - -/**************************************************************************/ -/*! - @brief Set the "address window" - the rectangle we will write to RAM with the next chunk of SPI data writes. The ILI9341 will automatically wrap the data as each row is filled - @param x1 TFT memory 'x' origin - @param y1 TFT memory 'y' origin - @param w Width of rectangle - @param h Height of rectangle -*/ -/**************************************************************************/ -void Adafruit_ILI9341::setAddrWindow( - uint16_t x1, uint16_t y1, uint16_t w, uint16_t h) { - uint16_t x2 = (x1 + w - 1), - y2 = (y1 + h - 1); - writeCommand(ILI9341_CASET); // Column address set - SPI_WRITE16(x1); - SPI_WRITE16(x2); - writeCommand(ILI9341_PASET); // Row address set - SPI_WRITE16(y1); - SPI_WRITE16(y2); - writeCommand(ILI9341_RAMWR); // Write to RAM -} - -/**************************************************************************/ -/*! - @brief Read 8 bits of data from ILI9341 configuration memory. NOT from RAM! - This is highly undocumented/supported, it's really a hack but kinda works? - @param command The command register to read data from - @param index The byte index into the command to read from - @return Unsigned 8-bit data read from ILI9341 register -*/ -/**************************************************************************/ -uint8_t Adafruit_ILI9341::readcommand8(uint8_t command, uint8_t index) { - startWrite(); - writeCommand(0xD9); // woo sekret command? - spiWrite(0x10 + index); - writeCommand(command); - uint8_t r = spiRead(); - endWrite(); - return r; -} - diff --git a/main/libraries/JPEGDecoder b/main/libraries/JPEGDecoder deleted file mode 160000 index 8a17db0..0000000 --- a/main/libraries/JPEGDecoder +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8a17db0b7ac37a8838b1aef55fbd96ac9d9a4c8f diff --git a/main/libraries/TFT_eFEX b/main/libraries/TFT_eFEX deleted file mode 160000 index d910fc7..0000000 --- a/main/libraries/TFT_eFEX +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d910fc74d69fb2d51c6628bfd56cab74c69f8fdf diff --git a/main/libraries/TFT_eSPI b/main/libraries/TFT_eSPI deleted file mode 160000 index 611ca4b..0000000 --- a/main/libraries/TFT_eSPI +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 611ca4b223e51a15fc23404ed182e32f8013a2bd diff --git a/main/main.cpp b/main/main.cpp index ad102f2..0bd7bb2 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -4,7 +4,7 @@ #include #include #include -#include "AppScreen.hpp" +#include "AppNewScreen.h" #include @@ -21,7 +21,7 @@ TaskHandle_t runLoopHandle = NULL; bool loopTaskWDTEnabled = false; // Enable if watchdog running std::shared_ptr mpAppContext(new ctx::AppContext()); -gfx::AppScreen mScreen(mpAppContext); +gfx::AppNewScreen mScreen(mpAppContext); extern "C" { @@ -38,33 +38,36 @@ extern "C" ESP_ERROR_CHECK(ret); initArduino(); - InitializePlatform(); Serial.begin(115200); + InitializePlatform(); setupApp(); } void setupApp() { - mScreen.setupScreen(); + + // xTaskCreateUniversal(runLoop, "loopTask", 4096, NULL, 1, &runLoopHandle, MAINLOOPCORE); + // mScreen.showWarning("Initializing HomePoint"); + mScreen.init(); xTaskCreateUniversal(runLoop, "loopTask", 4096, NULL, 1, &runLoopHandle, MAINLOOPCORE); - mScreen.showWarning("Initializing HomePoint"); try { mpAppContext->setup(); } catch(const std::exception& e) { - mScreen.showWarning(e.what()); - mScreen.registerWifiCallback(); + Serial.println(e.what()); + mScreen.showWarningScreen(e.what()); + // mScreen.registerWifiCallback(); return; } if (!mpAppContext->getModel().hasWifiCredentials()) { - mScreen.showWarning("AP: HomePoint-Config, IP: 192.168.99.1"); + mScreen.showWarningScreen("AP: HomePoint-Config\nIP: 192.168.99.1"); return; } - mScreen.showWarning("Loading Screen"); - mScreen.setupData(); + + mScreen.presentScenesView(); } void runLoop(void *pvParameters) @@ -75,8 +78,9 @@ extern "C" { esp_task_wdt_reset(); } - mScreen.draw(); - delay(50); + vTaskDelay(10 / portTICK_PERIOD_MS); + mScreen.loop(); + // delay(50); } } } diff --git a/main/mqtt/MQTTConnection.cpp b/main/mqtt/MQTTConnection.cpp index 6369248..3caf8c5 100644 --- a/main/mqtt/MQTTConnection.cpp +++ b/main/mqtt/MQTTConnection.cpp @@ -61,6 +61,9 @@ namespace mqtt case MQTT_EVENT_ERROR: ESP_LOGI(TAG, "MQTT_EVENT_ERROR"); break; + case MQTT_EVENT_DELETED: + ESP_LOGI(TAG, "MQTT_EVENT_DELETED"); + break; case MQTT_EVENT_ANY: ESP_LOGI(TAG, "MQTT_EVENT_ANY"); break; @@ -115,6 +118,10 @@ namespace mqtt void MQTTConnection::switchScene(const uint16_t id, bool on) { + if (mLastState != MQTTConnectionStatus::CONNECTED) + { + return; + } auto scene = std::find_if(mMQTTScenes.begin(), mMQTTScenes.end(), [&id](auto& ele) { return std::visit([&id](auto&& elem) { return elem->groupId == id; }, ele); @@ -179,9 +186,14 @@ namespace mqtt } } - void MQTTConnection::registerConnectionStatusCallback(MQTTConnectionCB cb) + Dispatcher::CBID MQTTConnection::registerConnectionStatusCallback(MQTTConnectionCB cb) + { + return mConnectionStatusNotifier.addCB(cb); + } + + void MQTTConnection::deleteCallback(Dispatcher::CBID callbackId) { - mConnectionStatusNotifier.addCB(cb); + mConnectionStatusNotifier.delCB(callbackId); } MQTTConnectionStatus MQTTConnection::getLastState() diff --git a/main/mqtt/MQTTConnection.h b/main/mqtt/MQTTConnection.h index f2a05ac..b4d7933 100644 --- a/main/mqtt/MQTTConnection.h +++ b/main/mqtt/MQTTConnection.h @@ -44,7 +44,9 @@ namespace mqtt void eventCallback(esp_mqtt_event_handle_t event); MQTTConnectionStatus getLastState(); - void registerConnectionStatusCallback(MQTTConnectionCB cb); + Dispatcher::CBID registerConnectionStatusCallback(MQTTConnectionCB cb); + void deleteCallback(Dispatcher::CBID callbackId); + private: void updateScenes(esp_mqtt_event_handle_t event); MQTTConfig mConfig; diff --git a/main/mqtt/MQTTSensorTypes.hpp b/main/mqtt/MQTTSensorTypes.hpp index f7ef7dd..8fa425c 100644 --- a/main/mqtt/MQTTSensorTypes.hpp +++ b/main/mqtt/MQTTSensorTypes.hpp @@ -7,7 +7,7 @@ namespace mqtt { // comments are JSON type values MQTTSingleValue, // = single value - MQTTCombinedValues, // = two values in UI + MQTTCombinedJSONValues, // = two values in UI MQTTINVALID // Invalid Type }; diff --git a/main/mqtt/MQTTSensorUtils.hpp b/main/mqtt/MQTTSensorUtils.hpp index 6db44b0..bdf7092 100644 --- a/main/mqtt/MQTTSensorUtils.hpp +++ b/main/mqtt/MQTTSensorUtils.hpp @@ -26,7 +26,7 @@ namespace util { // map JSON Keys to Enum if (typeName == "singleValue") { return MQTTSensorType::MQTTSingleValue; } - if (typeName == "combinedValues") { return MQTTSensorType::MQTTCombinedValues; } + if (typeName == "combinedValues") { return MQTTSensorType::MQTTCombinedJSONValues; } return MQTTSensorType::MQTTINVALID; } diff --git a/main/mqtt/MQTTSwitchableModes.hpp b/main/mqtt/MQTTSwitchableModes.hpp new file mode 100644 index 0000000..22e2609 --- /dev/null +++ b/main/mqtt/MQTTSwitchableModes.hpp @@ -0,0 +1,27 @@ +#pragma once + + +namespace mqtt +{ + enum class MQTTSwitchableMode + { + DEFAULT, + ZIGBEE2MQTT // Zigbee2MQTT and HA + }; + + struct MQTTSwitchableDevice + { + std::string name; + std::string getTopic; + std::string setTopic; + + std::string onValue; + std::string offValue; + + uint16_t deviceId = 0; + bool active = false; + MQTTSwitchableMode mode = MQTTSwitchableMode::ZIGBEE2MQTT; + std::optional iconName; + std::function mSetNeedsUpdateCB; + }; +} // namespace mqtt diff --git a/main/tft/ScreenSaver.hpp b/main/tft/ScreenSaver.hpp index b426887..a925eed 100644 --- a/main/tft/ScreenSaver.hpp +++ b/main/tft/ScreenSaver.hpp @@ -2,7 +2,6 @@ #include #include -#include #include #include diff --git a/main/tft/TFTESPIDriver.hpp b/main/tft/TFTESPIDriver.hpp index d8cfaa6..750369f 100644 --- a/main/tft/TFTESPIDriver.hpp +++ b/main/tft/TFTESPIDriver.hpp @@ -10,25 +10,54 @@ #include #include +#include "lv_conf.h" +#include "lvgl.h" + + namespace gfx { namespace driver { + static TFT_eSPI tft_espi(TFT_WIDTH,TFT_HEIGHT); class TFTESPI { public: - TFTESPI(int width, int height) : - mDriver(height, width), - mSprite(&mDriver), - mEfx(&mDriver), - mWidth(width), - mHeight(height) + TFTESPI() : + mSprite(&tft_espi), + mEfx(&tft_espi), + mWidth(320), + mHeight(270) {}; - void begin(int freq = 0) + void begin() + { + + } + + void init(int rotation, bool isInverted) + { + // tft_espi.initDMA(); + + // tft_espi.begin(); + // tft_espi.setSwapBytes(true); + // tft_espi.setRotation(rotation); + // tft_espi.invertDisplay(isInverted); + } + + static void flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p) { - mDriver.init(); - mSprite.setColorDepth(8); + size_t len = lv_area_get_size(area); + tft_espi.startWrite(); /* Start new TFT transaction */ + tft_espi.setWindow(area->x1, area->y1, area->x2, area->y2); /* set the working window */ + #ifdef USE_DMA_TO_TFT + tft_espi.pushPixelsDMA((uint16_t *)color_p, len); /* Write words at once */ + #else + tft_espi.pushPixels((uint16_t *)color_p, len); /* Write words at once */ + #endif + tft_espi.endWrite(); /* terminate TFT transaction */ + Serial.println("Flushed"); + /* Tell lvgl that flushing is done */ + lv_disp_flush_ready(disp); } void createSprite(Frame frame, Color background) @@ -49,12 +78,12 @@ namespace driver void setRotation(int rot) { - mDriver.setRotation(rot); + tft_espi.setRotation(rot); } void setDisplayInverted(bool inverted) { - mDriver.invertDisplay(inverted); + tft_espi.invertDisplay(inverted); } void drawRect(Frame frame, Color color) @@ -69,7 +98,7 @@ namespace driver void drawDirectLine(int32_t x0, int32_t y0, int32_t x1, int32_t y1, Color lineColor) { - mDriver.drawLine(x0, y0, x1, y1, lineColor.getColorInt()); + tft_espi.drawLine(x0, y0, x1, y1, lineColor.getColorInt()); } void drawJpg(const std::string filePath, const Point position) @@ -101,7 +130,7 @@ namespace driver void setFreeFont(const GFXfont *font) { - mDriver.setFreeFont(font); + tft_espi.setFreeFont(font); } auto getTextWidth(const std::string textString) -> int16_t @@ -141,16 +170,15 @@ namespace driver TFT_eSPI* getTouchDriverRef() { - return &mDriver; + return &tft_espi; } void writeCommand(uint8_t command) { - mDriver.writecommand(command); + tft_espi.writecommand(command); } private: - TFT_eSPI mDriver; TFT_eSprite mSprite; TFT_eFEX mEfx; int mWidth; diff --git a/main/tft/TFTM5StackDriver.hpp b/main/tft/TFTM5StackDriver.hpp index 43d354b..e508de1 100644 --- a/main/tft/TFTM5StackDriver.hpp +++ b/main/tft/TFTM5StackDriver.hpp @@ -2,7 +2,7 @@ //#include #define GFXFF 1 -#include + #include "TFT_eSPI.h" #include "TFT_eFEX.h" #include @@ -29,13 +29,13 @@ namespace driver void begin(int freq = 0) { - mDriver.begin(); + // mDriver.begin(); #define BLK_PWM_CHANNEL 7 // Init the back-light LED PWM ledcSetup(BLK_PWM_CHANNEL, 44100, 8); ledcAttachPin(TFT_BL, BLK_PWM_CHANNEL); ledcWrite(BLK_PWM_CHANNEL, 80); - mSprite.setColorDepth(8); + // mSprite.setColorDepth(8); } void createSprite(Frame frame, Color background) diff --git a/main/touch/ButtonDriver.cpp b/main/touch/ButtonDriver.cpp deleted file mode 100644 index 02e72ea..0000000 --- a/main/touch/ButtonDriver.cpp +++ /dev/null @@ -1,118 +0,0 @@ -#include - -#include -#include - -#include - -// Specifically for M5Stack which uses Pull-Ups on buttons - -namespace gfx -{ - - ButtonDriver::ButtonDriver(TFT_eSPI* tftDriver) - { - if (ButtonsArePullUp) - { - pinMode(BUTTON_A_PIN, INPUT_PULLUP); - pinMode(BUTTON_B_PIN, INPUT_PULLUP); - pinMode(BUTTON_C_PIN, INPUT_PULLUP); - } - - mCurrentPressState.state = PressState::None; - } - - std::optional ButtonDriver::buttonEvent() - { - auto now = std::chrono::system_clock::now(); - auto button = buttonState(); - if (!button) - { - return std::nullopt; - } - auto btn = *button; - if (btn.state == PressState::Start) - { - mLastPressTime = std::chrono::system_clock::now(); - } - const auto pressDelta = std::chrono::duration_cast(now - mLastPressTime).count(); - const auto isValid = pressDelta < MSBeforeInvalid; - if (!isValid) - { - return std::nullopt; - } - const auto isLongPress = pressDelta > MSBeforeLongPress; - const auto isShortPress = pressDelta < MSBeforeTap; - if (btn.state == PressState::Ended) - { - ButtonEvent btnEvent; - btnEvent.button = btn.btn; - if (isShortPress) - { - btnEvent.state = ButtonPress::Tap; - return std::make_optional(btnEvent); - } - if (isLongPress) - { - btnEvent.state = ButtonPress::LongPress; - return std::make_optional(btnEvent); - } - } - return std::nullopt; - } - - std::optional ButtonDriver::buttonState() - { - Button btn = digitalRead(BUTTON_A_PIN) == 0 ? Button::A : Button::NONE; - btn = digitalRead(BUTTON_B_PIN) == 0 ? Button::B : btn; - btn = digitalRead(BUTTON_C_PIN) == 0 ? Button::C : btn; - ButtonPressState newState; - if (btn != Button::NONE) - { - switch (mCurrentPressState.state) - { - case PressState::None: - newState.state = PressState::Start; - break; - case PressState::Start: - newState.state = PressState::Running; - case PressState::Running: - break; - case PressState::Ended: - newState.state = PressState::Start; - break; - } - mCurrentPressState = newState; - mCurrentPressState.btn = btn; - return std::make_optional(mCurrentPressState); - } - else - { - switch (mCurrentPressState.state) - { - case PressState::None: - break; - case PressState::Start: - case PressState::Running: - newState.state = PressState::Ended; - break; - case PressState::Ended: - newState.state = PressState::None; - break; - default: - newState.state = PressState::None; - break; - } - if (newState.state == PressState::Ended) - { - ButtonPressState evt; - evt.btn = mCurrentPressState.btn; - evt.state = newState.state; - mCurrentPressState.state = newState.state; - return std::make_optional(evt); - } - mCurrentPressState = newState; - return std::nullopt; - } - } -} // namespace gfx diff --git a/main/touch/ButtonDriver.h b/main/touch/ButtonDriver.h deleted file mode 100644 index f7dc0de..0000000 --- a/main/touch/ButtonDriver.h +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include - -#include -#include - -class TFT_eSPI; -namespace config { struct HardwareConfig; } - -namespace gfx -{ - struct ButtonDriver - { - using InnerDriver = TFT_eSPI; - ButtonDriver(TFT_eSPI* tftDriver); - void updateHardwareConfig(config::HardwareConfig& hwConfig) { }; // noop - - std::optional buttonEvent(); - - private: - std::optional buttonState(); - - std::chrono::system_clock::time_point mLastPressTime; - ButtonPressState mCurrentPressState; - }; -} // namespace gfx diff --git a/main/touch/ButtonTypes.h b/main/touch/ButtonTypes.h deleted file mode 100644 index fb372f4..0000000 --- a/main/touch/ButtonTypes.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include - -namespace gfx -{ - enum class PressState: int - { - Start = 0, - Running = 1, - Ended = 2, - None = 3 - }; - - enum class Button : int - { - A = 0, // Left - B = 1, // Right - C = 2, // Enter - NONE = 3 - }; - - struct ButtonPressState - { - Button btn; - PressState state; - }; - - enum class ButtonPress : int - { - Tap = 0, - LongPress = 1 - }; - - struct ButtonEvent - { - Button button; - ButtonPress state; - }; - -} // namespace gfx diff --git a/main/touch/TouchDriver.h b/main/touch/TouchDriver.h deleted file mode 100644 index 42efee7..0000000 --- a/main/touch/TouchDriver.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include - -#include - -class TFT_eSPI; - -namespace gfx -{ - template - class TouchDriver - { - public: - using InnerDriver = Driver; - TouchDriver(Driver* tftDriver); - void updateHardwareConfig(config::HardwareConfig& hwConfig); - void begin(); - void setRotation(int rotation); - - std::optional tapEvent(); - - private: - std::optional touchPoint(); - unsigned long mLastTouchEventTime; - Driver* mTouch; - TouchEvent mCurrentEvent; - int mXAxisInversionAmount = 0; - int mYAxisInversionAmount = 0; - - }; -} // namespace gfx - -#include "TouchDriver.ipp" diff --git a/main/touch/TouchDriver.ipp b/main/touch/TouchDriver.ipp deleted file mode 100644 index 22418f4..0000000 --- a/main/touch/TouchDriver.ipp +++ /dev/null @@ -1,123 +0,0 @@ - -#pragma once - -#include "TouchDriver.h" -#include "Arduino.h" -#include -#include - -namespace gfx -{ - template - TouchDriver::TouchDriver(Driver* tftDriver) : - mTouch(tftDriver) - { - mCurrentEvent = {{0,0,0}, TouchState::NoTouch, xTaskGetTickCount()}; - }; - - template - void TouchDriver::updateHardwareConfig(config::HardwareConfig& hwConfig) - { - mXAxisInversionAmount = hwConfig.mIsTouchXAxisInverted ? ScreenWidth : 0; - mYAxisInversionAmount = hwConfig.mIsTouchYAxisInverted ? ScreenHeight : 0; - } - - template - auto TouchDriver::touchPoint() -> std::optional - { - // TODO: Should probably average over 3 points with timestamps - // because occasionally touches would "drop" out and lead - // to Long Presses not being recognized correctly - const auto now = xTaskGetTickCount(); - TouchState newState = TouchState::NoTouch; - TouchEvent newEvent{{0,0,0}, TouchState::NoTouch, now}; - uint16_t x, y = 0; - if (mTouch->getTouch(&x, &y, 100)) - { - switch(mCurrentEvent.state) - { - case TouchState::NoTouch: - newState = TouchState::TouchStart; - break; - case TouchState::TouchStart: - newState = TouchState::TouchRunning; - break; - case TouchState::TouchEnded: - break; - case TouchState::TouchRunning: - newState = TouchState::TouchRunning; - default: - break; - } - y = std::abs(mYAxisInversionAmount - y); - x = std::abs(mXAxisInversionAmount - x); - newEvent.position = {x, y, 0}; - newEvent.state = newState; - mCurrentEvent = newEvent; - return std::make_optional(mCurrentEvent); - } - else - { - switch(mCurrentEvent.state) - { - case TouchState::TouchRunning: - case TouchState::TouchStart: - newState = TouchState::TouchEnded; - break; - case TouchState::TouchEnded: - newState = TouchState::NoTouch; - break; - default: - newState = TouchState::NoTouch; - break; - } - - if (newState != mCurrentEvent.state) - { - mCurrentEvent.state = newState; - return std::make_optional(mCurrentEvent); - } - } - return std::nullopt; - } - - template - auto TouchDriver::tapEvent() -> std::optional - { - auto touchEvt = touchPoint(); - if (!touchEvt) - { - return std::nullopt; - } - auto evt = *touchEvt; - if (evt.state == TouchState::TouchStart) - { - mLastTouchEventTime = evt.timestamp; - } - const auto pressDelta = xTaskGetTickCount() - mLastTouchEventTime; - const auto isValid = pressDelta < MSBeforeInvalid; - if (!isValid) - { - return std::nullopt; - } - const auto isLongPress = pressDelta > MSBeforeLongPress; - const auto isShortPress = pressDelta < MSBeforeTap; - - if (evt.state == TouchState::TouchEnded) - { - TapEvent tapEvent; - tapEvent.position = evt.position; - if (isShortPress) - { - tapEvent.state = PressEvent::Tap; - return std::make_optional(tapEvent); - } - if (isLongPress) - { - tapEvent.state = PressEvent::LongPress; - return std::make_optional(tapEvent); - } - } - return std::nullopt; - } -} // namespace gfx diff --git a/main/touch/TouchTypes.hpp b/main/touch/TouchTypes.hpp deleted file mode 100644 index 7e7b809..0000000 --- a/main/touch/TouchTypes.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "ui/UIPosition.hpp" - -namespace gfx -{ - enum class TouchState: int - { - TouchStart = 0, - TouchRunning = 1, - TouchEnded = 2, - NoTouch = 3 - }; - - struct TouchEvent - { - Point position; - TouchState state; - unsigned long timestamp; - }; - - enum class PressEvent : int - { - Tap = 0, - LongPress = 1, - None = 9 - }; - - struct TapEvent - { - PressEvent state; - Point position; - unsigned long timestamp; - }; - -} // namespace gfx diff --git a/main/ui/ActionCallback.hpp b/main/ui/ActionCallback.hpp new file mode 100644 index 0000000..298f02b --- /dev/null +++ b/main/ui/ActionCallback.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include + +namespace gfx +{ + using ActionCallback = std::function; + + enum class MenuActionState + { + NONE = 0, + SETTINGSMENU = 1, + MAINSCREEN = 2 + }; + + struct MenuAction + { + MenuActionState mAction; + ActionCallback mCallback; + }; +} // namespace gfx::ui diff --git a/main/ui/Color.hpp b/main/ui/Color.hpp index 0e70ecd..71dfba4 100644 --- a/main/ui/Color.hpp +++ b/main/ui/Color.hpp @@ -1,6 +1,10 @@ #pragma once #include +extern "C" +{ + #include "lvgl.h" +} namespace gfx { diff --git a/main/ui/Icons.hpp b/main/ui/Icons.hpp new file mode 100644 index 0000000..186b9c8 --- /dev/null +++ b/main/ui/Icons.hpp @@ -0,0 +1,45 @@ +#pragma once + +#include +#include +#include + +#include +#include +#include +#include + +namespace gfx::ui +{ + using ImageItem = std::pair; + static std::vector imageMapping = + { + ImageItem{"bedroom", &bedroom_img}, + ImageItem{"door", &door_img}, + ImageItem{"fan", &fan_img}, + ImageItem{"fountain", &fountain_img}, + ImageItem{"garden", &garden_img}, + ImageItem{"kitchen", &kitchen_img}, + ImageItem{"livingroom", &livingroom_img}, + ImageItem{"night", &night_img}, + ImageItem{"power", &power_img} + }; + + static void resolveAndSetImage(lv_obj_t* obj, const std::string& imageName) + { + const auto iconIt = std::find_if(imageMapping.begin(), imageMapping.end(), [&imageName](const auto& ele) + { + return ele.first == imageName; + }); + if (iconIt != imageMapping.end()) + { + lv_img_set_src(obj, iconIt->second); + } + else // fallback to path file + { + const auto filePath = util::GetIconFilePath(imageName); + lv_img_set_src(obj, filePath.c_str()); + } + } + +} \ No newline at end of file diff --git a/main/ui/PROGMEMIconDrawer.hpp b/main/ui/PROGMEMIconDrawer.hpp deleted file mode 100644 index 05776d2..0000000 --- a/main/ui/PROGMEMIconDrawer.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include -#include - -#include -#include -#include -#include -#include - - -namespace gfx -{ -namespace util -{ - // TODO: Delete this. - // Previously used to save icons in program code for faster loading - // compared to SPIFFS - using ImageItem = std::tuple; - static std::vector imageMapping = - { - }; - - template - struct PROGMEMIconDrawer - { - static void drawJpeg(ScreenDriver* screenPtr, const std::string fileName, Point position) - { - const auto icon = std::find_if(imageMapping.begin(), imageMapping.end(), [&fileName](const auto& ele) - { - return std::get<0>(ele) == fileName; - }); - if (icon == imageMapping.end()) - { - printf("Couldn't resolve image "); - printf(fileName.c_str()); - printf("\r\n"); - - SPIFFSIconDrawer::drawJpeg(screenPtr, fileName, position); - return; - } - screenPtr->drawJpg(std::get<1>(*icon), std::get<2>(*icon), position); - } - - }; -} // namespace util -} // namespace gfx diff --git a/main/ui/SPIFFSIconDrawer.hpp b/main/ui/SPIFFSIconDrawer.hpp deleted file mode 100644 index 3e81d26..0000000 --- a/main/ui/SPIFFSIconDrawer.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include - -#include - - -namespace gfx -{ -namespace util -{ - template - struct SPIFFSIconDrawer - { - static void drawJpeg(ScreenDriver* screenPtr, const std::string fileName, Point position) - { - screenPtr->drawJpg(fileName, position); - } - }; - -} // namespace util -} // namespace gfx diff --git a/main/ui/ScreenNavigator.hpp b/main/ui/ScreenNavigator.hpp deleted file mode 100644 index 580dd33..0000000 --- a/main/ui/ScreenNavigator.hpp +++ /dev/null @@ -1,236 +0,0 @@ -#pragma once - -#include -#include - -#include -#include -#include -#include - -#include -#include - -namespace gfx -{ - template - class ScreenNavigator : public UIWidget - { - public: - ScreenNavigator(ScreenDriver* screenptr, Frame frame, uint16_t tag) : - UIWidget(screenptr, frame, tag) - { }; - ScreenNavigator(ScreenDriver* screenptr, std::weak_ptr parent, Frame frame, uint16_t tag) : - UIWidget(screenptr, parent, frame, tag) - { }; - - void didTap(const TapEvent& tapEvt) override - { - if (mpSubViews.size() == 0) - { - return; - } - mpSubViews.at(mCurrentScreenPage)->didTap(tapEvt); - } - - void draw() override - { - mpSubViews.at(mCurrentScreenPage)->draw(); - } - - void pageUp() - { - mCurrentScreenPage = mCurrentScreenPage + 1 > (mpSubViews.size() - 1) ? 0 : mCurrentScreenPage + 1; - mpSubViews.at(mCurrentScreenPage)->setRedrawSubviews(); - } - - void pageDown() - { - mCurrentScreenPage = mCurrentScreenPage - 1 < 0 ? mpSubViews.size() - 1 : mCurrentScreenPage - 1; - mpSubViews.at(mCurrentScreenPage)->setRedrawSubviews(); - } - - void didTap(const ButtonEvent& btnEvt) override - { - int buttonInc = 0; - switch (btnEvt.button) - { - case Button::A: - buttonInc = -1; - break; - case Button::B: - buttonInc = 1; - break; - case Button::C: - handleSelectionEvent(btnEvt); - return; - default: - buttonInc = 0; - } - - auto& currentViews = mpSubViews.at(mCurrentScreenPage)->getSubViews(); - mCurrentButtonSelected += buttonInc; - - std::for_each(currentViews.begin(), currentViews.end(), [](const auto& btn) - { - btn->setSelected(false); - }); - if (mCurrentButtonSelected > static_cast(currentViews.size() - 1)) - { - pageUp(); - mCurrentButtonSelected = 0; - } - else if (mCurrentButtonSelected < 0) - { - pageDown(); - mCurrentButtonSelected = mpSubViews.at(mCurrentScreenPage)->getSubViews().size() - 1; - } - if (currentViews.size() == 0) - { - return; - } - mpSubViews.at(mCurrentScreenPage)->getSubViews().at(mCurrentButtonSelected)->setSelected(true); - } - - void addSubviews(std::vector widget, const bool needsDismissal = false) - { - const int buttonSpaces = needsDismissal ? 5 : 6; - const auto needsPageButton = widget.size() > buttonSpaces; - - auto makeMosaicButton = [&]() - { - auto menuWidget = std::make_shared(mpScreen, shared_from_this(), mFrame, 3, 2, 998); - menuWidget->setBackgroundColor(Color::BlackColor()); - return menuWidget; - }; - - auto makePageButton = [&]() - { - auto pageButton = std::make_shared(mpScreen, mFrame); - // Capturing the class by reference causes - // a segfault in the ESP32 toolchain - pageButton->addPageUpAction([this](auto i){ - this->pageUp(); - }); - pageButton->addPageDownAction([this](auto i){ - this->pageDown(); - }); - return pageButton; - }; - - if (needsPageButton) - { - const int widgetLimit = isTouchDriver ? 5 : 6; - auto it = widget.begin(); - while (std::distance(it, widget.end()) > widgetLimit) - { - auto menuWidget = makeMosaicButton(); - auto nextIt = it; - if (nextIt == widget.begin() && !isTouchDriver) - { - (*nextIt)->setSelected(true); - } - ::util::safe_advance(nextIt, widget.end(), widgetLimit); - std::for_each(it, nextIt, [&](auto ele) - { - menuWidget->addSubview(ele); - }); - it = nextIt; - if (isTouchDriver) - { - menuWidget->addSubview(makePageButton()); - } - mpSubViews.push_back(menuWidget); - } - // Add remaining views - if (std::distance(it, widget.end()) > 0) - { - auto menuWidget = makeMosaicButton(); - std::for_each(it, widget.end(), [&](auto ele) - { - menuWidget->addSubview(ele); - }); - if (isTouchDriver) - { - menuWidget->addSubview(makePageButton()); - } - mpSubViews.push_back(menuWidget); - } - } - else - { - auto menuWidget = makeMosaicButton(); - std::for_each(widget.begin(), widget.end(), [&](auto ele) - { - menuWidget->addSubview(ele); - }); - mpSubViews.push_back(menuWidget); - } - } - - void presentDismissalSubviews(std::vector widget, ButtonCallback dismissCb) - { - if (!isTouchDriver) - { - (*widget.begin())->setSelected(true); - } - addSubviews(widget, true); - auto& lastPage = mpSubViews.back(); - auto backButton = std::make_shared(mpScreen, mFrame); - backButton->setLabel("Back"); - backButton->setTextColor(Color::WhiteColor()); - backButton->setImage(util::GetIconFilePath("exit")); - auto thisTag = mTag; - backButton->addTargetAction([dismissCb, &thisTag](const uint16_t tag) - { - dismissCb(thisTag); - }); - - if (lastPage->getNumSubviews() > 5) - { - auto menuWidget = std::make_shared(mpScreen, mFrame, 3, 2, 998); - menuWidget->setBackgroundColor(Color::BlackColor()); - menuWidget->addSubview(std::move(backButton)); - UIWidget::addSubview(menuWidget); - } - else - { - lastPage->addSubview(backButton); - } - mIsPresenting = true; - } - - void addSubview(WidgetPtr widget) - { - if ((mpSubViews.size() + 1) % 5 == 0) - { - // add Page button - } - UIWidget::addSubview(widget); - } - - private: - void handleSelectionEvent(const ButtonEvent& btnEvt) - { - auto& currentViews = mpSubViews.at(mCurrentScreenPage)->getSubViews(); - auto selectedButton = std::find_if(currentViews.begin(), currentViews.end(), [](auto& btn) - { - return btn->isSelected(); - }); - - if (selectedButton != currentViews.end()) - { - (*selectedButton)->didTap(btnEvt); - } - } - - int mCurrentScreenPage = 0; - bool mIsPresenting{false}; - // Check if we're using a TouchDriver at compile-time - // to determine whether we need on-screen page buttons - static constexpr bool isTouchDriver = std::is_same>::value; - int mCurrentButtonSelected = 0; - - - }; -} // namespace gfx diff --git a/main/ui/Styles.cpp b/main/ui/Styles.cpp new file mode 100644 index 0000000..671c83f --- /dev/null +++ b/main/ui/Styles.cpp @@ -0,0 +1,39 @@ +#include "Styles.h" + + +namespace gfx +{ + Styles::Styles() + { + lv_style_init(&mainStyle); + lv_style_set_border_width(&mainStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_inner(&mainStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_left(&mainStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_right(&mainStyle, LV_STATE_DEFAULT, 0); + lv_style_set_bg_color(&mainStyle, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_style_set_text_color(&mainStyle, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_obj_report_style_mod(&mainStyle); + + lv_style_copy(&switchBtnContStyle, &mainStyle); + lv_style_set_bg_color(&switchBtnContStyle, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_style_set_bg_color(&switchBtnContStyle, LV_STATE_PRESSED, LV_COLOR_GRAY); + lv_style_set_bg_color(&switchBtnContStyle, LV_STATE_FOCUSED, LV_COLOR_RED); + lv_style_set_bg_color(&switchBtnContStyle, LV_STATE_FOCUSED | LV_STATE_PRESSED, lv_color_hex(0xf88)); + lv_style_set_border_width(&switchBtnContStyle, LV_STATE_DEFAULT, 0); + lv_style_set_text_font(&switchBtnContStyle, LV_STATE_DEFAULT, &lv_font_montserrat_8); + lv_style_set_pad_inner(&switchBtnContStyle, LV_STATE_DEFAULT, 2); + lv_style_set_pad_top(&switchBtnContStyle, LV_STATE_DEFAULT, 20); + lv_style_set_pad_bottom(&switchBtnContStyle, LV_STATE_DEFAULT, 5); + + lv_style_copy(&sensorBtnContStyle, &mainStyle); + lv_style_set_bg_color(&sensorBtnContStyle, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_style_set_bg_color(&sensorBtnContStyle, LV_STATE_PRESSED, LV_COLOR_GRAY); + lv_style_set_bg_color(&sensorBtnContStyle, LV_STATE_FOCUSED, LV_COLOR_RED); + lv_style_set_bg_color(&sensorBtnContStyle, LV_STATE_FOCUSED | LV_STATE_PRESSED, lv_color_hex(0xf88)); + lv_style_set_border_width(&sensorBtnContStyle, LV_STATE_DEFAULT, 0); + lv_style_set_text_font(&sensorBtnContStyle, LV_STATE_DEFAULT, &lv_font_montserrat_12); + lv_style_set_pad_inner(&sensorBtnContStyle, LV_STATE_DEFAULT, 2); + lv_style_set_pad_top(&sensorBtnContStyle, LV_STATE_DEFAULT, 18); + lv_style_set_pad_bottom(&sensorBtnContStyle, LV_STATE_DEFAULT, 5); + } +} \ No newline at end of file diff --git a/main/ui/Styles.h b/main/ui/Styles.h new file mode 100644 index 0000000..993f19c --- /dev/null +++ b/main/ui/Styles.h @@ -0,0 +1,22 @@ +#pragma once +#include "lvgl.h" + +namespace gfx +{ + class Styles + { + public: + static Styles &getInstance() + { + static Styles instance; + return instance; + }; + static void init(); + Styles(); + lv_style_t mainStyle; + lv_style_t switchBtnContStyle; + lv_style_t sensorBtnContStyle; + + private: + }; +} // namespace gfx diff --git a/main/ui/UIButton.cpp b/main/ui/UIButton.cpp deleted file mode 100644 index c71006d..0000000 --- a/main/ui/UIButton.cpp +++ /dev/null @@ -1,148 +0,0 @@ -#include "UIButton.h" -#include -#include -#include - -#include -#include -#include -#include - -namespace gfx -{ - UIButton::UIButton(ScreenDriver* screenPtr, Frame frame, const uint16_t tag) : - UIWidget(screenPtr, frame, tag) - { - mBackgroundColor = Color::BlackColor(); - } - - UIButton::UIButton(ScreenDriver* screenPtr, std::weak_ptr parent, Frame frame, const uint16_t tag) : - UIWidget(screenPtr, parent, frame, tag) - { - mBackgroundColor = Color::BlackColor(); - } - - void UIButton::draw() - { - if (!mNeedsRedraw) - { - return; - } - std::for_each(mpSubViews.begin(), mpSubViews.end(), [](auto& subView) { - subView->draw(); - }); - mpScreen->createSprite(mFrame, mBackgroundColor); - Point imagePosition; - imagePosition.x = mFrame.getCenterPoint().x - 50 / 2; - imagePosition.y = 20; - ImageWriter::drawJpeg(mpScreen, mImagePath, imagePosition); - mpScreen->loadFont(SmallFont); - mpScreen->setTextColor(mTextColor, mBackgroundColor); - Frame textFrame; - const auto textWidth = mpScreen->getTextWidth(mLabel.c_str()); - const auto centerPoint = mFrame.getCenterPoint(); - textFrame.position.x = centerPoint.x - textWidth / 2; - textFrame.position.y = mFrame.size.height - 30; - - const auto activeColor = mIsSelected ? Color::SelectedColor() : mTextColor; - mpScreen->setTextColor(activeColor, mBackgroundColor); - mpScreen->drawText(textFrame, 1, mLabel.c_str()); - - if (mHasMoreIndicator) - { - Frame moreFrame; - const std::string moreLabel = "..."; - const auto textWidth = mpScreen->getTextWidth(moreLabel.c_str()); - moreFrame.position.x = mFrame.size.width - textWidth - 13; - moreFrame.position.y = 10; - mpScreen->loadFont(BoldFont); - mpScreen->drawText(moreFrame, 1, moreLabel.c_str()); - } - - mNeedsRedraw = false; - mpScreen->pushSprite(mFrame.position); - mpScreen->deleteSprite(); - } - - void UIButton::setImage(const std::string filePath) - { - mImagePath = filePath; - UIWidget::setNeedsRedraw(); - } - - void UIButton::setMoreIndicator(const bool hasMore) - { - mHasMoreIndicator = hasMore; - } - - void UIButton::setTextColor(Color textColor) - { - mTextColor = textColor; - UIWidget::setNeedsRedraw(); - } - - void UIButton::setLabel(const std::string label) - { - mLabel = label; - UIWidget::setNeedsRedraw(); - } - - void UIButton::addTargetAction(ButtonCallback cb) - { - mButtonCallback = cb; - } - - void UIButton::addTargetLongPressAction(ButtonCallback cb) - { - mButtonLongPressCallback = cb; - } - - void UIButton::didTap(const TapEvent& tapEvt) - { - if (mFrame.isInBounds(tapEvt.position)) - { - auto mUpperFrame = mFrame; - mUpperFrame.size.height = mUpperFrame.size.height / 2; - const auto didTapMoreArea = mUpperFrame.isInBounds(tapEvt.position); - if (didTapMoreArea && mHasMoreIndicator) - { - callLongPressAction(); - } - else - { - callTapAction(); - } - } - } - - void UIButton::didTap(const ButtonEvent& btnEvt) - { - switch (btnEvt.state) - { - case ButtonPress::Tap: - callTapAction(); - break; - case ButtonPress::LongPress: - callLongPressAction(); - break; - } - } - - void UIButton::callLongPressAction() - { - if (mButtonLongPressCallback) - { - sound::BeepGenerator::ShortBeep(); - mButtonLongPressCallback(mTag); - } - } - - void UIButton::callTapAction() - { - if (mButtonCallback) - { - sound::BeepGenerator::ShortBeep(); - mButtonCallback(mTag); - } - } -} // namespace gfx diff --git a/main/ui/UIButton.h b/main/ui/UIButton.h deleted file mode 100644 index 70d0483..0000000 --- a/main/ui/UIButton.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include "UIWidget.hpp" - -#include -#include - -using ButtonCallback = std::function; - -namespace gfx -{ - class UIButton : public UIWidget - { - public: - UIButton(ScreenDriver* screenPtr, Frame frame, const uint16_t tag = 0); - UIButton(ScreenDriver* screenPtr, std::weak_ptr parent, Frame frame, const uint16_t tag = 0); - UIButton(ScreenDriver* screenPtr, const std::string tag); - UIButton() = default; - UIButton(UIButton&&) = default; - UIButton(const UIButton&) = delete; - UIButton& operator=(UIButton other) = delete; - ~UIButton() = default; - - void addTargetAction(ButtonCallback cb); - void addTargetLongPressAction(ButtonCallback cb); - void setTextColor(Color textColor); - void setImage(const std::string filePath); - void setLabel(const std::string label); - void setMoreIndicator(const bool hasMore); - void draw() override; - - // Touch Driver - void didTap(const TapEvent& tapEvt) override; - - // Button Driver - void didTap(const ButtonEvent& btnEvt) override; - - private: - void callLongPressAction(); - void callTapAction(); - Color mTextColor; - std::string mImagePath; - std::string mLabel; - bool mHasMoreIndicator = false; - unsigned long mLastTouchEventTime; - ButtonCallback mButtonCallback; - ButtonCallback mButtonLongPressCallback; - }; -} // namespace gfx diff --git a/main/ui/UIDetailButtonBuilder.hpp b/main/ui/UIDetailButtonBuilder.hpp index 4150b65..cedee30 100644 --- a/main/ui/UIDetailButtonBuilder.hpp +++ b/main/ui/UIDetailButtonBuilder.hpp @@ -1,10 +1,10 @@ #pragma once -#include +#include #include #include -#include -#include -#include +#include +#include +// #include #include @@ -15,62 +15,61 @@ namespace util template struct UIDetailButtonBuilder { - auto operator()(MQTTSwitchGroupPtr ptr, ScreenType screen) -> std::vector> + auto operator()(auto& switchDevice, MQTTSwitchGroupPtr ptr, ScreenType screen, lv_obj_t* pParent) -> MosaicButtonPtr { - std::vector> buttons; auto& context = screen->mpAppContext; - for (auto& switchDevice : ptr->mDevices) - { - auto button = std::make_shared(&(screen->mTft), Frame(), ptr->groupId); - button->setBackgroundColor(Color::InactiveBgColor()); + const auto label = switchDevice.second.name; + auto button = std::make_shared(pParent, label, ptr->groupId); + button->setupButton(); + // button->setBackgroundColor(Color::InactiveBgColor()); - // Check if device has icon, else fallback to group icon - const bool hasIcon = switchDevice.second.iconName.has_value(); - const auto icons = hasIcon ? GetIconFileNames(*switchDevice.second.iconName) : GetIconFileNames(ptr->iconName); + // // Check if device has icon, else fallback to group icon + const bool hasIcon = switchDevice.second.iconName.has_value(); + const auto icon = hasIcon ? *switchDevice.second.iconName : ptr->iconName; + button->setTextLabel(switchDevice.second.name); + const auto isActive = switchDevice.second.active; + const auto imagePath = icon; + button->setImage(imagePath); + button->setState(isActive); + auto groupId = ptr->groupId; + auto deviceId = switchDevice.second.deviceId; + button->addTargetAction([groupId, deviceId, &switchDevice, context](const uint16_t id) { + const bool isActive = switchDevice.second.active; + context->getMQTTConnection()->switchDevice(groupId, deviceId, !isActive); + }); + button->addTargetLongPressAction([screen](const uint16_t id) + { + // screen->presentTilesForScene(id); + }); - button->setLabel(switchDevice.second.name); - const auto textColor = switchDevice.second.active ? Color::ActiveBgColor() : Color::InactiveTextColor(); - const auto imagePath = switchDevice.second.active ? icons.first : icons.second; - button->setImage(imagePath); - button->setTextColor(textColor); - auto groupId = ptr->groupId; - auto deviceId = switchDevice.second.deviceId; - button->addTargetAction([groupId, deviceId, &switchDevice, context](const uint16_t id) { - const bool isActive = switchDevice.second.active; - context->getMQTTConnection()->switchDevice(groupId, deviceId, !isActive); + switchDevice.second.mSetNeedsUpdateCB = [ptr, deviceId, weakBtn = std::weak_ptr(button)]() + { + auto findSensor = std::find_if(ptr->mDevices.begin(), ptr->mDevices.end(), [&deviceId](auto& ele) + { + return ele.second.deviceId == deviceId; }); + if (findSensor == ptr->mDevices.end()) + { + return; + } + const auto isActive = (*findSensor).second.active; + // const auto imagePath = (*findSensor).second.active ? icons.first : icons.second; + auto button = weakBtn.lock(); + if (!button) + { + return; + } - switchDevice.second.mSetNeedsUpdateCB = [ptr, deviceId, weakBtn = std::weak_ptr(button), icons]() { - auto findSensor = std::find_if(ptr->mDevices.begin(), ptr->mDevices.end(), [&deviceId](auto& ele) - { - return ele.second.deviceId == deviceId; - }); - if (findSensor == ptr->mDevices.end()) - { - return; - } - const auto textColor = (*findSensor).second.active ? Color::ActiveBgColor() : Color::InactiveTextColor(); - const auto imagePath = (*findSensor).second.active ? icons.first : icons.second; - auto button = weakBtn.lock(); - - if (!button) - { - return; - } - - button->setTextColor(textColor); - button->setImage(imagePath); - }; - buttons.push_back(button); - } - return buttons; + button->setState(isActive); + }; + return button; } - std::vector> operator()(auto& ptr, ScreenType screen) + auto operator()(auto& switchDevice, auto ptr, ScreenType screen, lv_obj_t* pParent) { // IF THIS IS HIT, A HANDLER IS MISSING. - std::vector> buttons; - return buttons; + MosaicButtonPtr button; + return button; } }; diff --git a/main/ui/UIErrorWidget.hpp b/main/ui/UIErrorWidget.hpp deleted file mode 100644 index 9be89de..0000000 --- a/main/ui/UIErrorWidget.hpp +++ /dev/null @@ -1,56 +0,0 @@ -#pragma once - -#include -#include - -namespace gfx -{ - static const int kLabelOffset = 5; // for centering - - struct UIErrorWidget : public UIWidget - { - UIErrorWidget(ScreenDriver* screenPtr, Frame frame, const uint16_t tag = 0) : - UIWidget(screenPtr, frame, tag) - { - mBackgroundColor = {255, 0, 0}; - } - - void setWarningMessage(const std::string message) - { - mWarningMessage = message; - } - - void draw() override - { - mpScreen->createSprite(mFrame, mBackgroundColor); - mpScreen->setTextColor(Color::WhiteColor(), mBackgroundColor); - Frame textFrame; - if (mWarningMessage.length() > 40) - { - std::string firstLine = mWarningMessage.substr(0, 40); - const auto textWidth = mpScreen->getTextWidth(firstLine.c_str()); - const auto centerPoint = mFrame.getCenterPoint(); - textFrame.position.x = centerPoint.x - textWidth / 2; - textFrame.position.y = mFrame.size.height/2 - kLabelOffset; - mpScreen->drawText(textFrame, 1, firstLine.c_str()); - auto secondLine = mWarningMessage.substr(40, mWarningMessage.length() - 1); - auto secondTextFrame = textFrame; - secondTextFrame.position.y = textFrame.position.y + 10; - mpScreen->drawText(secondTextFrame, 1, secondLine.c_str()); - } - else - { - const auto textWidth = mpScreen->getTextWidth(mWarningMessage.c_str()); - const auto centerPoint = mFrame.getCenterPoint(); - textFrame.position.x = centerPoint.x - textWidth / 2; - textFrame.position.y = mFrame.size.height/2 - kLabelOffset; - mpScreen->drawText(textFrame, 1, mWarningMessage.c_str()); - } - mpScreen->pushSprite(mFrame.position); - mpScreen->deleteSprite(); - } - - private: - std::string mWarningMessage; - }; -} \ No newline at end of file diff --git a/main/ui/UIMenuBar.cpp b/main/ui/UIMenuBar.cpp new file mode 100644 index 0000000..ef8cdfa --- /dev/null +++ b/main/ui/UIMenuBar.cpp @@ -0,0 +1,74 @@ +#include "UIMenuBar.h" + +#include +#include +#include +#include + +namespace gfx +{ + + UIMenuBar::UIMenuBar(lv_obj_t *parent) : + mpParent(parent) + { + mLastUpdate = std::chrono::system_clock::now() - std::chrono::seconds(StatusBarUpdateInterval); + mpContHeader = lv_cont_create(mpParent, NULL); + lv_cont_set_fit2(mpContHeader, LV_FIT_PARENT, LV_FIT_TIGHT); + lv_obj_set_height(mpContHeader, 10); + lv_cont_set_layout(mpContHeader, LV_LAYOUT_OFF); + lv_obj_align(mpContHeader, mpParent, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + + lv_obj_t *cont_header_left = lv_cont_create(mpContHeader, NULL); + lv_cont_set_fit(cont_header_left, LV_FIT_TIGHT); + lv_cont_set_layout(cont_header_left, LV_LAYOUT_ROW_TOP); + // lv_obj_set_event_cb(cont_header_left, display_mainmenu_event); + lv_obj_align(cont_header_left, mpContHeader, LV_ALIGN_IN_TOP_LEFT, 10, 0); + + + static lv_style_t lv_style1; + lv_style_set_bg_color(&lv_style1, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_style_set_bg_color(&lv_style1, LV_STATE_PRESSED, LV_COLOR_GRAY); + lv_style_set_bg_color(&lv_style1, LV_STATE_FOCUSED, LV_COLOR_RED); + lv_style_set_bg_color(&lv_style1, LV_STATE_FOCUSED | LV_STATE_PRESSED, lv_color_hex(0xf88)); + lv_style_set_border_width(&lv_style1, LV_STATE_DEFAULT, 0); + lv_style_set_text_font(&lv_style1, LV_STATE_DEFAULT, &lv_font_montserrat_16); + lv_style_set_text_color(&lv_style1, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_style_set_pad_inner(&lv_style1, LV_STATE_DEFAULT, 2); + lv_style_set_pad_top(&lv_style1, LV_STATE_DEFAULT, 1); + lv_style_set_pad_bottom(&lv_style1, LV_STATE_DEFAULT, 5); + // lv_style_set_pad_left(&lv_style1, LV_STATE_DEFAULT, 0); + // lv_style_set_pad_right(&lv_style1, LV_STATE_DEFAULT, 0); + + static lv_style_t innerStyle; + lv_style_copy(&innerStyle, &lv_style1); + lv_style_set_pad_top(&innerStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_bottom(&innerStyle, LV_STATE_DEFAULT, 1); + lv_style_set_pad_left(&innerStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_right(&innerStyle, LV_STATE_DEFAULT, 0); + lv_obj_add_style(mpContHeader, LV_OBJ_PART_MAIN, &lv_style1); + lv_obj_add_style(cont_header_left, LV_OBJ_PART_MAIN, &innerStyle); + + mpStatusLabel = lv_label_create(cont_header_left, NULL); + static lv_style_t style_status_label; + lv_style_copy(&style_status_label, &innerStyle); + lv_obj_add_style(mpStatusLabel, LV_BTN_PART_MAIN, &style_status_label); + lv_label_set_text(mpStatusLabel, LV_SYMBOL_SETTINGS); + + + lv_obj_t *cont_header_right = lv_cont_create(mpContHeader, NULL); + lv_cont_set_fit(cont_header_right, LV_FIT_TIGHT); + lv_cont_set_layout(cont_header_right, LV_LAYOUT_ROW_TOP); + lv_obj_align(cont_header_right, mpContHeader, LV_ALIGN_IN_TOP_RIGHT, 55, 0); + lv_obj_add_style(cont_header_right, LV_OBJ_PART_MAIN, &innerStyle); + + mpExitButton = lv_label_create(cont_header_right, NULL); + lv_obj_add_style(mpExitButton, LV_BTN_PART_MAIN, &style_status_label); + lv_obj_align(mpExitButton, cont_header_right, LV_ALIGN_IN_TOP_RIGHT, 0, 0); + lv_label_set_text(mpExitButton, LV_SYMBOL_CLOSE); + } + + UIMenuBar::~UIMenuBar() + { + } + +} // namespace gfx diff --git a/main/ui/UIMenuBar.h b/main/ui/UIMenuBar.h new file mode 100644 index 0000000..55d843d --- /dev/null +++ b/main/ui/UIMenuBar.h @@ -0,0 +1,34 @@ +#pragma once +#include +#include +#include "AppContext.h" +#include +#include +#include "lvgl.h" +#include + +namespace gfx +{ + class UIMenuBar + { + public: + UIMenuBar(lv_obj_t *parent); + ~UIMenuBar(); + + + private: + ctx::WifiConnectionState mWifiState; + Color mTextColor; + std::string mIpAddressLabel = "N/A"; + std::string mWifiImage = LV_SYMBOL_WARNING; + std::string mMqttImage = "mqtt_off"; + std::string mTimeLabel = "0:00"; + std::string mTextLabel = ""; + std::chrono::system_clock::time_point mLastUpdate; + bool mIsWifiDisplayed = false; + lv_obj_t* mpParent; + lv_obj_t* mpContHeader; + lv_obj_t* mpStatusLabel; + lv_obj_t* mpExitButton; + }; +} // namespace gfx diff --git a/main/ui/UIMosaicButton.cpp b/main/ui/UIMosaicButton.cpp new file mode 100644 index 0000000..86ecf78 --- /dev/null +++ b/main/ui/UIMosaicButton.cpp @@ -0,0 +1,135 @@ +#include "UIMosaicButton.h" + +#include "AppNewScreen.h" +#include +#include +#include +#include +#include +#include + +namespace gfx +{ + + UIMosaicButton::UIMosaicButton(lv_obj_t *parent, const std::string label, const uint16_t tagId) : + mpParent(parent), + mTagId(tagId), + mLabel(label) + { + } + + void UIMosaicButton::setupButton() + { + mpContHeader = lv_cont_create(mpParent, NULL); + lv_cont_set_fit2(mpContHeader, LV_FIT_NONE, LV_FIT_NONE); + int width = lv_obj_get_width(mpParent); + int height = lv_obj_get_width(mpParent); + lv_obj_set_height(mpContHeader, width/3 - 10); + lv_obj_set_width(mpContHeader, width/3); + lv_cont_set_layout(mpContHeader, LV_LAYOUT_COLUMN_MID); + lv_obj_align(mpContHeader, mpParent, LV_ALIGN_CENTER, 0, 0); + + static lv_style_t innerStyle; + lv_style_copy(&innerStyle, &Styles::getInstance().mainStyle); + lv_style_set_pad_bottom(&innerStyle, LV_STATE_DEFAULT, 1); + lv_obj_add_style(mpContHeader, LV_OBJ_PART_MAIN, &Styles::getInstance().switchBtnContStyle); + + mpImage = lv_img_create(mpContHeader, NULL); + lv_page_glue_obj(mpContHeader, true); + lv_obj_set_user_data(mpContHeader, this); + lv_obj_add_style(mpImage, LV_OBJ_PART_MAIN, &Styles::getInstance().switchBtnContStyle); + + mpLabelText = lv_label_create(mpContHeader, NULL); + static lv_style_t style_status_label; + lv_style_copy(&style_status_label, &innerStyle); + lv_style_set_text_color(&style_status_label, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_obj_add_style(mpLabelText, LV_BTN_PART_MAIN, &style_status_label); + lv_obj_set_width(mpLabelText, lv_obj_get_width(mpContHeader)); + lv_label_set_text(mpLabelText, mLabel.c_str()); + lv_label_set_align(mpLabelText, LV_LABEL_ALIGN_CENTER); + lv_obj_set_style_local_pad_top(mpLabelText, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 5); + lv_obj_align(mpLabelText, mpContHeader, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + + lv_obj_set_event_cb(mpContHeader, [](lv_obj_t * obj, lv_event_t event) + { + auto self = reinterpret_cast(lv_obj_get_user_data(obj)); + if (event == LV_EVENT_SHORT_CLICKED) + { + if (self->mButtonCallback.has_value()) + { + self->mButtonCallback.value()(self->getId()); + } + + } + if (event == LV_EVENT_LONG_PRESSED) + { + if (self->mButtonLongPressCallback.has_value()) + { + self->mButtonLongPressCallback.value()(self->getId()); + } + } + }); + } + + void UIMosaicButton::setImage(const std::string imageName) + { + ui::resolveAndSetImage(mpImage, imageName); + } + + void UIMosaicButton::setTextLabel(const std::string label) + { + mLabel = label; + lv_label_set_text(mpLabelText, mLabel.c_str()); + } + + void UIMosaicButton::setState(const bool isActive) + { + if (isActive) { + lv_obj_set_style_local_image_recolor_opa(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, 200); + lv_obj_set_style_local_image_recolor(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_RED); + return; + } + lv_obj_set_style_local_image_recolor_opa(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_image_recolor(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); + } + + void UIMosaicButton::setState(const mqtt::MQTTSwitchGroupState state) + { + using namespace mqtt; + switch (state) { + case MQTTSwitchGroupState::None: + lv_obj_set_style_local_image_recolor_opa(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_image_recolor(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_obj_set_style_local_text_color(mpLabelText, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); + break; + + case MQTTSwitchGroupState::Some: + lv_obj_set_style_local_image_recolor_opa(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_image_recolor(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_obj_set_style_local_text_color(mpLabelText, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_RED); + break; + + case MQTTSwitchGroupState::All: + lv_obj_set_style_local_image_recolor_opa(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, 200); + lv_obj_set_style_local_image_recolor(mpImage, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_RED); + lv_obj_set_style_local_text_color(mpLabelText, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_RED); + } + + } + + void UIMosaicButton::addTargetAction(ButtonCallback cb) + { + mButtonCallback = cb; + } + + void UIMosaicButton::addTargetLongPressAction(ButtonCallback cb) + { + mButtonLongPressCallback = cb; + } + + uint16_t UIMosaicButton::getId() + { + return mTagId; + } + +} // namespace gfx diff --git a/main/ui/UIMosaicButton.h b/main/ui/UIMosaicButton.h new file mode 100644 index 0000000..c53ae2c --- /dev/null +++ b/main/ui/UIMosaicButton.h @@ -0,0 +1,40 @@ +#pragma once +#include +#include +#include "AppContext.h" +#include +#include "lvgl.h" +#include +#include + +namespace gfx +{ + class UIMosaicButton; + using MosaicButtonPtr = std::shared_ptr; + using ButtonCallback = std::function; + class UIMosaicButton + { + public: + UIMosaicButton(lv_obj_t *parent, const std::string label, const uint16_t tagId = 0); + void setupButton(); + void setState(const mqtt::MQTTSwitchGroupState state); + void setState(const bool isActive); + void setTextLabel(const std::string label); + void setImage(const std::string imageName); + void setImageActive(bool isActive); + void addTargetAction(ButtonCallback cb); + void addTargetLongPressAction(ButtonCallback cb); + uint16_t getId(); + + protected: + Color mTextColor; + lv_obj_t* mpParent; + lv_obj_t* mpContHeader; + lv_obj_t* mpLabelText; + lv_obj_t* mpImage; + uint16_t mTagId; + std::string mLabel; + std::optional mButtonCallback; + std::optional mButtonLongPressCallback; + }; +} // namespace gfx diff --git a/main/ui/UIMosaicMenuWidget.cpp b/main/ui/UIMosaicMenuWidget.cpp deleted file mode 100644 index a4f6984..0000000 --- a/main/ui/UIMosaicMenuWidget.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "UIMosaicMenuWidget.hpp" - -namespace gfx -{ - - UIMosaicMenuWidget::UIMosaicMenuWidget(ScreenDriver* screenptr, Frame frame, int cols, int rows, uint16_t tag) : - UIWidget(screenptr, frame, tag), - mCols(cols), - mRows(rows) - { - - } - - - UIMosaicMenuWidget::UIMosaicMenuWidget(ScreenDriver* screenptr, std::weak_ptr parent, Frame frame, int cols, int rows, uint16_t tag) : - UIWidget(screenptr, parent, frame, tag), - mCols(cols), - mRows(rows) - { - - } - - void UIMosaicMenuWidget::addSubview(WidgetPtr widget) - { - widget->setParent(shared_from_this()); - UIWidget::addSubview(widget); - int w = std::ceil(mFrame.size.width/mCols) + 1; - int h = mFrame.size.height/mRows; - - int mult = mpSubViews.size() - 1; - int hPos = mult/mCols; - int xPos = w*((mpSubViews.size()-1)%3) + mFrame.position.x; - int yPos = h*hPos + mFrame.position.y; - const auto frame = Frame{{xPos, yPos, 0}, {w, h}}; - mpSubViews.back()->setFrame(frame); - } - - void UIMosaicMenuWidget::draw() - { - if (mIsFirstDraw) - { - // Draw background once - mpScreen->createSprite(mFrame, mBackgroundColor); - mpScreen->pushSprite(mFrame.position); - mpScreen->deleteSprite(); - mIsFirstDraw = false; - } - - std::for_each(mpSubViews.begin(), mpSubViews.end(), [](auto& subView) - { - subView->draw(); - }); - if (mNeedsRedraw) - { - drawGrid(); - } - } - - void UIMosaicMenuWidget::drawGrid() - { - for (int h = 1; h < mRows; h++) - { - auto horizontalLine = mFrame; - horizontalLine.size.height = 1; - horizontalLine.position.y = mFrame.position.y + h * std::floor(mFrame.size.height / mRows); - mpScreen->createSprite(horizontalLine, Color::LightGrayColor()); - mpScreen->pushSprite(horizontalLine.position); - mpScreen->deleteSprite(); - } - for (int v = 1; v < mCols; v++) - { - auto verticalLine = mFrame; - int w = std::ceil(mFrame.size.width/mCols) + 1; - verticalLine.size.width = 1; - verticalLine.position.x = mFrame.position.x + v * w; - mpScreen->createSprite(verticalLine, Color::LightGrayColor()); - mpScreen->pushSprite(verticalLine.position); - mpScreen->deleteSprite(); - } - } - - void UIMosaicMenuWidget::setRedrawSubviews() - { - std::for_each(mpSubViews.begin(), mpSubViews.end(), [](auto& subView) - { - subView->setNeedsRedraw(); - }); - mIsFirstDraw = true; - } -} // namespace gfx diff --git a/main/ui/UIMosaicMenuWidget.hpp b/main/ui/UIMosaicMenuWidget.hpp deleted file mode 100644 index fa70860..0000000 --- a/main/ui/UIMosaicMenuWidget.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "UIWidget.hpp" - -namespace gfx -{ - class UIMosaicMenuWidget : public UIWidget - { - public: - UIMosaicMenuWidget(ScreenDriver* screenptr, Frame frame, int cols = 3, int rows = 2, uint16_t tag = 0); - UIMosaicMenuWidget(ScreenDriver* screenptr, std::weak_ptr parent, Frame frame, int cols = 3, int rows = 2, uint16_t tag = 0); - void addSubview(WidgetPtr widget) override; - void draw() override; - void setRedrawSubviews() override; - - private: - void drawGrid(); - int mCols; - int mRows; - }; -} // namespace gfx diff --git a/main/ui/UIPageButton.cpp b/main/ui/UIPageButton.cpp deleted file mode 100644 index 7fef2d2..0000000 --- a/main/ui/UIPageButton.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include - -#include -#include - -namespace gfx -{ - UIPageButton::UIPageButton(ScreenDriver* screenptr, Frame frame, uint16_t tag) : - UIWidget(screenptr, frame, tag) - { } - - UIPageButton::UIPageButton(ScreenDriver* screenptr, std::weak_ptr parent, Frame frame, uint16_t tag) : - UIWidget(screenptr, parent, frame, tag) - { } - - void UIPageButton::didTap(const TapEvent& tapEvt) - { - if (mFrame.isInBounds(tapEvt.position) - && tapEvt.state == PressEvent::Tap) - { - mNeedsRedraw = true; - - const auto center = mFrame.getCenterPoint(); - const auto isLeft = tapEvt.position.x < mFrame.position.x + center.x; - - if (isLeft && mDownCallback) - { - sound::BeepGenerator::ShortBeep(); - mDownCallback(mTag); - } - else if (mUpCallback) - { - sound::BeepGenerator::ShortBeep(); - mUpCallback(mTag); - } - return; - } - } - - void UIPageButton::addPageUpAction(ButtonCallback cb) - { - mUpCallback = cb; - } - - void UIPageButton::addPageDownAction(ButtonCallback cb) - { - mDownCallback = cb; - } - - void UIPageButton::draw() - { - if (!mNeedsRedraw) - { - return; - } - mpScreen->createSprite(mFrame, mBackgroundColor); - Point imagePosition; - imagePosition.x = mFrame.getCenterPoint().x - 50 + 25/2; - imagePosition.y = mFrame.getCenterPoint().y - 25 / 2; - ImageWriter::drawJpeg(mpScreen, util::GetIconFilePath(mLeftImage), imagePosition); - imagePosition.x = mFrame.getCenterPoint().x + 25/2; - ImageWriter::drawJpeg(mpScreen, util::GetIconFilePath(mRightImage), imagePosition); - mpScreen->pushSprite(mFrame.position); - mpScreen->deleteSprite(); - mNeedsRedraw = false; - } -} // namespace gfx diff --git a/main/ui/UIPageButton.h b/main/ui/UIPageButton.h deleted file mode 100644 index 2ea6da1..0000000 --- a/main/ui/UIPageButton.h +++ /dev/null @@ -1,25 +0,0 @@ -#include -#include - -namespace gfx -{ - class UIPageButton : public UIWidget - { - public: - UIPageButton(ScreenDriver* screenptr, Frame frame, uint16_t tag = 0); - UIPageButton(ScreenDriver* screenptr, std::weak_ptr parent, Frame frame, uint16_t tag = 0); - void draw() override; - void didTap(const TapEvent& tapEvt) override; - - void addPageUpAction(ButtonCallback cb); - void addPageDownAction(ButtonCallback cb); - - private: - TouchEvent mLastEvent; - ButtonCallback mUpCallback; - ButtonCallback mDownCallback; - const std::string mLeftImage = "arrow_left"; - const std::string mRightImage = "arrow_right"; - - }; -} // namespace gfx diff --git a/main/ui/UIPosition.hpp b/main/ui/UIPosition.hpp deleted file mode 100644 index f18ae1f..0000000 --- a/main/ui/UIPosition.hpp +++ /dev/null @@ -1,77 +0,0 @@ -#pragma once - -namespace gfx -{ - struct Point - { - int x; - int y; - int z; - - Point operator-(Point pos) - { - x -= pos.x; - y -= pos.y; - return *this; - } - - Point operator+(Point pos) - { - x += pos.x; - y += pos.y; - return *this; - } - - bool operator==(Point pos) - { - return x == pos.x && y == pos.y; - } - }; - - struct Size - { - int width; - int height; - - bool operator==(Size size) - { - return width == size.width && height == size.height; - } - }; - - struct Frame - { - Point position = {0, 0, 0}; - Size size = {0, 0}; - - bool operator==(Frame frame) - { - return size == frame.size && position == frame.position; - } - - template - auto isInBounds(const T& oPos) const -> bool - { - // TODO Screen rotation from Touch Driver - return (oPos.x >= position.x && oPos.x < position.x + size.width) && - (oPos.y >= position.y && oPos.y < position.y + size.height); - } - - // TODO: Refactor to getCenterPointRelative() - auto getCenterPoint() -> Point - { - const auto x = size.width / 2; - const auto y = size.height / 2; - return Point{x, y, 0}; - } - - auto frameInBounds(const Frame& frame) -> Frame - { - const auto x = position.x + frame.position.x; - const auto y = position.y + frame.position.y; - const auto z = position.z; - return {{x,y,z}, frame.size}; - } - }; - -} // namespace gfx diff --git a/main/ui/UISensorComboButton.cpp b/main/ui/UISensorComboButton.cpp new file mode 100644 index 0000000..627e598 --- /dev/null +++ b/main/ui/UISensorComboButton.cpp @@ -0,0 +1,149 @@ +#include "UISensorComboButton.h" + +#include "AppNewScreen.h" +#include +#include +#include +#include +#include + +namespace gfx +{ + + UISensorComboButton::UISensorComboButton(lv_obj_t *parent, const std::string label, const uint16_t id, const bool isMultiSensor) : + UIMosaicButton(parent, label, id), + isMultiSensor(isMultiSensor) + { + + } + + void UISensorComboButton::setupButton() + { + lv_obj_t* mpContHeader = lv_cont_create(UIMosaicButton::mpParent, NULL); + lv_cont_set_fit2(mpContHeader, LV_FIT_NONE, LV_FIT_NONE); + int width = lv_obj_get_width(UIMosaicButton::mpParent); + lv_obj_set_height(mpContHeader, width/3 - 10); + lv_obj_set_width(mpContHeader, width/3); + lv_cont_set_layout(mpContHeader, LV_LAYOUT_COLUMN_MID); + lv_obj_align(mpContHeader, UIMosaicButton::mpParent, LV_ALIGN_IN_TOP_LEFT, 0, 0); + + lv_page_glue_obj(mpContHeader, true); + + static lv_style_t innerStyle; + lv_style_copy(&innerStyle, &Styles::getInstance().mainStyle); + lv_style_set_pad_top(&innerStyle, LV_STATE_DEFAULT, 1); + lv_style_set_pad_bottom(&innerStyle, LV_STATE_DEFAULT, 1); + lv_style_set_pad_left(&innerStyle, LV_STATE_DEFAULT, 4); + lv_style_set_pad_right(&innerStyle, LV_STATE_DEFAULT, 0); + lv_style_set_border_width(&innerStyle, LV_STATE_DEFAULT, 0); + lv_style_set_bg_color(&innerStyle, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_obj_add_style(mpContHeader, LV_OBJ_PART_MAIN, &Styles::getInstance().sensorBtnContStyle); + + lv_obj_t* firstCont = lv_cont_create(mpContHeader, NULL); + lv_cont_set_fit2(firstCont, LV_FIT_TIGHT, LV_FIT_TIGHT); + lv_cont_set_layout(firstCont, LV_LAYOUT_ROW_MID); + lv_obj_add_style(firstCont, LV_OBJ_PART_MAIN, &innerStyle); + lv_obj_align(firstCont, mpContHeader, LV_ALIGN_IN_LEFT_MID, 0, 0); + lv_obj_align_origo(firstCont, mpContHeader, LV_ALIGN_IN_LEFT_MID, 0, 0); + + static lv_style_t style_status_label; + lv_style_copy(&style_status_label, &innerStyle); + lv_style_set_text_color(&style_status_label, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_style_set_text_font(&style_status_label, LV_STATE_DEFAULT, &lv_font_montserrat_12); + + static lv_style_t iconLabelStyle; + lv_style_copy(&iconLabelStyle, &style_status_label); + lv_style_set_pad_left(&innerStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_right(&innerStyle, LV_STATE_DEFAULT, 0); + + mpImage = lv_img_create(firstCont, NULL); + lv_obj_add_style(mpImage, LV_OBJ_PART_MAIN, &innerStyle); + lv_obj_align_origo(mpImage, firstCont, LV_ALIGN_IN_LEFT_MID, 0, 0); + mpFirstLabel = lv_label_create(firstCont, NULL); + lv_label_set_align(mpFirstLabel, LV_LABEL_ALIGN_LEFT); + lv_obj_add_style(mpFirstLabel, LV_BTN_PART_MAIN, &iconLabelStyle); + + if (isMultiSensor) + { + lv_obj_t* secondCont = lv_cont_create(mpContHeader, NULL); + lv_cont_set_fit2(secondCont, LV_FIT_TIGHT, LV_FIT_TIGHT); + lv_cont_set_layout(secondCont, LV_LAYOUT_ROW_MID); + lv_obj_add_style(secondCont, LV_OBJ_PART_MAIN, &innerStyle); + lv_obj_align(secondCont, mpContHeader, LV_ALIGN_IN_LEFT_MID, 0, 0); + lv_obj_align_origo(secondCont, mpContHeader, LV_ALIGN_IN_LEFT_MID, 0, 0); + + mpSecondImage = lv_img_create(secondCont, NULL); + lv_obj_add_style(mpSecondImage, LV_OBJ_PART_MAIN, &innerStyle); + lv_obj_align_origo(mpSecondImage, secondCont, LV_ALIGN_IN_LEFT_MID, 0, 0); + mpSecondLabel = lv_label_create(secondCont, NULL); + lv_label_set_align(mpSecondLabel, LV_LABEL_ALIGN_LEFT); + lv_obj_add_style(mpSecondLabel, LV_BTN_PART_MAIN, &iconLabelStyle); + } + + lv_obj_set_user_data(mpContHeader, this); + + mpLabelText = lv_label_create(mpContHeader, NULL); + + lv_obj_add_style(mpLabelText, LV_BTN_PART_MAIN, &style_status_label); + lv_label_set_text(mpLabelText, mLabel.c_str()); + if (!isMultiSensor) + { + lv_obj_set_style_local_pad_top(firstCont, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 13); + lv_obj_set_style_local_pad_top(mpLabelText, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 18); + } + + lv_obj_set_event_cb(mpContHeader, [](lv_obj_t * obj, lv_event_t event) + { + auto self = reinterpret_cast(lv_obj_get_user_data(obj)); + if (event == LV_EVENT_SHORT_CLICKED) + { + if (self->mButtonCallback.has_value()) + { + self->mButtonCallback.value()(self->getId()); + } + } + if (event == LV_EVENT_LONG_PRESSED) + { + if (self->mButtonLongPressCallback.has_value()) + { + self->mButtonLongPressCallback.value()(self->getId()); + } + } + }); + } + + void UISensorComboButton::updateImageWithValue(const std::vector> valuePairs) + { + ui::resolveAndSetImage(mpImage, std::get<0>(valuePairs.at(0))); + lv_label_set_text(mpFirstLabel, std::get<1>(valuePairs.at(0)).c_str()); + + if (isMultiSensor)// && valuePairs.size() > 1) + { + ui::resolveAndSetImage(mpSecondImage, std::get<0>(valuePairs.at(1))); + lv_label_set_text(mpSecondLabel, std::get<1>(valuePairs.at(1)).c_str()); + } + mValues = valuePairs; + } + + void UISensorComboButton::eraseValues() + { + mValues.clear(); + } + + void UISensorComboButton::setTextLabel(const std::string label) + { + mLabel = label; + lv_label_set_text(mpLabelText, mLabel.c_str()); + } + + void UISensorComboButton::addTargetAction(ButtonCallback cb) + { + mButtonCallback = cb; + } + + void UISensorComboButton::addTargetLongPressAction(ButtonCallback cb) + { + mButtonLongPressCallback = cb; + } + +} // namespace gfx diff --git a/main/ui/UISensorComboButton.h b/main/ui/UISensorComboButton.h new file mode 100644 index 0000000..104486d --- /dev/null +++ b/main/ui/UISensorComboButton.h @@ -0,0 +1,40 @@ +#pragma once +#include +#include +#include "AppContext.h" +#include +#include +#include "lvgl.h" +#include +#include +#include + +namespace gfx +{ + class UISensorComboButton : public UIMosaicButton + { + public: + using ImagePath = std::string; + using ValueType = std::string; + + UISensorComboButton(lv_obj_t *parent, const std::string label, const uint16_t id, const bool isMultiSensor = false); + void setTextLabel(const std::string label); + void setupButton(); + void eraseValues(); + void updateImageWithValue(const std::vector> valuePair); + void addTargetAction(ButtonCallback cb); + void addTargetLongPressAction(ButtonCallback cb); + + private: + Color mTextColor; + bool isMultiSensor = false; + std::vector> mValues; + lv_obj_t* mpLabelText; + lv_obj_t* mpSecondImage; + lv_obj_t* mpFirstLabel; + lv_obj_t* mpSecondLabel; + std::string mLabel; + std::optional mButtonCallback; + std::optional mButtonLongPressCallback; + }; +} // namespace gfx diff --git a/main/ui/UISensorComboWidget.cpp b/main/ui/UISensorComboWidget.cpp deleted file mode 100644 index 529a6ce..0000000 --- a/main/ui/UISensorComboWidget.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include "UISensorComboWidget.h" - -#include -#include - -namespace gfx -{ - UISensorComboWidget::UISensorComboWidget(ScreenDriver* screenptr, Frame frame, uint16_t tag) : - UIWidget(screenptr, frame, tag) - { - - } - - void UISensorComboWidget::draw() - { - if (!mNeedsRedraw) - { - return; - } - std::for_each(mpSubViews.begin(), mpSubViews.end(), [](auto& subView) { - subView->draw(); - }); - if (mValues.size() == 0) - { - return; - } - mpScreen->createSprite(mFrame, mBackgroundColor); - mpScreen->loadFont(SmallFont); - const auto textColor = mIsSelected ? Color::SelectedColor() : mTextColor; - mpScreen->setTextColor(textColor, mBackgroundColor); - Frame textFrame; - const auto textWidth = mpScreen->getTextWidth(mLabel.c_str()); - const auto centerPoint = mFrame.getCenterPoint(); - textFrame.position.x = centerPoint.x - textWidth / 2; - textFrame.position.y = mFrame.size.height - 30; - mpScreen->drawText(textFrame, 1, mLabel.c_str()); - - mpScreen->unloadFont(); - mpScreen->loadFont(BoldFont); - mpScreen->setTextColor(mTextColor, mBackgroundColor); - - const auto isMultiSensor = mValues.size() > 1; - // Aligning by first label - auto firstImage = mValues.at(0).first; - auto firstValue = mValues.at(0).second; - const auto firstWidth = mpScreen->getTextWidth(estd::to_string(firstValue).c_str()); - const auto labelPosition = centerPoint.x - (firstWidth + util::SmallIconSize + util::SmallIconInsetToCenter) / 2; - Frame firstFrame; - firstFrame.position.x = labelPosition + util::SmallIconSize; - firstFrame.position.y += isMultiSensor ? 20 : centerPoint.y - 20; - - auto firstImagePosition = firstFrame.position; - firstImagePosition.x = firstFrame.position.x - util::SmallIconSize; - firstImagePosition.y -= 4; - ImageWriter::drawJpeg(mpScreen, firstImage, firstImagePosition); - mpScreen->drawText(firstFrame, 1, firstValue); - - if (isMultiSensor) - { - auto secondImage = mValues.at(1).first; - auto secondValue = mValues.at(1).second; - auto secondFrame = firstFrame; - secondFrame.position.y += 30; - auto secondImagePosition = secondFrame.position; - secondImagePosition.x = secondFrame.position.x - util::SmallIconSize; - secondImagePosition.y -= 4; - ImageWriter::drawJpeg(mpScreen, secondImage, secondImagePosition); - mpScreen->drawText(secondFrame, 1, secondValue); - } - - mNeedsRedraw = false; - mpScreen->pushSprite(mFrame.position); - mpScreen->unloadFont(); - mpScreen->deleteSprite(); - } - - void UISensorComboWidget::setImageWithValue(const std::pair& valuePair) - { - mValues.push_back(std::move(valuePair)); - mNeedsRedraw = true; - } - - void UISensorComboWidget::eraseValues() - { - mValues.clear(); - } - - void UISensorComboWidget::setLabel(const std::string label) - { - mLabel = label; - mNeedsRedraw = true; - } - - void UISensorComboWidget::setTextColor(Color color) - { - mTextColor = color; - } -} // namespace gfx diff --git a/main/ui/UISensorComboWidget.h b/main/ui/UISensorComboWidget.h deleted file mode 100644 index 73d856d..0000000 --- a/main/ui/UISensorComboWidget.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "UIWidget.hpp" - -#include -#include - -// Combo Widget, supports up to two values on the -// home screen - -namespace gfx -{ - class UISensorComboWidget : public UIWidget - { - using ImagePath = std::string; - using ValueType = std::string; - public: - UISensorComboWidget(ScreenDriver* screenptr, Frame frame, uint16_t tag = 0); - - void draw() override; - void setTextColor(Color textColor); - void setLabel(const std::string label); - void setImageWithValue(const std::pair& valuePair); - void eraseValues(); - - private: - Color mTextColor; - std::string mLabel; - std::vector> mValues; - }; -} // namespace gfx diff --git a/main/ui/UIStatusBar.cpp b/main/ui/UIStatusBar.cpp new file mode 100644 index 0000000..e8481c3 --- /dev/null +++ b/main/ui/UIStatusBar.cpp @@ -0,0 +1,187 @@ +#include "UIStatusBar.h" + +#include +#include +#include +#include + +namespace gfx +{ + + UIStatusBar::UIStatusBar(lv_obj_t *parent, std::shared_ptr ctx, std::shared_ptr mqttCtx) : + mpParent(parent), + mpWifiContext(ctx), + mpMQTTContext(mqttCtx) + { + mLastUpdate = std::chrono::system_clock::now() - std::chrono::seconds(StatusBarUpdateInterval); + + setupScreen(parent); + wifiChanged(ctx->getWifiState()); + if (!mpMQTTContext) { return; } + mqttConnectionChanged(mpMQTTContext->getLastState()); + } + + void UIStatusBar::setupScreen(lv_obj_t* parent) + { + mpParent = parent; + mpContHeader = lv_cont_create(parent, NULL); + lv_cont_set_fit2(mpContHeader, LV_FIT_PARENT, LV_FIT_TIGHT); + lv_obj_set_height(mpContHeader, 15); + lv_cont_set_layout(mpContHeader, LV_LAYOUT_OFF); + lv_obj_align(mpContHeader, mpParent, LV_ALIGN_IN_TOP_MID, 0, 0); + + lv_obj_t *cont_header_left = lv_cont_create(mpContHeader, NULL); + lv_cont_set_fit(cont_header_left, LV_FIT_TIGHT); + lv_cont_set_layout(cont_header_left, LV_LAYOUT_ROW_TOP); + // lv_obj_set_event_cb(cont_header_left, display_mainmenu_event); + lv_obj_align(cont_header_left, mpContHeader, LV_ALIGN_IN_TOP_LEFT, 10, 0); + + + static lv_style_t lv_style1; + lv_style_set_bg_color(&lv_style1, LV_STATE_DEFAULT, LV_COLOR_BLACK); + // lv_style_set_bg_color(&lv_style1, LV_STATE_PRESSED, LV_COLOR_BLACK); + // lv_style_set_bg_color(&lv_style1, LV_STATE_FOCUSED, LV_COLOR_BLACK); + lv_style_set_bg_color(&lv_style1, LV_STATE_FOCUSED | LV_STATE_PRESSED, LV_COLOR_BLACK); + lv_style_set_border_width(&lv_style1, LV_STATE_DEFAULT, 0); + lv_style_set_text_font(&lv_style1, LV_STATE_DEFAULT, &lv_font_montserrat_12); + lv_style_set_text_color(&lv_style1, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_style_set_pad_inner(&lv_style1, LV_STATE_DEFAULT, 2); + lv_style_set_pad_top(&lv_style1, LV_STATE_DEFAULT, 3); + lv_style_set_pad_bottom(&lv_style1, LV_STATE_DEFAULT, 5); + // lv_style_set_pad_left(&lv_style1, LV_STATE_DEFAULT, 0); + // lv_style_set_pad_right(&lv_style1, LV_STATE_DEFAULT, 0); + + static lv_style_t innerStyle; + lv_style_copy(&innerStyle, &lv_style1); + lv_style_set_pad_top(&innerStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_bottom(&innerStyle, LV_STATE_DEFAULT, 1); + lv_style_set_pad_left(&innerStyle, LV_STATE_DEFAULT, 0); + lv_style_set_pad_right(&innerStyle, LV_STATE_DEFAULT, 0); + lv_obj_add_style(mpContHeader, LV_OBJ_PART_MAIN, &lv_style1); + lv_obj_add_style(cont_header_left, LV_OBJ_PART_MAIN, &innerStyle); + + static lv_style_t style_status_label; + lv_style_copy(&style_status_label, &innerStyle); + + mpActionLabel = lv_label_create(cont_header_left, NULL); + lv_obj_add_style(mpActionLabel, LV_BTN_PART_MAIN, &style_status_label); + lv_label_set_text(mpActionLabel, LV_SYMBOL_SETTINGS); + + lv_obj_t *cont_header_right = lv_cont_create(mpContHeader, NULL); + lv_cont_set_fit(cont_header_right, LV_FIT_TIGHT); + lv_cont_set_layout(cont_header_right, LV_LAYOUT_ROW_TOP); + lv_obj_align(cont_header_right, mpContHeader, LV_ALIGN_IN_TOP_RIGHT, -7, 0); + lv_obj_add_style(cont_header_right, LV_OBJ_PART_MAIN, &innerStyle); + + mpStatusLabel = lv_label_create(cont_header_right, NULL); + lv_obj_add_style(mpStatusLabel, LV_BTN_PART_MAIN, &style_status_label); + lv_label_set_text(mpStatusLabel, mIpAddressLabel.c_str()); + + mpStatusSymbol = lv_label_create(cont_header_right, NULL); + lv_obj_align(mpStatusSymbol, cont_header_right, LV_ALIGN_IN_TOP_RIGHT, 0, 0); + lv_label_set_text(mpStatusSymbol, mWifiImage.c_str()); + } + + void UIStatusBar::setupCallbacks() + { + if (mpMQTTContext) + { + mqttCallbackId = mpMQTTContext->registerConnectionStatusCallback( + std::bind(&UIStatusBar::mqttConnectionChanged, this, std::placeholders::_1)); + } + callbackId = mpWifiContext->registerCallback(std::bind(&UIStatusBar::wifiChanged, this, std::placeholders::_1)); + } + + void UIStatusBar::setAction(MenuAction action) + { + mActionCallback = action.mCallback; + switch (action.mAction) { + case MenuActionState::NONE: + break; + + case MenuActionState::SETTINGSMENU: + lv_label_set_text(mpActionLabel, LV_SYMBOL_SETTINGS); + break; + + case MenuActionState::MAINSCREEN: + lv_label_set_text(mpActionLabel, LV_SYMBOL_CLOSE); + break; + } + // Set callback to container header due to touch precision issues + lv_obj_set_user_data(mpContHeader, this); + lv_obj_set_event_cb(mpContHeader, [](lv_obj_t * obj, lv_event_t event) + { + auto self = reinterpret_cast(lv_obj_get_user_data(obj)); + if (event == LV_EVENT_SHORT_CLICKED) + { + if (self->mActionCallback.has_value()) + { + Serial.println("Dismissing screen"); + self->mActionCallback.value()(); + } + } + }); + } + + void UIStatusBar::wifiChanged(ctx::WifiConnectionState connectionState) + { + using namespace ctx; + const auto status = connectionState.wifiState; + + switch(status) + { + case WifiAssociationState::CONNECTING: + mIpAddressLabel = "CONNECTING..."; + mWifiImage = LV_SYMBOL_WARNING; + break; + case WifiAssociationState::CONNECTED: + mIpAddressLabel = connectionState.ipAddr; + mWifiImage = LV_SYMBOL_WIFI; + break; + case WifiAssociationState::DISCONNECTED: + mIpAddressLabel = "DISCONNECTED"; + mWifiImage = LV_SYMBOL_WARNING; + break; + case WifiAssociationState::READY: + mIpAddressLabel = "READY"; + mWifiImage = LV_SYMBOL_WARNING; + break; + } + lv_label_set_text(mpStatusLabel, mIpAddressLabel.c_str()); + lv_label_set_text(mpStatusSymbol, mWifiImage.c_str()); + } + + void UIStatusBar::mqttConnectionChanged(mqtt::MQTTConnectionStatus connectionState) + { + switch (connectionState) + { + case mqtt::MQTTConnectionStatus::CONNECTED: + mMqttImage = "mqtt_on"; + break; + case mqtt::MQTTConnectionStatus::DISCONNECTED: + mMqttImage = "mqtt_off"; + break; + case mqtt::MQTTConnectionStatus::CONNECTING: + mMqttImage = "mqtt_off"; + break; + } + } + + + void UIStatusBar::setTextLabel(const std::string label) + { + mTextLabel = label; + } + + void UIStatusBar::setTextColor(const Color color) + { + mTextColor = color; + } + + UIStatusBar::~UIStatusBar() + { + mpWifiContext->deleteCallback(callbackId); + mpMQTTContext->deleteCallback(mqttCallbackId); + } + +} // namespace gfx diff --git a/main/ui/UIStatusBar.h b/main/ui/UIStatusBar.h new file mode 100644 index 0000000..e0fab7e --- /dev/null +++ b/main/ui/UIStatusBar.h @@ -0,0 +1,60 @@ +#pragma once +#include +#include +#include "AppContext.h" +#include +#include +#include +#include "lvgl.h" + +#include +#include +#include + +namespace gfx +{ + enum class WIFIStatus { + DISCONNECTED = 0, + CONNECTED = 1 + }; + + class UIStatusBar //: public std::enable_shared_from_this + { + public: + UIStatusBar(lv_obj_t *parent, std::shared_ptr ctx, std::shared_ptr mqttCtx); + ~UIStatusBar(); + void setupScreen(lv_obj_t* parent); + void setupCallbacks(); + // std::shared_ptr getShared(){ + // return shared_from_this(); + // } + void setAction(MenuAction action); + void registerCallback(ctx::WifiContext* ctx); + void registerMQTTCallback(mqtt::MQTTConnection* mqttCtx); + void wifiChanged(ctx::WifiConnectionState connectionState); + void mqttConnectionChanged(mqtt::MQTTConnectionStatus connectionState); + void setTextColor(const Color color); + void setTextLabel(const std::string label); + + private: + ctx::WifiConnectionState mWifiState; + Color mTextColor; + std::string mIpAddressLabel = "N/A"; + std::string mWifiImage = LV_SYMBOL_WARNING; + std::string mMqttImage = "mqtt_off"; + std::string mTimeLabel = "0:00"; + std::string mTextLabel = ""; + std::chrono::system_clock::time_point mLastUpdate; + Dispatcher::CBID callbackId; + Dispatcher::CBID mqttCallbackId; + std::optional mActionCallback; + bool mIsWifiDisplayed = false; + lv_obj_t* mpParent; + lv_obj_t* mpContHeader; + lv_obj_t* mpStatusLabel; + lv_obj_t* mpActionLabel; + lv_obj_t* mpStatusSymbol; + std::shared_ptr mpWifiContext; + std::shared_ptr mpMQTTContext; + }; +} // namespace gfx diff --git a/main/ui/UIStatusBarWidget.h b/main/ui/UIStatusBarWidget.h deleted file mode 100644 index ab12cd4..0000000 --- a/main/ui/UIStatusBarWidget.h +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once -#include -#include -#include "UIWidget.hpp" -#include "AppContext.h" - -#include - -namespace gfx -{ - enum class WIFIStatus { - DISCONNECTED = 0, - CONNECTED = 1 - }; - class UIStatusBarWidget : public UIWidget - { - public: - UIStatusBarWidget(ScreenDriver* screenptr, Frame frame, uint16_t tag = 0); - void registerCallback(ctx::WifiContext* ctx); - void wifiChanged(ctx::WifiConnectionState connectionState); - void mqttConnectionChanged(mqtt::MQTTConnectionStatus connectionState); - void setTextColor(const Color color); - void setTextLabel(const std::string label); - - void draw() override; - private: - ctx::WifiConnectionState mWifiState; - Color mTextColor; - std::string mIpAddressLabel = "N/A"; - std::string mWifiImage = "wifi_off"; - std::string mMqttImage = "mqtt_off"; - std::string mTimeLabel = "0:00"; - std::string mTextLabel = ""; - std::chrono::system_clock::time_point mLastUpdate; - bool mIsWifiDisplayed = false; - }; -} // namespace gfx diff --git a/main/ui/UISwitchDeviceButton.cpp b/main/ui/UISwitchDeviceButton.cpp new file mode 100644 index 0000000..570b3b8 --- /dev/null +++ b/main/ui/UISwitchDeviceButton.cpp @@ -0,0 +1,82 @@ +#include "UISwitchDeviceButton.h" + +#include "AppNewScreen.h" +#include +#include +#include +#include +#include + +namespace gfx +{ + + UISwitchDeviceButton::UISwitchDeviceButton(lv_obj_t *parent, const std::string label, const uint16_t sceneId) : + UIMosaicButton(parent, label, sceneId) + { + + } + + void UISwitchDeviceButton::setupButton() + { + lv_obj_t* mpContHeader = lv_cont_create(UIMosaicButton::mpParent, NULL); + lv_cont_set_fit2(mpContHeader, LV_FIT_NONE, LV_FIT_NONE); + int width = lv_obj_get_width(UIMosaicButton::mpParent); + lv_obj_set_height(mpContHeader, width/3 - 10); + lv_obj_set_width(mpContHeader, width/3); + lv_cont_set_layout(mpContHeader, LV_LAYOUT_COLUMN_MID); + lv_obj_align(mpContHeader, UIMosaicButton::mpParent, LV_ALIGN_IN_TOP_LEFT, 0, 0); + + lv_page_glue_obj(mpContHeader, true); + + static lv_style_t innerStyle; + lv_style_copy(&innerStyle, &Styles::getInstance().mainStyle); + lv_style_set_pad_bottom(&innerStyle, LV_STATE_DEFAULT, 1); + lv_obj_add_style(mpContHeader, LV_OBJ_PART_MAIN, &Styles::getInstance().switchBtnContStyle); + + mpImage = lv_img_create(mpContHeader, NULL); + lv_obj_set_user_data(mpContHeader, this); + + mpLabelText = lv_label_create(mpContHeader, NULL); + static lv_style_t style_status_label; + lv_style_copy(&style_status_label, &innerStyle); + lv_style_set_text_color(&style_status_label, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_obj_add_style(mpLabelText, LV_BTN_PART_MAIN, &style_status_label); + lv_label_set_text(mpLabelText, mLabel.c_str()); + + lv_obj_set_event_cb(mpContHeader, [](lv_obj_t * obj, lv_event_t event) + { + auto self = reinterpret_cast(lv_obj_get_user_data(obj)); + if (event == LV_EVENT_SHORT_CLICKED) + { + if (self->mButtonCallback.has_value()) + { + self->mButtonCallback.value()(self->getId()); + } + } + if (event == LV_EVENT_LONG_PRESSED) + { + if (self->mButtonLongPressCallback.has_value()) + { + self->mButtonLongPressCallback.value()(self->getId()); + } + } + }); + } + + void UISwitchDeviceButton::setTextLabel(const std::string label) + { + mLabel = label; + lv_label_set_text(mpLabelText, mLabel.c_str()); + } + + void UISwitchDeviceButton::addTargetAction(ButtonCallback cb) + { + mButtonCallback = cb; + } + + void UISwitchDeviceButton::addTargetLongPressAction(ButtonCallback cb) + { + mButtonLongPressCallback = cb; + } + +} // namespace gfx diff --git a/main/ui/UISwitchDeviceButton.h b/main/ui/UISwitchDeviceButton.h new file mode 100644 index 0000000..741a3fe --- /dev/null +++ b/main/ui/UISwitchDeviceButton.h @@ -0,0 +1,29 @@ +#pragma once +#include +#include +#include "AppContext.h" +#include +#include +#include "lvgl.h" +#include +#include + +namespace gfx +{ + class UISwitchDeviceButton : public UIMosaicButton + { + public: + UISwitchDeviceButton(lv_obj_t *parent, const std::string label, const uint16_t sceneId); + void setTextLabel(const std::string label); + void setupButton(); + void addTargetAction(ButtonCallback cb); + void addTargetLongPressAction(ButtonCallback cb); + + private: + Color mTextColor; + lv_obj_t* mpLabelText; + std::string mLabel; + std::optional mButtonCallback; + std::optional mButtonLongPressCallback; + }; +} // namespace gfx diff --git a/main/ui/UIWidget.cpp b/main/ui/UIWidget.cpp deleted file mode 100644 index e62f9d3..0000000 --- a/main/ui/UIWidget.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include "Color.hpp" -#include "UIWidget.hpp" - -namespace gfx -{ - UIWidget::UIWidget(ScreenDriver* screenptr, Frame frame, const uint16_t tag): - mpScreen(screenptr), - mFrame(frame), - mTag(tag) - { - mBackgroundColor = Color::BlackColor(); - }; - - UIWidget::UIWidget(ScreenDriver* screenptr, std::weak_ptr parent, - Frame frame, uint16_t tag) : - mpScreen(screenptr), - mpParent(parent), - mFrame(frame), - mTag(tag) - { - - } - - void UIWidget::addSubview(WidgetPtr widget) - { - widget->mFrame = mFrame.frameInBounds(widget->mFrame); - mpSubViews.push_back(widget); - } - - void UIWidget::didTap(const TapEvent& tapEvt) - { - std::for_each(mpSubViews.begin(), mpSubViews.end(), [&tapEvt](auto& subView) { - subView->didTap(tapEvt); - }); - } - - void UIWidget::setNeedsRedraw() - { - mNeedsRedraw = true; - auto parent = mpParent.lock(); - if (!parent) - { - return; - } - parent->setNeedsRedraw(); - } - - int UIWidget::getNumSubviews() - { - return mpSubViews.size(); - } - - void UIWidget::setParent(std::weak_ptr parent) - { - mpParent = parent; - } - - void UIWidget::setSelected(const bool selected) - { - if (mIsSelected != selected) - { - mIsSelected = selected; - setNeedsRedraw(); - } - } - - -} // namespace gfx diff --git a/main/ui/UIWidget.hpp b/main/ui/UIWidget.hpp deleted file mode 100644 index ad759ae..0000000 --- a/main/ui/UIWidget.hpp +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace gfx -{ - -class UIWidget; -using WidgetPtr = std::shared_ptr; -class UIWidget : public std::enable_shared_from_this -{ - public: - UIWidget() = default; - UIWidget(UIWidget&&) = default; - - UIWidget(ScreenDriver* screenptr, Frame frame, uint16_t tag = 0); - UIWidget(ScreenDriver* screenptr, std::weak_ptr parent, Frame frame, uint16_t tag = 0); - virtual void draw() { }; - virtual void addSubview(WidgetPtr widget); - virtual void setFrame(Frame frame) { mFrame = frame; }; - virtual void setBackgroundColor(Color color) { mBackgroundColor = color; mNeedsRedraw = true; }; - virtual std::vector &getSubViews() { return mpSubViews; } - virtual void didTap(const TapEvent& tapEvt); - virtual void setNeedsRedraw(); - virtual void setRedrawSubviews() {}; - virtual void setParent(std::weak_ptr parent); - - virtual int getNumSubviews(); - - // Button Functions - virtual void didTap(const ButtonEvent& btnEvt) {}; - virtual void setSelected(const bool selected); - virtual bool isSelected() const { return mIsSelected; } - virtual void select() {}; - - - protected: - template - std::shared_ptr shared_from_base() - { - return std::static_pointer_cast(shared_from_this()); - }; - Color getRandomColor(); - ScreenDriver* mpScreen; - std::weak_ptr mpParent; - Frame mFrame; - TouchEvent mLastEvent; - unsigned long mLastTouchEventTime = 0; - const uint16_t mTag; - Color mBackgroundColor; - std::vector mpSubViews; - bool mNeedsRedraw = true; - bool mIsFirstDraw = true; - bool mIsSelected = false; -}; -} // namespace gfx diff --git a/main/ui/UIWidgetBuilder.hpp b/main/ui/UIWidgetBuilder.hpp index 30cd0e2..d736a40 100644 --- a/main/ui/UIWidgetBuilder.hpp +++ b/main/ui/UIWidgetBuilder.hpp @@ -1,10 +1,14 @@ #pragma once -#include +#include #include #include -#include -#include -#include +#include +#include +#include + +#include + +#include namespace gfx { @@ -13,109 +17,126 @@ namespace util template struct UISceneButtonBuilder { - auto operator()(MQTTSwitchGroupPtr ptr, ScreenType screen) -> std::shared_ptr + auto operator()(MQTTSwitchGroupPtr ptr, ScreenType screen, lv_obj_t* pParent) + -> std::shared_ptr { - auto button = std::make_shared(&(screen->mTft), Frame(), ptr->groupId); - button->setBackgroundColor(Color::InactiveBgColor()); - button->setLabel(ptr->sceneName); + auto button = std::make_shared(pParent, ptr->sceneName); + const auto groupId = ptr->groupId; + button->setupButton(); + button->setTextLabel(ptr->sceneName); - const auto icons = GetIconFileNames(ptr->iconName); + const auto imageName = ptr->iconName; const auto state = ptr->currentState(); // Switch Textlabel color based on if some or all devices are on. - using namespace mqtt; - const auto textColor = (state == MQTTSwitchGroupState::Some || - state == MQTTSwitchGroupState::All) ? Color::ActiveBgColor() : Color::InactiveTextColor(); - const auto imagePath = ptr->isActive() ? icons.first : icons.second; - button->setImage(imagePath); - button->setTextColor(textColor); - button->setMoreIndicator(ptr->mDevices.size() > 1); - auto& context = screen->mpAppContext; - button->addTargetAction([ptr, context](const uint16_t id) { + button->setImage(imageName); + button->setState(state); + const auto ctx = screen->mpAppContext; + button->addTargetLongPressAction([ptr, ctx](const uint16_t id) { const bool isActive = ptr->isActive(); - context->getMQTTConnection()->switchScene(id, !isActive); + ctx->getMQTTConnection()->switchScene(id, !isActive); }); - button->addTargetLongPressAction([screen](const uint16_t id) + button->addTargetAction([screen, groupId](const uint16_t id) { - screen->presentScreen(id); + screen->presentTilesForScene(groupId); }); - auto& screenSaver = screen->mScreenSaver; - ptr->mSetNeedsUpdateCB = [ptr, weakBtn = std::weak_ptr(button), &screenSaver, icons]() { + + ptr->mSetNeedsUpdateCB = [ptr, weakBtn = std::weak_ptr(button)]() { using namespace mqtt; const auto state = ptr->currentState(); - // Switch Textlabel color based on if some or all devices are on. - const auto textColor = (state == MQTTSwitchGroupState::Some || - state == MQTTSwitchGroupState::All) ? Color::ActiveBgColor() : Color::InactiveTextColor(); - // Image will only change color when all devices are on. - const auto imagePath = ptr->isActive() ? icons.first : icons.second; auto button = weakBtn.lock(); if (!button) { return; } - button->setTextColor(textColor); - button->setImage(imagePath); - screenSaver.activate(); + button->setState(state); }; return button; }; - auto operator()(MQTTSensorGroupPtr ptr, ScreenType screen) -> std::shared_ptr + auto operator()(MQTTSensorGroupPtr ptr, ScreenType screen, lv_obj_t* pParent) -> std::shared_ptr { - auto button = std::make_shared(&(screen->mTft), Frame(), ptr->groupId); - button->setLabel(ptr->sceneName); - button->setTextColor(Color::WhiteColor()); + const bool hasMultipleSensors = isMultiSensor(ptr); + auto button = std::make_shared(pParent, ptr->sceneName, ptr->groupId, hasMultipleSensors); + button->setupButton(); + button->setTextLabel(ptr->sceneName); setMultiSensorStates(ptr, button); - ptr->mSetNeedsUpdateCB = [ptr, weakBtn = std::weak_ptr(button)]() { - const auto textColor = Color::InactiveTextColor(); + ptr->mSetNeedsUpdateCB = [ptr, weakBtn = std::weak_ptr(button)]() { auto button = weakBtn.lock(); if (!button) { return; } - button->setTextColor(textColor); setMultiSensorStates(ptr, button); }; return button; }; - std::shared_ptr operator()(auto ptr, ScreenType screen) + std::shared_ptr operator()(auto ptr, ScreenType screen, lv_obj_t* pParent) { // NO OP, means unimplemented handler // TODO: Abort or crash instead - std::shared_ptr button = std::make_shared(&(screen->mTft), Frame(), 999999); + std::shared_ptr button = std::make_shared(pParent, ""); return button; }; - // Helper + static bool isMultiSensor(auto ptr) + { + using namespace mqtt; + if (ptr->mSensorDevices.size() > 1) { return true; } + for (auto& sensor : ptr->mSensorDevices) + { + switch(sensor.second.sensorType) + { + case MQTTSensorType::MQTTCombinedJSONValues: + { + return true; + break; + } + case MQTTSensorType::MQTTSingleValue: + { + return false; + break; + } + + default: + return false; + break; + } + } + return false; + }; + + // Helper static void setMultiSensorStates(auto ptr, auto button) { using namespace mqtt::util; using namespace mqtt; button->eraseValues(); + std::vector> valuePairs; for (auto& sensor : ptr->mSensorDevices) { switch(sensor.second.sensorType) { - case MQTTSensorType::MQTTCombinedValues: + case MQTTSensorType::MQTTCombinedJSONValues: { const auto firstValue = sensor.second.getFirstValue(); const auto secondValue = sensor.second.getSecondValue(); - const auto firstValueIcon = util::GetIconFilePath(sensor.second.firstIconName); + const auto firstValueIcon = sensor.second.firstIconName; const auto secondValueIcon = sensor.second.secondIconName.has_value() ? - util::GetIconFilePath(*sensor.second.secondIconName) : firstValueIcon; // fallback - button->setImageWithValue({firstValueIcon, firstValue}); - button->setImageWithValue({secondValueIcon, secondValue}); + *sensor.second.secondIconName : firstValueIcon; // fallback + valuePairs.push_back({firstValueIcon, firstValue}); + valuePairs.push_back({secondValueIcon, secondValue}); break; } case MQTTSensorType::MQTTSingleValue: { const auto firstValue = sensor.second.getFirstValue(); - const auto firstValueIcon = util::GetIconFilePath(sensor.second.firstIconName); - button->setImageWithValue({firstValueIcon, firstValue}); + const auto firstValueIcon = sensor.second.firstIconName; + valuePairs.push_back({firstValueIcon, firstValue}); break; } @@ -123,6 +144,7 @@ namespace util break; } } + button->updateImageWithValue(valuePairs); } }; } // namespace util diff --git a/main/ui/icons/IconIncludes.hpp b/main/ui/icons/IconIncludes.hpp new file mode 100644 index 0000000..bf468ac --- /dev/null +++ b/main/ui/icons/IconIncludes.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include + +LV_IMG_DECLARE(bedroom_img); +LV_IMG_DECLARE(door_img); +LV_IMG_DECLARE(exit_img); +LV_IMG_DECLARE(fountain_img); +LV_IMG_DECLARE(fan_img); +LV_IMG_DECLARE(garden_img); +LV_IMG_DECLARE(kitchen_img); +LV_IMG_DECLARE(livingroom_img); +LV_IMG_DECLARE(night_img); +LV_IMG_DECLARE(power_img); diff --git a/main/ui/icons/bedroom_img.c b/main/ui/icons/bedroom_img.c new file mode 100644 index 0000000..5fae6bd --- /dev/null +++ b/main/ui/icons/bedroom_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_BEDROOM_IMG +#define LV_ATTRIBUTE_IMG_BEDROOM_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_BEDROOM_IMG uint8_t bedroom_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x01, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x34, 0xd4, 0x11, 0x11, 0x11, 0x10, 0x3f, 0xbf, 0x41, 0x10, 0x11, 0x11, 0x13, 0xe7, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x4f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x43, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t bedroom_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = bedroom_img_map, +}; + diff --git a/main/ui/icons/door.c b/main/ui/icons/door.c new file mode 100644 index 0000000..b2ad394 --- /dev/null +++ b/main/ui/icons/door.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_DOOR +#define LV_ATTRIBUTE_IMG_DOOR +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DOOR uint8_t door_map[] = { + 0x0d, 0x0d, 0x0d, 0xff, /*Color of index 0*/ + 0x0d, 0x00, 0x0d, 0xff, /*Color of index 1*/ + 0x0d, 0x00, 0x00, 0xff, /*Color of index 2*/ + 0x00, 0x00, 0x0d, 0xff, /*Color of index 3*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 4*/ + 0x8c, 0x8c, 0x8c, 0xff, /*Color of index 5*/ + 0x85, 0x85, 0x85, 0xff, /*Color of index 6*/ + 0x47, 0x47, 0x47, 0xff, /*Color of index 7*/ + 0x1c, 0x1c, 0x1c, 0xff, /*Color of index 8*/ + 0xdf, 0xdf, 0xdf, 0xff, /*Color of index 9*/ + 0xfa, 0xfa, 0xfa, 0xff, /*Color of index 10*/ + 0xff, 0xff, 0xff, 0xff, /*Color of index 11*/ + 0xfd, 0xfd, 0xfd, 0xff, /*Color of index 12*/ + 0xe1, 0xe0, 0xe2, 0xff, /*Color of index 13*/ + 0xb8, 0xb7, 0xb9, 0xff, /*Color of index 14*/ + 0x89, 0x88, 0x8a, 0xff, /*Color of index 15*/ + + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x11, 0x31, 0x03, 0x10, 0x10, 0x01, 0x10, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x01, 0x20, 0x03, 0x00, 0x10, 0x03, 0x11, 0x00, 0x03, 0x00, 0x21, 0x00, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x40, 0x01, 0x30, 0x14, 0x00, 0x41, 0x10, 0x03, 0x10, 0x04, 0x00, 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x11, 0x01, 0x04, 0x03, 0x00, 0x03, 0x10, 0x03, 0x10, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x04, 0x21, 0x01, 0x30, 0x00, 0x10, 0x33, 0x11, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x10, 0x00, 0x40, 0x56, 0x78, 0x01, 0x00, 0x00, 0x03, 0x01, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x20, 0x40, 0x04, 0x00, 0x9a, 0xbc, 0xde, 0xf0, 0x10, 0x30, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x34, 0x56, 0x57, 0xcb, 0xcb, 0x88, 0x33, 0x39, 0xab, 0xcd, 0xe0, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0f, 0xbb, 0x30, 0x31, 0xb1, 0xb1, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0xc5, 0x45, 0x67, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xbb, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x0a, 0xcb, 0x10, 0x20, 0xcb, 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xbd, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xbf, 0x00, 0x04, 0x0b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xcb, 0xbb, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0xb3, 0x11, 0x04, 0x4c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xcb, 0xa0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0xb5, 0x01, 0x00, 0x0b, 0xcc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x66, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x15, 0x20, 0x00, 0x8c, 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0xcb, 0xbb, 0xe1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xb9, 0x00, 0x00, 0x91, 0xb1, 0xbb, 0xbb, 0xbb, 0xbb, 0xb1, 0xb1, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x01, 0x00, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x01, 0x00, 0xc1, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x01, 0x00, 0xdc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x01, 0x00, 0x0c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x11, 0x00, 0x9c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x11, 0x10, 0x81, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x10, 0x10, 0x8b, 0xb1, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x10, 0x8b, 0xb1, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xb5, 0x00, 0x00, 0x8b, 0x1b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x1b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x0e, 0x3f, 0x10, 0x04, 0x0b, 0xb6, 0x1b, 0xbb, 0xc1, 0xbb, 0x33, 0x83, 0xe0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x11, 0x23, 0x10, 0x10, 0x41, 0xbb, 0xb1, 0x1b, 0xbb, 0xb6, 0x35, 0x38, 0x61, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x11, 0x01, 0x10, 0x04, 0x10, 0x06, 0xb6, 0xcb, 0xbb, 0xb7, 0x89, 0xab, 0xe0, 0x11, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x30, 0x14, 0xcb, 0xbb, 0x67, 0x2d, 0xe0, 0x40, 0x10, 0x03, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x11, 0x01, 0x10, 0x30, 0xf0, 0x1e, 0x40, 0x00, 0x00, 0x04, 0x04, 0x00, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x40, 0x01, 0x04, 0x04, 0x00, 0x10, 0x01, 0x41, 0x00, 0x10, 0x04, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x02, 0x01, 0x40, 0x30, 0x40, 0x02, 0x10, 0x01, 0x10, 0x03, 0x00, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0x10, 0x01, 0x10, 0x00, 0x00, 0x01, 0x10, 0x01, 0x10, 0x40, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t door = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = door_map, +}; + diff --git a/main/ui/icons/door_img.c b/main/ui/icons/door_img.c new file mode 100644 index 0000000..dd7e188 --- /dev/null +++ b/main/ui/icons/door_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_DOOR_IMG +#define LV_ATTRIBUTE_IMG_DOOR_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DOOR_IMG uint8_t door_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x24, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x02, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x01, 0xff, 0xf7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x03, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x14, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t door_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = door_img_map, +}; + diff --git a/main/ui/icons/fan_img.c b/main/ui/icons/fan_img.c new file mode 100644 index 0000000..c166f77 --- /dev/null +++ b/main/ui/icons/fan_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FAN_IMG +#define LV_ATTRIBUTE_IMG_FAN_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FAN_IMG uint8_t fan_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x10, 0x00, 0x01, 0x47, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x30, 0x00, 0x35, 0x66, 0x53, 0x00, 0x03, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x20, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0x61, 0x03, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x5f, 0xff, 0xf1, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x12, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x05, 0xff, 0xff, 0x20, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x5f, 0xff, 0xf3, 0x00, 0x10, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x22, 0xff, 0xff, 0xf1, 0x01, 0x00, 0x00, 0x10, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x22, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0f, 0xff, 0xff, 0xf3, 0x01, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x4f, 0xff, 0xff, 0xff, 0x10, 0x10, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x1a, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x60, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x10, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x04, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x32, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x10, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x04, 0xf6, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf9, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x9f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x46, 0xff, 0xff, 0xff, 0xf3, 0x01, 0x4f, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x2f, 0xff, 0x51, 0x00, 0x00, 0x01, 0xff, 0xf1, 0x5f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf6, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x01, 0x0f, 0xf2, 0x00, 0x00, 0x01, 0x00, 0xff, 0xf1, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf7, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x1f, 0xf2, 0x00, 0x1f, 0xf3, 0x00, 0x00, 0x00, 0x10, 0x3f, 0xf0, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x10, 0x0f, 0xff, 0x32, 0xff, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x5f, 0xf0, 0x6f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf9, 0x0f, 0xff, 0xff, 0xff, 0x40, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x10, 0x00, 0x01, 0x01, 0xff, 0xf0, 0x9f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x05, 0xff, 0xff, 0xff, 0x00, 0x00, 0x10, 0x13, 0xff, 0xff, 0x11, 0x00, 0x01, 0x00, 0x05, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x13, 0xff, 0xff, 0xf3, 0x10, 0x10, 0x00, 0x0f, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x31, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x51, 0xff, 0xff, 0xf1, 0x00, 0x01, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x43, 0x6f, 0xff, 0xff, 0x05, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa0, 0x5f, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x08, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0f, 0xff, 0xf2, 0x00, 0x00, 0x10, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0x13, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x5f, 0xff, 0x10, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x1f, 0xff, 0xf3, 0x10, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x10, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x01, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x20, 0x02, 0x56, 0xff, 0xf5, 0x30, 0x02, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x51, 0x00, 0x00, 0x00, 0x14, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t fan_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = fan_img_map, +}; + diff --git a/main/ui/icons/fountain_img.c b/main/ui/icons/fountain_img.c new file mode 100644 index 0000000..548d384 --- /dev/null +++ b/main/ui/icons/fountain_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FOUNTAIN_IMG +#define LV_ATTRIBUTE_IMG_FOUNTAIN_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FOUNTAIN_IMG uint8_t fountain_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x86, 0x55, 0x6f, 0xff, 0xff, 0xff, 0x96, 0x55, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x93, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x39, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x20, 0x25, 0x87, 0x41, 0x01, 0xff, 0x20, 0x14, 0x78, 0x52, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x04, 0xff, 0xff, 0xff, 0x20, 0x00, 0x02, 0xff, 0xff, 0xff, 0x50, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x5f, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf4, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x65, 0x86, 0x00, 0x68, 0x57, 0xff, 0xff, 0xff, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x05, 0xff, 0xff, 0x50, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0xff, 0xff, 0x30, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xf4, 0x01, 0x56, 0x40, 0x00, 0x04, 0x65, 0x10, 0x4f, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x38, 0xff, 0xf5, 0x00, 0x5f, 0xff, 0x73, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x12, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x10, 0x01, 0x01, 0x10, 0x11, 0x01, 0x00, 0x01, 0x10, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x10, 0x01, 0x00, 0x00, 0x01, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x40, 0x00, 0x14, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xab, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x44, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x55, 0x65, 0x56, 0x55, 0x65, 0x55, 0x65, 0x56, 0x55, 0x57, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t fountain_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = fountain_img_map, +}; + diff --git a/main/ui/icons/garden_img.c b/main/ui/icons/garden_img.c new file mode 100644 index 0000000..d8e9647 --- /dev/null +++ b/main/ui/icons/garden_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_GARDEN_IMG +#define LV_ATTRIBUTE_IMG_GARDEN_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_GARDEN_IMG uint8_t garden_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x10, 0x05, 0x20, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x12, 0x6f, 0xff, 0xf0, 0x00, 0x69, 0x10, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x00, 0x01, 0x6f, 0xf0, 0x01, 0xf5, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x01, 0x00, 0x13, 0x30, 0x05, 0xf2, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x17, 0x50, 0x00, 0x00, 0x0f, 0xf1, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x04, 0xbf, 0x30, 0x10, 0x5c, 0x40, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x01, 0x2f, 0xff, 0x02, 0x75, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x4f, 0x51, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x01, 0x02, 0x34, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x75, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x10, 0x00, 0x10, 0x00, 0x10, 0x15, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t garden_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = garden_img_map, +}; + diff --git a/main/ui/icons/kitchen_img.c b/main/ui/icons/kitchen_img.c new file mode 100644 index 0000000..13ece7e --- /dev/null +++ b/main/ui/icons/kitchen_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_KITCHEN_IMG +#define LV_ATTRIBUTE_IMG_KITCHEN_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_KITCHEN_IMG uint8_t kitchen_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x7f, 0xff, 0xff, 0xff, 0x5f, 0x78, 0xf5, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xff, 0xff, 0x48, 0x56, 0x84, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x5f, 0xff, 0xff, 0x48, 0x67, 0x94, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x48, 0x57, 0x84, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0x48, 0x66, 0x94, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x48, 0x67, 0x84, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x48, 0x66, 0x94, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0x48, 0x66, 0x94, 0xa2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x49, 0x67, 0x94, 0xc1, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0x45, 0x34, 0x62, 0x71, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x60, 0x00, 0x00, 0x01, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x06, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xf7, 0x10, 0x00, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x16, 0xdf, 0xff, 0xff, 0xff, 0x71, 0x04, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xb1, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xb1, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x2a, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x1a, 0xff, 0xff, 0xff, 0xff, 0x91, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x1a, 0xff, 0xff, 0xff, 0xff, 0x91, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x19, 0xff, 0xff, 0xff, 0xff, 0x81, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x19, 0xff, 0xff, 0xff, 0xff, 0x81, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x18, 0xff, 0xff, 0xff, 0xff, 0x80, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x18, 0xff, 0xff, 0xff, 0xff, 0x71, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x08, 0xff, 0xff, 0xff, 0xff, 0x70, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x08, 0xff, 0xff, 0xff, 0xff, 0x70, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x07, 0xff, 0xff, 0xff, 0xff, 0x60, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x07, 0xff, 0xff, 0xff, 0xff, 0x60, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t kitchen_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = kitchen_img_map, +}; + diff --git a/main/ui/icons/livingroom_img.c b/main/ui/icons/livingroom_img.c new file mode 100644 index 0000000..c0d3a44 --- /dev/null +++ b/main/ui/icons/livingroom_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_LIVINGROOM_IMG +#define LV_ATTRIBUTE_IMG_LIVINGROOM_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_LIVINGROOM_IMG uint8_t livingroom_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0x00, 0x44, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x43, 0x00, 0x00, 0x00, 0x34, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x63, 0x04, 0x3f, 0xff, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xff, 0xf4, 0x40, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x40, 0x00, 0x04, 0xdf, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0x30, 0x00, 0x03, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x4e, 0xfd, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x03, 0xef, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x03, 0x5e, 0xe5, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x5e, 0xe4, 0x40, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x64, 0x00, 0x00, 0x00, 0x3a, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x04, 0xee, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x43, 0x6f, 0xf9, 0x88, 0xaf, 0xe9, 0x98, 0x98, 0x98, 0x98, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x34, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, 0xee, 0xfe, 0xfe, 0xfe, 0xef, 0xef, 0xee, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xdd, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x43, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x34, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x34, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t livingroom_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = livingroom_img_map, +}; + diff --git a/main/ui/icons/night_img.c b/main/ui/icons/night_img.c new file mode 100644 index 0000000..406de5c --- /dev/null +++ b/main/ui/icons/night_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_NIGHT_IMG +#define LV_ATTRIBUTE_IMG_NIGHT_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NIGHT_IMG uint8_t night_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x32, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x10, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x01, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x50, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x01, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xa6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf6, 0x29, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf3, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf7, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x10, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0xa9, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x52, 0x10, 0x01, 0x12, 0x47, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t night_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = night_img_map, +}; + diff --git a/main/ui/icons/power_img.c b/main/ui/icons/power_img.c new file mode 100644 index 0000000..127ba8e --- /dev/null +++ b/main/ui/icons/power_img.c @@ -0,0 +1,94 @@ +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +#include "lvgl.h" +#else +#include "lvgl/lvgl.h" +#endif + + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +#define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_POWER_IMG +#define LV_ATTRIBUTE_IMG_POWER_IMG +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_POWER_IMG uint8_t power_img_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xee, 0xee, 0xee, 0xff, /*Color of index 1*/ + 0xdd, 0xdd, 0xdd, 0xff, /*Color of index 2*/ + 0xcc, 0xcc, 0xcc, 0xff, /*Color of index 3*/ + 0xbb, 0xbb, 0xbb, 0xff, /*Color of index 4*/ + 0xaa, 0xaa, 0xaa, 0xff, /*Color of index 5*/ + 0x99, 0x99, 0x99, 0xff, /*Color of index 6*/ + 0x88, 0x88, 0x88, 0xff, /*Color of index 7*/ + 0x77, 0x77, 0x77, 0xff, /*Color of index 8*/ + 0x66, 0x66, 0x66, 0xff, /*Color of index 9*/ + 0x55, 0x55, 0x55, 0xff, /*Color of index 10*/ + 0x44, 0x44, 0x44, 0xff, /*Color of index 11*/ + 0x33, 0x33, 0x33, 0xff, /*Color of index 12*/ + 0x22, 0x22, 0x22, 0xff, /*Color of index 13*/ + 0x11, 0x11, 0x11, 0xff, /*Color of index 14*/ + 0x00, 0x00, 0x00, 0xff, /*Color of index 15*/ + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x12, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x21, 0x2f, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xf2, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x02, 0xff, 0xf0, 0x01, 0x0f, 0xff, 0x20, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0x10, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x2f, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xf2, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x02, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0x20, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xf2, 0x01, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x10, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x12, 0x5f, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x10, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x13, 0xff, 0xff, 0xff, 0xff, 0xff, 0x41, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x10, 0x01, 0x6f, 0xff, 0xf7, 0x21, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x23, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x83, 0x10, 0x00, 0x01, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +const lv_img_dsc_t power_img = { + .header.always_zero = 0, + .header.w = 50, + .header.h = 50, + .data_size = 1314, + .header.cf = LV_IMG_CF_INDEXED_4BIT, + .data = power_img_map, +}; + diff --git a/main/wifi/WifiContext.cpp b/main/wifi/WifiContext.cpp index b2ce55f..0e03759 100644 --- a/main/wifi/WifiContext.cpp +++ b/main/wifi/WifiContext.cpp @@ -9,7 +9,6 @@ extern "C" #include "esp_system.h" #include "esp_wifi.h" #include "esp_event.h" -#include "esp_event_loop.h" #include "esp_log.h" #include "nvs_flash.h" @@ -40,8 +39,8 @@ static void event_handler(void* arg, esp_event_base_t event_base, callback(ctx::WifiAssociationState::CONNECTING); } else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) { ip_event_got_ip_t* event = (ip_event_got_ip_t*) event_data; - ESP_LOGI(TAG, "got ip:%s", - ip4addr_ntoa(&event->ip_info.ip)); + ESP_LOGI(TAG, "got ip:" IPSTR "\n", + IP2STR(&event->ip_info.ip)); xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT); callback(ctx::WifiAssociationState::CONNECTED); } @@ -70,9 +69,14 @@ namespace ctx } - void WifiContext::registerCallback(WifiConnectionStateCB callback) + Dispatcher::CBID WifiContext::registerCallback(WifiConnectionStateCB callback) { - mWifiStateNotifier.addCB(callback); + return mWifiStateNotifier.addCB(callback); + } + + void WifiContext::deleteCallback(Dispatcher::CBID callback) + { + mWifiStateNotifier.delCB(callback); } std::string WifiContext::getIpAddrStr() const @@ -108,7 +112,7 @@ namespace ctx strcpy(reinterpret_cast(wifi_config.sta.password), mPassword.c_str()); ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) ); - ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config) ); + ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config) ); ESP_ERROR_CHECK(esp_wifi_start() ); ESP_LOGI(TAG, "wifi_init_sta finished."); @@ -116,9 +120,13 @@ namespace ctx mSSID.c_str(), mPassword.c_str()); } + WifiConnectionState WifiContext::getWifiState() + { + return mLastState; + } + void WifiContext::wifiStateChanged(WifiAssociationState state) { - WifiConnectionState wifiConnState; if (mHostname.has_value() && state == WifiAssociationState::READY) { esp_err_t err; if ((err = tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, (*mHostname).c_str())) != ESP_OK) @@ -127,10 +135,10 @@ namespace ctx } } if (state == WifiAssociationState::CONNECTED) { - wifiConnState.ipAddr = getIpAddrStr(); + mLastState.ipAddr = getIpAddrStr(); } - wifiConnState.wifiState = state; - mWifiStateNotifier.broadcast(wifiConnState); + mLastState.wifiState = state; + mWifiStateNotifier.broadcast(mLastState); } } // namespace ctx \ No newline at end of file diff --git a/main/wifi/WifiContext.h b/main/wifi/WifiContext.h index 035c622..f6ba6e8 100644 --- a/main/wifi/WifiContext.h +++ b/main/wifi/WifiContext.h @@ -30,7 +30,8 @@ namespace ctx void connect(const std::string ssid, const std::string passwd, const std::optional hostname); void disconnect(); - void registerCallback(WifiConnectionStateCB callback); + Dispatcher::CBID registerCallback(WifiConnectionStateCB callback); + void deleteCallback(Dispatcher::CBID callback); std::string getIpAddrStr() const; WifiConnectionState getWifiState(); @@ -43,6 +44,7 @@ namespace ctx std::string mSSID; std::string mPassword; std::optional mHostname; + WifiConnectionState mLastState; wificallback_t mWifiCallback; // Need to store so doesnt go out of scope in C land }; } // namespace ctx \ No newline at end of file diff --git a/media/icon_templates/arrow_left.png b/media/icon_templates/arrow_left.png new file mode 100644 index 0000000..ba2d923 Binary files /dev/null and b/media/icon_templates/arrow_left.png differ diff --git a/media/icon_templates/arrow_right.png b/media/icon_templates/arrow_right.png new file mode 100644 index 0000000..2256c49 Binary files /dev/null and b/media/icon_templates/arrow_right.png differ diff --git a/media/icon_templates/bedroom_active.png b/media/icon_templates/bedroom_active.png new file mode 100644 index 0000000..b637376 Binary files /dev/null and b/media/icon_templates/bedroom_active.png differ diff --git a/media/icon_templates/bedroom_inactive.png b/media/icon_templates/bedroom_inactive.png new file mode 100644 index 0000000..49d6b92 Binary files /dev/null and b/media/icon_templates/bedroom_inactive.png differ diff --git a/media/icon_templates/door_active.png b/media/icon_templates/door_active.png new file mode 100644 index 0000000..9055121 Binary files /dev/null and b/media/icon_templates/door_active.png differ diff --git a/media/icon_templates/door_inactive.png b/media/icon_templates/door_inactive.png new file mode 100644 index 0000000..cca7414 Binary files /dev/null and b/media/icon_templates/door_inactive.png differ diff --git a/media/icon_templates/exitbutton.png b/media/icon_templates/exitbutton.png new file mode 100644 index 0000000..5dd69ad Binary files /dev/null and b/media/icon_templates/exitbutton.png differ diff --git a/media/icon_templates/fan_active.png b/media/icon_templates/fan_active.png new file mode 100644 index 0000000..258396f Binary files /dev/null and b/media/icon_templates/fan_active.png differ diff --git a/media/icon_templates/fan_inactive.png b/media/icon_templates/fan_inactive.png new file mode 100644 index 0000000..ac63b28 Binary files /dev/null and b/media/icon_templates/fan_inactive.png differ diff --git a/media/icon_templates/fountain_active.png b/media/icon_templates/fountain_active.png new file mode 100644 index 0000000..f0fa3fa Binary files /dev/null and b/media/icon_templates/fountain_active.png differ diff --git a/media/icon_templates/fountain_inactive.png b/media/icon_templates/fountain_inactive.png new file mode 100644 index 0000000..4072522 Binary files /dev/null and b/media/icon_templates/fountain_inactive.png differ diff --git a/media/icon_templates/garden_active.png b/media/icon_templates/garden_active.png new file mode 100644 index 0000000..e095f2f Binary files /dev/null and b/media/icon_templates/garden_active.png differ diff --git a/media/icon_templates/garden_inactive.png b/media/icon_templates/garden_inactive.png new file mode 100644 index 0000000..b874ea9 Binary files /dev/null and b/media/icon_templates/garden_inactive.png differ diff --git a/media/icon_templates/humidity_small.png b/media/icon_templates/humidity_small.png new file mode 100644 index 0000000..a1d04fb Binary files /dev/null and b/media/icon_templates/humidity_small.png differ diff --git a/media/icon_templates/kitchen_active.png b/media/icon_templates/kitchen_active.png new file mode 100644 index 0000000..bcb340a Binary files /dev/null and b/media/icon_templates/kitchen_active.png differ diff --git a/media/icon_templates/kitchen_inactive.png b/media/icon_templates/kitchen_inactive.png new file mode 100644 index 0000000..5f645e7 Binary files /dev/null and b/media/icon_templates/kitchen_inactive.png differ diff --git a/media/icon_templates/livingroom.png b/media/icon_templates/livingroom.png new file mode 100644 index 0000000..24c7e77 Binary files /dev/null and b/media/icon_templates/livingroom.png differ diff --git a/media/icon_templates/livingroom_active.png b/media/icon_templates/livingroom_active.png new file mode 100644 index 0000000..cd8408d Binary files /dev/null and b/media/icon_templates/livingroom_active.png differ diff --git a/media/icon_templates/mqtt_off.png b/media/icon_templates/mqtt_off.png new file mode 100644 index 0000000..1d02df1 Binary files /dev/null and b/media/icon_templates/mqtt_off.png differ diff --git a/media/icon_templates/mqtt_on.png b/media/icon_templates/mqtt_on.png new file mode 100644 index 0000000..a64d28d Binary files /dev/null and b/media/icon_templates/mqtt_on.png differ diff --git a/media/icon_templates/night_active.png b/media/icon_templates/night_active.png new file mode 100644 index 0000000..719d847 Binary files /dev/null and b/media/icon_templates/night_active.png differ diff --git a/media/icon_templates/night_inactive.png b/media/icon_templates/night_inactive.png new file mode 100644 index 0000000..0280aa5 Binary files /dev/null and b/media/icon_templates/night_inactive.png differ diff --git a/media/icon_templates/power_active.png b/media/icon_templates/power_active.png new file mode 100644 index 0000000..2377f05 Binary files /dev/null and b/media/icon_templates/power_active.png differ diff --git a/media/icon_templates/power_inactive.png b/media/icon_templates/power_inactive.png new file mode 100644 index 0000000..dd899e5 Binary files /dev/null and b/media/icon_templates/power_inactive.png differ diff --git a/media/icon_templates/temperature_small.png b/media/icon_templates/temperature_small.png new file mode 100644 index 0000000..d782b8c Binary files /dev/null and b/media/icon_templates/temperature_small.png differ diff --git a/media/icon_templates/voc_small.png b/media/icon_templates/voc_small.png new file mode 100644 index 0000000..98cc8e2 Binary files /dev/null and b/media/icon_templates/voc_small.png differ diff --git a/media/icon_templates/wattage_small.png b/media/icon_templates/wattage_small.png new file mode 100644 index 0000000..001e36d Binary files /dev/null and b/media/icon_templates/wattage_small.png differ diff --git a/media/icon_templates/wifi_off.png b/media/icon_templates/wifi_off.png new file mode 100644 index 0000000..5b125f6 Binary files /dev/null and b/media/icon_templates/wifi_off.png differ diff --git a/media/icon_templates/wifi_on.png b/media/icon_templates/wifi_on.png new file mode 100644 index 0000000..87775b9 Binary files /dev/null and b/media/icon_templates/wifi_on.png differ diff --git a/partitions.csv b/partitions.csv index 39f1464..8bea1b4 100644 --- a/partitions.csv +++ b/partitions.csv @@ -3,6 +3,6 @@ nvs, data, nvs, 0x9000, 0x4000, otadata, data, ota, 0xd000, 0x2000, phy_init, data, phy, 0xf000, 0x1000, -ota_0, app, ota_0, 0x10000, 0x150000, -ota_1, app, ota_1, 0x160000, 0x150000, -spiffs, data, spiffs, , 1000K +ota_0, app, ota_0, 0x10000, 0x180000, +ota_1, app, ota_1, 0x190000, 0x180000, +spiffs, data, spiffs, , 520K diff --git a/scripts/M5StackCore2/bootloader.bin b/scripts/M5StackCore2/bootloader.bin new file mode 100644 index 0000000..da6dfbd Binary files /dev/null and b/scripts/M5StackCore2/bootloader.bin differ diff --git a/scripts/M5StackCore2/homepoint.bin b/scripts/M5StackCore2/homepoint.bin new file mode 100644 index 0000000..e685dda Binary files /dev/null and b/scripts/M5StackCore2/homepoint.bin differ diff --git a/scripts/M5StackCore2/ota_data_initial.bin b/scripts/M5StackCore2/ota_data_initial.bin new file mode 100644 index 0000000..b4033a7 --- /dev/null +++ b/scripts/M5StackCore2/ota_data_initial.bin @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/scripts/M5StackCore2/output/homepoint_m5stackcore2_full.bin b/scripts/M5StackCore2/output/homepoint_m5stackcore2_full.bin new file mode 100644 index 0000000..bbd4601 Binary files /dev/null and b/scripts/M5StackCore2/output/homepoint_m5stackcore2_full.bin differ diff --git a/scripts/M5StackCore2/partition-table.bin b/scripts/M5StackCore2/partition-table.bin new file mode 100644 index 0000000..47ea55a Binary files /dev/null and b/scripts/M5StackCore2/partition-table.bin differ diff --git a/scripts/M5StackCore2/spiffs.bin b/scripts/M5StackCore2/spiffs.bin new file mode 100644 index 0000000..b00070e Binary files /dev/null and b/scripts/M5StackCore2/spiffs.bin differ diff --git a/scripts/homepoint.bin b/scripts/homepoint.bin new file mode 100644 index 0000000..0762d99 Binary files /dev/null and b/scripts/homepoint.bin differ diff --git a/scripts/homepoint_release.zip b/scripts/homepoint_release.zip new file mode 100644 index 0000000..4116708 Binary files /dev/null and b/scripts/homepoint_release.zip differ diff --git a/sdkconfig b/sdkconfig index a87a6b0..0bb2811 100644 --- a/sdkconfig +++ b/sdkconfig @@ -540,7 +540,9 @@ CONFIG_MQTT_TRANSPORT_SSL=y CONFIG_MQTT_TRANSPORT_WEBSOCKET=y CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set -# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED=y +# CONFIG_MQTT_USE_CORE_0 is not set +CONFIG_MQTT_USE_CORE_1=y # CONFIG_MQTT_CUSTOM_OUTBOX is not set CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set @@ -611,6 +613,455 @@ CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WPA_MBEDTLS_CRYPTO=y # CONFIG_WPA_WPS_WARS is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT6_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT4_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT3_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT2_SELECTED is not set +# CONFIG_AXP192_GPIO0_CONTROL_LDOIO0_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT1_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT0_SELECTED is not set +CONFIG_AXP192_EXTEN_DCDC2_CONTROL_BIT2=0x00 +CONFIG_AXP192_EXTEN_DCDC2_CONTROL_BIT0=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT6=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT4=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT3=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT2=0x00 +CONFIG_AXP192_GPIO0_CONTROL_BIT20=0x07 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT1=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT0=0x00 +CONFIG_AXP192_LDO23_VOLTAGE_BIT74_1V8=y +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_1V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V3 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V4 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V5 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V6 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V7 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V8 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V3 is not set +CONFIG_AXP192_LDO23_VOLTAGE_BIT74=0x00 +CONFIG_AXP192_LDO23_VOLTAGE_BIT30_1V8=y +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_1V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V3 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V4 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V5 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V6 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V7 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V8 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V3 is not set +CONFIG_AXP192_LDO23_VOLTAGE_BIT30=0x00 +# CONFIG_AXP192_ADC_ENABLE_1_BIT7_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT6_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT5_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT4_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT3_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT2_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT1_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT0_SELECTED is not set +CONFIG_AXP192_ADC_ENABLE_1_BIT7=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT6=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT5=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT4=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT3=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT2=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT1=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT0=0x00 +# CONFIG_AXP192_CHARGE_CONTROL_1_BIT7_SELECTED is not set +CONFIG_AXP192_CHARGE_CONTROL_1_BIT7=0x00 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_CONF_MINIMAL is not set +CONFIG_LV_CONF_SKIP=y +CONFIG_LV_HOR_RES_MAX=320 +CONFIG_LV_VER_RES_MAX=240 +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_COLOR_TRANSP_HEX=0x000000 +CONFIG_LV_ANTIALIAS=y +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DPI=130 +CONFIG_LV_DISP_SMALL_LIMIT=30 +CONFIG_LV_DISP_MEDIUM_LIMIT=50 +CONFIG_LV_DISP_LARGE_LIMIT=70 +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +CONFIG_LV_INDEV_DEF_READ_PERIOD=10 +CONFIG_LV_INDEV_DEF_DRAG_LIMIT=10 +CONFIG_LV_INDEV_DEF_DRAG_THROW=10 +CONFIG_LV_INDEV_DEF_LONG_PRESS_TIME=400 +CONFIG_LV_INDEV_DEF_LONG_PRESS_REP_TIME=100 +CONFIG_LV_INDEV_DEF_GESTURE_LIMIT=50 +CONFIG_LV_INDEV_DEF_GESTURE_MIN_VELOCITY=3 +CONFIG_LV_USE_ANIMATION=y +CONFIG_LV_USE_SHADOW=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_USE_OUTLINE=y +CONFIG_LV_USE_PATTERN=y +CONFIG_LV_USE_VALUE_STR=y +CONFIG_LV_USE_BLEND_MODES=y +CONFIG_LV_USE_OPA_SCALE=y +CONFIG_LV_USE_IMG_TRANSFORM=y +CONFIG_LV_USE_GROUP=y +CONFIG_LV_USE_GPU=y +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +CONFIG_LV_USE_FILESYSTEM=y +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_USE_USER_DATA_FREE is not set +# CONFIG_LV_USE_PERF_MONITOR is not set +CONFIG_LV_USE_API_EXTENSION_V6=y +CONFIG_LV_USE_API_EXTENSION_V7=y +CONFIG_LV_IMG_CF_INDEXED=y +# CONFIG_LV_IMG_CF_ALPHA is not set +CONFIG_LV_IMG_CACHE_DEF_SIZE=1 +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +# CONFIG_LV_TICK_CUSTOM is not set +# CONFIG_LV_USE_LOG is not set +# CONFIG_LV_USE_DEBUG is not set +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MEM=y +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_STR is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_FONT_MONTSERRAT_8=y +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_THEME_EMPTY is not set +# CONFIG_LV_THEME_TEMPLATE is not set +CONFIG_LV_THEME_MATERIAL=y +# CONFIG_LV_THEME_MONO is not set +# CONFIG_LV_THEME_DEFAULT_INIT_EMPTY is not set +# CONFIG_LV_THEME_DEFAULT_INIT_TEMPLATE is not set +CONFIG_LV_THEME_DEFAULT_INIT_MATERIAL=y +# CONFIG_LV_THEME_DEFAULT_INIT_MONO is not set +CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY=0xFF0000 +CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY=0x0000FF +# CONFIG_LV_THEME_DEFAULT_FLAG_LIGHT is not set +CONFIG_LV_THEME_DEFAULT_FLAG_DARK=y +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_DISABLE_FLOAT is not set +CONFIG_LV_USE_OBJ_REALIGN=y +# CONFIG_LV_USE_EXT_CLICK_AREA_OFF is not set +CONFIG_LV_USE_EXT_CLICK_AREA_TINY=y +# CONFIG_LV_USE_EXT_CLICK_AREA_FULL is not set +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_CHART_AXIS_TICK_MAX_LEN=256 +CONFIG_LV_USE_CONT=y +CONFIG_LV_USE_CPICKER=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_DROPDOWN_DEF_ANIM_TIME=200 +CONFIG_LV_USE_GAUGE=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_IMGBTN=y +# CONFIG_LV_IMGBTN_TILED is not set +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_DEF_SCROLL_SPEED=25 +CONFIG_LV_LABEL_WAIT_CHAR_COUNT=3 +# CONFIG_LV_LABEL_TEXT_SEL is not set +# CONFIG_LV_LABEL_LONG_TXT_HINT is not set +CONFIG_LV_USE_LED=y +CONFIG_LV_LED_BRIGHT_MIN=120 +CONFIG_LV_LED_BRIGHT_MAX=255 +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_LIST_DEF_ANIM_TIME=100 +CONFIG_LV_USE_LINEMETER=y +CONFIG_LV_LINEMETER_PRECISE_NO_EXTRA_PRECISION=y +# CONFIG_LV_LINEMETER_PRECISE_SOME_EXTRA_PRECISION is not set +# CONFIG_LV_LINEMETER_PRECISE_BEST_PRECISION is not set +CONFIG_LV_USE_OBJMASK=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_PAGE=y +CONFIG_LV_PAGE_DEF_ANIM_TIME=100 +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_SPINNER_DEF_ARC_LENGTH=60 +CONFIG_LV_SPINNER_DEF_SPIN_TIME=1000 +CONFIG_LV_SPINNER_TYPE_SPINNING_ARC=y +# CONFIG_LV_SPINNER_TYPE_FILLSPIN_ARC is not set +# CONFIG_LV_SPINNER_TYPE_CONSTANT_ARC is not set +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_DEF_ANIM_TIME=200 +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_CURSOR_BLINK_TIME=400 +CONFIG_LV_TEXTAREA_DEF_PWN_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +CONFIG_LV_TABLE_COL_MAX=12 +CONFIG_LV_TABLE_CELL_STYLE_CNT=4 +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_TABVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_TILEVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_WIN=y +CONFIG_LV_TOUCH_CONTROLLER=1 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y +CONFIG_LV_TOUCH_CONTROLLER_SPI_HSPI=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI_VSPI is not set +CONFIG_LV_TOUCH_SPI_MISO=19 +CONFIG_LV_TOUCH_SPI_MOSI=23 +CONFIG_LV_TOUCH_SPI_CLK=18 +CONFIG_LV_TOUCH_SPI_CS=14 +CONFIG_LV_TOUCH_PIN_IRQ=27 +CONFIG_LV_TOUCH_X_MIN=200 +CONFIG_LV_TOUCH_Y_MIN=120 +CONFIG_LV_TOUCH_X_MAX=1900 +CONFIG_LV_TOUCH_Y_MAX=1900 +# CONFIG_LV_TOUCH_XY_SWAP is not set +CONFIG_LV_TOUCH_INVERT_X=y +CONFIG_LV_TOUCH_INVERT_Y=y +# CONFIG_LV_TOUCH_DETECT_IRQ is not set +CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y +# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +# CONFIG_DISPLAY_ORIENTATION_PORTRAIT is not set +# CONFIG_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +CONFIG_DISPLAY_ORIENTATION_LANDSCAPE=y +# CONFIG_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=2 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI_HSPI=y +# CONFIG_LV_TFT_DISPLAY_SPI_VSPI is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_DISPLAY is not set +# CONFIG_LV_INVERT_COLORS is not set +CONFIG_LV_AXP192_PIN_SDA=21 +CONFIG_LV_AXP192_PIN_SCL=22 +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=5 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=4 +CONFIG_LV_DISP_PIN_RST=22 +CONFIG_LV_DISP_PIN_BUSY=35 +CONFIG_LV_ENABLE_BACKLIGHT_CONTROL=y +# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set +CONFIG_LV_DISP_PIN_BCKL=15 +CONFIG_LV_DISP_PIN_SDA=5 +CONFIG_LV_DISP_PIN_SCL=4 # CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set # Deprecated options for backward compatibility diff --git a/sdkconfig.old b/sdkconfig.old new file mode 100644 index 0000000..d9c4133 --- /dev/null +++ b/sdkconfig.old @@ -0,0 +1,897 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) Project Configuration +# +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 + +# +# SDK tool configuration +# +CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT_ENABLED is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +CONFIG_SPIFFS_BASE_ADDR=1572864 +CONFIG_SPIFFS_SIZE=1048576 +CONFIG_SPIFFS_LOG_BLOCK_SIZE=8192 +CONFIG_SPIFFS_LOG_PAGE_SIZE=256 +CONFIG_EXAMPLE_DISPLAY_TYPE=2 +# CONFIG_EXAMPLE_DISPLAY_TYPE0 is not set +# CONFIG_EXAMPLE_DISPLAY_TYPE1 is not set +CONFIG_EXAMPLE_DISPLAY_TYPE2=y +# CONFIG_EXAMPLE_DISPLAY_TYPE3 is not set +# CONFIG_EXAMPLE_USE_WIFI is not set +# CONFIG_ASYNC_TCP_RUN_CORE0 is not set +CONFIG_ASYNC_TCP_RUN_CORE1=y +# CONFIG_ASYNC_TCP_RUN_NO_AFFINITY is not set +CONFIG_ASYNC_TCP_RUNNING_CORE=1 +CONFIG_ASYNC_TCP_USE_WDT=y +CONFIG_ENABLE_ARDUINO_DEPENDS=y +# CONFIG_AUTOSTART_ARDUINO is not set +CONFIG_ARDUINO_RUN_CORE0=y +# CONFIG_ARDUINO_RUN_CORE1 is not set +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_RUNNING_CORE=0 +CONFIG_ARDUINO_EVENT_RUN_CORE0=y +# CONFIG_ARDUINO_EVENT_RUN_CORE1 is not set +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_EVENT_RUNNING_CORE=0 +# CONFIG_ARDUINO_UDP_RUN_CORE0 is not set +CONFIG_ARDUINO_UDP_RUN_CORE1=y +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_UDP_RUNNING_CORE=1 +# CONFIG_DISABLE_HAL_LOCKS is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# CONFIG_ARDUHAL_LOG_COLORS is not set +# CONFIG_ARDUHAL_ESP_LOG is not set +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +CONFIG_ARDUINO_SELECTIVE_COMPILATION=y +CONFIG_ARDUINO_SELECTIVE_ArduinoOTA=y +CONFIG_ARDUINO_SELECTIVE_AsyncUDP=y +# CONFIG_ARDUINO_SELECTIVE_AzureIoT is not set +CONFIG_ARDUINO_SELECTIVE_BLE=y +CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=y +CONFIG_ARDUINO_SELECTIVE_DNSServer=y +CONFIG_ARDUINO_SELECTIVE_EEPROM=y +CONFIG_ARDUINO_SELECTIVE_ESP32=y +CONFIG_ARDUINO_SELECTIVE_ESPmDNS=y +CONFIG_ARDUINO_SELECTIVE_FFat=y +CONFIG_ARDUINO_SELECTIVE_FS=y +CONFIG_ARDUINO_SELECTIVE_HTTPClient=y +CONFIG_ARDUINO_SELECTIVE_NetBIOS=y +CONFIG_ARDUINO_SELECTIVE_Preferences=y +CONFIG_ARDUINO_SELECTIVE_SD=y +CONFIG_ARDUINO_SELECTIVE_SD_MMC=y +CONFIG_ARDUINO_SELECTIVE_SimpleBLE=y +CONFIG_ARDUINO_SELECTIVE_SPI=y +CONFIG_ARDUINO_SELECTIVE_SPIFFS=y +CONFIG_ARDUINO_SELECTIVE_Ticker=y +CONFIG_ARDUINO_SELECTIVE_Update=y +CONFIG_ARDUINO_SELECTIVE_WebServer=y +CONFIG_ARDUINO_SELECTIVE_WiFi=y +CONFIG_ARDUINO_SELECTIVE_WiFiClientSecure=y +CONFIG_ARDUINO_SELECTIVE_Wire=y +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_STACK_CHECK is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +# CONFIG_ESP32_APPTRACE_ENABLE is not set +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BT_ENABLED is not set +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +# CONFIG_BTDM_CTRL_AUTO_LATENCY_EFF is not set +# CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BT_RESERVE_DRAM=0 +# CONFIG_BLE_MESH is not set +# CONFIG_ADC_FORCE_XPD_FSM is not set +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_SPI_MASTER_IN_IRAM is not set +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 +# CONFIG_ESP_TLS_SERVER is not set +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_DPORT_WORKAROUND=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM_TWOBANKS is not set +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_ESP32_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +CONFIG_ESP32_RTC_XTAL_CAL_RETRY=1 +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_26 is not set +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 +# CONFIG_PM_ENABLE is not set +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +# CONFIG_ETH_PHY_INTERFACE_MII is not set +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +CONFIG_ETH_USE_SPI_ETHERNET=y +CONFIG_ETH_SPI_ETHERNET_DM9051=y +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +# CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +# CONFIG_ESP32_ENABLE_COREDUMP is not set +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_LFN_NONE=y +# CONFIG_FATFS_LFN_HEAP is not set +# CONFIG_FATFS_LFN_STACK is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150 +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_FMB_QUEUE_LENGTH=20 +CONFIG_FMB_SERIAL_TASK_STACK_SIZE=2048 +CONFIG_FMB_SERIAL_BUF_SIZE=256 +CONFIG_FMB_SERIAL_TASK_PRIO=10 +# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_FMB_TIMER_PORT_ENABLED=y +CONFIG_FMB_TIMER_GROUP=0 +CONFIG_FMB_TIMER_INDEX=0 +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y +# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set +# CONFIG_FREERTOS_ASSERT_DISABLE is not set +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# CONFIG_FREERTOS_LEGACY_HOOKS is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION is not set +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_DEBUG_INTERNALS is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_TRACING is not set +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_COLORS=y +CONFIG_LWIP_LOCAL_HOSTNAME="homepoint" +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# CONFIG_LWIP_STATS is not set +# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# CONFIG_LWIP_AUTOIP is not set +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 +CONFIG_LWIP_TCP_ISN_HOOK=y +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=6 +CONFIG_LWIP_TCP_MSS=1436 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 +CONFIG_LWIP_TCP_WND_DEFAULT=5744 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=3000 +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +CONFIG_LWIP_MAX_RAW_PCBS=16 +CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 +# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set +# CONFIG_MBEDTLS_DEBUG is not set +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# CONFIG_MBEDTLS_CMAC_C is not set +CONFIG_MBEDTLS_HARDWARE_AES=y +# CONFIG_MBEDTLS_HARDWARE_MPI is not set +# CONFIG_MBEDTLS_HARDWARE_SHA is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set +CONFIG_MBEDTLS_SSL_PROTO_TLS1=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +CONFIG_MBEDTLS_RC4_DISABLED=y +# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set +# CONFIG_MBEDTLS_RC4_ENABLED is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_RIPEMD160_C is not set +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +CONFIG_MBEDTLS_ECP_C=y +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MQTT_PROTOCOL_311=y +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +# CONFIG_OPENSSL_DEBUG is not set +CONFIG_OPENSSL_ASSERT_DO_NOTHING=y +# CONFIG_OPENSSL_ASSERT_EXIT is not set +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +CONFIG_SPIFFS_MAX_PARTITIONS=3 +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +CONFIG_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_TCPIP_LWIP=y +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +CONFIG_WPA_MBEDTLS_CRYPTO=y +# CONFIG_WPA_WPS_WARS is not set +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_CONF_MINIMAL is not set +CONFIG_LV_CONF_SKIP=y +CONFIG_LV_HOR_RES_MAX=480 +CONFIG_LV_VER_RES_MAX=320 +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +# CONFIG_LV_COLOR_16_SWAP is not set +CONFIG_LV_ANTIALIAS=y +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DPI=130 +CONFIG_LV_DISP_SMALL_LIMIT=30 +CONFIG_LV_DISP_MEDIUM_LIMIT=50 +CONFIG_LV_DISP_LARGE_LIMIT=70 +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +CONFIG_LV_INDEV_DEF_DRAG_LIMIT=10 +CONFIG_LV_INDEV_DEF_DRAG_THROW=10 +CONFIG_LV_INDEV_DEF_LONG_PRESS_TIME=400 +CONFIG_LV_INDEV_DEF_LONG_PRESS_REP_TIME=100 +CONFIG_LV_INDEV_DEF_GESTURE_LIMIT=50 +CONFIG_LV_INDEV_DEF_GESTURE_MIN_VELOCITY=3 +CONFIG_LV_USE_ANIMATION=y +CONFIG_LV_USE_SHADOW=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_USE_OUTLINE=y +CONFIG_LV_USE_PATTERN=y +CONFIG_LV_USE_VALUE_STR=y +CONFIG_LV_USE_BLEND_MODES=y +CONFIG_LV_USE_OPA_SCALE=y +CONFIG_LV_USE_IMG_TRANSFORM=y +CONFIG_LV_USE_GROUP=y +CONFIG_LV_USE_GPU=y +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +CONFIG_LV_USE_FILESYSTEM=y +# CONFIG_LV_USE_USER_DATA is not set +# CONFIG_LV_USE_PERF_MONITOR is not set +CONFIG_LV_USE_API_EXTENSION_V6=y +CONFIG_LV_USE_API_EXTENSION_V7=y +CONFIG_LV_IMG_CF_INDEXED=y +CONFIG_LV_IMG_CF_ALPHA=y +CONFIG_LV_IMG_CACHE_DEF_SIZE=1 +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +# CONFIG_LV_TICK_CUSTOM is not set +# CONFIG_LV_USE_LOG is not set +# CONFIG_LV_USE_DEBUG is not set +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MEM=y +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_STR is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_MONTSERRAT_8=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_THEME_EMPTY is not set +# CONFIG_LV_THEME_TEMPLATE is not set +CONFIG_LV_THEME_MATERIAL=y +# CONFIG_LV_THEME_MONO is not set +# CONFIG_LV_THEME_DEFAULT_INIT_EMPTY is not set +# CONFIG_LV_THEME_DEFAULT_INIT_TEMPLATE is not set +CONFIG_LV_THEME_DEFAULT_INIT_MATERIAL=y +# CONFIG_LV_THEME_DEFAULT_INIT_MONO is not set +CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY=0xFF0000 +CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY=0x0000FF +CONFIG_LV_THEME_DEFAULT_FLAG_LIGHT=y +# CONFIG_LV_THEME_DEFAULT_FLAG_DARK is not set +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_DISABLE_FLOAT is not set +CONFIG_LV_USE_OBJ_REALIGN=y +# CONFIG_LV_USE_EXT_CLICK_AREA_OFF is not set +CONFIG_LV_USE_EXT_CLICK_AREA_TINY=y +# CONFIG_LV_USE_EXT_CLICK_AREA_FULL is not set +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_CHART_AXIS_TICK_MAX_LEN=256 +CONFIG_LV_USE_CONT=y +CONFIG_LV_USE_CPICKER=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_DROPDOWN_DEF_ANIM_TIME=200 +CONFIG_LV_USE_GAUGE=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_IMGBTN=y +# CONFIG_LV_IMGBTN_TILED is not set +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_DEF_SCROLL_SPEED=25 +CONFIG_LV_LABEL_WAIT_CHAR_COUNT=3 +# CONFIG_LV_LABEL_TEXT_SEL is not set +# CONFIG_LV_LABEL_LONG_TXT_HINT is not set +CONFIG_LV_USE_LED=y +CONFIG_LV_LED_BRIGHT_MIN=120 +CONFIG_LV_LED_BRIGHT_MAX=255 +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_LIST_DEF_ANIM_TIME=100 +CONFIG_LV_USE_LINEMETER=y +CONFIG_LV_LINEMETER_PRECISE_NO_EXTRA_PRECISION=y +# CONFIG_LV_LINEMETER_PRECISE_SOME_EXTRA_PRECISION is not set +# CONFIG_LV_LINEMETER_PRECISE_BEST_PRECISION is not set +CONFIG_LV_USE_OBJMASK=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_PAGE=y +CONFIG_LV_PAGE_DEF_ANIM_TIME=100 +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_SPINNER_DEF_ARC_LENGTH=60 +CONFIG_LV_SPINNER_DEF_SPIN_TIME=1000 +CONFIG_LV_SPINNER_TYPE_SPINNING_ARC=y +# CONFIG_LV_SPINNER_TYPE_FILLSPIN_ARC is not set +# CONFIG_LV_SPINNER_TYPE_CONSTANT_ARC is not set +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_DEF_ANIM_TIME=200 +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_CURSOR_BLINK_TIME=400 +CONFIG_LV_TEXTAREA_DEF_PWN_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +CONFIG_LV_TABLE_COL_MAX=12 +CONFIG_LV_TABLE_CELL_STYLE_CNT=4 +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_TABVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_TILEVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_WIN=y +# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set diff --git a/sdkconfigs/sdconfig_aztouchmod b/sdkconfigs/sdconfig_aztouchmod new file mode 100644 index 0000000..0bb2811 --- /dev/null +++ b/sdkconfigs/sdconfig_aztouchmod @@ -0,0 +1,1214 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) Project Configuration +# +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 + +# +# SDK tool configuration +# +CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT_ENABLED is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +CONFIG_SPIFFS_BASE_ADDR=1572864 +CONFIG_SPIFFS_SIZE=1048576 +CONFIG_SPIFFS_LOG_BLOCK_SIZE=8192 +CONFIG_SPIFFS_LOG_PAGE_SIZE=256 +CONFIG_EXAMPLE_DISPLAY_TYPE=2 +# CONFIG_EXAMPLE_DISPLAY_TYPE0 is not set +# CONFIG_EXAMPLE_DISPLAY_TYPE1 is not set +CONFIG_EXAMPLE_DISPLAY_TYPE2=y +# CONFIG_EXAMPLE_DISPLAY_TYPE3 is not set +# CONFIG_EXAMPLE_USE_WIFI is not set +# CONFIG_ASYNC_TCP_RUN_CORE0 is not set +CONFIG_ASYNC_TCP_RUN_CORE1=y +# CONFIG_ASYNC_TCP_RUN_NO_AFFINITY is not set +CONFIG_ASYNC_TCP_RUNNING_CORE=1 +CONFIG_ASYNC_TCP_USE_WDT=y +CONFIG_ENABLE_ARDUINO_DEPENDS=y +# CONFIG_AUTOSTART_ARDUINO is not set +CONFIG_ARDUINO_RUN_CORE0=y +# CONFIG_ARDUINO_RUN_CORE1 is not set +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_RUNNING_CORE=0 +CONFIG_ARDUINO_EVENT_RUN_CORE0=y +# CONFIG_ARDUINO_EVENT_RUN_CORE1 is not set +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_EVENT_RUNNING_CORE=0 +# CONFIG_ARDUINO_UDP_RUN_CORE0 is not set +CONFIG_ARDUINO_UDP_RUN_CORE1=y +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_UDP_RUNNING_CORE=1 +# CONFIG_DISABLE_HAL_LOCKS is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# CONFIG_ARDUHAL_LOG_COLORS is not set +# CONFIG_ARDUHAL_ESP_LOG is not set +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +CONFIG_ARDUINO_SELECTIVE_COMPILATION=y +CONFIG_ARDUINO_SELECTIVE_ArduinoOTA=y +CONFIG_ARDUINO_SELECTIVE_AsyncUDP=y +# CONFIG_ARDUINO_SELECTIVE_AzureIoT is not set +CONFIG_ARDUINO_SELECTIVE_BLE=y +CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=y +CONFIG_ARDUINO_SELECTIVE_DNSServer=y +CONFIG_ARDUINO_SELECTIVE_EEPROM=y +CONFIG_ARDUINO_SELECTIVE_ESP32=y +CONFIG_ARDUINO_SELECTIVE_ESPmDNS=y +CONFIG_ARDUINO_SELECTIVE_FFat=y +CONFIG_ARDUINO_SELECTIVE_FS=y +CONFIG_ARDUINO_SELECTIVE_HTTPClient=y +CONFIG_ARDUINO_SELECTIVE_NetBIOS=y +CONFIG_ARDUINO_SELECTIVE_Preferences=y +CONFIG_ARDUINO_SELECTIVE_SD=y +CONFIG_ARDUINO_SELECTIVE_SD_MMC=y +CONFIG_ARDUINO_SELECTIVE_SimpleBLE=y +CONFIG_ARDUINO_SELECTIVE_SPI=y +CONFIG_ARDUINO_SELECTIVE_SPIFFS=y +CONFIG_ARDUINO_SELECTIVE_Ticker=y +CONFIG_ARDUINO_SELECTIVE_Update=y +CONFIG_ARDUINO_SELECTIVE_WebServer=y +CONFIG_ARDUINO_SELECTIVE_WiFi=y +CONFIG_ARDUINO_SELECTIVE_WiFiClientSecure=y +CONFIG_ARDUINO_SELECTIVE_Wire=y +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_STACK_CHECK is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +# CONFIG_ESP32_APPTRACE_ENABLE is not set +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BT_ENABLED is not set +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +# CONFIG_BTDM_CTRL_AUTO_LATENCY_EFF is not set +# CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BT_RESERVE_DRAM=0 +# CONFIG_BLE_MESH is not set +# CONFIG_ADC_FORCE_XPD_FSM is not set +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_SPI_MASTER_IN_IRAM is not set +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 +# CONFIG_ESP_TLS_SERVER is not set +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_DPORT_WORKAROUND=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM_TWOBANKS is not set +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_ESP32_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +CONFIG_ESP32_RTC_XTAL_CAL_RETRY=1 +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_26 is not set +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 +# CONFIG_PM_ENABLE is not set +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +# CONFIG_ETH_PHY_INTERFACE_MII is not set +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +CONFIG_ETH_USE_SPI_ETHERNET=y +CONFIG_ETH_SPI_ETHERNET_DM9051=y +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +# CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +# CONFIG_ESP32_ENABLE_COREDUMP is not set +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_LFN_NONE=y +# CONFIG_FATFS_LFN_HEAP is not set +# CONFIG_FATFS_LFN_STACK is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150 +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_FMB_QUEUE_LENGTH=20 +CONFIG_FMB_SERIAL_TASK_STACK_SIZE=2048 +CONFIG_FMB_SERIAL_BUF_SIZE=256 +CONFIG_FMB_SERIAL_TASK_PRIO=10 +# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_FMB_TIMER_PORT_ENABLED=y +CONFIG_FMB_TIMER_GROUP=0 +CONFIG_FMB_TIMER_INDEX=0 +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y +# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set +# CONFIG_FREERTOS_ASSERT_DISABLE is not set +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# CONFIG_FREERTOS_LEGACY_HOOKS is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION is not set +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_DEBUG_INTERNALS is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_TRACING is not set +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_COLORS=y +CONFIG_LWIP_LOCAL_HOSTNAME="homepoint" +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# CONFIG_LWIP_STATS is not set +# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# CONFIG_LWIP_AUTOIP is not set +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 +CONFIG_LWIP_TCP_ISN_HOOK=y +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=6 +CONFIG_LWIP_TCP_MSS=1436 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 +CONFIG_LWIP_TCP_WND_DEFAULT=5744 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=3000 +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +CONFIG_LWIP_MAX_RAW_PCBS=16 +CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 +# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set +# CONFIG_MBEDTLS_DEBUG is not set +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# CONFIG_MBEDTLS_CMAC_C is not set +CONFIG_MBEDTLS_HARDWARE_AES=y +# CONFIG_MBEDTLS_HARDWARE_MPI is not set +# CONFIG_MBEDTLS_HARDWARE_SHA is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set +CONFIG_MBEDTLS_SSL_PROTO_TLS1=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +CONFIG_MBEDTLS_RC4_DISABLED=y +# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set +# CONFIG_MBEDTLS_RC4_ENABLED is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_RIPEMD160_C is not set +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +CONFIG_MBEDTLS_ECP_C=y +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MQTT_PROTOCOL_311=y +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED=y +# CONFIG_MQTT_USE_CORE_0 is not set +CONFIG_MQTT_USE_CORE_1=y +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +# CONFIG_OPENSSL_DEBUG is not set +CONFIG_OPENSSL_ASSERT_DO_NOTHING=y +# CONFIG_OPENSSL_ASSERT_EXIT is not set +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +CONFIG_SPIFFS_MAX_PARTITIONS=3 +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +CONFIG_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_TCPIP_LWIP=y +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +CONFIG_WPA_MBEDTLS_CRYPTO=y +# CONFIG_WPA_WPS_WARS is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT6_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT4_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT3_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT2_SELECTED is not set +# CONFIG_AXP192_GPIO0_CONTROL_LDOIO0_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT1_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT0_SELECTED is not set +CONFIG_AXP192_EXTEN_DCDC2_CONTROL_BIT2=0x00 +CONFIG_AXP192_EXTEN_DCDC2_CONTROL_BIT0=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT6=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT4=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT3=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT2=0x00 +CONFIG_AXP192_GPIO0_CONTROL_BIT20=0x07 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT1=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT0=0x00 +CONFIG_AXP192_LDO23_VOLTAGE_BIT74_1V8=y +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_1V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V3 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V4 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V5 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V6 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V7 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V8 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V3 is not set +CONFIG_AXP192_LDO23_VOLTAGE_BIT74=0x00 +CONFIG_AXP192_LDO23_VOLTAGE_BIT30_1V8=y +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_1V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V3 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V4 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V5 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V6 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V7 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V8 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V3 is not set +CONFIG_AXP192_LDO23_VOLTAGE_BIT30=0x00 +# CONFIG_AXP192_ADC_ENABLE_1_BIT7_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT6_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT5_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT4_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT3_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT2_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT1_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT0_SELECTED is not set +CONFIG_AXP192_ADC_ENABLE_1_BIT7=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT6=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT5=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT4=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT3=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT2=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT1=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT0=0x00 +# CONFIG_AXP192_CHARGE_CONTROL_1_BIT7_SELECTED is not set +CONFIG_AXP192_CHARGE_CONTROL_1_BIT7=0x00 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_CONF_MINIMAL is not set +CONFIG_LV_CONF_SKIP=y +CONFIG_LV_HOR_RES_MAX=320 +CONFIG_LV_VER_RES_MAX=240 +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_COLOR_TRANSP_HEX=0x000000 +CONFIG_LV_ANTIALIAS=y +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DPI=130 +CONFIG_LV_DISP_SMALL_LIMIT=30 +CONFIG_LV_DISP_MEDIUM_LIMIT=50 +CONFIG_LV_DISP_LARGE_LIMIT=70 +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +CONFIG_LV_INDEV_DEF_READ_PERIOD=10 +CONFIG_LV_INDEV_DEF_DRAG_LIMIT=10 +CONFIG_LV_INDEV_DEF_DRAG_THROW=10 +CONFIG_LV_INDEV_DEF_LONG_PRESS_TIME=400 +CONFIG_LV_INDEV_DEF_LONG_PRESS_REP_TIME=100 +CONFIG_LV_INDEV_DEF_GESTURE_LIMIT=50 +CONFIG_LV_INDEV_DEF_GESTURE_MIN_VELOCITY=3 +CONFIG_LV_USE_ANIMATION=y +CONFIG_LV_USE_SHADOW=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_USE_OUTLINE=y +CONFIG_LV_USE_PATTERN=y +CONFIG_LV_USE_VALUE_STR=y +CONFIG_LV_USE_BLEND_MODES=y +CONFIG_LV_USE_OPA_SCALE=y +CONFIG_LV_USE_IMG_TRANSFORM=y +CONFIG_LV_USE_GROUP=y +CONFIG_LV_USE_GPU=y +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +CONFIG_LV_USE_FILESYSTEM=y +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_USE_USER_DATA_FREE is not set +# CONFIG_LV_USE_PERF_MONITOR is not set +CONFIG_LV_USE_API_EXTENSION_V6=y +CONFIG_LV_USE_API_EXTENSION_V7=y +CONFIG_LV_IMG_CF_INDEXED=y +# CONFIG_LV_IMG_CF_ALPHA is not set +CONFIG_LV_IMG_CACHE_DEF_SIZE=1 +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +# CONFIG_LV_TICK_CUSTOM is not set +# CONFIG_LV_USE_LOG is not set +# CONFIG_LV_USE_DEBUG is not set +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MEM=y +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_STR is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_FONT_MONTSERRAT_8=y +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_THEME_EMPTY is not set +# CONFIG_LV_THEME_TEMPLATE is not set +CONFIG_LV_THEME_MATERIAL=y +# CONFIG_LV_THEME_MONO is not set +# CONFIG_LV_THEME_DEFAULT_INIT_EMPTY is not set +# CONFIG_LV_THEME_DEFAULT_INIT_TEMPLATE is not set +CONFIG_LV_THEME_DEFAULT_INIT_MATERIAL=y +# CONFIG_LV_THEME_DEFAULT_INIT_MONO is not set +CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY=0xFF0000 +CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY=0x0000FF +# CONFIG_LV_THEME_DEFAULT_FLAG_LIGHT is not set +CONFIG_LV_THEME_DEFAULT_FLAG_DARK=y +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_DISABLE_FLOAT is not set +CONFIG_LV_USE_OBJ_REALIGN=y +# CONFIG_LV_USE_EXT_CLICK_AREA_OFF is not set +CONFIG_LV_USE_EXT_CLICK_AREA_TINY=y +# CONFIG_LV_USE_EXT_CLICK_AREA_FULL is not set +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_CHART_AXIS_TICK_MAX_LEN=256 +CONFIG_LV_USE_CONT=y +CONFIG_LV_USE_CPICKER=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_DROPDOWN_DEF_ANIM_TIME=200 +CONFIG_LV_USE_GAUGE=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_IMGBTN=y +# CONFIG_LV_IMGBTN_TILED is not set +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_DEF_SCROLL_SPEED=25 +CONFIG_LV_LABEL_WAIT_CHAR_COUNT=3 +# CONFIG_LV_LABEL_TEXT_SEL is not set +# CONFIG_LV_LABEL_LONG_TXT_HINT is not set +CONFIG_LV_USE_LED=y +CONFIG_LV_LED_BRIGHT_MIN=120 +CONFIG_LV_LED_BRIGHT_MAX=255 +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_LIST_DEF_ANIM_TIME=100 +CONFIG_LV_USE_LINEMETER=y +CONFIG_LV_LINEMETER_PRECISE_NO_EXTRA_PRECISION=y +# CONFIG_LV_LINEMETER_PRECISE_SOME_EXTRA_PRECISION is not set +# CONFIG_LV_LINEMETER_PRECISE_BEST_PRECISION is not set +CONFIG_LV_USE_OBJMASK=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_PAGE=y +CONFIG_LV_PAGE_DEF_ANIM_TIME=100 +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_SPINNER_DEF_ARC_LENGTH=60 +CONFIG_LV_SPINNER_DEF_SPIN_TIME=1000 +CONFIG_LV_SPINNER_TYPE_SPINNING_ARC=y +# CONFIG_LV_SPINNER_TYPE_FILLSPIN_ARC is not set +# CONFIG_LV_SPINNER_TYPE_CONSTANT_ARC is not set +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_DEF_ANIM_TIME=200 +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_CURSOR_BLINK_TIME=400 +CONFIG_LV_TEXTAREA_DEF_PWN_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +CONFIG_LV_TABLE_COL_MAX=12 +CONFIG_LV_TABLE_CELL_STYLE_CNT=4 +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_TABVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_TILEVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_WIN=y +CONFIG_LV_TOUCH_CONTROLLER=1 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y +CONFIG_LV_TOUCH_CONTROLLER_SPI_HSPI=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI_VSPI is not set +CONFIG_LV_TOUCH_SPI_MISO=19 +CONFIG_LV_TOUCH_SPI_MOSI=23 +CONFIG_LV_TOUCH_SPI_CLK=18 +CONFIG_LV_TOUCH_SPI_CS=14 +CONFIG_LV_TOUCH_PIN_IRQ=27 +CONFIG_LV_TOUCH_X_MIN=200 +CONFIG_LV_TOUCH_Y_MIN=120 +CONFIG_LV_TOUCH_X_MAX=1900 +CONFIG_LV_TOUCH_Y_MAX=1900 +# CONFIG_LV_TOUCH_XY_SWAP is not set +CONFIG_LV_TOUCH_INVERT_X=y +CONFIG_LV_TOUCH_INVERT_Y=y +# CONFIG_LV_TOUCH_DETECT_IRQ is not set +CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y +# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +# CONFIG_DISPLAY_ORIENTATION_PORTRAIT is not set +# CONFIG_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +CONFIG_DISPLAY_ORIENTATION_LANDSCAPE=y +# CONFIG_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=2 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI_HSPI=y +# CONFIG_LV_TFT_DISPLAY_SPI_VSPI is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_DISPLAY is not set +# CONFIG_LV_INVERT_COLORS is not set +CONFIG_LV_AXP192_PIN_SDA=21 +CONFIG_LV_AXP192_PIN_SCL=22 +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=5 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=4 +CONFIG_LV_DISP_PIN_RST=22 +CONFIG_LV_DISP_PIN_BUSY=35 +CONFIG_LV_ENABLE_BACKLIGHT_CONTROL=y +# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set +CONFIG_LV_DISP_PIN_BCKL=15 +CONFIG_LV_DISP_PIN_SDA=5 +CONFIG_LV_DISP_PIN_SCL=4 +# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set + +# Deprecated options for backward compatibility +CONFIG_TOOLPREFIX="xtensa-esp32-elf-" +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +# CONFIG_MONITOR_BAUD_9600B is not set +# CONFIG_MONITOR_BAUD_57600B is not set +CONFIG_MONITOR_BAUD_115200B=y +# CONFIG_MONITOR_BAUD_230400B is not set +# CONFIG_MONITOR_BAUD_921600B is not set +# CONFIG_MONITOR_BAUD_2MB is not set +# CONFIG_MONITOR_BAUD_OTHER is not set +CONFIG_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_CXX_EXCEPTIONS=y +CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_STACK_CHECK is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_DISABLE_GCC8_WARNINGS is not set +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_MEMMAP_TRACEMEM is not set +# CONFIG_MEMMAP_TRACEMEM_TWOBANKS is not set +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ULP_COPROC_ENABLED is not set +CONFIG_ULP_COPROC_RESERVE_MEM=0 +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_BROWNOUT_DET_LVL=0 +CONFIG_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +# CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_MB_TIMER_PORT_ENABLED=y +CONFIG_MB_TIMER_GROUP=0 +CONFIG_MB_TIMER_INDEX=0 +# CONFIG_SUPPORT_STATIC_ALLOCATION is not set +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_L2_TO_L3_COPY is not set +# CONFIG_USE_ONLY_LWIP_SELECT is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=6 +CONFIG_TCP_MSS=1436 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5744 +CONFIG_TCP_WND_DEFAULT=5744 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_IP_LOST_TIMER_INTERVAL=120 +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +# End of deprecated options diff --git a/sdkconfigs/sdkconfig_m5core2 b/sdkconfigs/sdkconfig_m5core2 new file mode 100644 index 0000000..efbdd31 --- /dev/null +++ b/sdkconfigs/sdkconfig_m5core2 @@ -0,0 +1,1202 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) Project Configuration +# +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 + +# +# SDK tool configuration +# +CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT_ENABLED is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +CONFIG_SPIFFS_BASE_ADDR=1572864 +CONFIG_SPIFFS_SIZE=1048576 +CONFIG_SPIFFS_LOG_BLOCK_SIZE=8192 +CONFIG_SPIFFS_LOG_PAGE_SIZE=256 +CONFIG_EXAMPLE_DISPLAY_TYPE=2 +# CONFIG_EXAMPLE_DISPLAY_TYPE0 is not set +# CONFIG_EXAMPLE_DISPLAY_TYPE1 is not set +CONFIG_EXAMPLE_DISPLAY_TYPE2=y +# CONFIG_EXAMPLE_DISPLAY_TYPE3 is not set +# CONFIG_EXAMPLE_USE_WIFI is not set +# CONFIG_ASYNC_TCP_RUN_CORE0 is not set +CONFIG_ASYNC_TCP_RUN_CORE1=y +# CONFIG_ASYNC_TCP_RUN_NO_AFFINITY is not set +CONFIG_ASYNC_TCP_RUNNING_CORE=1 +CONFIG_ASYNC_TCP_USE_WDT=y +CONFIG_ENABLE_ARDUINO_DEPENDS=y +# CONFIG_AUTOSTART_ARDUINO is not set +CONFIG_ARDUINO_RUN_CORE0=y +# CONFIG_ARDUINO_RUN_CORE1 is not set +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_RUNNING_CORE=0 +CONFIG_ARDUINO_EVENT_RUN_CORE0=y +# CONFIG_ARDUINO_EVENT_RUN_CORE1 is not set +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_EVENT_RUNNING_CORE=0 +# CONFIG_ARDUINO_UDP_RUN_CORE0 is not set +CONFIG_ARDUINO_UDP_RUN_CORE1=y +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_UDP_RUNNING_CORE=1 +# CONFIG_DISABLE_HAL_LOCKS is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# CONFIG_ARDUHAL_LOG_COLORS is not set +# CONFIG_ARDUHAL_ESP_LOG is not set +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +CONFIG_ARDUINO_SELECTIVE_COMPILATION=y +CONFIG_ARDUINO_SELECTIVE_ArduinoOTA=y +CONFIG_ARDUINO_SELECTIVE_AsyncUDP=y +# CONFIG_ARDUINO_SELECTIVE_AzureIoT is not set +CONFIG_ARDUINO_SELECTIVE_BLE=y +CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=y +CONFIG_ARDUINO_SELECTIVE_DNSServer=y +CONFIG_ARDUINO_SELECTIVE_EEPROM=y +CONFIG_ARDUINO_SELECTIVE_ESP32=y +CONFIG_ARDUINO_SELECTIVE_ESPmDNS=y +CONFIG_ARDUINO_SELECTIVE_FFat=y +CONFIG_ARDUINO_SELECTIVE_FS=y +CONFIG_ARDUINO_SELECTIVE_HTTPClient=y +CONFIG_ARDUINO_SELECTIVE_NetBIOS=y +CONFIG_ARDUINO_SELECTIVE_Preferences=y +CONFIG_ARDUINO_SELECTIVE_SD=y +CONFIG_ARDUINO_SELECTIVE_SD_MMC=y +CONFIG_ARDUINO_SELECTIVE_SimpleBLE=y +CONFIG_ARDUINO_SELECTIVE_SPI=y +CONFIG_ARDUINO_SELECTIVE_SPIFFS=y +CONFIG_ARDUINO_SELECTIVE_Ticker=y +CONFIG_ARDUINO_SELECTIVE_Update=y +CONFIG_ARDUINO_SELECTIVE_WebServer=y +CONFIG_ARDUINO_SELECTIVE_WiFi=y +CONFIG_ARDUINO_SELECTIVE_WiFiClientSecure=y +CONFIG_ARDUINO_SELECTIVE_Wire=y +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_STACK_CHECK is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +# CONFIG_ESP32_APPTRACE_ENABLE is not set +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BT_ENABLED is not set +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +# CONFIG_BTDM_CTRL_AUTO_LATENCY_EFF is not set +# CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BT_RESERVE_DRAM=0 +# CONFIG_BLE_MESH is not set +# CONFIG_ADC_FORCE_XPD_FSM is not set +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_SPI_MASTER_IN_IRAM is not set +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 +# CONFIG_ESP_TLS_SERVER is not set +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_DPORT_WORKAROUND=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM_TWOBANKS is not set +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_ESP32_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +CONFIG_ESP32_RTC_XTAL_CAL_RETRY=1 +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_26 is not set +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 +# CONFIG_PM_ENABLE is not set +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +# CONFIG_ETH_PHY_INTERFACE_MII is not set +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +CONFIG_ETH_USE_SPI_ETHERNET=y +CONFIG_ETH_SPI_ETHERNET_DM9051=y +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +# CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +# CONFIG_ESP32_ENABLE_COREDUMP is not set +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_LFN_NONE=y +# CONFIG_FATFS_LFN_HEAP is not set +# CONFIG_FATFS_LFN_STACK is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150 +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_FMB_QUEUE_LENGTH=20 +CONFIG_FMB_SERIAL_TASK_STACK_SIZE=2048 +CONFIG_FMB_SERIAL_BUF_SIZE=256 +CONFIG_FMB_SERIAL_TASK_PRIO=10 +# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_FMB_TIMER_PORT_ENABLED=y +CONFIG_FMB_TIMER_GROUP=0 +CONFIG_FMB_TIMER_INDEX=0 +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y +# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set +# CONFIG_FREERTOS_ASSERT_DISABLE is not set +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# CONFIG_FREERTOS_LEGACY_HOOKS is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION is not set +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_DEBUG_INTERNALS is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_TRACING is not set +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_COLORS=y +CONFIG_LWIP_LOCAL_HOSTNAME="homepoint" +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# CONFIG_LWIP_STATS is not set +# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# CONFIG_LWIP_AUTOIP is not set +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 +CONFIG_LWIP_TCP_ISN_HOOK=y +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=6 +CONFIG_LWIP_TCP_MSS=1436 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 +CONFIG_LWIP_TCP_WND_DEFAULT=5744 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=3000 +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +CONFIG_LWIP_MAX_RAW_PCBS=16 +CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 +# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set +# CONFIG_MBEDTLS_DEBUG is not set +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# CONFIG_MBEDTLS_CMAC_C is not set +CONFIG_MBEDTLS_HARDWARE_AES=y +# CONFIG_MBEDTLS_HARDWARE_MPI is not set +# CONFIG_MBEDTLS_HARDWARE_SHA is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set +CONFIG_MBEDTLS_SSL_PROTO_TLS1=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +CONFIG_MBEDTLS_RC4_DISABLED=y +# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set +# CONFIG_MBEDTLS_RC4_ENABLED is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_RIPEMD160_C is not set +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +CONFIG_MBEDTLS_ECP_C=y +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MQTT_PROTOCOL_311=y +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED=y +# CONFIG_MQTT_USE_CORE_0 is not set +CONFIG_MQTT_USE_CORE_1=y +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +# CONFIG_OPENSSL_DEBUG is not set +CONFIG_OPENSSL_ASSERT_DO_NOTHING=y +# CONFIG_OPENSSL_ASSERT_EXIT is not set +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +CONFIG_SPIFFS_MAX_PARTITIONS=3 +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +CONFIG_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_TCPIP_LWIP=y +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +CONFIG_WPA_MBEDTLS_CRYPTO=y +# CONFIG_WPA_WPS_WARS is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT6_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT4_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT3_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT2_SELECTED is not set +# CONFIG_AXP192_GPIO0_CONTROL_LDOIO0_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT1_SELECTED is not set +# CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT0_SELECTED is not set +CONFIG_AXP192_EXTEN_DCDC2_CONTROL_BIT2=0x00 +CONFIG_AXP192_EXTEN_DCDC2_CONTROL_BIT0=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT6=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT4=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT3=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT2=0x00 +CONFIG_AXP192_GPIO0_CONTROL_BIT20=0x07 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT1=0x00 +CONFIG_AXP192_DCDC13_LDO23_CONTROL_BIT0=0x00 +CONFIG_AXP192_LDO23_VOLTAGE_BIT74_1V8=y +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_1V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V3 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V4 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V5 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V6 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V7 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V8 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_2V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT74_3V3 is not set +CONFIG_AXP192_LDO23_VOLTAGE_BIT74=0x00 +CONFIG_AXP192_LDO23_VOLTAGE_BIT30_1V8=y +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_1V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V3 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V4 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V5 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V6 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V7 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V8 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_2V9 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V0 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V1 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V2 is not set +# CONFIG_AXP192_LDO23_VOLTAGE_BIT30_3V3 is not set +CONFIG_AXP192_LDO23_VOLTAGE_BIT30=0x00 +# CONFIG_AXP192_ADC_ENABLE_1_BIT7_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT6_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT5_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT4_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT3_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT2_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT1_SELECTED is not set +# CONFIG_AXP192_ADC_ENABLE_1_BIT0_SELECTED is not set +CONFIG_AXP192_ADC_ENABLE_1_BIT7=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT6=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT5=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT4=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT3=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT2=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT1=0x00 +CONFIG_AXP192_ADC_ENABLE_1_BIT0=0x00 +# CONFIG_AXP192_CHARGE_CONTROL_1_BIT7_SELECTED is not set +CONFIG_AXP192_CHARGE_CONTROL_1_BIT7=0x00 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_CONF_MINIMAL is not set +CONFIG_LV_CONF_SKIP=y +CONFIG_LV_HOR_RES_MAX=320 +CONFIG_LV_VER_RES_MAX=240 +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_COLOR_TRANSP_HEX=0x000000 +CONFIG_LV_ANTIALIAS=y +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DPI=130 +CONFIG_LV_DISP_SMALL_LIMIT=30 +CONFIG_LV_DISP_MEDIUM_LIMIT=50 +CONFIG_LV_DISP_LARGE_LIMIT=70 +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +CONFIG_LV_INDEV_DEF_READ_PERIOD=10 +CONFIG_LV_INDEV_DEF_DRAG_LIMIT=10 +CONFIG_LV_INDEV_DEF_DRAG_THROW=10 +CONFIG_LV_INDEV_DEF_LONG_PRESS_TIME=400 +CONFIG_LV_INDEV_DEF_LONG_PRESS_REP_TIME=100 +CONFIG_LV_INDEV_DEF_GESTURE_LIMIT=50 +CONFIG_LV_INDEV_DEF_GESTURE_MIN_VELOCITY=3 +CONFIG_LV_USE_ANIMATION=y +CONFIG_LV_USE_SHADOW=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_USE_OUTLINE=y +CONFIG_LV_USE_PATTERN=y +CONFIG_LV_USE_VALUE_STR=y +CONFIG_LV_USE_BLEND_MODES=y +CONFIG_LV_USE_OPA_SCALE=y +CONFIG_LV_USE_IMG_TRANSFORM=y +CONFIG_LV_USE_GROUP=y +CONFIG_LV_USE_GPU=y +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +CONFIG_LV_USE_FILESYSTEM=y +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_USE_USER_DATA_FREE is not set +# CONFIG_LV_USE_PERF_MONITOR is not set +CONFIG_LV_USE_API_EXTENSION_V6=y +CONFIG_LV_USE_API_EXTENSION_V7=y +CONFIG_LV_IMG_CF_INDEXED=y +# CONFIG_LV_IMG_CF_ALPHA is not set +CONFIG_LV_IMG_CACHE_DEF_SIZE=1 +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +# CONFIG_LV_TICK_CUSTOM is not set +# CONFIG_LV_USE_LOG is not set +# CONFIG_LV_USE_DEBUG is not set +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MEM=y +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_STR is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_FONT_MONTSERRAT_8=y +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SMALL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_NORMAL_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SUBTITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_12 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_14 is not set +CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_16=y +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_16 is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT12SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT28COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_TITLE_SIMSUN_16_CJK is not set +# CONFIG_LV_THEME_EMPTY is not set +# CONFIG_LV_THEME_TEMPLATE is not set +CONFIG_LV_THEME_MATERIAL=y +# CONFIG_LV_THEME_MONO is not set +# CONFIG_LV_THEME_DEFAULT_INIT_EMPTY is not set +# CONFIG_LV_THEME_DEFAULT_INIT_TEMPLATE is not set +CONFIG_LV_THEME_DEFAULT_INIT_MATERIAL=y +# CONFIG_LV_THEME_DEFAULT_INIT_MONO is not set +CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY=0xFF0000 +CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY=0x0000FF +# CONFIG_LV_THEME_DEFAULT_FLAG_LIGHT is not set +CONFIG_LV_THEME_DEFAULT_FLAG_DARK=y +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_DISABLE_FLOAT is not set +CONFIG_LV_USE_OBJ_REALIGN=y +# CONFIG_LV_USE_EXT_CLICK_AREA_OFF is not set +CONFIG_LV_USE_EXT_CLICK_AREA_TINY=y +# CONFIG_LV_USE_EXT_CLICK_AREA_FULL is not set +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_CHART_AXIS_TICK_MAX_LEN=256 +CONFIG_LV_USE_CONT=y +CONFIG_LV_USE_CPICKER=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_DROPDOWN_DEF_ANIM_TIME=200 +CONFIG_LV_USE_GAUGE=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_IMGBTN=y +# CONFIG_LV_IMGBTN_TILED is not set +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_DEF_SCROLL_SPEED=25 +CONFIG_LV_LABEL_WAIT_CHAR_COUNT=3 +# CONFIG_LV_LABEL_TEXT_SEL is not set +# CONFIG_LV_LABEL_LONG_TXT_HINT is not set +CONFIG_LV_USE_LED=y +CONFIG_LV_LED_BRIGHT_MIN=120 +CONFIG_LV_LED_BRIGHT_MAX=255 +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_LIST_DEF_ANIM_TIME=100 +CONFIG_LV_USE_LINEMETER=y +CONFIG_LV_LINEMETER_PRECISE_NO_EXTRA_PRECISION=y +# CONFIG_LV_LINEMETER_PRECISE_SOME_EXTRA_PRECISION is not set +# CONFIG_LV_LINEMETER_PRECISE_BEST_PRECISION is not set +CONFIG_LV_USE_OBJMASK=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_PAGE=y +CONFIG_LV_PAGE_DEF_ANIM_TIME=100 +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_SPINNER_DEF_ARC_LENGTH=60 +CONFIG_LV_SPINNER_DEF_SPIN_TIME=1000 +CONFIG_LV_SPINNER_TYPE_SPINNING_ARC=y +# CONFIG_LV_SPINNER_TYPE_FILLSPIN_ARC is not set +# CONFIG_LV_SPINNER_TYPE_CONSTANT_ARC is not set +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_DEF_ANIM_TIME=200 +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_CURSOR_BLINK_TIME=400 +CONFIG_LV_TEXTAREA_DEF_PWN_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +CONFIG_LV_TABLE_COL_MAX=12 +CONFIG_LV_TABLE_CELL_STYLE_CNT=4 +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_TABVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_TILEVIEW_DEF_ANIM_TIME=300 +CONFIG_LV_USE_WIN=y +CONFIG_LV_TOUCH_CONTROLLER=2 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +CONFIG_LV_TOUCH_CONTROLLER_FT6X06=y +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +CONFIG_LV_TOUCH_DRIVER_PROTOCOL_I2C=y +CONFIG_LV_TOUCH_I2C_PORT_0=y +# CONFIG_LV_TOUCH_I2C_PORT_1 is not set +CONFIG_LV_TOUCH_I2C_SDA=21 +CONFIG_LV_TOUCH_I2C_SCL=22 +# CONFIG_LV_FT6X36_SWAPXY is not set +# CONFIG_LV_FT6X36_INVERT_X is not set +# CONFIG_LV_FT6X36_INVERT_Y is not set +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI_HSPI=y +# CONFIG_LV_TFT_DISPLAY_SPI_VSPI is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_DISPLAY is not set +CONFIG_LV_INVERT_COLORS=y +CONFIG_LV_AXP192_PIN_SDA=21 +CONFIG_LV_AXP192_PIN_SCL=22 +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=38 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=5 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=15 +CONFIG_LV_DISP_PIN_RST=4 +CONFIG_LV_DISP_PIN_BUSY=35 +# CONFIG_LV_ENABLE_BACKLIGHT_CONTROL is not set +CONFIG_LV_DISP_PIN_SDA=5 +CONFIG_LV_DISP_PIN_SCL=4 +# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set + +# Deprecated options for backward compatibility +CONFIG_TOOLPREFIX="xtensa-esp32-elf-" +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +# CONFIG_MONITOR_BAUD_9600B is not set +# CONFIG_MONITOR_BAUD_57600B is not set +CONFIG_MONITOR_BAUD_115200B=y +# CONFIG_MONITOR_BAUD_230400B is not set +# CONFIG_MONITOR_BAUD_921600B is not set +# CONFIG_MONITOR_BAUD_2MB is not set +# CONFIG_MONITOR_BAUD_OTHER is not set +CONFIG_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_CXX_EXCEPTIONS=y +CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_STACK_CHECK is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_DISABLE_GCC8_WARNINGS is not set +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_MEMMAP_TRACEMEM is not set +# CONFIG_MEMMAP_TRACEMEM_TWOBANKS is not set +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ULP_COPROC_ENABLED is not set +CONFIG_ULP_COPROC_RESERVE_MEM=0 +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_BROWNOUT_DET_LVL=0 +CONFIG_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +# CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_MB_TIMER_PORT_ENABLED=y +CONFIG_MB_TIMER_GROUP=0 +CONFIG_MB_TIMER_INDEX=0 +# CONFIG_SUPPORT_STATIC_ALLOCATION is not set +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_L2_TO_L3_COPY is not set +# CONFIG_USE_ONLY_LWIP_SELECT is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=6 +CONFIG_TCP_MSS=1436 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5744 +CONFIG_TCP_WND_DEFAULT=5744 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_IP_LOST_TIMER_INTERVAL=120 +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +# End of deprecated options