diff --git a/README.md b/README.md
index 27ddf0d..08e615e 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,4 @@
-ESP-IDF template app
-====================
+SC-F001
+=======
-This is a template application to be used with [Espressif IoT Development Framework](https://github.com/espressif/esp-idf).
-
-Please check [ESP-IDF docs](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for getting started instructions.
-
-*Code in this repository is in the Public Domain (or CC0 licensed, at your option.)
-Unless required by applicable law or agreed to in writing, this
-software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied.*
+Firmware for SC-B001
\ No newline at end of file
diff --git a/main/control_fsm.c b/main/control_fsm.c
index 1aec2f8..02156c8 100644
--- a/main/control_fsm.c
+++ b/main/control_fsm.c
@@ -388,9 +388,9 @@ void control_task(void *param) {
}
- int64_t elapsed_t = (current_time-timer_start);
- int64_t total_t = (timer_end-timer_start);
- int32_t ticks = get_sensor_counter(SENSOR_DRIVE);
+ //int64_t elapsed_t = (current_time-timer_start);
+ //int64_t total_t = (timer_end-timer_start);
+ //int32_t ticks = get_sensor_counter(SENSOR_DRIVE);
//ESP_LOGI("FSM", "[%d] %lld / %lld ms, %ld ticks", current_state, (long long) elapsed_t, (long long) total_t, (long) ticks);
// Output control
diff --git a/main/i2c.c b/main/i2c.c
index e4337a0..7019bff 100644
--- a/main/i2c.c
+++ b/main/i2c.c
@@ -24,11 +24,9 @@
#define TCA_REG_CONFIG1 0x07
// Debounce & Repeat Settings
-#define DEBOUNCE_US 50000
-#define REPEAT_US 200000
-#define REPEAT_START_US 700000
-
-#define MAX_REPEATS 100
+#define DEBOUNCE_MS 50
+#define REPEAT_MS 200
+#define REPEAT_START_MS 700
// Static Variables
static bool i2c_initted = false;
@@ -87,8 +85,8 @@ esp_err_t i2c_stop() {
#define N_BTNS 2
static bool debounced_state[N_BTNS] = {false};
static bool last_known_state[N_BTNS] = {false};
-static int64_t last_stable_time[N_BTNS] = {0};
-static int64_t last_change_time[N_BTNS] = {0};
+static uint64_t last_stable_time[N_BTNS] = {0};
+static uint64_t last_change_time[N_BTNS] = {0};
static uint8_t claimed_repeats[N_BTNS] = {0};
esp_err_t i2c_poll_buttons() {
for (uint8_t btn = 0; btn < N_BTNS; ++btn) {
@@ -100,13 +98,13 @@ esp_err_t i2c_poll_buttons() {
uint8_t raw_buttons = (uint8_t)(port_val & 0x0F);
uint8_t raw_states = ~raw_buttons & 0x0F;
- int64_t now = esp_timer_get_time() / 1000;
+ uint64_t now = esp_timer_get_time() / 1000;
for (uint8_t btn = 0; btn < N_BTNS; ++btn) {
bool raw_pressed = (raw_states & (1 << btn)) != 0;
if (raw_pressed != debounced_state[btn]) {
- if (now - last_stable_time[btn] >= DEBOUNCE_US) {
+ if (now - last_stable_time[btn] >= DEBOUNCE_MS) {
debounced_state[btn] = raw_pressed;
last_stable_time[btn] = now;
last_change_time[btn] = now;
@@ -133,9 +131,9 @@ bool i2c_get_button_state(uint8_t button) {
bool i2c_get_button_repeat(uint8_t btn) {
if (btn >= N_BTNS || !debounced_state[btn]) return false;
- int64_t now = esp_timer_get_time();
- if (now + DEBOUNCE_US < last_change_time[btn]) return false;
- if ((now - last_change_time[btn]) > (REPEAT_START_US + REPEAT_US * claimed_repeats[btn])) {
+ uint64_t now = esp_timer_get_time() / 1000;
+ if (now + DEBOUNCE_MS < last_change_time[btn]) return false;
+ if ((now - last_change_time[btn]) > (REPEAT_START_MS + REPEAT_MS * claimed_repeats[btn])) {
claimed_repeats[btn]++;
return true;
}
@@ -147,15 +145,18 @@ int8_t i2c_get_button_repeats(uint8_t btn) {
return 0;
if (btn >= N_BTNS || !debounced_state[btn]) return false;
- int64_t now = esp_timer_get_time();
- if (now + DEBOUNCE_US < last_change_time[btn]) return false;
- if ((now - last_change_time[btn]) > (REPEAT_START_US + REPEAT_US * claimed_repeats[btn])) {
+ uint64_t now = esp_timer_get_time() / 1000;
+ if (now + DEBOUNCE_MS < last_change_time[btn]) return false;
+ if ((now - last_change_time[btn]) > (REPEAT_START_MS + REPEAT_MS * claimed_repeats[btn])) {
claimed_repeats[btn]++;
- if (claimed_repeats[btn] > MAX_REPEATS)
- claimed_repeats[btn] = MAX_REPEATS;
+ if (claimed_repeats[btn] > 100)
+ claimed_repeats[btn] = 100;
+ ESP_LOGI("BTN", "RPT %d", (uint8_t)claimed_repeats[btn]+2);
return claimed_repeats[btn]+1;
}
if (debounced_state[btn] && !last_known_state[btn]) {
+
+ ESP_LOGI("BTN", "FST %d", 1);
return 1;
}
@@ -166,6 +167,9 @@ int64_t i2c_get_button_ms(uint8_t btn) {
if (!i2c_get_button_state(btn))
return 0;
- int64_t now = esp_timer_get_time();
+ uint64_t now = esp_timer_get_time() / 1000;
return now - last_change_time[btn];
+}
+int64_t i2c_get_button_us(uint8_t btn) {
+ return i2c_get_button_ms(btn)*1000;
}
\ No newline at end of file
diff --git a/main/i2c.h b/main/i2c.h
index c85610e..b031acf 100644
--- a/main/i2c.h
+++ b/main/i2c.h
@@ -19,6 +19,7 @@ bool i2c_get_button_released(uint8_t button);
bool i2c_get_button_state(uint8_t button);
bool i2c_get_button_repeat(uint8_t btn);
int8_t i2c_get_button_repeats(uint8_t btn);
+int64_t i2c_get_button_us(uint8_t btn);
int64_t i2c_get_button_ms(uint8_t btn);
#endif // I2C_H_
\ No newline at end of file
diff --git a/main/landingpage.html b/main/landingpage.html
index 6fdab2d..f8f5edc 100644
--- a/main/landingpage.html
+++ b/main/landingpage.html
@@ -104,23 +104,21 @@ black: #2f2f2f
Battery (V)
-
-
- Save Changes
-
-
-
-
-
- DANGER ZONE
-
-
Program RF Remote
Program All Buttons
+
+
+ Save Changes
+
+
+
+
+ DANGER ZONE
+
Calibration
Jack Calibration
@@ -138,10 +136,7 @@ black: #2f2f2f
-
-
- REBOOT
-
+ REBOOT
@@ -464,7 +459,13 @@ black: #2f2f2f
return;
}
- // Disable RF controls during programming
+ // Clear temp storage and disable RF controls during programming
+ await fetch('./cmd', {
+ method: 'POST',
+ headers: {'Content-Type': 'application/json'},
+ body: JSON.stringify({cmd: 'rf_clear_temp'})
+ });
+
await fetch('./cmd', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
@@ -478,51 +479,35 @@ black: #2f2f2f
// Give a moment for the learn flag to be set
await new Promise(resolve => setTimeout(resolve, 100));
- // Ask user to press button or skip
- const shouldSkip = !confirm(`Button ${i+1}/4: ${buttonNames[i]}\n\nPress the ${buttonNames[i]} button on your remote now, then press OK.\n\nPress Cancel to skip this button.`);
+ // Show dialog and wait for user to press OK
+ alert(`Button ${i+1}/4: ${buttonNames[i]}\n\nPress the ${buttonNames[i]} button on your remote now.\n\nPress OK when done (or just press OK to leave unprogrammed).`);
- if (shouldSkip) {
- // Cancel learning and set this button to -1 (disabled)
- programRF(-1);
- learnedCodes[i] = -1;
- continue;
- }
+ // Cancel learning mode
+ programRF(-1);
- // Wait for code to be learned (poll for a bit)
- let learned = false;
- const startCode = learnedCodes[i]; // Should be null at this point
-
- for (let attempt = 0; attempt < 50; attempt++) {
- await new Promise(resolve => setTimeout(resolve, 100));
+ // Check what was learned (if anything)
+ try {
+ const response = await fetch('./cmd', {
+ method: 'POST',
+ headers: {'Content-Type': 'application/json'},
+ body: JSON.stringify({cmd: 'rf_status'})
+ });
+ const data = await response.json();
- // Check if code was learned by polling RF status via /cmd
- try {
- const response = await fetch('./cmd', {
- method: 'POST',
- headers: {'Content-Type': 'application/json'},
- body: JSON.stringify({cmd: 'rf_status'})
- });
- const data = await response.json();
-
- // Check if this specific index changed from what we started with
- if (data.codes[i] !== -1 && data.codes[i] !== null && data.codes[i] !== startCode) {
- learnedCodes[i] = data.codes[i];
- learned = true;
- break;
- }
- } catch (e) {
- console.error("Error checking RF status:", e);
- }
+ // Get whatever is in temp storage (could be -1 if nothing was pressed)
+ learnedCodes[i] = data.codes[i];
+ } catch (e) {
+ console.error("Error checking RF status:", e);
+ learnedCodes[i] = -1;
}
- if (!learned) {
- if (confirm(`Timeout waiting for ${buttonNames[i]} button.\n\nRetry this button?`)) {
- i--; // Retry this iteration
- continue;
- } else {
- // Skip this button
- learnedCodes[i] = -1;
- }
+ // If nothing was learned, make sure it's set to -1
+ if (learnedCodes[i] === -1) {
+ await fetch('./cmd', {
+ method: 'POST',
+ headers: {'Content-Type': 'application/json'},
+ body: JSON.stringify({cmd: 'rf_set_temp', index: i, code: -1})
+ });
}
}
diff --git a/main/main.c b/main/main.c
index b6babef..0a16741 100644
--- a/main/main.c
+++ b/main/main.c
@@ -86,7 +86,8 @@ void driveLEDs(led_state_t state) {
case LED_STATE_ERRORED:
i2c_set_led1(patterns[state][(esp_timer_get_time()/200000) % 2]);
-
+ break;
+
case LED_STATE_BOOTING:
i2c_set_led1(0b001);
break;
@@ -106,18 +107,71 @@ void driveLEDs(led_state_t state) {
}
}
+RTC_DATA_ATTR bool first_boot = true;
+
void app_main(void) {
esp_task_wdt_add(NULL);
- // Say hello; turn on the lights
- esp_sleep_wakeup_cause_t cause = rtc_wakeup_cause();
+ if (rtc_xtal_init() != ESP_OK) ESP_LOGE(TAG, "RTC FAILED");
+
+ // Say hello; turn on the lights
+ esp_sleep_wakeup_cause_t cause = rtc_wakeup_cause();
if (i2c_init() != ESP_OK) ESP_LOGE(TAG, "I2C FAILED");
i2c_set_relays(0);
driveLEDs(LED_STATE_BOOTING);
- // Every boot we load parameters and monitor solar, no matter what
+
+
+
+ // Check for factory reset condition: Cold boot + button held
+ // This is a cold boot (power-on or hard reset)
+ // Check if button is being held (pin is LOW)
+ if (first_boot && gpio_get_level(GPIO_NUM_13) == 0) {
+ ESP_LOGW(TAG, "FACTORY RESET TRIGGERED - Button held on cold boot");
+
+ // Flash LED pattern to indicate factory reset
+ for (int i = 0; i < 10; i++) {
+ i2c_set_led1(0b111);
+ vTaskDelay(pdMS_TO_TICKS(100));
+ i2c_set_led1(0b000);
+ vTaskDelay(pdMS_TO_TICKS(100));
+ }
+
+ // Initialize minimal components needed for factory reset
+ if (storage_init() != ESP_OK) ESP_LOGE(TAG, "STORAGE FAILED");
+
+ // Perform factory reset
+ esp_err_t reset_err = factory_reset();
+ if (reset_err == ESP_OK) {
+ ESP_LOGI(TAG, "Factory reset completed successfully");
+ // Flash success pattern
+ for (int i = 0; i < 5; i++) {
+ i2c_set_led1(0b010);
+ vTaskDelay(pdMS_TO_TICKS(200));
+ i2c_set_led1(0b000);
+ vTaskDelay(pdMS_TO_TICKS(200));
+ }
+ } else {
+ ESP_LOGE(TAG, "Factory reset failed!");
+ // Flash error pattern
+ for (int i = 0; i < 5; i++) {
+ i2c_set_led1(0b100);
+ vTaskDelay(pdMS_TO_TICKS(200));
+ i2c_set_led1(0b000);
+ vTaskDelay(pdMS_TO_TICKS(200));
+ }
+ }
+
+ // Reboot the system
+ ESP_LOGI(TAG, "Rebooting system...");
+ vTaskDelay(pdMS_TO_TICKS(1000));
+ esp_restart();
+ }
+
+ first_boot = false;
+
+ // Every boot we load parameters and monitor solar, no matter what
if (adc_init() != ESP_OK) ESP_LOGE(TAG, "ADC FAILED");
- if (rtc_xtal_init() != ESP_OK) ESP_LOGE(TAG, "RTC FAILED");
if (storage_init() != ESP_OK) ESP_LOGE(TAG, "STORAGE FAILED");
if (log_init() != ESP_OK) ESP_LOGE(TAG, "LOG FAILED");
if (run_solar_fsm() != ESP_OK) ESP_LOGE(TAG, "SOLAR FAILED");
@@ -174,7 +228,7 @@ void app_main(void) {
switch (fsm_get_state()) {
case STATE_IDLE:
// LED cue for user
- if (i2c_get_button_ms(0) > 1600){
+ if (i2c_get_button_ms(0) > 1600){
driveLEDs(LED_STATE_START4);
} else if (i2c_get_button_ms(0) > 1100){
driveLEDs(LED_STATE_START3);
@@ -183,8 +237,6 @@ void app_main(void) {
} else if (i2c_get_button_ms(0) > 100){
driveLEDs(LED_STATE_START1);
} else{
-
-
if (
rtc_is_set() &&
!efuse_is_tripped(BRIDGE_JACK) &&
@@ -239,7 +291,6 @@ void app_main(void) {
send_log();
driveLEDs(LED_STATE_DRIVING);
if (i2c_get_button_tripped(0)) {
- ESP_LOGI(TAG, "CTRL + Z PLZ!");
fsm_request(FSM_CMD_UNDO);
}
break;
@@ -252,20 +303,10 @@ void app_main(void) {
fsm_request(FSM_CMD_START);
set_next_alarm();
}
-
-
-
- /*ESP_LOGI(TAG, "VOLTAGE: %2.3f | CURRENTS: %+2.8f %+2.8f %+2.8f",
- get_battery_V(),
- get_bridge_A(BRIDGE_DRIVE),
- get_bridge_A(BRIDGE_JACK),
- get_bridge_A(BRIDGE_AUX));*/
-
-
run_solar_fsm();
- //check_shutdown_timer();
+ check_shutdown_timer();
esp_task_wdt_reset();
}
}
\ No newline at end of file
diff --git a/main/power_mgmt.c b/main/power_mgmt.c
index 5ee3ca1..b4cf53a 100644
--- a/main/power_mgmt.c
+++ b/main/power_mgmt.c
@@ -82,7 +82,7 @@ esp_err_t adc_init() {
// Configure all channels
adc_oneshot_chan_cfg_t chan_cfg = {
- .atten = ADC_ATTEN_DB_11,
+ .atten = ADC_ATTEN_DB_12,
.bitwidth = ADC_BITWIDTH_12,
};
@@ -94,7 +94,7 @@ esp_err_t adc_init() {
// Line fitting calibration (modern scheme)
adc_cali_line_fitting_config_t cali_cfg = {
.unit_id = ADC_UNIT_1,
- .atten = ADC_ATTEN_DB_11,
+ .atten = ADC_ATTEN_DB_12,
.bitwidth = ADC_BITWIDTH_12,
};
ESP_ERROR_CHECK(adc_cali_create_scheme_line_fitting(&cali_cfg, &adc_cali_handle));
diff --git a/main/rf_433.c b/main/rf_433.c
index 9c9dbe9..2faa1fe 100644
--- a/main/rf_433.c
+++ b/main/rf_433.c
@@ -40,6 +40,9 @@ typedef struct {
int learn_flag = -1;
bool controls_enabled = true;
+// Temporary storage for learned keycodes (not committed to params yet)
+static int64_t temp_keycodes[NUM_RF_BUTTONS] = {-1, -1, -1, -1, -1, -1, -1, -1};
+
// For rmt_rx_register_event_callbacks
static bool rfrx_done(rmt_channel_handle_t channel, const rmt_rx_done_event_data_t *edata, void *udata) {
BaseType_t high_task_wakeup = pdFALSE;
@@ -133,10 +136,9 @@ static void rf_433_receiver_task(void* param) {
ESP_LOGI(TAG, "GOT KEYCODE 0x%lx [%d]", (long) code, len);
if (learn_flag >= 0) {
- // Store just the 32-bit code
- set_param_value_t(PARAM_KEYCODE_0 + learn_flag,
- (param_value_t){.i32 = (int32_t)code});
- ESP_LOGI(TAG, "LEARNED KEYCODE");
+ // Store to temporary storage, not to params yet
+ temp_keycodes[learn_flag] = (int64_t)code;
+ ESP_LOGI(TAG, "LEARNED KEYCODE (temp storage)");
learn_flag = -1;
} else if (controls_enabled) {
// Only process RF commands if controls are enabled
@@ -149,9 +151,9 @@ static void rf_433_receiver_task(void* param) {
};
for (uint8_t i = 0; i < NUM_RF_BUTTONS; i++) {
- int32_t match = get_param_value_t(PARAM_KEYCODE_0+i).i32;
+ int64_t match = get_param_value_t(PARAM_KEYCODE_0+i).i64;
// Compare just the code (lower 32 bits)
- if ((uint32_t)match == code) {
+ if ((uint32_t)match == code && code!=-1) {
switch (i) {
case 0: pulseOverride(RELAY_A1); pulseOverride(RELAY_A3); break;
case 1: pulseOverride(RELAY_B1); pulseOverride(RELAY_A3); break;
@@ -233,4 +235,20 @@ void rf_433_disable_controls() {
void rf_433_enable_controls() {
controls_enabled = true;
+}
+
+int64_t rf_433_get_temp_keycode(uint8_t index) {
+ if (index >= NUM_RF_BUTTONS) return -1;
+ return temp_keycodes[index];
+}
+
+void rf_433_set_temp_keycode(uint8_t index, int64_t code) {
+ if (index >= NUM_RF_BUTTONS) return;
+ temp_keycodes[index] = code;
+}
+
+void rf_433_clear_temp_keycodes() {
+ for (uint8_t i = 0; i < NUM_RF_BUTTONS; i++) {
+ temp_keycodes[i] = -1;
+ }
}
\ No newline at end of file
diff --git a/main/rf_433.h b/main/rf_433.h
index bb2a169..9c80fdf 100644
--- a/main/rf_433.h
+++ b/main/rf_433.h
@@ -29,4 +29,8 @@ void rf_433_cancel_learn_keycode();
void rf_433_disable_controls();
void rf_433_enable_controls();
+int64_t rf_433_get_temp_keycode(uint8_t index);
+void rf_433_set_temp_keycode(uint8_t index, int64_t code);
+void rf_433_clear_temp_keycodes();
+
#endif
\ No newline at end of file
diff --git a/main/rtc.h b/main/rtc.h
index ae43bb3..e95da69 100644
--- a/main/rtc.h
+++ b/main/rtc.h
@@ -16,6 +16,7 @@
#include "esp_sleep.h"
#include "esp_timer.h"
#include "esp_err.h"
+#include
#define POWER_INACTIVITY_TIMEOUT_MS 180000
diff --git a/main/sensors.c b/main/sensors.c
index 8e9ad24..e05a352 100644
--- a/main/sensors.c
+++ b/main/sensors.c
@@ -58,7 +58,7 @@ static void sensor_debounce_task(void* param) {
uint8_t i = 0;
- int64_t now = -1;
+ //int64_t now = -1;
while (1) {
if (xQueueReceive(sensor_event_queue, &evt, pdMS_TO_TICKS(100)) == pdTRUE) {
@@ -84,7 +84,7 @@ static void sensor_debounce_task(void* param) {
}
- now = esp_timer_get_time();
+ //now = esp_timer_get_time();
/*// Wait for debounce period since last ISR
if (now - sensor_last_isr_time[i] >= (DEBOUNCE_TIME_US)) {
diff --git a/main/storage.c b/main/storage.c
index 81b373b..1ee9d75 100644
--- a/main/storage.c
+++ b/main/storage.c
@@ -354,6 +354,42 @@ esp_err_t commit_params(void) {
return ESP_OK;
}
+// ============================================================================
+// FACTORY RESET
+// ============================================================================
+esp_err_t factory_reset(void) {
+ if (storage_partition == NULL) {
+ ESP_LOGE(TAG, "Storage partition not initialized");
+ return ESP_ERR_INVALID_STATE;
+ }
+
+ ESP_LOGW(TAG, "FACTORY RESET: Erasing entire storage partition...");
+
+ // Erase the entire storage partition
+ esp_err_t err = esp_partition_erase_range(storage_partition, 0, storage_partition->size);
+ if (err != ESP_OK) {
+ ESP_LOGE(TAG, "Failed to erase storage partition: %s", esp_err_to_name(err));
+ return err;
+ }
+
+ ESP_LOGI(TAG, "Storage partition erased successfully");
+
+ // Reset all parameters to defaults in RAM
+ for (int i = 0; i < NUM_PARAMS; i++) {
+ memcpy(¶meter_table[i], ¶meter_defaults[i], sizeof(param_value_t));
+ }
+
+ // Reset log indices
+ if (log_mutex) xSemaphoreTake(log_mutex, portMAX_DELAY);
+ log_head_index = 0;
+ log_tail_index = 0;
+ if (log_mutex) xSemaphoreGive(log_mutex);
+
+ ESP_LOGI(TAG, "Factory reset complete - all data erased");
+
+ return ESP_OK;
+}
+
// ============================================================================
// INITIALIZATION FUNCTIONS
// ============================================================================
diff --git a/main/storage.h b/main/storage.h
index c8d4071..26ff23e 100644
--- a/main/storage.h
+++ b/main/storage.h
@@ -163,6 +163,7 @@ char* get_param_string(param_idx_t id);
// Storage operations
esp_err_t commit_params(void);
+esp_err_t factory_reset(void);
// Log functions
#define LOG_ENTRY_SIZE 32
diff --git a/main/webpage.h b/main/webpage.h
index 78932bf..25526bf 100644
--- a/main/webpage.h
+++ b/main/webpage.h
@@ -1,3 +1,3 @@
-const char html_content[] = {0x1f,0x8b,0x08,0x00,0xfa,0x72,0x54,0x69,0x02,0xff,0xc5,0x3b,0x6b,0x77,0xdb,0xb6,0x92,0xdf,0xfd,0x2b,0x10,0x27,0xd7,0x25,0x13,0x8a,0x92,0x6c,0x27,0x6d,0x24,0xd3,0xbe,0x8e,0xed,0x34,0xed,0x8d,0x1f,0xc7,0x8f,0xf6,0x74,0x5d,0x1f,0x13,0x22,0x21,0x89,0x35,0x45,0x68,0x09,0xc8,0xb2,0x56,0xd1,0x7f,0xdf,0x19,0x00,0x7c,0x49,0xb4,0x9d,0x9b,0xde,0xcd,0x26,0x27,0x12,0x09,0x0e,0x66,0x06,0xf3,0x9e,0xa1,0xb2,0xf3,0x22,0xe4,0x81,0x9c,0x8d,0x19,0x19,0xca,0x51,0xbc,0xbb,0x23,0x23,0x19,0xb3,0xdd,0x03,0x9e,0xc8,0x94,0xc7,0xe4,0x8c,0x26,0x2c,0xde,0x69,0xea,0xc5,0x9d,0x11,0x93,0x94,0x04,0xf0,0x88,0x25,0xd2,0x5b,0x9f,0x46,0xa1,0x1c,0x7a,0x21,0xbb,0x8f,0x02,0xd6,0x50,0x37,0x4e,0x94,0x44,0x32,0xa2,0x71,0x43,0x04,0x34,0x66,0x5e,0xdb,0x6d,0xad,0x93,0x84,0x8e,0x98,0x77,0x1f,0xb1,0xe9,0x98,0xa7,0x72,0x77,0x47,0xc8,0x19,0x60,0x7a,0x39,0x4d,0xe9,0x78,0xcc,0xd2,0xb9,0x64,0x0f,0xb2,0x41,0xe3,0x68,0x90,0x74,0x02,0x40,0xca,0xd2,0x6e,0x8f,0x3f,0x34,0x44,0xf4,0x3f,0x51,0x32,0xe8,0xf4,0x78,0x1a,0xb2,0xb4,0x01,0x2b,0x8b,0x97,0x86,0xea,0x7c,0x44,0x1f,0x34,0xad,0xce,0xdb,0x56,0x6b,0xfc,0xd0,0x1d,0xd1,0x74,0x10,0x25,0x1d,0x3a,0x91,0xbc,0x3b,0xa6,0x61,0x88,0xfb,0x5a,0xa4,0x0d,0x8f,0x16,0x3d,0x1e,0xce,0x6a,0x08,0x98,0x1d,0xad,0x02,0x7c,0xf1,0x7a,0x1e,0xf0,0x98,0xa7,0x9d,0x97,0x9b,0x7d,0xfc,0xdb,0xed,0xd1,0xe0,0x6e,0x90,0xf2,0x49,0x12,0x36,0xcc,0x83,0x7e,0xbf,0xdf,0xed,0x03,0x0b,0x8d,0x3e,0x1d,0x45,0xf1,0xac,0x73,0xc2,0x25,0x27,0x17,0x34,0x11,0xce,0x6f,0x2c,0x0d,0x69,0x42,0x1d,0x01,0x37,0x0d,0xc1,0xd2,0xc8,0x00,0xc2,0x19,0x58,0xa7,0xed,0x6e,0xa6,0x6c,0xb4,0x88,0x92,0xf1,0x44,0x3a,0xbd,0x89,0x94,0x3c,0x29,0x73,0x94,0x46,0x83,0xa1,0xac,0x3f,0x71,0x0d,0x0f,0xac,0xcf,0x42,0xf6,0xbe,0xab,0x61,0x3a,0xed,0xf1,0x03,0x11,0x3c,0x8e,0x42,0xf2,0xb2,0x47,0xdf,0xbf,0x7b,0xdb,0x33,0x0f,0x1a,0x29,0x0d,0xa3,0x89,0xe8,0xbc,0x05,0xe1,0x68,0x41,0xb5,0x5b,0xad,0x7f,0x68,0x16,0xae,0x51,0xcf,0x1e,0x32,0x70,0xe3,0x94,0x16,0x92,0xc9,0xa8,0xc7,0xd2,0x9b,0x79,0xf9,0x80,0x23,0x9e,0x70,0x31,0xa6,0x01,0x5b,0xac,0xb2,0xad,0x05,0xb9,0x70,0x83,0x21,0x4d,0x06,0x2c,0x74,0x40,0x39,0xa3,0x51,0x24,0x6f,0x7b,0x32,0x99,0x17,0xf2,0x7a,0x11,0x8d,0x50,0xe5,0x34,0x91,0x35,0x67,0xd9,0xa4,0xdb,0xef,0xb7,0xc2,0x02,0x64,0x51,0xc1,0x31,0x49,0x05,0x00,0x8d,0x79,0x64,0x2c,0x42,0x1d,0x38,0xe1,0x09,0x2b,0x9d,0xc8,0xe8,0xb1,0x21,0xf9,0xb8,0x83,0xea,0xce,0xd5,0xa9,0x6e,0xd4,0x51,0xa6,0x0c,0xe5,0xdb,0xf9,0xb1,0xd5,0x2a,0xa3,0xbf,0x0e,0x23,0x41,0x7b,0x31,0x0b,0x6f,0x32,0x66,0x7f,0xfa,0xe9,0xa7,0xae,0xa1,0x99,0x70,0x3c,0x64,0xcc,0xa7,0x2c,0xac,0xe1,0x7a,0x7b,0x7b,0xbb,0xc4,0xb2,0x44,0x2c,0x73,0x23,0x75,0x80,0x88,0xe9,0x58,0xb0,0x4e,0x76,0xd1,0x2d,0x09,0x2c,0x66,0x7d,0x59,0x56,0x86,0x0c,0xe7,0xb9,0xa6,0x41,0xb8,0xa3,0xb2,0x32,0x8d,0x96,0xb3,0xd3,0xfc,0x04,0x86,0x2c,0x26,0x23,0x38,0x6c,0xc5,0x96,0x15,0xc6,0x92,0x6d,0xae,0xf2,0xfa,0xe3,0xe6,0x56,0x8d,0x45,0x64,0x68,0xdd,0x2d,0xb0,0xcb,0x15,0x29,0xb9,0xc1,0x28,0xe3,0x4c,0x8b,0xbb,0x6c,0xc9,0x6f,0xd1,0x92,0x5f,0x8e,0xc4,0xa0,0xc6,0x14,0x86,0xed,0x79,0x01,0xba,0xa9,0x41,0xff,0x39,0x62,0x61,0x44,0x89,0x08,0x52,0xc6,0x12,0x42,0x93,0x90,0x58,0x4a,0x04,0x3b,0xde,0xd6,0x5b,0x50,0x91,0x3d,0xaf,0xf1,0x69,0xa5,0xd8,0xc2,0x8d,0x81,0x63,0x2d,0x65,0x22,0x53,0xa2,0x84,0x56,0xe7,0x29,0xa5,0xad,0xa0,0xda,0x71,0x4c,0x67,0x9d,0x5e,0xcc,0x83,0xbb,0x7c,0xeb,0xdc,0x98,0x4a,0x26,0x6c,0x34,0x90,0x2a,0xe4,0x62,0xa7,0xa9,0x03,0xd3,0x4e,0x73,0xc8,0x68,0xb8,0xbb,0x83,0xb1,0x63,0x77,0x27,0x8c,0xee,0x49,0x14,0x7a,0x26,0x58,0xe5,0xf7,0x86,0xef,0xdd,0x9d,0x61,0x7b,0xf7,0x20,0x9e,0x08,0x90,0xc0,0x01,0x98,0x17,0x1c,0x11,0xb6,0xb7,0x21,0x84,0x22,0x5d,0xf8,0x82,0x1d,0x12,0x71,0x29,0x07,0x22,0x3c,0x09,0xe2,0x28,0xb8,0xf3,0xd6,0x05,0x4b,0x42,0x03,0x6f,0xfd,0x20,0x24,0x4d,0xe5,0x0f,0xf6,0x3a,0x09,0x62,0x2a,0x84,0x07,0x0a,0xd8,0xbd,0xb8,0xdc,0x3f,0xbf,0xdc,0x69,0xea,0x6d,0xc0,0x11,0xe2,0xf8,0x0a,0x3c,0x7c,0x5c,0x41,0x43,0xd4,0x81,0xbc,0xe7,0x6c,0x04,0xa8,0x9d,0x9e,0xfd,0xbb,0xc4,0x00,0x05,0xaf,0xf2,0x7c,0x75,0x72,0x78,0xba,0x84,0xa5,0x89,0xe7,0x6f,0x66,0xb2,0x28,0x8b,0x04,0x52,0x48,0x0c,0xb1,0x25,0xf1,0xb6,0x76,0x77,0x54,0x18,0x42,0xa1,0x82,0x61,0x91,0x14,0x64,0xcf,0x93,0x78,0x56,0xc6,0xf0,0xc4,0x96,0x28,0xb9,0x95,0xd1,0x88,0x21,0x93,0x2a,0x12,0x79,0xa0,0xe7,0xbb,0x03,0x1d,0x94,0x2c,0x39,0x8c,0x84,0x0d,0x42,0x60,0x63,0xaf,0x4d,0x54,0x98,0x0b,0xa9,0x64,0x08,0xdf,0x00,0x95,0xd3,0x78,0x97,0x64,0x67,0x04,0x4c,0x09,0x9f,0x62,0x68,0xc8,0x8f,0x2b,0x98,0xbc,0x04,0xc8,0x4b,0x7e,0xc2,0xa7,0x96,0xbd,0x7b,0x31,0x4b,0x02,0x82,0x0b,0x75,0x47,0x34,0x6a,0xbe,0x08,0x86,0x2c,0x9c,0x80,0xbd,0x5d,0xa0,0x46,0x0b,0x41,0x16,0x07,0xe4,0xf7,0xec,0x56,0xa9,0xbb,0x60,0x58,0x7f,0x65,0x5b,0x0d,0xcf,0x3a,0x48,0x03,0xb5,0xa7,0xa8,0x1c,0xa1,0xb1,0xd5,0xd3,0x00,0x4d,0xfd,0x0d,0x0a,0x2f,0xc9,0x31,0x20,0x11,0xcd,0x43,0x3a,0xab,0x21,0x00,0xa9,0xe2,0x16,0x89,0x08,0x32,0x8a,0x12,0xaf,0xf5,0x35,0x74,0x74,0x76,0xa9,0xa1,0x74,0xce,0x46,0x34,0x4a,0x5c,0x72,0x18,0x81,0x54,0x92,0x80,0x11,0xab,0x2f,0xed,0x1a,0x9a,0xa9,0x82,0x03,0xa7,0xbf,0x05,0xa7,0x95,0x4f,0x69,0xfb,0x69,0x7a,0x78,0xae,0x67,0x89,0x85,0x69,0x04,0x22,0x54,0x84,0xfe,0xfe,0x09,0x7f,0x05,0x8f,0x23,0x9f,0x54,0x7c,0x25,0x56,0x94,0xd4,0xd1,0xfb,0x0b,0x40,0xfe,0x53,0xe4,0x3e,0x50,0x09,0xa1,0x68,0x46,0xac,0xdf,0xea,0x28,0xdd,0xf3,0x58,0xd2,0x01,0xab,0x75,0xb2,0xcc,0x4d,0x8d,0x47,0x64,0x19,0x52,0x07,0xbb,0x2c,0x71,0xe6,0xde,0xa1,0x97,0xce,0x68,0x4a,0x47,0x02,0xbd,0x83,0x82,0x5c,0xb5,0x22,0x44,0xe1,0x20,0xbd,0x54,0xff,0x0b,0xa1,0x66,0x8c,0x62,0x01,0x95,0x9f,0xce,0x62,0xbb,0x87,0xfb,0x27,0x3f,0x1f,0x9d,0x93,0xff,0x3a,0x3d,0x39,0x82,0xa8,0x6b,0x16,0xc9,0x52,0xd0,0x3c,0x4b,0xf9,0x00,0xd0,0x93,0xf3,0x8f,0x04,0xcc,0x84,0x4b,0xf6,0x68,0x64,0x1a,0x6b,0xc8,0xf3,0x8f,0x17,0xec,0xbf,0x27,0x0c,0x34,0x0b,0x1c,0x65,0xbb,0xf7,0xe3,0x98,0x7c,0x50,0xe0,0xe2,0x09,0xcf,0x3d,0x80,0x54,0xd6,0x4b,0xa9,0x8c,0x78,0xf2,0x78,0xfc,0x0b,0x0c,0x10,0xb3,0x7e,0x40,0x95,0x41,0xf4,0xd3,0xda,0xad,0x6c,0x36,0x24,0xc8,0x53,0xbb,0x95,0x81,0xe1,0xf6,0x43,0xbc,0xa8,0xdd,0xbf,0xca,0xe2,0xc7,0x28,0x1d,0x4d,0x69,0xca,0x96,0xd5,0x4a,0x83,0x80,0x8d,0xa5,0xe7,0xf6,0x22,0x15,0xc6,0xfa,0x06,0xec,0xb6,0x1f,0x61,0xe2,0x43,0x63,0xc1,0xab,0x4a,0xa8,0x9b,0x8c,0x63,0x4e,0xc3,0x8a,0x3e,0xf5,0x52,0x46,0x03,0xe4,0x77,0xa5,0x16,0x48,0x41,0xf5,0x51,0xc6,0x3e,0xf3,0x01,0x80,0xc5,0xab,0xea,0x01,0x4a,0x31,0x1f,0x54,0xc8,0x84,0x7c,0x9a,0x20,0x5e,0xd8,0x83,0x5b,0x80,0xce,0xa1,0x59,0x21,0xb0,0xf4,0x44,0xf6,0x30,0xc6,0x81,0x38,0x8d,0x95,0x14,0x0f,0x9e,0x4b,0x55,0x29,0xeb,0x71,0x2e,0xbf,0x29,0x33,0x9e,0x1f,0x7d,0x38,0x3d,0x5d,0x4e,0xc4,0xcd,0xdc,0x9e,0x9b,0x50,0x0d,0x64,0x9f,0x50,0xe4,0x44,0x63,0xb9,0x1b,0x33,0x49,0xc6,0xe8,0x16,0xbf,0xd1,0x78,0xc2,0x84,0x77,0x7d,0xe3,0xa8,0xdb,0x13,0xe8,0x81,0x8a,0xbb,0x2b,0x68,0x92,0xf0,0x0e,0xea,0xb7,0x04,0xfc,0x1e,0x7c,0x1d,0x0e,0xb6,0x0b,0x5d,0xd8,0x64,0x04,0x55,0x85,0x3b,0x60,0xf2,0x28,0x66,0x78,0xf9,0x61,0xf6,0x4b,0x68,0x45,0xa1,0xdd,0xa5,0x02,0x13,0x50,0x7f,0x92,0x04,0x68,0x27,0xa4,0x7c,0x40,0x38,0x0f,0x62,0xb7,0xe7,0xe6,0xc2,0xf3,0x3c,0x5f,0x25,0x19,0x7f,0x63,0xe3,0x05,0x10,0x40,0x93,0xb0,0xfc,0xdf,0x23,0xf0,0x84,0x1e,0x83,0x22,0x88,0x40,0xf4,0x86,0x50,0x4a,0x1a,0x64,0x1c,0x33,0x2a,0x18,0x31,0x30,0xae,0x6f,0x7f,0xf9,0x52,0xc2,0xa1,0xe5,0x56,0x41,0x72,0xa8,0x3a,0x3d,0x32,0x45,0x5c,0xfa,0x31,0x60,0x09,0x00,0x4b,0x8a,0x08,0x03,0x2c,0xa4,0x54,0x99,0x17,0x9a,0x10,0xeb,0x92,0xfd,0x94,0x91,0x19,0x9f,0x10,0x31,0x49,0xd9,0x1e,0x12,0xa0,0x53,0x1a,0x49,0xd2,0x67,0x32,0x18,0x5a,0xbe,0xdb,0x04,0x7a,0xbe,0x33,0x87,0xae,0x72,0xc8,0xc3,0x8e,0x7f,0x76,0x7a,0x71,0xe9,0x3b,0x58,0x7f,0xb1,0x54,0x74,0xe6,0xeb,0x07,0xba,0xcc,0x6a,0x5c,0x82,0x1d,0xaf,0x77,0x7c,0xa8,0xc1,0x40,0xbf,0xca,0x53,0x9a,0x7f,0x09,0x9e,0xf8,0x0b,0x07,0xab,0xb4,0xce,0xaf,0x17,0xa7,0x27,0xae,0x90,0xc8,0x44,0xd4,0x9f,0x59,0x28,0x88,0x8e,0x39,0xc8,0xc2,0x86,0xbf,0x4b,0xc2,0x2b,0x5c,0x91,0x3e,0x40,0x48,0x9d,0x7f,0x2f,0x96,0x7c,0x20,0x7c,0xfb,0x6a,0x8e,0x44,0x17,0xba,0x0c,0xf0,0x91,0xbd,0x2e,0xda,0x0c,0x1d,0x49,0x8c,0x63,0xa3,0xb1,0xb4,0xfc,0xb3,0x94,0x09,0x41,0x72,0x9b,0x46,0x7d,0xb1,0xd4,0x25,0x95,0x65,0x3a,0x80,0x84,0x48,0xa0,0x03,0xc5,0xaa,0x8f,0x44,0xd2,0x25,0x97,0x43,0x96,0x38,0xca,0xe3,0x09,0x3c,0xa1,0x81,0x9c,0xd0,0x18,0x2a,0x5f,0x88,0xcc,0x31,0xc6,0xf1,0x4c,0x25,0x64,0xc8,0x52,0x05,0x11,0x41,0x9a,0x61,0xa2,0xe3,0xdb,0xdd,0xa8,0x6f,0xbd,0x88,0xc4,0x09,0x3d,0xb1,0xc0,0x38,0x05,0xfb,0x08,0xfe,0x28,0x2d,0x60,0xc8,0xb6,0xed,0x39,0xf2,0x06,0x74,0xc7,0x60,0xa7,0xcc,0xfb,0xae,0x82,0x02,0x27,0xd0,0xe2,0x01,0xf6,0x32,0x0e,0x5c,0x7e,0xa7,0x59,0x82,0x42,0x8e,0x1a,0x76,0xf2,0x67,0x88,0xd5,0x02,0x4f,0x01,0xf1,0xa2,0xf9,0xaa,0x28,0xeb,0xef,0x59,0xe5,0x1a,0x61,0xc0,0x2c,0x1f,0x4a,0xc6,0x77,0xbe,0x6d,0xbb,0xf7,0xe8,0xa0,0x58,0x11,0x52,0x97,0x35,0xe1,0xb4,0x4e,0x0d,0xe0,0x8f,0x4b,0x80,0x12,0x01,0x5f,0x43,0x4b,0x6f,0x77,0x6a,0xa0,0x7f,0xaa,0x83,0x5e,0x2c,0x16,0x6b,0xcd,0x26,0xf9,0x04,0x15,0x40,0xac,0xaa,0x00,0xd3,0x32,0x13,0x15,0xbe,0x85,0x72,0x17,0x96,0xe8,0x36,0x65,0xc8,0x88,0xc0,0x4c,0xaa,0x75,0xbc,0x96,0x1b,0x6c,0x99,0x16,0x8b,0xed,0x79,0xca,0xe4,0x24,0x4d,0x08,0x8b,0x5d,0x15,0xd1,0x3e,0x83,0x6a,0x5d,0xe8,0x98,0x2c,0xdf,0xe0,0xf6,0x6d,0x07,0x59,0x2a,0xf2,0xb6,0x6f,0xbb,0x59,0x42,0xf7,0x5e,0xb4,0x1d,0x16,0x2f,0x72,0xdc,0x92,0x7f,0x8c,0x1e,0x00,0xaf,0x1e,0x50,0x24,0x5a,0xbc,0x50,0x5f,0x78,0x25,0x5b,0x50,0xcf,0xec,0xae,0x21,0xab,0x4d,0x05,0x40,0xec,0xbd,0x64,0x12,0xc7,0x9d,0x13,0x55,0x8c,0xe0,0x82,0x9b,0x21,0x4b,0x6c,0x5b,0x9d,0xba,0xd1,0x68,0x90,0xb6,0x4b,0x7e,0x3e,0xba,0x24,0x87,0xfb,0x97,0xfb,0x78,0xbf,0xb6,0xe4,0x8c,0xca,0x9a,0xa0,0x60,0x96,0x13,0x28,0x24,0xe6,0x12,0x7a,0xdc,0xa7,0x4c,0x4e,0x28,0x40,0x63,0xb3,0x65,0xab,0xd0,0xbc,0x75,0x9f,0xb1,0x0d,0xe4,0xe9,0x6a,0x8c,0x5d,0x00,0x51,0x6d,0x43,0x3f,0x62,0x31,0x68,0xa2,0x4f,0xe8,0x3d,0x44,0x74,0x94,0xcf,0x1a,0x20,0xc6,0xa0,0xcc,0x63,0xe6,0x42,0xf6,0xb2,0x10,0x99,0xed,0x68,0x75,0x46,0x18,0x64,0x0d,0x05,0xe6,0x59,0xcd,0xd7,0xe4,0x9f,0xb7,0xb7,0x67,0x57,0xe7,0x47,0xb7,0xb7,0xe4,0x75,0x93,0x24,0x6c,0x4a,0x0e,0x31,0xaa,0xe4,0xd0,0xaf,0xdb,0x6c,0x0b,0x4c,0x42,0xf2,0x5f,0x2e,0x4e,0x2f,0x94,0x89,0x5b,0xb6,0x2b,0xc0,0x0d,0x98,0xd5,0x72,0xda,0xef,0xed,0xae,0x31,0x1c,0x84,0xf5,0x4b,0xa6,0xc3,0x16,0xf8,0xc0,0x54,0x6b,0xf9,0x83,0x4c,0xb8,0x0a,0x7d,0x4f,0x17,0x7a,0xce,0xa6,0x56,0x75,0xb5,0x40,0xae,0xdf,0x52,0x85,0xc9,0x76,0x42,0xd3,0xe5,0x57,0xac,0x16,0x16,0x9c,0x72,0x06,0x53,0x8b,0xea,0xb9,0xf8,0xf2,0xa5,0x9a,0xce,0xd4,0x23,0x9c,0xee,0x95,0x9e,0xe8,0xd4,0xa6,0x9e,0x4c,0xf0,0x52,0x3d,0x79,0xc2,0x1a,0x5b,0x5a,0xb8,0xa9,0x0c,0x6e,0xa1,0xe5,0xfa,0xf2,0xc5,0xaa,0xca,0x64,0xc9,0xc0,0x59,0x9a,0xf2,0x14,0xcc,0x3b,0xcf,0x48,0x07,0x2a,0xe7,0x24,0x90,0x88,0x60,0xb7,0x4b,0x54,0x9b,0x36,0x8d,0xe4,0x90,0x60,0xb5,0x4c,0xf4,0x64,0xf2,0x07,0xa1,0x53,0x13,0xe4,0x9f,0x8d,0x0d,0xab,0xda,0xd8,0x39,0x9a,0x2d,0x5c,0xb1,0x20,0xde,0x2d,0x20,0x42,0x81,0xa5,0x61,0x32,0x35,0x46,0xa0,0x28,0x5a,0xfe,0x11,0x7e,0x61,0x66,0x17,0x98,0xe9,0x30,0x68,0xf9,0x0e,0xd3,0x46,0xbe,0x1f,0x4f,0xe9,0x4c,0x80,0xad,0x25,0x10,0xf9,0x88,0xae,0x53,0xd8,0x3d,0x4b,0xd0,0xae,0x52,0xac,0x48,0x21,0xc3,0xf7,0xb1,0x60,0x20,0x80,0x01,0x0f,0x0b,0x1e,0x44,0x18,0x44,0xfa,0xd9,0x9a,0xde,0x73,0x89,0x5b,0x2c,0x7b,0x51,0xca,0xee,0x40,0x3d,0x14,0x97,0xfc,0xd3,0xa7,0xe3,0x63,0xcb,0xdc,0x65,0x6e,0xef,0xbf,0x9a,0x1b,0x5b,0x3a,0xa6,0x72,0xe8,0xf6,0x63,0x0e,0xfc,0x19,0x98,0xe6,0xd6,0xbb,0x56,0x0b,0x2c,0x6e,0x4c,0x43,0xd5,0x83,0x5a,0x9b,0x8e,0xdf,0xf2,0xed,0x45,0xe7,0x89,0x3d,0xff,0xc0,0x3d,0xcd,0x77,0x75,0xdb,0xfc,0x82,0xa5,0x0a,0xa7,0xca,0x09,0xd4,0x41,0x3d,0xd4,0x96,0xba,0xf2,0xb5,0x77,0x1d,0x60,0x31,0x40,0x18,0xc4,0x60,0x89,0x82,0x52,0x26,0xc1,0xc0,0x52,0x49,0xca,0xa7,0x62,0xad,0x0f,0x64,0xbb,0x0a,0xdc,0xc5,0x7b,0x37,0x66,0xc9,0x40,0x0e,0x77,0x5b,0x5d,0x5b,0x2f,0x86,0x0c,0x30,0xb3,0x73,0x50,0x4c,0x4b,0xa3,0xfb,0xcc,0x21,0xbb,0xc9,0x21,0x14,0x66,0x83,0xa1,0x8a,0x8f,0x27,0xfb,0xc7,0x47,0x17,0x84,0xa6,0x29,0x9d,0x61,0xf6,0x63,0x09,0x16,0x16,0x28,0x6e,0x68,0x7a,0x4c,0x9f,0x23,0x88,0x18,0x42,0x55,0xb9,0x56,0x18,0xaa,0x0b,0x74,0x8f,0x28,0xe8,0xd5,0x42,0x63,0x75,0x22,0xdb,0xdb,0xd5,0x51,0x86,0x4f,0x75,0x39,0xe9,0x46,0x10,0x24,0x52,0x89,0x84,0x57,0xb8,0xb3,0x9d,0xb1,0x1a,0x60,0x17,0xe8,0xae,0xa3,0x9b,0x17,0x1e,0x34,0x53,0x51,0x48,0x5a,0x1b,0x1b,0xcb,0xeb,0x18,0x13,0xf7,0x2a,0x8b,0x1d,0x1f,0xd7,0x7c,0x67,0x0c,0x5e,0xe4,0x95,0x5c,0xab,0x06,0x4f,0xf9,0x41,0x81,0x28,0x5f,0x35,0x98,0xba,0xc0,0x1e,0xb0,0x9c,0xb0,0xf4,0xd3,0xe5,0xf1,0x67,0xcf,0x5f,0x23,0x35,0x7f,0xb0,0x30,0x7e,0x35,0x8f,0x16,0xaa,0x68,0x7d,0x02,0x42,0x9d,0xee,0x19,0x28,0xd3,0x6b,0xa8,0x76,0x62,0xfd,0xd5,0x1c,0xbf,0x79,0x9f,0xa8,0xf3,0x78,0xbe,0x6e,0x46,0xfd,0xbd,0xec,0xa2,0xe3,0xe3,0x74,0xd0,0x5f,0xac,0x63,0xb5,0xbe,0x0e,0xae,0x8c,0x5c,0xac,0x13,0x1d,0x62,0x60,0x37,0x6e,0x83,0x7b,0x9e,0x28,0xa4,0xde,0xfa,0x4a,0x13,0xbf,0xbe,0xfb,0x2c,0xcf,0x79,0xa4,0x01,0xa1,0x7c,0xf9,0xe2,0xfb,0x8f,0xf0,0x0f,0x05,0x44,0x17,0x6d,0x0e,0x95,0xad,0x8f,0x00,0x6c,0xd7,0x94,0xd9,0xe2,0xc3,0xec,0x92,0x0e,0x50,0x5f,0x18,0x7b,0x00,0x0e,0x32,0xb9,0xfa,0xc6,0xa8,0x73,0x04,0xbe,0x2c,0x31,0x04,0x31,0x10,0x38,0xc4,0x31,0x6c,0x31,0xc0,0xf9,0xc1,0x86,0x98,0x0b,0xde,0x02,0x58,0x5c,0x01,0x76,0x1b,0x48,0x0b,0xab,0x15,0x74,0x88,0x7c,0x44,0x92,0x47,0xd6,0xb2,0x1a,0xdb,0x3a,0x1e,0x16,0xc3,0xa0,0x1c,0xaa,0xea,0xf7,0xe5,0x3d,0x9b,0x37,0x76,0xb1,0x09,0x5c,0xf1,0x2b,0xb6,0x6c,0x99,0x2d,0xc5,0x38,0xa3,0x96,0x9b,0x6d,0xcd,0x4d,0x3e,0x84,0xa8,0x05,0x7a,0x7b,0x53,0x44,0x82,0xa5,0xa9,0x04,0x84,0x4a,0x48,0x99,0x95,0x0a,0xc5,0x76,0xc0,0xa1,0x42,0x4f,0x9b,0x86,0x11,0x04,0x04,0x5e,0x13,0xd8,0xdb,0x39,0x05,0xa6,0xbf,0xeb,0x0a,0x2f,0x00,0xb2,0x0b,0x34,0x65,0x51,0xa1,0xe3,0x5e,0x0f,0xf9,0x24,0x15,0xce,0x28,0x4a,0x26,0x92,0x89,0x9b,0x0c,0x91,0x2b,0xa0,0xc4,0x84,0xfa,0x19,0x6a,0x5a,0x77,0x44,0xc7,0x96,0x2e,0x4c,0xf2,0x2c,0xbb,0x99,0x13,0x56,0xdb,0x5f,0x63,0xdc,0x7b,0x63,0x70,0xbc,0x7e,0xd7,0xaa,0x63,0x03,0xb6,0xd8,0x0b,0x38,0x5e,0x85,0x11,0x25,0xfe,0x6f,0x67,0x63,0xeb,0xdf,0x67,0x63,0x0b,0xd9,0xc8,0x78,0x28,0xe9,0xb3,0x10,0xea,0xf6,0xd7,0x08,0x75,0xbb,0x22,0xd4,0x42,0xe3,0x05,0x9a,0xb7,0x5f,0x83,0xe6,0x2d,0xa2,0x29,0x27,0xab,0x72,0x3e,0x55,0x71,0x55,0xa7,0x85,0x3c,0x89,0x77,0x57,0xac,0x43,0xd3,0x78,0xbc,0x82,0x52,0x45,0xd3,0x67,0x9c,0xd1,0x32,0x93,0xb7,0x7c,0x71,0xdf,0xb8,0x38,0xf2,0x57,0x7b,0xb9,0x52,0xfa,0x9e,0x63,0xc6,0x38,0xc3,0xb2,0x55,0xa5,0x0a,0x78,0x04,0xc5,0x1f,0x7a,0xf7,0x1a,0x2a,0x0b,0xeb,0x2a,0x78,0x28,0x1d,0x64,0x0a,0x2f,0x6e,0xbc,0x9a,0xf2,0x2b,0x53,0xde,0x25,0x14,0x19,0xd7,0x33,0xc8,0x65,0xce,0x08,0xfa,0x98,0x21,0x14,0x29,0xb3,0x1b,0x2f,0x43,0x91,0x01,0x35,0xaa,0x1a,0x76,0x94,0x41,0x18,0x7b,0x70,0xb4,0x67,0x7a,0xad,0x1b,0x2f,0x23,0xf8,0x88,0x61,0x38,0x6c,0xcc,0x83,0xa1,0x57,0xca,0xcc,0x28,0x03,0xf7,0xea,0xf2,0xc0,0x2a,0x18,0x68,0xb4,0x91,0x05,0x67,0x95,0x80,0xdd,0xc4,0x22,0xb3,0x6b,0xad,0x14,0xca,0x7f,0xbf,0x35,0x53,0x7c,0x81,0x22,0xb2,0xd2,0x75,0x01,0x6a,0xe1,0x77,0x1b,0x1b,0x8f,0x55,0x68,0x50,0x60,0x82,0x7f,0x94,0xbb,0x90,0x3c,0xd4,0x42,0x15,0x94,0xce,0x2e,0x54,0x94,0xe4,0xe9,0x7e,0x1c,0x9b,0x30,0xeb,0xe6,0xa0,0x26,0xd9,0x82,0x61,0xb6,0xf6,0x9e,0xaa,0x16,0x3b,0x4f,0x35,0x36,0x79,0xcf,0xb1,0x09,0xdd,0x32,0x9c,0xf9,0xd1,0xa6,0xa3,0x3a,0xbe,0x9c,0x3f,0x45,0x50,0xb5,0x14,0x86,0xcd,0x5f,0x54,0xcb,0xe6,0x7d,0xfd,0xa9,0x1c,0x31,0xf6,0xe6,0x8b,0xd5,0x14,0x54,0xc1,0x67,0x43,0x80,0xd1,0xfb,0xb4,0x63,0xe6,0xa2,0xd5,0x2a,0x2d,0x5b,0x78,0x97,0xc5,0x60,0xdc,0x4b,0xf0,0xcb,0xb5,0xbf,0x72,0xc1,0x87,0x72,0xff,0xf6,0x78,0x87,0xb0,0x6a,0x38,0xff,0x77,0x4d,0xfd,0x12,0x07,0x0e,0x34,0xc7,0x9d,0x87,0x45,0xc5,0xaa,0x56,0x98,0x7c,0xc2,0xb8,0x16,0xcb,0xb2,0x70,0x55,0x86,0x10,0xbf,0x43,0xf5,0xaf,0xec,0x13,0xc2,0x54,0x16,0x11,0x4c,0x0d,0x0a,0x5b,0xc3,0x18,0xb0,0xaf,0x29,0x65,0xe0,0xdb,0xa3,0x6c,0xa7,0x76,0x4c,0xd8,0x02,0xd9,0xb9,0x2b,0xc6,0xd7,0x51,0x78,0x63,0x9e,0xea,0x30,0xa8,0xaf,0x55,0xfd,0x53,0x54,0x3c,0xd8,0x4c,0xac,0x80,0xaa,0xc0,0x35,0x65,0xe9,0x01,0x15,0xa0,0x30,0x0d,0x0d,0x25,0x9b,0x6e,0x95,0x97,0x7b,0x6a,0xa3,0x04,0x7b,0x71,0xda,0xfb,0x0b,0x8c,0xc8,0xbd,0x63,0x33,0x01,0x38,0x33,0x6f,0x80,0x22,0x10,0x0a,0x43,0x6b,0xc5,0xb7,0xc7,0xff,0x71,0x0d,0x01,0x4d,0xad,0x87,0xbd,0x8a,0x69,0xe6,0x85,0xb3,0x2e,0xd5,0x76,0xe7,0x99,0xc4,0x5e,0x94,0xec,0x74,0x63,0xc3,0x58,0xfd,0x13,0xba,0xb2,0x9f,0xf4,0x5b,0xdb,0x29,0x9d,0x30,0x9b,0x05,0x2c,0x47,0xfa,0xe5,0x11,0xb5,0x32,0x73,0x9c,0x6d,0x2b,0x56,0x55,0x2c,0xaf,0x0c,0xbf,0xcd,0x90,0x20,0x87,0x70,0xf1,0x2a,0x2f,0xea,0xe7,0x90,0x5a,0xa0,0xd1,0xf1,0x4f,0xb8,0xc2,0x41,0x74,0x05,0x87,0xbc,0x9a,0x31,0xc7,0x22,0x43,0xef,0x2d,0x61,0xb8,0x6e,0xdd,0x74,0x9f,0x1b,0x53,0x70,0x49,0xbf,0x4d,0x45,0x1c,0x78,0x90,0x0d,0xd0,0x0b,0xa3,0xa3,0x4c,0x55,0x48,0x75,0x81,0x6c,0xe5,0xd3,0x8e,0x3d,0xc3,0xbc,0x19,0xd2,0x8b,0x49,0x10,0x30,0x21,0xfa,0x93,0xd8,0x25,0x66,0x42,0x3b,0x82,0xf6,0x48,0x0f,0x68,0x5d,0xdf,0xee,0x54,0xc1,0xb1,0x17,0x65,0x61,0x87,0xf8,0x6f,0x72,0x94,0x7a,0xac,0x62,0xba,0xdf,0x5c,0x34,0x4c,0x4e,0x79,0x7a,0x47,0x54,0x07,0x4c,0xc2,0x89,0x9a,0xf1,0x6a,0x2d,0x80,0x46,0x8b,0x02,0x20,0x7f,0xfd,0x62,0x45,0xf6,0xfc,0x7b,0xc4,0x91,0x3e,0xd8,0x3f,0x9a,0x56,0xc2,0xe2,0x4e,0x54,0x37,0xe0,0xad,0x79,0x21,0xa4,0xd4,0xa5,0xe7,0x6a,0x66,0x14,0xef,0x7f,0xe4,0x29,0x18,0x0b,0x70,0xe9,0x9f,0x63,0xff,0x28,0x18,0x5c,0x5d,0x01,0x6a,0x1f,0xdf,0x49,0xf8,0x37,0x0e,0x76,0xb2,0x09,0x0b,0x0f,0x78,0x88,0xe0,0xe8,0xbf,0x4e,0xf5,0xe3,0x46,0x19,0x58,0x3e,0x8a,0xb8,0xc4,0x89,0x83,0x1a,0x8d,0x1b,0xfa,0x84,0xc2,0xf5,0x36,0xbe,0xc0,0x4a,0xd5,0x0b,0x2c,0x43,0x5f,0xe0,0xf4,0x55,0x18,0xce,0xdc,0xb5,0x35,0x3d,0xd7,0x3d,0xfd,0x17,0xf6,0xb3,0x6a,0x40,0xef,0x60,0xf9,0x92,0x90,0x3e,0xc7,0x5f,0xa1,0xa8,0x52,0x46,0x4f,0x86,0x05,0xe8,0x32,0x1b,0x74,0x61,0x60,0x3b,0xd4,0x1e,0x84,0x04,0x02,0xfd,0x63,0x2d,0x91,0xa9,0xc9,0x70,0x30,0xc2,0x60,0xf7,0xfd,0x02,0x7c,0xff,0xd6,0x38,0xb5,0x1e,0xdc,0xe6,0x69,0xcf,0x6b,0x75,0xa3,0x9d,0xed,0x6e,0xf4,0xe6,0x8d,0x6a,0x16,0xca,0x06,0x63,0x3c,0x1f,0x2b,0xbf,0x33,0x38,0x64,0x04,0x41,0x13,0xc4,0xc1,0xe3,0x7b,0xe8,0xaf,0x4c,0x65,0xc9,0x27,0x32,0x5b,0x73,0xda,0x38,0xde,0x70,0x0a,0x99,0xeb,0x57,0x7b,0x04,0x3a,0xcc,0x37,0xed,0x45,0x73,0xbb,0x03,0x57,0x25,0x25,0x43,0x73,0xb8,0xf8,0x33,0xf9,0x33,0xd1,0x12,0x46,0x41,0xae,0x3c,0x2e,0x8d,0xd9,0x67,0x50,0x5b,0x65,0x9a,0x4a,0xf8,0xd4,0x68,0x61,0x6c,0xb4,0xe3,0x16,0x88,0x0e,0x70,0x8e,0x1e,0xab,0xe1,0xfb,0x5d,0x34,0xd6,0x93,0x26,0x8d,0x06,0x15,0x34,0x2f,0x8e,0xd7,0x80,0xc8,0x56,0xb6,0x22,0x20,0xe8,0x35,0xda,0xf8,0xd2,0x47,0x42,0x09,0xc7,0x54,0xb9,0xf2,0xbb,0x52,0x0e,0x38,0x58,0x00,0x10,0xda,0x04,0x88,0xd9,0x43,0xac,0x31,0x98,0x80,0x7a,0x48,0x49,0x2f,0x92,0xb6,0xca,0x5b,0xe6,0x21,0xce,0x71,0x55,0xc2,0x43,0xcc,0xde,0x12,0x95,0x5c,0xf4,0x38,0x25,0x04,0xcb,0x01,0x05,0x98,0xab,0x9d,0xb7,0xf9,0x25,0x6a,0xe3,0x1b,0xa4,0xaf,0xc7,0x3c,0x43,0x16,0xdc,0xe1,0x80,0x4b,0x71,0x3d,0xa5,0x22,0xe7,0xb9,0x37,0x23,0xc8,0x35,0x1a,0x21,0xd8,0xa5,0x0e,0x2c,0xe4,0x3e,0xa2,0x04,0x0d,0x6f,0x2d,0x0b,0x9c,0xc5,0x8c,0xd6,0xfa,0x9e,0xe6,0x69,0xc6,0xc7,0xba,0xe8,0x28,0xcd,0x84,0xf3,0xe3,0x28,0x5d,0x8a,0x31,0x0b,0xa2,0x7e,0x14,0x80,0x9f,0x86,0xec,0x21,0x1f,0xd8,0xf7,0x41,0x42,0x64,0x3a,0xa4,0x92,0x4c,0x19,0x51,0xa2,0x87,0x45,0x9c,0x35,0xe2,0xcc,0x58,0x0d,0x31,0x03,0x23,0x7e,0xc8,0x8e,0x8d,0xf6,0xc6,0xc6,0xf2,0x1a,0xc6,0x8c,0xd5,0xd5,0x5c,0x89,0x18,0xa3,0xaa,0xb6,0x52,0x01,0x75,0x72,0xc5,0xb7,0xba,0x3d,0xc8,0x0f,0x77,0x8b,0x67,0x86,0x95,0x01,0x1e,0xaa,0xa2,0x87,0x8e,0x9a,0x59,0x62,0x43,0xfb,0xc2,0x20,0xb3,0xf5,0xb8,0xdb,0x04,0x30,0xad,0x6e,0x82,0x0a,0xc1,0x7d,0x68,0x78,0x8f,0x39,0x8c,0x72,0x87,0x73,0x06,0xfa,0x2c,0xdb,0xff,0x1e,0xda,0x7f,0xd4,0x68,0x14,0x26,0xae,0x8a,0x34,0x14,0xf1,0xc5,0x92,0xab,0xac,0xad,0x3a,0xc6,0xa2,0x34,0x9e,0xd7,0xa5,0xb2,0x9a,0xcf,0x0b,0xc5,0x48,0x3e,0x49,0x14,0xe4,0x7d,0xa3,0xbd,0x49,0xac,0xb3,0xfd,0xf3,0xfd,0xe3,0xdb,0x7f,0x1d,0xfd,0x71,0x70,0x7a,0x78,0x74,0xdb,0xca,0xa7,0x84,0xd5,0xf5,0x2d,0x7b,0xad,0x36,0x0c,0xe5,0xe5,0x78,0xd6,0x04,0xbe,0x9a,0xbf,0x7f,0x13,0x2d,0xb0,0x68,0xc0,0x55,0xa8,0xba,0x4a,0x05,0xda,0xb2,0x7b,0x55,0xba,0x62,0xfd,0x72,0x44,0x8f,0x82,0x0f,0x54,0x81,0x43,0xfe,0x9a,0x08,0xa9,0xc2,0x0d,0x48,0x1e,0x4a,0x3a,0xa5,0x41,0xa2,0x87,0x33,0x9a,0x7b,0xed,0xc9,0x4b,0xcd,0x41,0x89,0x3d,0x28,0x2b,0x81,0x9b,0x9b,0x15,0xb7,0x06,0x6d,0x7d,0xcf,0x62,0x50,0xd7,0xcf,0x57,0xc9,0x30,0x7f,0x79,0x85,0x87,0x32,0x27,0x32,0x2f,0xb0,0xbe,0x51,0xbc,0xcf,0x97,0x8c,0x4b,0x61,0x46,0x09,0xd6,0x04,0x6b,0x01,0x6d,0x70,0x8c,0x2f,0xf1,0xa1,0xca,0xd1,0xef,0xce,0xc2,0xb5,0x6f,0x6a,0x35,0xcd,0xe4,0xe3,0xb1,0xde,0x4f,0x33,0x71,0xce,0x1a,0xe6,0x05,0x5d,0x39,0xd1,0xd2,0x3e,0x76,0x14,0xff,0x5f,0x79,0x56,0x33,0xa4,0xd3,0xac,0xf2,0xae,0x21,0x54,0x0a,0xe6,0x97,0x34,0xda,0xb6,0xf4,0xb5,0xe7,0xe7,0x3f,0x9f,0x21,0x67,0x05,0xaf,0x68,0xa8,0x63,0x1c,0xb5,0xbf,0x58,0x5b,0xf3,0x6b,0x2d,0x70,0xd9,0x3b,0x31,0xa2,0xed,0x19,0xa4,0x6f,0x3c,0x7f,0x25,0x2c,0x74,0xc8,0x09,0x97,0xb9,0x38,0x58,0xf8,0x67,0xe2,0x77,0x9e,0x04,0x7f,0xb5,0x1c,0xed,0x20,0x53,0xfb,0x5d,0x5d,0x7a,0x9a,0x8d,0x5f,0xd5,0x16,0xac,0xfc,0xa4,0xe4,0xd9,0x77,0x88,0x31,0x1f,0xd4,0xbc,0x40,0xc4,0xf0,0x31,0x25,0x47,0x3a,0x80,0x66,0xa5,0x6f,0x06,0xa0,0x32,0x1c,0xbe,0x64,0xe2,0x77,0xbe,0x7e,0x5f,0xdf,0x8b,0x79,0x6f,0xf9,0x25,0x23,0xae,0x59,0xb6,0x03,0xb5,0x83,0xf7,0xd8,0x64,0xcb,0x01,0x59,0x8f,0x30,0xff,0x86,0x78,0xe7,0x15,0xef,0x72,0x60,0x13,0xce,0xa3,0xb3,0xe9,0xd7,0xf2,0x9b,0x98,0x57,0xf3,0x6b,0xff,0xd7,0xfd,0x13,0x28,0x4e,0x3f,0x1e,0x7d,0x80,0xcf,0xe3,0xfd,0x73,0xf8,0xdc,0x3f,0x3b,0x57,0xd7,0x7f,0xc0,0xe7,0xaf,0x57,0x27,0xea,0xf3,0x33,0xae,0x5f,0xfd,0x0c,0x9f,0x17,0x47,0x67,0xf0,0x79,0x7a,0x00,0x76,0xe7,0x9f,0x9c,0xfe,0x86,0x85,0xed,0xd1,0x81,0x7f,0x73,0x6d,0x48,0x1d,0xe3,0x58,0xc9,0xb2,0x6f,0x00,0xb7,0x59,0xf9,0x08,0xf9,0xe9,0x0f,0x50,0x0a,0x08,0xb9,0xb1,0xcc,0xd8,0x27,0x9c,0x55,0xd6,0x73,0x56,0x05,0x3c,0xd6,0x93,0xcc,0x3a,0x50,0xdf,0x99,0xa4,0xb1,0x77,0x75,0xfe,0xd9,0x0d,0x20,0x7f,0x49,0xa6,0x9b,0x5e,0xb8,0xb7,0x50,0x72,0xa0,0xed,0x62,0xb2,0xa2,0x01,0xcc,0x74,0xde,0xf2,0x29,0x48,0x9d,0xba,0xc3,0x94,0xf5,0x3d,0x40,0xe1,0x50,0x37,0xd3,0x3a,0xfe,0xd2,0x85,0xa7,0x74,0xc0,0x80,0xe1,0x8a,0x68,0x17,0xf8,0x83,0x28,0xbf,0x18,0x40,0xa1,0x37,0xb9,0xf8,0x1b,0xde,0x24,0x3c,0x18,0x46,0x71,0x68,0x51,0xa0,0xe7,0xaa,0x59,0xbe,0x65,0x2f,0x81,0xe9,0x58,0x94,0x83,0x21,0xc3,0x29,0xbb,0xe7,0x77,0x25,0x86,0x81,0x8b,0xfc,0x5d,0x21,0x9a,0xcc,0x4a,0x0a,0xce,0x7f,0xd7,0x64,0xba,0x2d,0xc8,0xbc,0x0a,0x4e,0xff,0x1a,0xe0,0x17,0xfd,0x9f,0x24,0xc8,0x67,0x80,0x58,0x9b,0x42,0x99,0x01,0xb2,0xe3,0xfa,0x40,0x25,0x63,0xef,0xee,0x34,0xcd,0xaf,0x8a,0x76,0x9a,0xfa,0xd7,0xc8,0x4d,0xf5,0x1f,0x34,0xfe,0x17,0xf9,0xba,0x34,0x68,0xb0,0x31,0x00,0x00};
+const char html_content[] = {0x1f,0x8b,0x08,0x00,0xed,0x82,0x54,0x69,0x02,0xff,0xbd,0x1a,0xfd,0x77,0xda,0x46,0xf2,0xf7,0xfc,0x15,0x1b,0x27,0xe7,0x4a,0x89,0x10,0x60,0x3b,0x69,0x22,0x2c,0xdc,0xc4,0x71,0x9a,0xf6,0x12,0xdb,0xcf,0x1f,0xbd,0x77,0xe7,0xf2,0xac,0x05,0x2d,0xa0,0x5a,0xd2,0x52,0x69,0x31,0xe6,0x88,0xfe,0xf7,0x9b,0xd9,0x5d,0x7d,0x00,0x32,0xce,0xa5,0x77,0x8e,0x5f,0x40,0x5a,0xcd,0xce,0xcc,0xce,0xf7,0x8c,0xd8,0x7f,0xea,0xf3,0x81,0x98,0x4f,0x18,0x19,0x8b,0x28,0xec,0xee,0x8b,0x40,0x84,0xac,0x7b,0xc8,0x63,0x91,0xf0,0x90,0x9c,0xd2,0x98,0x85,0xfb,0x4d,0xb5,0xb8,0x1f,0x31,0x41,0xc9,0x00,0x1e,0xb1,0x58,0xb8,0x5b,0xb3,0xc0,0x17,0x63,0xd7,0x67,0xb7,0xc1,0x80,0x35,0xe4,0x8d,0x15,0xc4,0x81,0x08,0x68,0xd8,0x48,0x07,0x34,0x64,0x6e,0xdb,0x6e,0x6d,0x91,0x98,0x46,0xcc,0xbd,0x0d,0xd8,0x6c,0xc2,0x13,0xd1,0xdd,0x4f,0xc5,0x1c,0x30,0x3d,0x9b,0x25,0x74,0x32,0x61,0xc9,0x42,0xb0,0x3b,0xd1,0xa0,0x61,0x30,0x8a,0x9d,0x01,0x20,0x65,0x49,0xa7,0xcf,0xef,0x1a,0x69,0xf0,0xef,0x20,0x1e,0x39,0x7d,0x9e,0xf8,0x2c,0x69,0xc0,0x4a,0xf6,0x4c,0x53,0x5d,0x44,0xf4,0x4e,0xd1,0x72,0x5e,0xb5,0x5a,0x93,0xbb,0x4e,0x44,0x93,0x51,0x10,0x3b,0x74,0x2a,0x78,0x67,0x42,0x7d,0x1f,0xf7,0xb5,0x48,0x1b,0x1e,0x65,0x7d,0xee,0xcf,0x6b,0x08,0xe8,0x1d,0xad,0x12,0x3c,0x7b,0xb1,0x18,0xf0,0x90,0x27,0xce,0xb3,0x9d,0x21,0xfe,0x75,0xfa,0x74,0x70,0x33,0x4a,0xf8,0x34,0xf6,0x1b,0xfa,0xc1,0x70,0x38,0xec,0x0c,0x81,0x85,0xc6,0x90,0x46,0x41,0x38,0x77,0x8e,0xb9,0xe0,0xe4,0x9c,0xc6,0xa9,0xf5,0x1b,0x4b,0x7c,0x1a,0x53,0x2b,0x85,0x9b,0x46,0xca,0x92,0x40,0x03,0xc2,0x19,0x98,0xd3,0xb6,0x77,0x12,0x16,0x65,0x41,0x3c,0x99,0x0a,0xab,0x3f,0x15,0x82,0xc7,0x55,0x8e,0x92,0x60,0x34,0x16,0xf5,0x27,0xae,0xe1,0x81,0x0d,0x99,0xcf,0xde,0x76,0x14,0x8c,0xd3,0x9e,0xdc,0x91,0x94,0x87,0x81,0x4f,0x9e,0xf5,0xe9,0xdb,0xd7,0xaf,0xfa,0xfa,0x41,0x23,0xa1,0x7e,0x30,0x4d,0x9d,0x57,0x20,0x1c,0x25,0xa8,0x76,0xab,0xf5,0x37,0xc5,0xc2,0x15,0xea,0xd9,0x45,0x06,0x7a,0x56,0x65,0x21,0x9e,0x46,0x7d,0x96,0xf4,0x16,0xd5,0x03,0x46,0x3c,0xe6,0xe9,0x84,0x0e,0x58,0xb6,0xce,0xb6,0x12,0x64,0x66,0x0f,0xc6,0x34,0x1e,0x31,0xdf,0x02,0xe5,0x44,0x51,0x20,0xae,0xfb,0x22,0x5e,0x94,0xf2,0x7a,0x1a,0x44,0xa8,0x72,0x1a,0x8b,0x9a,0xb3,0xec,0xd0,0xbd,0xb7,0xbb,0x7e,0x09,0x92,0x2d,0xe1,0x98,0x26,0x29,0x00,0x4d,0x78,0xa0,0x2d,0x42,0x1e,0x38,0xe6,0x31,0xab,0x9c,0x48,0xeb,0xb1,0x21,0xf8,0xc4,0x41,0x75,0x17,0xea,0x94,0x37,0xf2,0x28,0x33,0x86,0xf2,0x75,0x7e,0x6c,0xb5,0xaa,0xe8,0xaf,0xfc,0x20,0xa5,0xfd,0x90,0xf9,0xbd,0x9c,0xd9,0x37,0x6f,0xde,0x74,0x34,0xcd,0x98,0xe3,0x21,0x43,0x3e,0x63,0x7e,0x0d,0xd7,0x7b,0x7b,0x7b,0x15,0x96,0x05,0x62,0x59,0x68,0xa9,0x03,0x44,0x48,0x27,0x29,0x73,0xf2,0x8b,0x4e,0x45,0x60,0x21,0x1b,0x8a,0xaa,0x32,0x84,0xbf,0x28,0x34,0x0d,0xc2,0x8d,0xaa,0xca,0xd4,0x5a,0xce,0x4f,0xf3,0x06,0x0c,0x39,0x9d,0x46,0x70,0xd8,0x25,0x5b,0x96,0x18,0x2b,0xb6,0xb9,0xce,0xeb,0x8f,0x3b,0xbb,0x35,0x16,0x91,0xa3,0xb5,0x77,0xc1,0x2e,0xd7,0xa4,0x64,0x0f,0xa2,0x9c,0x33,0x25,0xee,0xaa,0x25,0xbf,0x42,0x4b,0x7e,0x16,0xa5,0xa3,0x1a,0x53,0x18,0xb7,0x17,0x25,0xe8,0x8e,0x02,0xfd,0x29,0x62,0x7e,0x40,0x49,0x3a,0x48,0x18,0x8b,0x09,0x8d,0x7d,0x62,0x48,0x11,0xec,0xbb,0xbb,0xaf,0x40,0x45,0xe6,0xa2,0xc6,0xa7,0xa5,0x62,0x4b,0x37,0x06,0x8e,0x95,0x94,0x89,0x48,0x88,0x14,0x5a,0x9d,0xa7,0x54,0xb6,0x82,0x6a,0x27,0x21,0x9d,0x3b,0xfd,0x90,0x0f,0x6e,0x8a,0xad,0x0b,0x6d,0x2a,0xb9,0xb0,0xd1,0x40,0x96,0x21,0xb3,0xfd,0xa6,0x0a,0x4c,0xfb,0xcd,0x31,0xa3,0x7e,0x77,0x1f,0x63,0x47,0x77,0xdf,0x0f,0x6e,0x49,0xe0,0xbb,0x3a,0x58,0x15,0xf7,0x9a,0xef,0xee,0xfe,0xb8,0xdd,0x3d,0x0c,0xa7,0x29,0x48,0xe0,0x10,0xcc,0x0b,0x8e,0x08,0xdb,0xdb,0x10,0x42,0x91,0x2e,0x7c,0xc1,0x0e,0x81,0xb8,0xa4,0x03,0x11,0x1e,0x0f,0xc2,0x60,0x70,0xe3,0x6e,0xa5,0x2c,0xf6,0x35,0xbc,0xf1,0x43,0x2a,0x68,0x22,0x7e,0x30,0xb7,0xc8,0x20,0xa4,0x69,0xea,0x82,0x02,0xba,0xe7,0x17,0xef,0xce,0x2e,0xf6,0x9b,0x6a,0x1b,0x70,0x84,0x38,0xbe,0x01,0x0f,0x9f,0x2c,0xa1,0x21,0xf2,0x40,0xee,0x43,0x36,0x02,0xd4,0x4e,0x4e,0xff,0x5b,0x62,0x80,0x82,0x2f,0xf3,0x7c,0x79,0xfc,0xe1,0x64,0x05,0x4b,0x13,0xcf,0xdf,0xcc,0x65,0x51,0x15,0x09,0xa4,0x90,0x10,0x62,0x4b,0xec,0xee,0x76,0xf7,0x65,0x18,0x42,0xa1,0x82,0x61,0x91,0x04,0x64,0xcf,0xe3,0x70,0x5e,0xc5,0xb0,0x61,0x4b,0x10,0x5f,0x8b,0x20,0x62,0xc8,0xa4,0x8c,0x44,0x2e,0xe8,0xf9,0xe6,0x50,0x05,0x25,0x43,0x8c,0x83,0xd4,0x04,0x21,0xb0,0x89,0xdb,0x26,0x32,0xcc,0xf9,0x54,0x30,0x84,0x6f,0x80,0xca,0x69,0xd8,0x25,0xf9,0x19,0x01,0x53,0xcc,0x67,0x18,0x1a,0x8a,0xe3,0xa6,0x4c,0x5c,0x00,0xe4,0x05,0x3f,0xe6,0x33,0xc3,0xec,0x9e,0xcf,0xe3,0x01,0xc1,0x85,0xba,0x23,0x6a,0x35,0x9f,0x0f,0xc6,0xcc,0x9f,0x82,0xbd,0x9d,0xa3,0x46,0x4b,0x41,0x96,0x07,0xe4,0xb7,0xec,0x5a,0xaa,0xbb,0x64,0x58,0x7d,0xe5,0x5b,0x35,0xcf,0x2a,0x48,0x03,0xb5,0x4d,0x54,0x8e,0xd0,0xd8,0xea,0x69,0x80,0xa6,0xfe,0x02,0x85,0x67,0xe4,0x0b,0x20,0x49,0x9b,0x1f,0xe8,0xbc,0x86,0x00,0xa4,0x8a,0x6b,0x24,0x92,0x92,0x28,0x88,0xdd,0xd6,0xb7,0xd0,0x51,0xd9,0xa5,0x86,0xd2,0x19,0x8b,0x68,0x10,0xdb,0xe4,0x43,0x00,0x52,0x89,0x07,0x8c,0x18,0x43,0x61,0xd6,0xd0,0x4c,0x24,0x1c,0x38,0xfd,0x35,0x38,0xad,0xd8,0xa4,0xed,0xcd,0xf4,0xf0,0x5c,0x0f,0x12,0xf3,0x93,0x00,0x44,0x28,0x09,0xfd,0xf5,0x13,0xfe,0x0a,0x1e,0x47,0x3e,0xc9,0xf8,0x4a,0x8c,0x20,0xae,0xa3,0xf7,0x07,0x80,0xfc,0xaf,0xc8,0xbd,0xa7,0x02,0x42,0xd1,0x9c,0x18,0xbf,0xd5,0x51,0xba,0xe5,0xa1,0xa0,0x23,0xb6,0xc1,0xc9,0xba,0xa7,0x09,0x1f,0x25,0x34,0x22,0x67,0x1f,0x09,0x28,0x87,0x0b,0x76,0x6f,0x3c,0x98,0x28,0xc8,0xb3,0x8f,0xe7,0xec,0xcf,0x29,0x03,0x79,0x82,0x97,0xe4,0xbb,0xdf,0x85,0x21,0x79,0x2f,0xc1,0xd3,0x4d,0x21,0x41,0x63,0xcc,0xb3,0xb1,0x0a,0xac,0x79,0x92,0x2e,0x08,0xa9,0xa5,0x53,0x0a,0x88,0x53,0xf4,0x44,0x0a,0x3a,0x54,0x4a,0xaf,0x20,0xef,0x27,0xea,0xbf,0x0f,0xf5,0x69,0x10,0xa6,0x50,0x65,0xaa,0x8c,0xd9,0xfd,0xf0,0xee,0xf8,0xe7,0xa3,0x33,0xf2,0xaf,0x93,0xe3,0x23,0x88,0xf0,0x7a,0x91,0xac,0x04,0xe8,0x43,0x48,0x65,0xfd,0x84,0x8a,0x80,0xc7,0xf7,0xc7,0xbf,0x81,0x06,0x62,0xc6,0x0f,0xa8,0x32,0x88,0x7e,0x4a,0xbb,0x4b,0x9b,0x35,0x3f,0x64,0xd3,0x6e,0x69,0x60,0xb8,0xfd,0x03,0x5e,0xd4,0xee,0x5f,0x57,0xcc,0xc7,0x20,0x89,0x66,0x34,0x61,0xab,0x6a,0xa5,0x83,0x01,0x9b,0x08,0xd7,0xee,0x07,0x32,0x8c,0x0d,0x35,0xd8,0xf5,0x30,0xc0,0xc4,0x87,0xc6,0x82,0x57,0x4b,0xa1,0x6e,0x3a,0x09,0x39,0xf5,0x97,0x64,0xac,0x96,0x72,0x1a,0x20,0xe5,0x4b,0xb9,0x40,0x4a,0xaa,0xf7,0x32,0xf6,0x99,0x8f,0x00,0x2c,0x5c,0x37,0x14,0xa0,0x14,0xf2,0xd1,0x12,0x19,0x9f,0xcf,0x62,0xc4,0x0b,0x7b,0x70,0x0b,0xd0,0xf9,0xa0,0x57,0x08,0x2c,0x6d,0x30,0x15,0xad,0x30,0xc4,0xa9,0x35,0x57,0x3c,0xd8,0x98,0xa6,0x12,0xd6,0xe7,0x5c,0x7c,0x57,0x56,0x3c,0x3b,0x7a,0x7f,0x72,0x52,0x4d,0xc2,0x85,0x69,0x35,0xa1,0x08,0xc8,0x3f,0xa1,0xb6,0x09,0x26,0xa2,0x1b,0x32,0x41,0x26,0x68,0xa1,0xbf,0xd1,0x70,0xca,0x52,0xf7,0xaa,0x67,0xc9,0xdb,0x63,0x68,0x7d,0xca,0xbb,0x4b,0xe8,0x8d,0xf0,0x0e,0xca,0xb6,0x18,0xdc,0x1d,0x5c,0x1c,0xce,0xd3,0x85,0xe6,0x6b,0x1a,0x41,0x31,0x61,0x8f,0x98,0x38,0x0a,0x19,0x5e,0xbe,0x9f,0xff,0xe2,0x1b,0x81,0x6f,0x76,0x68,0x8a,0x79,0x67,0x38,0x8d,0x07,0x68,0x1e,0xa4,0x7a,0x36,0x38,0x0a,0x62,0x37,0x17,0xfa,0xc2,0x75,0x5d,0x4f,0xe6,0x16,0x6f,0x7b,0xfb,0x29,0x10,0x40,0x4b,0x30,0xbc,0x7f,0x04,0xe0,0x8a,0x7d,0x06,0xb5,0x0f,0x81,0xa0,0x0d,0x11,0x94,0x34,0xc8,0x24,0x64,0x34,0x65,0x44,0xc3,0xd8,0x9e,0xf9,0xf5,0x6b,0x05,0x87,0x12,0xd9,0x12,0x92,0x0f,0xb2,0xc1,0x23,0x33,0xc4,0xa5,0x1e,0x03,0x96,0x01,0x60,0x49,0x10,0xe1,0x00,0xeb,0x27,0x59,0xdd,0xf9,0x3a,0xb2,0xda,0xe4,0x5d,0xc2,0xc8,0x9c,0x4f,0x49,0x3a,0x4d,0xd8,0x01,0x12,0xa0,0x33,0x1a,0x08,0x32,0x64,0x62,0x30,0x36,0x3c,0xbb,0x09,0xf4,0x3c,0x6b,0x01,0xcd,0xe4,0x98,0xfb,0x8e,0x77,0x7a,0x72,0x7e,0xe1,0x59,0x58,0x76,0xb1,0x24,0x75,0x16,0x5b,0x87,0xaa,0xba,0x6a,0x5c,0x80,0xf9,0x6e,0x39,0x1e,0x94,0x5e,0xa0,0x5a,0xe9,0x20,0xcd,0x3f,0x52,0x1e,0x7b,0x99,0x85,0xc5,0x99,0xf3,0xeb,0xf9,0xc9,0xb1,0x9d,0x0a,0x64,0x22,0x18,0xce,0x0d,0x14,0x84,0xa3,0x0f,0x92,0x99,0xf0,0xb7,0x22,0xbc,0xd2,0x03,0xe9,0x1d,0x44,0xd2,0xc5,0x63,0xb1,0xe4,0x01,0xe1,0xeb,0xe7,0x0b,0x24,0x9a,0xa9,0xec,0xef,0x21,0x7b,0x1d,0xb4,0x19,0x1a,0x09,0x0c,0xa4,0xd1,0x44,0x18,0xde,0x69,0xc2,0xd2,0x94,0x14,0xe6,0x8c,0xfa,0x62,0x89,0x4d,0x96,0x96,0xe9,0x08,0xf2,0x20,0x81,0xc6,0x13,0x8b,0x3d,0x12,0x08,0x9b,0x5c,0x8c,0x59,0x6c,0x49,0x47,0x27,0xf0,0x84,0x0e,0xc4,0x94,0x86,0x50,0xf0,0x42,0x90,0x0c,0x31,0xa4,0xe6,0x2a,0x21,0x63,0x96,0x48,0x88,0x00,0xb2,0x0b,0x4b,0x1d,0xcf,0xec,0x04,0x43,0xe3,0x69,0x90,0x1e,0xd3,0x63,0x03,0x8c,0x33,0x65,0x1f,0xc1,0x0d,0x85,0x01,0x0c,0x99,0xa6,0xb9,0x40,0xde,0x80,0xee,0x04,0xec,0x94,0xb9,0x8f,0x2a,0x28,0x70,0x02,0x25,0x1e,0x60,0x2f,0xe7,0xc0,0xe6,0x37,0x8a,0x25,0xa8,0xdf,0xa8,0x66,0xa7,0x78,0x86,0x58,0x0d,0xf0,0x14,0x10,0x2f,0x9a,0xaf,0x0c,0xae,0xde,0x81,0x51,0x2d,0x0d,0x46,0xcc,0xf0,0xa0,0x52,0x7c,0xed,0x99,0xa6,0x7d,0x8b,0x0e,0x8a,0x85,0x20,0xb5,0x59,0x13,0x4e,0x6b,0xd5,0x00,0xfe,0xb8,0x02,0x28,0x10,0xf0,0x05,0x74,0xf2,0xa6,0x53,0x03,0xfd,0xa6,0x0e,0x3a,0xcb,0xb2,0xc2,0xf0,0xaa,0x7b,0x58,0x68,0x2e,0x12,0x26,0xa6,0x49,0x4c,0x58,0x68,0xcb,0xa0,0xf4,0x19,0x54,0x64,0x43,0xc3,0x63,0x78,0xba,0x9b,0xf6,0x4c,0x0b,0x51,0x97,0xa9,0xd0,0x33,0xed,0x3c,0x47,0xba,0x4f,0xdb,0x16,0x0b,0x4b,0xdc,0x82,0x7f,0x0c,0xee,0x00,0xaf,0x9a,0x2f,0xc4,0x4a,0x4c,0x50,0x1e,0xb8,0x15,0x9d,0xca,0x67,0x66,0x47,0x93,0x55,0x2a,0x07,0x10,0xf3,0x20,0x9e,0x86,0xa1,0x73,0x2c,0x6b,0x09,0x5c,0xb0,0x73,0x64,0xb1,0xb9,0xe6,0x3c,0x52,0xfb,0x50,0xd7,0x8a,0x29,0xe4,0xe0,0x85,0x80,0x56,0x74,0x93,0x89,0xa4,0x12,0x50,0xdb,0x58,0x55,0x8b,0x8a,0x87,0xce,0x03,0xba,0x84,0x5d,0x18,0x21,0x79,0xc8,0x6c,0xc8,0x20,0x06,0x42,0x9a,0x96,0x92,0x6d,0x80,0x11,0x4f,0x6f,0x67,0xae,0xd1,0x7c,0x41,0x7e,0xba,0xbe,0x3e,0xbd,0x3c,0x3b,0xba,0xbe,0x26,0x2f,0x9a,0x24,0x66,0x33,0xf2,0x01,0x5d,0xbc,0x80,0x7e,0xd1,0x66,0xbb,0xa0,0x1f,0xc1,0x7f,0x39,0x3f,0x39,0x97,0xf6,0x66,0x98,0x76,0x0a,0x36,0xc9,0x8c,0x96,0xd5,0x7e,0x6b,0x76,0xb4,0x16,0x11,0xd6,0xab,0xe8,0x91,0x65,0xf8,0x40,0x57,0x4c,0xc5,0x83,0x5c,0x42,0x12,0x7d,0x5f,0x15,0x5b,0xd6,0x8e,0xd2,0xd7,0x72,0x91,0x5a,0xbf,0x65,0x19,0x26,0xdf,0x09,0x8d,0x8f,0xb7,0x64,0x42,0xb0,0x60,0x55,0xd3,0x89,0x5c,0x94,0xcf,0xd3,0xaf,0x5f,0x97,0x73,0x8b,0x7c,0x84,0x13,0xb6,0xca,0x13,0x95,0x67,0xe4,0x93,0x29,0x5e,0xca,0x27,0x1b,0x4c,0xaa,0xa5,0x84,0x9b,0x88,0xc1,0x35,0xb4,0x3d,0x5f,0xbf,0x1a,0xcb,0x32,0x59,0xb1,0x52,0x96,0x24,0x3c,0x01,0x1b,0x2d,0xd2,0xc3,0xa1,0x4c,0x00,0x31,0x64,0x05,0xd8,0x6d,0x13,0xd9,0x2a,0xcd,0x02,0x31,0x26,0x58,0xb1,0x12,0x35,0x1d,0xfc,0x21,0x55,0x79,0x02,0x92,0xc1,0xf6,0xb6,0xb1,0xdc,0x5c,0x59,0x8a,0x2d,0x5c,0x31,0x20,0xf8,0x64,0x10,0x2e,0xc0,0x8c,0x30,0xb3,0x69,0x23,0x90,0x14,0x0d,0xef,0x08,0xbf,0x30,0xcd,0xa6,0x98,0x76,0x30,0x82,0x78,0x16,0x33,0xb3,0x04,0x92,0x22,0x4b,0x2e,0xf0,0x2c,0x86,0x99,0x55,0x72,0x25,0x6c,0xf7,0xd3,0x0b,0xfe,0xe9,0xd3,0x97,0x2f,0x86,0xbe,0xcb,0x9d,0xcf,0x7b,0xbe,0xd0,0xc6,0xf0,0x85,0x8a,0xb1,0x3d,0x0c,0x39,0x10,0xd0,0x30,0xcd,0xdd,0xd7,0xad,0x16,0x98,0xcc,0x84,0xfa,0xb2,0x91,0x33,0x76,0x2c,0xaf,0xe5,0x99,0x99,0xb3,0x61,0xcf,0xdf,0x70,0x4f,0xf3,0x75,0xdd,0x36,0xaf,0x64,0x69,0x89,0x53,0x69,0xc5,0xb2,0x88,0x71,0x51,0xdc,0xf2,0x0a,0x3c,0x66,0x08,0x48,0x3b,0xf2,0xc6,0x4e,0xf8,0x2c,0xb5,0x43,0x16,0x8f,0xc4,0xb8,0xdb,0xea,0x98,0x6a,0xd1,0x67,0xb0,0x8f,0x9d,0x81,0xdc,0x5a,0x66,0xa7,0xb4,0x03,0x1b,0xf6,0x1d,0x51,0x10,0x9b,0x81,0xb6,0x60,0x05,0xa6,0xdb,0x55,0x1e,0xca,0x67,0xaa,0x62,0xb2,0x03,0x70,0xb0,0x44,0xe0,0xc6,0x35,0xec,0xa6,0x35,0x91,0x33,0xda,0x12,0xdd,0x55,0xd0,0x7b,0xea,0x42,0xbf,0x10,0xf8,0xa4,0xb5,0xbd,0xbd,0xba,0x8e,0x71,0xe3,0x60,0x69,0xd1,0xf1,0x70,0xcd,0xb3,0x26,0x60,0xa4,0x6e,0xc5,0x72,0x6b,0xf0,0x54,0x1f,0x94,0x88,0x8a,0x55,0x8d,0xa9,0x03,0xec,0x01,0xcb,0x31,0x4b,0x3e,0x5d,0x7c,0xf9,0xec,0x7a,0x4f,0x48,0xcd,0x3f,0xac,0x36,0x9f,0x2f,0x82,0x4c,0xd6,0x8b,0x1b,0x20,0xe4,0xe9,0x1e,0x80,0xd2,0xe5,0xb4,0xac,0x98,0xb7,0x9e,0x2f,0xf0,0x9b,0x0f,0x89,0x3c,0x8f,0xeb,0xa9,0x7e,0xcb,0x3b,0xc8,0x2f,0x1c,0x0f,0x07,0x60,0x5e,0xb6,0x85,0x05,0xe9,0x16,0x78,0x0a,0x72,0xb1,0x45,0x94,0x07,0xc3,0x6e,0xdc,0x06,0xf7,0x3c,0x96,0x48,0xdd,0xad,0xb5,0x3e,0x75,0xab,0xfb,0x20,0xcf,0x85,0x23,0x83,0x50,0xbe,0x7e,0xf5,0xbc,0x7b,0xf8,0x87,0x64,0x29,0x6d,0x06,0x95,0xad,0x8e,0x00,0x6c,0xd7,0x94,0x94,0xe9,0xfb,0xf9,0x05,0x1d,0xa1,0xbe,0xd0,0xb5,0x01,0x0e,0xb2,0x96,0xfc,0x46,0xa7,0x3e,0xba,0x05,0x08,0xf4,0x70,0x06,0x02,0x87,0x30,0x81,0x95,0x34,0xf8,0x16,0xd8,0x10,0xb3,0xc1,0x96,0x01,0x8b,0x9d,0x82,0xdd,0x0d,0x84,0x81,0x99,0x19,0xcd,0xb5,0x98,0x02,0x14,0x81,0xab,0xaa,0xc6,0xb6,0x0a,0x37,0xe5,0xbc,0xa3,0x80,0x5a,0xf6,0xca,0xea,0x9e,0x9d,0x9e,0x59,0x6e,0x02,0x47,0xf9,0x86,0x2d,0xbb,0x7a,0x4b,0xd9,0xb1,0xd7,0x72,0xb3,0xa7,0xb8,0x29,0xfa,0xec,0x5a,0xa0,0x57,0xbd,0xd2,0x4f,0x57,0x1a,0x6f,0x88,0x44,0x90,0x91,0x96,0xb2,0xb8,0x69,0x81,0x43,0xf9,0xae,0x32,0x0d,0x2d,0x08,0x88,0x6b,0x3a,0x6e,0xb6,0x0b,0x0a,0x4c,0x7d,0xd7,0x15,0x19,0x00,0x64,0x96,0x68,0xaa,0xa2,0x42,0xc7,0xbd,0x1a,0xf3,0x69,0x92,0x5a,0x51,0x10,0x4f,0x05,0x4b,0x7b,0x39,0x22,0x3b,0x85,0x72,0x0a,0x6a,0x45,0xa8,0xdf,0xec,0x88,0x4e,0x0c,0x95,0xbc,0x8b,0x24,0xb6,0x53,0x10,0x96,0xdb,0x5f,0x60,0x54,0x7a,0xa9,0x71,0xbc,0x78,0xdd,0xaa,0x63,0x03,0xb6,0x98,0x19,0x1c,0x6f,0x89,0x11,0x29,0xfe,0xef,0x67,0x63,0xf7,0xbf,0x67,0x63,0x17,0xd9,0xc8,0x79,0xa8,0xe8,0xb3,0x14,0xea,0xde,0xb7,0x08,0x75,0x6f,0x49,0xa8,0xa5,0xc6,0x4b,0x34,0xaf,0xbe,0x05,0xcd,0x2b,0x44,0x53,0x4d,0x25,0xd5,0x74,0x25,0xe3,0xaa,0x0a,0xda,0x45,0x8e,0xec,0xac,0x59,0x87,0xa2,0x71,0x7f,0x81,0x22,0x6b,0x92,0xcf,0x38,0x86,0x64,0x3a,0xab,0x78,0xe9,0x6d,0xe3,0xfc,0xc8,0x5b,0xef,0x5b,0x2a,0xd9,0x51,0xea,0x04,0xab,0x93,0x53,0xb0,0x14,0x0b,0x69,0xe3,0x45,0xcf,0xad,0x29,0x62,0x72,0x1d,0x5d,0x40,0xaa,0xbe,0x9a,0x43,0xaf,0x66,0x45,0x50,0x9a,0x8f,0x21,0xd5,0xcf,0x7b,0x6e,0x8e,0x22,0x07,0x6a,0x2c,0x2b,0xd2,0x92,0x7a,0xd7,0x6a,0xb7,0x94,0x03,0xba,0xad,0x9e,0x9b,0x13,0xbc,0x47,0xff,0x16,0x9b,0xf0,0xc1,0xd8,0xad,0xa4,0x47,0x3c,0xaa,0x7d,0x79,0x71,0x68,0x94,0x0c,0x34,0xda,0xc8,0x82,0xb5,0x4e,0xc0,0x6c,0x62,0xa9,0xd6,0x31,0xd6,0x6a,0xc9,0xbf,0xde,0x6d,0x48,0xbe,0x40,0xde,0x79,0x01,0x98,0x81,0xf4,0xf9,0xcd,0xf6,0xf6,0x7d,0x75,0x0e,0x94,0x69,0xe0,0x06,0xd5,0x82,0xbc,0x88,0xa8,0x7f,0x4e,0xa1,0xe4,0x3b,0x97,0xc1,0x90,0x27,0xef,0xc2,0x50,0x47,0x53,0xbb,0x00,0xd5,0x39,0x15,0xec,0xaf,0x75,0xb0,0xa9,0xe6,0x72,0x36,0xd5,0xf8,0xf5,0x36,0x90,0xcf,0xc0,0x16,0x9b,0xf0,0xca,0xe2,0x5a,0x73,0xf3,0x0b,0xb2,0x06,0x95,0xe0,0x37,0x33,0x6f,0xa5,0x13,0x77,0x91,0xad,0x27,0x94,0x25,0x7c,0x26,0x84,0x0b,0xb5,0x4f,0xb9,0x59,0x21,0x41,0xa5,0xb9,0xaa,0xbd,0x76,0x58,0x98,0x42,0xdb,0xb9,0x0c,0xbf,0x5a,0x28,0x4b,0x87,0xba,0xab,0x76,0x2c,0xf7,0x97,0xd3,0xeb,0xf6,0xf1,0xff,0x6b,0x47,0x57,0x38,0xb0,0xa0,0xad,0x73,0xee,0xb2,0x25,0xe3,0x59,0x63,0x72,0x83,0x0d,0x65,0xab,0xb2,0xb0,0x65,0xbc,0x4f,0xff,0x01,0xa5,0xb2,0x34,0x43,0x4f,0x37,0xde,0xf2,0xbd,0x46,0x0e,0xa2,0x1c,0x0d,0x9e,0x41,0x52,0xed,0xa4,0x93,0xab,0xc0,0xef,0xe9,0xa7,0x2a,0x7a,0xa9,0x6b,0x59,0xb6,0x94,0x85,0x0a,0x96,0xd8,0x6b,0xa0,0x32,0xde,0xcc,0x58,0x72,0x48,0x53,0xd0,0x8c,0x82,0x86,0x4a,0x4b,0x75,0x81,0xab,0xed,0xa2,0x96,0xb6,0x99,0x9d,0xf4,0xff,0x00,0x6b,0xb1,0x6f,0xd8,0x3c,0x05,0x9c,0xb9,0x75,0x43,0xed,0x06,0xf5,0x9c,0xb1,0xe6,0xab,0x93,0xff,0xb9,0x2a,0x80,0xa6,0x12,0xf8,0xc1,0x92,0x0d,0x16,0xf5,0xae,0xaa,0xb0,0xba,0x8b,0x5c,0x62,0x4f,0x2b,0x06,0xb9,0xbd,0xad,0xcd,0x7b,0x83,0x52,0xcc,0x8d,0x7e,0x68,0x5a,0x95,0x13,0xe6,0xed,0xef,0xaa,0x73,0xae,0x0e,0x4f,0xa5,0x12,0x71,0xea,0x2a,0x59,0x95,0xb1,0x79,0x69,0x2c,0xab,0xfb,0xe2,0x02,0xc2,0xc6,0xab,0xa2,0x16,0x5f,0x40,0x46,0x80,0xee,0xc1,0x3b,0xe6,0x12,0x07,0x51,0x85,0x17,0xf2,0xaa,0x3b,0xf8,0x2c,0x47,0xef,0xae,0x60,0xb8,0x6a,0xf5,0x3a,0x0f,0x75,0xe6,0x5c,0xd0,0xef,0x53,0x11,0x07,0x1e,0x44,0x03,0xf4,0xc2,0x68,0x94,0xab,0x0a,0xa9,0x66,0xc8,0x56,0xd1,0xe0,0x1f,0x68,0xe6,0xf5,0xf8,0x38,0x9d,0x0e,0x06,0x2c,0x4d,0x87,0xd3,0xd0,0x26,0x7a,0x88,0x18,0xd1,0xb9,0x9e,0x21,0xda,0x9e,0xe9,0x2c,0x83,0x0f,0x29,0x20,0xf4,0x1d,0xe2,0xbd,0x2c,0x50,0xaa,0x49,0x82,0xee,0x09,0x0b,0xd1,0x30,0x31,0xe3,0xc9,0x0d,0x91,0x7d,0x21,0xf1,0xa7,0x72,0x0c,0xa9,0xb4,0x00,0x1a,0x2d,0xf3,0x76,0xf1,0x8a,0xc2,0x08,0xcc,0xc5,0x63,0x04,0x8c,0x21,0xd8,0x3f,0x9a,0x56,0xcc,0x42,0x27,0xa8,0x9b,0x41,0xd6,0xbc,0x34,0x91,0xea,0x52,0xe3,0x3d,0x3d,0x2d,0xf6,0x3e,0xf2,0x04,0x8c,0x05,0xb8,0xf4,0xce,0xd8,0x2d,0xb0,0xc5,0xe0,0xea,0x12,0x50,0x7b,0x38,0x2d,0xf7,0x7a,0x16,0x4e,0x5e,0x63,0xe6,0x1f,0x72,0x1f,0xc1,0xd1,0x7f,0xad,0xe5,0x8f,0x9e,0x34,0xb0,0xa2,0x41,0xbf,0xc0,0x3e,0x5c,0x4e,0x6f,0x35,0x7d,0x42,0xe1,0x7a,0x0f,0x5f,0xf2,0x24,0xf2,0x25,0x8f,0xa6,0x9f,0xe2,0x80,0x30,0xd5,0x9c,0xd9,0x4f,0x9e,0xa8,0xd1,0xe3,0xc9,0xdf,0x71,0xe0,0x28,0x67,0xc8,0x16,0xb4,0xf4,0x2c,0x26,0x43,0x8e,0xbf,0x8f,0xc0,0x6b,0xa2,0x86,0x97,0x29,0xe8,0x32,0x9f,0xed,0x3c,0x5e,0x78,0x1e,0x5e,0xcb,0x19,0xf4,0xb5,0x60,0xd1,0x44,0xce,0x0c,0xad,0xc7,0xa4,0xad,0xa3,0x84,0x1a,0x56,0x16,0x09,0xd3,0x6d,0x75,0x82,0xfd,0xbd,0x4e,0xf0,0xf2,0xa5,0xb9,0xa8,0x9a,0x9f,0x66,0x0d,0xcb,0xbf,0x53,0x10,0x59,0x00,0x21,0x18,0x84,0xcb,0xc3,0x5b,0x68,0xb2,0x74,0x79,0xc9,0xa7,0x22,0x5f,0xb3,0xda,0x38,0x81,0xb0,0xb4,0xb9,0xab,0x37,0x69,0x04,0x7a,0xcc,0x97,0xed,0xac,0xb9,0xe7,0xc0,0x55,0xc5,0x5e,0xa0,0x3d,0xcc,0x7e,0x8f,0x7f,0x8f,0x95,0xb2,0x50,0x27,0x6b,0x8f,0x2b,0x43,0xe5,0x39,0x94,0x5d,0xb9,0xd2,0x63,0x68,0xb1,0xcb,0x9d,0xa0,0xe6,0x19,0x2a,0xd7,0xe7,0x31,0x23,0x06,0xf8,0xd5,0x1f,0xd3,0x54,0x80,0x7e,0x4b,0x13,0x00,0x61,0xdf,0x32,0x32,0x8d,0xf5,0xb9,0x22,0xe6,0x9b,0xa0,0x77,0xab,0x3c,0x66,0xa3,0x6d,0xea,0x00,0x54,0xda,0x27,0xd0,0x77,0x55,0x9a,0x30,0x1e,0x53,0x3b,0x7a,0x02,0xa9,0xb2,0xb5,0x1a,0x2b,0x42,0x72,0xd6,0x0c,0x3d,0x30,0x61,0x82,0xbe,0x6f,0x70,0x83,0x21,0x05,0xfc,0x43,0xe1,0x71,0x70,0xd0,0x64,0xad,0x1e,0xab,0xd1,0xce,0x56,0x97,0x5c,0x58,0xdc,0xde,0x7e,0xd4,0x83,0x32,0xa1,0x1c,0x00,0x2a,0x01,0x9f,0xdd,0x39,0x81,0x85,0xa7,0x74,0x80,0x37,0x0c,0x3f,0xb5,0x76,0x59,0x54,0x76,0x79,0xdb,0xf0,0x7c,0xf1,0xf6,0x65,0x90,0x61,0x5a,0xc2,0x55,0xc8,0xeb,0x95,0x12,0xc0,0x5d,0x39,0xe2,0x52,0xbb,0xa4,0x26,0xcb,0xa6,0xcc,0x48,0x2b,0x95,0x63,0x85,0x20,0x94,0x22,0x80,0xbf,0xb7,0x8a,0x09,0x63,0xd4,0x63,0x16,0x10,0x90,0x02,0xbe,0x4b,0x1a,0x0f,0xd7,0x10,0xdf,0xd5,0x1c,0xe8,0x96,0xf4,0xbe,0x32,0x1e,0x52,0xc7,0x23,0x5a,0x11,0x8b,0xcb,0x58,0x26,0x95,0xa9,0x5e,0x94,0xbb,0x5e,0xf1,0x3b,0x00,0xa2,0xdf,0xed,0x47,0xe8,0x18,0x87,0x10,0xf4,0x71,0x0c,0xf9,0xf4,0xc9,0x13,0xaf,0x56,0xe5,0x75,0x7e,0x71,0xa0,0x91,0xbe,0x74,0xbd,0xb5,0x08,0xe5,0x90,0x63,0x2e,0x48,0x19,0x58,0x7e,0x8f,0x3d,0x67,0x23,0xf8,0xf3,0xd5,0x20,0x03,0x31,0xd0,0xeb,0xa8,0x80,0xa9,0x37,0x7e,0x53,0xed,0xb6,0xf6,0x46,0xfa,0xc1,0x77,0x1b,0x21,0x1f,0xd5,0xbc,0xd8,0x10,0xe3,0x04,0x32,0xe2,0x91,0x0a,0x23,0x79,0x7d,0x92,0x03,0x90,0x19,0x4d,0xe5,0x7c,0x9c,0xdf,0x78,0x4a,0xbe,0xfd,0x90,0xf7,0x57,0x5f,0x7e,0xe0,0x9a,0x61,0x5a,0x10,0x95,0xdd,0xfb,0xa6,0x06,0x16,0xc8,0x3a,0xc2,0xb7,0x0e,0x3e,0xde,0xb9,0xe5,0x14,0x1b,0x43,0xf9,0x88,0x89,0x7c,0xb2,0xb0,0x3a,0x83,0x7e,0xbe,0xb8,0xf2,0x7e,0x7d,0x77,0x0c,0x15,0xc4,0xc7,0xa3,0xf7,0xf0,0xf9,0xe5,0xdd,0x19,0x7c,0xbe,0x3b,0x3d,0x93,0xd7,0xff,0x84,0xcf,0x5f,0x2f,0x8f,0xe5,0xe7,0x67,0x5c,0xbf,0xfc,0x19,0x3e,0xcf,0x8f,0x4e,0xe1,0xf3,0xe4,0x10,0xcc,0xcc,0x3b,0x3e,0xf9,0x0d,0xab,0x8f,0xa3,0x43,0xaf,0x77,0xa5,0x49,0x7d,0xc1,0x5e,0xde,0x30,0x7b,0x80,0x5b,0xaf,0x7c,0x84,0xc2,0xe3,0x9f,0xa0,0x14,0x10,0x72,0x63,0x95,0xb1,0x4f,0x38,0x07,0xaa,0xe7,0x6c,0x19,0xf0,0x8b,0x9a,0x12,0xd5,0x81,0x7a,0xd6,0x34,0x09,0xdd,0xcb,0xb3,0xcf,0xf6,0x00,0x8a,0x50,0xc1,0x54,0x67,0x02,0xf7,0x06,0x4a,0x0e,0xb4,0x5d,0xf6,0xb9,0x0a,0x40,0x4f,0x3e,0x0d,0x8f,0x82,0xd4,0xa9,0x3d,0x4e,0xd8,0xd0,0x05,0x14,0x16,0xb5,0x73,0xad,0xe3,0x1b,0x73,0x9e,0xd0,0x11,0x03,0x86,0x97,0x44,0x9b,0xe1,0xef,0x29,0xbc,0xb2,0xeb,0x47,0xe7,0xb1,0xf1,0x27,0x80,0xb1,0x7f,0x38,0x0e,0x42,0xdf,0xa0,0x40,0xcf,0x96,0x73,0x52,0xc3,0x5c,0x01,0x53,0xf1,0xa1,0x00,0x43,0x86,0x13,0x76,0xcb,0x6f,0x2a,0x0c,0x03,0x17,0xc5,0x6b,0x0e,0x34,0x99,0xb5,0x44,0x54,0xfc,0x2c,0x42,0x97,0xc4,0x90,0x7f,0x24,0x5c,0x96,0xcd,0x20,0xcc,0x83,0xa8,0xb8,0xe2,0xbf,0x62,0xdb,0x9d,0xfd,0xa6,0xfe,0x31,0xc2,0x7e,0x53,0xfd,0x76,0xb1,0x29,0x7f,0xce,0xfd,0x1f,0x3e,0xec,0xfa,0xfe,0xde,0x2d,0x00,0x00};
-const unsigned int html_content_len = 4418;
+const unsigned int html_content_len = 3911;
diff --git a/main/webpage_brotli.h b/main/webpage_brotli.h
new file mode 100644
index 0000000..46d49c6
--- /dev/null
+++ b/main/webpage_brotli.h
@@ -0,0 +1,217 @@
+#ifndef HTML_CONTENT_BR_H
+#define HTML_CONTENT_BR_H
+
+#include
+
+const unsigned char PROGMEM html_content_br[] = {
+ 0x1b, 0xdd, 0x2d, 0x00, 0x8c, 0xc3, 0x38, 0x86, 0x3c, 0x28, 0x7e, 0x6c, 0x06, 0x44, 0x69, 0x91,
+ 0x2e, 0x7f, 0x9a, 0xff, 0x7f, 0x3f, 0x5f, 0x38, 0xe7, 0xf0, 0xb4, 0xf6, 0x22, 0xf7, 0x2b, 0xe8,
+ 0x16, 0xa7, 0x55, 0xe7, 0xa5, 0x54, 0x87, 0x61, 0xb1, 0xc1, 0x8e, 0xe6, 0x40, 0x78, 0x40, 0xd7,
+ 0x46, 0x96, 0x66, 0x3a, 0xa7, 0x35, 0xe3, 0x77, 0xac, 0x76, 0x60, 0xf0, 0x49, 0x75, 0x52, 0xf6,
+ 0x97, 0xe8, 0xff, 0xa6, 0x96, 0x77, 0x97, 0x56, 0x61, 0x0c, 0xc3, 0x60, 0xc7, 0x01, 0x30, 0x04,
+ 0xae, 0x7e, 0x99, 0x6f, 0x35, 0xfb, 0x9d, 0x2c, 0xef, 0xbe, 0x27, 0xdb, 0x69, 0x8e, 0x53, 0x4a,
+ 0xfd, 0x33, 0x23, 0xb9, 0x68, 0x53, 0xae, 0xd4, 0xe2, 0x94, 0x56, 0x29, 0x0e, 0x85, 0x09, 0x5c,
+ 0x96, 0x83, 0xc7, 0x02, 0x68, 0x16, 0xd9, 0xb2, 0x97, 0x9b, 0x29, 0x50, 0x8f, 0x36, 0x0d, 0xba,
+ 0xb9, 0x26, 0x78, 0x31, 0x57, 0x16, 0x77, 0xa4, 0xac, 0x92, 0xd8, 0x86, 0x36, 0xcf, 0x83, 0x10,
+ 0xc8, 0x4a, 0x2f, 0xc5, 0x4a, 0x10, 0xd0, 0x22, 0xe2, 0x9b, 0x48, 0x0f, 0x06, 0x7f, 0xd2, 0x84,
+ 0x90, 0xd2, 0xd3, 0xf6, 0x58, 0xc6, 0x95, 0xa2, 0xd8, 0xe8, 0x1e, 0x67, 0x0f, 0xa0, 0xcd, 0x3e,
+ 0xde, 0x5b, 0xfd, 0xe0, 0xde, 0x9f, 0xe6, 0x3c, 0x72, 0xb5, 0xdd, 0x13, 0xd4, 0x3a, 0x8b, 0x71,
+ 0x8b, 0xc6, 0x31, 0x2c, 0x45, 0x42, 0x03, 0x3a, 0x45, 0xbe, 0xc6, 0xbe, 0x4c, 0xdc, 0x4d, 0x30,
+ 0x1a, 0xfb, 0x81, 0x23, 0xdb, 0x6c, 0xba, 0xfb, 0xbc, 0x8c, 0xea, 0x1d, 0x21, 0x65, 0x5b, 0xed,
+ 0xf5, 0xd7, 0x57, 0xb2, 0x4d, 0xf0, 0x35, 0x37, 0x1d, 0xfe, 0x60, 0x5b, 0xe4, 0x26, 0xc7, 0x65,
+ 0x6b, 0x0b, 0x8e, 0x0f, 0x4f, 0xdb, 0xb2, 0xf6, 0xa0, 0x48, 0x10, 0xa4, 0x56, 0xa9, 0x88, 0x20,
+ 0xfc, 0xb5, 0xf6, 0x95, 0xe3, 0xd9, 0xe5, 0xae, 0x2c, 0xca, 0x4b, 0x45, 0xc7, 0x1a, 0x7c, 0xcf,
+ 0xde, 0xd8, 0xe5, 0xd9, 0x62, 0xa3, 0x12, 0x78, 0x6a, 0x6b, 0x85, 0xbe, 0xe9, 0x62, 0xea, 0xd0,
+ 0x2b, 0x04, 0xd1, 0x73, 0xbc, 0x66, 0x6b, 0x70, 0xbf, 0x6e, 0x8a, 0x33, 0x09, 0x2d, 0xd6, 0x4b,
+ 0x5d, 0x25, 0x87, 0xb5, 0x4c, 0x83, 0x4d, 0xf5, 0xbe, 0xe8, 0xdc, 0x98, 0x5d, 0x2f, 0x11, 0x78,
+ 0x09, 0x4f, 0x37, 0xc0, 0x7f, 0x7d, 0xb6, 0xb9, 0x19, 0xd3, 0x66, 0x9a, 0x50, 0x3c, 0xf5, 0x99,
+ 0x33, 0xcd, 0xe7, 0x97, 0xb3, 0x22, 0xd8, 0x8c, 0x4f, 0xc7, 0x85, 0x97, 0x16, 0x07, 0xd1, 0x2c,
+ 0xce, 0xe2, 0x99, 0x53, 0x63, 0x5a, 0xa1, 0x19, 0x16, 0xeb, 0xdb, 0xee, 0x7c, 0x3c, 0xce, 0xa2,
+ 0xb5, 0xde, 0x3b, 0x86, 0x29, 0x70, 0xf3, 0xe2, 0x53, 0xaa, 0xf2, 0x1d, 0x19, 0xd9, 0x88, 0xd5,
+ 0xf9, 0x4a, 0xde, 0x9c, 0xff, 0xd3, 0xef, 0x48, 0x50, 0xb5, 0x8e, 0xaa, 0xcc, 0x44, 0xad, 0xa2,
+ 0x3f, 0x0d, 0x90, 0x1d, 0xd8, 0xb5, 0xa3, 0x44, 0x0d, 0x50, 0x82, 0xb4, 0xd4, 0xa8, 0x79, 0x71,
+ 0x4b, 0x3d, 0x99, 0xd7, 0xba, 0x54, 0x55, 0x7b, 0xfb, 0xca, 0xbb, 0x93, 0xf3, 0xe9, 0x0c, 0x2b,
+ 0x24, 0xe9, 0x13, 0xcb, 0x59, 0x5b, 0xd6, 0x2d, 0x75, 0xac, 0xdc, 0x1e, 0x0b, 0xd7, 0xe4, 0x36,
+ 0x36, 0x5f, 0xbe, 0x38, 0xd8, 0x69, 0x7d, 0xdd, 0xa3, 0xc3, 0xba, 0xff, 0xe2, 0xac, 0x32, 0x99,
+ 0x06, 0x8f, 0x9f, 0xb0, 0x18, 0x7d, 0x3d, 0xa8, 0xb1, 0x19, 0x8a, 0x2b, 0x9a, 0x89, 0xd0, 0x8d,
+ 0x80, 0xa3, 0x6b, 0x02, 0xae, 0x22, 0xe5, 0x70, 0x71, 0x43, 0xb5, 0xa5, 0xb0, 0x97, 0xa0, 0xe1,
+ 0xfc, 0xd4, 0xa2, 0xa3, 0xdb, 0xd2, 0xe6, 0x92, 0x1a, 0xc7, 0xef, 0x10, 0x49, 0x1c, 0xa1, 0xdb,
+ 0x5e, 0x64, 0x68, 0xf6, 0xa9, 0x56, 0x13, 0x64, 0x86, 0x25, 0xf3, 0xb8, 0xec, 0x51, 0x22, 0xa2,
+ 0x79, 0xd3, 0x83, 0xac, 0x99, 0xa2, 0x40, 0x8e, 0xaf, 0xf2, 0x36, 0xd2, 0xa1, 0x95, 0x08, 0x6e,
+ 0xe1, 0xe7, 0x20, 0x4a, 0x38, 0x4e, 0x47, 0xfc, 0x77, 0x78, 0x56, 0x6d, 0x58, 0x3b, 0x6b, 0xb8,
+ 0x3d, 0x16, 0x89, 0x66, 0x20, 0xa2, 0xd6, 0x48, 0xe2, 0x6a, 0x69, 0xad, 0xdf, 0x1c, 0x6e, 0x4e,
+ 0x37, 0xaf, 0x4a, 0x78, 0x12, 0x25, 0x87, 0xb7, 0x3d, 0xd6, 0x0c, 0x0f, 0x70, 0x63, 0x8a, 0xa6,
+ 0xdc, 0xfb, 0x7e, 0x5f, 0xe5, 0x5b, 0x37, 0xb7, 0xf4, 0xb1, 0x9b, 0x45, 0xad, 0x27, 0xb7, 0xee,
+ 0x2c, 0x59, 0xdd, 0xad, 0xa8, 0xaf, 0xfb, 0xa1, 0x6d, 0x10, 0x4e, 0x2a, 0x95, 0xf2, 0xd1, 0x0a,
+ 0x6d, 0x32, 0x11, 0xa6, 0xd7, 0xba, 0x03, 0xe1, 0xc7, 0x5b, 0xd5, 0xe3, 0x3d, 0x4e, 0x81, 0x37,
+ 0x40, 0x87, 0x26, 0xde, 0x1c, 0x20, 0x1e, 0xe1, 0x31, 0x8e, 0xe4, 0x63, 0x37, 0x09, 0xea, 0x09,
+ 0xa9, 0x15, 0x46, 0x77, 0xec, 0x41, 0xaa, 0xac, 0x0f, 0x9d, 0xf7, 0xdb, 0xbf, 0x69, 0xa5, 0x3b,
+ 0x01, 0xc9, 0xd7, 0xb7, 0xd9, 0x06, 0x33, 0xbd, 0xd5, 0x64, 0x50, 0x9b, 0xf1, 0x05, 0xd4, 0x3d,
+ 0xa4, 0x31, 0x55, 0x89, 0x41, 0xc2, 0xc7, 0x19, 0xc8, 0xd5, 0x07, 0x7d, 0x6b, 0xa2, 0x53, 0xb9,
+ 0xa9, 0xc0, 0x50, 0xd8, 0xd2, 0x39, 0xed, 0xd2, 0xcb, 0x53, 0x71, 0xbf, 0xb7, 0x4a, 0x53, 0xdc,
+ 0xc7, 0xa7, 0x87, 0x74, 0x70, 0xb0, 0xd1, 0x0b, 0x7b, 0xb8, 0x0d, 0xcd, 0xbd, 0xce, 0xfa, 0x7c,
+ 0xa7, 0x5d, 0x6f, 0x0d, 0x8d, 0xf3, 0x22, 0x09, 0xe3, 0x7b, 0xa3, 0xdf, 0xea, 0x64, 0x33, 0x90,
+ 0x71, 0x30, 0xb1, 0xbb, 0x41, 0xbe, 0xa2, 0x88, 0xad, 0xcd, 0x8a, 0xd0, 0x7e, 0x88, 0x57, 0xcf,
+ 0x13, 0xea, 0x56, 0xed, 0x1d, 0xd5, 0x31, 0xca, 0x6c, 0xc2, 0xb5, 0x84, 0xd1, 0x2b, 0x32, 0x81,
+ 0xed, 0x54, 0x68, 0x93, 0x27, 0x28, 0xb8, 0x7f, 0x8b, 0x1b, 0xaf, 0x86, 0xb0, 0x51, 0xf1, 0x23,
+ 0x37, 0xb6, 0xb1, 0x94, 0x25, 0xb4, 0x34, 0xb1, 0x79, 0xe6, 0x5f, 0x5e, 0x9d, 0xa7, 0x7b, 0x39,
+ 0x9e, 0xc0, 0xea, 0xe7, 0x42, 0x60, 0x73, 0x45, 0x0f, 0xdb, 0x90, 0xc2, 0xe0, 0xe9, 0xa1, 0x3a,
+ 0x9b, 0xf6, 0xd2, 0x6c, 0x81, 0x53, 0x35, 0x12, 0x19, 0x8a, 0x29, 0x82, 0x5a, 0x32, 0xe3, 0xd9,
+ 0xf4, 0x2b, 0xc5, 0x97, 0x41, 0x32, 0xb0, 0x46, 0x80, 0xd7, 0x19, 0xb0, 0x8d, 0x21, 0xbd, 0x52,
+ 0x6a, 0x17, 0x26, 0x58, 0x6a, 0x3e, 0x35, 0x79, 0x91, 0x69, 0x96, 0x0a, 0xdd, 0xab, 0xee, 0xbb,
+ 0x10, 0xc3, 0x2c, 0xa8, 0x0b, 0x98, 0x74, 0xe7, 0xb9, 0xad, 0x4c, 0x8e, 0x3d, 0x90, 0x92, 0x3c,
+ 0x30, 0xdd, 0x06, 0x6c, 0x96, 0xaf, 0x00, 0xb6, 0xe0, 0x2f, 0x41, 0x58, 0x27, 0x20, 0xd6, 0x91,
+ 0xd2, 0x77, 0x88, 0x64, 0xf0, 0x82, 0x03, 0x7f, 0xbe, 0x3b, 0x1f, 0x70, 0x60, 0xd5, 0x85, 0x03,
+ 0xde, 0xe5, 0x6d, 0x09, 0x5a, 0xea, 0x1e, 0x0d, 0x49, 0x6e, 0xb6, 0xac, 0x2c, 0xdd, 0x05, 0x8d,
+ 0xb2, 0xce, 0x08, 0x21, 0x0c, 0x4c, 0xd9, 0xec, 0x8e, 0xba, 0x10, 0xf6, 0x13, 0xcd, 0xe6, 0x7c,
+ 0x00, 0x9a, 0xe4, 0x66, 0x6c, 0xe6, 0x96, 0x2d, 0x1c, 0x74, 0xa0, 0x6f, 0xf3, 0x4a, 0x57, 0x3a,
+ 0xb7, 0xed, 0x2b, 0xed, 0x1f, 0x4d, 0x5f, 0x25, 0x88, 0x17, 0xdc, 0x20, 0x2f, 0x63, 0x58, 0x09,
+ 0x66, 0x97, 0x45, 0x17, 0x06, 0x1a, 0xa4, 0x8b, 0x13, 0x7a, 0x61, 0x79, 0x51, 0x95, 0xb5, 0xec,
+ 0xa1, 0x8f, 0x5f, 0x32, 0x66, 0x5f, 0x0a, 0x07, 0xf7, 0xaf, 0x1f, 0x0c, 0x7a, 0x59, 0x1d, 0x32,
+ 0xd3, 0x5d, 0xed, 0x55, 0xb4, 0xce, 0x7c, 0xb4, 0x99, 0xd6, 0x21, 0xad, 0x53, 0x9c, 0x05, 0xfd,
+ 0x58, 0x75, 0x83, 0x75, 0x4f, 0xd6, 0xb4, 0xd4, 0xbe, 0xa0, 0x3e, 0xa7, 0x60, 0x4f, 0xd2, 0x05,
+ 0x25, 0xbd, 0xb0, 0xa1, 0x2e, 0x40, 0x19, 0xad, 0xa4, 0x07, 0x67, 0xd5, 0xaf, 0xd8, 0x1e, 0x8b,
+ 0x1c, 0xba, 0xe0, 0x26, 0x86, 0x44, 0xc4, 0xf2, 0x65, 0xc4, 0x61, 0xd8, 0xeb, 0xba, 0x66, 0x82,
+ 0xc7, 0x92, 0xd1, 0x56, 0x44, 0x26, 0xe5, 0x24, 0x1a, 0xda, 0xe6, 0x70, 0xc7, 0x4a, 0x86, 0xe3,
+ 0x31, 0x1d, 0x6a, 0x36, 0xfb, 0x85, 0x7c, 0xd3, 0xc1, 0x2e, 0x45, 0x41, 0x82, 0x17, 0xfa, 0x39,
+ 0xc3, 0xe0, 0x8a, 0x87, 0xe6, 0x78, 0x54, 0x2e, 0x7d, 0x8a, 0x66, 0x14, 0xe8, 0x62, 0x47, 0xcb,
+ 0x4c, 0xa2, 0xdc, 0xdc, 0xf6, 0x7b, 0x3b, 0xda, 0xed, 0x3f, 0xc1, 0x72, 0xb4, 0x3d, 0x16, 0x8c,
+ 0xdf, 0xde, 0x6c, 0x16, 0xb3, 0x61, 0x22, 0x07, 0x9a, 0x0f, 0x46, 0x5d, 0xec, 0x1e, 0x75, 0x79,
+ 0xe3, 0xe8, 0xbc, 0xeb, 0x66, 0xd0, 0x6f, 0x05, 0x2b, 0x48, 0xc1, 0x1e, 0x4f, 0x65, 0x0d, 0x76,
+ 0x11, 0x40, 0xdd, 0xfa, 0x7b, 0xf4, 0xee, 0x41, 0x34, 0x46, 0x1a, 0x57, 0x66, 0xad, 0x87, 0xcf,
+ 0xae, 0x06, 0x54, 0x54, 0xf8, 0x3f, 0x91, 0xdf, 0xeb, 0x0e, 0x5c, 0xb1, 0x9e, 0xca, 0x5b, 0xab,
+ 0xb2, 0xbe, 0xcb, 0x38, 0xf7, 0x19, 0x94, 0xa0, 0x88, 0x91, 0xc2, 0x9b, 0x22, 0xaf, 0x2d, 0x33,
+ 0x7d, 0xb8, 0x3e, 0x58, 0xc1, 0x83, 0xfb, 0x82, 0xd2, 0x59, 0x50, 0x1f, 0xae, 0x8b, 0xbd, 0x08,
+ 0x37, 0xf3, 0x09, 0x26, 0x49, 0x36, 0x1f, 0x17, 0x06, 0x83, 0x8d, 0x17, 0xb2, 0x9d, 0x8b, 0x3a,
+ 0xfb, 0xeb, 0x54, 0x25, 0x58, 0xa2, 0x60, 0x23, 0x81, 0x60, 0x5c, 0x1a, 0x96, 0x5d, 0xcc, 0x36,
+ 0xa0, 0xa7, 0xf7, 0x74, 0xb7, 0xb2, 0x95, 0x33, 0x04, 0xfd, 0xe9, 0xab, 0x43, 0x93, 0x5b, 0x91,
+ 0xd7, 0x16, 0x00, 0x5c, 0x45, 0xeb, 0x6f, 0xb8, 0x72, 0xa8, 0xb1, 0x3a, 0x7b, 0x36, 0x11, 0x16,
+ 0xd1, 0x94, 0xa2, 0x2f, 0x9b, 0xeb, 0x62, 0x81, 0xd1, 0x82, 0x8b, 0x24, 0xcb, 0x21, 0xe5, 0x42,
+ 0x80, 0x6a, 0x62, 0x40, 0x61, 0x64, 0xb0, 0xdb, 0xf1, 0x52, 0xa8, 0x07, 0x3f, 0xb9, 0xa7, 0x60,
+ 0x6d, 0xb2, 0x33, 0x06, 0x90, 0xbb, 0xf0, 0x83, 0xc4, 0xde, 0x9b, 0x2c, 0x47, 0x79, 0x6d, 0x31,
+ 0xf0, 0x8d, 0x9d, 0x5f, 0x6e, 0xdf, 0xd3, 0x60, 0x22, 0xa7, 0x10, 0xc7, 0xb8, 0xc9, 0x8b, 0x3b,
+ 0xbd, 0xf7, 0xc8, 0x67, 0xc5, 0x5b, 0x2c, 0x2b, 0x23, 0x75, 0xaf, 0xac, 0x24, 0x63, 0x82, 0xcb,
+ 0xbb, 0xf9, 0x68, 0x5e, 0x14, 0x82, 0x7b, 0xd4, 0x05, 0x03, 0x26, 0xaf, 0xc4, 0xe1, 0x22, 0xc3,
+ 0xe1, 0x1c, 0xcd, 0xa1, 0xde, 0x04, 0xcb, 0xea, 0xa5, 0x63, 0x75, 0x95, 0x28, 0xc9, 0xc6, 0x90,
+ 0x98, 0xa6, 0xda, 0xc7, 0xdc, 0x6b, 0x82, 0x2b, 0x2d, 0x17, 0x43, 0x15, 0x81, 0x3d, 0x08, 0x96,
+ 0xc1, 0xf2, 0x4c, 0xff, 0xc8, 0x96, 0x05, 0x33, 0x5b, 0x32, 0xc1, 0x0d, 0x9a, 0x18, 0x01, 0x11,
+ 0x06, 0xd0, 0x2f, 0x8c, 0xe0, 0xa9, 0x83, 0xb3, 0x97, 0x07, 0x34, 0x21, 0xcb, 0x12, 0xe3, 0x99,
+ 0x05, 0x49, 0xb6, 0x05, 0x97, 0x87, 0x27, 0xc6, 0xe4, 0x83, 0x85, 0xbe, 0xa7, 0xd2, 0x5e, 0x84,
+ 0xce, 0x01, 0xdb, 0xf7, 0xce, 0x6d, 0x5d, 0xa2, 0xc3, 0x4b, 0x4b, 0x12, 0xa3, 0x41, 0xf0, 0x24,
+ 0xcb, 0xce, 0x9a, 0xe2, 0xb1, 0x55, 0x16, 0x0c, 0x46, 0x97, 0x15, 0x5e, 0x62, 0xfc, 0xe0, 0x60,
+ 0x52, 0xce, 0x00, 0xa4, 0xd5, 0xdb, 0xaf, 0xad, 0xd1, 0x85, 0x18, 0xae, 0xcd, 0xd0, 0xb3, 0xc6,
+ 0x38, 0xb9, 0x04, 0x05, 0x49, 0x78, 0x9d, 0xe6, 0xb7, 0xac, 0xf4, 0x0b, 0x59, 0x6b, 0x92, 0xbf,
+ 0xdc, 0x4a, 0x94, 0x05, 0x8f, 0xf9, 0xe4, 0x38, 0x85, 0x99, 0x43, 0x51, 0x2d, 0x11, 0xcd, 0x11,
+ 0xce, 0xc4, 0xde, 0xbf, 0xbe, 0xee, 0x19, 0x8d, 0x82, 0x99, 0xd3, 0x28, 0x52, 0x68, 0x01, 0x86,
+ 0xd9, 0xbe, 0x3b, 0x1e, 0xe5, 0x0b, 0x2d, 0x1e, 0x18, 0xab, 0x6f, 0x22, 0x6b, 0xf8, 0x2f, 0x1a,
+ 0x28, 0xd7, 0x94, 0x46, 0xab, 0x7c, 0x8c, 0x05, 0xfc, 0xe4, 0xdb, 0x36, 0xeb, 0x68, 0x8f, 0x47,
+ 0xd1, 0x2e, 0x4e, 0x4c, 0x45, 0xa3, 0x62, 0x70, 0x2f, 0x22, 0x22, 0x7a, 0x7e, 0x49, 0x55, 0x1f,
+ 0xee, 0x68, 0x65, 0xd0, 0x5d, 0x02, 0x0b, 0x25, 0x0c, 0x5b, 0xd2, 0x85, 0x4d, 0x4b, 0x3a, 0x59,
+ 0xf1, 0x2e, 0x96, 0x0c, 0x61, 0x28, 0x3a, 0x58, 0x09, 0x16, 0x0d, 0x5e, 0x1e, 0x13, 0x00, 0xe0,
+ 0x8d, 0xb7, 0x2d, 0x87, 0x08, 0x98, 0x6b, 0x47, 0xb0, 0x37, 0x13, 0x9e, 0xb5, 0x1a, 0x70, 0x91,
+ 0x47, 0x80, 0x04, 0x6f, 0x0f, 0xc5, 0x6b, 0x9b, 0x39, 0x05, 0xd4, 0xc1, 0xf6, 0xe8, 0x67, 0x7f,
+ 0xd3, 0x9b, 0x72, 0xa3, 0xe1, 0xe6, 0x18, 0x02, 0x1c, 0x70, 0xdf, 0x21, 0x84, 0xb6, 0xad, 0x72,
+ 0xb8, 0xef, 0x1a, 0xcd, 0xce, 0xc6, 0x63, 0x00, 0x79, 0xb0, 0xa2, 0x33, 0xf7, 0xf9, 0x8a, 0x29,
+ 0xf2, 0x98, 0xc1, 0xc7, 0xf1, 0x2e, 0x7f, 0xbc, 0xd1, 0xd1, 0xd9, 0xd3, 0x14, 0x17, 0xcb, 0x2a,
+ 0x2d, 0x61, 0x72, 0x64, 0xa7, 0x23, 0x6a, 0x72, 0x7c, 0x7d, 0x19, 0x83, 0x0a, 0xd5, 0x0a, 0xf5,
+ 0x04, 0xc7, 0xac, 0xc5, 0x83, 0x53, 0xf7, 0x26, 0x63, 0x05, 0x0b, 0xc8, 0x06, 0x3d, 0xef, 0x8b,
+ 0xee, 0xc4, 0x18, 0x14, 0x2e, 0x84, 0x32, 0x2e, 0x5c, 0xf4, 0xcd, 0x48, 0xe0, 0xc3, 0x23, 0xa8,
+ 0x81, 0x12, 0x2a, 0xed, 0xeb, 0x8e, 0x22, 0x93, 0x0d, 0x7f, 0x8d, 0x3b, 0x87, 0x02, 0xd0, 0xbf,
+ 0x4f, 0x51, 0x92, 0x4f, 0x59, 0xeb, 0xb4, 0x47, 0x34, 0xe4, 0xb6, 0xc3, 0x71, 0x18, 0x2e, 0x03,
+ 0xde, 0x31, 0xbb, 0x7c, 0xcf, 0x62, 0xdc, 0xe6, 0x31, 0xfa, 0x47, 0x5e, 0x11, 0xf6, 0x7a, 0xd3,
+ 0x92, 0x85, 0xf2, 0x62, 0xbf, 0xf3, 0xcb, 0xbe, 0xea, 0xa2, 0xbb, 0xad, 0x02, 0x1d, 0x2c, 0x81,
+ 0x93, 0xe0, 0x13, 0x68, 0x9c, 0xc3, 0xbe, 0xd3, 0x5e, 0x67, 0x2c, 0x1b, 0x0a, 0x6b, 0x58, 0x25,
+ 0xa4, 0xdf, 0x99, 0xab, 0xdb, 0x77, 0xc3, 0xa3, 0x58, 0xa7, 0x9c, 0xb8, 0xcf, 0xb5, 0xc8, 0xcb,
+ 0x89, 0x2c, 0x86, 0x11, 0x2c, 0x67, 0x6f, 0xd9, 0x2f, 0xb4, 0xc9, 0x4a, 0x22, 0xb6, 0xf5, 0xac,
+ 0xef, 0xa2, 0x06, 0xf3, 0x3a, 0x8d, 0xb9, 0x02, 0x5f, 0xee, 0xbe, 0xea, 0x66, 0x3d, 0x4a, 0xca,
+ 0x2d, 0xc4, 0x0c, 0x0d, 0x73, 0x28, 0xc7, 0x23, 0x73, 0x1d, 0x72, 0x78, 0xbc, 0x01, 0x80, 0xe3,
+ 0xfa, 0x7e, 0x3e, 0xb5, 0x52, 0x5b, 0xfa, 0x63, 0x0e, 0xdb, 0x63, 0x80, 0xef, 0xdd, 0x2b, 0x2f,
+ 0xc5, 0xac, 0x4d, 0x3f, 0x93, 0x91, 0x94, 0xb8, 0xf2, 0xd2, 0xc1, 0xd0, 0x6f, 0x37, 0x4c, 0x0e,
+ 0x9e, 0x6b, 0x8a, 0x25, 0x40, 0xde, 0x2c, 0x50, 0x26, 0x13, 0x96, 0xa3, 0x6c, 0x1e, 0x12, 0xd2,
+ 0x41, 0x99, 0x56, 0xbc, 0xc1, 0x34, 0x85, 0x3b, 0x32, 0x62, 0x54, 0x7d, 0xbd, 0x6a, 0xa6, 0x7a,
+ 0xed, 0xfe, 0x12, 0x5d, 0x39, 0x97, 0xbe, 0xb6, 0x3f, 0xe0, 0x3a, 0x8b, 0x94, 0x56, 0x5d, 0x9d,
+ 0xef, 0x77, 0x2c, 0xc1, 0xe9, 0x9d, 0x90, 0xe4, 0x1f, 0x0f, 0x48, 0xa9, 0x0b, 0x22, 0x6a, 0x8c,
+ 0xc5, 0x30, 0xe4, 0x9d, 0xed, 0x49, 0x2e, 0x49, 0xf9, 0xbd, 0x57, 0xd1, 0xb8, 0x6c, 0x22, 0x49,
+ 0xd9, 0xcd, 0x05, 0xc4, 0x1b, 0xaf, 0xaf, 0xf3, 0x24, 0x9f, 0xe0, 0x99, 0x49, 0x8c, 0x47, 0x9c,
+ 0x5f, 0xc9, 0x31, 0x40, 0xd6, 0x76, 0x10, 0x02, 0x5c, 0x04, 0x59, 0x7b, 0xfa, 0x88, 0x49, 0x44,
+ 0x03, 0xce, 0x94, 0x0e, 0xd3, 0x69, 0x0e, 0xa6, 0xbd, 0x45, 0xb9, 0x6c, 0x3a, 0xf2, 0x7a, 0x27,
+ 0x1e, 0x04, 0x04, 0x13, 0xfb, 0x77, 0x2b, 0xcf, 0x2e, 0x9f, 0xf1, 0xa3, 0x86, 0xa9, 0x6e, 0xd8,
+ 0x5b, 0x3c, 0xbf, 0xe1, 0x9c, 0xa1, 0x6e, 0x27, 0x75, 0x8b, 0x17, 0x97, 0x2f, 0x14, 0x4e, 0xd8,
+ 0x22, 0x8b, 0x98, 0xf7, 0xfa, 0x25, 0xc9, 0xc9, 0x3a, 0x85, 0x21, 0x94, 0x7e, 0x69, 0x25, 0x05,
+ 0xf5, 0x12, 0x5c, 0x4d, 0x3f, 0x2d, 0x9f, 0xde, 0x3d, 0x77, 0x8f, 0xe8, 0x6b, 0x01, 0xea, 0x97,
+ 0x96, 0x90, 0x04, 0x17, 0xd0, 0x50, 0xe0, 0x07, 0x02, 0x05, 0xf9, 0xc3, 0x44, 0x4d, 0x5a, 0x20,
+ 0x07, 0x9c, 0x2e, 0xfd, 0x96, 0xe1, 0xec, 0xc2, 0x5f, 0xe2, 0xd5, 0xc6, 0x7c, 0xac, 0xb0, 0x87,
+ 0x94, 0x92, 0x31, 0x01, 0x6b, 0x22, 0x60, 0xc6, 0x08, 0x7b, 0xbe, 0x25, 0x48, 0x84, 0xf7, 0xd1,
+ 0x38, 0xa5, 0x4c, 0xcb, 0xe0, 0xc0, 0x7c, 0xe4, 0xa1, 0xd9, 0xfe, 0x23, 0x11, 0x09, 0xd5, 0x3d,
+ 0x46, 0x7e, 0xff, 0x96, 0x73, 0x85, 0xc8, 0xa2, 0xc9, 0xc3, 0x32, 0x98, 0x49, 0x06, 0x23, 0x75,
+ 0x6d, 0xc3, 0xca, 0xe9, 0x93, 0x13, 0xee, 0x71, 0x60, 0xd9, 0xcc, 0x05, 0xae, 0xfa, 0xbc, 0xc0,
+ 0x03, 0xc8, 0xe6, 0x3a, 0x0c, 0x75, 0x1d, 0x1a, 0x1f, 0xb5, 0x94, 0x72, 0xe1, 0xaa, 0x38, 0xa4,
+ 0x4c, 0xe3, 0xcd, 0x8f, 0x36, 0xed, 0xd3, 0xaa, 0xe2, 0xa8, 0x6d, 0x19, 0x9c, 0xe5, 0xea, 0x29,
+ 0x13, 0xd1, 0x78, 0xa9, 0x77, 0xbd, 0xe1, 0x58, 0xcf, 0xf7, 0xe3, 0x81, 0xd8, 0xc1, 0xde, 0xb0,
+ 0x4b, 0x1b, 0x15, 0x6c, 0x2e, 0x11, 0x6e, 0x00, 0x62, 0x0b, 0x75, 0x54, 0x81, 0xf7, 0x80, 0x57,
+ 0x4f, 0xce, 0x0b, 0x15, 0x3b, 0xcd, 0x21, 0xe8, 0x9d, 0x58, 0xca, 0xa4, 0x26, 0xad, 0x48, 0xd0,
+ 0xb3, 0x70, 0x36, 0x52, 0xbe, 0x33, 0x8e, 0x38, 0x4e, 0x65, 0x99, 0x88, 0x6a, 0xe6, 0xbe, 0xd7,
+ 0x52, 0x52, 0xa5, 0x3e, 0x2f, 0x40, 0xb9, 0x2e, 0xa9, 0xb3, 0x14, 0xf3, 0xd0, 0x6a, 0x1b, 0xdf,
+ 0xff, 0x11, 0xc8, 0x53, 0xd0, 0xf2, 0x78, 0x54, 0xeb, 0xdb, 0x83, 0xae, 0x54, 0x10, 0x6c, 0xcc,
+ 0x03, 0x51, 0x31, 0x67, 0x78, 0xbe, 0x53, 0x17, 0x14, 0x8c, 0x89, 0xed, 0xd2, 0x0c, 0xdc, 0x54,
+ 0x9e, 0x75, 0xf5, 0x6b, 0x5d, 0xa4, 0x21, 0x88, 0x83, 0xd1, 0x34, 0xaa, 0x2e, 0xa2, 0xac, 0x00,
+ 0xcb, 0xf3, 0x04, 0xb7, 0x1d, 0x03, 0x12, 0x78, 0xea, 0x57, 0x15, 0xf7, 0x04, 0x35, 0x00, 0x74,
+ 0xb4, 0x3e, 0x80, 0x77, 0x3c, 0x80, 0xcb, 0xb7, 0xb5, 0xd8, 0x79, 0x0c, 0xbf, 0xac, 0xb7, 0xc3,
+ 0x30, 0x14, 0xf0, 0xf8, 0x57, 0x75, 0xfe, 0x06, 0xf9, 0x52, 0xa3, 0xcf, 0x2c, 0xf1, 0x50, 0x74,
+ 0x5e, 0x2a, 0x71, 0xf0, 0x6e, 0x5a, 0x6d, 0xba, 0x87, 0x94, 0x79, 0x18, 0x2e, 0x29, 0x0d, 0x98,
+ 0x37, 0x0e, 0xb4, 0x98, 0x03, 0xd6, 0xd2, 0xee, 0x02, 0x3b, 0x09, 0xd4, 0x65, 0x40, 0x25, 0x40,
+ 0x82, 0xe5, 0x15, 0x8b, 0x8b, 0xfc, 0xd9, 0x36, 0xcd, 0x72, 0xdf, 0x58, 0x42, 0x45, 0x72, 0x4a,
+ 0xf4, 0xf1, 0xc4, 0x39, 0xe2, 0xf4, 0x78, 0xa5, 0x74, 0xc4, 0xbb, 0xa5, 0xc5, 0xbd, 0xf8, 0x96,
+ 0xcf, 0xa2, 0x8e, 0x52, 0x01, 0x67, 0x96, 0x4a, 0xbd, 0xf3, 0x4b, 0x9b, 0x09, 0x80, 0xe9, 0x19,
+ 0xcd, 0xd6, 0x96, 0x36, 0x72, 0x54, 0x31, 0xe0, 0x82, 0x9c, 0xb7, 0xf5, 0xa0, 0x3a, 0xf9, 0xe9,
+ 0xb2, 0x02, 0x64, 0x42, 0x56, 0xe7, 0xcb, 0xcc, 0x86, 0xc4, 0x41, 0x6d, 0x0f, 0xb7, 0x03, 0x48,
+ 0x86, 0x38, 0x0a, 0xfd, 0x4c, 0xf0, 0xee, 0x0c, 0x78, 0x98, 0x2c, 0x59, 0x13, 0xb8, 0x5f, 0x68,
+ 0x9a, 0x87, 0x5d, 0x6e, 0xe3, 0xf2, 0x9d, 0xbc, 0x71, 0x09, 0x12, 0xeb, 0x32, 0x18, 0x5f, 0x64,
+ 0x98, 0xe2, 0x3f, 0xef, 0x34, 0x38, 0xa6, 0x31, 0x0a, 0x0f, 0x8c, 0x3f, 0x7d, 0xbb, 0x65, 0xb5,
+ 0x1d, 0xd2, 0x37, 0x70, 0x82, 0x20, 0x23, 0x13, 0x1f, 0x5b, 0x8c, 0x53, 0xde, 0x91, 0xd7, 0x80,
+ 0x11, 0xbb, 0x40, 0x7b, 0x09, 0x23, 0xbe, 0x1f, 0x18, 0x61, 0x31, 0x1f, 0x70, 0x8a, 0x2e, 0x50,
+ 0xc5, 0x73, 0x15, 0x51, 0xd0, 0x0d, 0xcb, 0xf1, 0x4d, 0x9c, 0x22, 0x99, 0x74, 0xd2, 0xd1, 0x6d,
+ 0x0a, 0x2d, 0xb8, 0xec, 0x33, 0x1c, 0xe6, 0xd3, 0xd1, 0x7c, 0xa0, 0x87, 0xbc, 0xb1, 0xf9, 0xd8,
+ 0x27, 0xcd, 0x0e, 0x5a, 0xf3, 0x93, 0x13, 0xf3, 0xe3, 0x75, 0x9f, 0x6a, 0x01, 0xd9, 0x91, 0x61,
+ 0x0b, 0xc8, 0xca, 0x2f, 0x96, 0x0c, 0x98, 0x61, 0xf7, 0x62, 0xec, 0x3b, 0xff, 0x10, 0x16, 0xdd,
+ 0x09, 0x33, 0x3b, 0x74, 0x94, 0x39, 0xe2, 0xa1, 0xdd, 0x70, 0xc5, 0x60, 0xfe, 0xcc, 0x29, 0xf0,
+ 0x5d, 0x09, 0xcd, 0xa7, 0xd3, 0x58, 0xe9, 0xab, 0xb9, 0xf2, 0xf6, 0xb3, 0x50, 0x90, 0x8a, 0x87,
+ 0x2a, 0x20, 0xff, 0x72, 0x5c, 0xb2, 0x1b, 0xe0, 0xba, 0x94, 0x78, 0x69, 0xf1, 0xfc, 0x0c, 0x27,
+ 0x56, 0x88, 0x14, 0x51, 0x9e, 0xfc, 0xd5, 0x7f, 0xb2, 0xef, 0xf4, 0x70, 0xe2, 0x47, 0xf3, 0x38,
+ 0xe8, 0x3b, 0x9c, 0xc1, 0x7e, 0xf3, 0xc3, 0xfe, 0xaf, 0x99, 0x1b, 0x80, 0x21, 0x5c, 0xdc, 0x41,
+ 0x94, 0x61, 0x99, 0x1c, 0x03, 0x19, 0xf0, 0x23, 0xa3, 0x3b, 0x19, 0x9b, 0x40, 0x0d, 0x9e, 0x6a,
+ 0xe0, 0xb6, 0x5e, 0x88, 0xa6, 0x75, 0x13, 0x9f, 0x3a, 0xa0, 0x01, 0x7a, 0xe2, 0x2f, 0xdd, 0x18,
+ 0x4f, 0xbd, 0x39, 0x05, 0x48, 0x06, 0xac, 0x6a, 0x3f, 0x9a, 0x00, 0x13, 0x12, 0x1c, 0xc5, 0x32,
+ 0x24, 0x24, 0x2a, 0x56, 0x8c, 0x80, 0x10, 0xf1, 0x0e, 0x7c, 0x4e, 0xc1, 0xb4, 0x38, 0x00, 0xb9,
+ 0x2d, 0x54, 0x15, 0x2b, 0x93, 0xf1, 0xb2, 0x04, 0x1a, 0xa1, 0xb4, 0xde, 0x65, 0xcc, 0x48, 0xc0,
+ 0xaa, 0xed, 0x30, 0x9a, 0xf8, 0xd9, 0x21, 0x3d, 0x9c, 0x3b, 0x61, 0x58, 0xd9, 0x9c, 0x96, 0x08,
+ 0x62, 0x3c, 0x2f, 0xe8, 0x4c, 0xe3, 0x7b, 0x2f, 0x8e, 0x26, 0x2c, 0xc8, 0x8f, 0x9b, 0x38, 0x53,
+ 0xc4, 0x13, 0x5a, 0x30, 0x9e, 0x7e, 0x39, 0xd4, 0x9e, 0x41, 0x2d, 0x59, 0x2f, 0x0c, 0xd5, 0x80,
+ 0x3a, 0xaa, 0xa6, 0xd5, 0x65, 0xa2, 0xb0, 0x1d, 0x00, 0xa9, 0x64, 0x6b, 0x8f, 0x76, 0xa6, 0xef,
+ 0xb6, 0xf3, 0xeb, 0xcb, 0xa1, 0x4e, 0x53, 0x3b, 0x7f, 0xd4, 0x76, 0xa7, 0x44, 0x6c, 0x71, 0x70,
+ 0x2d, 0x52, 0xf9, 0x63, 0xcc, 0x1d, 0x04, 0x52, 0xa1, 0x4a, 0xbf, 0x9d, 0x33, 0xe0, 0x31, 0x89,
+ 0xbc, 0x4d, 0xd5, 0xd8, 0x14, 0x0f, 0x96, 0x2f, 0x11, 0xfb, 0x02, 0xe8, 0x75, 0x9b, 0x8c, 0x2b,
+ 0xf2, 0xc1, 0x7b, 0x27, 0x27, 0x00, 0xbb, 0x97, 0x36, 0xd2, 0x65, 0xc2, 0x3b, 0x1e, 0x12, 0x73,
+ 0xa9, 0x39, 0x71, 0xb0, 0x6a, 0x6c, 0xc0, 0x5c, 0x0e, 0xfd, 0xaf, 0x41, 0x1c, 0x65, 0xb6, 0xcf,
+ 0x68, 0x88, 0x0f, 0xe6, 0x50, 0x4c, 0x93, 0x23, 0x57, 0xd7, 0xdf, 0x5c, 0xa3, 0xd2, 0x55, 0xc7,
+ 0x37, 0x76, 0x56, 0x69, 0xff, 0xf8, 0xb0, 0xdd, 0xb4, 0xcd, 0xdd, 0xe1, 0x36, 0x8a, 0x8e, 0x22,
+ 0xcf, 0xbc, 0x9a, 0x76, 0xbf, 0xb9, 0xe6, 0x36, 0x3e, 0xe0, 0xe6, 0xd0, 0x6c, 0x06, 0x40, 0x60,
+ 0xfe, 0xfb, 0x25, 0x00, 0x4f, 0xba, 0x23, 0xcb, 0x41, 0x82, 0x5e, 0xbe, 0x85, 0x2d, 0x8b, 0x39,
+ 0x53, 0x64, 0xc9, 0x0e, 0x22, 0x82, 0xbd, 0x8f, 0xac, 0x0b, 0x1e, 0x3b, 0xf4, 0x37, 0xf7, 0xdd,
+ 0x9a, 0xdf, 0x65, 0x9a, 0x40, 0xbc, 0x2a, 0x64, 0xbf, 0x6b, 0x7c, 0xcc, 0x74, 0xaf, 0x7d, 0xfa,
+ 0x3f, 0x4c, 0x5f, 0x36, 0xe9, 0xbd, 0x1b, 0x34, 0xff, 0x5e, 0x56, 0x6f, 0x3c, 0xfd, 0x5e, 0x6a,
+ 0x7c, 0x2d, 0xb4, 0x1b, 0x9f, 0x9e, 0xf7, 0x1b, 0xab, 0xd6, 0xf0, 0x59, 0x2f, 0x0a, 0x39, 0xa4,
+ 0xeb, 0xec, 0xf0, 0xd2, 0x25, 0x3f, 0x0a, 0xa9, 0xef, 0xbb, 0xb9, 0xb0, 0xc1, 0x41, 0xb8, 0xc0,
+ 0xc8, 0x3b, 0x04, 0x1f, 0x15, 0x0e, 0xb7, 0x5a, 0xe8, 0xbd, 0x73, 0x06, 0xa6, 0x1d, 0xc3, 0xfa,
+ 0x1f, 0x3e, 0x1d, 0xe3, 0xbd, 0xad, 0xe8, 0xfb, 0x97, 0xfa, 0xae, 0x7d, 0xa8, 0x77, 0x12, 0xcc,
+ 0x8b, 0x5c, 0xeb, 0xed, 0x12, 0xa0, 0xf9, 0x33, 0x3f, 0x85, 0x73, 0x06, 0x65, 0xc7, 0x9f, 0xfb,
+ 0x5c, 0xba, 0x69, 0x2b, 0xcc, 0x25, 0xe4, 0xbb, 0xc4, 0x9e, 0xd9, 0xdb, 0x47, 0x7d, 0xd7, 0xbc,
+ 0xef, 0xc6, 0xcb, 0xcd, 0xd6, 0x30, 0x3a, 0x53, 0x5b, 0xbe, 0xd8, 0x07, 0xcc, 0x01, 0x6d, 0x2b,
+ 0x6a, 0x75, 0x10, 0x94, 0x78, 0x84, 0xfc, 0x85, 0x42, 0xdf, 0xbe, 0xe5, 0x6d, 0x73, 0x7d, 0xe7,
+ 0x4d, 0x5b, 0x0d, 0x75, 0x00, 0xda, 0x38, 0x85, 0x11, 0x2a, 0x7b, 0x96, 0x5a, 0xdc, 0x61, 0x5c,
+ 0xb8, 0x1d, 0x78, 0x7f, 0x0a, 0x57, 0x54, 0x07, 0x8d, 0xdf, 0xda, 0x47, 0xde, 0x76, 0xbb, 0x07,
+};
+
+const unsigned int html_content_br_len = 3296;
+
+#endif // HTML_CONTENT_BR_H
\ No newline at end of file
diff --git a/main/webpage_compile.py b/main/webpage_compile.py
index fe59137..d3188a8 100644
--- a/main/webpage_compile.py
+++ b/main/webpage_compile.py
@@ -1,31 +1,225 @@
+#!/usr/bin/env python3
+"""
+Enhanced HTML/CSS/JS Minifier and Compressor
+This script provides multiple levels of optimization for embedded web pages
+"""
+
import minify_html
import gzip
+import brotli
+import re
+import sys
+from pathlib import Path
-with open("landingpage.html", "r", encoding="utf-8") as fin:
- original_html = fin.read()
+# Try to import optional JavaScript minifier
+try:
+ import jsmin
+ HAS_JSMIN = True
+except ImportError:
+ HAS_JSMIN = False
+ print("Warning: jsmin not installed. Install with: pip install jsmin --break-system-packages")
-minified_html = minify_html.minify(
- original_html,
- minify_js=True,
- minify_css=True,
- keep_comments=False, # Remove comments
- keep_html_and_head_opening_tags=False, # Remove and if possible
- keep_closing_tags=True, # Keep closing tags (safer; set False for more aggression if you test thoroughly)
- remove_processing_instructions=True, # Remove etc.
- #keep_comments=False,
- remove_bangs=False # Keep bang (removing saves bytes but can break some edge cases)
-)
+# Try to import rjsmin (faster alternative)
+try:
+ import rjsmin
+ HAS_RJSMIN = True
+except ImportError:
+ HAS_RJSMIN = False
-with open("webpage_minified.html", "w") as fout:
- fout.write(minified_html)
-
-
-minified_bytes = minified_html.encode('utf-8')
-gzipped_bytes = gzip.compress(minified_bytes, compresslevel=9)
-
-with open("webpage.h", "w") as fout:
- fout.write("const char html_content[] = {")
- fout.write(','.join(f'0x{byte:02x}' for byte in gzipped_bytes))
- fout.write("};\n\n")
- fout.write(f"const unsigned int html_content_len = {len(gzipped_bytes)};\n")
\ No newline at end of file
+def extract_and_minify_js(html_content):
+ """Extract JavaScript, minify it, and reinsert into HTML"""
+ if not (HAS_JSMIN or HAS_RJSMIN):
+ return html_content
+
+ # Find all script tags
+ script_pattern = re.compile(r'', re.DOTALL)
+
+ def minify_script_content(match):
+ script_content = match.group(1)
+
+ # Skip if empty or too small
+ if len(script_content.strip()) < 50:
+ return match.group(0)
+
+ try:
+ # Use rjsmin if available (faster), otherwise jsmin
+ if HAS_RJSMIN:
+ minified = rjsmin.jsmin(script_content)
+ elif HAS_JSMIN:
+ minified = jsmin.jsmin(script_content)
+ else:
+ minified = script_content
+
+ return f''
+ except Exception as e:
+ print(f"Warning: JS minification failed: {e}")
+ return match.group(0)
+
+ return script_pattern.sub(minify_script_content, html_content)
+
+
+def aggressive_html_minify(html_content):
+ """Apply aggressive minification strategies"""
+
+ # First pass: minify JavaScript
+ html_content = extract_and_minify_js(html_content)
+
+ # Use minify_html library
+ minified = minify_html.minify(
+ html_content,
+ minify_js=True,
+ minify_css=True,
+ keep_comments=False,
+ keep_html_and_head_opening_tags=False,
+ keep_closing_tags=True, # Safer - can set to False for more aggressive
+ remove_processing_instructions=True,
+ remove_bangs=False, # Keep
+ #do_not_minify_doctype=True,
+ #ensure_spec_compliant_unquoted_attribute_values=True,
+ #keep_spaces_between_attributes=False,
+ )
+
+ return minified
+
+
+def generate_c_header(data, variable_name="html_content", use_progmem=True):
+ """Generate C/C++ header file with compressed data"""
+ lines = []
+
+ # Add header guard
+ guard = variable_name.upper() + "_H"
+ lines.append(f"#ifndef {guard}")
+ lines.append(f"#define {guard}")
+ lines.append("")
+
+ # Add includes if using PROGMEM
+ if use_progmem:
+ lines.append("#include ")
+ lines.append("")
+
+ # Add array declaration
+ progmem_keyword = "PROGMEM " if use_progmem else ""
+ lines.append(f"const unsigned char {progmem_keyword}{variable_name}[] = {{")
+
+ # Format bytes in rows of 16
+ hex_bytes = [f'0x{byte:02x}' for byte in data]
+ for i in range(0, len(hex_bytes), 16):
+ row = hex_bytes[i:i+16]
+ lines.append(" " + ", ".join(row) + ",")
+
+ lines.append("};")
+ lines.append("")
+ lines.append(f"const unsigned int {variable_name}_len = {len(data)};")
+ lines.append("")
+ lines.append(f"#endif // {guard}")
+
+ return "\n".join(lines)
+
+
+def print_compression_stats(original_size, minified_size, gzip_size, brotli_size=None):
+ """Print compression statistics"""
+ print("\n" + "="*60)
+ print("COMPRESSION STATISTICS")
+ print("="*60)
+ print(f"Original HTML: {original_size:,} bytes")
+ print(f"Minified HTML: {minified_size:,} bytes ({minified_size/original_size*100:.1f}%)")
+ print(f"Gzip (level 9): {gzip_size:,} bytes ({gzip_size/original_size*100:.1f}%)")
+
+ if brotli_size:
+ print(f"Brotli (level 11): {brotli_size:,} bytes ({brotli_size/original_size*100:.1f}%)")
+
+ print(f"\nSavings (gzip): {original_size - gzip_size:,} bytes ({(1-gzip_size/original_size)*100:.1f}% reduction)")
+
+ if brotli_size:
+ print(f"Savings (brotli): {original_size - brotli_size:,} bytes ({(1-brotli_size/original_size)*100:.1f}% reduction)")
+
+ print("="*60 + "\n")
+
+
+def main():
+ input_file = "landingpage.html"
+
+ # Check if input file exists
+ if not Path(input_file).exists():
+ print(f"Error: {input_file} not found")
+ sys.exit(1)
+
+ # Read original HTML
+ print(f"Reading {input_file}...")
+ with open(input_file, "r", encoding="utf-8") as fin:
+ original_html = fin.read()
+
+ original_size = len(original_html.encode('utf-8'))
+
+ # Minify HTML
+ print("Minifying HTML/CSS/JS...")
+ minified_html = aggressive_html_minify(original_html)
+ minified_size = len(minified_html.encode('utf-8'))
+
+ # Save minified HTML
+ with open("webpage_minified.html", "w", encoding="utf-8") as fout:
+ fout.write(minified_html)
+ print("Saved: webpage_minified.html")
+
+ # Compress with gzip
+ print("Compressing with gzip (level 9)...")
+ minified_bytes = minified_html.encode('utf-8')
+ gzipped_bytes = gzip.compress(minified_bytes, compresslevel=9)
+ gzip_size = len(gzipped_bytes)
+
+ # Compress with brotli (if available)
+ brotli_size = None
+ brotli_bytes = None
+ try:
+ print("Compressing with brotli (level 11)...")
+ brotli_bytes = brotli.compress(minified_bytes, quality=11)
+ brotli_size = len(brotli_bytes)
+ except Exception as e:
+ print(f"Brotli compression not available: {e}")
+
+ # Generate C headers
+ print("\nGenerating C header files...")
+
+ # Gzip version
+ with open("webpage_gzip.h", "w") as fout:
+ fout.write(generate_c_header(gzipped_bytes, "html_content_gz", use_progmem=True))
+ print("Saved: webpage_gzip.h")
+
+ # Brotli version (if available)
+ if brotli_bytes:
+ with open("webpage_brotli.h", "w") as fout:
+ fout.write(generate_c_header(brotli_bytes, "html_content_br", use_progmem=True))
+ print("Saved: webpage_brotli.h")
+
+ # Also generate the old format for compatibility
+ with open("webpage.h", "w") as fout:
+ fout.write("const char html_content[] = {")
+ fout.write(','.join(f'0x{byte:02x}' for byte in gzipped_bytes))
+ fout.write("};\n\n")
+ fout.write(f"const unsigned int html_content_len = {len(gzipped_bytes)};\n")
+ print("Saved: webpage.h (legacy format)")
+
+ # Print statistics
+ print_compression_stats(original_size, minified_size, gzip_size, brotli_size)
+
+ # Recommendations
+ print("RECOMMENDATIONS:")
+ print("-" * 60)
+ if brotli_size and brotli_size < gzip_size:
+ savings = gzip_size - brotli_size
+ print(f"Use Brotli compression (saves {savings} bytes vs gzip)")
+ print(f" Include: webpage_brotli.h")
+ else:
+ print(f"Use Gzip compression")
+ print(f" Include: webpage_gzip.h")
+
+ if not HAS_RJSMIN and not HAS_JSMIN:
+ print("\nInstall rjsmin for better JS compression:")
+ print(" pip install rjsmin --break-system-packages")
+
+ print("-" * 60)
+
+
+if __name__ == "__main__":
+ main()
\ No newline at end of file
diff --git a/main/webpage_gzip.h b/main/webpage_gzip.h
new file mode 100644
index 0000000..b49bd15
--- /dev/null
+++ b/main/webpage_gzip.h
@@ -0,0 +1,256 @@
+#ifndef HTML_CONTENT_GZ_H
+#define HTML_CONTENT_GZ_H
+
+#include
+
+const unsigned char PROGMEM html_content_gz[] = {
+ 0x1f, 0x8b, 0x08, 0x00, 0xed, 0x82, 0x54, 0x69, 0x02, 0xff, 0xbd, 0x1a, 0xfd, 0x77, 0xda, 0x46,
+ 0xf2, 0xf7, 0xfc, 0x15, 0x1b, 0x27, 0xe7, 0x4a, 0x89, 0x10, 0x60, 0x3b, 0x69, 0x22, 0x2c, 0xdc,
+ 0xc4, 0x71, 0x9a, 0xf6, 0x12, 0xdb, 0xcf, 0x1f, 0xbd, 0x77, 0xe7, 0xf2, 0xac, 0x05, 0x2d, 0xa0,
+ 0x5a, 0xd2, 0x52, 0x69, 0x31, 0xe6, 0x88, 0xfe, 0xf7, 0x9b, 0xd9, 0x5d, 0x7d, 0x00, 0x32, 0xce,
+ 0xa5, 0x77, 0x8e, 0x5f, 0x40, 0x5a, 0xcd, 0xce, 0xcc, 0xce, 0xf7, 0x8c, 0xd8, 0x7f, 0xea, 0xf3,
+ 0x81, 0x98, 0x4f, 0x18, 0x19, 0x8b, 0x28, 0xec, 0xee, 0x8b, 0x40, 0x84, 0xac, 0x7b, 0xc8, 0x63,
+ 0x91, 0xf0, 0x90, 0x9c, 0xd2, 0x98, 0x85, 0xfb, 0x4d, 0xb5, 0xb8, 0x1f, 0x31, 0x41, 0xc9, 0x00,
+ 0x1e, 0xb1, 0x58, 0xb8, 0x5b, 0xb3, 0xc0, 0x17, 0x63, 0xd7, 0x67, 0xb7, 0xc1, 0x80, 0x35, 0xe4,
+ 0x8d, 0x15, 0xc4, 0x81, 0x08, 0x68, 0xd8, 0x48, 0x07, 0x34, 0x64, 0x6e, 0xdb, 0x6e, 0x6d, 0x91,
+ 0x98, 0x46, 0xcc, 0xbd, 0x0d, 0xd8, 0x6c, 0xc2, 0x13, 0xd1, 0xdd, 0x4f, 0xc5, 0x1c, 0x30, 0x3d,
+ 0x9b, 0x25, 0x74, 0x32, 0x61, 0xc9, 0x42, 0xb0, 0x3b, 0xd1, 0xa0, 0x61, 0x30, 0x8a, 0x9d, 0x01,
+ 0x20, 0x65, 0x49, 0xa7, 0xcf, 0xef, 0x1a, 0x69, 0xf0, 0xef, 0x20, 0x1e, 0x39, 0x7d, 0x9e, 0xf8,
+ 0x2c, 0x69, 0xc0, 0x4a, 0xf6, 0x4c, 0x53, 0x5d, 0x44, 0xf4, 0x4e, 0xd1, 0x72, 0x5e, 0xb5, 0x5a,
+ 0x93, 0xbb, 0x4e, 0x44, 0x93, 0x51, 0x10, 0x3b, 0x74, 0x2a, 0x78, 0x67, 0x42, 0x7d, 0x1f, 0xf7,
+ 0xb5, 0x48, 0x1b, 0x1e, 0x65, 0x7d, 0xee, 0xcf, 0x6b, 0x08, 0xe8, 0x1d, 0xad, 0x12, 0x3c, 0x7b,
+ 0xb1, 0x18, 0xf0, 0x90, 0x27, 0xce, 0xb3, 0x9d, 0x21, 0xfe, 0x75, 0xfa, 0x74, 0x70, 0x33, 0x4a,
+ 0xf8, 0x34, 0xf6, 0x1b, 0xfa, 0xc1, 0x70, 0x38, 0xec, 0x0c, 0x81, 0x85, 0xc6, 0x90, 0x46, 0x41,
+ 0x38, 0x77, 0x8e, 0xb9, 0xe0, 0xe4, 0x9c, 0xc6, 0xa9, 0xf5, 0x1b, 0x4b, 0x7c, 0x1a, 0x53, 0x2b,
+ 0x85, 0x9b, 0x46, 0xca, 0x92, 0x40, 0x03, 0xc2, 0x19, 0x98, 0xd3, 0xb6, 0x77, 0x12, 0x16, 0x65,
+ 0x41, 0x3c, 0x99, 0x0a, 0xab, 0x3f, 0x15, 0x82, 0xc7, 0x55, 0x8e, 0x92, 0x60, 0x34, 0x16, 0xf5,
+ 0x27, 0xae, 0xe1, 0x81, 0x0d, 0x99, 0xcf, 0xde, 0x76, 0x14, 0x8c, 0xd3, 0x9e, 0xdc, 0x91, 0x94,
+ 0x87, 0x81, 0x4f, 0x9e, 0xf5, 0xe9, 0xdb, 0xd7, 0xaf, 0xfa, 0xfa, 0x41, 0x23, 0xa1, 0x7e, 0x30,
+ 0x4d, 0x9d, 0x57, 0x20, 0x1c, 0x25, 0xa8, 0x76, 0xab, 0xf5, 0x37, 0xc5, 0xc2, 0x15, 0xea, 0xd9,
+ 0x45, 0x06, 0x7a, 0x56, 0x65, 0x21, 0x9e, 0x46, 0x7d, 0x96, 0xf4, 0x16, 0xd5, 0x03, 0x46, 0x3c,
+ 0xe6, 0xe9, 0x84, 0x0e, 0x58, 0xb6, 0xce, 0xb6, 0x12, 0x64, 0x66, 0x0f, 0xc6, 0x34, 0x1e, 0x31,
+ 0xdf, 0x02, 0xe5, 0x44, 0x51, 0x20, 0xae, 0xfb, 0x22, 0x5e, 0x94, 0xf2, 0x7a, 0x1a, 0x44, 0xa8,
+ 0x72, 0x1a, 0x8b, 0x9a, 0xb3, 0xec, 0xd0, 0xbd, 0xb7, 0xbb, 0x7e, 0x09, 0x92, 0x2d, 0xe1, 0x98,
+ 0x26, 0x29, 0x00, 0x4d, 0x78, 0xa0, 0x2d, 0x42, 0x1e, 0x38, 0xe6, 0x31, 0xab, 0x9c, 0x48, 0xeb,
+ 0xb1, 0x21, 0xf8, 0xc4, 0x41, 0x75, 0x17, 0xea, 0x94, 0x37, 0xf2, 0x28, 0x33, 0x86, 0xf2, 0x75,
+ 0x7e, 0x6c, 0xb5, 0xaa, 0xe8, 0xaf, 0xfc, 0x20, 0xa5, 0xfd, 0x90, 0xf9, 0xbd, 0x9c, 0xd9, 0x37,
+ 0x6f, 0xde, 0x74, 0x34, 0xcd, 0x98, 0xe3, 0x21, 0x43, 0x3e, 0x63, 0x7e, 0x0d, 0xd7, 0x7b, 0x7b,
+ 0x7b, 0x15, 0x96, 0x05, 0x62, 0x59, 0x68, 0xa9, 0x03, 0x44, 0x48, 0x27, 0x29, 0x73, 0xf2, 0x8b,
+ 0x4e, 0x45, 0x60, 0x21, 0x1b, 0x8a, 0xaa, 0x32, 0x84, 0xbf, 0x28, 0x34, 0x0d, 0xc2, 0x8d, 0xaa,
+ 0xca, 0xd4, 0x5a, 0xce, 0x4f, 0xf3, 0x06, 0x0c, 0x39, 0x9d, 0x46, 0x70, 0xd8, 0x25, 0x5b, 0x96,
+ 0x18, 0x2b, 0xb6, 0xb9, 0xce, 0xeb, 0x8f, 0x3b, 0xbb, 0x35, 0x16, 0x91, 0xa3, 0xb5, 0x77, 0xc1,
+ 0x2e, 0xd7, 0xa4, 0x64, 0x0f, 0xa2, 0x9c, 0x33, 0x25, 0xee, 0xaa, 0x25, 0xbf, 0x42, 0x4b, 0x7e,
+ 0x16, 0xa5, 0xa3, 0x1a, 0x53, 0x18, 0xb7, 0x17, 0x25, 0xe8, 0x8e, 0x02, 0xfd, 0x29, 0x62, 0x7e,
+ 0x40, 0x49, 0x3a, 0x48, 0x18, 0x8b, 0x09, 0x8d, 0x7d, 0x62, 0x48, 0x11, 0xec, 0xbb, 0xbb, 0xaf,
+ 0x40, 0x45, 0xe6, 0xa2, 0xc6, 0xa7, 0xa5, 0x62, 0x4b, 0x37, 0x06, 0x8e, 0x95, 0x94, 0x89, 0x48,
+ 0x88, 0x14, 0x5a, 0x9d, 0xa7, 0x54, 0xb6, 0x82, 0x6a, 0x27, 0x21, 0x9d, 0x3b, 0xfd, 0x90, 0x0f,
+ 0x6e, 0x8a, 0xad, 0x0b, 0x6d, 0x2a, 0xb9, 0xb0, 0xd1, 0x40, 0x96, 0x21, 0xb3, 0xfd, 0xa6, 0x0a,
+ 0x4c, 0xfb, 0xcd, 0x31, 0xa3, 0x7e, 0x77, 0x1f, 0x63, 0x47, 0x77, 0xdf, 0x0f, 0x6e, 0x49, 0xe0,
+ 0xbb, 0x3a, 0x58, 0x15, 0xf7, 0x9a, 0xef, 0xee, 0xfe, 0xb8, 0xdd, 0x3d, 0x0c, 0xa7, 0x29, 0x48,
+ 0xe0, 0x10, 0xcc, 0x0b, 0x8e, 0x08, 0xdb, 0xdb, 0x10, 0x42, 0x91, 0x2e, 0x7c, 0xc1, 0x0e, 0x81,
+ 0xb8, 0xa4, 0x03, 0x11, 0x1e, 0x0f, 0xc2, 0x60, 0x70, 0xe3, 0x6e, 0xa5, 0x2c, 0xf6, 0x35, 0xbc,
+ 0xf1, 0x43, 0x2a, 0x68, 0x22, 0x7e, 0x30, 0xb7, 0xc8, 0x20, 0xa4, 0x69, 0xea, 0x82, 0x02, 0xba,
+ 0xe7, 0x17, 0xef, 0xce, 0x2e, 0xf6, 0x9b, 0x6a, 0x1b, 0x70, 0x84, 0x38, 0xbe, 0x01, 0x0f, 0x9f,
+ 0x2c, 0xa1, 0x21, 0xf2, 0x40, 0xee, 0x43, 0x36, 0x02, 0xd4, 0x4e, 0x4e, 0xff, 0x5b, 0x62, 0x80,
+ 0x82, 0x2f, 0xf3, 0x7c, 0x79, 0xfc, 0xe1, 0x64, 0x05, 0x4b, 0x13, 0xcf, 0xdf, 0xcc, 0x65, 0x51,
+ 0x15, 0x09, 0xa4, 0x90, 0x10, 0x62, 0x4b, 0xec, 0xee, 0x76, 0xf7, 0x65, 0x18, 0x42, 0xa1, 0x82,
+ 0x61, 0x91, 0x04, 0x64, 0xcf, 0xe3, 0x70, 0x5e, 0xc5, 0xb0, 0x61, 0x4b, 0x10, 0x5f, 0x8b, 0x20,
+ 0x62, 0xc8, 0xa4, 0x8c, 0x44, 0x2e, 0xe8, 0xf9, 0xe6, 0x50, 0x05, 0x25, 0x43, 0x8c, 0x83, 0xd4,
+ 0x04, 0x21, 0xb0, 0x89, 0xdb, 0x26, 0x32, 0xcc, 0xf9, 0x54, 0x30, 0x84, 0x6f, 0x80, 0xca, 0x69,
+ 0xd8, 0x25, 0xf9, 0x19, 0x01, 0x53, 0xcc, 0x67, 0x18, 0x1a, 0x8a, 0xe3, 0xa6, 0x4c, 0x5c, 0x00,
+ 0xe4, 0x05, 0x3f, 0xe6, 0x33, 0xc3, 0xec, 0x9e, 0xcf, 0xe3, 0x01, 0xc1, 0x85, 0xba, 0x23, 0x6a,
+ 0x35, 0x9f, 0x0f, 0xc6, 0xcc, 0x9f, 0x82, 0xbd, 0x9d, 0xa3, 0x46, 0x4b, 0x41, 0x96, 0x07, 0xe4,
+ 0xb7, 0xec, 0x5a, 0xaa, 0xbb, 0x64, 0x58, 0x7d, 0xe5, 0x5b, 0x35, 0xcf, 0x2a, 0x48, 0x03, 0xb5,
+ 0x4d, 0x54, 0x8e, 0xd0, 0xd8, 0xea, 0x69, 0x80, 0xa6, 0xfe, 0x02, 0x85, 0x67, 0xe4, 0x0b, 0x20,
+ 0x49, 0x9b, 0x1f, 0xe8, 0xbc, 0x86, 0x00, 0xa4, 0x8a, 0x6b, 0x24, 0x92, 0x92, 0x28, 0x88, 0xdd,
+ 0xd6, 0xb7, 0xd0, 0x51, 0xd9, 0xa5, 0x86, 0xd2, 0x19, 0x8b, 0x68, 0x10, 0xdb, 0xe4, 0x43, 0x00,
+ 0x52, 0x89, 0x07, 0x8c, 0x18, 0x43, 0x61, 0xd6, 0xd0, 0x4c, 0x24, 0x1c, 0x38, 0xfd, 0x35, 0x38,
+ 0xad, 0xd8, 0xa4, 0xed, 0xcd, 0xf4, 0xf0, 0x5c, 0x0f, 0x12, 0xf3, 0x93, 0x00, 0x44, 0x28, 0x09,
+ 0xfd, 0xf5, 0x13, 0xfe, 0x0a, 0x1e, 0x47, 0x3e, 0xc9, 0xf8, 0x4a, 0x8c, 0x20, 0xae, 0xa3, 0xf7,
+ 0x07, 0x80, 0xfc, 0xaf, 0xc8, 0xbd, 0xa7, 0x02, 0x42, 0xd1, 0x9c, 0x18, 0xbf, 0xd5, 0x51, 0xba,
+ 0xe5, 0xa1, 0xa0, 0x23, 0xb6, 0xc1, 0xc9, 0xba, 0xa7, 0x09, 0x1f, 0x25, 0x34, 0x22, 0x67, 0x1f,
+ 0x09, 0x28, 0x87, 0x0b, 0x76, 0x6f, 0x3c, 0x98, 0x28, 0xc8, 0xb3, 0x8f, 0xe7, 0xec, 0xcf, 0x29,
+ 0x03, 0x79, 0x82, 0x97, 0xe4, 0xbb, 0xdf, 0x85, 0x21, 0x79, 0x2f, 0xc1, 0xd3, 0x4d, 0x21, 0x41,
+ 0x63, 0xcc, 0xb3, 0xb1, 0x0a, 0xac, 0x79, 0x92, 0x2e, 0x08, 0xa9, 0xa5, 0x53, 0x0a, 0x88, 0x53,
+ 0xf4, 0x44, 0x0a, 0x3a, 0x54, 0x4a, 0xaf, 0x20, 0xef, 0x27, 0xea, 0xbf, 0x0f, 0xf5, 0x69, 0x10,
+ 0xa6, 0x50, 0x65, 0xaa, 0x8c, 0xd9, 0xfd, 0xf0, 0xee, 0xf8, 0xe7, 0xa3, 0x33, 0xf2, 0xaf, 0x93,
+ 0xe3, 0x23, 0x88, 0xf0, 0x7a, 0x91, 0xac, 0x04, 0xe8, 0x43, 0x48, 0x65, 0xfd, 0x84, 0x8a, 0x80,
+ 0xc7, 0xf7, 0xc7, 0xbf, 0x81, 0x06, 0x62, 0xc6, 0x0f, 0xa8, 0x32, 0x88, 0x7e, 0x4a, 0xbb, 0x4b,
+ 0x9b, 0x35, 0x3f, 0x64, 0xd3, 0x6e, 0x69, 0x60, 0xb8, 0xfd, 0x03, 0x5e, 0xd4, 0xee, 0x5f, 0x57,
+ 0xcc, 0xc7, 0x20, 0x89, 0x66, 0x34, 0x61, 0xab, 0x6a, 0xa5, 0x83, 0x01, 0x9b, 0x08, 0xd7, 0xee,
+ 0x07, 0x32, 0x8c, 0x0d, 0x35, 0xd8, 0xf5, 0x30, 0xc0, 0xc4, 0x87, 0xc6, 0x82, 0x57, 0x4b, 0xa1,
+ 0x6e, 0x3a, 0x09, 0x39, 0xf5, 0x97, 0x64, 0xac, 0x96, 0x72, 0x1a, 0x20, 0xe5, 0x4b, 0xb9, 0x40,
+ 0x4a, 0xaa, 0xf7, 0x32, 0xf6, 0x99, 0x8f, 0x00, 0x2c, 0x5c, 0x37, 0x14, 0xa0, 0x14, 0xf2, 0xd1,
+ 0x12, 0x19, 0x9f, 0xcf, 0x62, 0xc4, 0x0b, 0x7b, 0x70, 0x0b, 0xd0, 0xf9, 0xa0, 0x57, 0x08, 0x2c,
+ 0x6d, 0x30, 0x15, 0xad, 0x30, 0xc4, 0xa9, 0x35, 0x57, 0x3c, 0xd8, 0x98, 0xa6, 0x12, 0xd6, 0xe7,
+ 0x5c, 0x7c, 0x57, 0x56, 0x3c, 0x3b, 0x7a, 0x7f, 0x72, 0x52, 0x4d, 0xc2, 0x85, 0x69, 0x35, 0xa1,
+ 0x08, 0xc8, 0x3f, 0xa1, 0xb6, 0x09, 0x26, 0xa2, 0x1b, 0x32, 0x41, 0x26, 0x68, 0xa1, 0xbf, 0xd1,
+ 0x70, 0xca, 0x52, 0xf7, 0xaa, 0x67, 0xc9, 0xdb, 0x63, 0x68, 0x7d, 0xca, 0xbb, 0x4b, 0xe8, 0x8d,
+ 0xf0, 0x0e, 0xca, 0xb6, 0x18, 0xdc, 0x1d, 0x5c, 0x1c, 0xce, 0xd3, 0x85, 0xe6, 0x6b, 0x1a, 0x41,
+ 0x31, 0x61, 0x8f, 0x98, 0x38, 0x0a, 0x19, 0x5e, 0xbe, 0x9f, 0xff, 0xe2, 0x1b, 0x81, 0x6f, 0x76,
+ 0x68, 0x8a, 0x79, 0x67, 0x38, 0x8d, 0x07, 0x68, 0x1e, 0xa4, 0x7a, 0x36, 0x38, 0x0a, 0x62, 0x37,
+ 0x17, 0xfa, 0xc2, 0x75, 0x5d, 0x4f, 0xe6, 0x16, 0x6f, 0x7b, 0xfb, 0x29, 0x10, 0x40, 0x4b, 0x30,
+ 0xbc, 0x7f, 0x04, 0xe0, 0x8a, 0x7d, 0x06, 0xb5, 0x0f, 0x81, 0xa0, 0x0d, 0x11, 0x94, 0x34, 0xc8,
+ 0x24, 0x64, 0x34, 0x65, 0x44, 0xc3, 0xd8, 0x9e, 0xf9, 0xf5, 0x6b, 0x05, 0x87, 0x12, 0xd9, 0x12,
+ 0x92, 0x0f, 0xb2, 0xc1, 0x23, 0x33, 0xc4, 0xa5, 0x1e, 0x03, 0x96, 0x01, 0x60, 0x49, 0x10, 0xe1,
+ 0x00, 0xeb, 0x27, 0x59, 0xdd, 0xf9, 0x3a, 0xb2, 0xda, 0xe4, 0x5d, 0xc2, 0xc8, 0x9c, 0x4f, 0x49,
+ 0x3a, 0x4d, 0xd8, 0x01, 0x12, 0xa0, 0x33, 0x1a, 0x08, 0x32, 0x64, 0x62, 0x30, 0x36, 0x3c, 0xbb,
+ 0x09, 0xf4, 0x3c, 0x6b, 0x01, 0xcd, 0xe4, 0x98, 0xfb, 0x8e, 0x77, 0x7a, 0x72, 0x7e, 0xe1, 0x59,
+ 0x58, 0x76, 0xb1, 0x24, 0x75, 0x16, 0x5b, 0x87, 0xaa, 0xba, 0x6a, 0x5c, 0x80, 0xf9, 0x6e, 0x39,
+ 0x1e, 0x94, 0x5e, 0xa0, 0x5a, 0xe9, 0x20, 0xcd, 0x3f, 0x52, 0x1e, 0x7b, 0x99, 0x85, 0xc5, 0x99,
+ 0xf3, 0xeb, 0xf9, 0xc9, 0xb1, 0x9d, 0x0a, 0x64, 0x22, 0x18, 0xce, 0x0d, 0x14, 0x84, 0xa3, 0x0f,
+ 0x92, 0x99, 0xf0, 0xb7, 0x22, 0xbc, 0xd2, 0x03, 0xe9, 0x1d, 0x44, 0xd2, 0xc5, 0x63, 0xb1, 0xe4,
+ 0x01, 0xe1, 0xeb, 0xe7, 0x0b, 0x24, 0x9a, 0xa9, 0xec, 0xef, 0x21, 0x7b, 0x1d, 0xb4, 0x19, 0x1a,
+ 0x09, 0x0c, 0xa4, 0xd1, 0x44, 0x18, 0xde, 0x69, 0xc2, 0xd2, 0x94, 0x14, 0xe6, 0x8c, 0xfa, 0x62,
+ 0x89, 0x4d, 0x96, 0x96, 0xe9, 0x08, 0xf2, 0x20, 0x81, 0xc6, 0x13, 0x8b, 0x3d, 0x12, 0x08, 0x9b,
+ 0x5c, 0x8c, 0x59, 0x6c, 0x49, 0x47, 0x27, 0xf0, 0x84, 0x0e, 0xc4, 0x94, 0x86, 0x50, 0xf0, 0x42,
+ 0x90, 0x0c, 0x31, 0xa4, 0xe6, 0x2a, 0x21, 0x63, 0x96, 0x48, 0x88, 0x00, 0xb2, 0x0b, 0x4b, 0x1d,
+ 0xcf, 0xec, 0x04, 0x43, 0xe3, 0x69, 0x90, 0x1e, 0xd3, 0x63, 0x03, 0x8c, 0x33, 0x65, 0x1f, 0xc1,
+ 0x0d, 0x85, 0x01, 0x0c, 0x99, 0xa6, 0xb9, 0x40, 0xde, 0x80, 0xee, 0x04, 0xec, 0x94, 0xb9, 0x8f,
+ 0x2a, 0x28, 0x70, 0x02, 0x25, 0x1e, 0x60, 0x2f, 0xe7, 0xc0, 0xe6, 0x37, 0x8a, 0x25, 0xa8, 0xdf,
+ 0xa8, 0x66, 0xa7, 0x78, 0x86, 0x58, 0x0d, 0xf0, 0x14, 0x10, 0x2f, 0x9a, 0xaf, 0x0c, 0xae, 0xde,
+ 0x81, 0x51, 0x2d, 0x0d, 0x46, 0xcc, 0xf0, 0xa0, 0x52, 0x7c, 0xed, 0x99, 0xa6, 0x7d, 0x8b, 0x0e,
+ 0x8a, 0x85, 0x20, 0xb5, 0x59, 0x13, 0x4e, 0x6b, 0xd5, 0x00, 0xfe, 0xb8, 0x02, 0x28, 0x10, 0xf0,
+ 0x05, 0x74, 0xf2, 0xa6, 0x53, 0x03, 0xfd, 0xa6, 0x0e, 0x3a, 0xcb, 0xb2, 0xc2, 0xf0, 0xaa, 0x7b,
+ 0x58, 0x68, 0x2e, 0x12, 0x26, 0xa6, 0x49, 0x4c, 0x58, 0x68, 0xcb, 0xa0, 0xf4, 0x19, 0x54, 0x64,
+ 0x43, 0xc3, 0x63, 0x78, 0xba, 0x9b, 0xf6, 0x4c, 0x0b, 0x51, 0x97, 0xa9, 0xd0, 0x33, 0xed, 0x3c,
+ 0x47, 0xba, 0x4f, 0xdb, 0x16, 0x0b, 0x4b, 0xdc, 0x82, 0x7f, 0x0c, 0xee, 0x00, 0xaf, 0x9a, 0x2f,
+ 0xc4, 0x4a, 0x4c, 0x50, 0x1e, 0xb8, 0x15, 0x9d, 0xca, 0x67, 0x66, 0x47, 0x93, 0x55, 0x2a, 0x07,
+ 0x10, 0xf3, 0x20, 0x9e, 0x86, 0xa1, 0x73, 0x2c, 0x6b, 0x09, 0x5c, 0xb0, 0x73, 0x64, 0xb1, 0xb9,
+ 0xe6, 0x3c, 0x52, 0xfb, 0x50, 0xd7, 0x8a, 0x29, 0xe4, 0xe0, 0x85, 0x80, 0x56, 0x74, 0x93, 0x89,
+ 0xa4, 0x12, 0x50, 0xdb, 0x58, 0x55, 0x8b, 0x8a, 0x87, 0xce, 0x03, 0xba, 0x84, 0x5d, 0x18, 0x21,
+ 0x79, 0xc8, 0x6c, 0xc8, 0x20, 0x06, 0x42, 0x9a, 0x96, 0x92, 0x6d, 0x80, 0x11, 0x4f, 0x6f, 0x67,
+ 0xae, 0xd1, 0x7c, 0x41, 0x7e, 0xba, 0xbe, 0x3e, 0xbd, 0x3c, 0x3b, 0xba, 0xbe, 0x26, 0x2f, 0x9a,
+ 0x24, 0x66, 0x33, 0xf2, 0x01, 0x5d, 0xbc, 0x80, 0x7e, 0xd1, 0x66, 0xbb, 0xa0, 0x1f, 0xc1, 0x7f,
+ 0x39, 0x3f, 0x39, 0x97, 0xf6, 0x66, 0x98, 0x76, 0x0a, 0x36, 0xc9, 0x8c, 0x96, 0xd5, 0x7e, 0x6b,
+ 0x76, 0xb4, 0x16, 0x11, 0xd6, 0xab, 0xe8, 0x91, 0x65, 0xf8, 0x40, 0x57, 0x4c, 0xc5, 0x83, 0x5c,
+ 0x42, 0x12, 0x7d, 0x5f, 0x15, 0x5b, 0xd6, 0x8e, 0xd2, 0xd7, 0x72, 0x91, 0x5a, 0xbf, 0x65, 0x19,
+ 0x26, 0xdf, 0x09, 0x8d, 0x8f, 0xb7, 0x64, 0x42, 0xb0, 0x60, 0x55, 0xd3, 0x89, 0x5c, 0x94, 0xcf,
+ 0xd3, 0xaf, 0x5f, 0x97, 0x73, 0x8b, 0x7c, 0x84, 0x13, 0xb6, 0xca, 0x13, 0x95, 0x67, 0xe4, 0x93,
+ 0x29, 0x5e, 0xca, 0x27, 0x1b, 0x4c, 0xaa, 0xa5, 0x84, 0x9b, 0x88, 0xc1, 0x35, 0xb4, 0x3d, 0x5f,
+ 0xbf, 0x1a, 0xcb, 0x32, 0x59, 0xb1, 0x52, 0x96, 0x24, 0x3c, 0x01, 0x1b, 0x2d, 0xd2, 0xc3, 0xa1,
+ 0x4c, 0x00, 0x31, 0x64, 0x05, 0xd8, 0x6d, 0x13, 0xd9, 0x2a, 0xcd, 0x02, 0x31, 0x26, 0x58, 0xb1,
+ 0x12, 0x35, 0x1d, 0xfc, 0x21, 0x55, 0x79, 0x02, 0x92, 0xc1, 0xf6, 0xb6, 0xb1, 0xdc, 0x5c, 0x59,
+ 0x8a, 0x2d, 0x5c, 0x31, 0x20, 0xf8, 0x64, 0x10, 0x2e, 0xc0, 0x8c, 0x30, 0xb3, 0x69, 0x23, 0x90,
+ 0x14, 0x0d, 0xef, 0x08, 0xbf, 0x30, 0xcd, 0xa6, 0x98, 0x76, 0x30, 0x82, 0x78, 0x16, 0x33, 0xb3,
+ 0x04, 0x92, 0x22, 0x4b, 0x2e, 0xf0, 0x2c, 0x86, 0x99, 0x55, 0x72, 0x25, 0x6c, 0xf7, 0xd3, 0x0b,
+ 0xfe, 0xe9, 0xd3, 0x97, 0x2f, 0x86, 0xbe, 0xcb, 0x9d, 0xcf, 0x7b, 0xbe, 0xd0, 0xc6, 0xf0, 0x85,
+ 0x8a, 0xb1, 0x3d, 0x0c, 0x39, 0x10, 0xd0, 0x30, 0xcd, 0xdd, 0xd7, 0xad, 0x16, 0x98, 0xcc, 0x84,
+ 0xfa, 0xb2, 0x91, 0x33, 0x76, 0x2c, 0xaf, 0xe5, 0x99, 0x99, 0xb3, 0x61, 0xcf, 0xdf, 0x70, 0x4f,
+ 0xf3, 0x75, 0xdd, 0x36, 0xaf, 0x64, 0x69, 0x89, 0x53, 0x69, 0xc5, 0xb2, 0x88, 0x71, 0x51, 0xdc,
+ 0xf2, 0x0a, 0x3c, 0x66, 0x08, 0x48, 0x3b, 0xf2, 0xc6, 0x4e, 0xf8, 0x2c, 0xb5, 0x43, 0x16, 0x8f,
+ 0xc4, 0xb8, 0xdb, 0xea, 0x98, 0x6a, 0xd1, 0x67, 0xb0, 0x8f, 0x9d, 0x81, 0xdc, 0x5a, 0x66, 0xa7,
+ 0xb4, 0x03, 0x1b, 0xf6, 0x1d, 0x51, 0x10, 0x9b, 0x81, 0xb6, 0x60, 0x05, 0xa6, 0xdb, 0x55, 0x1e,
+ 0xca, 0x67, 0xaa, 0x62, 0xb2, 0x03, 0x70, 0xb0, 0x44, 0xe0, 0xc6, 0x35, 0xec, 0xa6, 0x35, 0x91,
+ 0x33, 0xda, 0x12, 0xdd, 0x55, 0xd0, 0x7b, 0xea, 0x42, 0xbf, 0x10, 0xf8, 0xa4, 0xb5, 0xbd, 0xbd,
+ 0xba, 0x8e, 0x71, 0xe3, 0x60, 0x69, 0xd1, 0xf1, 0x70, 0xcd, 0xb3, 0x26, 0x60, 0xa4, 0x6e, 0xc5,
+ 0x72, 0x6b, 0xf0, 0x54, 0x1f, 0x94, 0x88, 0x8a, 0x55, 0x8d, 0xa9, 0x03, 0xec, 0x01, 0xcb, 0x31,
+ 0x4b, 0x3e, 0x5d, 0x7c, 0xf9, 0xec, 0x7a, 0x4f, 0x48, 0xcd, 0x3f, 0xac, 0x36, 0x9f, 0x2f, 0x82,
+ 0x4c, 0xd6, 0x8b, 0x1b, 0x20, 0xe4, 0xe9, 0x1e, 0x80, 0xd2, 0xe5, 0xb4, 0xac, 0x98, 0xb7, 0x9e,
+ 0x2f, 0xf0, 0x9b, 0x0f, 0x89, 0x3c, 0x8f, 0xeb, 0xa9, 0x7e, 0xcb, 0x3b, 0xc8, 0x2f, 0x1c, 0x0f,
+ 0x07, 0x60, 0x5e, 0xb6, 0x85, 0x05, 0xe9, 0x16, 0x78, 0x0a, 0x72, 0xb1, 0x45, 0x94, 0x07, 0xc3,
+ 0x6e, 0xdc, 0x06, 0xf7, 0x3c, 0x96, 0x48, 0xdd, 0xad, 0xb5, 0x3e, 0x75, 0xab, 0xfb, 0x20, 0xcf,
+ 0x85, 0x23, 0x83, 0x50, 0xbe, 0x7e, 0xf5, 0xbc, 0x7b, 0xf8, 0x87, 0x64, 0x29, 0x6d, 0x06, 0x95,
+ 0xad, 0x8e, 0x00, 0x6c, 0xd7, 0x94, 0x94, 0xe9, 0xfb, 0xf9, 0x05, 0x1d, 0xa1, 0xbe, 0xd0, 0xb5,
+ 0x01, 0x0e, 0xb2, 0x96, 0xfc, 0x46, 0xa7, 0x3e, 0xba, 0x05, 0x08, 0xf4, 0x70, 0x06, 0x02, 0x87,
+ 0x30, 0x81, 0x95, 0x34, 0xf8, 0x16, 0xd8, 0x10, 0xb3, 0xc1, 0x96, 0x01, 0x8b, 0x9d, 0x82, 0xdd,
+ 0x0d, 0x84, 0x81, 0x99, 0x19, 0xcd, 0xb5, 0x98, 0x02, 0x14, 0x81, 0xab, 0xaa, 0xc6, 0xb6, 0x0a,
+ 0x37, 0xe5, 0xbc, 0xa3, 0x80, 0x5a, 0xf6, 0xca, 0xea, 0x9e, 0x9d, 0x9e, 0x59, 0x6e, 0x02, 0x47,
+ 0xf9, 0x86, 0x2d, 0xbb, 0x7a, 0x4b, 0xd9, 0xb1, 0xd7, 0x72, 0xb3, 0xa7, 0xb8, 0x29, 0xfa, 0xec,
+ 0x5a, 0xa0, 0x57, 0xbd, 0xd2, 0x4f, 0x57, 0x1a, 0x6f, 0x88, 0x44, 0x90, 0x91, 0x96, 0xb2, 0xb8,
+ 0x69, 0x81, 0x43, 0xf9, 0xae, 0x32, 0x0d, 0x2d, 0x08, 0x88, 0x6b, 0x3a, 0x6e, 0xb6, 0x0b, 0x0a,
+ 0x4c, 0x7d, 0xd7, 0x15, 0x19, 0x00, 0x64, 0x96, 0x68, 0xaa, 0xa2, 0x42, 0xc7, 0xbd, 0x1a, 0xf3,
+ 0x69, 0x92, 0x5a, 0x51, 0x10, 0x4f, 0x05, 0x4b, 0x7b, 0x39, 0x22, 0x3b, 0x85, 0x72, 0x0a, 0x6a,
+ 0x45, 0xa8, 0xdf, 0xec, 0x88, 0x4e, 0x0c, 0x95, 0xbc, 0x8b, 0x24, 0xb6, 0x53, 0x10, 0x96, 0xdb,
+ 0x5f, 0x60, 0x54, 0x7a, 0xa9, 0x71, 0xbc, 0x78, 0xdd, 0xaa, 0x63, 0x03, 0xb6, 0x98, 0x19, 0x1c,
+ 0x6f, 0x89, 0x11, 0x29, 0xfe, 0xef, 0x67, 0x63, 0xf7, 0xbf, 0x67, 0x63, 0x17, 0xd9, 0xc8, 0x79,
+ 0xa8, 0xe8, 0xb3, 0x14, 0xea, 0xde, 0xb7, 0x08, 0x75, 0x6f, 0x49, 0xa8, 0xa5, 0xc6, 0x4b, 0x34,
+ 0xaf, 0xbe, 0x05, 0xcd, 0x2b, 0x44, 0x53, 0x4d, 0x25, 0xd5, 0x74, 0x25, 0xe3, 0xaa, 0x0a, 0xda,
+ 0x45, 0x8e, 0xec, 0xac, 0x59, 0x87, 0xa2, 0x71, 0x7f, 0x81, 0x22, 0x6b, 0x92, 0xcf, 0x38, 0x86,
+ 0x64, 0x3a, 0xab, 0x78, 0xe9, 0x6d, 0xe3, 0xfc, 0xc8, 0x5b, 0xef, 0x5b, 0x2a, 0xd9, 0x51, 0xea,
+ 0x04, 0xab, 0x93, 0x53, 0xb0, 0x14, 0x0b, 0x69, 0xe3, 0x45, 0xcf, 0xad, 0x29, 0x62, 0x72, 0x1d,
+ 0x5d, 0x40, 0xaa, 0xbe, 0x9a, 0x43, 0xaf, 0x66, 0x45, 0x50, 0x9a, 0x8f, 0x21, 0xd5, 0xcf, 0x7b,
+ 0x6e, 0x8e, 0x22, 0x07, 0x6a, 0x2c, 0x2b, 0xd2, 0x92, 0x7a, 0xd7, 0x6a, 0xb7, 0x94, 0x03, 0xba,
+ 0xad, 0x9e, 0x9b, 0x13, 0xbc, 0x47, 0xff, 0x16, 0x9b, 0xf0, 0xc1, 0xd8, 0xad, 0xa4, 0x47, 0x3c,
+ 0xaa, 0x7d, 0x79, 0x71, 0x68, 0x94, 0x0c, 0x34, 0xda, 0xc8, 0x82, 0xb5, 0x4e, 0xc0, 0x6c, 0x62,
+ 0xa9, 0xd6, 0x31, 0xd6, 0x6a, 0xc9, 0xbf, 0xde, 0x6d, 0x48, 0xbe, 0x40, 0xde, 0x79, 0x01, 0x98,
+ 0x81, 0xf4, 0xf9, 0xcd, 0xf6, 0xf6, 0x7d, 0x75, 0x0e, 0x94, 0x69, 0xe0, 0x06, 0xd5, 0x82, 0xbc,
+ 0x88, 0xa8, 0x7f, 0x4e, 0xa1, 0xe4, 0x3b, 0x97, 0xc1, 0x90, 0x27, 0xef, 0xc2, 0x50, 0x47, 0x53,
+ 0xbb, 0x00, 0xd5, 0x39, 0x15, 0xec, 0xaf, 0x75, 0xb0, 0xa9, 0xe6, 0x72, 0x36, 0xd5, 0xf8, 0xf5,
+ 0x36, 0x90, 0xcf, 0xc0, 0x16, 0x9b, 0xf0, 0xca, 0xe2, 0x5a, 0x73, 0xf3, 0x0b, 0xb2, 0x06, 0x95,
+ 0xe0, 0x37, 0x33, 0x6f, 0xa5, 0x13, 0x77, 0x91, 0xad, 0x27, 0x94, 0x25, 0x7c, 0x26, 0x84, 0x0b,
+ 0xb5, 0x4f, 0xb9, 0x59, 0x21, 0x41, 0xa5, 0xb9, 0xaa, 0xbd, 0x76, 0x58, 0x98, 0x42, 0xdb, 0xb9,
+ 0x0c, 0xbf, 0x5a, 0x28, 0x4b, 0x87, 0xba, 0xab, 0x76, 0x2c, 0xf7, 0x97, 0xd3, 0xeb, 0xf6, 0xf1,
+ 0xff, 0x6b, 0x47, 0x57, 0x38, 0xb0, 0xa0, 0xad, 0x73, 0xee, 0xb2, 0x25, 0xe3, 0x59, 0x63, 0x72,
+ 0x83, 0x0d, 0x65, 0xab, 0xb2, 0xb0, 0x65, 0xbc, 0x4f, 0xff, 0x01, 0xa5, 0xb2, 0x34, 0x43, 0x4f,
+ 0x37, 0xde, 0xf2, 0xbd, 0x46, 0x0e, 0xa2, 0x1c, 0x0d, 0x9e, 0x41, 0x52, 0xed, 0xa4, 0x93, 0xab,
+ 0xc0, 0xef, 0xe9, 0xa7, 0x2a, 0x7a, 0xa9, 0x6b, 0x59, 0xb6, 0x94, 0x85, 0x0a, 0x96, 0xd8, 0x6b,
+ 0xa0, 0x32, 0xde, 0xcc, 0x58, 0x72, 0x48, 0x53, 0xd0, 0x8c, 0x82, 0x86, 0x4a, 0x4b, 0x75, 0x81,
+ 0xab, 0xed, 0xa2, 0x96, 0xb6, 0x99, 0x9d, 0xf4, 0xff, 0x00, 0x6b, 0xb1, 0x6f, 0xd8, 0x3c, 0x05,
+ 0x9c, 0xb9, 0x75, 0x43, 0xed, 0x06, 0xf5, 0x9c, 0xb1, 0xe6, 0xab, 0x93, 0xff, 0xb9, 0x2a, 0x80,
+ 0xa6, 0x12, 0xf8, 0xc1, 0x92, 0x0d, 0x16, 0xf5, 0xae, 0xaa, 0xb0, 0xba, 0x8b, 0x5c, 0x62, 0x4f,
+ 0x2b, 0x06, 0xb9, 0xbd, 0xad, 0xcd, 0x7b, 0x83, 0x52, 0xcc, 0x8d, 0x7e, 0x68, 0x5a, 0x95, 0x13,
+ 0xe6, 0xed, 0xef, 0xaa, 0x73, 0xae, 0x0e, 0x4f, 0xa5, 0x12, 0x71, 0xea, 0x2a, 0x59, 0x95, 0xb1,
+ 0x79, 0x69, 0x2c, 0xab, 0xfb, 0xe2, 0x02, 0xc2, 0xc6, 0xab, 0xa2, 0x16, 0x5f, 0x40, 0x46, 0x80,
+ 0xee, 0xc1, 0x3b, 0xe6, 0x12, 0x07, 0x51, 0x85, 0x17, 0xf2, 0xaa, 0x3b, 0xf8, 0x2c, 0x47, 0xef,
+ 0xae, 0x60, 0xb8, 0x6a, 0xf5, 0x3a, 0x0f, 0x75, 0xe6, 0x5c, 0xd0, 0xef, 0x53, 0x11, 0x07, 0x1e,
+ 0x44, 0x03, 0xf4, 0xc2, 0x68, 0x94, 0xab, 0x0a, 0xa9, 0x66, 0xc8, 0x56, 0xd1, 0xe0, 0x1f, 0x68,
+ 0xe6, 0xf5, 0xf8, 0x38, 0x9d, 0x0e, 0x06, 0x2c, 0x4d, 0x87, 0xd3, 0xd0, 0x26, 0x7a, 0x88, 0x18,
+ 0xd1, 0xb9, 0x9e, 0x21, 0xda, 0x9e, 0xe9, 0x2c, 0x83, 0x0f, 0x29, 0x20, 0xf4, 0x1d, 0xe2, 0xbd,
+ 0x2c, 0x50, 0xaa, 0x49, 0x82, 0xee, 0x09, 0x0b, 0xd1, 0x30, 0x31, 0xe3, 0xc9, 0x0d, 0x91, 0x7d,
+ 0x21, 0xf1, 0xa7, 0x72, 0x0c, 0xa9, 0xb4, 0x00, 0x1a, 0x2d, 0xf3, 0x76, 0xf1, 0x8a, 0xc2, 0x08,
+ 0xcc, 0xc5, 0x63, 0x04, 0x8c, 0x21, 0xd8, 0x3f, 0x9a, 0x56, 0xcc, 0x42, 0x27, 0xa8, 0x9b, 0x41,
+ 0xd6, 0xbc, 0x34, 0x91, 0xea, 0x52, 0xe3, 0x3d, 0x3d, 0x2d, 0xf6, 0x3e, 0xf2, 0x04, 0x8c, 0x05,
+ 0xb8, 0xf4, 0xce, 0xd8, 0x2d, 0xb0, 0xc5, 0xe0, 0xea, 0x12, 0x50, 0x7b, 0x38, 0x2d, 0xf7, 0x7a,
+ 0x16, 0x4e, 0x5e, 0x63, 0xe6, 0x1f, 0x72, 0x1f, 0xc1, 0xd1, 0x7f, 0xad, 0xe5, 0x8f, 0x9e, 0x34,
+ 0xb0, 0xa2, 0x41, 0xbf, 0xc0, 0x3e, 0x5c, 0x4e, 0x6f, 0x35, 0x7d, 0x42, 0xe1, 0x7a, 0x0f, 0x5f,
+ 0xf2, 0x24, 0xf2, 0x25, 0x8f, 0xa6, 0x9f, 0xe2, 0x80, 0x30, 0xd5, 0x9c, 0xd9, 0x4f, 0x9e, 0xa8,
+ 0xd1, 0xe3, 0xc9, 0xdf, 0x71, 0xe0, 0x28, 0x67, 0xc8, 0x16, 0xb4, 0xf4, 0x2c, 0x26, 0x43, 0x8e,
+ 0xbf, 0x8f, 0xc0, 0x6b, 0xa2, 0x86, 0x97, 0x29, 0xe8, 0x32, 0x9f, 0xed, 0x3c, 0x5e, 0x78, 0x1e,
+ 0x5e, 0xcb, 0x19, 0xf4, 0xb5, 0x60, 0xd1, 0x44, 0xce, 0x0c, 0xad, 0xc7, 0xa4, 0xad, 0xa3, 0x84,
+ 0x1a, 0x56, 0x16, 0x09, 0xd3, 0x6d, 0x75, 0x82, 0xfd, 0xbd, 0x4e, 0xf0, 0xf2, 0xa5, 0xb9, 0xa8,
+ 0x9a, 0x9f, 0x66, 0x0d, 0xcb, 0xbf, 0x53, 0x10, 0x59, 0x00, 0x21, 0x18, 0x84, 0xcb, 0xc3, 0x5b,
+ 0x68, 0xb2, 0x74, 0x79, 0xc9, 0xa7, 0x22, 0x5f, 0xb3, 0xda, 0x38, 0x81, 0xb0, 0xb4, 0xb9, 0xab,
+ 0x37, 0x69, 0x04, 0x7a, 0xcc, 0x97, 0xed, 0xac, 0xb9, 0xe7, 0xc0, 0x55, 0xc5, 0x5e, 0xa0, 0x3d,
+ 0xcc, 0x7e, 0x8f, 0x7f, 0x8f, 0x95, 0xb2, 0x50, 0x27, 0x6b, 0x8f, 0x2b, 0x43, 0xe5, 0x39, 0x94,
+ 0x5d, 0xb9, 0xd2, 0x63, 0x68, 0xb1, 0xcb, 0x9d, 0xa0, 0xe6, 0x19, 0x2a, 0xd7, 0xe7, 0x31, 0x23,
+ 0x06, 0xf8, 0xd5, 0x1f, 0xd3, 0x54, 0x80, 0x7e, 0x4b, 0x13, 0x00, 0x61, 0xdf, 0x32, 0x32, 0x8d,
+ 0xf5, 0xb9, 0x22, 0xe6, 0x9b, 0xa0, 0x77, 0xab, 0x3c, 0x66, 0xa3, 0x6d, 0xea, 0x00, 0x54, 0xda,
+ 0x27, 0xd0, 0x77, 0x55, 0x9a, 0x30, 0x1e, 0x53, 0x3b, 0x7a, 0x02, 0xa9, 0xb2, 0xb5, 0x1a, 0x2b,
+ 0x42, 0x72, 0xd6, 0x0c, 0x3d, 0x30, 0x61, 0x82, 0xbe, 0x6f, 0x70, 0x83, 0x21, 0x05, 0xfc, 0x43,
+ 0xe1, 0x71, 0x70, 0xd0, 0x64, 0xad, 0x1e, 0xab, 0xd1, 0xce, 0x56, 0x97, 0x5c, 0x58, 0xdc, 0xde,
+ 0x7e, 0xd4, 0x83, 0x32, 0xa1, 0x1c, 0x00, 0x2a, 0x01, 0x9f, 0xdd, 0x39, 0x81, 0x85, 0xa7, 0x74,
+ 0x80, 0x37, 0x0c, 0x3f, 0xb5, 0x76, 0x59, 0x54, 0x76, 0x79, 0xdb, 0xf0, 0x7c, 0xf1, 0xf6, 0x65,
+ 0x90, 0x61, 0x5a, 0xc2, 0x55, 0xc8, 0xeb, 0x95, 0x12, 0xc0, 0x5d, 0x39, 0xe2, 0x52, 0xbb, 0xa4,
+ 0x26, 0xcb, 0xa6, 0xcc, 0x48, 0x2b, 0x95, 0x63, 0x85, 0x20, 0x94, 0x22, 0x80, 0xbf, 0xb7, 0x8a,
+ 0x09, 0x63, 0xd4, 0x63, 0x16, 0x10, 0x90, 0x02, 0xbe, 0x4b, 0x1a, 0x0f, 0xd7, 0x10, 0xdf, 0xd5,
+ 0x1c, 0xe8, 0x96, 0xf4, 0xbe, 0x32, 0x1e, 0x52, 0xc7, 0x23, 0x5a, 0x11, 0x8b, 0xcb, 0x58, 0x26,
+ 0x95, 0xa9, 0x5e, 0x94, 0xbb, 0x5e, 0xf1, 0x3b, 0x00, 0xa2, 0xdf, 0xed, 0x47, 0xe8, 0x18, 0x87,
+ 0x10, 0xf4, 0x71, 0x0c, 0xf9, 0xf4, 0xc9, 0x13, 0xaf, 0x56, 0xe5, 0x75, 0x7e, 0x71, 0xa0, 0x91,
+ 0xbe, 0x74, 0xbd, 0xb5, 0x08, 0xe5, 0x90, 0x63, 0x2e, 0x48, 0x19, 0x58, 0x7e, 0x8f, 0x3d, 0x67,
+ 0x23, 0xf8, 0xf3, 0xd5, 0x20, 0x03, 0x31, 0xd0, 0xeb, 0xa8, 0x80, 0xa9, 0x37, 0x7e, 0x53, 0xed,
+ 0xb6, 0xf6, 0x46, 0xfa, 0xc1, 0x77, 0x1b, 0x21, 0x1f, 0xd5, 0xbc, 0xd8, 0x10, 0xe3, 0x04, 0x32,
+ 0xe2, 0x91, 0x0a, 0x23, 0x79, 0x7d, 0x92, 0x03, 0x90, 0x19, 0x4d, 0xe5, 0x7c, 0x9c, 0xdf, 0x78,
+ 0x4a, 0xbe, 0xfd, 0x90, 0xf7, 0x57, 0x5f, 0x7e, 0xe0, 0x9a, 0x61, 0x5a, 0x10, 0x95, 0xdd, 0xfb,
+ 0xa6, 0x06, 0x16, 0xc8, 0x3a, 0xc2, 0xb7, 0x0e, 0x3e, 0xde, 0xb9, 0xe5, 0x14, 0x1b, 0x43, 0xf9,
+ 0x88, 0x89, 0x7c, 0xb2, 0xb0, 0x3a, 0x83, 0x7e, 0xbe, 0xb8, 0xf2, 0x7e, 0x7d, 0x77, 0x0c, 0x15,
+ 0xc4, 0xc7, 0xa3, 0xf7, 0xf0, 0xf9, 0xe5, 0xdd, 0x19, 0x7c, 0xbe, 0x3b, 0x3d, 0x93, 0xd7, 0xff,
+ 0x84, 0xcf, 0x5f, 0x2f, 0x8f, 0xe5, 0xe7, 0x67, 0x5c, 0xbf, 0xfc, 0x19, 0x3e, 0xcf, 0x8f, 0x4e,
+ 0xe1, 0xf3, 0xe4, 0x10, 0xcc, 0xcc, 0x3b, 0x3e, 0xf9, 0x0d, 0xab, 0x8f, 0xa3, 0x43, 0xaf, 0x77,
+ 0xa5, 0x49, 0x7d, 0xc1, 0x5e, 0xde, 0x30, 0x7b, 0x80, 0x5b, 0xaf, 0x7c, 0x84, 0xc2, 0xe3, 0x9f,
+ 0xa0, 0x14, 0x10, 0x72, 0x63, 0x95, 0xb1, 0x4f, 0x38, 0x07, 0xaa, 0xe7, 0x6c, 0x19, 0xf0, 0x8b,
+ 0x9a, 0x12, 0xd5, 0x81, 0x7a, 0xd6, 0x34, 0x09, 0xdd, 0xcb, 0xb3, 0xcf, 0xf6, 0x00, 0x8a, 0x50,
+ 0xc1, 0x54, 0x67, 0x02, 0xf7, 0x06, 0x4a, 0x0e, 0xb4, 0x5d, 0xf6, 0xb9, 0x0a, 0x40, 0x4f, 0x3e,
+ 0x0d, 0x8f, 0x82, 0xd4, 0xa9, 0x3d, 0x4e, 0xd8, 0xd0, 0x05, 0x14, 0x16, 0xb5, 0x73, 0xad, 0xe3,
+ 0x1b, 0x73, 0x9e, 0xd0, 0x11, 0x03, 0x86, 0x97, 0x44, 0x9b, 0xe1, 0xef, 0x29, 0xbc, 0xb2, 0xeb,
+ 0x47, 0xe7, 0xb1, 0xf1, 0x27, 0x80, 0xb1, 0x7f, 0x38, 0x0e, 0x42, 0xdf, 0xa0, 0x40, 0xcf, 0x96,
+ 0x73, 0x52, 0xc3, 0x5c, 0x01, 0x53, 0xf1, 0xa1, 0x00, 0x43, 0x86, 0x13, 0x76, 0xcb, 0x6f, 0x2a,
+ 0x0c, 0x03, 0x17, 0xc5, 0x6b, 0x0e, 0x34, 0x99, 0xb5, 0x44, 0x54, 0xfc, 0x2c, 0x42, 0x97, 0xc4,
+ 0x90, 0x7f, 0x24, 0x5c, 0x96, 0xcd, 0x20, 0xcc, 0x83, 0xa8, 0xb8, 0xe2, 0xbf, 0x62, 0xdb, 0x9d,
+ 0xfd, 0xa6, 0xfe, 0x31, 0xc2, 0x7e, 0x53, 0xfd, 0x76, 0xb1, 0x29, 0x7f, 0xce, 0xfd, 0x1f, 0x3e,
+ 0xec, 0xfa, 0xfe, 0xde, 0x2d, 0x00, 0x00,
+};
+
+const unsigned int html_content_gz_len = 3911;
+
+#endif // HTML_CONTENT_GZ_H
\ No newline at end of file
diff --git a/main/webpage_minified.html b/main/webpage_minified.html
index 9e5a613..4394600 100644
--- a/main/webpage_minified.html
+++ b/main/webpage_minified.html
@@ -1,52 +1,10 @@
-Control Panel ClusterCommand Save Changes DANGER ZONE REBOOT
\ No newline at end of file
+`;for(let i=0;i<4;i++)learnedCodes[i]===-1?summary+=`${buttonNames[i]}: Not programmed\n`:summary+=`${buttonNames[i]}: ${learnedCodes[i]}\n`;alert(summary),await fetchStatus()}async function downloadLogFile(){try{let response=await fetch(`./log`);if(!response.ok)throw Error(`Network response was not ok`);let blob=await response.blob(),now=/* @__PURE__ */ new Date,formattedDate=`${String(now.getDate()).padStart(2,`0`)}${[`JAN`,`FEB`,`MAR`,`APR`,`MAY`,`JUN`,`JUL`,`AUG`,`SEP`,`OCT`,`NOV`,`DEC`][now.getMonth()]}${now.getFullYear()}-${String(now.getHours()).padStart(2,`0`)}${String(now.getMinutes()).padStart(2,`0`)}`,url=URL.createObjectURL(blob),a=document.createElement(`a`);a.href=url,a.download=`storage-${formattedDate}.bin`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(url)}catch(error){console.error(`Download failed:`,error)}}window.onload=fetchStatus;