This commit is contained in:
cschwinne 2023-01-03 17:16:14 +01:00
commit cecffee3d3
3 changed files with 155 additions and 161 deletions

View File

@ -198,7 +198,7 @@ class UsermodBattery : public Usermod
// still don't know much about MQTT and/or HA // still don't know much about MQTT and/or HA
if (WLED_MQTT_CONNECTED) { if (WLED_MQTT_CONNECTED) {
char buf[64]; // buffer for snprintf() char buf[64]; // buffer for snprintf()
snprintf_P(buf, 63, PSTR("/voltage%s"), mqttDeviceTopic); snprintf_P(buf, 63, PSTR("%s/voltage"), mqttDeviceTopic);
mqtt->publish(buf, 0, false, String(voltage).c_str()); mqtt->publish(buf, 0, false, String(voltage).c_str());
} }

View File

@ -24,6 +24,7 @@
//console.log("File loaded"); //console.log("File loaded");
GetV(); GetV();
UI(); UI();
Sf.MPC.setAttribute("max",maxPanels);
}); });
// error event // error event
scE.addEventListener("error", (ev) => { scE.addEventListener("error", (ev) => {
@ -44,29 +45,27 @@
loadJS(url, false); // If we set async false, file is loaded and executed, then next statement is processed loadJS(url, false); // If we set async false, file is loaded and executed, then next statement is processed
} }
function UI(panels=1) function UI() {
{
gId("mpdiv").style.display = "block";
if (gId("somp").value === "0") { if (gId("somp").value === "0") {
gId("mpdiv").style.display = "none"; gId("mpdiv").style.display = "none";
resetPanels(); resetPanels();
return; return;
} }
gId("mpdiv").style.display = "block";
let i = gId("panels").children.length;
if (i<panels) for (let j=i; j<panels; j++) addPanel(j);
if (i>panels) for (let j=i; j>panels; j--) remPanel();
} }
function addPanels() { function addPanels() {
let c = parseInt(d.Sf.MPC.value); let c = parseInt(d.Sf.MPC.value);
for (let i=0; i<c; i++) addPanel(i); let i = gId("panels").children.length;
if (i<c) for (let j=i; j<c; j++) addPanel(j);
if (i>c) for (let j=i; j>c; j--) remPanel();
} }
function addPanel(i=0) { function addPanel(i=0) {
let p = gId("panels"); let p = gId("panels");
if (p.children.length >= maxPanels) return; if (p.children.length >= maxPanels) return;
var pw = parseInt(d.Sf.PW.value);
var ph = parseInt(d.Sf.PH.value);
let b = `<div id="pnl${i}"><hr class="sml">Panel ${i}<br> let b = `<div id="pnl${i}"><hr class="sml">Panel ${i}<br>
1<sup>st</sup> LED: <select name="P${i}B"> 1<sup>st</sup> LED: <select name="P${i}B">
<option value="0">Top</option> <option value="0">Top</option>
@ -80,7 +79,7 @@ Orientation: <select name="P${i}V">
<option value="1">Vertical</option> <option value="1">Vertical</option>
</select><br> </select><br>
Serpentine: <input type="checkbox" name="P${i}S"><br> Serpentine: <input type="checkbox" name="P${i}S"><br>
Dimensions (WxH): <input id="P${i}W" name="P${i}W" type="number" min="1" max="128" value="8"> x <input id="P${i}H" name="P${i}H" type="number" min="1" max="128" value="8"><br> Dimensions (WxH): <input id="P${i}W" name="P${i}W" type="number" min="1" max="128" value="${pw}"> x <input id="P${i}H" name="P${i}H" type="number" min="1" max="128" value="${ph}"><br>
Offset X:<input id="P${i}X" name="P${i}X" type="number" min="0" max="256" value="0"> Offset X:<input id="P${i}X" name="P${i}X" type="number" min="0" max="256" value="0">
Y:<input id="P${i}Y" name="P${i}Y" type="number" min="0" max="256" value="0"><br><i>(offset from top-left corner in # LEDs)</i> Y:<input id="P${i}Y" name="P${i}Y" type="number" min="0" max="256" value="0"><br><i>(offset from top-left corner in # LEDs)</i>
</div>`; </div>`;
@ -96,22 +95,21 @@ Y:<input id="P${i}Y" name="P${i}Y" type="number" min="0" max="256" value="0"><br
function resetPanels() { function resetPanels() {
d.Sf.MPC.value = 1; d.Sf.MPC.value = 1;
for (let e of gId("panels").children) e.remove(); let e = gId("panels").children
for (let e of gId("panels").children) e.remove(); // to remove any leftovers for (let i = e.length; i>0; i--) e[i-1].remove();
} }
/*
function btnPanel(i) { function btnPanel(i) {
gId("pnl_add").style.display = (i<maxPanels) ? "inline":"none"; gId("pnl_add").style.display = (i<maxPanels) ? "inline":"none";
gId("pnl_rem").style.display = (i>1) ? "inline":"none"; gId("pnl_rem").style.display = (i>1) ? "inline":"none";
} }
*/
function gen() { function gen() {
resetPanels(); resetPanels();
var pansH = parseInt(d.Sf.MPH.value); var pansH = parseInt(d.Sf.MPH.value);
var pansV = parseInt(d.Sf.MPV.value); var pansV = parseInt(d.Sf.MPV.value);
var c = pansH*pansV; var c = pansH*pansV;
//maxPanels = c;
d.Sf.MPC.value = c; // number of panels d.Sf.MPC.value = c; // number of panels
var ps = d.Sf.PS.checked; var ps = d.Sf.PS.checked;
@ -136,7 +134,6 @@ Y:<input id="P${i}Y" name="P${i}Y" type="number" min="0" max="256" value="0"><br
} }
} }
} }
</script> </script>
<style>@import url("style.css");</style> <style>@import url("style.css");</style>
</head> </head>
@ -156,8 +153,8 @@ Y:<input id="P${i}Y" name="P${i}Y" type="number" min="0" max="256" value="0"><br
<hr class="sml"> <hr class="sml">
<h3>Matrix Generator</h3> <h3>Matrix Generator</h3>
Panel dimensions (WxH): <input name="PW" type="number" min="1" max="128" value="8"> x <input name="PH" type="number" min="1" max="128" value="8"><br> Panel dimensions (WxH): <input name="PW" type="number" min="1" max="128" value="8"> x <input name="PH" type="number" min="1" max="128" value="8"><br>
Horizontal panels: <input name="MPH" type="number" min="1" max="8" value="1" oninput="UI()"> Horizontal panels: <input name="MPH" type="number" min="1" max="8" value="1">
Vertical panels: <input name="MPV" type="number" min="1" max="8" value="1" oninput="UI()"><br> Vertical panels: <input name="MPV" type="number" min="1" max="8" value="1"><br>
1<sup>st</sup> panel: <select name="PB"> 1<sup>st</sup> panel: <select name="PB">
<option value="0">Top</option> <option value="0">Top</option>
<option value="1">Bottom</option> <option value="1">Bottom</option>
@ -174,7 +171,7 @@ Y:<input id="P${i}Y" name="P${i}Y" type="number" min="0" max="256" value="0"><br
<button type="button" onclick="gen()">Populate</button> <button type="button" onclick="gen()">Populate</button>
<hr class="sml"> <hr class="sml">
<h3>Panel set-up</h3> <h3>Panel set-up</h3>
Number of panels: <input name="MPC" type="number" min="1" max="64" value="1" oninput="UI(parseInt(this.value))"><br> Number of panels: <input name="MPC" type="number" min="1" max="64" value="1" oninput="addPanels()"><br>
<i>A matrix is made of 1 or more physical LED panels.<br> <i>A matrix is made of 1 or more physical LED panels.<br>
<!--Panels should be arranged from top-left to bottom-right order, starting with lower panel number on the left (or top if transposed).<br>--> <!--Panels should be arranged from top-left to bottom-right order, starting with lower panel number on the left (or top if transposed).<br>-->
Each panel can be of different size and/or have different LED orientation and/or starting point and/or layout.</i><br> Each panel can be of different size and/or have different LED orientation and/or starting point and/or layout.</i><br>

View File

@ -8,7 +8,7 @@
// Autogenerated from wled00/data/style.css, do not edit!! // Autogenerated from wled00/data/style.css, do not edit!!
const uint16_t PAGE_settingsCss_length = 847; const uint16_t PAGE_settingsCss_length = 847;
const uint8_t PAGE_settingsCss[] PROGMEM = { const uint8_t PAGE_settingsCss[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x55, 0xc1, 0x8e, 0x9b, 0x30, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x55, 0xc1, 0x8e, 0x9b, 0x30,
0x10, 0xfd, 0x15, 0xaa, 0x68, 0xa5, 0xad, 0x14, 0x10, 0x10, 0xc8, 0xa6, 0x46, 0x95, 0xaa, 0xde, 0x10, 0xfd, 0x15, 0xaa, 0x68, 0xa5, 0xad, 0x14, 0x10, 0x10, 0xc8, 0xa6, 0x46, 0x95, 0xaa, 0xde,
0x7b, 0xab, 0xaa, 0x4a, 0xd5, 0x1e, 0x0c, 0x1e, 0x82, 0x15, 0x63, 0x23, 0xdb, 0x74, 0x49, 0x11, 0x7b, 0xab, 0xaa, 0x4a, 0xd5, 0x1e, 0x0c, 0x1e, 0x82, 0x15, 0x63, 0x23, 0xdb, 0x74, 0x49, 0x11,
0xff, 0x5e, 0xdb, 0xc0, 0x42, 0xb2, 0x68, 0x7b, 0xa9, 0xa2, 0x44, 0xc4, 0x63, 0xc6, 0x6f, 0xde, 0xff, 0x5e, 0xdb, 0xc0, 0x42, 0xb2, 0x68, 0x7b, 0xa9, 0xa2, 0x44, 0xc4, 0x63, 0xc6, 0x6f, 0xde,
@ -67,7 +67,7 @@ const uint8_t PAGE_settingsCss[] PROGMEM = {
// Autogenerated from wled00/data/settings.htm, do not edit!! // Autogenerated from wled00/data/settings.htm, do not edit!!
const uint16_t PAGE_settings_length = 985; const uint16_t PAGE_settings_length = 985;
const uint8_t PAGE_settings[] PROGMEM = { const uint8_t PAGE_settings[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x56, 0x6d, 0x6f, 0xdb, 0x36, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x56, 0x6d, 0x6f, 0xdb, 0x36,
0x10, 0xfe, 0xee, 0x5f, 0xc1, 0xb0, 0x58, 0x23, 0xa1, 0xb2, 0xec, 0x38, 0xc3, 0xb0, 0xc9, 0x96, 0x10, 0xfe, 0xee, 0x5f, 0xc1, 0xb0, 0x58, 0x23, 0xa1, 0xb2, 0xec, 0x38, 0xc3, 0xb0, 0xc9, 0x96,
0x8b, 0x35, 0x2f, 0x9d, 0x87, 0x04, 0x0d, 0x90, 0xa4, 0xdd, 0x80, 0x7d, 0xa1, 0xc9, 0x93, 0xcc, 0x8b, 0x35, 0x2f, 0x9d, 0x87, 0x04, 0x0d, 0x90, 0xa4, 0xdd, 0x80, 0x7d, 0xa1, 0xc9, 0x93, 0xcc,
0x46, 0x22, 0x05, 0xf2, 0xe4, 0xc4, 0x73, 0xf3, 0xdf, 0x77, 0x94, 0x9d, 0xb7, 0x36, 0xd8, 0x8a, 0x46, 0x22, 0x05, 0xf2, 0xe4, 0xc4, 0x73, 0xf3, 0xdf, 0x77, 0x94, 0x9d, 0xb7, 0x36, 0xd8, 0x8a,
@ -135,7 +135,7 @@ const uint8_t PAGE_settings[] PROGMEM = {
// Autogenerated from wled00/data/settings_wifi.htm, do not edit!! // Autogenerated from wled00/data/settings_wifi.htm, do not edit!!
const uint16_t PAGE_settings_wifi_length = 2098; const uint16_t PAGE_settings_wifi_length = 2098;
const uint8_t PAGE_settings_wifi[] PROGMEM = { const uint8_t PAGE_settings_wifi[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xb5, 0x58, 0x6b, 0x6f, 0xdb, 0xca, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xb5, 0x58, 0x6b, 0x6f, 0xdb, 0xca,
0x11, 0xfd, 0xae, 0x5f, 0xb1, 0xde, 0x16, 0x06, 0x09, 0xd3, 0x94, 0x64, 0x35, 0x69, 0x60, 0x8b, 0x11, 0xfd, 0xae, 0x5f, 0xb1, 0xde, 0x16, 0x06, 0x09, 0xd3, 0x94, 0x64, 0x35, 0x69, 0x60, 0x8b,
0x4a, 0xfd, 0xd0, 0x8d, 0xdd, 0x3a, 0x8e, 0x0a, 0x19, 0xd7, 0x28, 0xd2, 0xe0, 0x5e, 0x9a, 0x1c, 0x4a, 0xfd, 0xd0, 0x8d, 0xdd, 0x3a, 0x8e, 0x0a, 0x19, 0xd7, 0x28, 0xd2, 0xe0, 0x5e, 0x9a, 0x1c,
0x49, 0x1b, 0x93, 0xbb, 0xbc, 0xdc, 0xa5, 0x64, 0xc3, 0xd6, 0x7f, 0xef, 0xcc, 0x2e, 0xf5, 0xb4, 0x49, 0x1b, 0x93, 0xbb, 0xbc, 0xdc, 0xa5, 0x64, 0xc3, 0xd6, 0x7f, 0xef, 0xcc, 0x2e, 0xf5, 0xb4,
@ -273,7 +273,7 @@ const uint8_t PAGE_settings_wifi[] PROGMEM = {
// Autogenerated from wled00/data/settings_leds.htm, do not edit!! // Autogenerated from wled00/data/settings_leds.htm, do not edit!!
const uint16_t PAGE_settings_leds_length = 7445; const uint16_t PAGE_settings_leds_length = 7445;
const uint8_t PAGE_settings_leds[] PROGMEM = { const uint8_t PAGE_settings_leds[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xdd, 0x3c, 0xdb, 0x76, 0xe2, 0x48, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xdd, 0x3c, 0xdb, 0x76, 0xe2, 0x48,
0x92, 0xef, 0x7c, 0x45, 0x3a, 0xbb, 0xc7, 0x25, 0x0d, 0x32, 0x48, 0x5c, 0xaa, 0x5d, 0x80, 0xf0, 0x92, 0xef, 0x7c, 0x45, 0x3a, 0xbb, 0xc7, 0x25, 0x0d, 0x32, 0x48, 0x5c, 0xaa, 0x5d, 0x80, 0xf0,
0x1a, 0xbb, 0xaa, 0xda, 0x33, 0x76, 0xdb, 0xc7, 0xb8, 0xbb, 0x66, 0x4e, 0x75, 0x9d, 0x2a, 0x21, 0x1a, 0xbb, 0xaa, 0xda, 0x33, 0x76, 0xdb, 0xc7, 0xb8, 0xbb, 0x66, 0x4e, 0x75, 0x9d, 0x2a, 0x21,
0x12, 0x50, 0x59, 0x48, 0x8c, 0x24, 0x6c, 0xb3, 0x36, 0xfb, 0x4d, 0xfb, 0x0d, 0xfb, 0x65, 0x1b, 0x12, 0x50, 0x59, 0x48, 0x8c, 0x24, 0x6c, 0xb3, 0x36, 0xfb, 0x4d, 0xfb, 0x0d, 0xfb, 0x65, 0x1b,
@ -745,7 +745,7 @@ const uint8_t PAGE_settings_leds[] PROGMEM = {
// Autogenerated from wled00/data/settings_dmx.htm, do not edit!! // Autogenerated from wled00/data/settings_dmx.htm, do not edit!!
const uint16_t PAGE_settings_dmx_length = 1612; const uint16_t PAGE_settings_dmx_length = 1612;
const uint8_t PAGE_settings_dmx[] PROGMEM = { const uint8_t PAGE_settings_dmx[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x95, 0x57, 0xdb, 0x72, 0xdb, 0x36, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x95, 0x57, 0xdb, 0x72, 0xdb, 0x36,
0x10, 0x7d, 0xd7, 0x57, 0x20, 0x78, 0x88, 0xc9, 0x31, 0x43, 0x4a, 0x4e, 0x95, 0x36, 0x32, 0x49, 0x10, 0x7d, 0xd7, 0x57, 0x20, 0x78, 0x88, 0xc9, 0x31, 0x43, 0x4a, 0x4e, 0x95, 0x36, 0x32, 0x49,
0x37, 0x56, 0x5c, 0xdb, 0x1d, 0xdb, 0xf5, 0x44, 0x49, 0xd3, 0x4e, 0xd3, 0xe9, 0x40, 0xe4, 0x4a, 0x37, 0x56, 0x5c, 0xdb, 0x1d, 0xdb, 0xf5, 0x44, 0x49, 0xd3, 0x4e, 0xd3, 0xe9, 0x40, 0xe4, 0x4a,
0x44, 0x4c, 0x02, 0x2c, 0x00, 0x4a, 0x76, 0x2e, 0xff, 0xde, 0x05, 0x48, 0x5d, 0xec, 0xd8, 0x69, 0x44, 0x4c, 0x02, 0x2c, 0x00, 0x4a, 0x76, 0x2e, 0xff, 0xde, 0x05, 0x48, 0x5d, 0xec, 0xd8, 0x69,
@ -852,7 +852,7 @@ const uint8_t PAGE_settings_dmx[] PROGMEM = {
// Autogenerated from wled00/data/settings_ui.htm, do not edit!! // Autogenerated from wled00/data/settings_ui.htm, do not edit!!
const uint16_t PAGE_settings_ui_length = 3181; const uint16_t PAGE_settings_ui_length = 3181;
const uint8_t PAGE_settings_ui[] PROGMEM = { const uint8_t PAGE_settings_ui[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x59, 0x6d, 0x77, 0xda, 0x38, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x59, 0x6d, 0x77, 0xda, 0x38,
0x16, 0xfe, 0xce, 0xaf, 0x50, 0xd5, 0x39, 0x19, 0x38, 0x71, 0x81, 0xb4, 0xb3, 0x67, 0x5b, 0xc0, 0x16, 0xfe, 0xce, 0xaf, 0x50, 0xd5, 0x39, 0x19, 0x38, 0x71, 0x81, 0xb4, 0xb3, 0x67, 0x5b, 0xc0,
0x64, 0x9b, 0x34, 0xd3, 0x66, 0x4e, 0x3a, 0xed, 0x96, 0x74, 0x3b, 0x73, 0xba, 0x3d, 0x19, 0x63, 0x64, 0x9b, 0x34, 0xd3, 0x66, 0x4e, 0x3a, 0xed, 0x96, 0x74, 0x3b, 0x73, 0xba, 0x3d, 0x19, 0x63,
0x0b, 0x50, 0x63, 0x5b, 0x1e, 0x4b, 0x0e, 0xc9, 0x52, 0xfe, 0xfb, 0x3e, 0x57, 0xb2, 0xc1, 0x90, 0x0b, 0x50, 0x63, 0x5b, 0x1e, 0x4b, 0x0e, 0xc9, 0x52, 0xfe, 0xfb, 0x3e, 0x57, 0xb2, 0xc1, 0x90,
@ -1057,7 +1057,7 @@ const uint8_t PAGE_settings_ui[] PROGMEM = {
// Autogenerated from wled00/data/settings_sync.htm, do not edit!! // Autogenerated from wled00/data/settings_sync.htm, do not edit!!
const uint16_t PAGE_settings_sync_length = 3345; const uint16_t PAGE_settings_sync_length = 3345;
const uint8_t PAGE_settings_sync[] PROGMEM = { const uint8_t PAGE_settings_sync[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x5a, 0xeb, 0x73, 0xe2, 0x38, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x5a, 0xeb, 0x73, 0xe2, 0x38,
0x12, 0xff, 0xee, 0xbf, 0x42, 0xe3, 0xad, 0x9a, 0x83, 0x0d, 0x01, 0x13, 0x42, 0x26, 0x93, 0x60, 0x12, 0xff, 0xee, 0xbf, 0x42, 0xe3, 0xad, 0x9a, 0x83, 0x0d, 0x01, 0x13, 0x42, 0x26, 0x93, 0x60,
0xcf, 0x85, 0x90, 0x49, 0xb8, 0x9d, 0x24, 0x0c, 0x24, 0xfb, 0xa8, 0xba, 0xaa, 0x2d, 0x61, 0x0b, 0xcf, 0x85, 0x90, 0x49, 0xb8, 0x9d, 0x24, 0x0c, 0x24, 0xfb, 0xa8, 0xba, 0xaa, 0x2d, 0x61, 0x0b,
0x70, 0x62, 0x5b, 0x5e, 0x4b, 0xce, 0xa3, 0x66, 0xe7, 0x7f, 0xbf, 0x6e, 0xc9, 0x36, 0xe0, 0xf0, 0x70, 0x62, 0x5b, 0x5e, 0x4b, 0xce, 0xa3, 0x66, 0xe7, 0x7f, 0xbf, 0x6e, 0xc9, 0x36, 0xe0, 0xf0,
@ -1273,7 +1273,7 @@ const uint8_t PAGE_settings_sync[] PROGMEM = {
// Autogenerated from wled00/data/settings_time.htm, do not edit!! // Autogenerated from wled00/data/settings_time.htm, do not edit!!
const uint16_t PAGE_settings_time_length = 3313; const uint16_t PAGE_settings_time_length = 3313;
const uint8_t PAGE_settings_time[] PROGMEM = { const uint8_t PAGE_settings_time[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xd5, 0x1a, 0x6b, 0x57, 0xdb, 0x38, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xd5, 0x1a, 0x6b, 0x57, 0xdb, 0x38,
0xf6, 0x7b, 0x7e, 0x85, 0x50, 0x7b, 0x98, 0x78, 0x70, 0x9e, 0x90, 0x16, 0x92, 0xd8, 0xdd, 0x10, 0xf6, 0x7b, 0x7e, 0x85, 0x50, 0x7b, 0x98, 0x78, 0x70, 0x9e, 0x90, 0x16, 0x92, 0xd8, 0xdd, 0x10,
0xd2, 0x42, 0x4b, 0x02, 0x67, 0x92, 0x0e, 0xbb, 0xd3, 0xf6, 0x4c, 0x15, 0x5b, 0x49, 0x0c, 0x8e, 0xd2, 0x42, 0x4b, 0x02, 0x67, 0x92, 0x0e, 0xbb, 0xd3, 0xf6, 0x4c, 0x15, 0x5b, 0x49, 0x0c, 0x8e,
0xe4, 0xb5, 0x65, 0x02, 0x4b, 0xf9, 0xef, 0x7b, 0x25, 0x39, 0xce, 0xd3, 0xd0, 0x76, 0x66, 0x3f, 0xe4, 0xb5, 0x65, 0x02, 0x4b, 0xf9, 0xef, 0x7b, 0x25, 0x39, 0xce, 0xd3, 0xd0, 0x76, 0x66, 0x3f,
@ -1487,7 +1487,7 @@ const uint8_t PAGE_settings_time[] PROGMEM = {
// Autogenerated from wled00/data/settings_sec.htm, do not edit!! // Autogenerated from wled00/data/settings_sec.htm, do not edit!!
const uint16_t PAGE_settings_sec_length = 2405; const uint16_t PAGE_settings_sec_length = 2405;
const uint8_t PAGE_settings_sec[] PROGMEM = { const uint8_t PAGE_settings_sec[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xa5, 0x58, 0x6d, 0x53, 0xdb, 0x48, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xa5, 0x58, 0x6d, 0x53, 0xdb, 0x48,
0x12, 0xfe, 0xee, 0x5f, 0x31, 0x4c, 0xaa, 0x58, 0xeb, 0x22, 0x2c, 0x43, 0x72, 0x5b, 0x09, 0x20, 0x12, 0xfe, 0xee, 0x5f, 0x31, 0x4c, 0xaa, 0x58, 0xeb, 0x22, 0x2c, 0x43, 0x72, 0x5b, 0x09, 0x20,
0xe7, 0x20, 0x90, 0x0d, 0x57, 0x10, 0x28, 0x6c, 0x36, 0x77, 0x95, 0x4b, 0xa5, 0xc6, 0xd2, 0xd8, 0xe7, 0x20, 0x90, 0x0d, 0x57, 0x10, 0x28, 0x6c, 0x36, 0x77, 0x95, 0x4b, 0xa5, 0xc6, 0xd2, 0xd8,
0x9a, 0x58, 0xd6, 0x68, 0x67, 0x46, 0x38, 0xbe, 0xec, 0xfe, 0xf7, 0x7b, 0x7a, 0x24, 0xd9, 0x86, 0x9a, 0x58, 0xd6, 0x68, 0x67, 0x46, 0x38, 0xbe, 0xec, 0xfe, 0xf7, 0x7b, 0x7a, 0x24, 0xd9, 0x86,
@ -1644,7 +1644,7 @@ const uint8_t PAGE_settings_sec[] PROGMEM = {
// Autogenerated from wled00/data/settings_um.htm, do not edit!! // Autogenerated from wled00/data/settings_um.htm, do not edit!!
const uint16_t PAGE_settings_um_length = 2748; const uint16_t PAGE_settings_um_length = 2748;
const uint8_t PAGE_settings_um[] PROGMEM = { const uint8_t PAGE_settings_um[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xcd, 0x59, 0x6d, 0x6f, 0xdb, 0x38, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xcd, 0x59, 0x6d, 0x6f, 0xdb, 0x38,
0x12, 0xfe, 0x9e, 0x5f, 0xa1, 0xb0, 0x41, 0x22, 0xc1, 0x8a, 0xec, 0xb4, 0xbb, 0x40, 0xd7, 0xb6, 0x12, 0xfe, 0x9e, 0x5f, 0xa1, 0xb0, 0x41, 0x22, 0xc1, 0x8a, 0xec, 0xb4, 0xbb, 0x40, 0xd7, 0xb6,
0x94, 0x6b, 0xd3, 0xee, 0xd6, 0xd7, 0x97, 0x04, 0x48, 0xbb, 0x8b, 0x43, 0x9a, 0x6b, 0x64, 0x89, 0x94, 0x6b, 0xd3, 0xee, 0xd6, 0xd7, 0x97, 0x04, 0x48, 0xbb, 0x8b, 0x43, 0x9a, 0x6b, 0x64, 0x89,
0xb6, 0xd9, 0xc8, 0xa4, 0x4e, 0xa4, 0xf2, 0x72, 0x8e, 0xff, 0xfb, 0x3d, 0x43, 0x49, 0xb6, 0x9c, 0xb6, 0xd9, 0xc8, 0xa4, 0x4e, 0xa4, 0xf2, 0x72, 0x8e, 0xff, 0xfb, 0x3d, 0x43, 0x49, 0xb6, 0x9c,
@ -1820,144 +1820,141 @@ const uint8_t PAGE_settings_um[] PROGMEM = {
// Autogenerated from wled00/data/settings_2D.htm, do not edit!! // Autogenerated from wled00/data/settings_2D.htm, do not edit!!
const uint16_t PAGE_settings_2D_length = 2053; const uint16_t PAGE_settings_2D_length = 2010;
const uint8_t PAGE_settings_2D[] PROGMEM = { const uint8_t PAGE_settings_2D[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x9d, 0x58, 0x6b, 0x53, 0xdc, 0x38, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x9d, 0x58, 0x5b, 0x73, 0xdb, 0x36,
0x16, 0xfd, 0xee, 0x5f, 0x21, 0x34, 0xbb, 0x29, 0x3b, 0xb8, 0x5f, 0xcc, 0x4c, 0x6a, 0xaa, 0xdb, 0x16, 0x7e, 0xd7, 0xaf, 0x80, 0xd1, 0x6e, 0x86, 0x8c, 0x29, 0x4a, 0x72, 0xdb, 0x4c, 0x46, 0x22,
0x36, 0x1b, 0x1e, 0x3b, 0xb0, 0x05, 0x9b, 0xae, 0x74, 0x16, 0x42, 0x6d, 0xb6, 0x32, 0x6a, 0xfb, 0xe9, 0x8d, 0x2f, 0x5b, 0x79, 0xc7, 0x6e, 0x3c, 0x51, 0xd6, 0x8e, 0x67, 0xb3, 0xd3, 0xc2, 0xe4,
0x1a, 0x2b, 0xd8, 0x92, 0xcb, 0x52, 0xf3, 0x18, 0xc2, 0x7f, 0xdf, 0x2b, 0xd9, 0xed, 0x7e, 0x02, 0xa1, 0x84, 0x98, 0x04, 0x38, 0x04, 0x24, 0xdb, 0x75, 0xfc, 0xdf, 0x7b, 0x00, 0x52, 0x12, 0x75,
0x9b, 0xfd, 0x02, 0x58, 0xba, 0xf7, 0xe8, 0xea, 0x3e, 0x8f, 0x08, 0x76, 0x8e, 0x3e, 0x1c, 0x7e, 0x4b, 0xbc, 0x7d, 0xb1, 0xcd, 0x83, 0x73, 0xc3, 0xb9, 0x7e, 0x70, 0xb0, 0x77, 0xf2, 0xfe, 0xf8,
0xba, 0x1a, 0x1f, 0x93, 0x4c, 0x17, 0x79, 0x14, 0x98, 0x9f, 0x24, 0x67, 0xe2, 0x3a, 0xa4, 0x20, 0xe3, 0xcd, 0xe5, 0x29, 0x99, 0xe8, 0x3c, 0x8b, 0x02, 0xf3, 0x93, 0x64, 0x4c, 0x8c, 0x43, 0x0a,
0x28, 0x7e, 0x03, 0x4b, 0xa2, 0xa0, 0x00, 0xcd, 0x48, 0x9c, 0xb1, 0x4a, 0x81, 0x0e, 0xe9, 0x4c, 0x82, 0xe2, 0x37, 0xb0, 0x24, 0x0a, 0x72, 0xd0, 0x8c, 0xc4, 0x13, 0x56, 0x2a, 0xd0, 0x21, 0x9d,
0xa7, 0x9d, 0xdf, 0x68, 0xb3, 0xea, 0x08, 0x56, 0x40, 0x48, 0x6f, 0x39, 0xdc, 0x95, 0xb2, 0xd2, 0xea, 0xb4, 0xfd, 0x96, 0xd6, 0xd4, 0x96, 0x60, 0x39, 0x84, 0x74, 0xc6, 0xe1, 0xbe, 0x90, 0xa5,
0x94, 0xc4, 0x52, 0x68, 0x10, 0x28, 0x76, 0xc7, 0x13, 0x9d, 0x85, 0xbf, 0xf6, 0xfb, 0xad, 0xe8, 0xa6, 0x24, 0x96, 0x42, 0x83, 0x40, 0xb6, 0x7b, 0x9e, 0xe8, 0x49, 0xf8, 0x4b, 0xb7, 0xbb, 0x60,
0xda, 0x56, 0x02, 0xb7, 0x3c, 0x86, 0x8e, 0xfd, 0xf0, 0xb9, 0xe0, 0x9a, 0xb3, 0xbc, 0xa3, 0x62, 0x5d, 0x3b, 0x4a, 0x60, 0xc6, 0x63, 0x68, 0xdb, 0x0f, 0x8f, 0x0b, 0xae, 0x39, 0xcb, 0xda, 0x2a,
0x96, 0x43, 0x38, 0xf0, 0x0b, 0x76, 0xcf, 0x8b, 0x59, 0xd1, 0x7e, 0xcf, 0x14, 0x54, 0xf6, 0x83, 0x66, 0x19, 0x84, 0x3d, 0x2f, 0x67, 0x0f, 0x3c, 0x9f, 0xe6, 0x8b, 0xef, 0xa9, 0x82, 0xd2, 0x7e,
0x4d, 0xf1, 0x5b, 0x48, 0xba, 0x71, 0x72, 0x14, 0x68, 0xae, 0x73, 0x88, 0xf6, 0x8e, 0xc8, 0x04, 0xb0, 0x5b, 0xfc, 0x16, 0x92, 0x6e, 0x58, 0x8e, 0x02, 0xcd, 0x75, 0x06, 0xd1, 0xc1, 0x09, 0x19,
0x74, 0x67, 0x56, 0x06, 0xbd, 0x7a, 0x21, 0x50, 0x71, 0xc5, 0x4b, 0x1d, 0x39, 0xb7, 0xac, 0x22, 0x81, 0x6e, 0x4f, 0x8b, 0xa0, 0x53, 0x11, 0x02, 0x15, 0x97, 0xbc, 0xd0, 0x51, 0x6b, 0xc6, 0x4a,
0xb9, 0x8c, 0x79, 0xe9, 0x27, 0x61, 0x22, 0xe3, 0x59, 0x81, 0xc6, 0xf8, 0xb8, 0x10, 0xee, 0xd8, 0x92, 0xc9, 0x98, 0x17, 0x5e, 0x12, 0x26, 0x32, 0x9e, 0xe6, 0xe8, 0x8c, 0x87, 0x84, 0x70, 0xcf,
0xf3, 0xc6, 0x4c, 0x40, 0xae, 0xc2, 0x77, 0xbf, 0x8c, 0xd2, 0x99, 0x88, 0x35, 0x97, 0x82, 0x9c, 0xda, 0xbb, 0x64, 0x02, 0x32, 0x15, 0xbe, 0xf9, 0x79, 0x90, 0x4e, 0x45, 0xac, 0xb9, 0x14, 0x64,
0xb8, 0xde, 0xe3, 0x1d, 0x17, 0x89, 0xbc, 0xeb, 0xca, 0x12, 0x84, 0x4b, 0x33, 0xad, 0x4b, 0x35, 0xe8, 0xb8, 0x4f, 0xf7, 0x5c, 0x24, 0xf2, 0xde, 0x97, 0x05, 0x08, 0x87, 0x4e, 0xb4, 0x2e, 0x54,
0xec, 0xf5, 0x6e, 0x84, 0xec, 0xde, 0xe5, 0x90, 0x74, 0xaf, 0xa1, 0x97, 0x02, 0xd3, 0xb3, 0x0a, 0xbf, 0xd3, 0xb9, 0x13, 0xd2, 0xbf, 0xcf, 0x20, 0xf1, 0xc7, 0xd0, 0x49, 0x81, 0xe9, 0x69, 0x09,
0x54, 0x6f, 0xef, 0x88, 0x7a, 0x4f, 0xad, 0xee, 0xc1, 0xba, 0x6e, 0x0f, 0xbd, 0xa7, 0xb9, 0xb8, 0xaa, 0x73, 0x70, 0x42, 0xdd, 0xe7, 0x85, 0xec, 0xd1, 0xba, 0x6c, 0x07, 0xa3, 0xa7, 0xb9, 0x18,
0x56, 0xd4, 0xa7, 0x5f, 0x15, 0xe4, 0xe9, 0xb2, 0xf4, 0xf5, 0x69, 0xe2, 0x82, 0xf7, 0x58, 0x01, 0x2b, 0xea, 0xd1, 0xdf, 0x15, 0x64, 0x69, 0x93, 0x7b, 0x7c, 0x96, 0x38, 0xe0, 0x3e, 0x95, 0x80,
0x42, 0x09, 0x62, 0x70, 0xf5, 0x71, 0x0e, 0xc6, 0xc2, 0x83, 0x07, 0xbb, 0xb5, 0x10, 0xcd, 0x25, 0xaa, 0x04, 0x31, 0x7a, 0xf5, 0x69, 0x06, 0xc6, 0xc3, 0xa3, 0x47, 0x7b, 0xb4, 0x64, 0xcd, 0x24,
0x4b, 0xfe, 0x31, 0x71, 0xc1, 0x17, 0xe1, 0x4e, 0xdf, 0x7b, 0xcc, 0x41, 0x13, 0x1d, 0x26, 0xdd, 0x4b, 0xfe, 0x3d, 0x72, 0xc0, 0x13, 0xe1, 0x5e, 0xd7, 0x7d, 0xca, 0x40, 0x13, 0x1d, 0x26, 0x7e,
0xb8, 0x42, 0x3b, 0xa0, 0x51, 0x72, 0x69, 0x7d, 0x69, 0xea, 0x8d, 0x74, 0x17, 0xcf, 0x7d, 0xaf, 0x5c, 0xa2, 0x1f, 0x50, 0x0b, 0x39, 0xb4, 0xba, 0x34, 0x75, 0x07, 0xda, 0x47, 0xbb, 0xef, 0xb4,
0x75, 0xc5, 0xa7, 0x33, 0x0d, 0xb8, 0x51, 0xc5, 0xd4, 0x07, 0xcf, 0x5f, 0x5f, 0xd7, 0x0f, 0x25, 0x2e, 0xf9, 0xed, 0x54, 0x03, 0x1e, 0x94, 0x31, 0xf5, 0xc0, 0xf5, 0xd6, 0xe9, 0xfa, 0xb1, 0x00,
0xa0, 0x65, 0x1a, 0xee, 0x75, 0xef, 0x1b, 0xbb, 0x65, 0x73, 0x80, 0x0d, 0x41, 0xa6, 0x1e, 0x04, 0xf4, 0x4c, 0xc3, 0x83, 0xee, 0x7c, 0x61, 0x33, 0x36, 0x57, 0xb0, 0xc1, 0xc8, 0xd4, 0xa3, 0x40,
0x42, 0x08, 0xcf, 0x4f, 0xba, 0x53, 0x99, 0x3c, 0x74, 0x59, 0x89, 0xf7, 0x4b, 0x0e, 0x33, 0x9e, 0x15, 0xc2, 0xf5, 0x12, 0xff, 0x56, 0x26, 0x8f, 0x3e, 0x2b, 0xf0, 0x7e, 0xc9, 0xf1, 0x84, 0x67,
0x27, 0xae, 0x36, 0xf2, 0x2c, 0x49, 0x8e, 0x6f, 0xd1, 0x8a, 0x33, 0xae, 0x30, 0xe0, 0x50, 0xb9, 0x89, 0xa3, 0x0d, 0x3f, 0x4b, 0x92, 0xd3, 0x19, 0x7a, 0x71, 0xce, 0x15, 0x26, 0x1c, 0x4a, 0x87,
0xd4, 0xd8, 0x4c, 0x7d, 0xd7, 0x0b, 0xa3, 0xc7, 0xdf, 0x41, 0x5f, 0xb8, 0x9e, 0xff, 0xaf, 0x53, 0x1a, 0x9f, 0xa9, 0xe7, 0xb8, 0x61, 0xf4, 0xf4, 0x2b, 0xe8, 0x2b, 0xc7, 0xf5, 0xfe, 0x73, 0x86,
0xd7, 0x7b, 0xda, 0x2e, 0x0c, 0x55, 0x25, 0x2b, 0xb4, 0x11, 0x85, 0x31, 0x65, 0x94, 0xcc, 0xa1, 0x3f, 0x46, 0xa9, 0x7f, 0x71, 0x79, 0xbc, 0xa6, 0x1f, 0x53, 0x41, 0x97, 0xf9, 0x70, 0x9f, 0xb7,
0x9b, 0xcb, 0x6b, 0x97, 0x1e, 0x9b, 0x75, 0xd2, 0x78, 0x00, 0x1d, 0x49, 0x52, 0x9e, 0x83, 0xbd, 0x6b, 0x84, 0xb2, 0x94, 0x25, 0x5e, 0x04, 0x35, 0x62, 0x5d, 0x29, 0x99, 0x81, 0x9f, 0xc9, 0xb1,
0x0b, 0xe6, 0x48, 0x85, 0x77, 0x3e, 0x6b, 0xd6, 0x65, 0x6a, 0xd2, 0x30, 0xe5, 0xd7, 0xb3, 0x8a, 0x43, 0x4f, 0x0d, 0x9d, 0xd4, 0x61, 0xc2, 0x68, 0x93, 0x94, 0x67, 0x60, 0x2f, 0x8c, 0x85, 0x54,
0x59, 0x97, 0xd5, 0x77, 0x21, 0x29, 0xe3, 0x26, 0x66, 0x5f, 0xc4, 0xa9, 0x88, 0x65, 0x51, 0xa2, 0x62, 0x60, 0xce, 0x6b, 0xba, 0x4c, 0x4d, 0xad, 0xa6, 0x7c, 0x3c, 0x2d, 0x99, 0x8d, 0x6b, 0x75,
0xe7, 0x80, 0x94, 0xec, 0x1a, 0x48, 0xc2, 0x34, 0xdb, 0xc1, 0x70, 0x2c, 0x79, 0x79, 0x82, 0xe1, 0x61, 0x92, 0x32, 0x6e, 0x12, 0xfb, 0x59, 0x9c, 0x89, 0x58, 0xe6, 0x05, 0x86, 0x17, 0x48, 0xc1,
0xa3, 0xe6, 0x80, 0x21, 0x0d, 0xc3, 0x26, 0x8e, 0x98, 0x2b, 0x16, 0xaf, 0x5b, 0x56, 0x52, 0xcb, 0xc6, 0x40, 0x12, 0xa6, 0xd9, 0x1e, 0xe6, 0xac, 0x91, 0x8a, 0x11, 0xe6, 0x98, 0x1a, 0x03, 0x7d,
0x58, 0xe6, 0x6f, 0xde, 0xb8, 0x36, 0x7f, 0xfa, 0xbe, 0x6b, 0x13, 0x2b, 0x34, 0x12, 0xf9, 0x44, 0x1a, 0x86, 0x75, 0xb2, 0xb1, 0xa0, 0xac, 0x3e, 0xbf, 0x28, 0xa5, 0x96, 0xb1, 0xcc, 0x5e, 0xbd,
0xcb, 0x0a, 0x51, 0x4d, 0x0c, 0x4f, 0x35, 0x14, 0xe6, 0xf6, 0xf1, 0x69, 0x49, 0x3d, 0xef, 0xfb, 0x72, 0x6c, 0x91, 0x75, 0x3d, 0xc7, 0x56, 0x5f, 0x68, 0x38, 0xb2, 0x91, 0x96, 0x25, 0x6a, 0x35,
0xf7, 0x46, 0x0c, 0xf5, 0x8b, 0x12, 0x0d, 0xfe, 0x3b, 0xe2, 0x93, 0x73, 0x99, 0x40, 0x97, 0x8c, 0x89, 0x3e, 0xd3, 0x90, 0x9b, 0x10, 0xc5, 0x67, 0x05, 0x75, 0xdd, 0xaf, 0x5f, 0x6b, 0x36, 0x94,
0x73, 0x60, 0x0a, 0x08, 0x3a, 0x02, 0x2a, 0x72, 0x79, 0x76, 0x7c, 0x44, 0x4e, 0xc7, 0x68, 0x92, 0xcf, 0x0b, 0x74, 0xf8, 0x5f, 0xa8, 0x9f, 0x5c, 0xc8, 0x04, 0x7c, 0x72, 0x99, 0x01, 0x53, 0x40,
0xbf, 0x82, 0xa8, 0x56, 0x11, 0x7d, 0x8b, 0xe6, 0x79, 0x46, 0xca, 0xe6, 0x84, 0x81, 0xdf, 0xb7, 0x30, 0x10, 0x50, 0x92, 0xeb, 0xf3, 0xd3, 0x13, 0x72, 0x76, 0x89, 0x2e, 0x79, 0x2b, 0x1a, 0xd5,
0x49, 0x8a, 0x39, 0x4a, 0x77, 0xed, 0xf6, 0x90, 0x52, 0x6f, 0x77, 0x91, 0x7c, 0x3d, 0xd5, 0xfd, 0xaa, 0x46, 0xcf, 0x6a, 0x73, 0x5d, 0xc3, 0x65, 0x0b, 0xc7, 0xa8, 0x3f, 0xb4, 0x95, 0x8c, 0x85,
0xa6, 0xf6, 0xcb, 0x70, 0xd0, 0xa7, 0xfe, 0xce, 0x60, 0xe9, 0xc2, 0x18, 0x10, 0x2c, 0x34, 0xef, 0x4c, 0xf7, 0xed, 0x71, 0x9f, 0x52, 0x77, 0x7f, 0x59, 0xa1, 0x1d, 0xe5, 0x7f, 0x51, 0x87, 0x45,
0x91, 0xa7, 0xae, 0x49, 0x46, 0x5a, 0x94, 0x09, 0xbf, 0xa5, 0x5e, 0x57, 0xe9, 0x07, 0x0c, 0x40, 0xd8, 0xeb, 0x52, 0x6f, 0xaf, 0xd7, 0xb8, 0xb0, 0xc9, 0xda, 0x13, 0x4f, 0x1d, 0xda, 0xc5, 0x0b,
0xc2, 0x55, 0x99, 0xb3, 0x87, 0x90, 0x4e, 0x11, 0xf4, 0x06, 0xf3, 0xa4, 0x8f, 0x6e, 0x09, 0xad, 0x87, 0xa6, 0x68, 0xa9, 0x42, 0x2f, 0xa9, 0xeb, 0xcf, 0x58, 0x36, 0x05, 0xb7, 0xae, 0x5f, 0x7b,
0xa0, 0xc2, 0xbb, 0xa0, 0xdc, 0x2d, 0xcb, 0x67, 0xe0, 0x35, 0x09, 0xfc, 0x12, 0x82, 0x90, 0x02, 0x90, 0x17, 0x09, 0x9f, 0xe1, 0x89, 0xd2, 0x8f, 0x98, 0x9c, 0x84, 0xab, 0x22, 0x63, 0x8f, 0x21,
0xa3, 0x76, 0x2b, 0x79, 0x42, 0xb0, 0x6a, 0x40, 0xd7, 0x75, 0xe7, 0x7a, 0x23, 0x93, 0xc9, 0xa2, 0x15, 0x52, 0x60, 0x3e, 0x66, 0x92, 0x27, 0x04, 0x9b, 0x06, 0x74, 0x95, 0x66, 0xc7, 0x1d, 0x7c,
0xc6, 0x2c, 0xed, 0x1a, 0xea, 0xc6, 0x26, 0xab, 0x2a, 0x10, 0xdd, 0x1c, 0xc4, 0xb5, 0xce, 0x46, 0x4b, 0xe8, 0x16, 0xbd, 0xbc, 0xa3, 0x4b, 0x3f, 0xb0, 0x1e, 0xe6, 0x72, 0xb6, 0x01, 0x20, 0x2c,
0x68, 0x9d, 0x08, 0xc0, 0x4b, 0x65, 0xe5, 0xd6, 0x89, 0x2f, 0x46, 0x3a, 0x80, 0x91, 0xde, 0xdd, 0xcc, 0x74, 0x3a, 0xc3, 0xca, 0x4f, 0xfc, 0xba, 0xaa, 0x2a, 0x8f, 0xb0, 0x4b, 0xac, 0xe2, 0xc2,
0xf5, 0x30, 0x91, 0x2c, 0x14, 0xe6, 0xa0, 0x15, 0x8b, 0xd6, 0xc4, 0x22, 0x14, 0xeb, 0x74, 0xd0, 0xb2, 0xa3, 0xe6, 0xd8, 0xd4, 0x69, 0x09, 0xc2, 0xcf, 0x40, 0x8c, 0xf5, 0x64, 0x80, 0xb7, 0x11,
0xc2, 0xa2, 0x16, 0x5b, 0xba, 0xfb, 0x5c, 0x15, 0xad, 0xb0, 0xf5, 0x04, 0x61, 0x69, 0x9a, 0xdd, 0x01, 0xb8, 0xa9, 0x2c, 0x9d, 0xaa, 0x95, 0xc4, 0x40, 0x07, 0x30, 0xd0, 0xfb, 0xfb, 0xee, 0xdc,
0x29, 0x16, 0x52, 0xd2, 0x9d, 0xa4, 0xdd, 0xf3, 0xf1, 0x61, 0x73, 0xbf, 0xd1, 0x1c, 0x52, 0x84, 0x0a, 0x56, 0xb5, 0x65, 0x8b, 0xd6, 0xd8, 0x22, 0x64, 0x6b, 0xb7, 0xf1, 0xd2, 0x79, 0xc5, 0xe6,
0xfd, 0x11, 0x5a, 0x32, 0x12, 0xcb, 0x27, 0x8b, 0x2d, 0x98, 0xe8, 0xd5, 0xa6, 0x4a, 0xd7, 0xee, 0x6e, 0x3a, 0xe8, 0x40, 0x58, 0xf7, 0xe8, 0x9a, 0x1f, 0x56, 0xe1, 0xba, 0x33, 0x51, 0xb8, 0xac,
0x66, 0x8d, 0x5c, 0xbf, 0x60, 0x14, 0xb6, 0x9d, 0xa8, 0xf1, 0xe5, 0xa8, 0xbe, 0xc0, 0x1f, 0x01, 0xfb, 0x2a, 0x94, 0x83, 0xca, 0xd8, 0x1f, 0x01, 0x86, 0x85, 0xf0, 0x24, 0xa4, 0x85, 0xc8, 0x7e,
0x3a, 0x93, 0xf0, 0x24, 0xa4, 0xa5, 0xc8, 0xff, 0xf2, 0x08, 0x4f, 0xa6, 0x3b, 0x57, 0x24, 0xce, 0x7c, 0x82, 0x67, 0x33, 0x9b, 0x4b, 0x12, 0x67, 0x4c, 0xa9, 0x90, 0xaa, 0x3c, 0xa3, 0x91, 0x15,
0x99, 0x52, 0x21, 0x55, 0x45, 0x4e, 0x23, 0xab, 0x46, 0xcc, 0x5e, 0x30, 0xad, 0xa2, 0x2f, 0x62, 0x23, 0xe6, 0x2c, 0xb8, 0x2d, 0xa3, 0xcf, 0xa2, 0x17, 0xa8, 0x69, 0x11, 0x29, 0x1d, 0x74, 0xcc,
0x10, 0xa8, 0x59, 0x19, 0x29, 0x1d, 0xf4, 0xcc, 0x6f, 0x82, 0x39, 0x35, 0x24, 0x01, 0x36, 0x1e, 0x6f, 0x82, 0xc5, 0xd2, 0x27, 0x01, 0x8e, 0x1d, 0x88, 0xd1, 0x17, 0x3b, 0x3a, 0x2f, 0x0d, 0xf3,
0x88, 0xd1, 0x16, 0xdb, 0x3c, 0xc7, 0x46, 0xf8, 0x80, 0xa2, 0xec, 0x17, 0x1d, 0xc8, 0xd2, 0xda, 0x11, 0x45, 0xde, 0xcf, 0x3a, 0x90, 0x85, 0xf5, 0xdb, 0x06, 0x2d, 0xc4, 0xf4, 0x46, 0x1f, 0x25,
0x6d, 0xef, 0x19, 0x62, 0x7c, 0xa3, 0x4f, 0x12, 0x7b, 0x68, 0xbd, 0xba, 0x4d, 0x62, 0x40, 0xa3, 0x4e, 0xd0, 0x8a, 0xba, 0x8d, 0xa3, 0x47, 0xa3, 0x23, 0xa9, 0xb5, 0xcc, 0x1b, 0x4c, 0x68, 0xca,
0x03, 0xa9, 0xb5, 0x2c, 0x96, 0x84, 0xf0, 0x28, 0x8b, 0x1f, 0x6d, 0x39, 0xe7, 0xe3, 0x73, 0xe7, 0xea, 0x8f, 0xb6, 0xd8, 0xf9, 0xb0, 0xcb, 0xce, 0x39, 0xa4, 0xfa, 0x3b, 0x86, 0x3e, 0xf0, 0xf1,
0x9c, 0x41, 0xaa, 0x5f, 0x39, 0xe8, 0x23, 0xbf, 0xce, 0xf4, 0xd6, 0x73, 0xec, 0x4d, 0x3f, 0x54, 0x44, 0x6f, 0xb5, 0x63, 0x6f, 0xfa, 0xbe, 0xe4, 0xd8, 0x11, 0xb6, 0xe9, 0xb6, 0x5e, 0xf1, 0x6a,
0x1c, 0x0b, 0xc7, 0xd6, 0xe6, 0xd6, 0x2b, 0x5e, 0x3c, 0x77, 0xf4, 0x89, 0xac, 0xf8, 0x9f, 0x38, 0x97, 0xe9, 0xa1, 0x2c, 0xf9, 0x9f, 0xb8, 0x94, 0x58, 0xf6, 0x1d, 0x07, 0xae, 0x70, 0x72, 0xf0,
0x96, 0x58, 0xfe, 0x8a, 0x01, 0x17, 0xd8, 0x60, 0x78, 0xbc, 0x22, 0xb6, 0x66, 0xc3, 0x04, 0x2a, 0x78, 0x85, 0x6d, 0xcd, 0x87, 0x11, 0x94, 0x38, 0x04, 0xb1, 0x79, 0x00, 0x5d, 0xe0, 0xa2, 0x98,
0x6c, 0x83, 0x58, 0x63, 0x80, 0x26, 0x70, 0x51, 0xce, 0x30, 0x6a, 0xd8, 0x52, 0x43, 0x1a, 0x67, 0x62, 0xd6, 0x70, 0xa0, 0x86, 0x34, 0x9e, 0x40, 0x7c, 0x77, 0x2b, 0x1f, 0x68, 0xd3, 0xa3, 0x11,
0x10, 0xdf, 0x4c, 0xe5, 0x3d, 0x5d, 0xb6, 0x68, 0x42, 0x1b, 0xb5, 0x23, 0x8e, 0xfd, 0x5a, 0x21, 0xad, 0xc5, 0x4e, 0x38, 0x4e, 0x6b, 0x85, 0x1a, 0x15, 0x71, 0xae, 0x1f, 0x86, 0xee, 0x42, 0xd8,
0xa2, 0x22, 0xee, 0xe5, 0xfd, 0x89, 0xd7, 0x2a, 0x9b, 0x50, 0x5b, 0xd1, 0xcb, 0x15, 0x45, 0xfc, 0xa4, 0xda, 0xb2, 0x5e, 0xaf, 0x08, 0xe2, 0x57, 0xa5, 0x56, 0x4c, 0xf3, 0x5b, 0x28, 0x29, 0xc9,
0xaa, 0x61, 0xc5, 0xac, 0x98, 0x42, 0x45, 0x49, 0xc1, 0x85, 0xb1, 0x90, 0x60, 0xde, 0xe0, 0xef, 0xb9, 0x30, 0x1e, 0x12, 0xac, 0x1b, 0xfc, 0x7d, 0xf0, 0x96, 0xce, 0xbd, 0xfe, 0xf1, 0x69, 0xb5,
0xbd, 0xdf, 0xe8, 0xdc, 0x6a, 0x9c, 0xd1, 0xe4, 0x7e, 0x03, 0xed, 0x64, 0x05, 0xed, 0xe4, 0x47, 0x23, 0x2e, 0xaf, 0xeb, 0x86, 0xc0, 0xd2, 0x21, 0x0f, 0x1b, 0x66, 0x86, 0x2b, 0x66, 0x86, 0x7f,
0xd0, 0x1a, 0x5f, 0xa7, 0x29, 0x16, 0x2d, 0xf9, 0x3c, 0x5c, 0x47, 0xfe, 0xbc, 0x82, 0xfc, 0x79, 0xdf, 0xcc, 0x70, 0x69, 0xa6, 0xce, 0x4e, 0x9a, 0x62, 0x97, 0x93, 0x4f, 0xfd, 0x75, 0x93, 0x9f,
0x2b, 0x72, 0xbf, 0x41, 0xde, 0xfb, 0xf5, 0x1d, 0x5d, 0x0a, 0xc3, 0x17, 0x71, 0xb5, 0x01, 0x77, 0x56, 0x4c, 0x7e, 0xda, 0x6a, 0xb2, 0x5b, 0x9b, 0x3c, 0xf8, 0xe5, 0x0d, 0x6d, 0x24, 0xee, 0xb3,
0xb5, 0x02, 0x77, 0xf5, 0x23, 0x70, 0xc6, 0xd0, 0x80, 0x47, 0xae, 0xac, 0x4d, 0x4d, 0xb1, 0xdb, 0xb8, 0xd9, 0x50, 0x77, 0xb3, 0xa2, 0xee, 0xe6, 0xff, 0x51, 0x67, 0x1c, 0x0d, 0x78, 0xe4, 0xc8,
0x12, 0x2d, 0xcb, 0x4e, 0x8e, 0x89, 0x86, 0x93, 0xa1, 0xc2, 0x29, 0x43, 0xb8, 0x20, 0x3f, 0x99, 0xca, 0xd5, 0x14, 0x07, 0x2f, 0xd1, 0xb2, 0x68, 0x67, 0x58, 0x9a, 0xb8, 0x24, 0x4a, 0x5c, 0x38,
0x92, 0x50, 0x5e, 0xd0, 0xe3, 0x36, 0x9a, 0x58, 0x5f, 0xd1, 0x1f, 0x23, 0xd1, 0xe5, 0x02, 0xb9, 0x84, 0x0b, 0xf2, 0x83, 0x69, 0x22, 0xe5, 0x06, 0x1d, 0x6e, 0xf3, 0x8f, 0x1d, 0x19, 0xfd, 0x31,
0x86, 0x7e, 0x9f, 0x7c, 0x63, 0x31, 0xc6, 0xf3, 0xe4, 0xd3, 0xf9, 0x99, 0x4b, 0xa7, 0x80, 0x75, 0x10, 0x3e, 0x17, 0x88, 0x4d, 0xf4, 0xbb, 0xe4, 0x0b, 0x8b, 0xb1, 0x02, 0x86, 0x1f, 0x2f, 0xce,
0x0f, 0x38, 0xe5, 0xa8, 0xaf, 0x97, 0x6a, 0x7c, 0xd1, 0x4b, 0x9a, 0xb6, 0xb1, 0xbd, 0x79, 0x8d, 0x1d, 0x7a, 0x0b, 0x38, 0x28, 0x00, 0xb7, 0x22, 0xf5, 0x74, 0x63, 0x2a, 0x2c, 0x27, 0x45, 0x3d,
0x0c, 0xf3, 0x10, 0x21, 0xcc, 0x9b, 0x98, 0x08, 0xc2, 0xc1, 0xf7, 0xef, 0xf0, 0x6f, 0xd1, 0x19, 0xb5, 0xb6, 0x8f, 0xa6, 0x81, 0x41, 0x2a, 0x22, 0x84, 0xf9, 0x88, 0x12, 0x41, 0xd8, 0xfb, 0xfa,
0xfc, 0xa7, 0x8b, 0x18, 0xf2, 0x16, 0xdc, 0x15, 0xd4, 0xa5, 0xae, 0xf8, 0xb8, 0xda, 0x80, 0xc2, 0x15, 0xfe, 0x2b, 0xda, 0xbd, 0xff, 0xf9, 0xa8, 0x43, 0xce, 0xc0, 0x59, 0xd1, 0xda, 0x18, 0xa3,
0x41, 0xdb, 0x81, 0xc0, 0xcc, 0xb9, 0xed, 0x07, 0x7a, 0xd0, 0xc2, 0xfe, 0xa0, 0xf8, 0xc2, 0x8a, 0x4f, 0xab, 0xf3, 0x2f, 0xec, 0x0d, 0xbe, 0x69, 0x69, 0x3e, 0xcf, 0x9a, 0xd6, 0xa2, 0xee, 0x40,
0xa9, 0x16, 0x4d, 0xff, 0xf2, 0x1e, 0x6b, 0x35, 0x91, 0x7f, 0xc5, 0xa6, 0xb6, 0xd1, 0xd0, 0x21, 0xe0, 0x58, 0xdb, 0x69, 0x6f, 0x8c, 0x68, 0xc6, 0x40, 0x95, 0xe6, 0xf0, 0x36, 0x1e, 0x6f, 0x0e,
0x68, 0x5b, 0xd6, 0x3e, 0xe5, 0x22, 0xc7, 0x0a, 0xa0, 0xc3, 0xa6, 0xcb, 0xb7, 0x8a, 0x88, 0xbf, 0xe1, 0xe1, 0x72, 0x08, 0xaf, 0x1f, 0x5d, 0xcd, 0x8f, 0x74, 0x08, 0xaf, 0xc5, 0x60, 0xcd, 0x6b,
0xa9, 0x18, 0x0d, 0xd6, 0x15, 0x96, 0x08, 0x11, 0x52, 0x26, 0xc3, 0x87, 0x96, 0x07, 0x84, 0x71, 0x6d, 0x15, 0x66, 0x61, 0x55, 0x53, 0x23, 0xdf, 0x76, 0x11, 0x24, 0x1e, 0x33, 0x55, 0x88, 0x9b,
0xe3, 0x66, 0x6b, 0x3e, 0x69, 0x5a, 0x33, 0xf2, 0xa1, 0xf5, 0xad, 0x8b, 0xf9, 0x96, 0x0e, 0xe1, 0xa7, 0xa2, 0xd7, 0x3a, 0x3c, 0xb9, 0x42, 0x3d, 0xaa, 0xa9, 0x7c, 0x85, 0xfa, 0xa1, 0xa6, 0x96,
0xad, 0x18, 0xad, 0xb9, 0x52, 0x5b, 0xc0, 0x3c, 0xb4, 0xcb, 0xe3, 0x49, 0xd7, 0x16, 0x2a, 0x24, 0xe1, 0x8e, 0xbe, 0xf0, 0x54, 0xb8, 0xa3, 0x94, 0xbd, 0x22, 0x64, 0x87, 0xa2, 0x0f, 0xde, 0x14,
0x3e, 0x33, 0x15, 0x80, 0xd3, 0xad, 0x5e, 0x6f, 0x30, 0x7c, 0xb9, 0xb2, 0x7a, 0xd0, 0xac, 0xf2, 0x7f, 0x43, 0x7f, 0x19, 0x34, 0x9c, 0xed, 0x78, 0xb3, 0xee, 0x00, 0x82, 0xe9, 0x00, 0x70, 0x5f,
0x95, 0xd5, 0x8f, 0xcd, 0x6a, 0xb5, 0x66, 0xc9, 0xf8, 0x72, 0x6e, 0x48, 0xb9, 0xbe, 0xd3, 0x5a, 0x2c, 0x97, 0x43, 0x17, 0x77, 0x48, 0x61, 0x76, 0x88, 0x27, 0x90, 0xfe, 0x04, 0xaf, 0x75, 0xb0,
0xaf, 0x42, 0xb6, 0x2f, 0x86, 0xe0, 0xcf, 0xf0, 0x37, 0x0c, 0xc5, 0x22, 0x6e, 0x61, 0xdf, 0x37, 0x98, 0xec, 0xaf, 0x5e, 0x2d, 0x96, 0x83, 0xa8, 0x02, 0x17, 0x87, 0x0e, 0x3b, 0xe4, 0x7d, 0xe9,
0xc3, 0x06, 0x82, 0xd9, 0x08, 0x70, 0xd8, 0x2c, 0x66, 0x5a, 0x1f, 0x47, 0x9f, 0x32, 0xa3, 0xcf, 0x1e, 0x4e, 0xdb, 0xd0, 0xee, 0xa1, 0xa5, 0xd4, 0x50, 0x64, 0x9f, 0xbb, 0x87, 0x45, 0x5b, 0x23,
0x37, 0x43, 0xe8, 0x11, 0xde, 0xea, 0x45, 0x24, 0xde, 0xbc, 0x59, 0x1a, 0x4a, 0xf6, 0x9e, 0x71, 0x45, 0x0f, 0xd2, 0x10, 0x81, 0x04, 0xfc, 0xe3, 0x00, 0x09, 0x29, 0x12, 0x52, 0xcf, 0x26, 0xf4,
0xe8, 0xb2, 0x7d, 0x3e, 0x94, 0xde, 0xfe, 0xac, 0x03, 0x9d, 0x01, 0x9e, 0x94, 0x9a, 0x15, 0x39, 0x92, 0xee, 0x8b, 0x7d, 0xfa, 0x69, 0xbe, 0x7f, 0x8d, 0x54, 0xdc, 0x4f, 0xdd, 0xd7, 0x65, 0xf3,
0xe4, 0xde, 0xbe, 0xea, 0x68, 0x5c, 0xd1, 0xa3, 0x34, 0x44, 0x4a, 0x03, 0x7f, 0xdd, 0xc3, 0x85, 0xf8, 0xa6, 0x79, 0x9c, 0xf6, 0x63, 0xf7, 0xb5, 0x6a, 0x1e, 0x5f, 0x2f, 0x8e, 0x57, 0xa4, 0x86,
0x14, 0x17, 0xd2, 0x3a, 0x7e, 0x63, 0xba, 0x2b, 0x76, 0xe9, 0xe7, 0xf9, 0x8c, 0x37, 0x5a, 0xf1, 0x0b, 0xb2, 0x7a, 0x7e, 0x6e, 0xe1, 0xb8, 0xab, 0x50, 0x74, 0x60, 0x37, 0x73, 0xf4, 0x4f, 0x9e,
0x30, 0xf5, 0xde, 0x56, 0xcb, 0xdb, 0x57, 0xcb, 0xdb, 0xe9, 0x30, 0xf6, 0xde, 0x96, 0xcb, 0xdb, 0x1b, 0xd4, 0x4d, 0xa6, 0x65, 0x86, 0x10, 0xc0, 0x2e, 0xeb, 0x58, 0x99, 0xb5, 0x86, 0x8c, 0x96,
0x97, 0xed, 0xf6, 0x8a, 0xd6, 0x49, 0xbb, 0x5c, 0x3e, 0x3d, 0x39, 0xd8, 0x51, 0x6b, 0xaa, 0x1e, 0x21, 0xe8, 0x54, 0x6f, 0x07, 0x83, 0x10, 0x11, 0x8e, 0x19, 0xec, 0x11, 0x52, 0xc4, 0x4b, 0xd8,
0xd8, 0x44, 0x89, 0xfe, 0xc6, 0x0b, 0x43, 0xed, 0xc9, 0xac, 0xca, 0x91, 0x66, 0xd8, 0xdc, 0x89, 0x6d, 0x18, 0xa6, 0xbc, 0x65, 0x1b, 0xd7, 0xfc, 0xf5, 0xbb, 0x9a, 0x37, 0xee, 0x28, 0xc5, 0xf6,
0x95, 0x99, 0x9c, 0x28, 0x68, 0x05, 0x82, 0x5e, 0xfd, 0x40, 0x31, 0x34, 0x14, 0x89, 0xa1, 0x61, 0x04, 0x3d, 0x91, 0x66, 0xcd, 0x49, 0x65, 0x20, 0xbd, 0xd9, 0x7a, 0xf5, 0x92, 0xc3, 0x86, 0x2c,
0x41, 0x21, 0x45, 0xe6, 0x86, 0x2d, 0x00, 0xdd, 0x54, 0x38, 0xb6, 0x9b, 0x98, 0xbf, 0xbe, 0xaa, 0xe5, 0xfd, 0x2a, 0x6d, 0x02, 0x59, 0x81, 0x0b, 0xac, 0x15, 0x20, 0x72, 0xd4, 0x58, 0x99, 0x55,
0x79, 0x37, 0x99, 0xa4, 0xd8, 0x33, 0x40, 0x67, 0xd2, 0x4c, 0x52, 0xa9, 0xcc, 0xbb, 0xc1, 0x0c, 0xcb, 0x57, 0x1f, 0x14, 0xad, 0xc6, 0x19, 0x8f, 0xef, 0x42, 0x3a, 0x34, 0x66, 0x0f, 0x83, 0x4e,
0xd6, 0x66, 0x8e, 0x62, 0x97, 0xa8, 0xe4, 0xdd, 0xea, 0x5a, 0x06, 0x79, 0x89, 0x33, 0xd2, 0x09, 0x75, 0x10, 0x55, 0xad, 0xbb, 0x5d, 0xa6, 0xb5, 0x10, 0x3a, 0x32, 0x42, 0x47, 0x2c, 0xbe, 0x5b,
0x90, 0xfe, 0x6a, 0xcc, 0xcc, 0xba, 0x0f, 0xd5, 0x1f, 0x14, 0x4f, 0x8d, 0x73, 0x1e, 0xdf, 0x84, 0xca, 0xad, 0x48, 0xa8, 0xe9, 0x6d, 0xce, 0xd1, 0xc7, 0x11, 0x9b, 0xc1, 0x92, 0x65, 0x52, 0xce,
0xf4, 0xc4, 0x1c, 0xbb, 0x1f, 0xf4, 0xea, 0x8d, 0xa8, 0xee, 0x27, 0xdb, 0x75, 0x9c, 0x56, 0xe9, 0xd5, 0x4f, 0x0e, 0xa2, 0x16, 0xbe, 0x45, 0xb0, 0x49, 0xcc, 0x53, 0x04, 0xbf, 0x46, 0x88, 0x70,
0xc0, 0x28, 0x1d, 0xb0, 0xf8, 0x66, 0xa1, 0xb7, 0xa2, 0xa1, 0x66, 0xd3, 0x82, 0xa3, 0x8d, 0x13, 0x0b, 0x82, 0xe0, 0xd4, 0x76, 0xe1, 0x72, 0x53, 0x99, 0x40, 0x58, 0x10, 0x35, 0x0f, 0xc3, 0xfb,
0x76, 0x0b, 0x0b, 0x91, 0xac, 0x9a, 0xc3, 0x67, 0x7b, 0x91, 0x83, 0x0f, 0x1e, 0x2c, 0x12, 0xf3, 0x8b, 0xcb, 0xca, 0x91, 0x09, 0x3e, 0xc4, 0x90, 0xb0, 0xd2, 0x69, 0x5e, 0x03, 0xfa, 0x58, 0x10,
0xde, 0xc1, 0xaf, 0x09, 0xd2, 0xf4, 0x92, 0x20, 0x4d, 0xb6, 0x45, 0xbe, 0x18, 0x86, 0xc6, 0x11, 0x8d, 0x11, 0xd9, 0x58, 0x6c, 0x3d, 0x7c, 0x03, 0x19, 0x6b, 0x8b, 0x7d, 0xd5, 0xda, 0xdc, 0x69,
0x96, 0xa8, 0xcd, 0xdd, 0xf0, 0xe1, 0x7c, 0x5c, 0x1b, 0x92, 0xe1, 0x6b, 0x0f, 0x17, 0x56, 0x2a, 0xe8, 0xdb, 0x05, 0x43, 0xa6, 0x87, 0x05, 0xd3, 0xca, 0x4a, 0x5b, 0x00, 0x8e, 0x0a, 0x91, 0x91,
0xcd, 0x5f, 0x22, 0x44, 0x96, 0xa9, 0xa3, 0x47, 0x36, 0x66, 0xe7, 0x00, 0x1f, 0x5a, 0xe6, 0xb4, 0x96, 0x4d, 0x6b, 0x48, 0x6b, 0x48, 0xd6, 0xb7, 0x30, 0x6e, 0x03, 0x84, 0x04, 0x93, 0x9f, 0xa2,
0x76, 0x24, 0x3a, 0x9b, 0x63, 0x13, 0x6d, 0x3b, 0x67, 0x28, 0x74, 0xdf, 0x0a, 0xad, 0x4c, 0xcd, 0x4a, 0x2b, 0xf9, 0xd5, 0xe0, 0x74, 0x86, 0x98, 0x14, 0x2f, 0xff, 0x53, 0xd4, 0xaa, 0xe0, 0x49,
0x96, 0xd3, 0xd4, 0x54, 0x91, 0x38, 0x36, 0xac, 0x21, 0x6d, 0x3a, 0xc4, 0xd0, 0xf6, 0x84, 0x0d, 0xb2, 0x6b, 0xdf, 0xd5, 0xa3, 0xfb, 0x05, 0xfb, 0xad, 0x55, 0x5f, 0xe1, 0x6d, 0x73, 0x8f, 0xd5,
0x9e, 0x13, 0x64, 0x3f, 0x47, 0x35, 0x2a, 0xf9, 0xdd, 0xbc, 0x18, 0x18, 0xb2, 0x63, 0xbc, 0xfc, 0xe2, 0x2f, 0xdf, 0x5b, 0x6f, 0xab, 0xa9, 0xdf, 0x5a, 0x42, 0x80, 0x2a, 0x2d, 0x6a, 0xcd, 0xa3,
0xcf, 0x91, 0x53, 0x33, 0xa0, 0xe4, 0xb9, 0x91, 0xda, 0xcc, 0x93, 0xff, 0x61, 0x84, 0x3a, 0xdb, 0x8b, 0xef, 0xe8, 0x5c, 0x6a, 0xc4, 0x90, 0xb6, 0xc8, 0x1c, 0x28, 0xec, 0x52, 0x76, 0xf5, 0x72,
0x66, 0x68, 0xa3, 0xfe, 0xc3, 0x33, 0xd3, 0x59, 0xb0, 0x8c, 0x3a, 0x2c, 0x6a, 0xcd, 0xa2, 0xf3, 0x65, 0xd6, 0xbd, 0x35, 0x10, 0xb7, 0x56, 0x39, 0xf5, 0xad, 0x8f, 0xb6, 0x95, 0x40, 0x13, 0xbe,
0x57, 0x30, 0x17, 0x88, 0x03, 0x1b, 0x33, 0xab, 0x1b, 0xd2, 0x3a, 0x30, 0x64, 0x4e, 0x4d, 0x9e, 0xcd, 0x4f, 0x5b, 0x3b, 0xb1, 0xdb, 0x2e, 0xe4, 0xf6, 0x61, 0x9b, 0x6a, 0x83, 0xd8, 0x5a, 0x1b,
0xc3, 0xbe, 0x78, 0x0e, 0xdb, 0xd9, 0x04, 0x5f, 0xc3, 0x36, 0xd6, 0xaf, 0xb1, 0xc8, 0xb5, 0xbc, 0xca, 0x77, 0xc1, 0xb5, 0x95, 0xaa, 0xda, 0x0a, 0xd5, 0xea, 0x97, 0x3c, 0x06, 0x27, 0x7a, 0x11,
0x6a, 0x7c, 0x62, 0xeb, 0xe3, 0x45, 0x02, 0xf9, 0x2a, 0x79, 0xdc, 0xa0, 0x8e, 0xcd, 0x03, 0x7f, 0x46, 0xdb, 0x8d, 0xcf, 0x5a, 0xdb, 0xad, 0xbe, 0x1c, 0x9c, 0x8d, 0xe6, 0x60, 0x60, 0x51, 0xef,
0xfc, 0x71, 0x5b, 0xf2, 0xad, 0x70, 0xc6, 0xd7, 0xf8, 0xa2, 0xb3, 0x92, 0x74, 0x2f, 0x91, 0xc5, 0xf8, 0x80, 0x93, 0x65, 0xff, 0x87, 0x94, 0xa1, 0x2f, 0xc7, 0x4c, 0x90, 0x42, 0x16, 0xd3, 0x0c,
0x8b, 0x6d, 0x67, 0x2d, 0xc2, 0xe7, 0xbc, 0x70, 0xe4, 0x06, 0x43, 0x5c, 0x39, 0x74, 0x0b, 0x3b, 0x1f, 0xda, 0x06, 0x0b, 0x54, 0xf9, 0x20, 0xd8, 0x0e, 0x12, 0x55, 0xde, 0x73, 0x3d, 0x21, 0x45,
0x74, 0x9e, 0xa1, 0x87, 0x93, 0x39, 0x81, 0x21, 0x4d, 0x35, 0xe0, 0x43, 0x53, 0x56, 0xc3, 0x9f, 0x09, 0x6d, 0x56, 0x96, 0xa6, 0x71, 0x13, 0x4c, 0xaa, 0xe9, 0x04, 0xdf, 0x66, 0xf2, 0xe3, 0x04,
0x52, 0x86, 0xb6, 0x38, 0x87, 0x4c, 0x90, 0x52, 0x96, 0xb3, 0x1c, 0x1f, 0xfb, 0x86, 0xbf, 0xd4, 0xbb, 0xb8, 0x72, 0x59, 0x91, 0x44, 0x12, 0x21, 0x35, 0x61, 0x69, 0x6a, 0xee, 0x9f, 0x72, 0xc1,
0x01, 0x21, 0x58, 0x2d, 0x12, 0x31, 0xef, 0xb8, 0xce, 0x48, 0x59, 0x41, 0x87, 0x55, 0x95, 0xa9, 0xe6, 0x5a, 0x7c, 0x83, 0x2e, 0xac, 0x0b, 0xdf, 0x19, 0x4f, 0x76, 0x09, 0x23, 0xea, 0xaf, 0xdd,
0xeb, 0x04, 0x13, 0xc8, 0x14, 0x4a, 0xd7, 0xe6, 0xe1, 0xa7, 0x0c, 0x8b, 0xbc, 0x36, 0x59, 0x91, 0x69, 0x4e, 0xa0, 0x8d, 0x8e, 0xac, 0x7a, 0x4f, 0xd5, 0xff, 0x15, 0x31, 0xdd, 0xf8, 0x9b, 0x2d,
0x44, 0x12, 0x21, 0x35, 0x61, 0x69, 0x6a, 0xee, 0x9f, 0x72, 0xc1, 0xe6, 0x28, 0x5d, 0xc3, 0x88, 0x3f, 0xf3, 0x06, 0xde, 0x51, 0xa8, 0xc7, 0xdf, 0x2c, 0xd4, 0x37, 0x3f, 0x37, 0x2a, 0xd5, 0x38,
0xac, 0x09, 0xaf, 0x74, 0x2f, 0x3b, 0xa3, 0xf1, 0xdd, 0xd1, 0x98, 0xb3, 0xdc, 0xa0, 0x36, 0x0a, 0x65, 0x85, 0x43, 0xda, 0x98, 0x4d, 0x0b, 0x54, 0xf5, 0xae, 0x0e, 0x03, 0xe1, 0x0a, 0xff, 0x4a,
0xb6, 0x2e, 0x4d, 0xd5, 0xfc, 0x67, 0xc6, 0x14, 0xeb, 0x3f, 0x6d, 0x3a, 0x1a, 0x56, 0xf2, 0x4c, 0xc0, 0x18, 0xed, 0x99, 0x31, 0x98, 0x23, 0x42, 0x22, 0xc5, 0xe4, 0x51, 0xd9, 0x86, 0x59, 0x84,
0xe2, 0x1e, 0xbe, 0x58, 0x14, 0xef, 0x7e, 0x79, 0xb6, 0x2a, 0xda, 0x11, 0xab, 0x33, 0xae, 0x9a, 0x53, 0xf9, 0x2d, 0x1b, 0xb0, 0x53, 0x16, 0x4f, 0xea, 0x00, 0xc7, 0x18, 0xf7, 0x5b, 0x2b, 0x98,
0xf9, 0xea, 0xb5, 0xb4, 0xd0, 0x79, 0xdf, 0x38, 0x85, 0x70, 0x85, 0x7f, 0x25, 0x96, 0x18, 0x0d, 0x70, 0x0c, 0x19, 0xe2, 0x16, 0x4d, 0x14, 0xff, 0x13, 0x08, 0x13, 0x49, 0x07, 0x35, 0x4d, 0x70,
0x4c, 0xcf, 0x2c, 0x90, 0xe3, 0x91, 0x32, 0x7b, 0x50, 0xb6, 0x9c, 0x5a, 0xe7, 0xaa, 0xda, 0x7b, 0x04, 0x37, 0x8e, 0x8c, 0x2a, 0xb9, 0x2c, 0xb4, 0x39, 0x97, 0xd2, 0xac, 0x34, 0xaf, 0x5b, 0x4c,
0xc7, 0x2c, 0xce, 0x1a, 0x6f, 0xc7, 0x18, 0x84, 0xa9, 0xd5, 0x4b, 0x38, 0xfa, 0x0f, 0x29, 0x94, 0x21, 0x47, 0xae, 0x9a, 0x5a, 0x87, 0xbd, 0xb5, 0x88, 0x3b, 0x86, 0x67, 0x3d, 0xb5, 0x36, 0x66,
0x26, 0x8a, 0xff, 0x09, 0x84, 0x89, 0xa4, 0x87, 0x40, 0x19, 0xb6, 0xeb, 0xa5, 0x2d, 0x83, 0x24, 0xcb, 0x17, 0x58, 0x05, 0xa2, 0xe6, 0x73, 0xbe, 0x9e, 0xf6, 0xcb, 0x8c, 0xb5, 0x76, 0x6c, 0xa1,
0x17, 0x59, 0x37, 0x97, 0x52, 0x9a, 0x55, 0xe6, 0x4d, 0x8e, 0xf1, 0xe4, 0x28, 0xd5, 0xac, 0x36, 0xbf, 0xb5, 0x50, 0xd0, 0x2f, 0xb3, 0x24, 0xd1, 0x8c, 0x59, 0xa4, 0x66, 0xab, 0x9a, 0xff, 0xd3,
0x31, 0x70, 0xda, 0x20, 0xa0, 0xaf, 0xd6, 0xe3, 0x6c, 0x1d, 0xb8, 0x78, 0x10, 0xd6, 0x7c, 0x6e, 0xfd, 0x05, 0x3c, 0x62, 0xd3, 0x2a, 0xb7, 0x13, 0x00, 0x00
0x3e, 0x13, 0x9a, 0xc9, 0xb0, 0x08, 0x9f, 0xf3, 0xcc, 0xc4, 0xfa, 0xbf, 0x86, 0x0f, 0xda, 0x65,
0x06, 0x2a, 0x1e, 0x63, 0x86, 0xae, 0x99, 0xc0, 0xe6, 0x1f, 0x87, 0xff, 0x05, 0xfe, 0x7e, 0xc2,
0xdf, 0x48, 0x14, 0x00, 0x00
}; };
// Autogenerated from wled00/data/settings_pin.htm, do not edit!! // Autogenerated from wled00/data/settings_pin.htm, do not edit!!
const uint16_t PAGE_settings_pin_length = 471; const uint16_t PAGE_settings_pin_length = 471;
const uint8_t PAGE_settings_pin[] PROGMEM = { const uint8_t PAGE_settings_pin[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x5d, 0x52, 0x4d, 0x6f, 0x13, 0x31, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x5d, 0x52, 0x4d, 0x6f, 0x13, 0x31,
0x10, 0xbd, 0xef, 0xaf, 0x30, 0x73, 0x69, 0x82, 0x92, 0x6c, 0xa8, 0xa8, 0x04, 0xaa, 0xbd, 0x42, 0x10, 0xbd, 0xef, 0xaf, 0x30, 0x73, 0x69, 0x82, 0x92, 0x6c, 0xa8, 0xa8, 0x04, 0xaa, 0xbd, 0x42,
0x81, 0x1e, 0xb8, 0x94, 0x48, 0xe5, 0x52, 0x55, 0x55, 0xe5, 0xd8, 0xb3, 0x89, 0x55, 0x7f, 0x2c, 0x81, 0x1e, 0xb8, 0x94, 0x48, 0xe5, 0x52, 0x55, 0x55, 0xe5, 0xd8, 0xb3, 0x89, 0x55, 0x7f, 0x2c,
0xb6, 0x37, 0x21, 0x54, 0xfc, 0x77, 0xc6, 0xbb, 0xa1, 0xa0, 0x5c, 0xd6, 0x7e, 0x33, 0xe3, 0x37, 0xb6, 0x37, 0x21, 0x54, 0xfc, 0x77, 0xc6, 0xbb, 0xa1, 0xa0, 0x5c, 0xd6, 0x7e, 0x33, 0xe3, 0x37,