From 4adce7f9a4c1e1ff5cb5106d21483de5fc22c875 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Mon, 7 Apr 2025 11:24:36 -1000 Subject: [PATCH] Add partial update demo (ESP IDF) Signed-off-by: Jonas Schnelli --- .../esp_idf/partial_update/CMakeLists.txt | 8 + .../partial_update/main/CMakeLists.txt | 2 + examples/esp_idf/partial_update/main/font80.h | 611 ++++++++++++++++++ .../partial_update/main/partial_update.cpp | 100 +++ .../esp_idf/partial_update/sdkconfig.defaults | 43 ++ 5 files changed, 764 insertions(+) create mode 100644 examples/esp_idf/partial_update/CMakeLists.txt create mode 100644 examples/esp_idf/partial_update/main/CMakeLists.txt create mode 100644 examples/esp_idf/partial_update/main/font80.h create mode 100644 examples/esp_idf/partial_update/main/partial_update.cpp create mode 100644 examples/esp_idf/partial_update/sdkconfig.defaults diff --git a/examples/esp_idf/partial_update/CMakeLists.txt b/examples/esp_idf/partial_update/CMakeLists.txt new file mode 100644 index 0000000..08027e1 --- /dev/null +++ b/examples/esp_idf/partial_update/CMakeLists.txt @@ -0,0 +1,8 @@ +# The following five lines of boilerplate have to be in your project's +# CMakeLists in this exact order for cmake to work correctly +cmake_minimum_required(VERSION 3.16) + +set(EXTRA_COMPONENT_DIRS "../../..") + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(partial_update) diff --git a/examples/esp_idf/partial_update/main/CMakeLists.txt b/examples/esp_idf/partial_update/main/CMakeLists.txt new file mode 100644 index 0000000..0fedf4d --- /dev/null +++ b/examples/esp_idf/partial_update/main/CMakeLists.txt @@ -0,0 +1,2 @@ +idf_component_register(SRCS "partial_update.cpp" + INCLUDE_DIRS "." REQUIRES FastEPD) diff --git a/examples/esp_idf/partial_update/main/font80.h b/examples/esp_idf/partial_update/main/font80.h new file mode 100644 index 0000000..774c4dc --- /dev/null +++ b/examples/esp_idf/partial_update/main/font80.h @@ -0,0 +1,611 @@ +// +// Created with fontconvert, written by Larry Bank +// compressed font data size = 9690 bytes +// +const uint8_t font80[] = { +0xff,0xbb,0x20,0x00,0x7e,0x00,0x9d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x2b, +0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x1c,0x2f,0x6d,0x00,0x09,0x00,0x95,0xff, +0x44,0x00,0x3d,0x4f,0x2f,0x00,0x09,0x00,0x95,0xff,0x79,0x00,0x60,0x6c,0x6c,0x00, +0x06,0x00,0x95,0xff,0xec,0x00,0x5a,0x6d,0x83,0x00,0x09,0x00,0x8a,0xff,0xa3,0x01, +0x79,0x89,0x6e,0x00,0x08,0x00,0x94,0xff,0x71,0x02,0x62,0x71,0x6f,0x00,0x08,0x00, +0x94,0xff,0x27,0x03,0x18,0x29,0x2f,0x00,0x09,0x00,0x95,0xff,0x48,0x03,0x2f,0x3c, +0x89,0x00,0x07,0x00,0x93,0xff,0xb1,0x03,0x2e,0x3c,0x89,0x00,0x06,0x00,0x93,0xff, +0x1a,0x04,0x32,0x41,0x38,0x00,0x08,0x00,0x94,0xff,0x79,0x04,0x4b,0x5d,0x4c,0x00, +0x09,0x00,0xa7,0xff,0xa2,0x04,0x1d,0x2c,0x32,0x00,0x07,0x00,0xe5,0xff,0xcf,0x04, +0x2b,0x39,0x13,0x00,0x07,0x00,0xcd,0xff,0xd2,0x04,0x1c,0x2c,0x1d,0x00,0x08,0x00, +0xe5,0xff,0xed,0x04,0x4e,0x52,0x80,0x00,0x02,0x00,0x8d,0xff,0x4a,0x05,0x60,0x70, +0x6e,0x00,0x08,0x00,0x94,0xff,0xd2,0x05,0x33,0x45,0x6c,0x00,0x05,0x00,0x95,0xff, +0x12,0x06,0x52,0x62,0x6d,0x00,0x07,0x00,0x94,0xff,0x8d,0x06,0x55,0x62,0x6e,0x00, +0x05,0x00,0x94,0xff,0x25,0x07,0x5c,0x69,0x6c,0x00,0x06,0x00,0x95,0xff,0x82,0x07, +0x54,0x63,0x6d,0x00,0x07,0x00,0x95,0xff,0x03,0x08,0x57,0x66,0x6e,0x00,0x08,0x00, +0x94,0xff,0x9c,0x08,0x50,0x5d,0x6c,0x00,0x07,0x00,0x95,0xff,0xe2,0x08,0x56,0x66, +0x6e,0x00,0x08,0x00,0x94,0xff,0x82,0x09,0x57,0x66,0x6e,0x00,0x07,0x00,0x94,0xff, +0x19,0x0a,0x1d,0x2d,0x53,0x00,0x08,0x00,0xaf,0xff,0x57,0x0a,0x1d,0x2d,0x68,0x00, +0x08,0x00,0xaf,0xff,0xa4,0x0a,0x49,0x5d,0x52,0x00,0x09,0x00,0xa2,0xff,0x0e,0x0b, +0x4b,0x67,0x37,0x00,0x0e,0x00,0xb0,0xff,0x1b,0x0b,0x49,0x5d,0x52,0x00,0x0b,0x00, +0xa2,0xff,0x82,0x0b,0x48,0x53,0x6e,0x00,0x05,0x00,0x94,0xff,0xf5,0x0b,0x7c,0x8e, +0x7c,0x00,0x09,0x00,0x97,0xff,0x0b,0x0d,0x71,0x79,0x6c,0x00,0x04,0x00,0x95,0xff, +0x78,0x0d,0x5c,0x6d,0x6c,0x00,0x0b,0x00,0x95,0xff,0xce,0x0d,0x63,0x6d,0x6e,0x00, +0x06,0x00,0x94,0xff,0x5f,0x0e,0x65,0x75,0x6c,0x00,0x0b,0x00,0x95,0xff,0xbf,0x0e, +0x53,0x66,0x6c,0x00,0x0b,0x00,0x95,0xff,0xdd,0x0e,0x53,0x64,0x6c,0x00,0x0b,0x00, +0x95,0xff,0xfc,0x0e,0x65,0x72,0x6e,0x00,0x06,0x00,0x94,0xff,0x8c,0x0f,0x5f,0x75, +0x6c,0x00,0x0b,0x00,0x95,0xff,0xb5,0x0f,0x17,0x2d,0x6c,0x00,0x0b,0x00,0x95,0xff, +0xc3,0x0f,0x49,0x56,0x6d,0x00,0x03,0x00,0x95,0xff,0x12,0x10,0x62,0x71,0x6c,0x00, +0x0b,0x00,0x95,0xff,0x76,0x10,0x4d,0x5d,0x6c,0x00,0x0b,0x00,0x95,0xff,0x93,0x10, +0x71,0x87,0x6c,0x00,0x0b,0x00,0x95,0xff,0xf7,0x10,0x62,0x78,0x6c,0x00,0x0b,0x00, +0x95,0xff,0x45,0x11,0x72,0x7e,0x6e,0x00,0x06,0x00,0x94,0xff,0xe0,0x11,0x59,0x69, +0x6c,0x00,0x0b,0x00,0x95,0xff,0x23,0x12,0x72,0x7e,0x6e,0x00,0x06,0x00,0x94,0xff, +0xd2,0x12,0x59,0x6b,0x6c,0x00,0x0b,0x00,0x95,0xff,0x28,0x13,0x5a,0x63,0x6e,0x00, +0x04,0x00,0x94,0xff,0xd9,0x13,0x5a,0x64,0x6c,0x00,0x05,0x00,0x95,0xff,0x0b,0x14, +0x61,0x73,0x6d,0x00,0x09,0x00,0x95,0xff,0x60,0x14,0x72,0x7a,0x6c,0x00,0x04,0x00, +0x95,0xff,0xd1,0x14,0xa3,0xab,0x6c,0x00,0x04,0x00,0x95,0xff,0x77,0x15,0x6a,0x73, +0x6c,0x00,0x04,0x00,0x95,0xff,0x04,0x16,0x6b,0x73,0x6c,0x00,0x04,0x00,0x95,0xff, +0x6c,0x16,0x59,0x67,0x6c,0x00,0x07,0x00,0x95,0xff,0xbd,0x16,0x2a,0x3f,0x85,0x00, +0x0d,0x00,0x92,0xff,0xdf,0x16,0x4e,0x52,0x80,0x00,0x02,0x00,0x8d,0xff,0x3d,0x17, +0x2b,0x3f,0x85,0x00,0x07,0x00,0x92,0xff,0x6a,0x17,0x3f,0x4f,0x2b,0x00,0x08,0x00, +0x95,0xff,0x9f,0x17,0x5e,0x6a,0x0d,0x00,0x06,0x00,0x0c,0x00,0xa1,0x17,0x27,0x2c, +0x18,0x00,0x02,0x00,0x8f,0xff,0xbf,0x17,0x4d,0x57,0x53,0x00,0x03,0x00,0xaf,0xff, +0x36,0x18,0x57,0x66,0x6f,0x00,0x0a,0x00,0x93,0xff,0x99,0x18,0x4c,0x53,0x53,0x00, +0x04,0x00,0xaf,0xff,0x06,0x19,0x57,0x66,0x6f,0x00,0x05,0x00,0x93,0xff,0x73,0x19, +0x53,0x5a,0x53,0x00,0x04,0x00,0xaf,0xff,0xe4,0x19,0x36,0x3b,0x71,0x00,0x04,0x00, +0x90,0xff,0x30,0x1a,0x56,0x63,0x6d,0x00,0x04,0x00,0xaf,0xff,0xc2,0x1a,0x4d,0x5e, +0x6e,0x00,0x0a,0x00,0x93,0xff,0x03,0x1b,0x19,0x29,0x75,0x00,0x08,0x00,0x8c,0xff, +0x48,0x1b,0x2a,0x2a,0x91,0x00,0xf7,0xff,0x8c,0xff,0xa8,0x1b,0x4f,0x5c,0x6e,0x00, +0x0a,0x00,0x93,0xff,0xf8,0x1b,0x17,0x2a,0x6e,0x00,0x0a,0x00,0x93,0xff,0x06,0x1c, +0x7f,0x8f,0x52,0x00,0x09,0x00,0xaf,0xff,0x68,0x1c,0x4d,0x5d,0x52,0x00,0x09,0x00, +0xaf,0xff,0xa3,0x1c,0x58,0x60,0x53,0x00,0x04,0x00,0xaf,0xff,0x14,0x1d,0x57,0x66, +0x6d,0x00,0x0a,0x00,0xaf,0xff,0x77,0x1d,0x57,0x66,0x6d,0x00,0x05,0x00,0xaf,0xff, +0xe5,0x1d,0x32,0x3f,0x52,0x00,0x09,0x00,0xaf,0xff,0x0c,0x1e,0x46,0x4d,0x53,0x00, +0x03,0x00,0xaf,0xff,0x91,0x1e,0x36,0x3e,0x6a,0x00,0x04,0x00,0x98,0xff,0xda,0x1e, +0x4d,0x5d,0x52,0x00,0x07,0x00,0xb0,0xff,0x15,0x1f,0x5b,0x5f,0x51,0x00,0x02,0x00, +0xb0,0xff,0x6a,0x1f,0x7f,0x83,0x51,0x00,0x02,0x00,0xb0,0xff,0xe4,0x1f,0x54,0x59, +0x51,0x00,0x03,0x00,0xb0,0xff,0x4c,0x20,0x58,0x5d,0x6d,0x00,0x03,0x00,0xb0,0xff, +0xc1,0x20,0x46,0x52,0x51,0x00,0x06,0x00,0xb0,0xff,0xfa,0x20,0x36,0x41,0x88,0x00, +0x05,0x00,0x93,0xff,0x6b,0x21,0x0f,0x2d,0x80,0x00,0x0f,0x00,0x8d,0xff,0x7c,0x21, +0x35,0x41,0x88,0x00,0x07,0x00,0x93,0xff,0xef,0x21,0x38,0x4b,0x16,0x00,0x09,0x00, +0xbd,0xff,0x42,0x20,0x28,0x7f,0xfe,0xff,0xff,0xff,0xd7,0xff,0xff,0xfe,0xff,0xff, +0xff,0xd7,0xff,0xff,0xfe,0xff,0xff,0xff,0xfd,0x7f,0xff,0xff,0xef,0xff,0xff,0xfd, +0x7f,0xff,0xff,0xef,0xff,0xff,0xff,0xd7,0xff,0xff,0xe3,0xff,0xff,0xe7,0x52,0x30, +0x81,0xe1,0x3d,0x3d,0x3d,0x3d,0x3d,0x3f,0xf8,0xbf,0xf2,0x02,0xbf,0x6b,0xf6,0xb6, +0xb6,0xb6,0xb0,0xd6,0x18,0x28,0x28,0x20,0xbd,0xf2,0xf2,0xe1,0x06,0x10,0x7a,0x0c, +0x27,0x84,0xd0,0x7a,0x6b,0xda,0x7a,0xdf,0x6b,0x1d,0xfa,0xbf,0xf5,0xfb,0xff,0xf5, +0x20,0x3f,0xaf,0xdf,0xff,0xad,0xfe,0xbf,0x7f,0xad,0xfe,0xbf,0x7f,0xf7,0xae,0xbf, +0x7f,0xad,0xfe,0xbf,0x7f,0xad,0xfe,0x9f,0xfd,0xeb,0xae,0x28,0x48,0x72,0x04,0x8e, +0x44,0x4d,0x7f,0xff,0xe9,0x2d,0x7f,0xff,0xe9,0x2d,0x7f,0xff,0xe9,0x2d,0x7f,0xff, +0xfa,0xd2,0x5f,0xff,0xff,0xa4,0xb5,0xff,0xff,0xa4,0xb5,0xf3,0x8e,0xa5,0xe9,0x7f, +0xfe,0x97,0xff,0xe9,0x7f,0xfe,0x97,0xe7,0x32,0x44,0xe4,0x88,0xff,0xd2,0x5a,0xff, +0xfd,0x74,0xba,0xff,0xfd,0x69,0x2f,0xff,0xfd,0x69,0x2f,0xff,0xf4,0x96,0xbf,0xff, +0xf4,0x96,0xbf,0xf9,0x65,0x2e,0xbf,0x5f,0xeb,0xf5,0xfe,0xb5,0xff,0xea,0x3e,0x50, +0x3c,0xe4,0x09,0x1c,0x89,0xea,0xff,0xff,0xd2,0x5a,0xff,0xff,0xd2,0x5a,0xff,0xff, +0xd2,0x5a,0xff,0xff,0xd2,0x5a,0xff,0xff,0xd2,0x5a,0xff,0xff,0xd2,0x50,0x28,0x50, +0x71,0xea,0x7f,0xff,0xff,0xff,0xfe,0x74,0x65,0x33,0x9e,0x3f,0x82,0x07,0x84,0x75, +0x67,0x21,0x07,0x84,0x1e,0x10,0x3d,0x3d,0x07,0x84,0x1e,0x9e,0x83,0xd3,0xef,0x41, +0xe9,0x6b,0xd6,0x97,0x5a,0x31,0xe7,0xe0,0xa6,0x1e,0x97,0x58,0x35,0xa5,0x86,0xba, +0xc3,0xf5,0x86,0xb4,0xb0,0xd7,0xed,0x75,0x87,0xfd,0xaf,0xc3,0x5f,0x8f,0xff,0xf7, +0xff,0xdf,0xdf,0xdf,0xdf,0xc3,0xf6,0x0f,0xe3,0xfd,0xff,0x61,0xf3,0xb5,0x47,0x60, +0xf6,0x0f,0x83,0xd8,0x7b,0x0f,0x61,0xec,0x3c,0x37,0xb7,0x86,0x1e,0x1b,0xc3,0x78, +0x37,0x87,0xc1,0xbc,0xe8,0xda,0x60,0xf8,0x6f,0xff,0xbe,0x61,0xeb,0xe0,0xfe,0x1f, +0xdf,0xdb,0xef,0xdf,0xff,0x98,0x6a,0xfa,0x7f,0x4f,0xe9,0xf5,0xa0,0xff,0x4f,0xf8, +0x7a,0xe8,0x3f,0xd0,0x7a,0x5a,0x0f,0x5d,0x07,0xae,0x81,0xe1,0x79,0x91,0xa8,0x25, +0xa1,0x1e,0x94,0x72,0x02,0xb0,0xd6,0xfb,0x5b,0x58,0x6b,0x6b,0x0d,0x61,0xad,0xac, +0x30,0xb0,0x6b,0x0c,0x2c,0x18,0x2c,0x18,0x59,0xcf,0xa0,0xce,0x90,0xbe,0x75,0x03, +0xff,0xff,0xff,0xff,0xfe,0x28,0x2a,0x71,0x97,0xe0,0x81,0x9d,0xa9,0x2c,0x10,0x34, +0xb0,0x83,0x4b,0x4f,0xc2,0x0d,0x2d,0x34,0xb4,0xd7,0x4e,0xb4,0xd2,0xd5,0x7b,0xad, +0x34,0xb5,0x5e,0x62,0x9d,0xd6,0x82,0x0e,0x97,0x41,0xb4,0xba,0x7f,0x49,0xd2,0xea, +0xd2,0xf7,0x5e,0xba,0x8d,0xd2,0xf5,0xee,0xbd,0x2f,0x4b,0xff,0x4b,0xd2,0xff,0xa4, +0xbd,0x2b,0x55,0x90,0x1f,0x5d,0xaa,0x5f,0x4b,0xb6,0xb5,0xda,0xa5,0xda,0x49,0x6c, +0x18,0x2f,0xc5,0x25,0xba,0x5d,0x2e,0xd5,0x6e,0x96,0xd2,0xed,0x56,0xd2,0x5b,0x4b, +0xb0,0xab,0x0d,0x25,0x86,0x12,0x58,0x60,0xbc,0xe5,0x45,0xa5,0x8a,0x47,0x28,0x2f, +0x53,0x90,0x27,0xd0,0x20,0xf4,0x82,0x0f,0x54,0xfa,0x41,0xe9,0x04,0xf5,0x4f,0xa4, +0xf4,0x93,0xd2,0xbf,0x5d,0x24,0xf4,0xbd,0x51,0x8a,0xe7,0xd4,0x10,0x3e,0x92,0x4d, +0xeb,0x4f,0xd5,0x37,0xa4,0x93,0xeb,0xfd,0x6f,0xa5,0x57,0x49,0x7f,0xf4,0xbe,0x96, +0xf5,0xfd,0x7d,0x2d,0x6b,0xfa,0xfa,0x4f,0xd2,0xba,0xfd,0x74,0xaf,0xd2,0xd7,0xdb, +0x4b,0x4a,0xd7,0x49,0xb4,0xb5,0x83,0x0b,0xd3,0x15,0xa5,0xea,0xd7,0x5e,0x93,0x5a, +0x4d,0x7b,0x5a,0x4d,0x69,0x35,0xe1,0x85,0xa4,0xd6,0x90,0x61,0x6a,0x0c,0x2c,0x41, +0x9c,0x61,0xc0,0x28,0x50,0x71,0xac,0xe7,0x48,0x57,0x04,0x1e,0x10,0x3c,0x27,0xa0, +0xf0,0x9e,0x83,0xd3,0xd3,0xd3,0xd7,0xbd,0x3d,0x7b,0xd1,0x8c,0xff,0x08,0x37,0xa0, +0x9f,0xa7,0xe9,0xbd,0x5f,0xaf,0xff,0x7e,0xaf,0xff,0xff,0xff,0xb4,0xbf,0xff,0xb5, +0xfa,0xdb,0x5f,0x5e,0xc2,0x5e,0xbb,0x61,0x2e,0xc2,0x5b,0x61,0x2e,0x2b,0x6b,0xad, +0xae,0x16,0xd6,0xc2,0xe1,0x61,0x2c,0x20,0xb0,0x82,0xc2,0x08,0xc6,0x96,0xa8,0x3c, +0x27,0x07,0xaa,0x0f,0x4e,0x1e,0x9a,0x0f,0x4e,0x1e,0x9a,0x0f,0x4e,0xb4,0xd7,0x46, +0x38,0x9d,0x70,0x9b,0x4b,0x49,0xbf,0xa7,0x4b,0x49,0xbf,0xa6,0xd2,0xd2,0x6d,0x7e, +0xeb,0xa6,0xd7,0xd8,0xa8,0xa6,0xb7,0xda,0xdf,0x6b,0x6b,0x7d,0xad,0xad,0xed,0xae, +0xad,0xb9,0x01,0xbf,0x69,0xf6,0x9e,0xd8,0x4f,0x86,0x13,0xe1,0x84,0xf6,0x0c,0xe2, +0x16,0xf1,0x7b,0x7b,0x7d,0xed,0xed,0xec,0xce,0xcb,0xda,0x6f,0x61,0x37,0xb4,0xdd, +0x84,0xc1,0x61,0x84,0xc2,0xc3,0x09,0x85,0x86,0x13,0x0b,0x06,0x09,0x85,0x83,0x39, +0x83,0xa0,0xb3,0x9d,0x1c,0xc2,0xc5,0x85,0x00,0x28,0x41,0x7a,0x61,0x07,0xa0,0xf0, +0x9e,0x9f,0x7a,0xf7,0x1f,0xde,0xbf,0xfe,0x40,0x7d,0x7f,0xfe,0xfd,0x7f,0xef,0xd7, +0xfe,0xfd,0x7f,0xef,0xd7,0xfe,0xfd,0x7e,0xfd,0x40,0x28,0x8c,0xa4,0xca,0x7a,0x78, +0x5d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3a,0x5a,0x5a,0x5a,0x5f,0xa5,0xa5, +0xa5,0xd6,0x96,0xbd,0x69,0x6b,0xd6,0x97,0xe9,0x75,0xaf,0x5a,0xf5,0xfa,0x5f,0xa5, +0xff,0xa5,0xff,0xa5,0xff,0xd6,0xbf,0xff,0xd6,0xbf,0xff,0xfd,0x7f,0xfc,0x7f,0xff, +0xff,0x20,0x3f,0xfe,0xff,0xff,0xff,0x7e,0xff,0xff,0x7e,0xff,0xf6,0xff,0xf6,0xff, +0xbd,0xff,0x6f,0xfb,0xdf,0xbd,0xbf,0xdb,0xfd,0xbe,0xf7,0xdb,0xef,0x6f,0x7e,0xf6, +0xf6,0xf6,0xfb,0xdf,0x6f,0x6f,0x6e,0xd6,0xd6,0xd6,0xd6,0xd6,0xd6,0xd6,0xd6,0xd6, +0x1a,0xdf,0x6a,0x28,0x2c,0xa6,0x4a,0x7a,0x7a,0x7a,0x0f,0x4f,0x4f,0x4f,0x4f,0xbd, +0x3d,0x38,0xb9,0x01,0x7d,0xed,0xef,0xb7,0xb7,0xb7,0xbf,0x7b,0x7b,0xed,0xf7,0xbe, +0xdf,0xed,0xef,0xde,0xfd,0xef,0xde,0xfd,0xef,0xfd,0xef,0xfb,0x7f,0xfb,0x7f,0xff, +0xbf,0x7f,0xff,0xfb,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd6,0xbf,0xff, +0xff,0xa5,0xff,0xd6,0xbf,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0xf5,0xaf,0x5a,0xf5,0xae, +0x97,0xe9,0x6b,0xd6,0x96,0xba,0x5d,0x6b,0xa5,0xa5,0xa5,0xa5,0xac,0x55,0x48,0x0a, +0xda,0xda,0xda,0xda,0xeb,0x6b,0x6b,0x61,0x6d,0x6d,0x6d,0x40,0x28,0x58,0xb5,0xda, +0x0f,0x4f,0x5e,0xff,0xff,0xaf,0xfc,0x8e,0xe6,0x2e,0xe9,0xba,0x0f,0x41,0xe1,0x62, +0xe9,0x3b,0xd6,0xdd,0x37,0xab,0xa5,0x7a,0x57,0xac,0x80,0xb7,0x4b,0x0c,0x3a,0x41, +0x61,0x88,0x85,0x83,0x05,0x83,0x05,0x9c,0xf5,0x30,0x60,0xb6,0xb0,0x40,0xf3,0x98, +0xce,0x08,0xf0,0x1f,0x04,0x0f,0x08,0xc8,0x92,0x52,0x1e,0x12,0xb2,0xa4,0xb4,0xb6, +0xe2,0x95,0xeb,0x6c,0x2d,0xd5,0xba,0x56,0xab,0x79,0x01,0x5b,0x5b,0x56,0x1a,0xd8, +0x5b,0x58,0xa8,0xff,0xf7,0xff,0xfd,0x6f,0xb5,0xb0,0xa0,0x28,0x38,0x72,0x68,0x7f, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0xcb,0xef, +0xff,0xfe,0x50,0x70,0xe4,0xd0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xf8,0x28,0x59,0x7b,0xa0,0x81,0xe1,0x3d,0x3d,0x3d,0x3e,0xf5,0xd3, +0xfe,0xe3,0xef,0xc8,0x0f,0xfb,0xfb,0xde,0xf6,0xb0,0xf8,0x7c,0xee,0x6f,0xe9,0x7e, +0xbd,0x69,0x7e,0x96,0x96,0xbd,0x69,0x69,0x61,0x76,0xb0,0xd6,0xd6,0xd6,0x1a,0xda, +0x80,0xff,0xff,0xe0,0x28,0x51,0xd0,0xe8,0x41,0xe1,0x07,0xa7,0xa7,0xa7,0xa7,0xde, +0xbf,0x17,0xfe,0x40,0x57,0xed,0x7e,0xd6,0xd6,0xd6,0xd6,0x1a,0xc3,0x05,0x00,0x28, +0x6d,0xa5,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0xf5,0xfa,0x5f, +0xa5,0xfa,0xf5,0xfa,0x5f,0xa5,0xfa,0xf5,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0x5f,0xaf, +0x5f,0xa5,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0xf5,0xfa,0x5f, +0xa5,0xfa,0xf5,0xfa,0x5f,0xa5,0xfa,0xf5,0xfa,0x5f,0xa5,0xfa,0xf5,0xfa,0x5f,0xaf, +0x5f,0xa5,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0x5f,0xaf,0x5f,0xa5,0xfa,0xf5,0xfa,0x5f, +0xa5,0xfa,0xf5,0xfa,0x5f,0xa5,0xfa,0xf5,0xfa,0x5f,0x15,0xc0,0x28,0x52,0x71,0xca, +0x67,0x48,0x63,0x3a,0x04,0x18,0x41,0xe1,0x03,0xc2,0x78,0x41,0xe1,0x07,0xa7,0xa7, +0x84,0x1e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9f,0xe9,0xe9,0xe9,0xf3,0xa3,0x13,0xd1,0xd0, +0x10,0x7a,0x08,0x37,0xd3,0xe8,0x20,0xdf,0x4f,0xa4,0xdf,0x4f,0xa4,0xdf,0x4f,0xfe, +0x93,0x7d,0x7e,0xfa,0x4d,0xff,0xd7,0xef,0xad,0xf5,0xfb,0xff,0xfc,0x55,0xdf,0xff, +0xd7,0xff,0xbf,0xaf,0xef,0xff,0xff,0x52,0x02,0xeb,0xff,0xfd,0x7b,0xf7,0xaf,0x5e, +0xff,0xf6,0xd2,0xf5,0xef,0xdb,0x4b,0xfe,0xd2,0xdb,0x5e,0xd7,0x6d,0x2e,0xd7,0x6c, +0x25,0xc3,0x4b,0x61,0x85,0xd8,0x30,0x4b,0x8f,0x6b,0x6b,0xad,0xf6,0xb6,0xb6,0xb6, +0xb6,0xb6,0xb6,0x16,0x1a,0xda,0xc3,0x0b,0x0c,0x2d,0x85,0x83,0x0b,0x0c,0x2c,0xe9, +0x0c,0x67,0x52,0x3e,0x28,0x83,0x0b,0x58,0x5a,0xc2,0xd6,0x16,0xb0,0xb5,0x85,0xac, +0x2d,0x6b,0x0b,0x58,0x5a,0xc2,0xd4,0x64,0x07,0x7f,0x7c,0xcc,0x1d,0x85,0xe1,0x76, +0xbb,0x0b,0xd7,0x61,0x78,0x5d,0xaf,0x0b,0xb5,0xc7,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xfe,0x28,0x44,0x71,0xe9,0xe7,0x3a,0x67,0x04,0x74,0x07,0xa0,0x83, +0xc1,0x07,0x84,0x1e,0x83,0xc2,0x0f,0x09,0xe9,0xe9,0xe1,0x3d,0x3d,0x3d,0x3d,0x3d, +0x74,0xf4,0xf5,0x8b,0x90,0x13,0xa3,0x15,0xd9,0xcf,0x11,0xec,0x20,0xde,0xc2,0x7d, +0x84,0xfb,0x4d,0xec,0x27,0xda,0x7d,0xaf,0x69,0xf6,0xbd,0xaf,0x6b,0xda,0x7c,0x7d, +0x7f,0xff,0xf5,0xeb,0xf5,0xd7,0xad,0x75,0xeb,0x5d,0x2d,0x74,0xb4,0xb5,0xd2,0xc2, +0x5a,0x5a,0xe9,0x61,0x2d,0x2d,0x2c,0x25,0xa5,0xa0,0xb0,0x96,0x96,0x96,0x96,0x10, +0x5a,0x5a,0x58,0x41,0x69,0x69,0x61,0x05,0xa5,0xa5,0xa0,0xb0,0x96,0x96,0x96,0x10, +0x5a,0x5a,0x58,0x41,0x68,0xd3,0xf5,0x6b,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x28, +0x48,0x72,0x09,0x27,0x3c,0x73,0x04,0x0f,0x04,0x0f,0x08,0x3c,0x10,0x7a,0x0f,0x09, +0xe1,0x07,0xa7,0xa7,0x84,0xf4,0xf4,0xf5,0xd3,0xd3,0xd7,0x4f,0xf6,0xf6,0x73,0xc3, +0x3b,0x39,0x92,0x9d,0x84,0x1f,0x61,0x06,0xf6,0x13,0xed,0x3e,0xc2,0x7d,0xaf,0x61, +0x3e,0xd7,0xb5,0xf5,0xe3,0x5f,0xff,0xa5,0xfa,0x58,0x5d,0x2c,0x17,0x3a,0xf3,0xf9, +0xce,0x31,0xeb,0xae,0x17,0x5c,0x2e,0xb8,0x2e,0x0b,0x83,0xe1,0xf0,0x7d,0xf0,0xfb, +0xe1,0xf7,0xdf,0x79,0xd7,0x23,0xce,0xcc,0xf6,0x0d,0xe1,0xbc,0x3e,0xde,0xff,0xbf, +0x7f,0xde,0x61,0xc7,0xaa,0xd3,0xe8,0x3e,0x9f,0xb5,0xa6,0xb4,0x1f,0x41,0x85,0xa0, +0xd2,0xd0,0x6b,0xa0,0x60,0xba,0x3a,0x21,0x8b,0x8f,0x4a,0x39,0x01,0x5b,0xed,0x6d, +0x6d,0x6f,0x86,0xb6,0xb6,0x16,0x1a,0xc3,0x5b,0x0b,0x06,0x16,0x18,0x58,0x61,0x60, +0xc1,0x67,0x3a,0x73,0x3a,0x32,0x30,0x28,0x64,0x73,0x84,0xab,0xae,0xbf,0xae,0xba, +0xfe,0xba,0xfe,0xba,0xeb,0xfa,0xeb,0xaf,0xeb,0xae,0xbf,0xae,0x8c,0x5c,0xff,0xd2, +0xf4,0xbd,0x7e,0xbd,0x2f,0x4b,0xd7,0xeb,0xd2,0xf4,0xbd,0x7e,0xbd,0x2f,0x4b,0xff, +0x4b,0xd2,0xf5,0xfa,0xf4,0xbd,0x2f,0x5f,0xaf,0x4b,0xd2,0xf5,0xfa,0xf4,0xbd,0x7e, +0xbd,0x2f,0x4b,0xd7,0xeb,0xd2,0xf4,0xbd,0x7e,0xbd,0x2f,0x5f,0x89,0x92,0xc1,0xe4, +0x07,0xff,0xff,0xfb,0xff,0xff,0xf3,0xb7,0x2f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xf0,0x20,0xe7,0x8e,0x2b,0xff,0xff,0xff,0xff,0xeb,0xff,0xff,0xff, +0xff,0xff,0xce,0x59,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x8e,0x1b,0xe7, +0x14,0x5b,0xc1,0x03,0xf0,0x83,0xf0,0x83,0xf0,0x83,0xe9,0x3e,0x21,0xf7,0xa7,0xdf, +0x7d,0xf7,0xfd,0xf7,0xfd,0xf3,0x21,0xfd,0x9c,0xd1,0x27,0x83,0x04,0x1f,0x0c,0x20, +0xf8,0x61,0x37,0x83,0x08,0x3e,0x1a,0x7c,0x35,0xe2,0xdd,0xff,0xbf,0xff,0xff,0xe6, +0x1a,0x56,0x9f,0x4f,0xa6,0x97,0x7e,0x83,0x5d,0x35,0xd0,0x69,0x68,0x35,0xe1,0xae, +0x83,0x09,0x68,0x18,0x5d,0x1d,0x08,0xb5,0xa1,0xe9,0x7c,0x54,0x80,0xad,0xad,0xf6, +0xb6,0xb0,0xd6,0xc2,0xc3,0x5b,0x58,0x61,0x61,0x85,0x86,0x16,0x0c,0x2c,0x18,0x59, +0xcd,0x9c,0xce,0x84,0x8c,0x28,0x54,0x71,0xe7,0xe7,0x4a,0x67,0x3a,0x14,0x38,0x40, +0xf0,0x41,0xe1,0x07,0xa0,0xf0,0x83,0xd3,0xc2,0x0f,0x4f,0x4f,0x5d,0x2d,0x2d,0x74, +0xb4,0xb5,0xeb,0x47,0x44,0x2d,0x68,0x11,0xc9,0x11,0xe1,0x03,0x5a,0x08,0x35,0xd0, +0x7d,0x04,0xd6,0x90,0x6b,0xa7,0xf1,0xd2,0xeb,0x4b,0xfa,0xd7,0xaf,0xd2,0xf3,0x92, +0x1b,0xe7,0x1c,0x5b,0xce,0x28,0xee,0x90,0x41,0xf8,0x41,0xf8,0x41,0xfa,0x0f,0xa0, +0x9c,0x69,0xe9,0xc5,0xdd,0xdd,0xf7,0x7c,0xca,0x73,0x9d,0x21,0x0c,0x20,0xdc,0x20, +0xf4,0xf4,0xdd,0x3d,0x3d,0x3d,0x7b,0xc8,0x0a,0xbe,0xff,0xff,0xff,0x6f,0xff,0xfd, +0x6d,0xaf,0xfd,0xfb,0xaf,0x75,0xeb,0xb6,0xbd,0xa5,0xb6,0xbd,0xae,0xc3,0x09,0x70, +0xc2,0xec,0xc8,0x7a,0xe3,0xda,0xda,0xdf,0xad,0xad,0xad,0xad,0xad,0xad,0xac,0x30, +0xb6,0xb0,0xc2,0xc3,0x0b,0x0c,0x2c,0x18,0x2c,0x18,0x2c,0xe9,0x48,0x40,0xff,0xff, +0xd7,0x52,0x86,0xbd,0x2f,0xd2,0xfd,0x2f,0xd2,0xfd,0x2f,0xd2,0xfd,0x7a,0xd7,0xad, +0x7a,0xd7,0xad,0x7a,0xd7,0xad,0x7a,0xd7,0xad,0x7a,0xd7,0xad,0x7a,0xd7,0xad,0x7f, +0x4b,0xf4,0xbf,0x4b,0xf4,0xbf,0x4b,0xf4,0xbf,0xad,0x7a,0xd7,0xad,0x7a,0xd7,0xad, +0x7a,0xd7,0xf4,0xbf,0x4b,0xf4,0xbf,0x4b,0xf4,0xbf,0x4b,0xf4,0xbf,0x4b,0xf4,0xbf, +0x4b,0xf4,0xbf,0x4a,0x28,0x46,0x72,0x09,0x67,0x3a,0x6f,0x39,0x94,0x78,0x20,0x78, +0x40,0xf0,0x83,0xc2,0x78,0x41,0xe8,0x3d,0x3d,0x3c,0x27,0xde,0x9e,0x9e,0xbd,0xe9, +0xeb,0xcc,0x8f,0xf9,0xcf,0x90,0x7a,0x04,0x1f,0xa0,0xfc,0x26,0xfa,0x7e,0x9f,0x57, +0xeb,0xf7,0xeb,0xff,0xfd,0xff,0xfb,0xaf,0x5d,0xbf,0xd2,0xed,0x76,0xd7,0xb4,0xb6, +0x18,0x4b,0x61,0x85,0xd9,0xcf,0x0a,0x5b,0x15,0xb5,0xb5,0xb5,0xb0,0xb0,0xd6,0xc2, +0xc3,0x0b,0x06,0x16,0x08,0x3c,0x20,0xf0,0x83,0xd0,0x78,0x4f,0x4f,0x41,0xe9,0xe9, +0xe9,0xe8,0xe8,0x45,0x3d,0x1c,0xf1,0x1e,0x82,0x06,0xf8,0x41,0xbd,0x04,0xfd,0x06, +0xf4,0x9f,0xaf,0xa6,0xe3,0x7a,0xfb,0xbf,0xfe,0xbd,0xf5,0x7b,0x56,0x95,0xac,0x80, +0xb0,0xbc,0x30,0x97,0x06,0x17,0x67,0x4a,0x23,0xc5,0x6d,0x6f,0xd6,0xd6,0xfb,0x5b, +0x5b,0x0b,0x6b,0x6b,0x0c,0x2c,0x35,0x86,0x16,0x18,0x58,0x60,0xb0,0x60,0xb3,0x9c, +0x3b,0x9d,0x11,0x28,0x28,0x44,0x72,0x09,0xa7,0x3a,0x6b,0x39,0x94,0x38,0x40,0xf0, +0x41,0xe8,0x3c,0x20,0xf0,0x9e,0x83,0xd3,0xc2,0x7a,0x7a,0x7d,0xe9,0xeb,0xa7,0xde, +0xba,0x32,0x3e,0xf9,0xcf,0x8f,0x7a,0x04,0x1f,0xa0,0xde,0x93,0xf0,0x9b,0xe9,0xf5, +0x7e,0xaf,0xa7,0xfb,0xe9,0xe3,0xf7,0xef,0xff,0x7e,0xff,0xef,0xd6,0xd6,0x40,0x7f, +0x69,0xed,0x76,0xb6,0xc2,0xe1,0xae,0x18,0x2d,0x9d,0x18,0xae,0x3b,0xfb,0xdf,0xde, +0xf7,0xb3,0x34,0x3b,0x5d,0xaa,0xda,0x5c,0x30,0xbc,0x30,0xbc,0x30,0xbc,0x30,0xbc, +0x18,0x24,0xb3,0x9c,0x23,0xe3,0xeb,0xfd,0x6b,0xfa,0x5f,0xae,0x97,0xe6,0x1e,0x52, +0xed,0x74,0xd2,0xd0,0x6b,0xda,0x5a,0x0d,0x78,0x61,0x2d,0x03,0x09,0x68,0xe5,0x85, +0x78,0xad,0x2d,0x7a,0xd2,0xeb,0x4b,0x4b,0xae,0xb0,0xd6,0xc2,0xc3,0x58,0x61,0x61, +0xac,0x30,0x58,0x61,0x60,0xc1,0x60,0xc1,0x67,0x3c,0x3e,0x28,0x59,0xd0,0xd8,0x20, +0xf4,0x1e,0x13,0xd3,0xd3,0xef,0x5d,0x3f,0xfe,0xc7,0xe4,0x05,0x7f,0xed,0x7e,0xd7, +0xed,0x6d,0x61,0xad,0x85,0x83,0x0b,0x1f,0xff,0xff,0xff,0xff,0xff,0xfc,0xeb,0x46, +0x08,0x3d,0x07,0x84,0xf4,0xf4,0xfb,0xd7,0x4f,0xff,0xb1,0xf9,0x01,0x5f,0xfb,0x5f, +0xb5,0xfb,0x5b,0x58,0x6b,0x61,0x60,0xc2,0x80,0x28,0x59,0x7b,0xa0,0x81,0xe1,0x3d, +0x07,0xa7,0xae,0x9f,0x7a,0xf7,0x1f,0xf6,0xbe,0x40,0x7f,0xd6,0xfd,0x6d,0x6f,0xb5, +0xb0,0xb0,0xd6,0x0c,0x16,0x3f,0xff,0xff,0xff,0xff,0xff,0xf9,0xd4,0x8c,0x20,0xf0, +0x83,0xd3,0xd3,0xd3,0xd7,0xbd,0x7b,0x8e,0xff,0xbe,0x40,0x7f,0xde,0xf6,0xb7,0xdf, +0x7c,0x1a,0xc1,0xff,0xad,0x7a,0xd7,0xad,0x2f,0xd2,0xd2,0xd7,0x4b,0x4b,0x4b,0x6b, +0x7c,0x35,0xb5,0xb5,0xb5,0x00,0x28,0x91,0x85,0x85,0x82,0xc2,0xc2,0xc1,0x61,0x61, +0x61,0x60,0xb0,0xb0,0xb0,0x58,0x58,0x58,0x2c,0x2c,0x2c,0x20,0xb0,0x40,0xb0,0x82, +0xc2,0x0b,0x04,0x0b,0x08,0x2c,0x20,0x58,0x41,0x60,0x81,0x61,0x05,0x84,0x0b,0x04, +0x16,0x10,0x51,0x05,0x0a,0x0a,0x14,0x14,0x28,0x50,0x50,0xa1,0x41,0xc3,0x83,0x87, +0x07,0x0e,0x0e,0x1c,0x1c,0x81,0x87,0x86,0x0f,0x0c,0x3c,0x30,0x78,0x30,0xf0,0xc3, +0xc3,0x07,0x83,0x0f,0x0c,0x1e,0x18,0x78,0x60,0xf0,0x61,0xe1,0x83,0x87,0x83,0xc3, +0xc3,0xc3,0xc1,0xe1,0xe1,0xe0,0xf0,0xf0,0xf0,0x78,0x78,0x78,0x78,0x3c,0x3c,0x38, +0xff,0xff,0xe5,0x14,0x3f,0xff,0xff,0xff,0xcd,0x2e,0xff,0xff,0xe0,0x29,0x9e,0x1c, +0x1c,0x38,0x70,0xe0,0xe1,0xc3,0x83,0x87,0x0e,0x1c,0x1c,0x38,0x70,0x70,0xe1,0xc8, +0x10,0x78,0x30,0x78,0x61,0xe1,0x87,0x83,0x07,0x86,0x1e,0x0c,0x3c,0x30,0x78,0x30, +0xf0,0xc3,0xc1,0x87,0x86,0x0f,0x0c,0x3c,0x1b,0x87,0x83,0xc3,0xc1,0xe1,0xe1,0xe0, +0xf0,0xf0,0xf0,0x58,0x58,0x2c,0x2c,0x16,0x16,0x0b,0x0b,0x05,0x84,0x0b,0x04,0x16, +0x10,0x58,0x41,0x60,0x81,0x61,0x05,0x82,0x0b,0x08,0x16,0x08,0x2c,0x20,0xb0,0x41, +0x61,0x02,0x88,0x50,0xa0,0xa1,0x42,0x85,0x05,0x0a,0x14,0x14,0x28,0x50,0xa0,0xa1, +0x42,0x82,0x85,0x0a,0x28,0x3c,0x71,0xc7,0x27,0x30,0x67,0x04,0x0f,0x08,0x3c,0x10, +0x78,0x41,0xe8,0x3c,0x27,0xa7,0x84,0xf4,0xf4,0xf0,0x9e,0x9e,0xba,0x71,0x7c,0x80, +0xbd,0xf7,0xd9,0xcc,0x0a,0x7b,0x39,0x32,0x3d,0x84,0x1f,0x61,0x3e,0xd3,0x76,0x13, +0xda,0x7b,0x4f,0x6b,0x8f,0xef,0x5f,0xad,0x7f,0x4b,0x5c,0x2e,0x12,0xc2,0xe0,0x96, +0x73,0xe9,0x33,0x98,0x57,0xd7,0x5d,0x75,0xd7,0x5d,0x75,0xc2,0xe1,0x70,0xb8,0x5c, +0x17,0x05,0xd7,0xff,0xff,0xff,0xff,0xfe,0x3f,0xff,0xfe,0x73,0xc2,0x30,0x41,0xe8, +0x3c,0x27,0xa7,0xde,0x9e,0xbd,0xeb,0xfd,0xfe,0xbf,0xfb,0xff,0x5f,0xbf,0x5b,0xed, +0x6d,0x6d,0x6d,0x6c,0x2c,0x18,0x50,0x28,0x72,0x72,0x2d,0xa7,0x66,0x77,0x3a,0xf4, +0x98,0x23,0xab,0x53,0x08,0x3c,0x10,0x78,0x47,0x28,0x40,0x3c,0x23,0x91,0x36,0x1e, +0x11,0xc7,0xa2,0x0f,0x40,0x81,0x87,0x84,0x10,0x37,0xa0,0x83,0x0f,0x08,0x20,0xde, +0x82,0x0d,0xe1,0x04,0xde,0x82,0x0d,0xe9,0x37,0xa0,0x83,0x0f,0x49,0xf4,0x9b,0xd2, +0x6f,0x49,0xbd,0x04,0xde,0xad,0xe8,0x27,0xf6,0xf4,0x8e,0x80,0x5d,0xe9,0x1c,0xe9, +0x37,0xd2,0x08,0x33,0x0b,0x4d,0xf4,0x10,0x73,0x90,0x1a,0xf4,0x82,0x70,0x6f,0xa8, +0x4d,0x5b,0xe9,0x3a,0xf4,0x93,0xdb,0xf0,0x9f,0xe9,0x27,0xbf,0xa1,0xde,0x92,0x5f, +0xab,0x7a,0x5f,0xeb,0xe9,0x2b,0xfa,0x39,0xc1,0x2a,0xfa,0x82,0x0f,0xea,0x90,0x7f, +0xe1,0x3b,0xf4,0x93,0xfa,0xa5,0x57,0xe9,0xfd,0x57,0xd5,0x27,0xff,0xfa,0x4a,0xbf, +0x5f,0xff,0x1f,0xf4,0xbf,0xd7,0xfd,0x57,0xff,0xff,0xd2,0xad,0x7f,0xf5,0xf5,0xff, +0xfd,0x2f,0x6f,0x4b,0xd7,0xff,0xbb,0x54,0xbd,0x7e,0xd5,0x7b,0x5a,0x90,0x1b,0x61, +0x57,0xe1,0xaa,0x5d,0xc3,0x04,0xd7,0xd8,0xd2,0xfb,0x4b,0x76,0xc2,0xf7,0x0c,0x25, +0xec,0xcb,0x08,0xad,0xda,0x6b,0xba,0xfd,0xa6,0xb6,0xda,0xaf,0x69,0x85,0xdb,0x4d, +0x6e,0x18,0x4d,0x76,0xd0,0x61,0x6e,0x18,0x4c,0x2e,0xc3,0x04,0x18,0x2d,0xce,0x78, +0x59,0xd0,0x0a,0xdb,0x11,0xef,0x7e,0xf6,0xf6,0xf6,0xfb,0xdb,0xdb,0xdb,0xdb,0xdb, +0xdb,0xd8,0x66,0x80,0x76,0xd7,0x61,0x84,0xf6,0x18,0x5c,0x30,0xc2,0x7b,0x0c,0x13, +0xc3,0x0c,0x20,0xb6,0x0c,0x10,0x58,0x67,0x22,0x6c,0x2c,0x33,0x94,0x20,0x16,0x18, +0x85,0x86,0x16,0x0c,0x16,0x0c,0x16,0x75,0xc7,0x33,0xb3,0x23,0x00,0x28,0x56,0x73, +0x6c,0xbf,0x7a,0xfe,0x9f,0xf7,0xaf,0xe9,0xff,0x7a,0xf7,0xaf,0xf7,0xaf,0x7a,0xff, +0x7a,0xf7,0xaf,0xe9,0xff,0x7a,0xfe,0x9f,0x31,0xa3,0xfb,0xd2,0x7f,0xf5,0x6f,0xaf, +0xdb,0xd2,0xff,0xd2,0x6f,0xff,0x6f,0x4b,0xff,0x49,0xbf,0xfd,0xbd,0x2f,0xdf,0x4a, +0xff,0xe9,0xbd,0x7f,0x6f,0x4b,0xff,0xa6,0xf5,0xfd,0xbd,0x2f,0xfe,0x9b,0xd7,0xf6, +0xf4,0xbf,0x7d,0x2b,0xff,0x8b,0xd7,0xf4,0xff,0xbd,0x7f,0x4f,0xfb,0xd7,0xf4,0xff, +0xbd,0x7f,0x47,0x34,0xbd,0xfb,0xf5,0x7a,0xfe,0xfa,0x57,0xef,0xd5,0xeb,0xfb,0x7a, +0x5f,0xbf,0x57,0xaf,0xed,0xe9,0x7e,0xfd,0x58,0xf0,0x3b,0xe4,0x47,0x84,0x78,0x1c, +0x1c,0x3b,0x87,0x77,0x77,0x77,0xdd,0xf7,0xce,0x5c,0xef,0x3a,0x13,0xf8,0x7d,0xf7, +0xdf,0x7f,0xdf,0xff,0xf7,0xfd,0x7a,0xff,0xd2,0xd7,0x5d,0x2d,0x2c,0x2e,0x09,0x45, +0x55,0x55,0x42,0xa8,0x50,0xe1,0xc3,0xb8,0x77,0x77,0x77,0x39,0x74,0x4f,0x07,0xc3, +0x7b,0x78,0x7d,0xbf,0xdf,0xbd,0xff,0xbf,0xff,0xfe,0xbe,0xb5,0xad,0x2d,0x70,0xb9, +0xd0,0xa2,0x8f,0xaa,0xeb,0xaa,0xaa,0x85,0x55,0x0a,0x14,0x14,0x14,0xf0,0x10,0x00, +0x28,0x62,0x72,0x09,0xe7,0x58,0x6b,0x3a,0x84,0x58,0x20,0x78,0x20,0xf0,0x83,0xc2, +0x0f,0x08,0x3d,0x07,0x84,0xf4,0x1e,0x13,0xd3,0xd0,0x7a,0x78,0x4f,0x4f,0x4f,0x4f, +0x0b,0x4b,0x47,0x4e,0x2d,0x68,0xe9,0x09,0xad,0x04,0x0d,0x70,0x41,0x85,0xa4,0x1a, +0xd0,0x4d,0x74,0x1a,0xd0,0x4d,0x69,0x35,0xd3,0x5a,0x4d,0x74,0xd6,0x90,0xf5,0xaf, +0x5d,0x6b,0xd7,0xe9,0x7f,0x5f,0x1f,0x5f,0xfd,0x7f,0x7f,0xfd,0xf2,0x03,0xfe,0xff, +0x6f,0xfb,0xdf,0xbe,0xf7,0xef,0x6c,0xcc,0x4f,0x77,0xb6,0x9f,0x68,0x3d,0xb0,0x9e, +0xc3,0x4f,0xb4,0xf6,0x18,0x4f,0x6c,0x27,0xc1,0x84,0xf6,0x18,0x27,0xb3,0xa7,0x18, +0x1e,0xc5,0xed,0xf0,0xed,0x6d,0x6d,0x61,0xad,0xad,0x85,0xb5,0x86,0xb6,0x16,0x1a, +0xd8,0x58,0x61,0x61,0x85,0x86,0x16,0x0c,0x16,0x0c,0x16,0x75,0x86,0xb3,0xb1,0x1f, +0x00,0x3b,0x07,0x07,0x6e,0xc4,0xee,0xd6,0x83,0x83,0x83,0x87,0x0e,0x1d,0xc3,0xb8, +0x77,0x70,0xee,0xee,0xf9,0xcb,0x99,0x79,0xcf,0x25,0xc1,0xbc,0x37,0x87,0xc3,0x78, +0x6f,0x7d,0xbd,0xf6,0xf7,0xdb,0xdf,0xf6,0xf7,0xfd,0xbf,0xfd,0xfb,0xfd,0xff,0xff, +0xf7,0xfe,0xff,0xfa,0xfd,0x7f,0xff,0xf5,0xfe,0xb5,0xff,0xd2,0xfd,0x74,0xbf,0x4b, +0x5d,0x74,0xb5,0xd2,0xc2,0x5a,0xe1,0x2c,0x25,0x85,0xc1,0x2c,0xe6,0x54,0xc5,0x75, +0x55,0x50,0xaa,0xa1,0x54,0x2a,0x85,0x0a,0x0a,0x14,0x14,0x14,0xed,0x99,0x1d,0x83, +0x80,0xff,0xff,0xf9,0xcb,0xc1,0xff,0xff,0xff,0xff,0xff,0xcf,0x34,0x5f,0xff,0xff, +0xff,0xff,0xf9,0xcb,0xc1,0xff,0xff,0xff,0xff,0xff,0xf3,0x53,0xbf,0xff,0xfe,0xff, +0xff,0xf9,0xcb,0xc1,0xff,0xff,0xff,0xff,0xff,0xf3,0xcd,0x17,0xff,0xff,0xff,0xff, +0xfe,0x72,0xf0,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x28,0x62, +0x72,0x09,0xe7,0x58,0x6f,0x3a,0x84,0x78,0x20,0x78,0x41,0xe0,0x81,0xe1,0x07,0x84, +0x1e,0x83,0xc2,0x7a,0x0f,0x09,0xe8,0x3d,0x3c,0x27,0xa7,0xa7,0xa7,0xa7,0x41,0x75, +0xa3,0xa7,0x18,0xb4,0x74,0x85,0x16,0x82,0x06,0x16,0x81,0x03,0x5d,0x06,0xb4,0x13, +0x5a,0x41,0xae,0x13,0x5a,0x41,0xae,0x98,0x5a,0x4d,0x75,0x5a,0x43,0xd6,0xbd,0x75, +0xaf,0x5f,0xa5,0xff,0xd4,0x7d,0x67,0x3a,0xc3,0xff,0xd7,0xff,0x7f,0xff,0xf7,0xf2, +0x03,0xf6,0x76,0x85,0xff,0xfb,0x7f,0xf7,0xdf,0xdf,0xbe,0xfe,0xfb,0x7e,0xfb,0x7e, +0xfb,0x7e,0x1f,0x6c,0x2d,0x86,0xbb,0x0b,0x60,0xc1,0x6c,0x30,0x5b,0x3a,0x81,0x7b, +0x1f,0xbd,0xad,0xad,0xad,0xac,0x35,0xb5,0xb0,0xb0,0xd6,0xc2,0xc3,0x5b,0x0b,0x0c, +0x2c,0x30,0xb0,0xc1,0x60,0xc2,0xc1,0x82,0xce,0xb0,0xde,0x76,0x24,0x20,0x39,0x76, +0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xc7,0xff,0xff,0xe7,0x2e,0xc7,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,0xf0,0x28,0x65,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xcc,0x3c,0xad,0x7a,0x7d,0x35,0xad,0x69,0xae,0x9a,0xe9,0xae,0x83, +0x4b,0x4d,0x74,0x0c,0x2e,0x81,0x82,0x5a,0x1e,0x96,0xb1,0x52,0x03,0xda,0xda,0xdf, +0x6b,0x6b,0x6b,0x6b,0x0d,0x6d,0x61,0x85,0x86,0xb0,0xc2,0xc3,0x0b,0x06,0x16,0x0c, +0x16,0x73,0xc3,0x60,0x39,0x75,0x60,0x86,0x82,0xd7,0xad,0x2d,0x2d,0x2d,0x2d,0x2d, +0x2d,0x2e,0xb5,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,0xeb,0x4b,0x5d,0x2d,0x2d,0x2d,0x2d, +0x2e,0xb4,0xb4,0xb5,0xd2,0xd2,0xd2,0xd2,0xeb,0x4b,0x4b,0x4b,0x4b,0x5d,0x2d,0x2e, +0xb4,0xb4,0xb4,0xb5,0xd3,0x8b,0xee,0xef,0xbb,0xbe,0xef,0xbb,0x99,0x21,0x74,0xf4, +0xdd,0x37,0x57,0x4f,0x4d,0xd3,0x75,0x74,0xf4,0xdd,0x37,0x57,0xbd,0x37,0xb7,0xfb, +0x7b,0x7d,0xef,0xb7,0xb7,0xde,0xfb,0x7b,0x7d,0xef,0xb7,0xb7,0xde,0xfb,0x7b,0x7f, +0xb7,0xb7,0xb7,0xfb,0x7b,0x7b,0x7d,0x80,0x39,0x77,0x3f,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe, +0x69,0xaf,0xff,0xff,0xc0,0x39,0x78,0x57,0xb5,0xed,0x7b,0x5e,0xd7,0xb5,0xab,0xda, +0xf6,0xbd,0xaf,0x6b,0xda,0xd5,0xed,0x7b,0x5e,0xd7,0xb5,0xed,0x7b,0x56,0xbd,0xaf, +0x6b,0xcc,0x5c,0xb4,0x62,0xc7,0xfe,0xda,0x5f,0xfb,0x69,0x7b,0x5e,0xf5,0xed,0x7b, +0xd7,0xb4,0xbb,0xfd,0xb4,0xbf,0xf6,0xd2,0xff,0xdb,0x4b,0xda,0xf7,0xaf,0x6b,0xde, +0xbc,0x57,0x7e,0xd7,0xfb,0x5f,0xed,0x7f,0xb5,0xfe,0xd7,0xae,0xfd,0xaf,0xf6,0xbf, +0xda,0xff,0x6b,0xfd,0xae,0xd7,0xfb,0x5f,0xed,0x7f,0xb5,0xfe,0xd7,0xfb,0x5d,0xaf, +0xf6,0xbf,0xda,0xff,0x6b,0xfc,0x7f,0xff,0xe0,0x39,0x86,0x7e,0xf7,0xbf,0xbd,0xfd, +0xef,0x7f,0x7b,0xdf,0xde,0xf7,0xf7,0xbd,0xfd,0xef,0x7f,0x7b,0xdf,0xde,0xf7,0xf7, +0xbc,0xc5,0xcb,0xef,0xdb,0xf7,0xdb,0xef,0xef,0xb7,0xdb,0xef,0xef,0xb7,0xdb,0xef, +0xef,0xb7,0xdf,0xb7,0xef,0xb7,0xdf,0xb7,0xef,0xb7,0xdf,0xb7,0xef,0xb7,0xdf,0xb7, +0xe3,0xbd,0xef,0xef,0x7b,0xfb,0xde,0xfe,0xf7,0xbf,0xbd,0xef,0xef,0x7b,0xfb,0xde, +0xfe,0xf7,0xbf,0xbd,0xef,0xef,0x70,0x28,0x62,0x72,0x0d,0xe7,0x58,0x6b,0x3a,0x84, +0x58,0x20,0x78,0x20,0xf0,0x83,0xc2,0x0f,0x08,0x3d,0x07,0x84,0xf4,0x1e,0x13,0xd0, +0x7a,0x7a,0x78,0x4f,0x4f,0x4f,0x4f,0xbd,0x3d,0x1d,0x38,0xb7,0xa3,0xa4,0x26,0xf4, +0x10,0x3f,0x04,0x1b,0xd2,0x0d,0xe8,0x20,0xfd,0x37,0xa0,0x9b,0xd2,0x0f,0xd3,0x7a, +0x4f,0xd3,0x7a,0x5f,0x4d,0xea,0xfd,0x37,0xd7,0xab,0xf5,0x7e,0xfa,0x5f,0xb7,0xd7, +0xef,0x1f,0xf5,0xed,0xff,0xfa,0xff,0xef,0xff,0xfa,0x57,0xfc,0x80,0xd7,0xfe,0xeb, +0xd7,0x6f,0xf5,0xee,0xb7,0x5e,0xfe,0xd2,0xdd,0x7b,0x4b,0x6f,0xed,0x2d,0xb5,0xed, +0x2d,0xb0,0xbb,0x0d,0x2e,0xd2,0xd8,0x61,0x76,0xc2,0x5c,0x18,0x4b,0x61,0x85,0xd9, +0xd3,0x8c,0x5b,0x15,0xb5,0xd6,0xd6,0xd6,0xd6,0x1a,0xda,0xda,0xd8,0x58,0x6b,0x61, +0x61,0xad,0x85,0x86,0x16,0x18,0x58,0x61,0x60,0xc2,0xc1,0x82,0xce,0xb0,0xd6,0x76, +0x23,0xe0,0x3b,0x85,0x07,0x7a,0x8c,0x1c,0x1c,0x38,0x70,0xee,0x1d,0xdd,0xdd,0xdf, +0x77,0xdf,0x39,0x73,0xaf,0x07,0xc3,0x78,0x7d,0xbd,0xf7,0xdf,0x7e,0xfd,0xff,0xff, +0xff,0xeb,0xfd,0x2d,0x75,0xd2,0xd7,0x0b,0x84,0xb0,0x58,0xae,0xba,0xae,0xaa,0xaa, +0xaa,0x15,0x42,0x85,0x0a,0x0a,0x0a,0x77,0x0a,0x0e,0x5e,0x4f,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0x80,0x28,0x62,0x72,0x0d,0xe7,0x58,0x6b,0x3a,0x84,0x58,0x20, +0x78,0x20,0xf0,0x83,0xc2,0x0f,0x08,0x3d,0x07,0x84,0xf4,0x1e,0x13,0xd0,0x7a,0x7a, +0x78,0x4f,0x4f,0x4f,0x4f,0xbd,0x3d,0x1d,0x38,0xb7,0xa3,0xa4,0x26,0xf4,0x10,0x3f, +0x04,0x1b,0xd2,0x0d,0xe8,0x20,0xdf,0x4f,0xa0,0x9b,0xd2,0x0f,0xd3,0x7a,0x4f,0xd3, +0x7a,0x5f,0x4d,0xea,0xfd,0x37,0xd7,0xab,0xf5,0x7e,0xfa,0x5f,0xb7,0xd7,0xfc,0x6f, +0xf5,0x77,0xff,0xf5,0xff,0xdf,0xfc,0xcc,0x0f,0x4f,0xa6,0x95,0xa0,0xfe,0xf9,0x01, +0xa7,0xfa,0x6b,0xda,0x75,0xe9,0xae,0xda,0x0f,0xf4,0xd7,0xb4,0x2b,0x75,0xee,0xbb, +0x7d,0xdf,0xb6,0xb6,0xc3,0xf6,0xd6,0xdb,0xf6,0xd6,0xdb,0x5b,0x0d,0xfb,0x0d,0x6c, +0x3a,0xdb,0x0b,0xc1,0x85,0xd8,0x60,0x9e,0xce,0x9c,0x5b,0xd8,0xbd,0xbe,0x1e,0xde, +0xde,0xde,0x1a,0xda,0xdf,0x6b,0x0c,0xd0,0x8a,0xd8,0x41,0xac,0x34,0xd6,0xc2,0x6b, +0x0c,0x26,0xb0,0xc2,0x6b,0x0c,0x27,0xc1,0x84,0xd6,0x0c,0xe8,0x4e,0x2c,0xeb,0x0d, +0x0e,0x76,0x23,0xe0,0x3b,0x85,0x07,0x7a,0x8c,0x1c,0x1c,0x38,0x70,0xee,0x1d,0xdd, +0xdd,0xdf,0x77,0xdf,0x39,0x73,0xaf,0x07,0xc3,0x78,0x7d,0xf6,0xf7,0xdf,0x7e,0xfd, +0xff,0xff,0xff,0xeb,0xf5,0xae,0xba,0xe9,0x6b,0x85,0xc2,0x58,0x2c,0x57,0x5d,0x57, +0x55,0x55,0x50,0xaa,0xa1,0x42,0x85,0x05,0x0a,0xe7,0x2e,0x39,0xed,0xef,0xb7,0xde, +0xfb,0x7d,0xef,0xb7,0xde,0xde,0xfb,0x7d,0xef,0xb7,0xde,0xfb,0x7d,0xed,0xef,0xb7, +0xde,0xfb,0x7d,0xef,0xb7,0xb7,0xde,0xfb,0x7d,0xc0,0x28,0x4a,0x72,0x2a,0xa7,0x40, +0x73,0x39,0xc4,0x98,0x40,0xf0,0x81,0xe1,0x07,0x84,0x0f,0x08,0x3d,0x3d,0x07,0xa7, +0xa0,0xf4,0xf4,0x1e,0x9e,0x97,0xe9,0x75,0xa3,0x21,0xfe,0x73,0x84,0x96,0x82,0x06, +0xba,0x06,0xb4,0x83,0xf4,0x0d,0x74,0xd7,0x41,0xaf,0x0f,0xab,0x5e,0x1a,0xe9,0xfc, +0x7b,0xff,0xef,0xfb,0xe1,0xed,0xf0,0x7c,0x3e,0x74,0xad,0x6c,0xea,0x18,0xe7,0x58, +0xb6,0xce,0xbd,0x4e,0x76,0x69,0x6c,0xed,0x90,0xe0,0xf6,0x0f,0x61,0xec,0x3d,0x87, +0xb0,0xf6,0x1e,0x1b,0xdb,0xc3,0x78,0x6f,0x06,0xf0,0xde,0x0d,0xe0,0xde,0x74,0xac, +0xb3,0xa9,0x5f,0x9d,0x6a,0xbc,0xec,0x93,0x60,0xde,0x77,0x28,0x30,0xf8,0x6e,0x1e, +0xf7,0xbf,0xf3,0x0d,0x4f,0x4f,0xa7,0xef,0xa0,0xd6,0x9d,0x68,0x3f,0x41,0xae,0x83, +0x5d,0x06,0x97,0x0d,0x74,0x0c,0x2e,0x8e,0x8c,0xa2,0xd1,0xd5,0x09,0xe8,0x54,0x72, +0x04,0xb7,0xda,0xda,0xc3,0x5b,0x58,0x6b,0x6b,0x0d,0x61,0xac,0x30,0xb0,0xc2,0xc1, +0x85,0x83,0x0b,0x06,0x0b,0x3a,0x13,0xb9,0xd3,0x92,0x80,0xff,0xff,0xf9,0x42,0x23, +0x97,0x4f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x39,0x76,0x7f, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xd7,0xfe,0x40,0x5a,0x5f,0xff,0xda,0xff, +0xb6,0x97,0xfd,0xae,0xda,0x5d,0xaf,0xfb,0x69,0x70,0xc2,0xed,0xa5,0xda,0xec,0x30, +0x97,0x06,0x0b,0xb0,0x60,0x96,0xc5,0x7e,0xd6,0xd6,0xd7,0x5b,0xed,0x6d,0x61,0x85, +0xb5,0xb5,0xb0,0xb0,0xd6,0x18,0x5b,0x0b,0x0d,0x60,0xc1,0x60,0xc1,0x60,0xc1,0x67, +0x50,0x46,0x39,0xa7,0xb2,0x02,0xeb,0xfe,0xd2,0xdf,0xf4,0xb6,0xff,0xf6,0xd2,0xff, +0xd2,0xdb,0xff,0xdb,0x4b,0xff,0x4b,0x6f,0xff,0x6d,0x2f,0xfd,0x2d,0xbf,0xfd,0xb4, +0xbf,0xf4,0xb6,0xff,0xf6,0xd2,0xff,0xd2,0xdb,0xfe,0xb6,0xd7,0xff,0x4b,0x6f,0xfa, +0xdb,0x5f,0xf6,0xd2,0xff,0xeb,0x6d,0x7f,0xdb,0x4b,0xff,0x4b,0x6f,0xff,0x6d,0x2f, +0xfd,0x2d,0xbf,0xfd,0xb4,0xbf,0xf4,0xb6,0xff,0xf6,0xd2,0xff,0xd2,0xdb,0xfe,0xb6, +0xd7,0xff,0x4b,0x6f,0xfa,0xdb,0x5f,0xf7,0x4b,0xbf,0xeb,0x63,0xfd,0xaf,0xeb,0x7f, +0xda,0xfe,0xb7,0xfd,0xaf,0xeb,0x7f,0xda,0xfe,0xb7,0xeb,0x7f,0xeb,0x7e,0xb7,0xfd, +0xaf,0xeb,0x78,0x38,0xd1,0x59,0xc6,0x4b,0x24,0x07,0x6b,0xd6,0xbf,0xf6,0xef,0xf5, +0x4b,0xff,0x7b,0xfb,0x54,0xbf,0xfe,0xfd,0xb5,0xff,0x4b,0xef,0xdd,0x7e,0xfa,0xfb, +0x5d,0xd7,0xfe,0xbb,0xb5,0xf5,0xf7,0xfe,0xee,0xbd,0x57,0x7f,0xfb,0xae,0xd7,0xdf, +0x5f,0xba,0xf5,0xfb,0xd7,0x7b,0xfd,0x6b,0xbf,0xde,0xd7,0xd1,0x86,0x0e,0xbf,0x7f, +0x6e,0xaf,0xf5,0xd2,0xfd,0xfd,0xea,0xfe,0xd7,0x5f,0xde,0xbe,0xaf,0xdb,0x5f,0xfd, +0xd2,0xfa,0xbf,0x75,0xfe,0xf7,0xaf,0xad,0x77,0x5b,0xff,0x7a,0xee,0xb5,0xf5,0xbf, +0x7d,0xfe,0xeb,0xaf,0x5b,0x5d,0xf7,0xfe,0xba,0xed,0x5b,0xf7,0xf5,0xfa,0xeb,0xd5, +0xbf,0xbf,0x5d,0xeb,0xff,0x6e,0xbb,0x4b,0xf7,0xf5,0xfd,0xba,0xf4,0xbf,0x6f,0xff, +0xd8,0xae,0x2b,0xdf,0xf7,0xea,0xbf,0xdd,0xfa,0xaf,0xf7,0x7e,0xab,0xfd,0xdf,0xaf, +0xeb,0xdf,0x6b,0xf6,0xbf,0xda,0xfd,0xaf,0xf6,0xbf,0x7e,0xab,0xfd,0xdf,0xaa,0xff, +0x77,0xea,0xbf,0xdd,0xfa,0xaf,0xf7,0x7e,0xb8,0x39,0xc6,0x72,0x02,0xd2,0xde,0xb6, +0xd7,0x6d,0x2e,0xd2,0xdf,0xdb,0x4b,0x6d,0x2e,0xd2,0xdf,0xdb,0x4b,0xb4,0xb7,0xad, +0xb5,0xdb,0x4b,0xb4,0xb7,0xad,0xb5,0xed,0x2d,0xb4,0xb7,0xf6,0xd2,0xed,0x2d,0xeb, +0x6d,0x76,0xd2,0xed,0x2d,0xeb,0x6d,0x7b,0x4b,0x6d,0x2d,0xeb,0x6d,0x7b,0x4b,0x7a, +0xd8,0xf6,0xba,0xda,0xdf,0xad,0xad,0xad,0xfa,0xda,0xdf,0xad,0xad,0xad,0xfa,0xda, +0xdf,0x4f,0x4f,0x5e,0xf4,0xf4,0xf5,0xef,0x4f,0x4f,0xf4,0xf4,0xf5,0xef,0x4f,0x4f, +0x5e,0x63,0x65,0xe9,0x5e,0x93,0x7a,0x4f,0xed,0xe9,0x5e,0x93,0x7d,0x3e,0xad,0xe9, +0x5e,0x93,0xfb,0x7a,0x57,0xa4,0xde,0x93,0xfb,0x7a,0x57,0xa4,0xde,0x93,0xfb,0x7a, +0x57,0xa4,0xfd,0x37,0xad,0xe9,0x37,0xa4,0xfd,0x37,0xad,0xe9,0x37,0xa4,0xfe,0xde, +0x95,0xe9,0x3e,0x93,0x71,0xd8,0x39,0xb6,0xd2,0x03,0x4b,0xbf,0x6d,0x2f,0xad,0xb5, +0xdd,0x2e,0xfd,0xd2,0xee,0xb7,0x5d,0xb4,0xbb,0xad,0xd7,0xba,0xdd,0x76,0xeb,0xd2, +0xdb,0x5e,0xeb,0x75,0xdb,0xaf,0x4b,0x6d,0x77,0xae,0xd7,0x6e,0xbd,0x2d,0xb5,0xde, +0xbb,0x5d,0xeb,0xb4,0xb7,0xf6,0xd2,0xed,0x77,0xae,0xd2,0xdf,0xdb,0x4b,0xd2,0xdb, +0xf6,0xd2,0xff,0x6d,0x2f,0x4b,0x6f,0xd8,0xaf,0xda,0xeb,0x7d,0xaf,0xda,0xeb,0x7d, +0xaf,0xda,0xeb,0x7d,0xaf,0xda,0xda,0xfd,0xae,0xb7,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x20,0x28, +0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xd6,0x77,0x07,0x74,0xb5,0xeb, +0x4b,0x4b,0x4b,0x4b,0xf4,0xb4,0xb4,0xb4,0xb5,0xeb,0x4b,0x4b,0x4b,0x4b,0xf4,0xb4, +0xb4,0xb4,0xb5,0xeb,0x4b,0x4b,0x4b,0x5e,0xb4,0xb4,0xb4,0xb4,0xbf,0x4b,0x4b,0x4b, +0x4b,0x5e,0xb4,0xb4,0xb4,0xb4,0xbf,0x4b,0x4b,0x4b,0x4b,0x5e,0xb4,0xb4,0xb4,0xb4, +0xbf,0x4b,0x4b,0x4b,0x4b,0xf4,0xb4,0xb4,0xb4,0x6a,0xfe,0xbc,0x7f,0xff,0xf0,0xff, +0xfe,0x74,0x9e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x55,0xbf,0xff, +0x00,0x39,0x87,0x19,0x01,0x7f,0xb7,0xfd,0xef,0xfb,0x7f,0xb7,0xfd,0xef,0xfb,0x7f, +0xb7,0xfd,0xef,0xfb,0x7f,0xde,0xff,0xb7,0xfb,0x7f,0xde,0xff,0xb7,0xfb,0x7f,0xde, +0xff,0xb7,0xfb,0x7f,0xfb,0x7f,0xb7,0xfd,0xef,0xfb,0x7f,0xb7,0xfd,0xef,0xfb,0x7f, +0xb7,0xfd,0xef,0xfb,0x7f,0xde,0xff,0xb7,0xfb,0x7f,0xde,0xff,0xb7,0xfb,0x7f,0xde, +0xff,0xb7,0xfb,0x7f,0xfb,0x7f,0xb7,0xfd,0xef,0xfb,0x7f,0xb7,0xfd,0xef,0xfb,0x7f, +0xb7,0xfd,0xef,0xfb,0x7f,0xde,0xff,0xb7,0xfb,0x7f,0xde,0xff,0xb7,0xfb,0x60,0xff, +0xfe,0x50,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,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xff,0xe0,0x28,0x5c,0xe8,0xb1, +0xf4,0xff,0x4f,0xf4,0xf4,0xff,0x4f,0xf4,0xff,0x4f,0x98,0xf3,0xd6,0xfa,0x7d,0x6f, +0x49,0xbf,0xf4,0x9b,0xeb,0xd5,0xbe,0xbd,0x5b,0xeb,0xd5,0xbd,0x2f,0xdb,0xd2,0xfd, +0xbd,0x2b,0xf7,0xd2,0x6f,0xfd,0x26,0xff,0xd2,0x6f,0x5f,0xa6,0xf4,0xbf,0x6e,0x2a, +0xc0,0xff,0xf8,0x28,0x40,0xb9,0x29,0xca,0x37,0x2d,0x4a,0x2e,0x40,0x9e,0xfb,0x7b, +0x7b,0x7b,0xe1,0xbd,0xbd,0xbd,0xf6,0xf6,0xf6,0xf7,0xc3,0x7b,0x7b,0x7b,0xed,0xed, +0x80,0x28,0x42,0x71,0xe8,0x27,0x38,0x67,0x39,0x84,0x19,0xca,0x26,0xc1,0x07,0x84, +0x1e,0x08,0x3c,0x27,0x82,0x7b,0x7d,0xed,0xf7,0xb7,0xfb,0x7d,0xef,0xb3,0x91,0x18, +0xf9,0xc6,0x15,0xec,0x10,0x6f,0x82,0x7d,0x82,0x7c,0x5b,0xdf,0x7f,0xdf,0xbf,0x39, +0xb1,0xcf,0x39,0x72,0xfc,0xe4,0xcf,0xf0,0x81,0xf0,0x87,0x0b,0x58,0x5a,0xd6,0xb5, +0xaf,0xad,0x1c,0xf0,0xbe,0x08,0xe4,0xce,0x50,0x47,0x32,0x63,0x08,0x3e,0xba,0x5f, +0xf5,0xff,0x58,0xff,0x5e,0x40,0x5a,0xf5,0xdf,0xc2,0xed,0x70,0xc2,0xdb,0x0b,0x83, +0x38,0xa4,0x96,0x3f,0x7f,0x7b,0xde,0xcc,0xb8,0xed,0x76,0x17,0x6b,0x86,0x17,0x0c, +0x2e,0x18,0x5c,0x18,0x2e,0x73,0x03,0x44,0x39,0x78,0x3f,0xff,0xff,0xff,0xff,0xff, +0xff,0xce,0x54,0x66,0x72,0x25,0x70,0x41,0xe1,0x03,0xc2,0x0f,0x09,0xe8,0x3c,0x27, +0xa7,0xa7,0xa7,0xa7,0x17,0x77,0x7d,0xf3,0x28,0xee,0x74,0x83,0xf0,0x83,0x70,0x83, +0xc2,0x6e,0x83,0xd3,0xd3,0x7f,0x4f,0x4d,0xfd,0x3f,0xfd,0x37,0xff,0xbf,0xff,0xff, +0x5f,0xfb,0xad,0x6f,0xd7,0xed,0x2b,0x5b,0xf4,0xad,0x61,0x85,0xb4,0xa1,0x85,0x86, +0x12,0x99,0x47,0xc5,0x75,0x5d,0x54,0xc5,0xca,0xda,0xda,0xda,0xda,0xda,0xc3,0x0b, +0x6b,0x0c,0x2c,0x18,0x2c,0x30,0x52,0x85,0x87,0x18,0x80,0x28,0x4a,0x71,0xc7,0x67, +0x40,0x63,0x04,0x0f,0x08,0x1e,0x08,0x3c,0x20,0xf4,0xf0,0x83,0xd3,0xc2,0x7a,0x0f, +0x4f,0x4f,0x4e,0x96,0x96,0x96,0x97,0x0b,0x46,0x45,0x96,0x8e,0x7c,0x72,0xe1,0x03, +0x5a,0x08,0x35,0xa0,0x9a,0xe9,0x85,0xa4,0xd7,0x4d,0x74,0x3a,0x5f,0xa5,0xd7,0xff, +0x51,0xf5,0xff,0xfd,0xfc,0x80,0xfb,0xfe,0xf7,0xef,0xbd,0xfb,0x32,0x13,0xda,0x7b, +0x69,0xf0,0xc2,0x7b,0x69,0xec,0x30,0x83,0xe1,0x82,0x7b,0x32,0x2c,0xf6,0x2f,0xbd, +0x87,0xb7,0xb7,0x7b,0x5b,0x5b,0x5b,0x0b,0x0d,0x6d,0x61,0x85,0xb5,0x86,0x16,0x18, +0x58,0x30,0x58,0x30,0x59,0xd2,0x8e,0x80,0x28,0x81,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xce,0x78,0x6f,0x39,0xa2,0xbc,0x10,0x3e,0x10,0x7c,0x20,0xf8, +0x4f,0xa0,0xf8,0x4f,0xa7,0xd0,0x7d,0x3e,0xbd,0x3e,0x87,0xeb,0x5f,0x5c,0xc8,0xf6, +0x8e,0x80,0x7f,0x04,0x1e,0x82,0x0f,0xa7,0xa4,0xfa,0x7d,0x3d,0x27,0xd7,0xdf,0x4e, +0x3d,0x77,0xeb,0xf7,0xff,0xff,0xff,0xaf,0x7f,0xab,0xc8,0x0f,0xda,0xf5,0xdf,0x6d, +0x76,0xbb,0x5b,0x6b,0x86,0xb6,0xc2,0xe0,0xc2,0xd9,0x91,0xfe,0x3b,0xfb,0xdf,0xde, +0xcc,0xd4,0xed,0x76,0xbb,0x5d,0xae,0x18,0x5d,0xae,0x18,0x5c,0x30,0xb8,0x61,0x70, +0x60,0xb9,0xcf,0x0d,0x10,0x28,0x46,0x71,0xe9,0xa7,0x3c,0x63,0x04,0x73,0xe7,0xa1, +0x07,0x82,0x0f,0x41,0xe1,0x3c,0x20,0xf4,0xf4,0xf4,0xf0,0x9e,0x9e,0x9f,0x7a,0xe9, +0xe9,0xf3,0x9f,0x13,0xd1,0xce,0x10,0x7a,0x08,0x3f,0x08,0x37,0xa4,0xfd,0x37,0xa4, +0xfd,0x37,0xd3,0xe9,0x7e,0xdf,0x5e,0xbf,0x4f,0xf7,0xc7,0xf1,0xff,0x7f,0xce,0x5a, +0x11,0x01,0xff,0x7f,0xde,0xfd,0xfe,0xdf,0x66,0x48,0x77,0x4f,0xb4,0xf6,0xc2,0x7c, +0x30,0x9e,0xd8,0x4f,0x83,0x04,0xf6,0x0c,0xe2,0x8b,0xec,0x5f,0x7b,0x7b,0x7b,0x7b, +0x7b,0x0b,0x6b,0x6b,0x0d,0x6c,0x2c,0x30,0xb6,0x16,0x18,0x58,0x61,0x60,0xc1,0x60, +0xce,0x61,0x0c,0xe9,0x07,0xc0,0x28,0x78,0xe5,0x9f,0x3b,0x49,0x61,0x03,0xc2,0x0f, +0x41,0xe9,0xe1,0x3d,0x3f,0x4b,0x5e,0xb5,0xd7,0xaf,0xd2,0xfe,0x66,0xb7,0xa0,0x6b, +0x49,0xfa,0x1e,0xbf,0xfa,0xff,0xff,0xff,0x89,0xa8,0xbf,0xff,0xff,0xff,0xfe,0x50, +0x59,0xd6,0x5f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xc0,0x28,0x3c,0x71,0xab,0x67,0x34,0x54,0xe4,0x0b,0xc1,0x03,0xe1,0x07,0xc2, +0x0f,0x84,0x1f,0x09,0xf4,0xfa,0x0f,0xa7,0xd3,0xeb,0xd0,0xeb,0x5f,0x5f,0x5a,0x32, +0x5d,0xce,0x80,0x7f,0x08,0x3d,0x04,0x1f,0x41,0xe9,0x3e,0x9f,0x4f,0xae,0x93,0xff, +0x4f,0xfe,0xfa,0xc7,0xff,0xff,0xfc,0x80,0xbf,0xaf,0xff,0xb5,0xfd,0xb5,0xda,0xef, +0xda,0xdb,0x5d,0x85,0xb0,0xc2,0xe1,0x85,0xcc,0x93,0xec,0x77,0xf7,0xf7,0xbd,0x99, +0xa1,0xda,0xed,0x76,0xbb,0x5d,0xae,0x18,0x5c,0x35,0xd8,0x5c,0x18,0x5c,0x18,0x2e, +0x73,0xc3,0x38,0xf5,0xfe,0x96,0xb9,0x87,0x1f,0x86,0xbd,0x84,0xb4,0x1a,0xf0,0xc2, +0x5a,0x06,0x17,0x9c,0x89,0x4e,0x8e,0x60,0x4a,0xe2,0xb5,0xeb,0x4b,0xad,0x7a,0xd2, +0xe1,0x6d,0x61,0xac,0x30,0xb6,0xb0,0x61,0x61,0x85,0x83,0x0b,0x06,0x0b,0x39,0xc3, +0x99,0xd1,0x10,0x80,0x39,0x77,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xce,0x48,0x66, +0x71,0xc5,0x30,0x40,0xf0,0x83,0xc2,0x7a,0x0f,0x09,0xe9,0xe9,0xe9,0xf7,0x17,0x7d, +0xf7,0xdc,0xc9,0x36,0x08,0xe3,0x4e,0xc1,0x06,0xe9,0xe9,0xe9,0xe9,0xb4,0xeb,0xba, +0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0x00,0x28,0x49,0x7c,0x20,0x83,0xd0,0x7a,0x7a,0x7a,0x7a,0xf7, +0x1f,0x7e,0xb9,0x01,0xf5,0xbe,0xd6,0xd6,0xd6,0xc2,0xc1,0x85,0x8f,0xff,0xff,0xe5, +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,0x80,0x28,0x68,0xbc,0xf8,0x40,0xf0, +0x9e,0x9e,0x9e,0x9f,0x7a,0xfe,0x9f,0xff,0xff,0x6b,0xf6,0xbf,0x6b,0x6b,0x6b,0x0c, +0x2c,0x30,0xb1,0xff,0xff,0xfc,0xe9,0xad,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xfa,0xff,0xfe,0xba,0xe4,0x45,0x79,0x35,0xf1,0xf5,0xff,0xd6,0xbd,0x7f,0x5d,0x75, +0xf1,0x50,0xaa,0xa4,0x08,0x2c,0x18,0x59,0xca,0x32,0x39,0x77,0x3f,0xff,0xff,0xff, +0xff,0xff,0xff,0xf3,0x9d,0x37,0xad,0x2d,0x2d,0x2d,0x2d,0x74,0xba,0xd2,0xd2,0xd2, +0xd2,0xd2,0xfd,0x2d,0x2d,0x2d,0x2d,0x2d,0x2f,0xd2,0xd2,0xd2,0xd2,0xd2,0xeb,0x4b, +0x5d,0x2d,0x2d,0x2d,0x2e,0xa2,0xbe,0xef,0xbb,0xee,0xef,0xbb,0xe6,0x40,0x5d,0x5d, +0x3d,0x37,0x57,0x4d,0xd3,0xd5,0xed,0xd3,0xd5,0xed,0xef,0xde,0xde,0xdf,0xed,0xed, +0xfe,0xde,0xdf,0xed,0xed,0xf7,0xbe,0xdf,0x7b,0x60,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x28,0x4e,0x71,0x89,0xce,0x30,0xd1,0xcb, +0x8c,0x06,0x74,0x05,0x30,0x81,0x82,0x07,0x84,0x18,0x41,0xe1,0x06,0x10,0x7a,0x61, +0x3d,0x06,0x83,0xd3,0x4f,0x4d,0x3d,0x34,0xfb,0x4e,0x2d,0x7b,0x8b,0xef,0xbe,0x64, +0x94,0xcb,0xeb,0x9c,0xf8,0xd3,0xa8,0x19,0x84,0x18,0x41,0xe9,0x84,0xdd,0x34,0xf4, +0xd3,0xd3,0x4f,0x4e,0xfd,0x7f,0xd3,0x4f,0xf7,0xff,0xdd,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x28,0x52,0x71,0x86,0xce,0x5c, +0x71,0xca,0x17,0x82,0x07,0x84,0x1e,0x13,0xd0,0x78,0x4f,0x4f,0x4f,0x4e,0x2e,0xef, +0xbe,0xfb,0x99,0x26,0xc1,0x1c,0x69,0xe8,0x41,0xe1,0x3d,0x3d,0x3d,0x36,0x9d,0x77, +0xeb,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xe0,0x28,0x4a,0x71,0xc9,0x67,0x40,0x63,0x04,0x0f,0x04,0x0f, +0x08,0x3c,0x20,0xf0,0x83,0xd3,0xc2,0x0f,0x4f,0x4f,0x41,0xe9,0xe9,0xe9,0xe9,0xeb, +0xa7,0xa7,0xcc,0x8b,0x3d,0x1c,0xf8,0xee,0x82,0x06,0xf8,0x41,0xf4,0x13,0x7d,0x3e, +0x93,0x7d,0x3e,0x93,0x7d,0x3f,0x4f,0xad,0xf4,0xff,0xf4,0xdf,0xc6,0xeb,0xff,0xff, +0xff,0xfd,0xe4,0x06,0xbe,0xbb,0x5f,0xfb,0x5d,0xeb,0xb5,0xed,0x76,0xd2,0xed,0x76, +0xd2,0xed,0x76,0x1a,0x5d,0x85,0xd8,0x30,0x4b,0x66,0x45,0x97,0x1e,0xd6,0xd6,0xd6, +0xfb,0x5b,0x5b,0x5b,0x0b,0x6b,0x6b,0x0c,0x2d,0xac,0x30,0xb0,0xc2,0xc3,0x0b,0x06, +0x0b,0x06,0x0b,0x3a,0x51,0xd0,0x28,0x58,0x71,0x88,0x0e,0x5c,0x81,0xcb,0x1b,0x84, +0x1e,0x08,0x1e,0x83,0xc2,0x78,0x41,0xe9,0xe9,0xe9,0xe9,0xe9,0xc5,0xdd,0xdf,0x7c, +0xca,0x3b,0x9d,0x20,0xfc,0x20,0xdc,0x20,0xf0,0x9b,0xa0,0xf4,0xf4,0xdf,0xd3,0xd3, +0x7f,0x4f,0xff,0x4d,0xff,0xef,0xff,0xff,0xd7,0xfe,0xeb,0x5b,0xf5,0xfb,0x4a,0xd6, +0xfd,0x2b,0x58,0x61,0x6d,0x28,0x61,0x61,0x84,0xa6,0x51,0xf1,0x5d,0x57,0x55,0x31, +0x72,0xb6,0xb6,0xb6,0xb6,0xb0,0xd6,0xc2,0xc3,0x5b,0x0b,0x06,0x0b,0x0c,0x16,0x72, +0xa3,0x31,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x28,0x3c,0x71,0xab,0x67,0x34,0x54, +0xe4,0x4b,0xc1,0x03,0xe1,0x07,0xc2,0x0f,0x84,0x1f,0x4f,0x84,0xfa,0x0f,0xa7,0xd3, +0xe9,0xf4,0x3a,0xfa,0xd7,0xd7,0x32,0x3d,0xa3,0xa0,0x1f,0xc1,0x07,0xa0,0x83,0xe9, +0xe9,0x3e,0x9f,0x4f,0x49,0xf5,0xf7,0xd3,0x8f,0x5d,0xfa,0xfd,0xff,0xff,0xff,0xeb, +0xdf,0xea,0xf2,0x03,0xf6,0xbd,0x77,0xdb,0x5d,0xae,0xd6,0xda,0xe1,0xad,0xb0,0xb8, +0x30,0xb6,0x64,0x7f,0x8e,0xfe,0xf7,0xf6,0x66,0xc7,0x6b,0xb5,0xda,0xed,0x76,0xb8, +0x6b,0xb0,0xb8,0x6b,0x86,0x17,0x0c,0x2e,0x0c,0x17,0x39,0xe1,0xbc,0x7f,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x28,0xb6,0x75,0xd2,0xc1,0x61,0x61,0x6b,0x0b, +0x5a,0xd6,0xb5,0xaf,0xa8,0xf9,0xee,0x28,0xf4,0x20,0x0a,0x14,0x2a,0xaa,0xaa,0xaa, +0xeb,0xaf,0xaf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x28,0x3a, +0x71,0xc7,0x67,0x30,0x67,0x04,0x0f,0x08,0x1e,0x10,0x3c,0x20,0xf4,0x1e,0x10,0x7a, +0x0f,0x41,0xe9,0x7e,0x96,0x97,0xe9,0x73,0x99,0x15,0xd0,0x47,0x20,0x4b,0x84,0x0f, +0xd0,0x6b,0xc1,0xad,0x20,0xfe,0x1a,0xf7,0xf1,0xfe,0xfb,0xe1,0xf0,0x7c,0xe8,0x12, +0x58,0x3e,0x74,0xc7,0x70,0x7b,0x3a,0xc2,0xd8,0x7b,0x07,0xb0,0xf6,0x1e,0xc3,0xdb, +0xdb,0xc3,0x7b,0x78,0x6f,0x06,0xf0,0x7c,0x1b,0xce,0x79,0x36,0x74,0x48,0xf3,0xa6, +0x3f,0x83,0xe0,0xf8,0x6e,0xf7,0x98,0x49,0x7d,0xf4,0x1f,0x87,0xd3,0xe8,0x1a,0xe1, +0xd6,0x81,0xae,0x81,0x85,0xe7,0x38,0x2b,0xa1,0x5a,0xf5,0xac,0x54,0x80,0xac,0x3e, +0xd6,0x1a,0xd8,0x58,0x6b,0x0d,0x60,0xc2,0xc3,0x0b,0x39,0x44,0x38,0x33,0x9a,0x2f, +0x39,0xd1,0xf0,0x28,0x2c,0xeb,0x2f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xe2,0x6a,0x2f,0xff,0xff,0xff,0xff,0x94,0x16,0x75,0x97,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd, +0xff,0x7e,0x63,0x4f,0x0c,0x2f,0x0c,0x17,0x8b,0xdf,0xfb,0xdf,0xfb,0xdf,0x6f,0xf7, +0xdb,0xb5,0xb5,0xb0,0xb0,0xd6,0x18,0x58,0x60,0xb3,0xbc,0x54,0x39,0x64,0x3f,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xf7,0xd7,0xf6,0xbd,0xa9,0x01,0xae,0xfd,0x85,0xda,0xed,0x6c,0x30,0xb9,0x90,0xee, +0x3b,0xfb,0xfb,0xfb,0xd9,0x97,0x9d,0xae,0xd7,0x6b,0xb5,0xda,0xe1,0x85,0xd8,0x5c, +0x18,0x5c,0x30,0x5c,0xe6,0x06,0x08,0x39,0x85,0x72,0x02,0xeb,0xd7,0x6f,0xf4,0xb7, +0xfb,0xaf,0x5d,0xba,0xff,0x75,0xee,0xb7,0x5e,0xeb,0xfd,0xd2,0xef,0xdd,0x7e,0xb6, +0xff,0x4b,0xbf,0x7a,0xf5,0xdb,0xfd,0x2d,0xbf,0xeb,0x75,0xee,0xbd,0x76,0xff,0xad, +0xd7,0xba,0xdd,0x7b,0xaf,0xf7,0x5e,0xeb,0x7f,0xb4,0xb7,0xfd,0x2e,0xfd,0xfe,0xd2, +0xdf,0xf4,0xb6,0xff,0xae,0xd7,0x7f,0xeb,0x63,0xeb,0x7e,0xb7,0xfe,0xb7,0xeb,0x7f, +0xda,0xfe,0xb7,0xeb,0x7f,0xda,0xfe,0xb7,0xeb,0x7f,0xda,0xf8,0x39,0x73,0xe7,0x26, +0x7e,0x40,0x77,0x5d,0xaf,0xbe,0xbf,0x75,0xdf,0xee,0xbf,0xda,0x5f,0xfb,0x6b,0xfd, +0xa5,0xff,0xb6,0xbf,0xe9,0x7d,0xfb,0x6b,0xff,0x5f,0x6b,0xba,0xfd,0xf5,0xf6,0xbb, +0xaf,0xdf,0x5f,0x7e,0xfa,0xf6,0xb5,0xbd,0xff,0xaf,0x6b,0x5b,0xdf,0xfa,0xfa,0xd6, +0xdc,0xc4,0xcb,0xff,0x7f,0xd7,0x4b,0x6e,0xbf,0xf6,0xff,0x5d,0x2d,0xba,0xff,0xef, +0xfd,0xd2,0xdd,0x7f,0xba,0xbf,0xf7,0xad,0xd7,0x5e,0xea,0xff,0xde,0xb7,0x5d,0x7b, +0xab,0xff,0xeb,0x63,0x63,0xff,0xaa,0xdd,0xff,0xea,0xb7,0x7f,0xae,0xbd,0xff,0x6b, +0xfd,0xaf,0xda,0xff,0x6b,0xf6,0xbf,0xda,0xfd,0xaf,0xf6,0xbf,0xad,0xdf,0xfe,0xab, +0x77,0xff,0xaa,0xdd,0xff,0x80,0x20,0x27,0x32,0x80,0x21,0xb6,0x96,0xe9,0x77,0xed, +0xa5,0xba,0x5d,0xfb,0x69,0x6d,0xa5,0xba,0xf7,0x5b,0x69,0x6e,0x97,0x7e,0xda,0x5b, +0xa5,0xb7,0xf6,0x96,0xe9,0x6d,0xd7,0x6b,0xb6,0x96,0xe9,0x6c,0x7d,0x6d,0x6d,0x7e, +0xd6,0xd7,0xed,0x6d,0x6d,0x7e,0xd6,0xd7,0xed,0x6d,0x7f,0x7a,0x7a,0xe9,0xf7,0xa7, +0xae,0x9f,0x7a,0x7a,0xf7,0xa7,0xae,0x9f,0x7a,0x31,0x82,0xf4,0x9f,0x5b,0xe9,0xbd, +0x26,0xf4,0x9f,0x5b,0xe9,0xbd,0x27,0xd2,0xbf,0x6f,0x49,0xbd,0x27,0xd6,0xfa,0x6f, +0x49,0xf4,0x9b,0xd6,0xfa,0x6f,0x49,0xf4,0xaf,0x56,0xfa,0x6e,0x29,0xb0,0x39,0x85, +0x1d,0x48,0x0f,0xed,0x77,0xaf,0xfb,0x5d,0xeb,0xfd,0xb4,0xbf,0xef,0xdd,0x2f,0xf6, +0xeb,0xd7,0xfd,0xba,0xf5,0xdb,0xaf,0x5d,0xfe,0xeb,0xd7,0x7f,0xba,0xdd,0x7b,0xaf, +0xf7,0x5e,0xeb,0x7f,0xd2,0xef,0xdf,0xed,0x2d,0xff,0xad,0xb5,0xff,0xd2,0xdb,0xff, +0xdb,0x4b,0xff,0xad,0xb5,0xff,0x7a,0xed,0x7e,0xb7,0xfb,0x5d,0xeb,0xbf,0x74,0xbf, +0xe3,0xda,0xfd,0xaf,0xfd,0xaf,0xdf,0xaf,0xda,0xfd,0xfa,0xdf,0xaf,0xdf,0xad,0xfa, +0xfd,0xfa,0xff,0xd2,0xfd,0x2d,0x73,0x0a,0x35,0xda,0xf0,0x61,0x2d,0x03,0x0b,0xc5, +0x7e,0x97,0xf5,0xa5,0xd7,0x5d,0x69,0x75,0xd6,0x96,0x0c,0x2c,0x18,0x59,0xc7,0x94, +0xce,0x4c,0x64,0x20,0x3f,0xff,0xff,0xff,0xff,0xff,0xfd,0x75,0x9d,0x41,0xbd,0x2d, +0x2d,0x2e,0xb4,0xb5,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,0xeb,0x4b,0x5d,0x2d,0x2d,0x2d, +0x2d,0x2d,0x2e,0xb4,0xb5,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,0xeb,0x4b,0x5d,0x2d,0x2d, +0x2d,0x2d,0x2d,0x2e,0xb5,0xd2,0xd1,0xa2,0x2a,0x8f,0xff,0xfc,0x28,0xc4,0x21,0x9e, +0xa2,0xb3,0xca,0x7e,0x0b,0x82,0xe0,0xba,0x78,0x5d,0x70,0xba,0xfe,0xba,0x74,0x0b, +0x9d,0xc2,0xa8,0xec,0x9d,0x85,0xc2,0xd0,0x5d,0x7f,0x5f,0xaf,0xf5,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xeb,0xff,0xff,0xaf,0xeb,0xa5,0xae,0x17, +0x04,0xa2,0xba,0xaa,0x85,0x0a,0xa0,0xee,0x1d,0xdf,0x20,0xcf,0x07,0xc3,0x7b,0xed, +0xef,0xfb,0xff,0xff,0xfe,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xf7,0xff,0xbf,0x7d,0xfe,0xc3,0xef,0x83,0xd8,0x3e,0x68,0x6d,0x83,0xb5,0xfb,0xef, +0xbe,0x1f,0x7c,0x35,0x87,0xc1,0xf0,0x7c,0xf4,0x97,0x9b,0x09,0x00,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x20,0x45, +0x5a,0x51,0xcb,0xb3,0x39,0xf4,0x67,0x4e,0x4c,0x1f,0x0f,0x87,0xdc,0x43,0xbb,0xbb, +0xe4,0x09,0xe5,0xee,0x67,0x2d,0x9c,0x1f,0x0d,0xef,0xbf,0xed,0xff,0xef,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xed,0xf7,0xde, +0xc3,0xe0,0xf6,0x67,0x9d,0xef,0x7b,0xde,0x1e,0xf0,0xb0,0xb5,0xad,0x6b,0x47,0x64, +0x9c,0x16,0x82,0xeb,0xad,0x7a,0xfe,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xf5,0xfd,0x2f,0xd7,0x5c,0x25,0x85,0xce,0x43,0x99,0x5c, +0x11,0x5d,0x55,0x54,0x80,0xae,0x17,0x0b,0x85,0xc1,0x70,0x5c,0xe6,0x57,0x65,0x79, +0x80,0x28,0x34,0xe4,0xae,0x4b,0xa0,0x83,0x46,0x30,0x50,0x7c,0x20,0xfa,0x0d,0x68, +0x3a,0xe1,0xae,0x83,0x5e,0x3d,0x2f,0xd7,0xaf,0xd1,0x8f,0xab,0x84,0x1f,0xda,0xe8, +0x35,0xe1,0xa8,0xa0,0xd6,0x18,0x52,0x0d,0x06,0x0a}; diff --git a/examples/esp_idf/partial_update/main/partial_update.cpp b/examples/esp_idf/partial_update/main/partial_update.cpp new file mode 100644 index 0000000..cd79428 --- /dev/null +++ b/examples/esp_idf/partial_update/main/partial_update.cpp @@ -0,0 +1,100 @@ +#include + +#include +#include "font80.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +#define DISPLAY_WIDTH 1872 +#define DISPLAY_HEIGHT 1404 + +int PANNEL = BB_PANEL_V7_103; + +FASTEPD epaper; + +extern "C" { + void app_main(void); +} + +void app_main(void) +{ + while(1) { + epaper.initPanel(PANNEL); + epaper.setPanelSize(DISPLAY_WIDTH, DISPLAY_HEIGHT); + epaper.setMode(BB_MODE_1BPP); + epaper.fillScreen(BBEP_WHITE); + epaper.setFont(FONT_12x16); + epaper.setTextColor(BBEP_BLACK); + + // Calculate progress bar position - centered with width 300px + int progressBarWidth = 300; + int progressBarHeight = 15; + int progressBarX = (DISPLAY_WIDTH - progressBarWidth) / 2; + int progressBarY = 550; + + + // Demo 1: Small font with progress bar + epaper.drawString("Partial Update Demo", 500, 500); + epaper.fullUpdate(); + + + // Draw progress bar outline + epaper.drawRect(progressBarX, progressBarY, progressBarWidth, progressBarHeight, BBEP_BLACK); + + for(int i=0; i < 100; i+=2) { + char buffer[32]; + sprintf(buffer, "%d%%", i); // Create formatted string with percentage + + // Clear previous text and progress fill + epaper.fillRect(500, 520, 200, 40, BBEP_WHITE); + epaper.fillRect(progressBarX + 1, progressBarY + 1, progressBarWidth - 2, progressBarHeight - 2, BBEP_WHITE); + + // Draw text + epaper.drawString(buffer, 500, 520); + + // Fill progress bar according to percentage + int fillWidth = (int)((progressBarWidth - 2) * i / 100.0); + epaper.fillRect(progressBarX + 1, progressBarY + 1, fillWidth, progressBarHeight - 2, BBEP_BLACK); + + // Update only the areas that changed + epaper.partialUpdate(true, 500, progressBarY + progressBarHeight); + } + + vTaskDelay(1000 / portTICK_PERIOD_MS); + + // Demo 2: Large font with progress bar + epaper.setFont(font80); + epaper.fillScreen(BBEP_WHITE); + epaper.drawString("Partial Update Demo", 100, 500); + epaper.fullUpdate(); + + // Recalculate progress bar for second demo + progressBarY = 700; + progressBarHeight = 25; + + // Draw progress bar outline + epaper.drawRect(progressBarX, progressBarY, progressBarWidth, progressBarHeight, BBEP_BLACK); + + const unsigned int font_height_pixel = 110; + for(int i=0; i < 100; i+=2) { + char buffer[32]; + sprintf(buffer, "%d%%", i); // Create formatted string with percentage + + // Clear previous text and progress fill + epaper.fillRect(100, 620-font_height_pixel, 400, font_height_pixel+2, BBEP_WHITE); + epaper.fillRect(progressBarX + 1, progressBarY + 1, progressBarWidth - 2, progressBarHeight - 2, BBEP_WHITE); + + // Draw text + epaper.drawString(buffer, 100, 620); + + // Fill progress bar according to percentage + int fillWidth = (int)((progressBarWidth - 2) * i / 100.0); + epaper.fillRect(progressBarX + 1, progressBarY + 1, fillWidth, progressBarHeight - 2, BBEP_BLACK); + + // Update only the areas that changed + epaper.partialUpdate(true, 620-font_height_pixel, progressBarY + progressBarHeight); + } + + vTaskDelay(1000 / portTICK_PERIOD_MS); + } +} diff --git a/examples/esp_idf/partial_update/sdkconfig.defaults b/examples/esp_idf/partial_update/sdkconfig.defaults new file mode 100644 index 0000000..8f213e9 --- /dev/null +++ b/examples/esp_idf/partial_update/sdkconfig.defaults @@ -0,0 +1,43 @@ +# Target +CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=n +CONFIG_ESP32S3_SPIRAM_SUPPORT=y + +# Flash settings +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y + +# PSRAM settings +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_MODE_QUAD=n +CONFIG_SPIRAM_TYPE_AUTO=y +CONFIG_SPIRAM_SIZE=8388608 +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y + +# Cache settings +CONFIG_ESP32S3_DATA_CACHE_16KB=n +CONFIG_ESP32S3_DATA_CACHE_32KB=y +CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB=y + +# Watchdog settings +CONFIG_ESP_TASK_WDT_TIMEOUT_S=60 +CONFIG_ESP_TASK_WDT=y +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=10000 +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y + +# Other useful settings +CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +CONFIG_ESP_CONSOLE_UART_DEFAULT=y